From 8fe32d8200c0894809a6ae1e76ba0e062dcd97c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Seshanth=2ES=F0=9F=90=BA?= <35675963+seshanthS@users.noreply.github.com> Date: Tue, 15 Apr 2025 12:23:57 +0530 Subject: [PATCH 01/49] Feat: Show error code in SDK (#500) * feat: emit `error_code` and `reason` in app * feat: add `onError` in sdk * feat: Display reason in app * lint & fmt * feat: add scrollview in ProofRequestStatusScreen for long reasons --- .../ProveFlow/ProofRequestStatusScreen.tsx | 38 +++++++++++++++---- app/src/screens/ProveFlow/ProveScreen.tsx | 4 +- app/src/stores/appProvider.tsx | 18 ++++++++- app/src/stores/proofProvider.tsx | 23 ++++++++++- app/src/utils/proving/payload.ts | 6 +-- app/src/utils/proving/tee.ts | 18 ++++++--- sdk/qrcode/SelfQRcode.tsx | 5 ++- sdk/qrcode/utils/websocket.ts | 10 +++-- 8 files changed, 98 insertions(+), 24 deletions(-) diff --git a/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx b/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx index 6e6680337..d0a32d280 100644 --- a/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx +++ b/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx @@ -2,7 +2,7 @@ import React, { useEffect } from 'react'; import { StatusBar, StyleSheet, View } from 'react-native'; import LottieView from 'lottie-react-native'; -import { Spinner } from 'tamagui'; +import { ScrollView, Spinner } from 'tamagui'; import loadingAnimation from '../../assets/animations/loading/misc.json'; import failAnimation from '../../assets/animations/proof_failed.json'; @@ -23,7 +23,8 @@ import { } from '../../utils/haptic'; const SuccessScreen: React.FC = () => { - const { selectedApp, disclosureStatus, cleanSelfApp } = useProofInfo(); + const { selectedApp, disclosureStatus, discloseError, cleanSelfApp } = + useProofInfo(); const appName = selectedApp?.appName; const goHome = useHapticNavigation('Home'); @@ -69,6 +70,7 @@ const SuccessScreen: React.FC = () => { - Unable to prove your identity to{' '} - {appName} - {status === 'error' && '. Due to technical issues.'} - + + + Unable to prove your identity to{' '} + {appName} + {status === 'error' && '. Due to technical issues.'} + + {status === 'failure' && reason && ( + <> + + + Reason: + + + + + + + {reason} + + + + + + )} + ); } else { return ( diff --git a/app/src/screens/ProveFlow/ProveScreen.tsx b/app/src/screens/ProveFlow/ProveScreen.tsx index d5f22ea3b..ef152ed56 100644 --- a/app/src/screens/ProveFlow/ProveScreen.tsx +++ b/app/src/screens/ProveFlow/ProveScreen.tsx @@ -168,7 +168,9 @@ const ProveScreen: React.FC = () => { ); handleProofResult( currentApp.sessionId, - status === ProofStatusEnum.SUCCESS, + status?.status === ProofStatusEnum.SUCCESS, + status?.error_code, + status?.reason, ); } catch (e) { console.log('Error in verification process'); diff --git a/app/src/stores/appProvider.tsx b/app/src/stores/appProvider.tsx index 8ff2c32dc..ef017be59 100644 --- a/app/src/stores/appProvider.tsx +++ b/app/src/stores/appProvider.tsx @@ -28,7 +28,12 @@ interface IAppContext { * @param sessionId - The session ID from the scanned QR code. * @param success - Whether the proof was verified successfully. */ - handleProofResult: (sessionId: string, success: boolean) => void; + handleProofResult: ( + sessionId: string, + success: boolean, + error_code?: string, + reason?: string, + ) => void; } const AppContext = createContext({ @@ -120,7 +125,12 @@ export const AppProvider: React.FC<{ children: React.ReactNode }> = ({ } }; - const handleProofResult = (sessionId: string, proof_verified: boolean) => { + const handleProofResult = ( + sessionId: string, + proof_verified: boolean, + error_code?: string, + reason?: string, + ) => { console.log( '[AppProvider] handleProofResult called with sessionId:', sessionId, @@ -143,11 +153,15 @@ export const AppProvider: React.FC<{ children: React.ReactNode }> = ({ '[AppProvider] Emitting proof_generation_failed event with data:', { session_id: sessionId, + error_code, + reason, }, ); socketRef.current.emit('proof_generation_failed', { session_id: sessionId, + error_code, + reason, }); } }; diff --git a/app/src/stores/proofProvider.tsx b/app/src/stores/proofProvider.tsx index a4cd2c797..bfe278608 100644 --- a/app/src/stores/proofProvider.tsx +++ b/app/src/stores/proofProvider.tsx @@ -16,9 +16,15 @@ export enum ProofStatusEnum { ERROR = 'error', } +export type DiscloseError = { + error_code?: string; + reason?: string; +}; + interface IProofContext { registrationStatus: ProofStatusEnum; disclosureStatus: ProofStatusEnum; + discloseError: DiscloseError | undefined; selectedApp: SelfApp; setSelectedApp: (app: SelfApp) => void; cleanSelfApp: () => void; @@ -28,6 +34,7 @@ interface IProofContext { const defaults: IProofContext = { registrationStatus: ProofStatusEnum.PENDING, disclosureStatus: ProofStatusEnum.PENDING, + discloseError: undefined, selectedApp: { appName: '', logoBase64: '', @@ -52,7 +59,7 @@ export let globalSetRegistrationStatus: | ((status: ProofStatusEnum) => void) | null = null; export let globalSetDisclosureStatus: - | ((status: ProofStatusEnum) => void) + | ((status: ProofStatusEnum, error?: DiscloseError) => void) | null = null; /* @@ -66,6 +73,10 @@ export function ProofProvider({ children }: PropsWithChildren<{}>) { ProofStatusEnum.PENDING, ); + const [discloseError, setDiscloseError] = useState( + undefined, + ); + const [selectedApp, setSelectedAppInternal] = useState( defaults.selectedApp, ); @@ -75,6 +86,7 @@ export function ProofProvider({ children }: PropsWithChildren<{}>) { return; } setRegistrationStatus(ProofStatusEnum.PENDING); + setDiscloseError(undefined); setSelectedAppInternal(app); }, []); @@ -87,11 +99,15 @@ export function ProofProvider({ children }: PropsWithChildren<{}>) { const resetProof = useCallback(() => { setRegistrationStatus(ProofStatusEnum.PENDING); setDisclosureStatus(ProofStatusEnum.PENDING); + setDiscloseError(undefined); }, []); useEffect(() => { globalSetRegistrationStatus = setRegistrationStatus; - globalSetDisclosureStatus = setDisclosureStatus; + globalSetDisclosureStatus = (status, error) => { + setDisclosureStatus(status); + setDiscloseError(error); + }; return () => { globalSetRegistrationStatus = null; globalSetDisclosureStatus = null; @@ -102,6 +118,7 @@ export function ProofProvider({ children }: PropsWithChildren<{}>) { () => ({ registrationStatus, disclosureStatus, + discloseError, selectedApp, setSelectedApp, cleanSelfApp, @@ -110,8 +127,10 @@ export function ProofProvider({ children }: PropsWithChildren<{}>) { [ registrationStatus, disclosureStatus, + discloseError, selectedApp, setSelectedApp, + setDiscloseError, cleanSelfApp, resetProof, ], diff --git a/app/src/utils/proving/payload.ts b/app/src/utils/proving/payload.ts index 850f6fdf6..00241f791 100644 --- a/app/src/utils/proving/payload.ts +++ b/app/src/utils/proving/payload.ts @@ -120,7 +120,7 @@ async function checkIdPassportDscIsInTree( circuitDNSMapping, endpointType, ); - if (dscStatus !== ProofStatusEnum.SUCCESS) { + if (dscStatus.status !== ProofStatusEnum.SUCCESS) { console.log('DSC proof failed'); return false; } @@ -140,9 +140,9 @@ export async function sendDscPayload( passportData: PassportData, circuitDNSMapping: Record, endpointType: EndpointType, -): Promise { +): Promise<{ status: ProofStatusEnum; error_code?: string; reason?: string }> { if (!passportData) { - return false; + return { status: ProofStatusEnum.FAILURE }; } // const isSupported = checkPassportSupported(passportData); // if (!isSupported) { diff --git a/app/src/utils/proving/tee.ts b/app/src/utils/proving/tee.ts index dcd68b1c6..4f0a9a020 100644 --- a/app/src/utils/proving/tee.ts +++ b/app/src/utils/proving/tee.ts @@ -10,6 +10,7 @@ import { } from '../../../../common/src/constants/constants'; import { EndpointType } from '../../../../common/src/utils/appType'; import { + DiscloseError, ProofStatusEnum, globalSetDisclosureStatus, globalSetRegistrationStatus, @@ -67,7 +68,7 @@ export async function sendPayload( updateGlobalOnFailure?: boolean; flow?: 'registration' | 'disclosure'; }, -): Promise { +): Promise<{ status: ProofStatusEnum; error_code?: string; reason?: string }> { const opts = { updateGlobalOnSuccess: true, updateGlobalOnFailure: true, @@ -75,7 +76,11 @@ export async function sendPayload( }; return new Promise(resolve => { let finalized = false; - function finalize(status: ProofStatusEnum) { + function finalize( + status: ProofStatusEnum, + error_code?: string, + reason?: string, + ) { if (!finalized) { finalized = true; clearTimeout(timer); @@ -84,12 +89,15 @@ export async function sendPayload( (status !== ProofStatusEnum.SUCCESS && opts.updateGlobalOnFailure) ) { if (options?.flow === 'disclosure') { - globalSetDisclosureStatus && globalSetDisclosureStatus(status); + let discloseError: DiscloseError | undefined = + error_code || reason ? { error_code, reason } : undefined; + globalSetDisclosureStatus && + globalSetDisclosureStatus(status, discloseError); } else { globalSetRegistrationStatus && globalSetRegistrationStatus(status); } } - resolve(status); + resolve({ status, error_code, reason }); } } const uuid = v4(); @@ -201,7 +209,7 @@ export async function sendPayload( if (ws.readyState === WebSocket.OPEN) { ws.close(); } - finalize(ProofStatusEnum.FAILURE); + finalize(ProofStatusEnum.FAILURE, data.error_code, data.reason); } }); socket.on('disconnect', reason => { diff --git a/sdk/qrcode/SelfQRcode.tsx b/sdk/qrcode/SelfQRcode.tsx index 6f1eb1251..8ec18defe 100644 --- a/sdk/qrcode/SelfQRcode.tsx +++ b/sdk/qrcode/SelfQRcode.tsx @@ -15,6 +15,7 @@ import { getUniversalLink, SelfApp, SelfAppBuilder } from '../../common/src/util interface SelfQRcodeProps { selfApp: SelfApp; onSuccess: () => void; + onError: (data: {error_code?: string, reason?: string}) => void; type?: 'websocket' | 'deeplink'; websocketUrl?: string; size?: number; @@ -37,6 +38,7 @@ const SelfQRcodeWrapper = (props: SelfQRcodeProps) => { const SelfQRcode = ({ selfApp, onSuccess, + onError, type = 'websocket', websocketUrl = WS_DB_RELAYER, size = 300, @@ -62,7 +64,8 @@ const SelfQRcode = ({ }, type, setProofStep, - onSuccess + onSuccess, + onError, ); } diff --git a/sdk/qrcode/utils/websocket.ts b/sdk/qrcode/utils/websocket.ts index c36012ca9..202e80461 100644 --- a/sdk/qrcode/utils/websocket.ts +++ b/sdk/qrcode/utils/websocket.ts @@ -28,7 +28,8 @@ const handleWebSocketMessage = selfApp: SelfApp, type: 'websocket' | 'deeplink', setProofStep: (step: number) => void, - onSuccess: () => void + onSuccess: () => void, + onError: (data: {error_code?: string, reason?: string}) => void ) => async (data: any) => { console.log('[WebSocket] Received mobile status:', data.status, 'for session:', sessionId); @@ -55,6 +56,7 @@ const handleWebSocketMessage = case 'proof_generation_failed': console.log('[WebSocket] Proof generation failed.'); setProofStep(QRcodeSteps.PROOF_GENERATION_FAILED); + onError(data); break; case 'proof_verified': console.log('[WebSocket] Proof verified.'); @@ -73,7 +75,8 @@ export function initWebSocket( selfApp: SelfApp, type: 'websocket' | 'deeplink', setProofStep: (step: number) => void, - onSuccess: () => void + onSuccess: () => void, + onError: (data: {error_code?: string, reason?: string}) => void, ) { const sessionId = selfApp.sessionId; console.log(`[WebSocket] Initializing WebSocket connection for sessionId: ${sessionId}`); @@ -95,7 +98,8 @@ export function initWebSocket( selfApp, type, setProofStep, - onSuccess + onSuccess, + onError )(data); }); From dc5529b507054cf5e6c5a9c6d72921c9d1839a57 Mon Sep 17 00:00:00 2001 From: turboblitz Date: Thu, 17 Apr 2025 00:59:13 -0700 Subject: [PATCH 02/49] Fix input generation for 521bit curves (#481) * fix EC point padding for 521 bit curves * rename modulus to point in findStartIndexEC as it is a point * simplify matching logic * simplify padding logic * remove comment * remove log removing .only so the CI/CD runs circuit tests fix disclosure test fix scope in test fix scope error in circuit tests remove .only fix test * run ci/cd --- .../tests/disclose/vc_and_disclose.test.ts | 11 ++++--- circuits/tests/dsc/test_cases.ts | 3 -- circuits/tests/ofac/ofac.test.ts | 2 +- .../parseCertificateSimple.ts | 11 +++++-- common/src/utils/csca.ts | 29 +++++++------------ common/src/utils/passports/passport.ts | 4 +-- 6 files changed, 28 insertions(+), 32 deletions(-) diff --git a/circuits/tests/disclose/vc_and_disclose.test.ts b/circuits/tests/disclose/vc_and_disclose.test.ts index 2fa8e37f4..7c362c2f9 100644 --- a/circuits/tests/disclose/vc_and_disclose.test.ts +++ b/circuits/tests/disclose/vc_and_disclose.test.ts @@ -21,6 +21,7 @@ import { getAttributeFromUnpackedReveal, } from '../../../common/src/utils/circuits/formatOutputs'; import { generateCommitment } from '../../../common/src/utils/passports/passport'; +import { hashEndpointWithScope } from '../../../common/src/utils/scope'; describe('Disclose', function () { this.timeout(0); @@ -42,7 +43,9 @@ describe('Disclose', function () { const user_identifier = crypto.randomUUID(); const selector_dg1 = Array(88).fill('1'); const selector_older_than = '1'; - const scope = '@coboyApp'; + const endpoint = 'https://example.com'; + const scope = 'scope'; + const fullScope = hashEndpointWithScope(endpoint, scope); const attestation_id = PASSPORT_ATTESTATION_ID; // compute the commitment and insert it in the tree @@ -78,7 +81,7 @@ describe('Disclose', function () { secret, PASSPORT_ATTESTATION_ID, passportData, - scope, + fullScope, selector_dg1, selector_older_than, tree, @@ -165,7 +168,7 @@ describe('Disclose', function () { } const forbidden_countries_list_packed = await circuit.getOutput(w, [ - 'forbidden_countries_list_packed[1]', + 'forbidden_countries_list_packed[4]', ]); const forbidden_countries_list_unpacked = formatAndUnpackForbiddenCountriesList( forbidden_countries_list_packed @@ -364,7 +367,7 @@ describe('Disclose', function () { secret, PASSPORT_ATTESTATION_ID, passportData, - scope, + fullScope, Array(88).fill('0'), // selector_dg1 selector_older_than, tree, diff --git a/circuits/tests/dsc/test_cases.ts b/circuits/tests/dsc/test_cases.ts index 4419794bb..3fea4a53c 100644 --- a/circuits/tests/dsc/test_cases.ts +++ b/circuits/tests/dsc/test_cases.ts @@ -52,7 +52,4 @@ export const fullSigAlgs = [ { sigAlg: 'ecdsa', hashFunction: 'sha384', domainParameter: 'secp384r1', keyLength: '384' }, { sigAlg: 'ecdsa', hashFunction: 'sha256', domainParameter: 'secp521r1', keyLength: '521' }, { sigAlg: 'ecdsa', hashFunction: 'sha512', domainParameter: 'secp521r1', keyLength: '521' }, - // this last one does not pass right now but only because of the issue - // of the function that selects the position of the pubkey in ecdsa certs - // sometimes being off by one ]; diff --git a/circuits/tests/ofac/ofac.test.ts b/circuits/tests/ofac/ofac.test.ts index d4ed857fa..83dafc2e1 100644 --- a/circuits/tests/ofac/ofac.test.ts +++ b/circuits/tests/ofac/ofac.test.ts @@ -237,7 +237,7 @@ describe('OFAC - Name and YOB match', function () { }); }); -describe.only('OFAC - SMT Security Tests', function () { +describe('OFAC - SMT Security Tests', function () { this.timeout(0); let passNoAndNationality_smt = new SMT(poseidon2, true); let circuit: any; diff --git a/common/src/utils/certificate_parsing/parseCertificateSimple.ts b/common/src/utils/certificate_parsing/parseCertificateSimple.ts index 7426a0fe7..77cc4bb21 100644 --- a/common/src/utils/certificate_parsing/parseCertificateSimple.ts +++ b/common/src/utils/certificate_parsing/parseCertificateSimple.ts @@ -231,8 +231,15 @@ export function getParamsECDSA(cert: Certificate): PublicKeyDetailsECDSA { const x_point = key.getPublic().getX().toString('hex'); const y_point = key.getPublic().getY().toString('hex'); - x = x_point.length % 2 === 0 ? x_point : '0' + x_point; - y = y_point.length % 2 === 0 ? y_point : '0' + y_point; + // For 521 bit curves, pad to expected length of 132 hex chars (66 bytes) + if (curveName === 'secp521r1' || curveName === 'brainpoolP521r1') { + x = x_point.padStart(132, '0'); + y = y_point.padStart(132, '0'); + } else { + // For other curves, ensure even length + x = x_point.length % 2 === 0 ? x_point : '0' + x_point; + y = y_point.length % 2 === 0 ? y_point : '0' + y_point; + } } return { curve: curveName, params: curveParams, bits: bits, x: x, y: y }; } catch (error) { diff --git a/common/src/utils/csca.ts b/common/src/utils/csca.ts index 57a694c31..005e51b1d 100644 --- a/common/src/utils/csca.ts +++ b/common/src/utils/csca.ts @@ -1,34 +1,25 @@ import { SKI_PEM, SKI_PEM_DEV } from '../constants/skiPem'; -export function findStartIndexEC(modulus: string, messagePadded: number[]): [number, number] { - const modulusNumArray = []; - for (let i = 0; i < modulus.length; i += 2) { - modulusNumArray.push(parseInt(modulus.slice(i, i + 2), 16)); +export function findStartIndexEC(point: string, messagePadded: number[]): [number, number] { + const pointNumArray = []; + for (let i = 0; i < point.length; i += 2) { + pointNumArray.push(parseInt(point.slice(i, i + 2), 16)); } let startIndex = -1; - // For ECDSA, look for the ASN.1 tag for EC Point (0x04) - const isECPoint = modulusNumArray[0] === 0x04; - for (let i = 0; i < messagePadded.length - modulusNumArray.length + 1; i++) { - let found = true; - for (let j = 0; j < modulusNumArray.length; j++) { - if (messagePadded[i + j] !== modulusNumArray[j]) { - found = false; - break; - } - if (found && (j === modulusNumArray.length - 1 || (isECPoint && j > 0))) { - startIndex = i; - break; - } + for (let i = 0; i < messagePadded.length - pointNumArray.length + 1; i++) { + const isMatch = pointNumArray.every((byte, j) => messagePadded[i + j] === byte); + if (isMatch) { + startIndex = i; + break; } - if (startIndex !== -1) break; } if (startIndex === -1) { throw new Error('DSC Pubkey not found in CSCA certificate'); } - return [startIndex, modulusNumArray.length]; + return [startIndex, pointNumArray.length]; } // @returns [startIndex, length] where startIndex is the index of the first byte of the modulus in the message and length is the length of the modulus in bytes diff --git a/common/src/utils/passports/passport.ts b/common/src/utils/passports/passport.ts index bb8a8b0db..8b4c813dc 100644 --- a/common/src/utils/passports/passport.ts +++ b/common/src/utils/passports/passport.ts @@ -219,9 +219,7 @@ export function findStartPubKeyIndex( const [x_index, x_totalLength] = findStartIndexEC(x, rawCert); const [y_index, y_totalLength] = findStartIndexEC(y, rawCert); - //zero between x and y - const pad_between_x_y = y_index - x_index - x_totalLength; - return [x_index, x_totalLength + pad_between_x_y + y_totalLength]; + return [x_index, x_totalLength + y_totalLength]; } else { // Splits to 525 words of 8 bits each const { modulus } = publicKeyDetails as PublicKeyDetailsRSA; From 5904234d2e2e4884d5f1e4f49ba6bb5c703ac2f0 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com> Date: Thu, 17 Apr 2025 10:06:49 -0400 Subject: [PATCH 03/49] Feat/simpler contract sdk (#519) * make contract sdk simpler * reduce root inputs * delete convert function * summarize our library * update npm package * update package version * update attestation id * add util function to get revealed data --------- Co-authored-by: motemotech --- circuits/scripts/build/build_dsc_circuits.sh | 4 +- circuits/yarn.lock | 7640 ++++------ common/yarn.lock | 5857 +++----- .../abstract/SelfVerificationRoot.sol | 123 +- contracts/contracts/example/Airdrop.sol | 110 +- .../contracts/example/SelfPassportERC721.sol | 216 + .../interfaces/IIdentityVerificationHubV1.sol | 4 +- .../interfaces/ISelfVerificationRoot.sol | 13 +- .../libraries/CircuitAttributeHandler.sol | 1 - .../libraries/SelfCircuitLibrary.sol | 223 + contracts/package.json | 15 +- contracts/scripts/findErrorSignature.ts | 5 +- contracts/test/example/airdrop.test.ts | 152 +- contracts/yarn.lock | 11628 ++++++---------- 14 files changed, 10598 insertions(+), 15393 deletions(-) create mode 100644 contracts/contracts/example/SelfPassportERC721.sol create mode 100644 contracts/contracts/libraries/SelfCircuitLibrary.sol diff --git a/circuits/scripts/build/build_dsc_circuits.sh b/circuits/scripts/build/build_dsc_circuits.sh index eaf62e59a..bdec70e22 100755 --- a/circuits/scripts/build/build_dsc_circuits.sh +++ b/circuits/scripts/build/build_dsc_circuits.sh @@ -22,9 +22,9 @@ CIRCUITS=( "dsc_sha512_ecdsa_brainpoolP512r1:21:false" # RSA circuits - "dsc_sha1_rsa_65537_4096:21:true" + "dsc_sha1_rsa_65537_4096:21:false" "dsc_sha256_rsa_65537_4096:21:true" - "dsc_sha512_rsa_65537_4096:21:true" + "dsc_sha512_rsa_65537_4096:21:false" # RSA-PSS circuits "dsc_sha256_rsapss_3_32_3072:22:false" diff --git a/circuits/yarn.lock b/circuits/yarn.lock index a05815957..0c7cd6602 100644 --- a/circuits/yarn.lock +++ b/circuits/yarn.lock @@ -1,4646 +1,3016 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@arcanis/slice-ansi@npm:^1.1.1": - version: 1.1.1 - resolution: "@arcanis/slice-ansi@npm:1.1.1" - dependencies: - grapheme-splitter: "npm:^1.0.4" - checksum: 10c0/2f222b121b8aaf67e8495e27d60ebfc34e2472033445c3380e93fb06aba9bfef6ab3096aca190a181b3dd505ed4c07f4dc7243fc9cb5369008b649cd1e39e8d8 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@ethersproject/abi@npm:5.8.0, @ethersproject/abi@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abi@npm:5.8.0" - dependencies: - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/6b759247a2f43ecc1548647d0447d08de1e946dfc7e71bfb014fa2f749c1b76b742a1d37394660ebab02ff8565674b3593fdfa011e16a5adcfc87ca4d85af39c - languageName: node - linkType: hard - -"@ethersproject/abstract-provider@npm:5.8.0, @ethersproject/abstract-provider@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abstract-provider@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/networks": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/web": "npm:^5.8.0" - checksum: 10c0/9c183da1d037b272ff2b03002c3d801088d0534f88985f4983efc5f3ebd59b05f04bc05db97792fe29ddf87eeba3c73416e5699615f183126f85f877ea6c8637 - languageName: node - linkType: hard - -"@ethersproject/abstract-signer@npm:5.8.0, @ethersproject/abstract-signer@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abstract-signer@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - checksum: 10c0/143f32d7cb0bc7064e45674d4a9dffdb90d6171425d20e8de9dc95765be960534bae7246ead400e6f52346624b66569d9585d790eedd34b0b6b7f481ec331cc2 - languageName: node - linkType: hard - -"@ethersproject/address@npm:5.8.0, @ethersproject/address@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/address@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - checksum: 10c0/8bac8a4b567c75c1abc00eeca08c200de1a2d5cf76d595dc04fa4d7bff9ffa5530b2cdfc5e8656cfa8f6fa046de54be47620a092fb429830a8ddde410b9d50bc - languageName: node - linkType: hard - -"@ethersproject/base64@npm:5.8.0, @ethersproject/base64@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/base64@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - checksum: 10c0/60ae6d1e2367d70f4090b717852efe62075442ae59aeac9bb1054fe8306a2de8ef0b0561e7fb4666ecb1f8efa1655d683dd240675c3a25d6fa867245525a63ca - languageName: node - linkType: hard - -"@ethersproject/basex@npm:5.8.0, @ethersproject/basex@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/basex@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - checksum: 10c0/46a94ba9678fc458ab0bee4a0af9f659f1d3f5df5bb98485924fe8ecbd46eda37d81f95f882243d56f0f5efe051b0749163f5056e48ff836c5fba648754d4956 - languageName: node - linkType: hard - -"@ethersproject/bignumber@npm:5.8.0, @ethersproject/bignumber@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/bignumber@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - bn.js: "npm:^5.2.1" - checksum: 10c0/8e87fa96999d59d0ab4c814c79e3a8354d2ba914dfa78cf9ee688f53110473cec0df0db2aaf9d447e84ab2dbbfca39979abac4f2dac69fef4d080f4cc3e29613 - languageName: node - linkType: hard - -"@ethersproject/bytes@npm:5.8.0, @ethersproject/bytes@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/bytes@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/47ef798f3ab43b95dc74097b2c92365c919308ecabc3e34d9f8bf7f886fa4b99837ba5cf4dc8921baaaafe6899982f96b0e723b3fc49132c061f83d1ca3fed8b - languageName: node - linkType: hard - -"@ethersproject/constants@npm:5.8.0, @ethersproject/constants@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/constants@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - checksum: 10c0/374b3c2c6da24f8fef62e2316eae96faa462826c0774ef588cd7313ae7ddac8eb1bb85a28dad80123148be2ba0821c217c14ecfc18e2e683c72adc734b6248c9 - languageName: node - linkType: hard - -"@ethersproject/contracts@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/contracts@npm:5.8.0" - dependencies: - "@ethersproject/abi": "npm:^5.8.0" - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - checksum: 10c0/49961b92334c4f2fab5f4da8f3119e97c1dc39cc8695e3043931757968213f5e732c00bf896193cf0186dcb33101dcd6efb70690dee0dd2cfbfd3843f55485aa - languageName: node - linkType: hard - -"@ethersproject/hash@npm:5.8.0, @ethersproject/hash@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/hash@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/72a287d4d70fae716827587339ffb449b8c23ef8728db6f8a661f359f7cb1e5ffba5b693c55e09d4e7162bf56af4a0e98a334784e0706d98102d1a5786241537 - languageName: node - linkType: hard - -"@ethersproject/hdnode@npm:5.8.0, @ethersproject/hdnode@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/hdnode@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/basex": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/pbkdf2": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/wordlists": "npm:^5.8.0" - checksum: 10c0/da0ac7d60e76a76471be1f4f3bba3f28a24165dc3b63c6930a9ec24481e9f8b23936e5fc96363b3591cdfda4381d4623f25b06898b89bf5530b158cb5ea58fdd - languageName: node - linkType: hard - -"@ethersproject/json-wallets@npm:5.8.0, @ethersproject/json-wallets@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/json-wallets@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hdnode": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/pbkdf2": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - aes-js: "npm:3.0.0" - scrypt-js: "npm:3.0.1" - checksum: 10c0/6c5cac87bdfac9ac47bf6ac25168a85865dc02e398e97f83820568c568a8cb27cf13a3a5d482f71a2534c7d704a3faa46023bb7ebe8737872b376bec1b66c67b - languageName: node - linkType: hard - -"@ethersproject/keccak256@npm:5.8.0, @ethersproject/keccak256@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/keccak256@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - js-sha3: "npm:0.8.0" - checksum: 10c0/cd93ac6a5baf842313cde7de5e6e2c41feeea800db9e82955f96e7f3462d2ac6a6a29282b1c9e93b84ce7c91eec02347043c249fd037d6051214275bfc7fe99f - languageName: node - linkType: hard - -"@ethersproject/logger@npm:5.8.0, @ethersproject/logger@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/logger@npm:5.8.0" - checksum: 10c0/7f39f33e8f254ee681d4778bb71ce3c5de248e1547666f85c43bfbc1c18996c49a31f969f056b66d23012f2420f2d39173107284bc41eb98d0482ace1d06403e - languageName: node - linkType: hard - -"@ethersproject/networks@npm:5.8.0, @ethersproject/networks@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/networks@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/3f23bcc4c3843cc9b7e4b9f34df0a1f230b24dc87d51cdad84552302159a84d7899cd80c8a3d2cf8007b09ac373a5b10407007adde23d4c4881a4d6ee6bc4b9c - languageName: node - linkType: hard - -"@ethersproject/pbkdf2@npm:5.8.0, @ethersproject/pbkdf2@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/pbkdf2@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - checksum: 10c0/0397cf5370cfd568743c3e46ac431f1bd425239baa2691689f1430997d44d310cef5051ea9ee53fabe444f96aced8d6324b41da698e8d7021389dce36251e7e9 - languageName: node - linkType: hard - -"@ethersproject/properties@npm:5.8.0, @ethersproject/properties@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/properties@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/20256d7eed65478a38dabdea4c3980c6591b7b75f8c45089722b032ceb0e1cd3dd6dd60c436cfe259337e6909c28d99528c172d06fc74bbd61be8eb9e68be2e6 - languageName: node - linkType: hard - -"@ethersproject/providers@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/providers@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/basex": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/networks": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/web": "npm:^5.8.0" - bech32: "npm:1.1.4" - ws: "npm:8.18.0" - checksum: 10c0/893dba429443bbf0a3eadef850e772ad1c706cf17ae6ae48b73467a23b614a3f461e9004850e24439b5c73d30e9259bc983f0f90a911ba11af749e6384fd355a - languageName: node - linkType: hard - -"@ethersproject/random@npm:5.8.0, @ethersproject/random@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/random@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/e44c010715668fc29383141ae16cd2ec00c34a434d47e23338e740b8c97372515d95d3b809b969eab2055c19e92b985ca591d326fbb71270c26333215f9925d1 - languageName: node - linkType: hard - -"@ethersproject/rlp@npm:5.8.0, @ethersproject/rlp@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/rlp@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/db742ec9c1566d6441242cc2c2ae34c1e5304d48e1fe62bc4e53b1791f219df211e330d2de331e0e4f74482664e205c2e4220e76138bd71f1ec07884e7f5221b - languageName: node - linkType: hard - -"@ethersproject/sha2@npm:5.8.0, @ethersproject/sha2@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/sha2@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - hash.js: "npm:1.1.7" - checksum: 10c0/eab941907b7d40ee8436acaaedee32306ed4de2cb9ab37543bc89b1dd2a78f28c8da21efd848525fa1b04a78575be426cfca28f5392f4d28ce6c84e7c26a9421 - languageName: node - linkType: hard - -"@ethersproject/signing-key@npm:5.8.0, @ethersproject/signing-key@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/signing-key@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - bn.js: "npm:^5.2.1" - elliptic: "npm:6.6.1" - hash.js: "npm:1.1.7" - checksum: 10c0/a7ff6cd344b0609737a496b6d5b902cf5528ed5a7ce2c0db5e7b69dc491d1810d1d0cd51dddf9dc74dd562ab4961d76e982f1750359b834c53c202e85e4c8502 - languageName: node - linkType: hard - -"@ethersproject/solidity@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/solidity@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/5b5e0531bcec1d919cfbd261694694c8999ca5c379c1bb276ec779b896d299bb5db8ed7aa5652eb2c7605fe66455832b56ef123dec07f6ddef44231a7aa6fe6c - languageName: node - linkType: hard - -"@ethersproject/strings@npm:5.8.0, @ethersproject/strings@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/strings@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/6db39503c4be130110612b6d593a381c62657e41eebf4f553247ebe394fda32cdf74ff645daee7b7860d209fd02c7e909a95b1f39a2f001c662669b9dfe81d00 - languageName: node - linkType: hard - -"@ethersproject/transactions@npm:5.8.0, @ethersproject/transactions@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/transactions@npm:5.8.0" - dependencies: - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - checksum: 10c0/dd32f090df5945313aafa8430ce76834479750d6655cb786c3b65ec841c94596b14d3c8c59ee93eed7b4f32f27d321a9b8b43bc6bb51f7e1c6694f82639ffe68 - languageName: node - linkType: hard - -"@ethersproject/units@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/units@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/5f92b8379a58024078fce6a4cbf7323cfd79bc41ef8f0a7bbf8be9c816ce18783140ab0d5c8d34ed615639aef7fc3a2ed255e92809e3558a510c4f0d49e27309 - languageName: node - linkType: hard - -"@ethersproject/wallet@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/wallet@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/hdnode": "npm:^5.8.0" - "@ethersproject/json-wallets": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/wordlists": "npm:^5.8.0" - checksum: 10c0/6da450872dda3d9008bad3ccf8467816a63429241e51c66627647123c0fe5625494c4f6c306e098eb8419cc5702ac017d41f5161af5ff670a41fe5d199883c09 - languageName: node - linkType: hard - -"@ethersproject/web@npm:5.8.0, @ethersproject/web@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/web@npm:5.8.0" - dependencies: - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/e3cd547225638db6e94fcd890001c778d77adb0d4f11a7f8c447e961041678f3fbfaffe77a962c7aa3f6597504232442e7015f2335b1788508a108708a30308a - languageName: node - linkType: hard - -"@ethersproject/wordlists@npm:5.8.0, @ethersproject/wordlists@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/wordlists@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/e230a2ba075006bc3a2538e096003e43ef9ba453317f37a4d99638720487ec447c1fa61a592c80483f8a8ad6466511cf4cf5c49cf84464a1679999171ce311f4 - languageName: node - linkType: hard - -"@iden3/bigarray@npm:0.0.2": - version: 0.0.2 - resolution: "@iden3/bigarray@npm:0.0.2" - checksum: 10c0/a1c69a30f1bfb7eed0a1066e6a3d80aad3fab4dbb1bae96cf4dc7117ca9f791edc4a023d8cfb0afefbeab4d65f7bf91edfbb0a62e5ecdc8711c98bb329fedbaa - languageName: node - linkType: hard - -"@iden3/binfileutils@npm:0.0.11": - version: 0.0.11 - resolution: "@iden3/binfileutils@npm:0.0.11" - dependencies: - fastfile: "npm:0.0.20" - ffjavascript: "npm:^0.2.48" - checksum: 10c0/a7c735ccb734f1bebaa4269284ecdae82bbfe2d2c11b76a627922f8f511033ce9e1300873c22f8f689d682edb3a39c9ad182d8794b6b7412cf55e44c287e93d0 - languageName: node - linkType: hard - -"@iden3/binfileutils@npm:0.0.12": - version: 0.0.12 - resolution: "@iden3/binfileutils@npm:0.0.12" - dependencies: - fastfile: "npm:0.0.20" - ffjavascript: "npm:^0.3.0" - checksum: 10c0/33783e2bad7901020bb1ba2236e0172a6f0bced519558466fe17ea2e51226a06d769e869883b1d6fe1abcc459327a77ee96265a52b53c2a964d9b4ef48b2263a - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - -"@noble/curves@npm:^1.4.2": - version: 1.8.1 - resolution: "@noble/curves@npm:1.8.1" - dependencies: - "@noble/hashes": "npm:1.7.1" - checksum: 10c0/84902c7af93338373a95d833f77981113e81c48d4bec78f22f63f1f7fdd893bc1d3d7a3ee78f01b9a8ad3dec812a1232866bf2ccbeb2b1560492e5e7d690ab1f - languageName: node - linkType: hard - -"@noble/hashes@npm:1.7.1": - version: 1.7.1 - resolution: "@noble/hashes@npm:1.7.1" - checksum: 10c0/2f8ec0338ccc92b576a0f5c16ab9c017a3a494062f1fbb569ae641c5e7eab32072f9081acaa96b5048c0898f972916c818ea63cbedda707886a4b5ffcfbf94e3 - languageName: node - linkType: hard - -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 - languageName: node - linkType: hard - -"@openpassport/zk-email-circuits@npm:^6.1.2": - version: 6.1.2 - resolution: "@openpassport/zk-email-circuits@npm:6.1.2" - dependencies: - "@zk-email/zk-regex-circom": "npm:^2.1.0" - circomlib: "npm:^2.0.5" - checksum: 10c0/cc26f12f320643172a614b7a5e53ead6d412cb70be3c256fdd6dcdd1a58ef755c612407a28cfb7f9ee1b41f06e9bee4d8bf4e996b38c845f6a2a3468277da36c - languageName: node - linkType: hard - -"@openpassport/zk-kit-imt@npm:^0.0.4": - version: 0.0.4 - resolution: "@openpassport/zk-kit-imt@npm:0.0.4" - dependencies: - "@openpassport/zk-kit-utils": "npm:0.0.1" - checksum: 10c0/d7d29ddcc52556507d9fb56c4c94fd54bd635345cfae52c1e5694c7810c3854a899094c653f0ea757c01b17ee660399ac7f4f781542f8265b65cb6444dc4f719 - languageName: node - linkType: hard - -"@openpassport/zk-kit-lean-imt@npm:^0.0.4": - version: 0.0.4 - resolution: "@openpassport/zk-kit-lean-imt@npm:0.0.4" - dependencies: - "@openpassport/zk-kit-utils": "npm:0.0.1" - checksum: 10c0/2484a5831ee65d5c2a9f0eca3579c883dffdca098a3db267900e3f1ca070448c864fa0ad547c66a184b3883379ecbe96c8875e3c91a84896963c943191f5c1a8 - languageName: node - linkType: hard - -"@openpassport/zk-kit-smt@npm:^0.0.1": - version: 0.0.1 - resolution: "@openpassport/zk-kit-smt@npm:0.0.1" - checksum: 10c0/2d1d6ccd51c1cdf005e71090ac3d5d505ca58f58776bb7bd178c3d6bfdf3e22b69e50816e620f376663b63fa98bf22439c9b38de523de51e018b9e52f097624b - languageName: node - linkType: hard - -"@openpassport/zk-kit-utils@npm:0.0.1": - version: 0.0.1 - resolution: "@openpassport/zk-kit-utils@npm:0.0.1" - dependencies: - buffer: "npm:^6.0.3" - checksum: 10c0/3a9adb279cfd5096c44934bb6c73979f21247eb0119a65f8b5c0bb1f457f5500de761fc627e0bd9e72a7cbf5ca65696c144bfffe3dbd1f1ce37a300c239a8e3f - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@sindresorhus/is@npm:^4.0.0": - version: 4.6.0 - resolution: "@sindresorhus/is@npm:4.6.0" - checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e - languageName: node - linkType: hard - -"@szmarczak/http-timer@npm:^4.0.5": - version: 4.0.6 - resolution: "@szmarczak/http-timer@npm:4.0.6" - dependencies: - defer-to-connect: "npm:^2.0.0" - checksum: 10c0/73946918c025339db68b09abd91fa3001e87fc749c619d2e9c2003a663039d4c3cb89836c98a96598b3d47dec2481284ba85355392644911f5ecd2336536697f - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node10@npm:1.0.11" - checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - -"@types/cacheable-request@npm:^6.0.1": - version: 6.0.3 - resolution: "@types/cacheable-request@npm:6.0.3" - dependencies: - "@types/http-cache-semantics": "npm:*" - "@types/keyv": "npm:^3.1.4" - "@types/node": "npm:*" - "@types/responselike": "npm:^1.0.0" - checksum: 10c0/10816a88e4e5b144d43c1d15a81003f86d649776c7f410c9b5e6579d0ad9d4ca71c541962fb403077388b446e41af7ae38d313e46692144985f006ac5e11fa03 - languageName: node - linkType: hard - -"@types/chai-as-promised@npm:^7.1.6": - version: 7.1.8 - resolution: "@types/chai-as-promised@npm:7.1.8" - dependencies: - "@types/chai": "npm:*" - checksum: 10c0/c0a19cffe8d3f406b2cb9ba17f5f0efe318b14f27896d807b3199cc2231c16a4b5b6c464fdf2a939214de481de58cffd46c240539d3d4ece18659277d71ccc23 - languageName: node - linkType: hard - -"@types/chai@npm:*": - version: 5.2.0 - resolution: "@types/chai@npm:5.2.0" - dependencies: - "@types/deep-eql": "npm:*" - checksum: 10c0/7eda3feab531bded0e9be35ea165c05946cc683ef3c4e807fc27e073021e3751e9467ab1c38a2f6a10786f236593978bbdc02e48b3589265f28fdc4ceebe879d - languageName: node - linkType: hard - -"@types/chai@npm:4.3.11": - version: 4.3.11 - resolution: "@types/chai@npm:4.3.11" - checksum: 10c0/0c216ac4a19bfbf8318bb104d32e50704ee2ffc4b538b976c4326e6638fee121462402caa570662227a2a218810388aadb14bdbd3d3d474ec300b00695db448a - languageName: node - linkType: hard - -"@types/circomlibjs@npm:^0.1.6": - version: 0.1.6 - resolution: "@types/circomlibjs@npm:0.1.6" - checksum: 10c0/0ef1901bb6e71fcd29c617fd266d1a06a0056d8665194e236d0e918be60aa459d4d1606bfb65e7eb05f769163e69b3eb0c7b55b941774d672499221b904df277 - languageName: node - linkType: hard - -"@types/deep-eql@npm:*": - version: 4.0.2 - resolution: "@types/deep-eql@npm:4.0.2" - checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 - languageName: node - linkType: hard - -"@types/emscripten@npm:^1.39.6": - version: 1.40.0 - resolution: "@types/emscripten@npm:1.40.0" - checksum: 10c0/2c809da43cb42396a78bc1bf1f8bb1eb23874b22425ccc0efd2dff80522318739fc38e845d98983948ca271fe1a551f68043094d20df14e745aff8db2123a0e5 - languageName: node - linkType: hard - -"@types/http-cache-semantics@npm:*": - version: 4.0.4 - resolution: "@types/http-cache-semantics@npm:4.0.4" - checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 - languageName: node - linkType: hard - -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac - languageName: node - linkType: hard - -"@types/keyv@npm:^3.1.4": - version: 3.1.4 - resolution: "@types/keyv@npm:3.1.4" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c - languageName: node - linkType: hard - -"@types/mocha@npm:^10.0.10": - version: 10.0.10 - resolution: "@types/mocha@npm:10.0.10" - checksum: 10c0/d2b8c48138cde6923493e42b38e839695eb42edd04629abe480a8f34c0e3f50dd82a55832c2e8d2b6e6f9e4deb492d7d733e600fbbdd5a0ceccbcfc6844ff9d5 - languageName: node - linkType: hard - -"@types/node-forge@npm:^1.3.5": - version: 1.3.11 - resolution: "@types/node-forge@npm:1.3.11" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/3d7d23ca0ba38ac0cf74028393bd70f31169ab9aba43f21deb787840170d307d662644bac07287495effe2812ddd7ac8a14dbd43f16c2936bbb06312e96fc3b9 - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 22.13.10 - resolution: "@types/node@npm:22.13.10" - dependencies: - undici-types: "npm:~6.20.0" - checksum: 10c0/a3865f9503d6f718002374f7b87efaadfae62faa499c1a33b12c527cfb9fd86f733e1a1b026b80c5a0e4a965701174bc3305595a7d36078aa1abcf09daa5dee9 - languageName: node - linkType: hard - -"@types/node@npm:^20.11.19": - version: 20.17.24 - resolution: "@types/node@npm:20.17.24" - dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/2a39ce4c4cd4588a05b2a485cc0a1407cbea608dd1ab03e36add59d61712718d95c84b492ca5190753f0be2bce748aeeb0f2a1412e712775462befe3820b3ff9 - languageName: node - linkType: hard - -"@types/responselike@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/responselike@npm:1.0.3" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129 - languageName: node - linkType: hard - -"@types/semver@npm:^7.1.0": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa - languageName: node - linkType: hard - -"@types/treeify@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/treeify@npm:1.0.3" - checksum: 10c0/758902638ff83a790c13359729d77aeb80aae50f7039670037e3a0ba2bcc7b09dd49173ab21a96946d83af1682fcd70e448e49151ecd46e190f8925077142d4a - languageName: node - linkType: hard - -"@yarnpkg/core@npm:^4.2.1": - version: 4.2.1 - resolution: "@yarnpkg/core@npm:4.2.1" - dependencies: - "@arcanis/slice-ansi": "npm:^1.1.1" - "@types/semver": "npm:^7.1.0" - "@types/treeify": "npm:^1.0.0" - "@yarnpkg/fslib": "npm:^3.1.2" - "@yarnpkg/libzip": "npm:^3.1.1" - "@yarnpkg/parsers": "npm:^3.0.3" - "@yarnpkg/shell": "npm:^4.1.2" - camelcase: "npm:^5.3.1" - chalk: "npm:^3.0.0" - ci-info: "npm:^4.0.0" - clipanion: "npm:^4.0.0-rc.2" - cross-spawn: "npm:^7.0.3" - diff: "npm:^5.1.0" - dotenv: "npm:^16.3.1" - fast-glob: "npm:^3.2.2" - got: "npm:^11.7.0" - lodash: "npm:^4.17.15" - micromatch: "npm:^4.0.2" - p-limit: "npm:^2.2.0" - semver: "npm:^7.1.2" - strip-ansi: "npm:^6.0.0" - tar: "npm:^6.0.5" - tinylogic: "npm:^2.0.0" - treeify: "npm:^1.1.0" - tslib: "npm:^2.4.0" - tunnel: "npm:^0.0.6" - checksum: 10c0/6943450ea0955cffb71e64c0154ecb81721ce8e9a6b4575d357d26732e1c632b805b52d305fd09e55607d38fba169cc680ad84ff3ca48d23a146ccda0a0e1b5e - languageName: node - linkType: hard - -"@yarnpkg/fslib@npm:^3.1.2": - version: 3.1.2 - resolution: "@yarnpkg/fslib@npm:3.1.2" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/fc19a2b62abfda45eabe08b05335ddbfafd27110657c1faa7b2924ecf1ff99118398e4af7706b9d78703956f99e1fba4666ec3be90174009ee94307fb5608b06 - languageName: node - linkType: hard - -"@yarnpkg/libzip@npm:^3.1.1": - version: 3.1.1 - resolution: "@yarnpkg/libzip@npm:3.1.1" - dependencies: - "@types/emscripten": "npm:^1.39.6" - "@yarnpkg/fslib": "npm:^3.1.2" - tslib: "npm:^2.4.0" - peerDependencies: - "@yarnpkg/fslib": ^3.1.2 - checksum: 10c0/819ad37fbba51f4d7f65fff02b80cd7eb94134d7f7672a8b664a0672f12e710223ff9a8adb4ca565fd6aaa3432e74e964ee71d5ed929e900657c3a9fde9a381d - languageName: node - linkType: hard - -"@yarnpkg/parsers@npm:^3.0.3": - version: 3.0.3 - resolution: "@yarnpkg/parsers@npm:3.0.3" - dependencies: - js-yaml: "npm:^3.10.0" - tslib: "npm:^2.4.0" - checksum: 10c0/70c2fa011bf28a517a8ee4264dd93d7590f6e3d02c6d4feb50533f405ca3b100cb156f11405b9a34f7c51c6893d3d8b051554dddfd5afaae2067f921512447a3 - languageName: node - linkType: hard - -"@yarnpkg/sdks@npm:^3.2.0": - version: 3.2.1 - resolution: "@yarnpkg/sdks@npm:3.2.1" - dependencies: - "@yarnpkg/core": "npm:^4.2.1" - "@yarnpkg/fslib": "npm:^3.1.2" - "@yarnpkg/parsers": "npm:^3.0.3" - chalk: "npm:^3.0.0" - clipanion: "npm:^4.0.0-rc.2" - comment-json: "npm:^2.2.0" - lodash: "npm:^4.17.15" - tslib: "npm:^2.4.0" - bin: - sdks: ./lib/cli.js - checksum: 10c0/d2ac4842f6827aba82de14c05dbc9d3139cdf79b62c93f1b70ce8b7613ac22253dd8436ed5692a0b9d9bd70d08789942126f939ec71a31037d1cf437c9b40118 - languageName: node - linkType: hard - -"@yarnpkg/shell@npm:^4.1.2": - version: 4.1.2 - resolution: "@yarnpkg/shell@npm:4.1.2" - dependencies: - "@yarnpkg/fslib": "npm:^3.1.2" - "@yarnpkg/parsers": "npm:^3.0.3" - chalk: "npm:^3.0.0" - clipanion: "npm:^4.0.0-rc.2" - cross-spawn: "npm:^7.0.3" - fast-glob: "npm:^3.2.2" - micromatch: "npm:^4.0.2" - tslib: "npm:^2.4.0" - bin: - shell: ./lib/cli.js - checksum: 10c0/4d2116cf6637a38b15bc994a9e86535359ac654714a1c737bf2a3a8b7d80e8b0cc1a515567fb2522395f8e42aecec0ad14d2f54dc51f583215e87128e4dada87 - languageName: node - linkType: hard - -"@zk-email/circuits@npm:^6.3.2": - version: 6.3.3 - resolution: "@zk-email/circuits@npm:6.3.3" - dependencies: - "@zk-email/zk-regex-circom": "npm:^2.3.1" - circomlib: "npm:^2.0.5" - checksum: 10c0/733928ca98a2ce45a913d4a5d9bef1137768d2958780587ba4d699b48034aad4e7e39149f1178f8665519ea4908e14a4da8ada422f405c9baef800f83f9b8555 - languageName: node - linkType: hard - -"@zk-email/helpers@npm:^6.1.1": - version: 6.4.2 - resolution: "@zk-email/helpers@npm:6.4.2" - dependencies: - addressparser: "npm:^1.0.1" - atob: "npm:^2.1.2" - circomlibjs: "npm:^0.1.7" - libmime: "npm:^5.2.1" - localforage: "npm:^1.10.0" - node-forge: "npm:^1.3.1" - pako: "npm:^2.1.0" - psl: "npm:^1.9.0" - snarkjs: "https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e" - checksum: 10c0/33b008b5a1113418fe088d7768a0843867568c58a713d75b64c6a36220dfa6f07a25d32a32cb627d756f2fc6670f3341c38dc06be89335d817e4d8782741d3b7 - languageName: node - linkType: hard - -"@zk-email/zk-regex-circom@npm:^1.2.1": - version: 1.3.0 - resolution: "@zk-email/zk-regex-circom@npm:1.3.0" - dependencies: - commander: "npm:^11.0.0" - snarkjs: "npm:^0.7.0" - checksum: 10c0/1398bb35846fa61ccbe741192c89f6208802dafdaa541b49967a2588e4149d5a802b0bded9c237cf32f460b6c4a16f3952fec60ac6327d750323cc9cee5afdd7 - languageName: node - linkType: hard - -"@zk-email/zk-regex-circom@npm:^2.1.0, @zk-email/zk-regex-circom@npm:^2.3.1": - version: 2.3.2 - resolution: "@zk-email/zk-regex-circom@npm:2.3.2" - dependencies: - commander: "npm:^11.0.0" - snarkjs: "npm:^0.7.5" - checksum: 10c0/d2b2ccae85b5a4f1a57caf71f895cafb922f4e8b4f136cc57eb3434701640744bd8a02928037604b6f9d7c2084373d922d912180e41da070ff402d6033e35f8b - languageName: node - linkType: hard - -"@zk-kit/binary-merkle-root.circom@npm:^1.0.0": - version: 1.0.0 - resolution: "@zk-kit/binary-merkle-root.circom@npm:1.0.0" - dependencies: - circomlib: "npm:^2.0.5" - checksum: 10c0/d5585d2efa0e45b79eca651659c7f2e9fa96d6ae83a7653e9dfe1c9f436071367dd01070b70dd86cefec341cd5e57c108c3ab08cde25f2fe51efb8bd4e4a28be - languageName: node - linkType: hard - -"@zk-kit/circuits@npm:^1.0.0-beta": - version: 1.0.0-beta - resolution: "@zk-kit/circuits@npm:1.0.0-beta" - dependencies: - circomlib: "npm:^2.0.5" - checksum: 10c0/0e73afec1174d892c569c619077dedbe7d1409a867c52cad18028e1351c39e2edcc032227fb7968c3804a2359fd8107ad00a496bfe4c9dc8336ce039987b7322 - languageName: node - linkType: hard - -"abbrev@npm:^3.0.0": - version: 3.0.0 - resolution: "abbrev@npm:3.0.0" - checksum: 10c0/049704186396f571650eb7b22ed3627b77a5aedf98bb83caf2eac81ca2a3e25e795394b0464cfb2d6076df3db6a5312139eac5b6a126ca296ac53c5008069c28 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.1.1": - version: 8.3.4 - resolution: "acorn-walk@npm:8.3.4" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 - languageName: node - linkType: hard - -"acorn@npm:^8.11.0, acorn@npm:^8.4.1": - version: 8.14.1 - resolution: "acorn@npm:8.14.1" - bin: - acorn: bin/acorn - checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 - languageName: node - linkType: hard - -"addressparser@npm:^1.0.1": - version: 1.0.1 - resolution: "addressparser@npm:1.0.1" - checksum: 10c0/15a6b149c643e3fb0888bcad89aa385e7718714a33049b5f357063b64b84a2febd6a0775011783c25e6b161982663d38a84fd4522de69adb4779971b92b4ddb3 - languageName: node - linkType: hard - -"aes-js@npm:3.0.0": - version: 3.0.0 - resolution: "aes-js@npm:3.0.0" - checksum: 10c0/87dd5b2363534b867db7cef8bc85a90c355460783744877b2db7c8be09740aac5750714f9e00902822f692662bda74cdf40e03fbb5214ffec75c2666666288b8 - languageName: node - linkType: hard - -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 - languageName: node - linkType: hard - -"ansi-colors@npm:^4.1.3": - version: 4.1.3 - resolution: "ansi-colors@npm:4.1.3" - checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"arrify@npm:^1.0.0": - version: 1.0.1 - resolution: "arrify@npm:1.0.1" - checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab - languageName: node - linkType: hard - -"asn1.js@npm:^5.4.1": - version: 5.4.1 - resolution: "asn1.js@npm:5.4.1" - dependencies: - bn.js: "npm:^4.0.0" - inherits: "npm:^2.0.1" - minimalistic-assert: "npm:^1.0.0" - safer-buffer: "npm:^2.1.0" - checksum: 10c0/b577232fa6069cc52bb128e564002c62b2b1fe47f7137bdcd709c0b8495aa79cee0f8cc458a831b2d8675900eea0d05781b006be5e1aa4f0ae3577a73ec20324 - languageName: node - linkType: hard - -"asn1@npm:^0.2.6": - version: 0.2.6 - resolution: "asn1@npm:0.2.6" - dependencies: - safer-buffer: "npm:~2.1.0" - checksum: 10c0/00c8a06c37e548762306bcb1488388d2f76c74c36f70c803f0c081a01d3bdf26090fc088cd812afc5e56a6d49e33765d451a5f8a68ab9c2b087eba65d2e980e0 - languageName: node - linkType: hard - -"asn1js@npm:^3.0.5": - version: 3.0.5 - resolution: "asn1js@npm:3.0.5" - dependencies: - pvtsutils: "npm:^1.3.2" - pvutils: "npm:^1.1.3" - tslib: "npm:^2.4.0" - checksum: 10c0/bb8eaf4040c8f49dd475566874986f5976b81bae65a6b5526e2208a13cdca323e69ce297bcd435fdda3eb6933defe888e71974d705b6fcb14f2734a907f8aed4 - languageName: node - linkType: hard - -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b - languageName: node - linkType: hard - -"assertion-error@npm:^2.0.1": - version: 2.0.1 - resolution: "assertion-error@npm:2.0.1" - checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 - languageName: node - linkType: hard - -"async@npm:^3.2.3": - version: 3.2.6 - resolution: "async@npm:3.2.6" - checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 - languageName: node - linkType: hard - -"atob@npm:^2.1.2": - version: 2.1.2 - resolution: "atob@npm:2.1.2" - bin: - atob: bin/atob.js - checksum: 10c0/ada635b519dc0c576bb0b3ca63a73b50eefacf390abb3f062558342a8d68f2db91d0c8db54ce81b0d89de3b0f000de71f3ae7d761fd7d8cc624278fe443d6c7e - languageName: node - linkType: hard - -"available-typed-arrays@npm:^1.0.7": - version: 1.0.7 - resolution: "available-typed-arrays@npm:1.0.7" - dependencies: - possible-typed-array-names: "npm:^1.0.0" - checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 - languageName: node - linkType: hard - -"b4a@npm:^1.0.1": - version: 1.6.7 - resolution: "b4a@npm:1.6.7" - checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"bech32@npm:1.1.4": - version: 1.1.4 - resolution: "bech32@npm:1.1.4" - checksum: 10c0/5f62ca47b8df99ace9c0e0d8deb36a919d91bf40066700aaa9920a45f86bb10eb56d537d559416fd8703aa0fb60dddb642e58f049701e7291df678b2033e5ee5 - languageName: node - linkType: hard - -"bfj@npm:^7.0.2": - version: 7.1.0 - resolution: "bfj@npm:7.1.0" - dependencies: - bluebird: "npm:^3.7.2" - check-types: "npm:^11.2.3" - hoopy: "npm:^0.1.4" - jsonpath: "npm:^1.1.1" - tryer: "npm:^1.0.1" - checksum: 10c0/e5fc6690cd093c06ca6ed7584a2caf0c4a762bc9d9d9cb18efbabc75c973b071a8dad7037c617d0ea4d97b7b439821fea32f7c232ed0be8fa7840533a9643171 - languageName: node - linkType: hard - -"big-integer@npm:^1.6.42, big-integer@npm:^1.6.48": - version: 1.6.52 - resolution: "big-integer@npm:1.6.52" - checksum: 10c0/9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - -"blake-hash@npm:^2.0.0": - version: 2.0.0 - resolution: "blake-hash@npm:2.0.0" - dependencies: - node-addon-api: "npm:^3.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.2" - readable-stream: "npm:^3.6.0" - checksum: 10c0/368dc38d3694c925ac1c013f6e35ece9a0a6adb43aa475e97d6babcf829b6be9e4ef879aab2ce1f0e685f5346580e653ead9540a348691423d907504aafe9739 - languageName: node - linkType: hard - -"blake2b-wasm@npm:^2.4.0": - version: 2.4.0 - resolution: "blake2b-wasm@npm:2.4.0" - dependencies: - b4a: "npm:^1.0.1" - nanoassert: "npm:^2.0.0" - checksum: 10c0/0905a47ece466c44541c8abbc94a5441ecb24a3b2622bf1f2e285c1f0f82e2b1899c7bbd70294583cfd99e1276047dd80d7afc7408f3a7c5ebf426b2f2a42f6f - languageName: node - linkType: hard - -"blake2b@npm:^2.1.3": - version: 2.1.4 - resolution: "blake2b@npm:2.1.4" - dependencies: - blake2b-wasm: "npm:^2.4.0" - nanoassert: "npm:^2.0.0" - checksum: 10c0/5276ee175f7cbbb115ee2003cf577687239ee5931f350e7d799b52cd99793cf6946f03a31d8531f643db5e81ca727f18a0dd4206394ee62c65b5dacea1a86bf8 - languageName: node - linkType: hard - -"blakejs@npm:^1.1.0": - version: 1.2.1 - resolution: "blakejs@npm:1.2.1" - checksum: 10c0/c284557ce55b9c70203f59d381f1b85372ef08ee616a90162174d1291a45d3e5e809fdf9edab6e998740012538515152471dc4f1f9dbfa974ba2b9c1f7b9aad7 - languageName: node - linkType: hard - -"bluebird@npm:^3.7.2": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 - languageName: node - linkType: hard - -"bn.js@npm:^4.0.0, bn.js@npm:^4.11.9": - version: 4.12.1 - resolution: "bn.js@npm:4.12.1" - checksum: 10c0/b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 - languageName: node - linkType: hard - -"bn.js@npm:^5.2.1": - version: 5.2.1 - resolution: "bn.js@npm:5.2.1" - checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.3, braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"brorand@npm:^1.1.0": - version: 1.1.0 - resolution: "brorand@npm:1.1.0" - checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 - languageName: node - linkType: hard - -"browser-stdout@npm:^1.3.1": - version: 1.3.1 - resolution: "browser-stdout@npm:1.3.1" - checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0, buffer-from@npm:^1.1.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" - dependencies: - "@npmcli/fs": "npm:^4.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c - languageName: node - linkType: hard - -"cacheable-lookup@npm:^5.0.3": - version: 5.0.4 - resolution: "cacheable-lookup@npm:5.0.4" - checksum: 10c0/a6547fb4954b318aa831cbdd2f7b376824bc784fb1fa67610e4147099e3074726072d9af89f12efb69121415a0e1f2918a8ddd4aafcbcf4e91fbeef4a59cd42c - languageName: node - linkType: hard - -"cacheable-request@npm:^7.0.2": - version: 7.0.4 - resolution: "cacheable-request@npm:7.0.4" - dependencies: - clone-response: "npm:^1.0.2" - get-stream: "npm:^5.1.0" - http-cache-semantics: "npm:^4.0.0" - keyv: "npm:^4.0.0" - lowercase-keys: "npm:^2.0.0" - normalize-url: "npm:^6.0.1" - responselike: "npm:^2.0.0" - checksum: 10c0/0834a7d17ae71a177bc34eab06de112a43f9b5ad05ebe929bec983d890a7d9f2bc5f1aa8bb67ea2b65e07a3bc74bea35fa62dd36dbac52876afe36fdcf83da41 - languageName: node - linkType: hard - -"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 - languageName: node - linkType: hard - -"call-bind@npm:^1.0.8": - version: 1.0.8 - resolution: "call-bind@npm:1.0.8" - dependencies: - call-bind-apply-helpers: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.2" - checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 - languageName: node - linkType: hard - -"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 - languageName: node - linkType: hard - -"camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 - languageName: node - linkType: hard - -"camelcase@npm:^6.0.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"chai-as-promised@npm:^7.1.1": - version: 7.1.2 - resolution: "chai-as-promised@npm:7.1.2" - dependencies: - check-error: "npm:^1.0.2" - peerDependencies: - chai: ">= 2.1.2 < 6" - checksum: 10c0/ee20ed75296d8cbf828b2f3c9ad64627cee67b1a38b8e906ca59fe788fb6965ddb10f702ae66645ed88f15a905ade4f2d9f8540029e92e2d59b229c9f912273f - languageName: node - linkType: hard - -"chai@npm:4.3.8": - version: 4.3.8 - resolution: "chai@npm:4.3.8" - dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.2" - deep-eql: "npm:^4.1.2" - get-func-name: "npm:^2.0.0" - loupe: "npm:^2.3.1" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.0.5" - checksum: 10c0/5aa714fbbd4b3a1506f4fc9094851bf9109f184d601c1278bcd4eb98d5ee05cc75d7e84f46d072d656502c55544b38c748a1c669468d138e41e5c9d175beffc5 - languageName: node - linkType: hard - -"chai@npm:^4.3.6": - version: 4.5.0 - resolution: "chai@npm:4.5.0" - dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.1.0" - checksum: 10c0/b8cb596bd1aece1aec659e41a6e479290c7d9bee5b3ad63d2898ad230064e5b47889a3bc367b20100a0853b62e026e2dc514acf25a3c9385f936aa3614d4ab4d - languageName: node - linkType: hard - -"chai@npm:^5.1.2": - version: 5.2.0 - resolution: "chai@npm:5.2.0" - dependencies: - assertion-error: "npm:^2.0.1" - check-error: "npm:^2.1.1" - deep-eql: "npm:^5.0.1" - loupe: "npm:^3.1.0" - pathval: "npm:^2.0.0" - checksum: 10c0/dfd1cb719c7cebb051b727672d382a35338af1470065cb12adb01f4ee451bbf528e0e0f9ab2016af5fc1eea4df6e7f4504dc8443f8f00bd8fb87ad32dc516f7d - languageName: node - linkType: hard - -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/ee650b0a065b3d7a6fda258e75d3a86fc8e4effa55871da730a9e42ccb035bf5fd203525e5a1ef45ec2582ecc4f65b47eb11357c526b84dd29a14fb162c414d2 - languageName: node - linkType: hard - -"chalk@npm:^4.0.2, chalk@npm:^4.1.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"check-error@npm:^1.0.2, check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 - languageName: node - linkType: hard - -"check-error@npm:^2.1.1": - version: 2.1.1 - resolution: "check-error@npm:2.1.1" - checksum: 10c0/979f13eccab306cf1785fa10941a590b4e7ea9916ea2a4f8c87f0316fc3eab07eabefb6e587424ef0f88cbcd3805791f172ea739863ca3d7ce2afc54641c7f0e - languageName: node - linkType: hard - -"check-types@npm:^11.2.3": - version: 11.2.3 - resolution: "check-types@npm:11.2.3" - checksum: 10c0/08d17e528b189e0e431689f0f2f0a78f425202f6e5ac93def5c3b8d128eb888a5103fc980d4feb7b2d4248f8114d354c223dff3c0b5ac4b1def526ef441aaf55 - languageName: node - linkType: hard - -"chokidar@npm:^3.5.3": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"ci-info@npm:^4.0.0": - version: 4.2.0 - resolution: "ci-info@npm:4.2.0" - checksum: 10c0/37a2f4b6a213a5cf835890eb0241f0d5b022f6cfefde58a69e9af8e3a0e71e06d6ad7754b0d4efb9cd2613e58a7a33996d71b56b0d04242722e86666f3f3d058 - languageName: node - linkType: hard +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@arcanis/slice-ansi@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@arcanis/slice-ansi/-/slice-ansi-1.1.1.tgz#0ee328a68996ca45854450033a3d161421dc4f55" + integrity sha512-xguP2WR2Dv0gQ7Ykbdb7BNCnPnIPB94uTi0Z2NvkRBEnhbwjOQ7QyQKJXrVQg4qDpiD9hA5l5cCwy/z2OXgc3w== + dependencies: + grapheme-splitter "^1.0.4" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@ethersproject/abi@5.8.0", "@ethersproject/abi@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.8.0.tgz#e79bb51940ac35fe6f3262d7fe2cdb25ad5f07d9" + integrity sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/abstract-provider@5.8.0", "@ethersproject/abstract-provider@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz#7581f9be601afa1d02b95d26b9d9840926a35b0c" + integrity sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + +"@ethersproject/abstract-signer@5.8.0", "@ethersproject/abstract-signer@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz#8d7417e95e4094c1797a9762e6789c7356db0754" + integrity sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/address@5.8.0", "@ethersproject/address@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.8.0.tgz#3007a2c352eee566ad745dca1dbbebdb50a6a983" + integrity sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + +"@ethersproject/base64@5.8.0", "@ethersproject/base64@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.8.0.tgz#61c669c648f6e6aad002c228465d52ac93ee83eb" + integrity sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ== + dependencies: + "@ethersproject/bytes" "^5.8.0" + +"@ethersproject/basex@5.8.0", "@ethersproject/basex@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.8.0.tgz#1d279a90c4be84d1c1139114a1f844869e57d03a" + integrity sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/bignumber@5.8.0", "@ethersproject/bignumber@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.8.0.tgz#c381d178f9eeb370923d389284efa19f69efa5d7" + integrity sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@5.8.0", "@ethersproject/bytes@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.8.0.tgz#9074820e1cac7507a34372cadeb035461463be34" + integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/constants@5.8.0", "@ethersproject/constants@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.8.0.tgz#12f31c2f4317b113a4c19de94e50933648c90704" + integrity sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + +"@ethersproject/contracts@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.8.0.tgz#243a38a2e4aa3e757215ea64e276f8a8c9d8ed73" + integrity sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ== + dependencies: + "@ethersproject/abi" "^5.8.0" + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + +"@ethersproject/hash@5.8.0", "@ethersproject/hash@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.8.0.tgz#b8893d4629b7f8462a90102572f8cd65a0192b4c" + integrity sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/hdnode@5.8.0", "@ethersproject/hdnode@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.8.0.tgz#a51ae2a50bcd48ef6fd108c64cbae5e6ff34a761" + integrity sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/json-wallets@5.8.0", "@ethersproject/json-wallets@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz#d18de0a4cf0f185f232eb3c17d5e0744d97eb8c9" + integrity sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.8.0", "@ethersproject/keccak256@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.8.0.tgz#d2123a379567faf2d75d2aaea074ffd4df349e6a" + integrity sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng== + dependencies: + "@ethersproject/bytes" "^5.8.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.8.0", "@ethersproject/logger@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.8.0.tgz#f0232968a4f87d29623a0481690a2732662713d6" + integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA== + +"@ethersproject/networks@5.8.0", "@ethersproject/networks@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.8.0.tgz#8b4517a3139380cba9fb00b63ffad0a979671fde" + integrity sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/pbkdf2@5.8.0", "@ethersproject/pbkdf2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz#cd2621130e5dd51f6a0172e63a6e4a0c0a0ec37e" + integrity sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + +"@ethersproject/properties@5.8.0", "@ethersproject/properties@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.8.0.tgz#405a8affb6311a49a91dabd96aeeae24f477020e" + integrity sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/providers@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.8.0.tgz#6c2ae354f7f96ee150439f7de06236928bc04cb4" + integrity sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + bech32 "1.1.4" + ws "8.18.0" + +"@ethersproject/random@5.8.0", "@ethersproject/random@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.8.0.tgz#1bced04d49449f37c6437c701735a1a022f0057a" + integrity sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/rlp@5.8.0", "@ethersproject/rlp@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.8.0.tgz#5a0d49f61bc53e051532a5179472779141451de5" + integrity sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/sha2@5.8.0", "@ethersproject/sha2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.8.0.tgz#8954a613bb78dac9b46829c0a95de561ef74e5e1" + integrity sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.8.0", "@ethersproject/signing-key@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.8.0.tgz#9797e02c717b68239c6349394ea85febf8893119" + integrity sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + bn.js "^5.2.1" + elliptic "6.6.1" + hash.js "1.1.7" + +"@ethersproject/solidity@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.8.0.tgz#429bb9fcf5521307a9448d7358c26b93695379b9" + integrity sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/strings@5.8.0", "@ethersproject/strings@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.8.0.tgz#ad79fafbf0bd272d9765603215ac74fd7953908f" + integrity sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/transactions@5.8.0", "@ethersproject/transactions@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.8.0.tgz#1e518822403abc99def5a043d1c6f6fe0007e46b" + integrity sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + +"@ethersproject/units@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.8.0.tgz#c12f34ba7c3a2de0e9fa0ed0ee32f3e46c5c2c6a" + integrity sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/wallet@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.8.0.tgz#49c300d10872e6986d953e8310dc33d440da8127" + integrity sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/json-wallets" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/web@5.8.0", "@ethersproject/web@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.8.0.tgz#3e54badc0013b7a801463a7008a87988efce8a37" + integrity sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw== + dependencies: + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/wordlists@5.8.0", "@ethersproject/wordlists@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.8.0.tgz#7a5654ee8d1bb1f4dbe43f91d217356d650ad821" + integrity sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@iden3/bigarray@0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@iden3/bigarray/-/bigarray-0.0.2.tgz#6fc4ba5be18daf8a26ee393f2fb62b80d98c05e9" + integrity sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g== + +"@iden3/binfileutils@0.0.11": + version "0.0.11" + resolved "https://registry.yarnpkg.com/@iden3/binfileutils/-/binfileutils-0.0.11.tgz#9ffbbcc1279f2b2182bb6dcff4eee8a5b2167911" + integrity sha512-LylnJoZ0CTdgErnKY8OxohvW4K+p6UHD3sxt+3P9AmMyBQjYR4IpoqoYZZ+9aMj89cmCQ21UvdhndAx04er3NA== + dependencies: + fastfile "0.0.20" + ffjavascript "^0.2.48" + +"@iden3/binfileutils@0.0.12": + version "0.0.12" + resolved "https://registry.yarnpkg.com/@iden3/binfileutils/-/binfileutils-0.0.12.tgz#3772552f57551814ff606fa68ea1e0ef52795ce3" + integrity sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ== + dependencies: + fastfile "0.0.20" + ffjavascript "^0.3.0" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@noble/curves@^1.4.2": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff" + integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== + dependencies: + "@noble/hashes" "1.7.1" + +"@noble/hashes@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" + integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@openpassport/zk-email-circuits@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@openpassport/zk-email-circuits/-/zk-email-circuits-6.1.2.tgz#8e239d2e1f0b3b6a89af72107c2204bc111f0454" + integrity sha512-wpp/HG9mZqAtrAQRaS1PUs216gu0SNtRCo7SkSXG95Na6T0V4mcEHnBnnbc7E/UXXb1WVxwVMXiV8pSXd5Enxw== + dependencies: + "@zk-email/zk-regex-circom" "^2.1.0" + circomlib "^2.0.5" + +"@openpassport/zk-kit-imt@^0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-imt/-/zk-kit-imt-0.0.4.tgz#ec36d3d58a9056dab0669737c42bb130245868c3" + integrity sha512-6jIa3tUXt4axf6LqeNn5QrFWMu1k6wAzg2XbeNyCXXz5KU6R4R2No5RpGIycE6JgMgn8rQlJ2O7ia8v4xK34Bg== + dependencies: + "@openpassport/zk-kit-utils" "0.0.1" + +"@openpassport/zk-kit-lean-imt@^0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-lean-imt/-/zk-kit-lean-imt-0.0.4.tgz#ed75d332513f6149965f9247dac971f89485d1cc" + integrity sha512-RrchSaI8GJ3O95K8xsOzMl1itmft7iTtnNQbxiuh5jx5SvSUpImSIvGRw1JFBBEtB2++cCoO9w84RN363ekWJw== + dependencies: + "@openpassport/zk-kit-utils" "0.0.1" + +"@openpassport/zk-kit-smt@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-smt/-/zk-kit-smt-0.0.1.tgz#d447ed24e7b57146d5dee8d7458ac3886346b4d2" + integrity sha512-P7Hkd5fD8JxGbqJ48lUq6gGKmZTaVzCB5I8FsOSUmljqf7VMeZmbyqo2ZmXt/lk6ltPXrmcrQ+QNhHXKZNcWhg== + +"@openpassport/zk-kit-utils@0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-utils/-/zk-kit-utils-0.0.1.tgz#b0ad083c411bc7bcc1051516a76ada528a283a3a" + integrity sha512-T7jZ3vn+iCAPnvMS+NLg3Yj4ixF2xXG/geFkyNi48beEFd1hD/2Yca05QP+g2iaJAsIRvllwtni5SuLXGwv5Xw== + dependencies: + buffer "^6.0.3" + +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/chai-as-promised@^7.1.6": + version "7.1.8" + resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz#f2b3d82d53c59626b5d6bbc087667ccb4b677fe9" + integrity sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw== + dependencies: + "@types/chai" "*" + +"@types/chai@*": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.1.tgz#85687a58b27eac736ec0e87e5cb98f21e57a0bb1" + integrity sha512-iu1JLYmGmITRzUgNiLMZD3WCoFzpYtueuyAgHTXqgwSRAMIlFTnZqG6/xenkpUGRJEzSfklUTI4GNSzks/dc0w== + dependencies: + "@types/deep-eql" "*" + +"@types/chai@4.3.11": + version "4.3.11" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.11.tgz#e95050bf79a932cb7305dd130254ccdf9bde671c" + integrity sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ== + +"@types/circomlibjs@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@types/circomlibjs/-/circomlibjs-0.1.6.tgz#dba1b9cc68ae4f75da045b8b14c50f3444b31d7f" + integrity sha512-yF174bPDaiKgejlZzCSqKwZaqXhlxMcVEHrAtstFohwP05OjtvHXOdxO6HQeTg8WwIdgMg7MJb1WyWZdUCGlPQ== + +"@types/deep-eql@*": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" + integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== + +"@types/emscripten@^1.39.6": + version "1.40.1" + resolved "https://registry.yarnpkg.com/@types/emscripten/-/emscripten-1.40.1.tgz#4c34102d7cd1503979d4e6652082c23fd805805e" + integrity sha512-sr53lnYkQNhjHNN0oJDdUm5564biioI5DuOpycufDVK7D3y+GR3oUswe2rlwY1nPNyusHbrJ9WoTyIHl4/Bpwg== + +"@types/http-cache-semantics@*": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + +"@types/mocha@^10.0.10": + version "10.0.10" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" + integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== + +"@types/node-forge@^1.3.5": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "22.14.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.1.tgz#53b54585cec81c21eee3697521e31312d6ca1e6f" + integrity sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw== + dependencies: + undici-types "~6.21.0" + +"@types/node@^20.11.19": + version "20.17.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.30.tgz#1d93f656d3b869dbef7b796568ac457606ba58d0" + integrity sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg== + dependencies: + undici-types "~6.19.2" + +"@types/responselike@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== + dependencies: + "@types/node" "*" + +"@types/semver@^7.1.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.7.0.tgz#64c441bdae033b378b6eef7d0c3d77c329b9378e" + integrity sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA== + +"@types/treeify@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/treeify/-/treeify-1.0.3.tgz#f502e11e851b1464d5e80715d5ce3705ad864638" + integrity sha512-hx0o7zWEUU4R2Amn+pjCBQQt23Khy/Dk56gQU5xi5jtPL1h83ACJCeFaB2M/+WO1AntvWrSoVnnCAfI1AQH4Cg== + +"@yarnpkg/core@^4.2.1": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/core/-/core-4.4.0.tgz#bab4623a3fd58631a2b5740547a984775f926804" + integrity sha512-ZT+dPniRDJEyH+z0oOXS+nNkrssJ2jsmqoKDP5y8wQpbHlG+bxqEq8Ri1uDQGLh+43LkEh1Brih9QMs9p3f5/A== + dependencies: + "@arcanis/slice-ansi" "^1.1.1" + "@types/semver" "^7.1.0" + "@types/treeify" "^1.0.0" + "@yarnpkg/fslib" "^3.1.2" + "@yarnpkg/libzip" "^3.2.0" + "@yarnpkg/parsers" "^3.0.3" + "@yarnpkg/shell" "^4.1.2" + camelcase "^5.3.1" + chalk "^3.0.0" + ci-info "^4.0.0" + clipanion "^4.0.0-rc.2" + cross-spawn "^7.0.3" + diff "^5.1.0" + dotenv "^16.3.1" + fast-glob "^3.2.2" + got "^11.7.0" + lodash "^4.17.15" + micromatch "^4.0.2" + p-limit "^2.2.0" + semver "^7.1.2" + strip-ansi "^6.0.0" + tar "^6.0.5" + tinylogic "^2.0.0" + treeify "^1.1.0" + tslib "^2.4.0" + tunnel "^0.0.6" + +"@yarnpkg/fslib@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@yarnpkg/fslib/-/fslib-3.1.2.tgz#a6797a48abe80dd5e922fd6f53e39dc205201576" + integrity sha512-FpB2F1Lrm43F94klS9UN0ceOpe/PHZSpJB7bIkvReF/ba890bSdu1NokSKr998yaFee7yqeD9Wkid5ye7azF3A== + dependencies: + tslib "^2.4.0" + +"@yarnpkg/libzip@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/libzip/-/libzip-3.2.0.tgz#8d1bbb202da1c70b2abb8fab4c3108e34efe88fa" + integrity sha512-g5HgJFxQpUG3dMWrX0bHHnKN50V934IpaaH0rIJQd/lTSvOu5fyMUgTfIeNaC24ZGS/lunxBSbJC6/6HqJe7Ag== + dependencies: + "@types/emscripten" "^1.39.6" + "@yarnpkg/fslib" "^3.1.2" + tslib "^2.4.0" + +"@yarnpkg/parsers@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.3.tgz#624f35f242c1115a48beb1fd12aed610bcd8e823" + integrity sha512-mQZgUSgFurUtA07ceMjxrWkYz8QtDuYkvPlu0ZqncgjopQ0t6CNEo/OSealkmnagSUx8ZD5ewvezUwUuMqutQg== + dependencies: + js-yaml "^3.10.0" + tslib "^2.4.0" + +"@yarnpkg/sdks@^3.2.0": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@yarnpkg/sdks/-/sdks-3.2.1.tgz#0b89dce791eefc17367685ef0d45ba39288da5b1" + integrity sha512-pIAVf+dV4n0EorV8FrDLATCA59bEmVWL5idiZ0TYxLJ0nKTdwa32JcRyIjYRzO+vr0YeOBiCto1Tro1mpkn0/w== + dependencies: + "@yarnpkg/core" "^4.2.1" + "@yarnpkg/fslib" "^3.1.2" + "@yarnpkg/parsers" "^3.0.3" + chalk "^3.0.0" + clipanion "^4.0.0-rc.2" + comment-json "^2.2.0" + lodash "^4.17.15" + tslib "^2.4.0" + +"@yarnpkg/shell@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@yarnpkg/shell/-/shell-4.1.2.tgz#9cedc3d7eaa7be21e3cb20d83d1a43c35a0821f7" + integrity sha512-1ET4cNNd7//2tXHnLiHGzBbry5mlEmoKL8f32E5EKnn8Ke/gAcILeFdbX2G9C9w/7uBmFyWeSs530ib0SofVPQ== + dependencies: + "@yarnpkg/fslib" "^3.1.2" + "@yarnpkg/parsers" "^3.0.3" + chalk "^3.0.0" + clipanion "^4.0.0-rc.2" + cross-spawn "^7.0.3" + fast-glob "^3.2.2" + micromatch "^4.0.2" + tslib "^2.4.0" + +"@zk-email/circuits@^6.3.2": + version "6.3.3" + resolved "https://registry.yarnpkg.com/@zk-email/circuits/-/circuits-6.3.3.tgz#82d40b4d57eefefaa64c408bff63ea4fc863a6ff" + integrity sha512-YwyeMhmyRNausmvIsNB/lLiRgj/qbWTD0ZpSsfW7goQQPkAhRieyImK8ik0g0YVFvPtGsEw2msd4Q+tSVRvKGw== + dependencies: + "@zk-email/zk-regex-circom" "^2.3.1" + circomlib "^2.0.5" + +"@zk-email/helpers@^6.1.1": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@zk-email/helpers/-/helpers-6.4.2.tgz#38bd7dc345b6f8a299e3f6c1b6748655ed40d272" + integrity sha512-0S49A5cezcnCR98qAw/zJfjr8l/uFy20BcPxS8ADXNA9RVp4cUB2EQ4imRqnAg8ZoM+C/D+si1h/9KkW9qrJyw== + dependencies: + addressparser "^1.0.1" + atob "^2.1.2" + circomlibjs "^0.1.7" + libmime "^5.2.1" + localforage "^1.10.0" + node-forge "^1.3.1" + pako "^2.1.0" + psl "^1.9.0" + snarkjs "https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e" + +"@zk-email/zk-regex-circom@^1.2.1": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-1.3.0.tgz#8cb2b3b4977cfe42dc7072e13795e10d92efa074" + integrity sha512-faMboihzV3zyh2K3Qy4GYgxRRql4YEef26QDCISFFuURACWINfwtoZPC4OHtE0Ug60iAWRbpQtUWlPjomTCxoQ== + dependencies: + commander "^11.0.0" + snarkjs "^0.7.0" + +"@zk-email/zk-regex-circom@^2.1.0", "@zk-email/zk-regex-circom@^2.3.1": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-2.3.2.tgz#d3ad819ea0de3ce7612aa9ecde0497c3fac514fc" + integrity sha512-GXp4Z/93iF54hfJwlWl52HFiqpmLCeSHFc4HlYpxj5EWHQK6ibFQMLUWTJsdA3eh/erjO4UX+HlEIJ/gHhLg9g== + dependencies: + commander "^11.0.0" + snarkjs "^0.7.5" + +"@zk-kit/binary-merkle-root.circom@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@zk-kit/binary-merkle-root.circom/-/binary-merkle-root.circom-1.0.0.tgz#b91890fb7b87c8a8b57953ee95ec0351eb4fe241" + integrity sha512-yVyx9e+iNYuFvOtKt/f4i+QBhey78VM6K6svwqkgqdi55vnz3MRtXn8dqvnKibNAUEBmnjuwe4SDONgeOQpFEw== + dependencies: + circomlib "^2.0.5" + +"@zk-kit/circuits@^1.0.0-beta": + version "1.0.0-beta" + resolved "https://registry.yarnpkg.com/@zk-kit/circuits/-/circuits-1.0.0-beta.tgz#4f41315839855762dac11b2ba2ce5e58fd8ad1e9" + integrity sha512-ZJBkmm//iFlDB3pQOWAOqSCeUQFYWzI00a980jjbEcuzQgq2PqBxiq36TFxnZHkbrOh39XpeWOoEpCXRkjS2KQ== + dependencies: + circomlib "^2.0.5" + +acorn-walk@^8.1.1: + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.4.1: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== + +addressparser@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746" + integrity sha512-aQX7AISOMM7HFE0iZ3+YnD07oIeJqWGVnJ+ZIKaBZAk03ftmVYVqsGas/rbXKR21n4D/hKCSHypvcyOkds/xzg== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + +ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +asn1.js@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +asn1js@^3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.6.tgz#53e002ebe00c5f7fd77c1c047c3557d7c04dce25" + integrity sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA== + dependencies: + pvtsutils "^1.3.6" + pvutils "^1.1.3" + tslib "^2.8.1" + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== + +async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +b4a@^1.0.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" + integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +bfj@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" + integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== + dependencies: + bluebird "^3.7.2" + check-types "^11.2.3" + hoopy "^0.1.4" + jsonpath "^1.1.1" + tryer "^1.0.1" + +big-integer@^1.6.42, big-integer@^1.6.48: + version "1.6.52" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" + integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +blake-hash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/blake-hash/-/blake-hash-2.0.0.tgz#af184dce641951126d05b7d1c3de3224f538d66e" + integrity sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w== + dependencies: + node-addon-api "^3.0.0" + node-gyp-build "^4.2.2" + readable-stream "^3.6.0" + +blake2b-wasm@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" + integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== + dependencies: + b4a "^1.0.1" + nanoassert "^2.0.0" + +blake2b@^2.1.3: + version "2.1.4" + resolved "https://registry.yarnpkg.com/blake2b/-/blake2b-2.1.4.tgz#817d278526ddb4cd673bfb1af16d1ad61e393ba3" + integrity sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A== + dependencies: + blake2b-wasm "^2.4.0" + nanoassert "^2.0.0" + +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.11.9: + version "4.12.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-stdout@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +buffer-from@^1.0.0, buffer-from@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +chai-as-promised@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.2.tgz#70cd73b74afd519754161386421fb71832c6d041" + integrity sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw== + dependencies: + check-error "^1.0.2" + +chai@4.3.8: + version "4.3.8" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.8.tgz#40c59718ad6928da6629c70496fe990b2bb5b17c" + integrity sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^4.1.2" + get-func-name "^2.0.0" + loupe "^2.3.1" + pathval "^1.1.1" + type-detect "^4.0.5" + +chai@^4.3.6: + version "4.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" + integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.1.0" + +chai@^5.1.2: + version "5.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05" + integrity sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw== + dependencies: + assertion-error "^2.0.1" + check-error "^2.1.1" + deep-eql "^5.0.1" + loupe "^3.1.0" + pathval "^2.0.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.2, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +check-error@^1.0.2, check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + +check-error@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" + integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== + +check-types@^11.2.3: + version "11.2.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" + integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== + +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +ci-info@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.2.0.tgz#cbd21386152ebfe1d56f280a3b5feccbd96764c7" + integrity sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg== "circom-bigint@https://github.com/0xbok/circom-bigint": - version: 0.0.1 - resolution: "circom-bigint@https://github.com/0xbok/circom-bigint.git#commit=4f78084327e993136edb2a8f4bd52ffbb437ab78" + version "0.0.1" + resolved "https://github.com/0xbok/circom-bigint#4f78084327e993136edb2a8f4bd52ffbb437ab78" dependencies: - circomlib: "npm:^2.0.2" - ethers: "npm:^5.5.2" - snarkjs: "npm:^0.4.10" - checksum: 10c0/f8d28c131cb341ec279ced8eed63500cbe0fd30292925e954a20c1f968c1287c8e4d327fdb223d24d69ceb30acb3de676cad3574da9b2fc2764dbcc976ca7d1c - languageName: node - linkType: hard + circomlib "^2.0.2" + ethers "^5.5.2" + snarkjs "^0.4.10" "circom-dl@https://github.com/distributed-lab/circom-dl": - version: 1.0.0 - resolution: "circom-dl@https://github.com/distributed-lab/circom-dl.git#commit=eec96bc7267860301baaf4733667d6e20466cc68" - dependencies: - chai: "npm:^5.1.2" - circom_tester: "npm:^0.0.20" - circomlib: "npm:^2.0.5" - ffjavascript: "npm:^0.3.1" - mocha: "npm:^10.7.3" - path: "npm:^0.12.7" - checksum: 10c0/e5a1788734549128ca3c8175a18f48b89e171052266d1cfd0291dec5a94e547c4a7bc41d5cd5067d24629c54a073af0892531525b2863549d86919853b43dc43 - languageName: node - linkType: hard - -"circom-passport@workspace:.": - version: 0.0.0-use.local - resolution: "circom-passport@workspace:." - dependencies: - "@noble/curves": "npm:^1.4.2" - "@openpassport/zk-email-circuits": "npm:^6.1.2" - "@openpassport/zk-kit-imt": "npm:^0.0.4" - "@openpassport/zk-kit-lean-imt": "npm:^0.0.4" - "@openpassport/zk-kit-smt": "npm:^0.0.1" - "@types/chai": "npm:4.3.11" - "@types/chai-as-promised": "npm:^7.1.6" - "@types/circomlibjs": "npm:^0.1.6" - "@types/mocha": "npm:^10.0.10" - "@types/node": "npm:^20.11.19" - "@types/node-forge": "npm:^1.3.5" - "@yarnpkg/sdks": "npm:^3.2.0" - "@zk-email/circuits": "npm:^6.3.2" - "@zk-email/helpers": "npm:^6.1.1" - "@zk-email/zk-regex-circom": "npm:^1.2.1" - "@zk-kit/binary-merkle-root.circom": "npm:^1.0.0" - "@zk-kit/circuits": "npm:^1.0.0-beta" - asn1: "npm:^0.2.6" - asn1.js: "npm:^5.4.1" - asn1js: "npm:^3.0.5" - chai: "npm:4.3.8" - chai-as-promised: "npm:^7.1.1" - circom-bigint: "https://github.com/0xbok/circom-bigint" - circom-dl: "https://github.com/distributed-lab/circom-dl" - circom_tester: "github:remicolin/circom_tester#main" - circomlib: "npm:^2.0.5" - circomlibjs: "npm:^0.1.7" - crypto: "npm:^1.0.1" - dotenv: "npm:^16.4.7" - elliptic: "npm:^6.5.5" - hash.js: "npm:^1.1.7" - js-sha256: "npm:^0.10.1" - jsrsasign: "npm:^11.1.0" - mocha: "npm:^10.3.0" - modpow: "npm:^1.0.0" - node-forge: "https://github.com/remicolin/forge" - poseidon-lite: "npm:^0.2.0" - prettier: "npm:^3.3.3" - snarkjs: "npm:^0.7.1" - ts-mocha: "npm:^10.0.0" - ts-node: "npm:^10.9.2" - typescript: "npm:^5.3.3" - languageName: unknown - linkType: soft - -"circom_runtime@npm:0.1.20": - version: 0.1.20 - resolution: "circom_runtime@npm:0.1.20" - dependencies: - ffjavascript: "npm:0.2.55" - bin: - calcwit: calcwit.js - checksum: 10c0/fc09e9dc7673e94ff9582f049b8e2c84c3fc64844e4b1287ca255e9ca9d71be706c21059f6b0bbdc06769416aa7bc889e52c5ca60b084b8624a7e4ce3adac348 - languageName: node - linkType: hard - -"circom_runtime@npm:0.1.21": - version: 0.1.21 - resolution: "circom_runtime@npm:0.1.21" - dependencies: - ffjavascript: "npm:0.2.56" - bin: - calcwit: calcwit.js - checksum: 10c0/8488609a2b10767a5f97ef21ed5f522558fd0be5743905575f839d5e09fceac56e9954c7e13394a8e64c0710a12f4c3911962a84fdd8b8b3a669ff180e82237c - languageName: node - linkType: hard - -"circom_runtime@npm:0.1.28": - version: 0.1.28 - resolution: "circom_runtime@npm:0.1.28" - dependencies: - ffjavascript: "npm:0.3.1" - bin: - calcwit: calcwit.js - checksum: 10c0/f2636b3cf553ea37701b527331ff740be7e31d51dc367c7f7bdffb69cf3a0d86c34ce215e4dbc0ad47f9c221c129ab11b111c6814e009c4d469592d73ab3c513 - languageName: node - linkType: hard + version "1.0.0" + resolved "https://github.com/distributed-lab/circom-dl#eec96bc7267860301baaf4733667d6e20466cc68" + dependencies: + chai "^5.1.2" + circom_tester "^0.0.20" + circomlib "^2.0.5" + ffjavascript "^0.3.1" + mocha "^10.7.3" + path "^0.12.7" + +circom_runtime@0.1.20: + version "0.1.20" + resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.20.tgz#14411846448b541bcb71548a23e6d982e7a051a6" + integrity sha512-61AnccA8Ozo5apyDf3hR1JMDDNx1DttKll2bdxVpNjUaTiawDuuYE0VNmRvuoKlcy/WAY+HtD3K994WGrOFhJQ== + dependencies: + ffjavascript "0.2.55" + +circom_runtime@0.1.21: + version "0.1.21" + resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.21.tgz#0ee93bb798b5afb8ecec30725ed14d94587a999b" + integrity sha512-qTkud630B/GK8y76hnOaaS1aNuF6prfV0dTrkeRsiJKnlP1ryQbP2FWLgDOPqn6aKyaPlam+Z+DTbBhkEzh8dA== + dependencies: + ffjavascript "0.2.56" + +circom_runtime@0.1.28: + version "0.1.28" + resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.28.tgz#4ea4606956eeac4499f71f65354f45b54faa93fe" + integrity sha512-ACagpQ7zBRLKDl5xRZ4KpmYIcZDUjOiNRuxvXLqhnnlLSVY1Dbvh73TI853nqoR0oEbihtWmMSjgc5f+pXf/jQ== + dependencies: + ffjavascript "0.3.1" + +circom_tester@^0.0.20: + version "0.0.20" + resolved "https://registry.yarnpkg.com/circom_tester/-/circom_tester-0.0.20.tgz#066227923594c722169646c685e72ba6e1b85939" + integrity sha512-hhtqh3z1+/4RqhbAQxQTzekDvANFNd0M0+D8OdpxM1Ud4yQXoM+1n06AhJ7sULfCUD+LQrmnSjK5GD783KRSxg== + dependencies: + chai "^4.3.6" + ffjavascript "^0.2.60" + fnv-plus "^1.3.1" + r1csfile "^0.0.47" + snarkjs "^0.7.0" + tmp-promise "^3.0.3" + util "^0.12.5" "circom_tester@github:remicolin/circom_tester#main": - version: 0.0.20 - resolution: "circom_tester@https://github.com/remicolin/circom_tester.git#commit=81e963cea5fb91ca31126058c8fdc9aafc9d695d" - dependencies: - chai: "npm:^4.3.6" - ffjavascript: "npm:^0.2.60" - fnv-plus: "npm:^1.3.1" - r1csfile: "npm:^0.0.47" - snarkjs: "npm:^0.7.0" - tmp-promise: "npm:^3.0.3" - util: "npm:^0.12.5" - checksum: 10c0/5918e6ab746b23a03a1b942afe521350c12bbc6ea8be986b611f7ab04e4651e07681859b4c3115139c566fb3c83f62fbe00781bdd6bfab9faa23a020a1a2c094 - languageName: node - linkType: hard - -"circom_tester@npm:^0.0.20": - version: 0.0.20 - resolution: "circom_tester@npm:0.0.20" - dependencies: - chai: "npm:^4.3.6" - ffjavascript: "npm:^0.2.60" - fnv-plus: "npm:^1.3.1" - r1csfile: "npm:^0.0.47" - snarkjs: "npm:^0.7.0" - tmp-promise: "npm:^3.0.3" - util: "npm:^0.12.5" - checksum: 10c0/ef6572385756a53a206c96e580d50c58cbbcf39b3c87e9769b86eef564eebce9322187afa22e7caa50bdd4b1664affc106514acfcc4767557141a91c7dff92bf - languageName: node - linkType: hard - -"circomlib@npm:^2.0.2, circomlib@npm:^2.0.5": - version: 2.0.5 - resolution: "circomlib@npm:2.0.5" - checksum: 10c0/6709e3df9e16c09015e69f9ee01d5fde340b888743a204be27e37880337db61f013f4a6b9573935fb410ddb02a0e89367edf509b89182a0c2e07c8a4777c91a4 - languageName: node - linkType: hard - -"circomlibjs@npm:^0.1.7": - version: 0.1.7 - resolution: "circomlibjs@npm:0.1.7" - dependencies: - blake-hash: "npm:^2.0.0" - blake2b: "npm:^2.1.3" - ethers: "npm:^5.5.1" - ffjavascript: "npm:^0.2.45" - checksum: 10c0/ce618d8d245b6c834a171c0c3b3ba46b9ca7f47eb21b77b59469d100145cc51e820817450ef14897488b883b6038a0cfd85d43c900be4467c543f079a09617ff - languageName: node - linkType: hard - -"clipanion@npm:^4.0.0-rc.2": - version: 4.0.0-rc.4 - resolution: "clipanion@npm:4.0.0-rc.4" - dependencies: - typanion: "npm:^3.8.0" - peerDependencies: - typanion: "*" - checksum: 10c0/047b415b59a5e9777d00690fba563ccc850eca6bf27790a88d1deea3ecc8a89840ae9aed554ff284cc698a9f3f20256e43c25ff4a7c4c90a71e5e7d9dca61dd1 - languageName: node - linkType: hard - -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 - languageName: node - linkType: hard - -"clone-response@npm:^1.0.2": - version: 1.0.3 - resolution: "clone-response@npm:1.0.3" - dependencies: - mimic-response: "npm:^1.0.0" - checksum: 10c0/06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"commander@npm:^11.0.0": - version: 11.1.0 - resolution: "commander@npm:11.1.0" - checksum: 10c0/13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179 - languageName: node - linkType: hard - -"comment-json@npm:^2.2.0": - version: 2.4.2 - resolution: "comment-json@npm:2.4.2" - dependencies: - core-util-is: "npm:^1.0.2" - esprima: "npm:^4.0.1" - has-own-prop: "npm:^2.0.0" - repeat-string: "npm:^1.6.1" - checksum: 10c0/409aafaab6a8ed7d22220540fd8577a2943f22e8a78ae4745c8e4de070b72d0ad67dd62b4e950bcda838125d7bb76f6d874a4a577a5a5e8af8847bf411c800a1 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"core-util-is@npm:^1.0.2": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"crypto@npm:^1.0.1": - version: 1.0.1 - resolution: "crypto@npm:1.0.1" - checksum: 10c0/fcf7dbd68ac5415b7fde7d7208fe203038e92e83e8a8fcf6e86ab4771ce3dd026d6967a990ba56b9d1c771378210814d5c90d907d3739fbd1723d552ad6c8ab8 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.3.4, debug@npm:^4.3.5": - version: 4.4.0 - resolution: "debug@npm:4.4.0" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de - languageName: node - linkType: hard - -"decamelize@npm:^4.0.0": - version: 4.0.0 - resolution: "decamelize@npm:4.0.0" - checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d - languageName: node - linkType: hard - -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: "npm:^3.1.0" - checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e - languageName: node - linkType: hard - -"deep-eql@npm:^4.1.2, deep-eql@npm:^4.1.3": - version: 4.1.4 - resolution: "deep-eql@npm:4.1.4" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 - languageName: node - linkType: hard - -"deep-eql@npm:^5.0.1": - version: 5.0.2 - resolution: "deep-eql@npm:5.0.2" - checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 - languageName: node - linkType: hard - -"deep-is@npm:~0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - -"defer-to-connect@npm:^2.0.0": - version: 2.0.1 - resolution: "defer-to-connect@npm:2.0.1" - checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 - languageName: node - linkType: hard - -"define-data-property@npm:^1.1.4": - version: 1.1.4 - resolution: "define-data-property@npm:1.1.4" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.0.1" - checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 - languageName: node - linkType: hard - -"diff@npm:^3.1.0": - version: 3.5.0 - resolution: "diff@npm:3.5.0" - checksum: 10c0/fc62d5ba9f6d1b8b5833380969037007913d4886997838c247c54ec6934f09ae5a07e17ae28b1f016018149d81df8ad89306f52eac1afa899e0bed49015a64d1 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"diff@npm:^5.1.0, diff@npm:^5.2.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 - languageName: node - linkType: hard - -"dotenv@npm:^16.3.1, dotenv@npm:^16.4.7": - version: 16.4.7 - resolution: "dotenv@npm:16.4.7" - checksum: 10c0/be9f597e36a8daf834452daa1f4cc30e5375a5968f98f46d89b16b983c567398a330580c88395069a77473943c06b877d1ca25b4afafcdd6d4adb549e8293462 - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.2.0" - checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"ejs@npm:^3.1.6": - version: 3.1.10 - resolution: "ejs@npm:3.1.10" - dependencies: - jake: "npm:^10.8.5" - bin: - ejs: bin/cli.js - checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 - languageName: node - linkType: hard - -"elliptic@npm:6.6.1, elliptic@npm:^6.5.5": - version: 6.6.1 - resolution: "elliptic@npm:6.6.1" - dependencies: - bn.js: "npm:^4.11.9" - brorand: "npm:^1.1.0" - hash.js: "npm:^1.0.0" - hmac-drbg: "npm:^1.0.1" - inherits: "npm:^2.0.4" - minimalistic-assert: "npm:^1.0.1" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 10c0/8b24ef782eec8b472053793ea1e91ae6bee41afffdfcb78a81c0a53b191e715cbe1292aa07165958a9bbe675bd0955142560b1a007ffce7d6c765bcaf951a867 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encoding-japanese@npm:2.2.0": - version: 2.2.0 - resolution: "encoding-japanese@npm:2.2.0" - checksum: 10c0/9d1f10dde16f59da8a8a1a04499dffa3e9926b0dbd7dfab8054570527b7e6de30c47e828851f42d2727af31586ec8049a84eeae593ad8b22eea10921fd269798 - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"end-of-stream@npm:^1.1.0": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" - dependencies: - once: "npm:^1.4.0" - checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": - version: 3.2.0 - resolution: "escalade@npm:3.2.0" - checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"escodegen@npm:^1.8.1": - version: 1.14.3 - resolution: "escodegen@npm:1.14.3" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^4.2.0" - esutils: "npm:^2.0.2" - optionator: "npm:^0.8.1" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/30d337803e8f44308c90267bf6192399e4b44792497c77a7506b68ab802ba6a48ebbe1ce77b219aba13dfd2de5f5e1c267e35be1ed87b2a9c3315e8b283e302a - languageName: node - linkType: hard - -"esprima@npm:1.2.2": - version: 1.2.2 - resolution: "esprima@npm:1.2.2" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/a5a8fd359651dd8228736d7352eb7636c7765e1ec6ff8fff3f6641622039a9f51fa501969a1a4777ba4187cf9942a8d7e0367dccaff768b782bdb1a71d046abf - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"estraverse@npm:^4.2.0": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"ethers@npm:^5.5.1, ethers@npm:^5.5.2": - version: 5.8.0 - resolution: "ethers@npm:5.8.0" - dependencies: - "@ethersproject/abi": "npm:5.8.0" - "@ethersproject/abstract-provider": "npm:5.8.0" - "@ethersproject/abstract-signer": "npm:5.8.0" - "@ethersproject/address": "npm:5.8.0" - "@ethersproject/base64": "npm:5.8.0" - "@ethersproject/basex": "npm:5.8.0" - "@ethersproject/bignumber": "npm:5.8.0" - "@ethersproject/bytes": "npm:5.8.0" - "@ethersproject/constants": "npm:5.8.0" - "@ethersproject/contracts": "npm:5.8.0" - "@ethersproject/hash": "npm:5.8.0" - "@ethersproject/hdnode": "npm:5.8.0" - "@ethersproject/json-wallets": "npm:5.8.0" - "@ethersproject/keccak256": "npm:5.8.0" - "@ethersproject/logger": "npm:5.8.0" - "@ethersproject/networks": "npm:5.8.0" - "@ethersproject/pbkdf2": "npm:5.8.0" - "@ethersproject/properties": "npm:5.8.0" - "@ethersproject/providers": "npm:5.8.0" - "@ethersproject/random": "npm:5.8.0" - "@ethersproject/rlp": "npm:5.8.0" - "@ethersproject/sha2": "npm:5.8.0" - "@ethersproject/signing-key": "npm:5.8.0" - "@ethersproject/solidity": "npm:5.8.0" - "@ethersproject/strings": "npm:5.8.0" - "@ethersproject/transactions": "npm:5.8.0" - "@ethersproject/units": "npm:5.8.0" - "@ethersproject/wallet": "npm:5.8.0" - "@ethersproject/web": "npm:5.8.0" - "@ethersproject/wordlists": "npm:5.8.0" - checksum: 10c0/8f187bb6af3736fbafcb613d8fb5be31fe7667a1bae480dd0a4c31b597ed47e0693d552adcababcb05111da39a059fac22e44840ce1671b1cc972de22d6d85d9 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.2": - version: 3.3.3 - resolution: "fast-glob@npm:3.3.3" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.8" - checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe - languageName: node - linkType: hard - -"fast-levenshtein@npm:~2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fastfile@npm:0.0.20": - version: 0.0.20 - resolution: "fastfile@npm:0.0.20" - checksum: 10c0/ca91f5658eec188c7ba3b910d7d87ed90d4d7ca92852fa14dd8c6d4ae4c2149b8147a30bbcafe727bf12f0ebb25c585a6cf0a112a3957b761ec913f8299fdd4f - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.19.1 - resolution: "fastq@npm:1.19.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 - languageName: node - linkType: hard - -"fdir@npm:^6.4.3": - version: 6.4.3 - resolution: "fdir@npm:6.4.3" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 10c0/d13c10120e9625adf21d8d80481586200759928c19405a816b77dd28eaeb80e7c59c5def3e2941508045eb06d34eb47fad865ccc8bf98e6ab988bb0ed160fb6f - languageName: node - linkType: hard - -"ffjavascript@npm:0.2.55": - version: 0.2.55 - resolution: "ffjavascript@npm:0.2.55" - dependencies: - big-integer: "npm:^1.6.48" - wasmbuilder: "npm:^0.0.12" - wasmcurves: "npm:0.1.0" - web-worker: "npm:^1.2.0" - checksum: 10c0/84e5b0d6acc5b7505cd46ba7bffba0f614d564f3c0296650f5e5769b601ff52e24bd7b3c0135e767a46b0db8973887a349c863f080d0affce10b0a9a768133f7 - languageName: node - linkType: hard - -"ffjavascript@npm:0.2.56": - version: 0.2.56 - resolution: "ffjavascript@npm:0.2.56" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.0" - web-worker: "npm:^1.2.0" - checksum: 10c0/62cd9e8a2a2f44eb210d3e7a6b35618a5c9779192a8ed8d614f5e8b8c7e69cd9810d1cb2b569a47423026e4bbff4c2a88096234a4e536e60d3d5f7fefdeb276e - languageName: node - linkType: hard - -"ffjavascript@npm:0.2.60": - version: 0.2.60 - resolution: "ffjavascript@npm:0.2.60" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:^1.2.0" - checksum: 10c0/bb36449c1e864fc9ecae70ea2dca4a43dfe6593dc1591a23b55d52f5d16c9c6578c50cb9749f3e6adf08226236a28dd13ce0567407a7542446c2c3aeec1e15fb - languageName: node - linkType: hard - -"ffjavascript@npm:0.3.0": - version: 0.3.0 - resolution: "ffjavascript@npm:0.3.0" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/2899db6ab67162eb9a7a052c420d31b0e15c6fd12bc738c48559e0a926649f1d11afe9cfa2611ff13f816b2fd9fa047fb11f6f8682f0dea4f84c4dd9f5dc7c3c - languageName: node - linkType: hard - -"ffjavascript@npm:0.3.1, ffjavascript@npm:^0.3.0, ffjavascript@npm:^0.3.1": - version: 0.3.1 - resolution: "ffjavascript@npm:0.3.1" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/6928afe37cdbe9a88a9901a37d0abbdcfa61a8533517cb86e2584bf2701eaa10ce2bfa1d417499042f9b10b79bc058ec0ecc14d3fdc6cb55d21bfcac3d1c4521 - languageName: node - linkType: hard - -"ffjavascript@npm:^0.2.45, ffjavascript@npm:^0.2.48, ffjavascript@npm:^0.2.60": - version: 0.2.63 - resolution: "ffjavascript@npm:0.2.63" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/875f0b52c89ed1822b4da7449efa149f7ed8550ede6c1d0308b2f854e98867a8f1546db3486427b9fd98da1cc236c1b533cfb11e9938b0ab708c5a77da811299 - languageName: node - linkType: hard - -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat@npm:^5.0.2": - version: 5.0.2 - resolution: "flat@npm:5.0.2" - bin: - flat: cli.js - checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe - languageName: node - linkType: hard - -"fnv-plus@npm:^1.3.1": - version: 1.3.1 - resolution: "fnv-plus@npm:1.3.1" - checksum: 10c0/770b253629c8e27cff3d94e68fbb94069daeac2b1df833bb03afb280c869ad43b40ecec0fe3a9b6745fa8e549b6c9b4bb6019311cf6d100b8df38497a3d2c258 - languageName: node - linkType: hard - -"for-each@npm:^0.3.5": - version: 0.3.5 - resolution: "for-each@npm:0.3.5" - dependencies: - is-callable: "npm:^1.2.7" - checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.3.1 - resolution: "foreground-child@npm:3.3.1" - dependencies: - cross-spawn: "npm:^7.0.6" - signal-exit: "npm:^4.0.1" - checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde - languageName: node - linkType: hard - -"get-func-name@npm:^2.0.0, get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.3.0": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a - languageName: node - linkType: hard - -"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: "npm:^1.0.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c - languageName: node - linkType: hard - -"get-stream@npm:^5.1.0": - version: 5.2.0 - resolution: "get-stream@npm:5.2.0" - dependencies: - pump: "npm:^3.0.0" - checksum: 10c0/43797ffd815fbb26685bf188c8cfebecb8af87b3925091dd7b9a9c915993293d78e3c9e1bce125928ff92f2d0796f3889b92b5ec6d58d1041b574682132e0a80 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob@npm:^10.2.2": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e - languageName: node - linkType: hard - -"glob@npm:^8.1.0": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f - languageName: node - linkType: hard - -"gopd@npm:^1.0.1, gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead - languageName: node - linkType: hard - -"got@npm:^11.7.0": - version: 11.8.6 - resolution: "got@npm:11.8.6" - dependencies: - "@sindresorhus/is": "npm:^4.0.0" - "@szmarczak/http-timer": "npm:^4.0.5" - "@types/cacheable-request": "npm:^6.0.1" - "@types/responselike": "npm:^1.0.0" - cacheable-lookup: "npm:^5.0.3" - cacheable-request: "npm:^7.0.2" - decompress-response: "npm:^6.0.0" - http2-wrapper: "npm:^1.0.0-beta.5.2" - lowercase-keys: "npm:^2.0.0" - p-cancelable: "npm:^2.0.0" - responselike: "npm:^2.0.0" - checksum: 10c0/754dd44877e5cf6183f1e989ff01c648d9a4719e357457bd4c78943911168881f1cfb7b2cb15d885e2105b3ad313adb8f017a67265dd7ade771afdb261ee8cb1 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.2.6": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 10c0/108415fb07ac913f17040dc336607772fcea68c7f495ef91887edddb0b0f5ff7bc1d1ab181b125ecb2f0505669ef12c9a178a3bbd2dd8e042d8c5f1d7c90331a - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-own-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "has-own-prop@npm:2.0.0" - checksum: 10c0/2745497283d80228b5c5fbb8c63ab1029e604bce7db8d4b36255e427b3695b2153dc978b176674d0dd2a23f132809e04d7ef41fefc0ab85870a5caa918c5c0d9 - languageName: node - linkType: hard - -"has-property-descriptors@npm:^1.0.2": - version: 1.0.2 - resolution: "has-property-descriptors@npm:1.0.2" - dependencies: - es-define-property: "npm:^1.0.0" - checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.2": - version: 1.0.2 - resolution: "has-tostringtag@npm:1.0.2" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c - languageName: node - linkType: hard - -"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": - version: 1.1.7 - resolution: "hash.js@npm:1.1.7" - dependencies: - inherits: "npm:^2.0.3" - minimalistic-assert: "npm:^1.0.1" - checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 - languageName: node - linkType: hard - -"hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 - languageName: node - linkType: hard - -"he@npm:^1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 - languageName: node - linkType: hard - -"hmac-drbg@npm:^1.0.1": - version: 1.0.1 - resolution: "hmac-drbg@npm:1.0.1" - dependencies: - hash.js: "npm:^1.0.3" - minimalistic-assert: "npm:^1.0.0" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d - languageName: node - linkType: hard - -"hoopy@npm:^0.1.4": - version: 0.1.4 - resolution: "hoopy@npm:0.1.4" - checksum: 10c0/4ef749e1a13d46cae52014b9de452635637086c333fc67245369a1262dee806386354a4ed845d507e59e5a0d3aef55246c0ec66f5bf2908d40eb77e7dff2a254 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - -"http2-wrapper@npm:^1.0.0-beta.5.2": - version: 1.0.3 - resolution: "http2-wrapper@npm:1.0.3" - dependencies: - quick-lru: "npm:^5.1.1" - resolve-alpn: "npm:^1.0.0" - checksum: 10c0/6a9b72a033e9812e1476b9d776ce2f387bc94bc46c88aea0d5dab6bd47d0a539b8178830e77054dd26d1142c866d515a28a4dc7c3ff4232c88ff2ebe4f5d12d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"immediate@npm:~3.0.5": - version: 3.0.6 - resolution: "immediate@npm:3.0.6" - checksum: 10c0/f8ba7ede69bee9260241ad078d2d535848745ff5f6995c7c7cb41cfdc9ccc213f66e10fa5afb881f90298b24a3f7344b637b592beb4f54e582770cdce3f1f039 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"inherits@npm:2.0.3": - version: 2.0.3 - resolution: "inherits@npm:2.0.3" - checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - languageName: node - linkType: hard - -"is-arguments@npm:^1.0.4": - version: 1.2.0 - resolution: "is-arguments@npm:1.2.0" - dependencies: - call-bound: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/6377344b31e9fcb707c6751ee89b11f132f32338e6a782ec2eac9393b0cbd32235dad93052998cda778ee058754860738341d8114910d50ada5615912bb929fc - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-callable@npm:^1.2.7": - version: 1.2.7 - resolution: "is-callable@npm:1.2.7" - checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-generator-function@npm:^1.0.7": - version: 1.1.0 - resolution: "is-generator-function@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.3" - get-proto: "npm:^1.0.0" - has-tostringtag: "npm:^1.0.2" - safe-regex-test: "npm:^1.1.0" - checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-plain-obj@npm:^2.1.0": - version: 2.1.0 - resolution: "is-plain-obj@npm:2.1.0" - checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 - languageName: node - linkType: hard - -"is-regex@npm:^1.2.1": - version: 1.2.1 - resolution: "is-regex@npm:1.2.1" - dependencies: - call-bound: "npm:^1.0.2" - gopd: "npm:^1.2.0" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.3": - version: 1.1.15 - resolution: "is-typed-array@npm:1.1.15" - dependencies: - which-typed-array: "npm:^1.1.16" - checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - -"jake@npm:^10.8.5": - version: 10.9.2 - resolution: "jake@npm:10.9.2" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 - languageName: node - linkType: hard - -"js-sha256@npm:^0.10.1": - version: 0.10.1 - resolution: "js-sha256@npm:0.10.1" - checksum: 10c0/c63119f7c7f8afc24bfa24c1a6b51147c3b562316b6341a375a1cef88569340ec0dbf2cda429ecf472cabfbae47a0b93a0cb82b8730883de066593c3f816c53b - languageName: node - linkType: hard - -"js-sha3@npm:0.8.0, js-sha3@npm:^0.8.0": - version: 0.8.0 - resolution: "js-sha3@npm:0.8.0" - checksum: 10c0/43a21dc7967c871bd2c46cb1c2ae97441a97169f324e509f382d43330d8f75cf2c96dba7c806ab08a425765a9c847efdd4bffbac2d99c3a4f3de6c0218f40533 - languageName: node - linkType: hard - -"js-yaml@npm:^3.10.0": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"jsbn@npm:^0.1.0": - version: 0.1.1 - resolution: "jsbn@npm:0.1.1" - checksum: 10c0/e046e05c59ff880ee4ef68902dbdcb6d2f3c5d60c357d4d68647dc23add556c31c0e5f41bdb7e69e793dd63468bd9e085da3636341048ef577b18f5b713877c0 - languageName: node - linkType: hard - -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - -"jsonpath@npm:^1.1.1": - version: 1.1.1 - resolution: "jsonpath@npm:1.1.1" - dependencies: - esprima: "npm:1.2.2" - static-eval: "npm:2.0.2" - underscore: "npm:1.12.1" - checksum: 10c0/4fea3f83bcb4df08c32090ba8a0d1a6d26244f6d19c4296f9b58caa01eeb7de0f8347eba40077ceee2f95acc69d032b0b48226d350339063ba580e87983f6dec - languageName: node - linkType: hard - -"jsrsasign@npm:^11.1.0": - version: 11.1.0 - resolution: "jsrsasign@npm:11.1.0" - checksum: 10c0/a1c819d5da0eb00e1fdbb3cbbc360e0592f16726bab3f72aba51d3f660c9c486212112b3b4202eb5c233904f69c67821d91ed39ebd64ad4c3500e4dc085ca99c - languageName: node - linkType: hard - -"keyv@npm:^4.0.0": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" - dependencies: - json-buffer: "npm:3.0.1" - checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e - languageName: node - linkType: hard - -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - checksum: 10c0/e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 - languageName: node - linkType: hard - -"libbase64@npm:1.3.0": - version: 1.3.0 - resolution: "libbase64@npm:1.3.0" - checksum: 10c0/4ece76ce09fa389d0c578c83a121c16452916521b177f50c3e8637dd9919170c96c12e1c7de63b1c88da8e5aa7e7ab574c26d18f1f64666f46b358b4b5873c8b - languageName: node - linkType: hard - -"libmime@npm:^5.2.1": - version: 5.3.6 - resolution: "libmime@npm:5.3.6" - dependencies: - encoding-japanese: "npm:2.2.0" - iconv-lite: "npm:0.6.3" - libbase64: "npm:1.3.0" - libqp: "npm:2.1.1" - checksum: 10c0/54afa19f3500fe14b7562fd055518f1d82bf0f1076690a9b097d1a126322de7425d6d29aa9db9b51bc41b2ed16eacff65d7f30cd3622f7010f60993dfc79041e - languageName: node - linkType: hard - -"libqp@npm:2.1.1": - version: 2.1.1 - resolution: "libqp@npm:2.1.1" - checksum: 10c0/6e78f0676cd2424b3ddbf3273ab8539871299310dba433b7e2ec10a41830acecb4d074ea8b78b706dea349996f011ce519d92f81ede712c4824a2dd402aa376c - languageName: node - linkType: hard - -"lie@npm:3.1.1": - version: 3.1.1 - resolution: "lie@npm:3.1.1" - dependencies: - immediate: "npm:~3.0.5" - checksum: 10c0/d62685786590351b8e407814acdd89efe1cb136f05cb9236c5a97b2efdca1f631d2997310ad2d565c753db7596799870140e4777c9c9b8c44a0f6bf42d1804a1 - languageName: node - linkType: hard - -"localforage@npm:^1.10.0": - version: 1.10.0 - resolution: "localforage@npm:1.10.0" - dependencies: - lie: "npm:3.1.1" - checksum: 10c0/00f19f1f97002e6721587ed5017f502d58faf80dae567d5065d4d1ee0caf0762f40d2e2dba7f0ef7d3f14ee6203242daae9ecad97359bfc10ecff36df11d85a3 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"lodash@npm:^4.17.15": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 - languageName: node - linkType: hard - -"logplease@npm:^1.2.15": - version: 1.2.15 - resolution: "logplease@npm:1.2.15" - checksum: 10c0/e835ce89895c9335460a9b4b3a79f9f4161879f5cd49efc249f8af2a128403e391c177bf55ca7207fd6687aa16e376f9a96ce58dc639acc6b4b8b00d6225323c - languageName: node - linkType: hard - -"loupe@npm:^2.3.1, loupe@npm:^2.3.6": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 - languageName: node - linkType: hard - -"loupe@npm:^3.1.0": - version: 3.1.3 - resolution: "loupe@npm:3.1.3" - checksum: 10c0/f5dab4144254677de83a35285be1b8aba58b3861439ce4ba65875d0d5f3445a4a496daef63100ccf02b2dbc25bf58c6db84c9cb0b96d6435331e9d0a33b48541 - languageName: node - linkType: hard - -"lowercase-keys@npm:^2.0.0": - version: 2.0.0 - resolution: "lowercase-keys@npm:2.0.0" - checksum: 10c0/f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb - languageName: node - linkType: hard - -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" - dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 - languageName: node - linkType: hard - -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f - languageName: node - linkType: hard - -"merge2@npm:^1.3.0": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.8": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - -"mimic-response@npm:^1.0.0": - version: 1.0.1 - resolution: "mimic-response@npm:1.0.1" - checksum: 10c0/c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa - languageName: node - linkType: hard - -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 - languageName: node - linkType: hard - -"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd - languageName: node - linkType: hard - -"minimalistic-crypto-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-crypto-utils@npm:1.0.1" - checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 - languageName: node - linkType: hard - -"minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed - languageName: node - linkType: hard - -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 - languageName: node - linkType: hard - -"minizlib@npm:^2.1.1": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 - languageName: node - linkType: hard - -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 - languageName: node - linkType: hard - -"mkdirp@npm:^0.5.1": - version: 0.5.6 - resolution: "mkdirp@npm:0.5.6" - dependencies: - minimist: "npm:^1.2.6" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d - languageName: node - linkType: hard - -"mocha@npm:^10.3.0, mocha@npm:^10.7.3": - version: 10.8.2 - resolution: "mocha@npm:10.8.2" - dependencies: - ansi-colors: "npm:^4.1.3" - browser-stdout: "npm:^1.3.1" - chokidar: "npm:^3.5.3" - debug: "npm:^4.3.5" - diff: "npm:^5.2.0" - escape-string-regexp: "npm:^4.0.0" - find-up: "npm:^5.0.0" - glob: "npm:^8.1.0" - he: "npm:^1.2.0" - js-yaml: "npm:^4.1.0" - log-symbols: "npm:^4.1.0" - minimatch: "npm:^5.1.6" - ms: "npm:^2.1.3" - serialize-javascript: "npm:^6.0.2" - strip-json-comments: "npm:^3.1.1" - supports-color: "npm:^8.1.1" - workerpool: "npm:^6.5.1" - yargs: "npm:^16.2.0" - yargs-parser: "npm:^20.2.9" - yargs-unparser: "npm:^2.0.0" - bin: - _mocha: bin/_mocha - mocha: bin/mocha.js - checksum: 10c0/1f786290a32a1c234f66afe2bfcc68aa50fe9c7356506bd39cca267efb0b4714a63a0cb333815578d63785ba2fba058bf576c2512db73997c0cae0d659a88beb - languageName: node - linkType: hard - -"modpow@npm:^1.0.0": - version: 1.0.0 - resolution: "modpow@npm:1.0.0" - dependencies: - jsbn: "npm:^0.1.0" - checksum: 10c0/49dfef86c5e0aea6b9bd0c9d9cf8b05cd29840b50d8e3a77cee90747b1dadb061b6bdc687d4950495dc4ce843a90fb15dbe14037060e6de7ab91ca712ff61a3e - languageName: node - linkType: hard - -"ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"nanoassert@npm:^2.0.0": - version: 2.0.0 - resolution: "nanoassert@npm:2.0.0" - checksum: 10c0/fb21ce924a1ec8e8fac415a00fdd1c086c08bc185d0377e675b1d379347340fbf4a1523d8d2330e5328a542400cd7122599b6c6e21ce2ea40a9f11d68dfbfa1b - languageName: node - linkType: hard - -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b - languageName: node - linkType: hard - -"node-addon-api@npm:^3.0.0": - version: 3.2.1 - resolution: "node-addon-api@npm:3.2.1" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/41f21c9d12318875a2c429befd06070ce367065a3ef02952cfd4ea17ef69fa14012732f510b82b226e99c254da8d671847ea018cad785f839a5366e02dd56302 - languageName: node - linkType: hard + version "0.0.20" + resolved "https://codeload.github.com/remicolin/circom_tester/tar.gz/81e963cea5fb91ca31126058c8fdc9aafc9d695d" + dependencies: + chai "^4.3.6" + ffjavascript "^0.2.60" + fnv-plus "^1.3.1" + r1csfile "^0.0.47" + snarkjs "^0.7.0" + tmp-promise "^3.0.3" + util "^0.12.5" + +circomlib@^2.0.2, circomlib@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/circomlib/-/circomlib-2.0.5.tgz#183c703e53ed7d011811842dbeeeb9819f4cc1d6" + integrity sha512-O7NQ8OS+J4eshBuoy36z/TwQU0YHw8W3zxZcs4hVwpEll3e4hDm3mgkIPqItN8FDeLEKZFK3YeT/+k8TiLF3/A== + +circomlibjs@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/circomlibjs/-/circomlibjs-0.1.7.tgz#9f5a7d9a23323744b11ee456b05b0cd81f48b554" + integrity sha512-GRAUoAlKAsiiTa+PA725G9RmEmJJRc8tRFxw/zKktUxlQISGznT4hH4ESvW8FNTsrGg/nNd06sGP/Wlx0LUHVg== + dependencies: + blake-hash "^2.0.0" + blake2b "^2.1.3" + ethers "^5.5.1" + ffjavascript "^0.2.45" + +clipanion@^4.0.0-rc.2: + version "4.0.0-rc.4" + resolved "https://registry.yarnpkg.com/clipanion/-/clipanion-4.0.0-rc.4.tgz#7191a940e47ef197e5f18c9cbbe419278b5f5903" + integrity sha512-CXkMQxU6s9GklO/1f714dkKBMu1lopS1WFF0B8o4AxPykR1hpozxSiUZ5ZUeBjfPgCWqbcNOtZVFhB8Lkfp1+Q== + dependencies: + typanion "^3.8.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + +comment-json@^2.2.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-2.4.2.tgz#2111c065864338ad8d98ae01eecde9e02cd2f549" + integrity sha512-T+iXox779qsqneMYx/x5BZyz4xjCeQRmuNVzz8tko7qZUs3MlzpA3RAs+O1XsgcKToNBMIvfVzafGOeiU7RggA== + dependencies: + core-util-is "^1.0.2" + esprima "^4.0.1" + has-own-prop "^2.0.0" + repeat-string "^1.6.1" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +core-util-is@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037" + integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig== + +debug@^4.3.5: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== + dependencies: + ms "^2.1.3" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-eql@^4.1.2, deep-eql@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" + integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== + dependencies: + type-detect "^4.0.0" + +deep-eql@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" + integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +diff@^3.1.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diff@^5.1.0, diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +dotenv@^16.3.1, dotenv@^16.4.7: + version "16.5.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.5.0.tgz#092b49f25f808f020050051d1ff258e404c78692" + integrity sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg== + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +ejs@^3.1.6: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +elliptic@6.6.1, elliptic@^6.5.5: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encoding-japanese@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/encoding-japanese/-/encoding-japanese-2.2.0.tgz#0ef2d2351250547f432a2dd155453555c16deb59" + integrity sha512-EuJWwlHPZ1LbADuKTClvHtwbaFn4rOD+dRAbWysqEOXRc2Uui0hJInNJrsdH0c+OhJA4nrCBdSkW4DD5YxAo6A== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" + integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +ethers@^5.5.1, ethers@^5.5.2: + version "5.8.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.8.0.tgz#97858dc4d4c74afce83ea7562fe9493cedb4d377" + integrity sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg== + dependencies: + "@ethersproject/abi" "5.8.0" + "@ethersproject/abstract-provider" "5.8.0" + "@ethersproject/abstract-signer" "5.8.0" + "@ethersproject/address" "5.8.0" + "@ethersproject/base64" "5.8.0" + "@ethersproject/basex" "5.8.0" + "@ethersproject/bignumber" "5.8.0" + "@ethersproject/bytes" "5.8.0" + "@ethersproject/constants" "5.8.0" + "@ethersproject/contracts" "5.8.0" + "@ethersproject/hash" "5.8.0" + "@ethersproject/hdnode" "5.8.0" + "@ethersproject/json-wallets" "5.8.0" + "@ethersproject/keccak256" "5.8.0" + "@ethersproject/logger" "5.8.0" + "@ethersproject/networks" "5.8.0" + "@ethersproject/pbkdf2" "5.8.0" + "@ethersproject/properties" "5.8.0" + "@ethersproject/providers" "5.8.0" + "@ethersproject/random" "5.8.0" + "@ethersproject/rlp" "5.8.0" + "@ethersproject/sha2" "5.8.0" + "@ethersproject/signing-key" "5.8.0" + "@ethersproject/solidity" "5.8.0" + "@ethersproject/strings" "5.8.0" + "@ethersproject/transactions" "5.8.0" + "@ethersproject/units" "5.8.0" + "@ethersproject/wallet" "5.8.0" + "@ethersproject/web" "5.8.0" + "@ethersproject/wordlists" "5.8.0" + +fast-glob@^3.2.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastfile@0.0.20: + version "0.0.20" + resolved "https://registry.yarnpkg.com/fastfile/-/fastfile-0.0.20.tgz#794a143d58cfda2e24c298e5ef619c748c8a1879" + integrity sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA== + +fastq@^1.6.0: + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== + dependencies: + reusify "^1.0.4" + +ffjavascript@0.2.55: + version "0.2.55" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.55.tgz#fb4bc53265501526a2916d6a20bbbc06d113d7be" + integrity sha512-8X0FCIPOWiK6DTWh3pnE3O6D6nIQsirStAXpWMzRDnoDX7SEnDX4I28aVhwjL7L35XS1vy2AU7zc0UCGYxdLjw== + dependencies: + big-integer "^1.6.48" + wasmbuilder "^0.0.12" + wasmcurves "0.1.0" + web-worker "^1.2.0" + +ffjavascript@0.2.56: + version "0.2.56" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.56.tgz#3509f98fcbd3e44ea93cd23519071b76d6eae433" + integrity sha512-em6G5Lrj7ucIqj4TYEgyoHs/j99Urwwqa4+YxEVY2hggnpRimVj+noX5pZQTxI1pvtiekZI4rG65JBf0xraXrg== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.0" + web-worker "^1.2.0" + +ffjavascript@0.2.60: + version "0.2.60" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.60.tgz#4d8ae613d6bf4e98b3cc29ba10c626f5853854cf" + integrity sha512-T/9bnEL5xAZRDbQoEMf+pM9nrhK+C3JyZNmqiWub26EQorW7Jt+jR54gpqDhceA4Nj0YctPQwYnl8xa52/A26A== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "^1.2.0" + +ffjavascript@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.0.tgz#442cd8fbb1ee4cbb1be9d26fd7b2951a1ea45d6a" + integrity sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +ffjavascript@0.3.1, ffjavascript@^0.3.0, ffjavascript@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.1.tgz#3761bbb3f4a67b58a94a463080272bf6b5877b03" + integrity sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +ffjavascript@^0.2.45, ffjavascript@^0.2.48, ffjavascript@^0.2.60: + version "0.2.63" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.63.tgz#0c1216a1f123dc9181df69e144473704d2f115eb" + integrity sha512-dBgdsfGks58b66JnUZeZpGxdMIDQ4QsD3VYlRJyFVrKQHb2kJy4R2gufx5oetrTxXPT+aEjg0dOvOLg1N0on4A== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +fnv-plus@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/fnv-plus/-/fnv-plus-1.3.1.tgz#c34cb4572565434acb08ba257e4044ce2b006d67" + integrity sha512-Gz1EvfOneuFfk4yG458dJ3TLJ7gV19q3OM/vVvvHf7eT02Hm1DleB4edsia6ahbKgAYxO9gvyQ1ioWZR+a00Yw== + +for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.0, get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-intrinsic@^1.2.4, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +got@^11.7.0: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-own-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" + integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== + +has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +is-arguments@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.7: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +is-typed-array@^1.1.3: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +js-sha256@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.10.1.tgz#b40104ba1368e823fdd5f41b66b104b15a0da60d" + integrity sha512-5obBtsz9301ULlsgggLg542s/jqtddfOpV5KJc4hajc9JV8GeY2gZHSVpYBn4nWqAUTJ9v+xwtbJ1mIBgIH5Vw== + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-yaml@^3.10.0: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +jsonpath@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" + integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== + dependencies: + esprima "1.2.2" + static-eval "2.0.2" + underscore "1.12.1" + +jsrsasign@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-11.1.0.tgz#195e788102731102fbf3e36b33fde28936f4bf57" + integrity sha512-Ov74K9GihaK9/9WncTe1mPmvrO7Py665TUfUKvraXBpu+xcTWitrtuOwcjf4KMU9maPaYn0OuaWy0HOzy/GBXg== + +keyv@^4.0.0: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +libbase64@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/libbase64/-/libbase64-1.3.0.tgz#053314755a05d2e5f08bbfc48d0290e9322f4406" + integrity sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg== + +libmime@^5.2.1: + version "5.3.6" + resolved "https://registry.yarnpkg.com/libmime/-/libmime-5.3.6.tgz#e6dfc655b6b4614bad90e8e65817957903b56580" + integrity sha512-j9mBC7eiqi6fgBPAGvKCXJKJSIASanYF4EeA4iBzSG0HxQxmXnR3KbyWqTn4CwsKSebqCv2f5XZfAO6sKzgvwA== + dependencies: + encoding-japanese "2.2.0" + iconv-lite "0.6.3" + libbase64 "1.3.0" + libqp "2.1.1" + +libqp@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/libqp/-/libqp-2.1.1.tgz#f1be767a58f966f500597997cab72cfc1e17abfa" + integrity sha512-0Wd+GPz1O134cP62YU2GTOPNA7Qgl09XwCqM5zpBv87ERCXdfDtyKXvV7c9U22yWJh44QZqBocFnXN11K96qow== + +lie@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== + dependencies: + immediate "~3.0.5" + +localforage@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" + integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== + dependencies: + lie "3.1.1" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash@^4.17.15: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +logplease@^1.2.15: + version "1.2.15" + resolved "https://registry.yarnpkg.com/logplease/-/logplease-1.2.15.tgz#3da442e93751a5992cc19010a826b08d0293c48a" + integrity sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA== + +loupe@^2.3.1, loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + +loupe@^3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.3.tgz#042a8f7986d77f3d0f98ef7990a2b2fef18b0fd2" + integrity sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.2, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1, minimatch@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mocha@^10.3.0, mocha@^10.7.3: + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" + +modpow@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/modpow/-/modpow-1.0.0.tgz#377e5541472e855c82d733c551294da74ecfe73d" + integrity sha512-ohpGZH3RvdiZ6BPmjbMa1jqnDjwS0s+u0a6Tb2CiJUPkOR5cNIZRdhwmUwxqaOp2GTDJmO4OIsBqm553PfQo3w== + dependencies: + jsbn "^0.1.0" + +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoassert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" + integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== + +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== "node-forge@https://github.com/remicolin/forge": - version: 1.3.2-0 - resolution: "node-forge@https://github.com/remicolin/forge.git#commit=17a11a632dd0e50343b3b8393245a2696f78afbb" - checksum: 10c0/e3f02cc45b48b90ab8715c3a03b0711559366120494a93b446da46dea7fad1c63c0e22a0162849e81dd94fcb1e5ee672e9b38aad67687c5044fd1ffb1ed631a7 - languageName: node - linkType: hard - -"node-forge@npm:^1.3.1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 - languageName: node - linkType: hard - -"node-gyp-build@npm:^4.2.2": - version: 4.8.4 - resolution: "node-gyp-build@npm:4.8.4" - bin: - node-gyp-build: bin.js - node-gyp-build-optional: optional.js - node-gyp-build-test: build-test.js - checksum: 10c0/444e189907ece2081fe60e75368784f7782cfddb554b60123743dfb89509df89f1f29c03bbfa16b3a3e0be3f48799a4783f487da6203245fa5bed239ba7407e1 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 11.2.0 - resolution: "node-gyp@npm:11.2.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.4.3" - tinyglobby: "npm:^0.2.12" - which: "npm:^5.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 - languageName: node - linkType: hard - -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: "npm:^3.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"normalize-url@npm:^6.0.1": - version: 6.1.0 - resolution: "normalize-url@npm:6.1.0" - checksum: 10c0/95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 - languageName: node - linkType: hard - -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: "npm:~0.1.3" - fast-levenshtein: "npm:~2.0.6" - levn: "npm:~0.3.0" - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - word-wrap: "npm:~1.2.3" - checksum: 10c0/ad7000ea661792b3ec5f8f86aac28895850988926f483b5f308f59f4607dfbe24c05df2d049532ee227c040081f39401a268cf7bbf3301512f74c4d760dc6dd8 - languageName: node - linkType: hard - -"p-cancelable@npm:^2.0.0": - version: 2.1.1 - resolution: "p-cancelable@npm:2.1.1" - checksum: 10c0/8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01 - languageName: node - linkType: hard - -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b - languageName: node - linkType: hard - -"pako@npm:^2.1.0": - version: 2.1.0 - resolution: "pako@npm:2.1.0" - checksum: 10c0/8e8646581410654b50eb22a5dfd71159cae98145bd5086c9a7a816ec0370b5f72b4648d08674624b3870a521e6a3daffd6c2f7bc00fdefc7063c9d8232ff5116 - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - languageName: node - linkType: hard - -"path@npm:^0.12.7": - version: 0.12.7 - resolution: "path@npm:0.12.7" - dependencies: - process: "npm:^0.11.1" - util: "npm:^0.10.3" - checksum: 10c0/f795ce5438a988a590c7b6dfd450ec9baa1c391a8be4c2dea48baa6e0f5b199e56cd83b8c9ebf3991b81bea58236d2c32bdafe2c17a2e70c3a2e4c69891ade59 - languageName: node - linkType: hard - -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc - languageName: node - linkType: hard - -"pathval@npm:^2.0.0": - version: 2.0.0 - resolution: "pathval@npm:2.0.0" - checksum: 10c0/602e4ee347fba8a599115af2ccd8179836a63c925c23e04bd056d0674a64b39e3a081b643cc7bc0b84390517df2d800a46fcc5598d42c155fe4977095c2f77c5 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc - languageName: node - linkType: hard - -"poseidon-lite@npm:^0.2.0": - version: 0.2.1 - resolution: "poseidon-lite@npm:0.2.1" - checksum: 10c0/b1da834c8e1e8db3d8d1e8bfcbac5b5b5abbd3aa65e0a80206f8dfa09c9e858b8bc8d5291596e03c8845505af7982c6c2574fe5b184ce256dc34de9ea325b466 - languageName: node - linkType: hard - -"possible-typed-array-names@npm:^1.0.0": - version: 1.1.0 - resolution: "possible-typed-array-names@npm:1.1.0" - checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 - languageName: node - linkType: hard - -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: 10c0/7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 - languageName: node - linkType: hard - -"prettier@npm:^3.3.3": - version: 3.5.3 - resolution: "prettier@npm:3.5.3" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877 - languageName: node - linkType: hard - -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 - languageName: node - linkType: hard - -"process@npm:^0.11.1": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"psl@npm:^1.9.0": - version: 1.15.0 - resolution: "psl@npm:1.15.0" - dependencies: - punycode: "npm:^2.3.1" - checksum: 10c0/d8d45a99e4ca62ca12ac3c373e63d80d2368d38892daa40cfddaa1eb908be98cd549ac059783ef3a56cfd96d57ae8e2fd9ae53d1378d90d42bc661ff924e102a - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.2 - resolution: "pump@npm:3.0.2" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f - languageName: node - linkType: hard - -"punycode@npm:^2.3.1": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"pvtsutils@npm:^1.3.2": - version: 1.3.6 - resolution: "pvtsutils@npm:1.3.6" - dependencies: - tslib: "npm:^2.8.1" - checksum: 10c0/b1b42646370505ccae536dcffa662303b2c553995211330c8e39dec9ab8c197585d7751c2c5b9ab2f186feda0219d9bb23c34ee1e565573be96450f79d89a13c - languageName: node - linkType: hard - -"pvutils@npm:^1.1.3": - version: 1.1.3 - resolution: "pvutils@npm:1.1.3" - checksum: 10c0/23489e6b3c76b6afb6964a20f891d6bef092939f401c78bba186b2bfcdc7a13904a0af0a78f7933346510f8c1228d5ab02d3c80e968fd84d3c76ff98d8ec9aac - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"quick-lru@npm:^5.1.1": - version: 5.1.1 - resolution: "quick-lru@npm:5.1.1" - checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da - languageName: node - linkType: hard - -"r1csfile@npm:0.0.40": - version: 0.0.40 - resolution: "r1csfile@npm:0.0.40" - dependencies: - "@iden3/bigarray": "npm:0.0.2" - "@iden3/binfileutils": "npm:0.0.11" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.2.55" - checksum: 10c0/55bb953ab875f97d3dc2941ee97459058ccc4be87bbff02ca3084d039d20e8cd78c91c45afb71877156c3201870359171f1bea78557d1a3efea8c899e3cc364a - languageName: node - linkType: hard - -"r1csfile@npm:0.0.41": - version: 0.0.41 - resolution: "r1csfile@npm:0.0.41" - dependencies: - "@iden3/bigarray": "npm:0.0.2" - "@iden3/binfileutils": "npm:0.0.11" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.2.56" - checksum: 10c0/93446afea94aa45de5abfe118155d31699d7fb174d41df33f71ced0f6e5155d580d20f6489aeb4afa6f4055deba6078a04301c31a4239a6c3212b04d918c0209 - languageName: node - linkType: hard - -"r1csfile@npm:0.0.48": - version: 0.0.48 - resolution: "r1csfile@npm:0.0.48" - dependencies: - "@iden3/bigarray": "npm:0.0.2" - "@iden3/binfileutils": "npm:0.0.12" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.3.0" - checksum: 10c0/ea33804b4b51838603873fe4b4975b47e87fd9faad196024e49c02f4e87a0957e5cb333b9f2ac351db5372a7948bbf019218822a10f6b867b96aed90248e3e84 - languageName: node - linkType: hard - -"r1csfile@npm:^0.0.47": - version: 0.0.47 - resolution: "r1csfile@npm:0.0.47" - dependencies: - "@iden3/bigarray": "npm:0.0.2" - "@iden3/binfileutils": "npm:0.0.11" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.2.60" - checksum: 10c0/f6b305467cc9c56d66b3f5306932a693eaa2d1f72eac13cbb61766468854f911bd08bf991239d1c68dae9f955a32fc644d85a5cae5ea92009c455a9614b20984 - languageName: node - linkType: hard - -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" - dependencies: - safe-buffer: "npm:^5.1.0" - checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 - languageName: node - linkType: hard - -"readable-stream@npm:^3.6.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"repeat-string@npm:^1.6.1": - version: 1.6.1 - resolution: "repeat-string@npm:1.6.1" - checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 - languageName: node - linkType: hard - -"resolve-alpn@npm:^1.0.0": - version: 1.2.1 - resolution: "resolve-alpn@npm:1.2.1" - checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 - languageName: node - linkType: hard - -"responselike@npm:^2.0.0": - version: 2.0.1 - resolution: "responselike@npm:2.0.1" - dependencies: - lowercase-keys: "npm:^2.0.0" - checksum: 10c0/360b6deb5f101a9f8a4174f7837c523c3ec78b7ca8a7c1d45a1062b303659308a23757e318b1e91ed8684ad1205721142dd664d94771cd63499353fd4ee732b5 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.1.0 - resolution: "reusify@npm:1.1.0" - checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-regex-test@npm:^1.1.0": - version: 1.1.0 - resolution: "safe-regex-test@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - is-regex: "npm:^1.2.1" - checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"scrypt-js@npm:3.0.1": - version: 3.0.1 - resolution: "scrypt-js@npm:3.0.1" - checksum: 10c0/e2941e1c8b5c84c7f3732b0153fee624f5329fc4e772a06270ee337d4d2df4174b8abb5e6ad53804a29f53890ecbc78f3775a319323568c0313040c0e55f5b10 - languageName: node - linkType: hard - -"semver@npm:^7.1.2, semver@npm:^7.3.5": - version: 7.7.1 - resolution: "semver@npm:7.7.1" - bin: - semver: bin/semver.js - checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 - languageName: node - linkType: hard - -"serialize-javascript@npm:^6.0.2": - version: 6.0.2 - resolution: "serialize-javascript@npm:6.0.2" - dependencies: - randombytes: "npm:^2.1.0" - checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 - languageName: node - linkType: hard - -"set-function-length@npm:^1.2.2": - version: 1.2.2 - resolution: "set-function-length@npm:1.2.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard + version "1.3.2-0" + resolved "https://github.com/remicolin/forge#17a11a632dd0e50343b3b8393245a2696f78afbb" + +node-gyp-build@^4.2.2: + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path@^0.12.7: + version "0.12.7" + resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" + integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== + dependencies: + process "^0.11.1" + util "^0.10.3" + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pathval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" + integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +poseidon-lite@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/poseidon-lite/-/poseidon-lite-0.2.1.tgz#7ad98e3a3aa5b91a1fd3a61a87460e9e46fd76d6" + integrity sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog== + +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prettier@^3.3.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" + integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== + +process@^0.11.1: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +psl@^1.9.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" + +pump@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8" + integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pvtsutils@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.6.tgz#ec46e34db7422b9e4fdc5490578c1883657d6001" + integrity sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg== + dependencies: + tslib "^2.8.1" + +pvutils@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" + integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +r1csfile@0.0.40: + version "0.0.40" + resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.40.tgz#410e10e3cec8daf62ff87b022460cf180fd51d58" + integrity sha512-3tKaFLncf42ZTRpPMlgyiFBdk6kir4S4O3X+u4UQjgLYoDPHfizazNbK0Jzj++PVIXVUFAqugSbIo4W3UDuHcQ== + dependencies: + "@iden3/bigarray" "0.0.2" + "@iden3/binfileutils" "0.0.11" + fastfile "0.0.20" + ffjavascript "0.2.55" + +r1csfile@0.0.41: + version "0.0.41" + resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.41.tgz#e3d2709d36923156dd1fc2db9858987b30c92948" + integrity sha512-Q1WDF3u1vYeAwjHo4YuddkA8Aq0TulbKjmGm99+Atn13Lf5fTsMZBnBV9T741w8iSyPFG6Uh6sapQby77sREqA== + dependencies: + "@iden3/bigarray" "0.0.2" + "@iden3/binfileutils" "0.0.11" + fastfile "0.0.20" + ffjavascript "0.2.56" + +r1csfile@0.0.48: + version "0.0.48" + resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.48.tgz#a317fc75407a9da92631666c75bdfc13f0a7835a" + integrity sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw== + dependencies: + "@iden3/bigarray" "0.0.2" + "@iden3/binfileutils" "0.0.12" + fastfile "0.0.20" + ffjavascript "0.3.0" + +r1csfile@^0.0.47: + version "0.0.47" + resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.47.tgz#ed95a0dc8e910e9c070253906f7a31bd8c5333c8" + integrity sha512-oI4mAwuh1WwuFg95eJDNDDL8hCaZkwnPuNZrQdLBWvDoRU7EG+L/MOHL7SwPW2Y+ZuYcTLpj3rBkgllBQZN/JA== + dependencies: + "@iden3/bigarray" "0.0.2" + "@iden3/binfileutils" "0.0.11" + fastfile "0.0.20" + ffjavascript "0.2.60" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +reusify@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +"safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scrypt-js@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +semver@^7.1.2: + version "7.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" + integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== + +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +snarkjs@^0.4.10: + version "0.4.27" + resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.4.27.tgz#6f00e17e2b0b197dd69029a65ee570085b49a5f0" + integrity sha512-2CH4JpOIkaoEiPvc/d9eiA7Vs0mC2ZnQAhFIFF+qp8eVxhHpDXFZn50hEZhcb8lypGry8ZiiEQ73a3hOFOUbYQ== + dependencies: + "@iden3/binfileutils" "0.0.11" + bfj "^7.0.2" + blake2b-wasm "^2.4.0" + circom_runtime "0.1.20" + ejs "^3.1.6" + fastfile "0.0.20" + ffjavascript "0.2.55" + js-sha3 "^0.8.0" + logplease "^1.2.15" + r1csfile "0.0.40" + +snarkjs@^0.7.0, snarkjs@^0.7.1, snarkjs@^0.7.5: + version "0.7.5" + resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.7.5.tgz#334d83b61468bdffbbf922b20734ca47be50b8ab" + integrity sha512-h+3c4rXZKLhLuHk4LHydZCk/h5GcNvk5GjVKRRkHmfb6Ntf8gHOA9zea3g656iclRuhqQ3iKDWFgiD9ypLrKiA== + dependencies: + "@iden3/binfileutils" "0.0.12" + bfj "^7.0.2" + blake2b-wasm "^2.4.0" + circom_runtime "0.1.28" + ejs "^3.1.6" + fastfile "0.0.20" + ffjavascript "0.3.1" + js-sha3 "^0.8.0" + logplease "^1.2.15" + r1csfile "0.0.48" "snarkjs@https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e": - version: 0.5.0 - resolution: "snarkjs@https://github.com/sampritipanda/snarkjs.git#commit=fef81fc51d17a734637555c6edbd585ecda02d9e" - dependencies: - "@iden3/binfileutils": "npm:0.0.11" - bfj: "npm:^7.0.2" - blake2b-wasm: "npm:^2.4.0" - circom_runtime: "npm:0.1.21" - ejs: "npm:^3.1.6" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.2.56" - js-sha3: "npm:^0.8.0" - localforage: "npm:^1.10.0" - logplease: "npm:^1.2.15" - r1csfile: "npm:0.0.41" - bin: - snarkjs: build/cli.cjs - checksum: 10c0/44fc2beaf1a0dd7e89b51178a2f179d29f3e235509018f488603614dba049c51cb6f80eaa94329d2882d1edf61d9bf86d0a98480ccfbd9bf4d3dcdda5008431c - languageName: node - linkType: hard - -"snarkjs@npm:^0.4.10": - version: 0.4.27 - resolution: "snarkjs@npm:0.4.27" - dependencies: - "@iden3/binfileutils": "npm:0.0.11" - bfj: "npm:^7.0.2" - blake2b-wasm: "npm:^2.4.0" - circom_runtime: "npm:0.1.20" - ejs: "npm:^3.1.6" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.2.55" - js-sha3: "npm:^0.8.0" - logplease: "npm:^1.2.15" - r1csfile: "npm:0.0.40" - bin: - snarkjs: build/cli.cjs - checksum: 10c0/fb764e9a4eef6d1d5e3d8f623d0f92aa965d840a28bcd18f4201cbeeeb8f430da629507b7506c78da0fa3ea4646cfeec5b852c1757f4e71bd96bdde4bc7a8c1c - languageName: node - linkType: hard - -"snarkjs@npm:^0.7.0, snarkjs@npm:^0.7.1, snarkjs@npm:^0.7.5": - version: 0.7.5 - resolution: "snarkjs@npm:0.7.5" - dependencies: - "@iden3/binfileutils": "npm:0.0.12" - bfj: "npm:^7.0.2" - blake2b-wasm: "npm:^2.4.0" - circom_runtime: "npm:0.1.28" - ejs: "npm:^3.1.6" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.3.1" - js-sha3: "npm:^0.8.0" - logplease: "npm:^1.2.15" - r1csfile: "npm:0.0.48" - bin: - snarkjs: build/cli.cjs - checksum: 10c0/bc9eb1dac9c5248a4952635edc015185c5f9f268f6d2d29b32934e0b08bc284caaeba7fbc6d712ecff8a4e17c66433ba6b2f2ab5d1a6bb4704c30110fb18e9aa - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.5 - resolution: "socks-proxy-agent@npm:8.0.5" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 - languageName: node - linkType: hard - -"socks@npm:^2.8.3": - version: 2.8.4 - resolution: "socks@npm:2.8.4" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 - languageName: node - linkType: hard - -"source-map-support@npm:^0.5.6": - version: 0.5.21 - resolution: "source-map-support@npm:0.5.21" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d - languageName: node - linkType: hard - -"static-eval@npm:2.0.2": - version: 2.0.2 - resolution: "static-eval@npm:2.0.2" - dependencies: - escodegen: "npm:^1.8.1" - checksum: 10c0/9bc1114ea5ba2a6978664907c4dd3fde6f58767274f6cb4fbfb11ba3a73cb6e74dc11e89ec4a7bf1472a587c1f976fcd4ab8fe9aae1651f5e576f097745d48ff - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"supports-color@npm:^8.1.1": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"tar@npm:^6.0.5": - version: 6.2.1 - resolution: "tar@npm:6.2.1" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 - languageName: node - linkType: hard - -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d - languageName: node - linkType: hard - -"tinyglobby@npm:^0.2.12": - version: 0.2.12 - resolution: "tinyglobby@npm:0.2.12" - dependencies: - fdir: "npm:^6.4.3" - picomatch: "npm:^4.0.2" - checksum: 10c0/7c9be4fd3625630e262dcb19015302aad3b4ba7fc620f269313e688f2161ea8724d6cb4444baab5ef2826eb6bed72647b169a33ec8eea37501832a2526ff540f - languageName: node - linkType: hard - -"tinylogic@npm:^2.0.0": - version: 2.0.0 - resolution: "tinylogic@npm:2.0.0" - checksum: 10c0/c9417c4b65dfc469c71c9eba4d43d44813ab8baceb80ba2c0e6c286de2e93e9c4b8522e4b0a7b91cb4a85353368ee93838a862262ce54bac431b884e694d1c89 - languageName: node - linkType: hard - -"tmp-promise@npm:^3.0.3": - version: 3.0.3 - resolution: "tmp-promise@npm:3.0.3" - dependencies: - tmp: "npm:^0.2.0" - checksum: 10c0/23b47dcb2e82b14bbd8f61ed7a9d9353cdb6a6f09d7716616cfd27d0087040cd40152965a518e598d7aabe1489b9569bf1eebde0c5fadeaf3ec8098adcebea4e - languageName: node - linkType: hard - -"tmp@npm:^0.2.0": - version: 0.2.3 - resolution: "tmp@npm:0.2.3" - checksum: 10c0/3e809d9c2f46817475b452725c2aaa5d11985cf18d32a7a970ff25b568438e2c076c2e8609224feef3b7923fa9749b74428e3e634f6b8e520c534eef2fd24125 - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"treeify@npm:^1.1.0": - version: 1.1.0 - resolution: "treeify@npm:1.1.0" - checksum: 10c0/2f0dea9e89328b8a42296a3963d341ab19897a05b723d6b0bced6b28701a340d2a7b03241aef807844198e46009aaf3755139274eb082cfce6fdc1935cbd69dd - languageName: node - linkType: hard - -"tryer@npm:^1.0.1": - version: 1.0.1 - resolution: "tryer@npm:1.0.1" - checksum: 10c0/19070409a0009dc26127636cc14d2415e9cf8b1dc07b29694e57ea8bb5ea1bded012c0e792f6235b46e31189a7b866841668b3850867ff7eac1a6b55332c960d - languageName: node - linkType: hard - -"ts-mocha@npm:^10.0.0": - version: 10.1.0 - resolution: "ts-mocha@npm:10.1.0" - dependencies: - ts-node: "npm:7.0.1" - tsconfig-paths: "npm:^3.5.0" - peerDependencies: - mocha: ^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X || ^11.X.X - dependenciesMeta: - tsconfig-paths: - optional: true - bin: - ts-mocha: bin/ts-mocha - checksum: 10c0/ebc4be7d31939c502f6ff5bebe67a8370b69a76dac2889a5a6fc56fa0c11e25298f45c6ab81260d9899fc0120402ed75f0cf6dce37020df27ada55787b70bb42 - languageName: node - linkType: hard - -"ts-node@npm:7.0.1": - version: 7.0.1 - resolution: "ts-node@npm:7.0.1" - dependencies: - arrify: "npm:^1.0.0" - buffer-from: "npm:^1.1.0" - diff: "npm:^3.1.0" - make-error: "npm:^1.1.1" - minimist: "npm:^1.2.0" - mkdirp: "npm:^0.5.1" - source-map-support: "npm:^0.5.6" - yn: "npm:^2.0.0" - bin: - ts-node: dist/bin.js - checksum: 10c0/d6307766a716a77999e11c7f310312cf9d6addb98859d71e71d611ecafa6bdb90f07365f9acf7e9489cb43cfc2211486303172c3bcda370d20f0be54884fe647 - languageName: node - linkType: hard - -"ts-node@npm:^10.9.2": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - -"tsconfig-paths@npm:^3.5.0": - version: 3.15.0 - resolution: "tsconfig-paths@npm:3.15.0" - dependencies: - "@types/json5": "npm:^0.0.29" - json5: "npm:^1.0.2" - minimist: "npm:^1.2.6" - strip-bom: "npm:^3.0.0" - checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 - languageName: node - linkType: hard - -"tslib@npm:^2.4.0, tslib@npm:^2.8.1": - version: 2.8.1 - resolution: "tslib@npm:2.8.1" - checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 - languageName: node - linkType: hard - -"tunnel@npm:^0.0.6": - version: 0.0.6 - resolution: "tunnel@npm:0.0.6" - checksum: 10c0/e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75 - languageName: node - linkType: hard - -"typanion@npm:^3.8.0": - version: 3.14.0 - resolution: "typanion@npm:3.14.0" - checksum: 10c0/8b03b19844e6955bfd906c31dc781bae6d7f1fb3ce4fe24b7501557013d4889ae5cefe671dafe98d87ead0adceb8afcb8bc16df7dc0bd2b7331bac96f3a7cae2 - languageName: node - linkType: hard - -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: "npm:~1.1.2" - checksum: 10c0/776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 - languageName: node - linkType: hard - -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.5, type-detect@npm:^4.1.0": - version: 4.1.0 - resolution: "type-detect@npm:4.1.0" - checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a - languageName: node - linkType: hard - -"typescript@npm:^5.3.3": - version: 5.8.2 - resolution: "typescript@npm:5.8.2" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/5c4f6fbf1c6389b6928fe7b8fcd5dc73bb2d58cd4e3883f1d774ed5bd83b151cbac6b7ecf11723de56d4676daeba8713894b1e9af56174f2f9780ae7848ec3c6 - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": - version: 5.8.2 - resolution: "typescript@patch:typescript@npm%3A5.8.2#optional!builtin::version=5.8.2&hash=8c6c40" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/8a6cd29dfb59bd5a978407b93ae0edb530ee9376a5b95a42ad057a6f80ffb0c410489ccd6fe48d1d0dfad6e8adf5d62d3874bbd251f488ae30e11a1ce6dabd28 - languageName: node - linkType: hard - -"underscore@npm:1.12.1": - version: 1.12.1 - resolution: "underscore@npm:1.12.1" - checksum: 10c0/00f392357e363353ac485e7c156b749505087e31ff4fdad22e04ebd2f94a56fbc554cd41a6722e3895a818466cf298b1cae93ff6211d102d373a9b50db63bfd0 - languageName: node - linkType: hard - -"undici-types@npm:~6.19.2": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 - languageName: node - linkType: hard - -"undici-types@npm:~6.20.0": - version: 6.20.0 - resolution: "undici-types@npm:6.20.0" - checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf - languageName: node - linkType: hard - -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" - dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc - languageName: node - linkType: hard - -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"util@npm:^0.10.3": - version: 0.10.4 - resolution: "util@npm:0.10.4" - dependencies: - inherits: "npm:2.0.3" - checksum: 10c0/d29f6893e406b63b088ce9924da03201df89b31490d4d011f1c07a386ea4b3dbe907464c274023c237da470258e1805d806c7e4009a5974cd6b1d474b675852a - languageName: node - linkType: hard - -"util@npm:^0.12.5": - version: 0.12.5 - resolution: "util@npm:0.12.5" - dependencies: - inherits: "npm:^2.0.3" - is-arguments: "npm:^1.0.4" - is-generator-function: "npm:^1.0.7" - is-typed-array: "npm:^1.1.3" - which-typed-array: "npm:^1.1.2" - checksum: 10c0/c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3 - languageName: node - linkType: hard - -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"wasmbuilder@npm:0.0.16": - version: 0.0.16 - resolution: "wasmbuilder@npm:0.0.16" - checksum: 10c0/9e7e25c0b281fb83b272ba628b2f94c3e5ac7a3a488149be3548c52fa7c4502a76339bf2eb6a92e8f23b46da429dda69fe15e794b55c05ba769fe60ff74c73f3 - languageName: node - linkType: hard - -"wasmbuilder@npm:^0.0.12": - version: 0.0.12 - resolution: "wasmbuilder@npm:0.0.12" - dependencies: - big-integer: "npm:^1.6.48" - checksum: 10c0/7b3421a0cc58666ab690833ea6a24be4440ff7861da03812bc82d8498d8ddefde319ee710be3c42c35bfdd8e64568a41b59a28d7865f16b73a4186e0d13cef39 - languageName: node - linkType: hard - -"wasmcurves@npm:0.1.0": - version: 0.1.0 - resolution: "wasmcurves@npm:0.1.0" - dependencies: - big-integer: "npm:^1.6.42" - blakejs: "npm:^1.1.0" - checksum: 10c0/6ace0476b95e9911be9b588dd04593f977144cf9aa4e74f0d50b95e37dce2c968ac8b433c353b973cfe6436c720c6e4a21cdb2ceb8a8435210ab68d55ea3911d - languageName: node - linkType: hard - -"wasmcurves@npm:0.2.0": - version: 0.2.0 - resolution: "wasmcurves@npm:0.2.0" - dependencies: - wasmbuilder: "npm:0.0.16" - checksum: 10c0/e8ee355e2e67c9f8e46138fbee11dd28f77372696bb6f1d370af35ec311c371fc7cb9e8359224c32940f7844755986a4906419a8002f639e231d2c902be480c0 - languageName: node - linkType: hard - -"wasmcurves@npm:0.2.2": - version: 0.2.2 - resolution: "wasmcurves@npm:0.2.2" - dependencies: - wasmbuilder: "npm:0.0.16" - checksum: 10c0/9ee35e3a333f04f5c1233ad3a59401f20cc1074a4c219a0545337e5ca78a962da4e04155f28edd205b0d52fbcd121d2b0bac4489b011affd0c68dfb7ae37cdab - languageName: node - linkType: hard - -"web-worker@npm:1.2.0": - version: 1.2.0 - resolution: "web-worker@npm:1.2.0" - checksum: 10c0/2bec036cd4784148e2f135207c62facf4457a0f2b205d6728013b9f0d7c62404dced95fcd849478387e10c8ae636d665600bd0d99d80b18c3bb2a7f045aa20d8 - languageName: node - linkType: hard - -"web-worker@npm:^1.2.0": - version: 1.5.0 - resolution: "web-worker@npm:1.5.0" - checksum: 10c0/d42744757422803c73ca64fa51e1ce994354ace4b8438b3f740425a05afeb8df12dd5dadbf6b0839a08dbda56c470d7943c0383854c4fb1ae40ab874eb10427a - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.2": - version: 1.1.19 - resolution: "which-typed-array@npm:1.1.19" - dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.4" - for-each: "npm:^0.3.5" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/702b5dc878addafe6c6300c3d0af5983b175c75fcb4f2a72dfc3dd38d93cf9e89581e4b29c854b16ea37e50a7d7fca5ae42ece5c273d8060dcd603b2404bbb3f - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b - languageName: node - linkType: hard - -"word-wrap@npm:~1.2.3": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 - languageName: node - linkType: hard - -"workerpool@npm:^6.5.1": - version: 6.5.1 - resolution: "workerpool@npm:6.5.1" - checksum: 10c0/58e8e969782292cb3a7bfba823f1179a7615250a0cefb4841d5166234db1880a3d0fe83a31dd8d648329ec92c2d0cd1890ad9ec9e53674bb36ca43e9753cdeac - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"ws@npm:8.18.0": - version: 8.18.0 - resolution: "ws@npm:8.18.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - -"yargs-unparser@npm:^2.0.0": - version: 2.0.0 - resolution: "yargs-unparser@npm:2.0.0" - dependencies: - camelcase: "npm:^6.0.0" - decamelize: "npm:^4.0.0" - flat: "npm:^5.0.2" - is-plain-obj: "npm:^2.1.0" - checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 - languageName: node - linkType: hard - -"yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - -"yn@npm:^2.0.0": - version: 2.0.0 - resolution: "yn@npm:2.0.0" - checksum: 10c0/a52d74080871f22b3af8a6068d8579b86bf2bb81a968f6e406aa6e1ee85ba15f2e1d334184df6cd81024cec32a3cc8dc1f2f09ec4957b58b7b038b3cdef5cbd1 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard + version "0.5.0" + resolved "https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e" + dependencies: + "@iden3/binfileutils" "0.0.11" + bfj "^7.0.2" + blake2b-wasm "^2.4.0" + circom_runtime "0.1.21" + ejs "^3.1.6" + fastfile "0.0.20" + ffjavascript "0.2.56" + js-sha3 "^0.8.0" + localforage "^1.10.0" + logplease "^1.2.15" + r1csfile "0.0.41" + +source-map-support@^0.5.6: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +static-eval@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" + integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== + dependencies: + escodegen "^1.8.1" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +tar@^6.0.5: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +tinylogic@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tinylogic/-/tinylogic-2.0.0.tgz#0d2409c492b54c0663082ac1e3f16be64497bb47" + integrity sha512-dljTkiLLITtsjqBvTA1MRZQK/sGP4kI3UJKc3yA9fMzYbMF2RhcN04SeROVqJBIYYOoJMM8u0WDnhFwMSFQotw== + +tmp-promise@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + +tmp@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +treeify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" + integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-mocha@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.1.0.tgz#17a1c055f5f7733fd82447c4420740db87221bc8" + integrity sha512-T0C0Xm3/WqCuF2tpa0GNGESTBoKZaiqdUP8guNv4ZY316AFXlyidnrzQ1LUrCT0Wb1i3J0zFTgOh/55Un44WdA== + dependencies: + ts-node "7.0.1" + optionalDependencies: + tsconfig-paths "^3.5.0" + +ts-node@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" + integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== + dependencies: + arrify "^1.0.0" + buffer-from "^1.1.0" + diff "^3.1.0" + make-error "^1.1.1" + minimist "^1.2.0" + mkdirp "^0.5.1" + source-map-support "^0.5.6" + yn "^2.0.0" + +ts-node@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths@^3.5.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^2.4.0, tslib@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +tunnel@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + +typanion@^3.8.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.14.0.tgz#a766a91810ce8258033975733e836c43a2929b94" + integrity sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" + integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== + +typescript@^5.3.3: + version "5.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" + integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== + +underscore@1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" + integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== + dependencies: + inherits "2.0.3" + +util@^0.12.5: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +wasmbuilder@0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.16.tgz#f34c1f2c047d2f6e1065cbfec5603988f16d8549" + integrity sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA== + +wasmbuilder@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.12.tgz#a60cb25d6d11f314fe5ab3f4ee041ccb493cb78a" + integrity sha512-dTMpBgrnLOXrN58i2zakn2ScynsBhq9LfyQIsPz4CyxRF9k1GAORniuqn3xmE9NnI1l7g3iiVCkoB2Cl0/oG8w== + dependencies: + big-integer "^1.6.48" + +wasmcurves@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.1.0.tgz#0bc3f9d465367fcd8243395cb0094a05577e5609" + integrity sha512-kIlcgbVUAv2uQ6lGsepGz/m5V40+Z6rvTBkqCYn3Y2+OcXst+UaP4filJYLh/xDxjJl62FFjZZeAnpeli1Y5/Q== + dependencies: + big-integer "^1.6.42" + blakejs "^1.1.0" + +wasmcurves@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.2.0.tgz#ccfc5a7d3778b6e0768b82a9336c80054f9bc0cf" + integrity sha512-3e2rbxdujOwaod657gxgmdhZNn+i1qKdHO3Y/bK+8E7bV8ttV/fu5FO4/WLBACF375cK0QDLOP+65Na63qYuWA== + dependencies: + wasmbuilder "0.0.16" + +wasmcurves@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.2.2.tgz#ca444f6a6f6e2a5cbe6629d98ff478a62b4ccb2b" + integrity sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ== + dependencies: + wasmbuilder "0.0.16" + +web-worker@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" + integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== + +web-worker@^1.2.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.5.0.tgz#71b2b0fbcc4293e8f0aa4f6b8a3ffebff733dcc5" + integrity sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw== + +which-typed-array@^1.1.16, which-typed-array@^1.1.2: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@8.18.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.2, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-unparser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yn@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" + integrity sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/common/yarn.lock b/common/yarn.lock index e82a86c74..a8003639d 100644 --- a/common/yarn.lock +++ b/common/yarn.lock @@ -1,3630 +1,2231 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@babel/runtime@npm:^7.23.4": - version: 7.26.9 - resolution: "@babel/runtime@npm:7.26.9" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/e8517131110a6ec3a7360881438b85060e49824e007f4a64b5dfa9192cf2bb5c01e84bfc109f02d822c7edb0db926928dd6b991e3ee460b483fb0fac43152d9b - languageName: node - linkType: hard - -"@iden3/bigarray@npm:0.0.2": - version: 0.0.2 - resolution: "@iden3/bigarray@npm:0.0.2" - checksum: 10c0/a1c69a30f1bfb7eed0a1066e6a3d80aad3fab4dbb1bae96cf4dc7117ca9f791edc4a023d8cfb0afefbeab4d65f7bf91edfbb0a62e5ecdc8711c98bb329fedbaa - languageName: node - linkType: hard - -"@iden3/binfileutils@npm:0.0.12": - version: 0.0.12 - resolution: "@iden3/binfileutils@npm:0.0.12" - dependencies: - fastfile: "npm:0.0.20" - ffjavascript: "npm:^0.3.0" - checksum: 10c0/33783e2bad7901020bb1ba2236e0172a6f0bced519558466fe17ea2e51226a06d769e869883b1d6fe1abcc459327a77ee96265a52b53c2a964d9b4ef48b2263a - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 - languageName: node - linkType: hard - -"@noble/hashes@npm:^1.4.0": - version: 1.7.1 - resolution: "@noble/hashes@npm:1.7.1" - checksum: 10c0/2f8ec0338ccc92b576a0f5c16ab9c017a3a494062f1fbb569ae641c5e7eab32072f9081acaa96b5048c0898f972916c818ea63cbedda707886a4b5ffcfbf94e3 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 - languageName: node - linkType: hard - -"@openpassport/zk-kit-imt@npm:^0.0.5": - version: 0.0.5 - resolution: "@openpassport/zk-kit-imt@npm:0.0.5" - dependencies: - "@openpassport/zk-kit-utils": "npm:0.0.1" - checksum: 10c0/3664f0710b6472d7c406ffdcdfb9ab7590bf2b4b69c2c2e36989be888ae4730bab285791e6e8f98ea3fe9eac0271a6fb57bff88ddc92b5c038c9813ffbb2d24c - languageName: node - linkType: hard - -"@openpassport/zk-kit-lean-imt@npm:^0.0.6": - version: 0.0.6 - resolution: "@openpassport/zk-kit-lean-imt@npm:0.0.6" - dependencies: - "@openpassport/zk-kit-utils": "npm:0.0.1" - checksum: 10c0/2cb3f99e216391a325a7050290cccfa12323dc057d7cf4a26baeafe79a34c4ed3013da035fdbe9985395d5a668e37fd81f2b060834b67895bd3f82e7edfe0601 - languageName: node - linkType: hard - -"@openpassport/zk-kit-smt@npm:^0.0.1": - version: 0.0.1 - resolution: "@openpassport/zk-kit-smt@npm:0.0.1" - checksum: 10c0/2d1d6ccd51c1cdf005e71090ac3d5d505ca58f58776bb7bd178c3d6bfdf3e22b69e50816e620f376663b63fa98bf22439c9b38de523de51e018b9e52f097624b - languageName: node - linkType: hard - -"@openpassport/zk-kit-utils@npm:0.0.1": - version: 0.0.1 - resolution: "@openpassport/zk-kit-utils@npm:0.0.1" - dependencies: - buffer: "npm:^6.0.3" - checksum: 10c0/3a9adb279cfd5096c44934bb6c73979f21247eb0119a65f8b5c0bb1f457f5500de761fc627e0bd9e72a7cbf5ca65696c144bfffe3dbd1f1ce37a300c239a8e3f - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac - languageName: node - linkType: hard - -"@types/node-forge@npm:^1.3.10": - version: 1.3.11 - resolution: "@types/node-forge@npm:1.3.11" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/3d7d23ca0ba38ac0cf74028393bd70f31169ab9aba43f21deb787840170d307d662644bac07287495effe2812ddd7ac8a14dbd43f16c2936bbb06312e96fc3b9 - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 22.13.5 - resolution: "@types/node@npm:22.13.5" - dependencies: - undici-types: "npm:~6.20.0" - checksum: 10c0/a2e7ed7bb0690e439004779baedeb05159c5cc41ef6d81c7a6ebea5303fde4033669e1c0e41ff7453b45fd2fea8dbd55fddfcd052950c7fcae3167c970bca725 - languageName: node - linkType: hard - -"abbrev@npm:^3.0.0": - version: 3.0.0 - resolution: "abbrev@npm:3.0.0" - checksum: 10c0/049704186396f571650eb7b22ed3627b77a5aedf98bb83caf2eac81ca2a3e25e795394b0464cfb2d6076df3db6a5312139eac5b6a126ca296ac53c5008069c28 - languageName: node - linkType: hard - -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 - languageName: node - linkType: hard - -"ansi-colors@npm:^4.1.3": - version: 4.1.3 - resolution: "ansi-colors@npm:4.1.3" - checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": - version: 1.0.2 - resolution: "array-buffer-byte-length@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.3" - is-array-buffer: "npm:^3.0.5" - checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d - languageName: node - linkType: hard - -"array-includes@npm:^3.0.2": - version: 3.1.8 - resolution: "array-includes@npm:3.1.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - is-string: "npm:^1.0.7" - checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 - languageName: node - linkType: hard - -"array.prototype.reduce@npm:^1.0.6": - version: 1.0.7 - resolution: "array.prototype.reduce@npm:1.0.7" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-array-method-boxes-properly: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - is-string: "npm:^1.0.7" - checksum: 10c0/97aac907d7b15088d5b991bad79de96f95ea0d47a701a034e2dc816e0aabaed2fb401d7fe65ab6fda05eafa58319aa2d1bac404f515e162b81b3b61a51224db2 - languageName: node - linkType: hard - -"arraybuffer.prototype.slice@npm:^1.0.4": - version: 1.0.4 - resolution: "arraybuffer.prototype.slice@npm:1.0.4" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.5" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - is-array-buffer: "npm:^3.0.4" - checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 - languageName: node - linkType: hard - -"arrify@npm:^1.0.0": - version: 1.0.1 - resolution: "arrify@npm:1.0.1" - checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab - languageName: node - linkType: hard - -"asn1.js@npm:^5.4.1": - version: 5.4.1 - resolution: "asn1.js@npm:5.4.1" - dependencies: - bn.js: "npm:^4.0.0" - inherits: "npm:^2.0.1" - minimalistic-assert: "npm:^1.0.0" - safer-buffer: "npm:^2.1.0" - checksum: 10c0/b577232fa6069cc52bb128e564002c62b2b1fe47f7137bdcd709c0b8495aa79cee0f8cc458a831b2d8675900eea0d05781b006be5e1aa4f0ae3577a73ec20324 - languageName: node - linkType: hard - -"asn1js@npm:^3.0.5": - version: 3.0.5 - resolution: "asn1js@npm:3.0.5" - dependencies: - pvtsutils: "npm:^1.3.2" - pvutils: "npm:^1.1.3" - tslib: "npm:^2.4.0" - checksum: 10c0/bb8eaf4040c8f49dd475566874986f5976b81bae65a6b5526e2208a13cdca323e69ce297bcd435fdda3eb6933defe888e71974d705b6fcb14f2734a907f8aed4 - languageName: node - linkType: hard - -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b - languageName: node - linkType: hard - -"async-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-function@npm:1.0.0" - checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 - languageName: node - linkType: hard - -"async@npm:^3.2.3": - version: 3.2.6 - resolution: "async@npm:3.2.6" - checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d - languageName: node - linkType: hard - -"available-typed-arrays@npm:^1.0.7": - version: 1.0.7 - resolution: "available-typed-arrays@npm:1.0.7" - dependencies: - possible-typed-array-names: "npm:^1.0.0" - checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 - languageName: node - linkType: hard - -"axios@npm:^1.7.2": - version: 1.7.9 - resolution: "axios@npm:1.7.9" - dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/b7a41e24b59fee5f0f26c1fc844b45b17442832eb3a0fb42dd4f1430eb4abc571fe168e67913e8a1d91c993232bd1d1ab03e20e4d1fee8c6147649b576fc1b0b - languageName: node - linkType: hard - -"b4a@npm:^1.0.1": - version: 1.6.7 - resolution: "b4a@npm:1.6.7" - checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"bfj@npm:^7.0.2": - version: 7.1.0 - resolution: "bfj@npm:7.1.0" - dependencies: - bluebird: "npm:^3.7.2" - check-types: "npm:^11.2.3" - hoopy: "npm:^0.1.4" - jsonpath: "npm:^1.1.1" - tryer: "npm:^1.0.1" - checksum: 10c0/e5fc6690cd093c06ca6ed7584a2caf0c4a762bc9d9d9cb18efbabc75c973b071a8dad7037c617d0ea4d97b7b439821fea32f7c232ed0be8fa7840533a9643171 - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - -"blake2b-wasm@npm:^2.4.0": - version: 2.4.0 - resolution: "blake2b-wasm@npm:2.4.0" - dependencies: - b4a: "npm:^1.0.1" - nanoassert: "npm:^2.0.0" - checksum: 10c0/0905a47ece466c44541c8abbc94a5441ecb24a3b2622bf1f2e285c1f0f82e2b1899c7bbd70294583cfd99e1276047dd80d7afc7408f3a7c5ebf426b2f2a42f6f - languageName: node - linkType: hard - -"bluebird@npm:^3.7.2": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 - languageName: node - linkType: hard - -"bn.js@npm:^4.0.0, bn.js@npm:^4.11.9": - version: 4.12.1 - resolution: "bn.js@npm:4.12.1" - checksum: 10c0/b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"brorand@npm:^1.1.0": - version: 1.1.0 - resolution: "brorand@npm:1.1.0" - checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 - languageName: node - linkType: hard - -"browser-stdout@npm:^1.3.1": - version: 1.3.1 - resolution: "browser-stdout@npm:1.3.1" - checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0, buffer-from@npm:^1.1.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - -"bytestreamjs@npm:^2.0.0": - version: 2.0.1 - resolution: "bytestreamjs@npm:2.0.1" - checksum: 10c0/edd66b7ca3f94aae99a1009304a42d82ca4c2085eb934192ff47a81f59215c975dc9d3cd8f23c40a2f43ef5b2fa6f01ace70b10ad247766cec6ec641b89eab48 - languageName: node - linkType: hard - -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" - dependencies: - "@npmcli/fs": "npm:^4.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c - languageName: node - linkType: hard - -"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 - languageName: node - linkType: hard - -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": - version: 1.0.8 - resolution: "call-bind@npm:1.0.8" - dependencies: - call-bind-apply-helpers: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.2" - checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 - languageName: node - linkType: hard - -"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": - version: 1.0.3 - resolution: "call-bound@npm:1.0.3" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - get-intrinsic: "npm:^1.2.6" - checksum: 10c0/45257b8e7621067304b30dbd638e856cac913d31e8e00a80d6cf172911acd057846572d0b256b45e652d515db6601e2974a1b1a040e91b4fc36fb3dd86fa69cf - languageName: node - linkType: hard - -"camelcase@npm:^6.0.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"chai@npm:^4.3.8": - version: 4.5.0 - resolution: "chai@npm:4.5.0" - dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.1.0" - checksum: 10c0/b8cb596bd1aece1aec659e41a6e479290c7d9bee5b3ad63d2898ad230064e5b47889a3bc367b20100a0853b62e026e2dc514acf25a3c9385f936aa3614d4ab4d - languageName: node - linkType: hard - -"chalk@npm:^4.0.2, chalk@npm:^4.1.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 - languageName: node - linkType: hard - -"check-types@npm:^11.2.3": - version: 11.2.3 - resolution: "check-types@npm:11.2.3" - checksum: 10c0/08d17e528b189e0e431689f0f2f0a78f425202f6e5ac93def5c3b8d128eb888a5103fc980d4feb7b2d4248f8114d354c223dff3c0b5ac4b1def526ef441aaf55 - languageName: node - linkType: hard - -"chokidar@npm:^3.5.3": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"circom_runtime@npm:0.1.28": - version: 0.1.28 - resolution: "circom_runtime@npm:0.1.28" - dependencies: - ffjavascript: "npm:0.3.1" - bin: - calcwit: calcwit.js - checksum: 10c0/f2636b3cf553ea37701b527331ff740be7e31d51dc367c7f7bdffb69cf3a0d86c34ce215e4dbc0ad47f9c221c129ab11b111c6814e009c4d469592d73ab3c513 - languageName: node - linkType: hard - -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"country-emoji@npm:^1.5.6": - version: 1.5.6 - resolution: "country-emoji@npm:1.5.6" - checksum: 10c0/8166ef4e13ff82b558558e05ad4e26bceb6a71ef5d1863c6955ddfd1b2823f2c4fee9fb8538d3cf83716a05d3035a1ebcdc894a3a629644a1f1be728c98595f8 - languageName: node - linkType: hard - -"country-iso-3-to-2@npm:^1.1.1": - version: 1.1.1 - resolution: "country-iso-3-to-2@npm:1.1.1" - checksum: 10c0/ed46398caa51ec1a62a5e8e3dcf9cc6a9afe8ffc7dc9b15177f3ff9d4a241e6a3e8a315d630610e254408d4f15d71446df909811663df1eab928a34be7ee16e0 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"data-view-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "data-view-buffer@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.2" - checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c - languageName: node - linkType: hard - -"data-view-byte-length@npm:^1.0.2": - version: 1.0.2 - resolution: "data-view-byte-length@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.2" - checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 - languageName: node - linkType: hard - -"data-view-byte-offset@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-offset@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.3.4, debug@npm:^4.3.5": - version: 4.4.0 - resolution: "debug@npm:4.4.0" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de - languageName: node - linkType: hard - -"decamelize@npm:^4.0.0": - version: 4.0.0 - resolution: "decamelize@npm:4.0.0" - checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d - languageName: node - linkType: hard - -"deep-eql@npm:^4.1.3": - version: 4.1.4 - resolution: "deep-eql@npm:4.1.4" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 - languageName: node - linkType: hard - -"deep-is@npm:~0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": - version: 1.1.4 - resolution: "define-data-property@npm:1.1.4" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.0.1" - checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 - languageName: node - linkType: hard - -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": - version: 1.2.1 - resolution: "define-properties@npm:1.2.1" - dependencies: - define-data-property: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - object-keys: "npm:^1.1.1" - checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - -"diacritics@npm:1.3.0": - version: 1.3.0 - resolution: "diacritics@npm:1.3.0" - checksum: 10c0/bc99c3d2e64315b1830f1573eafe1f7b06fd5dbc9687f35ea8e2e25ce8618d1444d0a2c8313b98467b0aff1d0ee35b8f9f67ef214e56e810b37da3cdb29785ac - languageName: node - linkType: hard - -"diff@npm:^3.1.0": - version: 3.5.0 - resolution: "diff@npm:3.5.0" - checksum: 10c0/fc62d5ba9f6d1b8b5833380969037007913d4886997838c247c54ec6934f09ae5a07e17ae28b1f016018149d81df8ad89306f52eac1afa899e0bed49015a64d1 - languageName: node - linkType: hard - -"diff@npm:^5.2.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.2.0" - checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"ejs@npm:^3.1.6": - version: 3.1.10 - resolution: "ejs@npm:3.1.10" - dependencies: - jake: "npm:^10.8.5" - bin: - ejs: bin/cli.js - checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 - languageName: node - linkType: hard - -"elliptic@npm:^6.5.5": - version: 6.6.1 - resolution: "elliptic@npm:6.6.1" - dependencies: - bn.js: "npm:^4.11.9" - brorand: "npm:^1.1.0" - hash.js: "npm:^1.0.0" - hmac-drbg: "npm:^1.0.1" - inherits: "npm:^2.0.4" - minimalistic-assert: "npm:^1.0.1" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 10c0/8b24ef782eec8b472053793ea1e91ae6bee41afffdfcb78a81c0a53b191e715cbe1292aa07165958a9bbe675bd0955142560b1a007ffce7d6c765bcaf951a867 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9": - version: 1.23.9 - resolution: "es-abstract@npm:1.23.9" - dependencies: - array-buffer-byte-length: "npm:^1.0.2" - arraybuffer.prototype.slice: "npm:^1.0.4" - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - data-view-buffer: "npm:^1.0.2" - data-view-byte-length: "npm:^1.0.2" - data-view-byte-offset: "npm:^1.0.1" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-set-tostringtag: "npm:^2.1.0" - es-to-primitive: "npm:^1.3.0" - function.prototype.name: "npm:^1.1.8" - get-intrinsic: "npm:^1.2.7" - get-proto: "npm:^1.0.0" - get-symbol-description: "npm:^1.1.0" - globalthis: "npm:^1.0.4" - gopd: "npm:^1.2.0" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - internal-slot: "npm:^1.1.0" - is-array-buffer: "npm:^3.0.5" - is-callable: "npm:^1.2.7" - is-data-view: "npm:^1.0.2" - is-regex: "npm:^1.2.1" - is-shared-array-buffer: "npm:^1.0.4" - is-string: "npm:^1.1.1" - is-typed-array: "npm:^1.1.15" - is-weakref: "npm:^1.1.0" - math-intrinsics: "npm:^1.1.0" - object-inspect: "npm:^1.13.3" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.7" - own-keys: "npm:^1.0.1" - regexp.prototype.flags: "npm:^1.5.3" - safe-array-concat: "npm:^1.1.3" - safe-push-apply: "npm:^1.0.0" - safe-regex-test: "npm:^1.1.0" - set-proto: "npm:^1.0.0" - string.prototype.trim: "npm:^1.2.10" - string.prototype.trimend: "npm:^1.0.9" - string.prototype.trimstart: "npm:^1.0.8" - typed-array-buffer: "npm:^1.0.3" - typed-array-byte-length: "npm:^1.0.3" - typed-array-byte-offset: "npm:^1.0.4" - typed-array-length: "npm:^1.0.7" - unbox-primitive: "npm:^1.1.0" - which-typed-array: "npm:^1.1.18" - checksum: 10c0/1de229c9e08fe13c17fe5abaec8221545dfcd57e51f64909599a6ae896df84b8fd2f7d16c60cb00d7bf495b9298ca3581aded19939d4b7276854a4b066f8422b - languageName: node - linkType: hard - -"es-array-method-boxes-properly@npm:^1.0.0": - version: 1.0.0 - resolution: "es-array-method-boxes-properly@npm:1.0.0" - checksum: 10c0/4b7617d3fbd460d6f051f684ceca6cf7e88e6724671d9480388d3ecdd72119ddaa46ca31f2c69c5426a82e4b3091c1e81867c71dcdc453565cd90005ff2c382d - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.1.0": - version: 2.1.0 - resolution: "es-set-tostringtag@npm:2.1.0" - dependencies: - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af - languageName: node - linkType: hard - -"es-to-primitive@npm:^1.3.0": - version: 1.3.0 - resolution: "es-to-primitive@npm:1.3.0" - dependencies: - is-callable: "npm:^1.2.7" - is-date-object: "npm:^1.0.5" - is-symbol: "npm:^1.0.4" - checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b - languageName: node - linkType: hard - -"es7-shim@npm:^6.0.0": - version: 6.0.0 - resolution: "es7-shim@npm:6.0.0" - dependencies: - array-includes: "npm:^3.0.2" - object.entries: "npm:^1.0.3" - object.getownpropertydescriptors: "npm:^2.0.2" - object.values: "npm:^1.0.3" - string-at: "npm:^1.0.1" - string.prototype.padend: "npm:^3.0.0" - string.prototype.padstart: "npm:^3.0.0" - string.prototype.trimleft: "npm:^2.0.0" - string.prototype.trimright: "npm:^2.0.0" - checksum: 10c0/fc92b1e8fe82699c3aa486922108be37e5bafe64c32052acc16ef875b3499afbaf6f21bbb5f4f842d9581f3c43f02a552c6d2f3e0f70af9b7edb437107e0f555 - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": - version: 3.2.0 - resolution: "escalade@npm:3.2.0" - checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"escodegen@npm:^1.8.1": - version: 1.14.3 - resolution: "escodegen@npm:1.14.3" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^4.2.0" - esutils: "npm:^2.0.2" - optionator: "npm:^0.8.1" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/30d337803e8f44308c90267bf6192399e4b44792497c77a7506b68ab802ba6a48ebbe1ce77b219aba13dfd2de5f5e1c267e35be1ed87b2a9c3315e8b283e302a - languageName: node - linkType: hard - -"esprima@npm:1.2.2": - version: 1.2.2 - resolution: "esprima@npm:1.2.2" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/a5a8fd359651dd8228736d7352eb7636c7765e1ec6ff8fff3f6641622039a9f51fa501969a1a4777ba4187cf9942a8d7e0367dccaff768b782bdb1a71d046abf - languageName: node - linkType: hard - -"esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"estraverse@npm:^4.2.0": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 - languageName: node - linkType: hard - -"fast-levenshtein@npm:~2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fastfile@npm:0.0.20": - version: 0.0.20 - resolution: "fastfile@npm:0.0.20" - checksum: 10c0/ca91f5658eec188c7ba3b910d7d87ed90d4d7ca92852fa14dd8c6d4ae4c2149b8147a30bbcafe727bf12f0ebb25c585a6cf0a112a3957b761ec913f8299fdd4f - languageName: node - linkType: hard - -"ffjavascript@npm:0.3.0": - version: 0.3.0 - resolution: "ffjavascript@npm:0.3.0" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/2899db6ab67162eb9a7a052c420d31b0e15c6fd12bc738c48559e0a926649f1d11afe9cfa2611ff13f816b2fd9fa047fb11f6f8682f0dea4f84c4dd9f5dc7c3c - languageName: node - linkType: hard - -"ffjavascript@npm:0.3.1, ffjavascript@npm:^0.3.0": - version: 0.3.1 - resolution: "ffjavascript@npm:0.3.1" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/6928afe37cdbe9a88a9901a37d0abbdcfa61a8533517cb86e2584bf2701eaa10ce2bfa1d417499042f9b10b79bc058ec0ecc14d3fdc6cb55d21bfcac3d1c4521 - languageName: node - linkType: hard - -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat@npm:^5.0.2": - version: 5.0.2 - resolution: "flat@npm:5.0.2" - bin: - flat: cli.js - checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe - languageName: node - linkType: hard - -"follow-redirects@npm:^1.15.6": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" - peerDependenciesMeta: - debug: - optional: true - checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f - languageName: node - linkType: hard - -"for-each@npm:^0.3.3": - version: 0.3.5 - resolution: "for-each@npm:0.3.5" - dependencies: - is-callable: "npm:^1.2.7" - checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.3.0 - resolution: "foreground-child@npm:3.3.0" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^4.0.1" - checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2 - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.2 - resolution: "form-data@npm:4.0.2" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - mime-types: "npm:^2.1.12" - checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fs@npm:^0.0.1-security": - version: 0.0.1-security - resolution: "fs@npm:0.0.1-security" - checksum: 10c0/e0c0b585ec6f7483d63d067215d9d6bb2e0dba5912060d32554c8e566a0e22ee65e4c2a2b0567476efbbfb47682554b4711d69cab49950d01f227a3dfa7d671a - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": - version: 1.1.8 - resolution: "function.prototype.name@npm:1.1.8" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - functions-have-names: "npm:^1.2.3" - hasown: "npm:^2.0.2" - is-callable: "npm:^1.2.7" - checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.3": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca - languageName: node - linkType: hard - -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde - languageName: node - linkType: hard - -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a - languageName: node - linkType: hard - -"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: "npm:^1.0.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c - languageName: node - linkType: hard - -"get-symbol-description@npm:^1.1.0": - version: 1.1.0 - resolution: "get-symbol-description@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b - languageName: node - linkType: hard - -"glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e - languageName: node - linkType: hard - -"glob@npm:^8.1.0": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f - languageName: node - linkType: hard - -"globalthis@npm:^1.0.4": - version: 1.0.4 - resolution: "globalthis@npm:1.0.4" - dependencies: - define-properties: "npm:^1.2.1" - gopd: "npm:^1.0.1" - checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 - languageName: node - linkType: hard - -"gopd@npm:^1.0.1, gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead - languageName: node - linkType: hard - -"graceful-fs@npm:^4.2.6": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"has-bigints@npm:^1.0.2": - version: 1.1.0 - resolution: "has-bigints@npm:1.1.0" - checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": - version: 1.0.2 - resolution: "has-property-descriptors@npm:1.0.2" - dependencies: - es-define-property: "npm:^1.0.0" - checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 - languageName: node - linkType: hard - -"has-proto@npm:^1.2.0": - version: 1.2.0 - resolution: "has-proto@npm:1.2.0" - dependencies: - dunder-proto: "npm:^1.0.0" - checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.2": - version: 1.0.2 - resolution: "has-tostringtag@npm:1.0.2" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c - languageName: node - linkType: hard - -"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": - version: 1.1.7 - resolution: "hash.js@npm:1.1.7" - dependencies: - inherits: "npm:^2.0.3" - minimalistic-assert: "npm:^1.0.1" - checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 - languageName: node - linkType: hard - -"hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 - languageName: node - linkType: hard - -"he@npm:^1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 - languageName: node - linkType: hard - -"hmac-drbg@npm:^1.0.1": - version: 1.0.1 - resolution: "hmac-drbg@npm:1.0.1" - dependencies: - hash.js: "npm:^1.0.3" - minimalistic-assert: "npm:^1.0.0" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d - languageName: node - linkType: hard - -"hoopy@npm:^0.1.4": - version: 0.1.4 - resolution: "hoopy@npm:0.1.4" - checksum: 10c0/4ef749e1a13d46cae52014b9de452635637086c333fc67245369a1262dee806386354a4ed845d507e59e5a0d3aef55246c0ec66f5bf2908d40eb77e7dff2a254 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"i18n-iso-countries@npm:^7.13.0": - version: 7.14.0 - resolution: "i18n-iso-countries@npm:7.14.0" - dependencies: - diacritics: "npm:1.3.0" - checksum: 10c0/048efe0c95feb6666a72cb0918d6edcb6a392787b2998eefe7e42d19bf35ac27a02ad61efd64857399d7938dcf3e4c7710f622f7e6c8de9628cb4e4dd5534830 - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"inherits@npm:2.0.3": - version: 2.0.3 - resolution: "inherits@npm:2.0.3" - checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 - languageName: node - linkType: hard - -"internal-slot@npm:^1.1.0": - version: 1.1.0 - resolution: "internal-slot@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.2" - side-channel: "npm:^1.1.0" - checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - languageName: node - linkType: hard - -"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": - version: 3.0.5 - resolution: "is-array-buffer@npm:3.0.5" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - get-intrinsic: "npm:^1.2.6" - checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d - languageName: node - linkType: hard - -"is-async-function@npm:^2.0.0": - version: 2.1.1 - resolution: "is-async-function@npm:2.1.1" - dependencies: - async-function: "npm:^1.0.0" - call-bound: "npm:^1.0.3" - get-proto: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.2" - safe-regex-test: "npm:^1.1.0" - checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298 - languageName: node - linkType: hard - -"is-bigint@npm:^1.1.0": - version: 1.1.0 - resolution: "is-bigint@npm:1.1.0" - dependencies: - has-bigints: "npm:^1.0.2" - checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-boolean-object@npm:^1.2.1": - version: 1.2.2 - resolution: "is-boolean-object@npm:1.2.2" - dependencies: - call-bound: "npm:^1.0.3" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e - languageName: node - linkType: hard - -"is-callable@npm:^1.2.7": - version: 1.2.7 - resolution: "is-callable@npm:1.2.7" - checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f - languageName: node - linkType: hard - -"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": - version: 1.0.2 - resolution: "is-data-view@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.6" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 - languageName: node - linkType: hard - -"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": - version: 1.1.0 - resolution: "is-date-object@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-finalizationregistry@npm:^1.1.0": - version: 1.1.1 - resolution: "is-finalizationregistry@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.3" - checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-generator-function@npm:^1.0.10": - version: 1.1.0 - resolution: "is-generator-function@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.3" - get-proto: "npm:^1.0.0" - has-tostringtag: "npm:^1.0.2" - safe-regex-test: "npm:^1.1.0" - checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-map@npm:^2.0.3": - version: 2.0.3 - resolution: "is-map@npm:2.0.3" - checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc - languageName: node - linkType: hard - -"is-number-object@npm:^1.1.1": - version: 1.1.1 - resolution: "is-number-object@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.3" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-plain-obj@npm:^2.1.0": - version: 2.1.0 - resolution: "is-plain-obj@npm:2.1.0" - checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 - languageName: node - linkType: hard - -"is-regex@npm:^1.2.1": - version: 1.2.1 - resolution: "is-regex@npm:1.2.1" - dependencies: - call-bound: "npm:^1.0.2" - gopd: "npm:^1.2.0" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 - languageName: node - linkType: hard - -"is-set@npm:^2.0.3": - version: 2.0.3 - resolution: "is-set@npm:2.0.3" - checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.4": - version: 1.0.4 - resolution: "is-shared-array-buffer@npm:1.0.4" - dependencies: - call-bound: "npm:^1.0.3" - checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db - languageName: node - linkType: hard - -"is-string@npm:^1.0.7, is-string@npm:^1.1.1": - version: 1.1.1 - resolution: "is-string@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.3" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": - version: 1.1.1 - resolution: "is-symbol@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.2" - has-symbols: "npm:^1.1.0" - safe-regex-test: "npm:^1.1.0" - checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": - version: 1.1.15 - resolution: "is-typed-array@npm:1.1.15" - dependencies: - which-typed-array: "npm:^1.1.16" - checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 - languageName: node - linkType: hard - -"is-weakmap@npm:^2.0.2": - version: 2.0.2 - resolution: "is-weakmap@npm:2.0.2" - checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 - languageName: node - linkType: hard - -"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": - version: 1.1.1 - resolution: "is-weakref@npm:1.1.1" - dependencies: - call-bound: "npm:^1.0.3" - checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b - languageName: node - linkType: hard - -"is-weakset@npm:^2.0.3": - version: 2.0.4 - resolution: "is-weakset@npm:2.0.4" - dependencies: - call-bound: "npm:^1.0.3" - get-intrinsic: "npm:^1.2.6" - checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647 - languageName: node - linkType: hard - -"isarray@npm:^2.0.5": - version: 2.0.5 - resolution: "isarray@npm:2.0.5" - checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - -"jake@npm:^10.8.5": - version: 10.9.2 - resolution: "jake@npm:10.9.2" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 - languageName: node - linkType: hard - -"js-sha1@npm:^0.7.0": - version: 0.7.0 - resolution: "js-sha1@npm:0.7.0" - checksum: 10c0/f6ae6d7a3d7e8772fac8a82b2f002c282bef0b75a42ab36b4cafd99c7e02fb4654eb51c444dd026b24ff9fef5d762239aeed42a88fa44ca4b67a0a90ebce059e - languageName: node - linkType: hard - -"js-sha256@npm:^0.11.0": - version: 0.11.0 - resolution: "js-sha256@npm:0.11.0" - checksum: 10c0/90980fe01ca01fbd166751fb16c4caa09c1ab997e8bf77c0764cc05c772c6044946f4c1b3bad266ce78357280d2131d3dc0cf2dd7646e78272996bd4d590aa4f - languageName: node - linkType: hard - -"js-sha3@npm:^0.8.0": - version: 0.8.0 - resolution: "js-sha3@npm:0.8.0" - checksum: 10c0/43a21dc7967c871bd2c46cb1c2ae97441a97169f324e509f382d43330d8f75cf2c96dba7c806ab08a425765a9c847efdd4bffbac2d99c3a4f3de6c0218f40533 - languageName: node - linkType: hard - -"js-sha512@npm:^0.9.0": - version: 0.9.0 - resolution: "js-sha512@npm:0.9.0" - checksum: 10c0/00b85acae8ffde790a703a5424ae03c97c623b008135388396db1bfb1ac0ebf7356c5ff0d5a17630b5ae25ac09fe35eed2abc66bc276e9dc86fcb3cabcfcdfa2 - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"json-to-ts@npm:^2.1.0": - version: 2.1.0 - resolution: "json-to-ts@npm:2.1.0" - dependencies: - es7-shim: "npm:^6.0.0" - hash.js: "npm:^1.0.3" - pluralize: "npm:^3.1.0" - checksum: 10c0/8b08ba2d521483024c4b04158ffd835f141bcaa49c4b7784cb6cdad1d6bdaf529b9ec217745fd2f2aeb44b4a5253548dcd91050ae3955c4a1fdcb0fb8b92cd52 - languageName: node - linkType: hard - -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - -"jsonpath@npm:^1.1.1": - version: 1.1.1 - resolution: "jsonpath@npm:1.1.1" - dependencies: - esprima: "npm:1.2.2" - static-eval: "npm:2.0.2" - underscore: "npm:1.12.1" - checksum: 10c0/4fea3f83bcb4df08c32090ba8a0d1a6d26244f6d19c4296f9b58caa01eeb7de0f8347eba40077ceee2f95acc69d032b0b48226d350339063ba580e87983f6dec - languageName: node - linkType: hard - -"jsrsasign@npm:^11.1.0": - version: 11.1.0 - resolution: "jsrsasign@npm:11.1.0" - checksum: 10c0/a1c819d5da0eb00e1fdbb3cbbc360e0592f16726bab3f72aba51d3f660c9c486212112b3b4202eb5c233904f69c67821d91ed39ebd64ad4c3500e4dc085ca99c - languageName: node - linkType: hard - -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - checksum: 10c0/e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"lodash-es@npm:^4.17.10": - version: 4.17.21 - resolution: "lodash-es@npm:4.17.21" - checksum: 10c0/fb407355f7e6cd523a9383e76e6b455321f0f153a6c9625e21a8827d10c54c2a2341bd2ae8d034358b60e07325e1330c14c224ff582d04612a46a4f0479ff2f2 - languageName: node - linkType: hard - -"lodash@npm:^4.17.10": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 - languageName: node - linkType: hard - -"logplease@npm:^1.2.15": - version: 1.2.15 - resolution: "logplease@npm:1.2.15" - checksum: 10c0/e835ce89895c9335460a9b4b3a79f9f4161879f5cd49efc249f8af2a128403e391c177bf55ca7207fd6687aa16e376f9a96ce58dc639acc6b4b8b00d6225323c - languageName: node - linkType: hard - -"loupe@npm:^2.3.6": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb - languageName: node - linkType: hard - -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" - dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 - languageName: node - linkType: hard - -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd - languageName: node - linkType: hard - -"minimalistic-crypto-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-crypto-utils@npm:1.0.1" - checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 - languageName: node - linkType: hard - -"minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed - languageName: node - linkType: hard - -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^4.0.0": - version: 4.0.0 - resolution: "minipass-fetch@npm:4.0.0" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/7fa30ce7c373fb6f94c086b374fff1589fd7e78451855d2d06c2e2d9df936d131e73e952163063016592ed3081444bd8d1ea608533313b0149156ce23311da4b - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 - languageName: node - linkType: hard - -"minizlib@npm:^3.0.1": - version: 3.0.1 - resolution: "minizlib@npm:3.0.1" - dependencies: - minipass: "npm:^7.0.4" - rimraf: "npm:^5.0.5" - checksum: 10c0/82f8bf70da8af656909a8ee299d7ed3b3372636749d29e105f97f20e88971be31f5ed7642f2e898f00283b68b701cc01307401cdc209b0efc5dd3818220e5093 - languageName: node - linkType: hard - -"mkdirp@npm:^0.5.1": - version: 0.5.6 - resolution: "mkdirp@npm:0.5.6" - dependencies: - minimist: "npm:^1.2.6" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d - languageName: node - linkType: hard - -"mocha@npm:^10.7.3": - version: 10.8.2 - resolution: "mocha@npm:10.8.2" - dependencies: - ansi-colors: "npm:^4.1.3" - browser-stdout: "npm:^1.3.1" - chokidar: "npm:^3.5.3" - debug: "npm:^4.3.5" - diff: "npm:^5.2.0" - escape-string-regexp: "npm:^4.0.0" - find-up: "npm:^5.0.0" - glob: "npm:^8.1.0" - he: "npm:^1.2.0" - js-yaml: "npm:^4.1.0" - log-symbols: "npm:^4.1.0" - minimatch: "npm:^5.1.6" - ms: "npm:^2.1.3" - serialize-javascript: "npm:^6.0.2" - strip-json-comments: "npm:^3.1.1" - supports-color: "npm:^8.1.1" - workerpool: "npm:^6.5.1" - yargs: "npm:^16.2.0" - yargs-parser: "npm:^20.2.9" - yargs-unparser: "npm:^2.0.0" - bin: - _mocha: bin/_mocha - mocha: bin/mocha.js - checksum: 10c0/1f786290a32a1c234f66afe2bfcc68aa50fe9c7356506bd39cca267efb0b4714a63a0cb333815578d63785ba2fba058bf576c2512db73997c0cae0d659a88beb - languageName: node - linkType: hard - -"ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"nanoassert@npm:^2.0.0": - version: 2.0.0 - resolution: "nanoassert@npm:2.0.0" - checksum: 10c0/fb21ce924a1ec8e8fac415a00fdd1c086c08bc185d0377e675b1d379347340fbf4a1523d8d2330e5328a542400cd7122599b6c6e21ce2ea40a9f11d68dfbfa1b - languageName: node - linkType: hard - -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b - languageName: node - linkType: hard +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/runtime@^7.23.4": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.0.tgz#fbee7cf97c709518ecc1f590984481d5460d4762" + integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== + dependencies: + regenerator-runtime "^0.14.0" + +"@iden3/bigarray@0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@iden3/bigarray/-/bigarray-0.0.2.tgz#6fc4ba5be18daf8a26ee393f2fb62b80d98c05e9" + integrity sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g== + +"@iden3/binfileutils@0.0.12": + version "0.0.12" + resolved "https://registry.yarnpkg.com/@iden3/binfileutils/-/binfileutils-0.0.12.tgz#3772552f57551814ff606fa68ea1e0ef52795ce3" + integrity sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ== + dependencies: + fastfile "0.0.20" + ffjavascript "^0.3.0" + +"@noble/hashes@^1.4.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" + integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== + +"@openpassport/zk-kit-imt@^0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-imt/-/zk-kit-imt-0.0.5.tgz#3f80a21373c2c234ab9d49a6dc64afd43a6ee660" + integrity sha512-edri5tUh7SFSOxZCzNGz+2ZqAG6mqOT4EMOw4gh66sBiWU6E6twKrOztx7h2J4HmZjz3hA/LDyL/F4QTUAB2Qg== + dependencies: + "@openpassport/zk-kit-utils" "0.0.1" + +"@openpassport/zk-kit-lean-imt@^0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-lean-imt/-/zk-kit-lean-imt-0.0.6.tgz#b788ffb99d23d10c63ec145fc7d08359900e673e" + integrity sha512-KUQ4b5ILubO79vscrOnSnOCyr1AJ3dSKQOJ1PBklIRyFG9CeRTUspnVblSFqrolf8F3dvXX9QDbrkJxK38Gsyg== + dependencies: + "@openpassport/zk-kit-utils" "0.0.1" + +"@openpassport/zk-kit-smt@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-smt/-/zk-kit-smt-0.0.1.tgz#d447ed24e7b57146d5dee8d7458ac3886346b4d2" + integrity sha512-P7Hkd5fD8JxGbqJ48lUq6gGKmZTaVzCB5I8FsOSUmljqf7VMeZmbyqo2ZmXt/lk6ltPXrmcrQ+QNhHXKZNcWhg== + +"@openpassport/zk-kit-utils@0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-utils/-/zk-kit-utils-0.0.1.tgz#b0ad083c411bc7bcc1051516a76ada528a283a3a" + integrity sha512-T7jZ3vn+iCAPnvMS+NLg3Yj4ixF2xXG/geFkyNi48beEFd1hD/2Yca05QP+g2iaJAsIRvllwtni5SuLXGwv5Xw== + dependencies: + buffer "^6.0.3" + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/node-forge@^1.3.10": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "22.14.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.1.tgz#53b54585cec81c21eee3697521e31312d6ca1e6f" + integrity sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw== + dependencies: + undici-types "~6.21.0" + +ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== + dependencies: + call-bound "^1.0.3" + is-array-buffer "^3.0.5" + +array-includes@^3.0.2: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array.prototype.reduce@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz#42f97f5078daedca687d4463fd3c05cbfd83da57" + integrity sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-array-method-boxes-properly "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + is-string "^1.1.1" + +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + is-array-buffer "^3.0.4" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +asn1.js@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1js@^3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.6.tgz#53e002ebe00c5f7fd77c1c047c3557d7c04dce25" + integrity sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA== + dependencies: + pvtsutils "^1.3.6" + pvutils "^1.1.3" + tslib "^2.8.1" + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== + +async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axios@^1.7.2: + version "1.8.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447" + integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +b4a@^1.0.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" + integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bfj@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" + integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== + dependencies: + bluebird "^3.7.2" + check-types "^11.2.3" + hoopy "^0.1.4" + jsonpath "^1.1.1" + tryer "^1.0.1" + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +blake2b-wasm@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" + integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== + dependencies: + b4a "^1.0.1" + nanoassert "^2.0.0" + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.11.9: + version "4.12.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-stdout@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +buffer-from@^1.0.0, buffer-from@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bytestreamjs@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bytestreamjs/-/bytestreamjs-2.0.1.tgz#a32947c7ce389a6fa11a09a9a563d0a45889535e" + integrity sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ== + +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.0, call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +chai@^4.3.8: + version "4.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" + integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.1.0" + +chalk@^4.0.2, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + +check-types@^11.2.3: + version "11.2.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" + integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== + +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +circom_runtime@0.1.28: + version "0.1.28" + resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.28.tgz#4ea4606956eeac4499f71f65354f45b54faa93fe" + integrity sha512-ACagpQ7zBRLKDl5xRZ4KpmYIcZDUjOiNRuxvXLqhnnlLSVY1Dbvh73TI853nqoR0oEbihtWmMSjgc5f+pXf/jQ== + dependencies: + ffjavascript "0.3.1" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +country-emoji@^1.5.6: + version "1.5.6" + resolved "https://registry.yarnpkg.com/country-emoji/-/country-emoji-1.5.6.tgz#cca1e637f3eac8cd2c3f2f910213d9a521b1307e" + integrity sha512-pSB8OOROfimFc2bcN+H41DuzXYIod/JQ6SgF4pYXkRCm9f8uF1JAJ0vXPhenug6xkpt3Gv33mdypMXB49CJWRA== + +country-iso-3-to-2@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/country-iso-3-to-2/-/country-iso-3-to-2-1.1.1.tgz#9c62d02290f3872d93d40debcdd5ecb1cc468881" + integrity sha512-nirmbzPq5vt40WT9YWrWEvruxNt3h0g/h/k5umfo1ctq0ncw4Kwjd3+MKVL1vp5W5npb/fc3gv4E62xa/PZDiA== + +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +debug@^4.3.5: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== + dependencies: + ms "^2.1.3" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +deep-eql@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" + integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== + dependencies: + type-detect "^4.0.0" + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.3, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +diacritics@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1" + integrity sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA== + +diff@^3.1.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +ejs@^3.1.6: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +elliptic@^6.5.5: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +es-abstract@^1.17.0-next.1, es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9: + version "1.23.9" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.9.tgz#5b45994b7de78dada5c1bebf1379646b32b9d606" + integrity sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.2.7" + get-proto "^1.0.0" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" + is-callable "^1.2.7" + is-data-view "^1.0.2" + is-regex "^1.2.1" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.0" + math-intrinsics "^1.1.0" + object-inspect "^1.13.3" + object-keys "^1.1.1" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.3" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.18" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== + dependencies: + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" + +es7-shim@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/es7-shim/-/es7-shim-6.0.0.tgz#0c430b40b8505ad15570721a8d8dd4eb0c553155" + integrity sha512-aiQ/QyJBVJbabtsSediM1S4qI+P3p8F5J5YR5o/bH003BCnnclzxK9pi5Qd2Hg01ktAtZCaQBdejHrkOBGwf5Q== + dependencies: + array-includes "^3.0.2" + object.entries "^1.0.3" + object.getownpropertydescriptors "^2.0.2" + object.values "^1.0.3" + string-at "^1.0.1" + string.prototype.padend "^3.0.0" + string.prototype.padstart "^3.0.0" + string.prototype.trimleft "^2.0.0" + string.prototype.trimright "^2.0.0" + +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" + integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== + +esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastfile@0.0.20: + version "0.0.20" + resolved "https://registry.yarnpkg.com/fastfile/-/fastfile-0.0.20.tgz#794a143d58cfda2e24c298e5ef619c748c8a1879" + integrity sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA== + +ffjavascript@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.0.tgz#442cd8fbb1ee4cbb1be9d26fd7b2951a1ea45d6a" + integrity sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +ffjavascript@0.3.1, ffjavascript@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.1.tgz#3761bbb3f4a67b58a94a463080272bf6b5877b03" + integrity sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" + +form-data@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + mime-types "^2.1.12" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fs@^0.0.1-security: + version "0.0.1-security" + resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" + integrity sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +i18n-iso-countries@^7.13.0: + version "7.14.0" + resolved "https://registry.yarnpkg.com/i18n-iso-countries/-/i18n-iso-countries-7.14.0.tgz#cd5ae098198bce1cc40cadbf0a37ce6c8e9d0edf" + integrity sha512-nXHJZYtNrfsi1UQbyRqm3Gou431elgLjKl//CYlnBGt5aTWdRPH1PiS2T/p/n8Q8LnqYqzQJik3Q7mkwvLokeg== + dependencies: + diacritics "1.3.0" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.2" + side-channel "^1.1.0" + +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== + dependencies: + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== + dependencies: + has-bigints "^1.0.2" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== + dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + is-typed-array "^1.1.13" + +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== + dependencies: + call-bound "^1.0.3" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.10: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== + dependencies: + call-bound "^1.0.3" + +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== + dependencies: + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" + +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2, is-weakref@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== + dependencies: + call-bound "^1.0.3" + +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== + dependencies: + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +js-sha1@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/js-sha1/-/js-sha1-0.7.0.tgz#fecaf5f36bb09a51b01da46b43a207c8452c9c1e" + integrity sha512-oQZ1Mo7440BfLSv9TX87VNEyU52pXPVG19F9PL3gTgNt0tVxlZ8F4O6yze3CLuLx28TxotxvlyepCNaaV0ZjMw== + +js-sha256@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.11.0.tgz#256a921d9292f7fe98905face82e367abaca9576" + integrity sha512-6xNlKayMZvds9h1Y1VWc0fQHQ82BxTXizWPEtEeGvmOUYpBRy4gbWroHLpzowe6xiQhHpelCQiE7HEdznyBL9Q== + +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-sha512@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/js-sha512/-/js-sha512-0.9.0.tgz#ed569aa1e4bdaf0b83363c29db1ab87b1192d9ae" + integrity sha512-mirki9WS/SUahm+1TbAPkqvbCiCfOAAsyXeHxK1UkullnJVVqoJG2pL9ObvT05CN+tM7fxhfYm0NbXn+1hWoZg== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-to-ts@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/json-to-ts/-/json-to-ts-2.1.0.tgz#c68c0b210a811e8dccbe2752e68efbc0ca62bfc5" + integrity sha512-JeScjtIGYAxQVxEYgQUKROU0329eS+rsTSviGtuKiwKuXpcIU7DxhDYm2tey0vcBetwc9kD0+YHDI5KvEexMew== + dependencies: + es7-shim "^6.0.0" + hash.js "^1.0.3" + pluralize "^3.1.0" + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +jsonpath@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" + integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== + dependencies: + esprima "1.2.2" + static-eval "2.0.2" + underscore "1.12.1" + +jsrsasign@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-11.1.0.tgz#195e788102731102fbf3e36b33fde28936f4bf57" + integrity sha512-Ov74K9GihaK9/9WncTe1mPmvrO7Py665TUfUKvraXBpu+xcTWitrtuOwcjf4KMU9maPaYn0OuaWy0HOzy/GBXg== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash-es@^4.17.10: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash@^4.17.10: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +logplease@^1.2.15: + version "1.2.15" + resolved "https://registry.yarnpkg.com/logplease/-/logplease-1.2.15.tgz#3da442e93751a5992cc19010a826b08d0293c48a" + integrity sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA== + +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1, minimatch@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@^0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mocha@^10.7.3: + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" + +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoassert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" + integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== "node-forge@https://github.com/remicolin/forge": - version: 1.3.2-0 - resolution: "node-forge@https://github.com/remicolin/forge.git#commit=17a11a632dd0e50343b3b8393245a2696f78afbb" - checksum: 10c0/e3f02cc45b48b90ab8715c3a03b0711559366120494a93b446da46dea7fad1c63c0e22a0162849e81dd94fcb1e5ee672e9b38aad67687c5044fd1ffb1ed631a7 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 11.1.0 - resolution: "node-gyp@npm:11.1.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.4.3" - which: "npm:^5.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/c38977ce502f1ea41ba2b8721bd5b49bc3d5b3f813eabfac8414082faf0620ccb5211e15c4daecc23ed9f5e3e9cc4da00e575a0bcfc2a95a069294f2afa1e0cd - languageName: node - linkType: hard - -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: "npm:^3.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"object-inspect@npm:^1.13.3": - version: 1.13.4 - resolution: "object-inspect@npm:1.13.4" - checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 - languageName: node - linkType: hard - -"object-keys@npm:^1.1.1": - version: 1.1.1 - resolution: "object-keys@npm:1.1.1" - checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d - languageName: node - linkType: hard - -"object.assign@npm:^4.1.7": - version: 4.1.7 - resolution: "object.assign@npm:4.1.7" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - has-symbols: "npm:^1.1.0" - object-keys: "npm:^1.1.1" - checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc - languageName: node - linkType: hard - -"object.entries@npm:^1.0.3": - version: 1.1.8 - resolution: "object.entries@npm:1.1.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3 - languageName: node - linkType: hard - -"object.getownpropertydescriptors@npm:^2.0.2": - version: 2.1.8 - resolution: "object.getownpropertydescriptors@npm:2.1.8" - dependencies: - array.prototype.reduce: "npm:^1.0.6" - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - gopd: "npm:^1.0.1" - safe-array-concat: "npm:^1.1.2" - checksum: 10c0/553e9562fd86637c9c169df23a56f1d810d8c9b580a6d4be11552c009f32469310c9347f3d10325abf0cd9cfe4afc521a1e903fbd24148ae7ec860e1e7c75cf3 - languageName: node - linkType: hard - -"object.values@npm:^1.0.3": - version: 1.2.1 - resolution: "object.values@npm:1.2.1" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 - languageName: node - linkType: hard - -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"openpassport-common@workspace:.": - version: 0.0.0-use.local - resolution: "openpassport-common@workspace:." - dependencies: - "@babel/runtime": "npm:^7.23.4" - "@openpassport/zk-kit-imt": "npm:^0.0.5" - "@openpassport/zk-kit-lean-imt": "npm:^0.0.6" - "@openpassport/zk-kit-smt": "npm:^0.0.1" - "@types/node-forge": "npm:^1.3.10" - asn1.js: "npm:^5.4.1" - asn1js: "npm:^3.0.5" - axios: "npm:^1.7.2" - buffer: "npm:^6.0.3" - chai: "npm:^4.3.8" - country-emoji: "npm:^1.5.6" - country-iso-3-to-2: "npm:^1.1.1" - elliptic: "npm:^6.5.5" - fs: "npm:^0.0.1-security" - i18n-iso-countries: "npm:^7.13.0" - js-sha1: "npm:^0.7.0" - js-sha256: "npm:^0.11.0" - js-sha512: "npm:^0.9.0" - json-to-ts: "npm:^2.1.0" - jsrsasign: "npm:^11.1.0" - mocha: "npm:^10.7.3" - node-forge: "https://github.com/remicolin/forge" - path: "npm:^0.12.7" - pkijs: "npm:^3.2.4" - poseidon-lite: "npm:^0.2.0" - prettier: "npm:^3.3.3" - snarkjs: "npm:^0.7.5" - ts-mocha: "npm:^10.0.0" - typescript-parser: "npm:^2.6.1" - uuid: "npm:^11.0.5" - languageName: unknown - linkType: soft - -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: "npm:~0.1.3" - fast-levenshtein: "npm:~2.0.6" - levn: "npm:~0.3.0" - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - word-wrap: "npm:~1.2.3" - checksum: 10c0/ad7000ea661792b3ec5f8f86aac28895850988926f483b5f308f59f4607dfbe24c05df2d049532ee227c040081f39401a268cf7bbf3301512f74c4d760dc6dd8 - languageName: node - linkType: hard - -"own-keys@npm:^1.0.1": - version: 1.0.1 - resolution: "own-keys@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.2.6" - object-keys: "npm:^1.1.1" - safe-push-apply: "npm:^1.0.0" - checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - languageName: node - linkType: hard - -"path@npm:^0.12.7": - version: 0.12.7 - resolution: "path@npm:0.12.7" - dependencies: - process: "npm:^0.11.1" - util: "npm:^0.10.3" - checksum: 10c0/f795ce5438a988a590c7b6dfd450ec9baa1c391a8be4c2dea48baa6e0f5b199e56cd83b8c9ebf3991b81bea58236d2c32bdafe2c17a2e70c3a2e4c69891ade59 - languageName: node - linkType: hard - -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"pkijs@npm:^3.2.4": - version: 3.2.4 - resolution: "pkijs@npm:3.2.4" - dependencies: - "@noble/hashes": "npm:^1.4.0" - asn1js: "npm:^3.0.5" - bytestreamjs: "npm:^2.0.0" - pvtsutils: "npm:^1.3.2" - pvutils: "npm:^1.1.3" - tslib: "npm:^2.6.3" - checksum: 10c0/8054024f14868d570cf7c68364221942c2654be6d4f13a0aff9dd26c1e865b2ae675d895dcefea277c8b2b8e1e7778a3bb2887f65cde07a5ea078921a04e9dc0 - languageName: node - linkType: hard - -"pluralize@npm:^3.1.0": - version: 3.1.0 - resolution: "pluralize@npm:3.1.0" - checksum: 10c0/ef3de0afc61c2f891c377a203a144ac2cbc4bc036dd2fe520e0bd70737e5935edda9b9f649009bd30f506dbc1725502be5b59218dcddf5246a50d71980fee235 - languageName: node - linkType: hard - -"poseidon-lite@npm:^0.2.0": - version: 0.2.1 - resolution: "poseidon-lite@npm:0.2.1" - checksum: 10c0/b1da834c8e1e8db3d8d1e8bfcbac5b5b5abbd3aa65e0a80206f8dfa09c9e858b8bc8d5291596e03c8845505af7982c6c2574fe5b184ce256dc34de9ea325b466 - languageName: node - linkType: hard - -"possible-typed-array-names@npm:^1.0.0": - version: 1.1.0 - resolution: "possible-typed-array-names@npm:1.1.0" - checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 - languageName: node - linkType: hard - -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: 10c0/7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 - languageName: node - linkType: hard - -"prettier@npm:^3.3.3": - version: 3.5.2 - resolution: "prettier@npm:3.5.2" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/d7b597ed33f39c32ace675896ad187f06a3e48dc8a1e80051b5c5f0dae3586d53981704b8fda5ac3b080e6c2e0e197d239131b953702674f044351621ca5e1ac - languageName: node - linkType: hard - -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 - languageName: node - linkType: hard - -"process@npm:^0.11.1": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - -"pvtsutils@npm:^1.3.2": - version: 1.3.6 - resolution: "pvtsutils@npm:1.3.6" - dependencies: - tslib: "npm:^2.8.1" - checksum: 10c0/b1b42646370505ccae536dcffa662303b2c553995211330c8e39dec9ab8c197585d7751c2c5b9ab2f186feda0219d9bb23c34ee1e565573be96450f79d89a13c - languageName: node - linkType: hard - -"pvutils@npm:^1.1.3": - version: 1.1.3 - resolution: "pvutils@npm:1.1.3" - checksum: 10c0/23489e6b3c76b6afb6964a20f891d6bef092939f401c78bba186b2bfcdc7a13904a0af0a78f7933346510f8c1228d5ab02d3c80e968fd84d3c76ff98d8ec9aac - languageName: node - linkType: hard - -"r1csfile@npm:0.0.48": - version: 0.0.48 - resolution: "r1csfile@npm:0.0.48" - dependencies: - "@iden3/bigarray": "npm:0.0.2" - "@iden3/binfileutils": "npm:0.0.12" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.3.0" - checksum: 10c0/ea33804b4b51838603873fe4b4975b47e87fd9faad196024e49c02f4e87a0957e5cb333b9f2ac351db5372a7948bbf019218822a10f6b867b96aed90248e3e84 - languageName: node - linkType: hard - -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" - dependencies: - safe-buffer: "npm:^5.1.0" - checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": - version: 1.0.10 - resolution: "reflect.getprototypeof@npm:1.0.10" - dependencies: - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.9" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.7" - get-proto: "npm:^1.0.1" - which-builtin-type: "npm:^1.2.1" - checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac - languageName: node - linkType: hard - -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 - languageName: node - linkType: hard - -"regexp.prototype.flags@npm:^1.5.3": - version: 1.5.4 - resolution: "regexp.prototype.flags@npm:1.5.4" - dependencies: - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-errors: "npm:^1.3.0" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - set-function-name: "npm:^2.0.2" - checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"rimraf@npm:^5.0.5": - version: 5.0.10 - resolution: "rimraf@npm:5.0.10" - dependencies: - glob: "npm:^10.3.7" - bin: - rimraf: dist/esm/bin.mjs - checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc - languageName: node - linkType: hard - -"safe-array-concat@npm:^1.1.2, safe-array-concat@npm:^1.1.3": - version: 1.1.3 - resolution: "safe-array-concat@npm:1.1.3" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.6" - has-symbols: "npm:^1.1.0" - isarray: "npm:^2.0.5" - checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d - languageName: node - linkType: hard - -"safe-buffer@npm:^5.1.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-push-apply@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-push-apply@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - isarray: "npm:^2.0.5" - checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 - languageName: node - linkType: hard - -"safe-regex-test@npm:^1.1.0": - version: 1.1.0 - resolution: "safe-regex-test@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - is-regex: "npm:^1.2.1" - checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.1.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"semver@npm:^7.3.5": - version: 7.7.1 - resolution: "semver@npm:7.7.1" - bin: - semver: bin/semver.js - checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 - languageName: node - linkType: hard - -"serialize-javascript@npm:^6.0.2": - version: 6.0.2 - resolution: "serialize-javascript@npm:6.0.2" - dependencies: - randombytes: "npm:^2.1.0" - checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 - languageName: node - linkType: hard - -"set-function-length@npm:^1.2.2": - version: 1.2.2 - resolution: "set-function-length@npm:1.2.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c - languageName: node - linkType: hard - -"set-function-name@npm:^2.0.2": - version: 2.0.2 - resolution: "set-function-name@npm:2.0.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - functions-have-names: "npm:^1.2.3" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 - languageName: node - linkType: hard - -"set-proto@npm:^1.0.0": - version: 1.0.0 - resolution: "set-proto@npm:1.0.0" - dependencies: - dunder-proto: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"side-channel-list@npm:^1.0.0": - version: 1.0.0 - resolution: "side-channel-list@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d - languageName: node - linkType: hard - -"side-channel-map@npm:^1.0.1": - version: 1.0.1 - resolution: "side-channel-map@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 - languageName: node - linkType: hard - -"side-channel-weakmap@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel-weakmap@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - side-channel-map: "npm:^1.0.1" - checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 - languageName: node - linkType: hard - -"side-channel@npm:^1.1.0": - version: 1.1.0 - resolution: "side-channel@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - side-channel-list: "npm:^1.0.0" - side-channel-map: "npm:^1.0.1" - side-channel-weakmap: "npm:^1.0.2" - checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"snarkjs@npm:^0.7.5": - version: 0.7.5 - resolution: "snarkjs@npm:0.7.5" - dependencies: - "@iden3/binfileutils": "npm:0.0.12" - bfj: "npm:^7.0.2" - blake2b-wasm: "npm:^2.4.0" - circom_runtime: "npm:0.1.28" - ejs: "npm:^3.1.6" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.3.1" - js-sha3: "npm:^0.8.0" - logplease: "npm:^1.2.15" - r1csfile: "npm:0.0.48" - bin: - snarkjs: build/cli.cjs - checksum: 10c0/bc9eb1dac9c5248a4952635edc015185c5f9f268f6d2d29b32934e0b08bc284caaeba7fbc6d712ecff8a4e17c66433ba6b2f2ab5d1a6bb4704c30110fb18e9aa - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.5 - resolution: "socks-proxy-agent@npm:8.0.5" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 - languageName: node - linkType: hard - -"socks@npm:^2.8.3": - version: 2.8.4 - resolution: "socks@npm:2.8.4" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 - languageName: node - linkType: hard - -"source-map-support@npm:^0.5.6": - version: 0.5.21 - resolution: "source-map-support@npm:0.5.21" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d - languageName: node - linkType: hard - -"static-eval@npm:2.0.2": - version: 2.0.2 - resolution: "static-eval@npm:2.0.2" - dependencies: - escodegen: "npm:^1.8.1" - checksum: 10c0/9bc1114ea5ba2a6978664907c4dd3fde6f58767274f6cb4fbfb11ba3a73cb6e74dc11e89ec4a7bf1472a587c1f976fcd4ab8fe9aae1651f5e576f097745d48ff - languageName: node - linkType: hard - -"string-at@npm:^1.0.1": - version: 1.1.0 - resolution: "string-at@npm:1.1.0" - dependencies: - define-properties: "npm:^1.1.3" - es-abstract: "npm:^1.17.0-next.1" - checksum: 10c0/f5b40d3944072f1fb82e6baffad02438e2989391eb0e61e5c9e5d9262df1563b530e8050099cfed4b5b87a8bd59fd50027f23ed604ed0273e52cc9f10da4006d - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string.prototype.padend@npm:^3.0.0": - version: 3.1.6 - resolution: "string.prototype.padend@npm:3.1.6" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/8f2c8c1f3db1efcdc210668c80c87f2cea1253d6029ff296a172b5e13edc9adebeed4942d023de8d31f9b13b69f3f5d73de7141959b1f09817fba5f527e83be1 - languageName: node - linkType: hard - -"string.prototype.padstart@npm:^3.0.0": - version: 3.1.6 - resolution: "string.prototype.padstart@npm:3.1.6" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.0" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/cde82478e8101788f489e6138122a24e2def646a2a5b36a6a305cb3da24b815731873c8c70c25f22038c82c69822f618bf58b2eac64a0e2fc132b718bdbc5ba5 - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.10": - version: 1.2.10 - resolution: "string.prototype.trim@npm:1.2.10" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.2" - define-data-property: "npm:^1.1.4" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.5" - es-object-atoms: "npm:^1.0.0" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 - languageName: node - linkType: hard - -"string.prototype.trimend@npm:^1.0.3, string.prototype.trimend@npm:^1.0.9": - version: 1.0.9 - resolution: "string.prototype.trimend@npm:1.0.9" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.2" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 - languageName: node - linkType: hard - -"string.prototype.trimleft@npm:^2.0.0": - version: 2.1.3 - resolution: "string.prototype.trimleft@npm:2.1.3" - dependencies: - call-bind: "npm:^1.0.0" - define-properties: "npm:^1.1.3" - string.prototype.trimstart: "npm:^1.0.3" - checksum: 10c0/b4df1232afb5a630668180439c9da44b9efcce31db52fc6f2f102f7748e14a67bef4cc5374b58aa513aaa284aa61b179d2a676ae4225046a209a326aeff01553 - languageName: node - linkType: hard - -"string.prototype.trimright@npm:^2.0.0": - version: 2.1.3 - resolution: "string.prototype.trimright@npm:2.1.3" - dependencies: - call-bind: "npm:^1.0.0" - define-properties: "npm:^1.1.3" - string.prototype.trimend: "npm:^1.0.3" - checksum: 10c0/19d8261d8d410412383a64f5e56e60fe4e765d70d82ec0b3443573fd0afd502964f6e160db8092b0b7cecb34bd2fb8f141c298d69c15ce8eda427e5219ac458e - languageName: node - linkType: hard - -"string.prototype.trimstart@npm:^1.0.3, string.prototype.trimstart@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimstart@npm:1.0.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"supports-color@npm:^8.1.1": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"tryer@npm:^1.0.1": - version: 1.0.1 - resolution: "tryer@npm:1.0.1" - checksum: 10c0/19070409a0009dc26127636cc14d2415e9cf8b1dc07b29694e57ea8bb5ea1bded012c0e792f6235b46e31189a7b866841668b3850867ff7eac1a6b55332c960d - languageName: node - linkType: hard - -"ts-mocha@npm:^10.0.0": - version: 10.1.0 - resolution: "ts-mocha@npm:10.1.0" - dependencies: - ts-node: "npm:7.0.1" - tsconfig-paths: "npm:^3.5.0" - peerDependencies: - mocha: ^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X || ^11.X.X - dependenciesMeta: - tsconfig-paths: - optional: true - bin: - ts-mocha: bin/ts-mocha - checksum: 10c0/ebc4be7d31939c502f6ff5bebe67a8370b69a76dac2889a5a6fc56fa0c11e25298f45c6ab81260d9899fc0120402ed75f0cf6dce37020df27ada55787b70bb42 - languageName: node - linkType: hard - -"ts-node@npm:7.0.1": - version: 7.0.1 - resolution: "ts-node@npm:7.0.1" - dependencies: - arrify: "npm:^1.0.0" - buffer-from: "npm:^1.1.0" - diff: "npm:^3.1.0" - make-error: "npm:^1.1.1" - minimist: "npm:^1.2.0" - mkdirp: "npm:^0.5.1" - source-map-support: "npm:^0.5.6" - yn: "npm:^2.0.0" - bin: - ts-node: dist/bin.js - checksum: 10c0/d6307766a716a77999e11c7f310312cf9d6addb98859d71e71d611ecafa6bdb90f07365f9acf7e9489cb43cfc2211486303172c3bcda370d20f0be54884fe647 - languageName: node - linkType: hard - -"tsconfig-paths@npm:^3.5.0": - version: 3.15.0 - resolution: "tsconfig-paths@npm:3.15.0" - dependencies: - "@types/json5": "npm:^0.0.29" - json5: "npm:^1.0.2" - minimist: "npm:^1.2.6" - strip-bom: "npm:^3.0.0" - checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 - languageName: node - linkType: hard - -"tslib@npm:^1.9.3": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 - languageName: node - linkType: hard - -"tslib@npm:^2.4.0, tslib@npm:^2.6.3, tslib@npm:^2.8.1": - version: 2.8.1 - resolution: "tslib@npm:2.8.1" - checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 - languageName: node - linkType: hard - -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: "npm:~1.1.2" - checksum: 10c0/776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 - languageName: node - linkType: hard - -"type-detect@npm:^4.0.0, type-detect@npm:^4.1.0": - version: 4.1.0 - resolution: "type-detect@npm:4.1.0" - checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a - languageName: node - linkType: hard - -"typed-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "typed-array-buffer@npm:1.0.3" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.14" - checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 - languageName: node - linkType: hard - -"typed-array-byte-length@npm:^1.0.3": - version: 1.0.3 - resolution: "typed-array-byte-length@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.8" - for-each: "npm:^0.3.3" - gopd: "npm:^1.2.0" - has-proto: "npm:^1.2.0" - is-typed-array: "npm:^1.1.14" - checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e - languageName: node - linkType: hard - -"typed-array-byte-offset@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-byte-offset@npm:1.0.4" - dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.8" - for-each: "npm:^0.3.3" - gopd: "npm:^1.2.0" - has-proto: "npm:^1.2.0" - is-typed-array: "npm:^1.1.15" - reflect.getprototypeof: "npm:^1.0.9" - checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 - languageName: node - linkType: hard - -"typed-array-length@npm:^1.0.7": - version: 1.0.7 - resolution: "typed-array-length@npm:1.0.7" - dependencies: - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - is-typed-array: "npm:^1.1.13" - possible-typed-array-names: "npm:^1.0.0" - reflect.getprototypeof: "npm:^1.0.6" - checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 - languageName: node - linkType: hard - -"typescript-parser@npm:^2.6.1": - version: 2.6.1 - resolution: "typescript-parser@npm:2.6.1" - dependencies: - lodash: "npm:^4.17.10" - lodash-es: "npm:^4.17.10" - tslib: "npm:^1.9.3" - typescript: "npm:^3.0.3" - checksum: 10c0/3436d33485dcb9c37265da32367864b97cf13baa85ad7c8a0ec4933f316ed3ad8936e83de1d216cd20fa8958ce398a3652ae518763f65f8e5ee9c63333a6116c - languageName: node - linkType: hard - -"typescript@npm:^3.0.3": - version: 3.9.10 - resolution: "typescript@npm:3.9.10" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/863cc06070fa18a0f9c6a83265fb4922a8b51bf6f2c6760fb0b73865305ce617ea4bc6477381f9f4b7c3a8cb4a455b054f5469e6e41307733fe6a2bd9aae82f8 - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^3.0.3#optional!builtin": - version: 3.9.10 - resolution: "typescript@patch:typescript@npm%3A3.9.10#optional!builtin::version=3.9.10&hash=3bd3d3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/9041fb3886e7d6a560f985227b8c941d17a750f2edccb5f9b3a15a2480574654d9be803ad4a14aabcc2f2553c4d272a25fd698a7c42692f03f66b009fb46883c - languageName: node - linkType: hard - -"unbox-primitive@npm:^1.1.0": - version: 1.1.0 - resolution: "unbox-primitive@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.3" - has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.1.0" - which-boxed-primitive: "npm:^1.1.1" - checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 - languageName: node - linkType: hard - -"underscore@npm:1.12.1": - version: 1.12.1 - resolution: "underscore@npm:1.12.1" - checksum: 10c0/00f392357e363353ac485e7c156b749505087e31ff4fdad22e04ebd2f94a56fbc554cd41a6722e3895a818466cf298b1cae93ff6211d102d373a9b50db63bfd0 - languageName: node - linkType: hard - -"undici-types@npm:~6.20.0": - version: 6.20.0 - resolution: "undici-types@npm:6.20.0" - checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf - languageName: node - linkType: hard - -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" - dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc - languageName: node - linkType: hard - -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 - languageName: node - linkType: hard - -"util@npm:^0.10.3": - version: 0.10.4 - resolution: "util@npm:0.10.4" - dependencies: - inherits: "npm:2.0.3" - checksum: 10c0/d29f6893e406b63b088ce9924da03201df89b31490d4d011f1c07a386ea4b3dbe907464c274023c237da470258e1805d806c7e4009a5974cd6b1d474b675852a - languageName: node - linkType: hard - -"uuid@npm:^11.0.5": - version: 11.1.0 - resolution: "uuid@npm:11.1.0" - bin: - uuid: dist/esm/bin/uuid - checksum: 10c0/34aa51b9874ae398c2b799c88a127701408cd581ee89ec3baa53509dd8728cbb25826f2a038f9465f8b7be446f0fbf11558862965b18d21c993684297628d4d3 - languageName: node - linkType: hard - -"wasmbuilder@npm:0.0.16": - version: 0.0.16 - resolution: "wasmbuilder@npm:0.0.16" - checksum: 10c0/9e7e25c0b281fb83b272ba628b2f94c3e5ac7a3a488149be3548c52fa7c4502a76339bf2eb6a92e8f23b46da429dda69fe15e794b55c05ba769fe60ff74c73f3 - languageName: node - linkType: hard - -"wasmcurves@npm:0.2.2": - version: 0.2.2 - resolution: "wasmcurves@npm:0.2.2" - dependencies: - wasmbuilder: "npm:0.0.16" - checksum: 10c0/9ee35e3a333f04f5c1233ad3a59401f20cc1074a4c219a0545337e5ca78a962da4e04155f28edd205b0d52fbcd121d2b0bac4489b011affd0c68dfb7ae37cdab - languageName: node - linkType: hard - -"web-worker@npm:1.2.0": - version: 1.2.0 - resolution: "web-worker@npm:1.2.0" - checksum: 10c0/2bec036cd4784148e2f135207c62facf4457a0f2b205d6728013b9f0d7c62404dced95fcd849478387e10c8ae636d665600bd0d99d80b18c3bb2a7f045aa20d8 - languageName: node - linkType: hard - -"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": - version: 1.1.1 - resolution: "which-boxed-primitive@npm:1.1.1" - dependencies: - is-bigint: "npm:^1.1.0" - is-boolean-object: "npm:^1.2.1" - is-number-object: "npm:^1.1.1" - is-string: "npm:^1.1.1" - is-symbol: "npm:^1.1.1" - checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe - languageName: node - linkType: hard - -"which-builtin-type@npm:^1.2.1": - version: 1.2.1 - resolution: "which-builtin-type@npm:1.2.1" - dependencies: - call-bound: "npm:^1.0.2" - function.prototype.name: "npm:^1.1.6" - has-tostringtag: "npm:^1.0.2" - is-async-function: "npm:^2.0.0" - is-date-object: "npm:^1.1.0" - is-finalizationregistry: "npm:^1.1.0" - is-generator-function: "npm:^1.0.10" - is-regex: "npm:^1.2.1" - is-weakref: "npm:^1.0.2" - isarray: "npm:^2.0.5" - which-boxed-primitive: "npm:^1.1.0" - which-collection: "npm:^1.0.2" - which-typed-array: "npm:^1.1.16" - checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 - languageName: node - linkType: hard - -"which-collection@npm:^1.0.2": - version: 1.0.2 - resolution: "which-collection@npm:1.0.2" - dependencies: - is-map: "npm:^2.0.3" - is-set: "npm:^2.0.3" - is-weakmap: "npm:^2.0.2" - is-weakset: "npm:^2.0.3" - checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18": - version: 1.1.18 - resolution: "which-typed-array@npm:1.1.18" - dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - for-each: "npm:^0.3.3" - gopd: "npm:^1.2.0" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/0412f4a91880ca1a2a63056187c2e3de6b129b2b5b6c17bc3729f0f7041047ae48fb7424813e51506addb2c97320003ee18b8c57469d2cde37983ef62126143c - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b - languageName: node - linkType: hard - -"word-wrap@npm:~1.2.3": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 - languageName: node - linkType: hard - -"workerpool@npm:^6.5.1": - version: 6.5.1 - resolution: "workerpool@npm:6.5.1" - checksum: 10c0/58e8e969782292cb3a7bfba823f1179a7615250a0cefb4841d5166234db1880a3d0fe83a31dd8d648329ec92c2d0cd1890ad9ec9e53674bb36ca43e9753cdeac - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - -"yargs-unparser@npm:^2.0.0": - version: 2.0.0 - resolution: "yargs-unparser@npm:2.0.0" - dependencies: - camelcase: "npm:^6.0.0" - decamelize: "npm:^4.0.0" - flat: "npm:^5.0.2" - is-plain-obj: "npm:^2.1.0" - checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 - languageName: node - linkType: hard - -"yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 - languageName: node - linkType: hard - -"yn@npm:^2.0.0": - version: 2.0.0 - resolution: "yn@npm:2.0.0" - checksum: 10c0/a52d74080871f22b3af8a6068d8579b86bf2bb81a968f6e406aa6e1ee85ba15f2e1d334184df6cd81024cec32a3cc8dc1f2f09ec4957b58b7b038b3cdef5cbd1 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard + version "1.3.2-0" + resolved "https://github.com/remicolin/forge#17a11a632dd0e50343b3b8393245a2696f78afbb" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" + object-keys "^1.1.1" + +object.entries@^1.0.3: + version "1.1.9" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" + integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-object-atoms "^1.1.1" + +object.getownpropertydescriptors@^2.0.2: + version "2.1.8" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz#2f1fe0606ec1a7658154ccd4f728504f69667923" + integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A== + dependencies: + array.prototype.reduce "^1.0.6" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + gopd "^1.0.1" + safe-array-concat "^1.1.2" + +object.values@^1.0.3: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path@^0.12.7: + version "0.12.7" + resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" + integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== + dependencies: + process "^0.11.1" + util "^0.10.3" + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkijs@^3.2.4: + version "3.2.5" + resolved "https://registry.yarnpkg.com/pkijs/-/pkijs-3.2.5.tgz#dd6ce1c3b92b0467defc4b5a601d30ac1c1120a8" + integrity sha512-WX0la7n7CbnguuaIQoT4Fc0IJckPDOUldzOwlZ0nwpOcySS+Six/tXBdc0RX17J5o1To0SAr3xDJjDLsOfDFQA== + dependencies: + "@noble/hashes" "^1.4.0" + asn1js "^3.0.5" + bytestreamjs "^2.0.0" + pvtsutils "^1.3.2" + pvutils "^1.1.3" + tslib "^2.6.3" + +pluralize@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-3.1.0.tgz#84213d0a12356069daa84060c559242633161368" + integrity sha512-2wcybwjwXOzGI1rlxWtlcs0/nSYK0OzNPqsg35TKxJFQlGhFu3cZ1x7EHS4r4bubQlhzyF4YxxlJqQnIhkUQCw== + +poseidon-lite@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/poseidon-lite/-/poseidon-lite-0.2.1.tgz#7ad98e3a3aa5b91a1fd3a61a87460e9e46fd76d6" + integrity sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog== + +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prettier@^3.3.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" + integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== + +process@^0.11.1: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +pvtsutils@^1.3.2, pvtsutils@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.6.tgz#ec46e34db7422b9e4fdc5490578c1883657d6001" + integrity sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg== + dependencies: + tslib "^2.8.1" + +pvutils@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" + integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== + +r1csfile@0.0.48: + version "0.0.48" + resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.48.tgz#a317fc75407a9da92631666c75bdfc13f0a7835a" + integrity sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw== + dependencies: + "@iden3/bigarray" "0.0.2" + "@iden3/binfileutils" "0.0.12" + fastfile "0.0.20" + ffjavascript "0.3.0" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regexp.prototype.flags@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +safe-array-concat@^1.1.2, safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" + isarray "^2.0.5" + +safe-buffer@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== + dependencies: + es-errors "^1.3.0" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +safer-buffer@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +snarkjs@^0.7.5: + version "0.7.5" + resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.7.5.tgz#334d83b61468bdffbbf922b20734ca47be50b8ab" + integrity sha512-h+3c4rXZKLhLuHk4LHydZCk/h5GcNvk5GjVKRRkHmfb6Ntf8gHOA9zea3g656iclRuhqQ3iKDWFgiD9ypLrKiA== + dependencies: + "@iden3/binfileutils" "0.0.12" + bfj "^7.0.2" + blake2b-wasm "^2.4.0" + circom_runtime "0.1.28" + ejs "^3.1.6" + fastfile "0.0.20" + ffjavascript "0.3.1" + js-sha3 "^0.8.0" + logplease "^1.2.15" + r1csfile "0.0.48" + +source-map-support@^0.5.6: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +static-eval@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" + integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== + dependencies: + escodegen "^1.8.1" + +string-at@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/string-at/-/string-at-1.1.0.tgz#332e090c5724418266a27a09394924b9fad41275" + integrity sha512-jCpPowWKBn0NFdvtmK2qxK40Ol4jPcgCt8qYnKpPx6B5eDwHMDhRvq9MCsDEgsOTNtbXY6beAMHMRT2qPJXllA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.padend@^3.0.0: + version "3.1.6" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz#ba79cf8992609a91c872daa47c6bb144ee7f62a5" + integrity sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +string.prototype.padstart@^3.0.0: + version "3.1.7" + resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.1.7.tgz#529bae9f07186fb0fc6e0709b7f9b1f942aa09d1" + integrity sha512-hc5ZFzw8H2Bl4AeHxE5s+CniFg+bPcr7lRRS189GCM6KhJQBACNRhtMsdcnpBNbjc1XisnUOqbP0c94RZU4GCw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-object-atoms "^1.1.1" + +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" + +string.prototype.trimend@^1.0.3, string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimleft@^2.0.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.3.tgz#dee305118117d0a1843c1fc0d38d5d0754d83c60" + integrity sha512-699Ibssmj/awVzvdNk4g83/Iu8U9vDohzmA/ly2BrQWGhamuY4Tlvs5XKmKliDt3ky6SKbE1bzPhASKCFlx9Sg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + string.prototype.trimstart "^1.0.3" + +string.prototype.trimright@^2.0.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.3.tgz#dc16a21d7456cbc8b2c54d47fe01f06d9efe94eb" + integrity sha512-hoOq56oRFnnfDuXNy2lGHiwT77MehHv9d0zGfRZ8QdC+4zjrkFB9vd5i/zYTd/ymFBd4YxtbdgHt3U6ksGeuBw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + string.prototype.trimend "^1.0.3" + +string.prototype.trimstart@^1.0.3, string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-mocha@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.1.0.tgz#17a1c055f5f7733fd82447c4420740db87221bc8" + integrity sha512-T0C0Xm3/WqCuF2tpa0GNGESTBoKZaiqdUP8guNv4ZY316AFXlyidnrzQ1LUrCT0Wb1i3J0zFTgOh/55Un44WdA== + dependencies: + ts-node "7.0.1" + optionalDependencies: + tsconfig-paths "^3.5.0" + +ts-node@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" + integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== + dependencies: + arrify "^1.0.0" + buffer-from "^1.1.0" + diff "^3.1.0" + make-error "^1.1.1" + minimist "^1.2.0" + mkdirp "^0.5.1" + source-map-support "^0.5.6" + yn "^2.0.0" + +tsconfig-paths@^3.5.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.6.3, tslib@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@^4.0.0, type-detect@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" + integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== + +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" + +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== + dependencies: + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" + +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" + +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" + +typescript-parser@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/typescript-parser/-/typescript-parser-2.6.1.tgz#b5f86e3f9d35ad46a346a32068cab61bbd96f803" + integrity sha512-p4ZC10pu67KO8+WJALsJWhbAq4pRBIcP+ls8Bhl+V8KvzYQDwxw/P5hJhn3rBdLnfS5aGLflfh7WiZpN6yi+5g== + dependencies: + lodash "^4.17.10" + lodash-es "^4.17.10" + tslib "^1.9.3" + typescript "^3.0.3" + +typescript@^3.0.3: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== + dependencies: + call-bound "^1.0.3" + has-bigints "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" + +underscore@1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" + integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== + +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + +util@^0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== + dependencies: + inherits "2.0.3" + +uuid@^11.0.5: + version "11.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.0.tgz#9549028be1753bb934fc96e2bca09bb4105ae912" + integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== + +wasmbuilder@0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.16.tgz#f34c1f2c047d2f6e1065cbfec5603988f16d8549" + integrity sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA== + +wasmcurves@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.2.2.tgz#ca444f6a6f6e2a5cbe6629d98ff478a62b4ccb2b" + integrity sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ== + dependencies: + wasmbuilder "0.0.16" + +web-worker@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" + integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== + +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== + dependencies: + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.16, which-typed-array@^1.1.18: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + +word-wrap@~1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yargs-parser@^20.2.2, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-unparser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yn@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" + integrity sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/contracts/contracts/abstract/SelfVerificationRoot.sol b/contracts/contracts/abstract/SelfVerificationRoot.sol index 8586eaa22..5968a6525 100644 --- a/contracts/contracts/abstract/SelfVerificationRoot.sol +++ b/contracts/contracts/abstract/SelfVerificationRoot.sol @@ -5,6 +5,7 @@ import {IVcAndDiscloseCircuitVerifier} from "../interfaces/IVcAndDiscloseCircuit import {IIdentityVerificationHubV1} from "../interfaces/IIdentityVerificationHubV1.sol"; import {ISelfVerificationRoot} from "../interfaces/ISelfVerificationRoot.sol"; import {CircuitConstants} from "../constants/CircuitConstants.sol"; +import {AttestationId} from "../constants/AttestationId.sol"; /** * @title SelfVerificationRoot @@ -22,8 +23,8 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { uint256 internal _scope; /// @notice The attestation ID that proofs must match - /// @dev Used to validate that submitted proofs contain the correct attestation - uint256 internal _attestationId; + /// @dev Used to validate that submitted proofs is generated with allowed attestation IDs + mapping(uint256 => bool) internal _attestationIds; /// @notice Configuration settings for the verification process /// @dev Contains settings for age verification, country restrictions, and OFAC checks @@ -33,6 +34,29 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { /// @dev Immutable reference used for proof verification IIdentityVerificationHubV1 internal immutable _identityVerificationHub; + // ==================================================== + // Circuit Constants + // ==================================================== + + // Make CircuitConstants available to inheriting contracts + uint256 internal constant REVEALED_DATA_PACKED_INDEX = CircuitConstants.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX; + uint256 internal constant FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX = CircuitConstants.VC_AND_DISCLOSE_FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX; + uint256 internal constant NULLIFIER_INDEX = CircuitConstants.VC_AND_DISCLOSE_NULLIFIER_INDEX; + uint256 internal constant ATTESTATION_ID_INDEX = CircuitConstants.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX; + uint256 internal constant MERKLE_ROOT_INDEX = CircuitConstants.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX; + uint256 internal constant CURRENT_DATE_INDEX = CircuitConstants.VC_AND_DISCLOSE_CURRENT_DATE_INDEX; + uint256 internal constant PASSPORT_NO_SMT_ROOT_INDEX = CircuitConstants.VC_AND_DISCLOSE_PASSPORT_NO_SMT_ROOT_INDEX; + uint256 internal constant NAME_DOB_SMT_ROOT_INDEX = CircuitConstants.VC_AND_DISCLOSE_NAME_DOB_SMT_ROOT_INDEX; + uint256 internal constant NAME_YOB_SMT_ROOT_INDEX = CircuitConstants.VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX; + uint256 internal constant SCOPE_INDEX = CircuitConstants.VC_AND_DISCLOSE_SCOPE_INDEX; + uint256 internal constant USER_IDENTIFIER_INDEX = CircuitConstants.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX; + + // ==================================================== + // Attestation ID + // ==================================================== + + bytes32 constant E_PASSPORT_ID = AttestationId.E_PASSPORT; + // ==================================================== // Errors // ==================================================== @@ -49,31 +73,78 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { * @notice Initializes the SelfVerificationRoot contract. * @param identityVerificationHub The address of the Identity Verification Hub. * @param scope The expected proof scope for user registration. - * @param attestationId The expected attestation identifier required in proofs. - * @param olderThanEnabled Flag indicating if 'olderThan' verification is enabled. - * @param olderThan Value for 'olderThan' verification. - * @param forbiddenCountriesEnabled Flag indicating if forbidden countries verification is enabled. - * @param forbiddenCountriesListPacked Packed list of forbidden countries. - * @param ofacEnabled Array of flags indicating which OFAC checks are enabled. [passportNo, nameAndDob, nameAndYob] + * @param attestationIds The expected attestation identifiers required in proofs. */ constructor( address identityVerificationHub, uint256 scope, - uint256 attestationId, - bool olderThanEnabled, - uint256 olderThan, - bool forbiddenCountriesEnabled, - uint256[4] memory forbiddenCountriesListPacked, - bool[3] memory ofacEnabled + uint256[] memory attestationIds ) { _identityVerificationHub = IIdentityVerificationHubV1(identityVerificationHub); _scope = scope; - _attestationId = attestationId; - _verificationConfig.olderThanEnabled = olderThanEnabled; - _verificationConfig.olderThan = olderThan; - _verificationConfig.forbiddenCountriesEnabled = forbiddenCountriesEnabled; - _verificationConfig.forbiddenCountriesListPacked = forbiddenCountriesListPacked; - _verificationConfig.ofacEnabled = ofacEnabled; + for (uint256 i = 0; i < attestationIds.length; i++) { + _attestationIds[attestationIds[i]] = true; + } + } + + /** + * @notice Updates the verification configuration + * @dev Used to set or update verification parameters after contract deployment + * @param verificationConfig The new verification configuration to apply + */ + function _setVerificationConfig( + ISelfVerificationRoot.VerificationConfig memory verificationConfig + ) internal { + _verificationConfig = verificationConfig; + } + + /** + * @notice Returns the current verification configuration + * @dev Used to retrieve the current verification settings + * @return Current verification configuration + */ + function _getVerificationConfig() internal view returns (ISelfVerificationRoot.VerificationConfig memory) { + return _verificationConfig; + } + + /** + * @notice Updates the scope value + * @dev Used to change the expected scope for proofs + * @param newScope The new scope value to set + */ + function _setScope(uint256 newScope) internal { + _scope = newScope; + } + + /** + * @notice Adds a new attestation ID to the allowed list + * @dev Used to add support for additional attestation types + * @param attestationId The attestation ID to add + */ + function _addAttestationId(uint256 attestationId) internal { + _attestationIds[attestationId] = true; + } + + /** + * @notice Removes an attestation ID from the allowed list + * @dev Used to revoke support for specific attestation types + * @param attestationId The attestation ID to remove + */ + function _removeAttestationId(uint256 attestationId) internal { + _attestationIds[attestationId] = false; + } + + /** + * @notice Helper function to get an array of revealed data values from proof signals + * @dev Returns an array of the three packed revealed data values + * @param pubSignals The proof's public signals + * @return revealedDataPacked Array of the three packed revealed data values + */ + function getRevealedDataPacked(uint256[21] memory pubSignals) internal pure returns (uint256[3] memory revealedDataPacked) { + revealedDataPacked[0] = pubSignals[REVEALED_DATA_PACKED_INDEX]; + revealedDataPacked[1] = pubSignals[REVEALED_DATA_PACKED_INDEX + 1]; + revealedDataPacked[2] = pubSignals[REVEALED_DATA_PACKED_INDEX + 2]; + return revealedDataPacked; } /** @@ -82,7 +153,7 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { * @param proof The proof data for verification and disclosure */ function verifySelfProof( - IVcAndDiscloseCircuitVerifier.VcAndDiscloseProof memory proof + ISelfVerificationRoot.DiscloseCircuitProof memory proof ) public virtual @@ -91,7 +162,7 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { revert InvalidScope(); } - if (_attestationId != proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX]) { + if (!_attestationIds[proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX]]) { revert InvalidAttestationId(); } @@ -102,9 +173,13 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { forbiddenCountriesEnabled: _verificationConfig.forbiddenCountriesEnabled, forbiddenCountriesListPacked: _verificationConfig.forbiddenCountriesListPacked, ofacEnabled: _verificationConfig.ofacEnabled, - vcAndDiscloseProof: proof + vcAndDiscloseProof: IVcAndDiscloseCircuitVerifier.VcAndDiscloseProof({ + a: proof.a, + b: proof.b, + c: proof.c, + pubSignals: proof.pubSignals + }) }) ); } - } \ No newline at end of file diff --git a/contracts/contracts/example/Airdrop.sol b/contracts/contracts/example/Airdrop.sol index 796c10783..e62fe0d54 100644 --- a/contracts/contracts/example/Airdrop.sol +++ b/contracts/contracts/example/Airdrop.sol @@ -5,10 +5,7 @@ import {IERC20, SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeE import {MerkleProof} from "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol"; import {SelfVerificationRoot} from "../abstract/SelfVerificationRoot.sol"; import {ISelfVerificationRoot} from "../interfaces/ISelfVerificationRoot.sol"; -import {IIdentityVerificationHubV1} from "../interfaces/IIdentityVerificationHubV1.sol"; -import {IVcAndDiscloseCircuitVerifier} from "../interfaces/IVcAndDiscloseCircuitVerifier.sol"; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; -import {CircuitConstants} from "../constants/CircuitConstants.sol"; /** * @title Airdrop (Experimental) @@ -77,6 +74,12 @@ contract Airdrop is SelfVerificationRoot, Ownable { event ClaimClose(); event UserIdentifierRegistered(uint256 indexed registeredUserIdentifier, uint256 indexed nullifier); + /// @notice Emitted when the scope is updated. + event ScopeUpdated(uint256 newScope); + /// @notice Emitted when a new attestation ID is added. + event AttestationIdAdded(uint256 attestationId); + /// @notice Emitted when an attestation ID is removed. + event AttestationIdRemoved(uint256 attestationId); // ==================================================== // Constructor @@ -88,34 +91,19 @@ contract Airdrop is SelfVerificationRoot, Ownable { * and sets the ERC20 token to be distributed. * @param _identityVerificationHub The address of the Identity Verification Hub. * @param _scope The expected proof scope for user registration. - * @param _attestationId The expected attestation identifier required in proofs. + * @param _attestationIds The expected attestation identifiers required in proofs. * @param _token The address of the ERC20 token for airdrop. - * @param _olderThanEnabled Flag indicating if 'olderThan' verification is enabled. - * @param _olderThan Value for 'olderThan' verification. - * @param _forbiddenCountriesEnabled Flag indicating if forbidden countries verification is enabled. - * @param _forbiddenCountriesListPacked Packed list of forbidden countries. - * @param _ofacEnabled Array of flags indicating which OFAC checks are enabled. [passportNo, nameAndDob, nameAndYob] */ constructor( address _identityVerificationHub, uint256 _scope, - uint256 _attestationId, - address _token, - bool _olderThanEnabled, - uint256 _olderThan, - bool _forbiddenCountriesEnabled, - uint256[4] memory _forbiddenCountriesListPacked, - bool[3] memory _ofacEnabled + uint256[] memory _attestationIds, + address _token ) SelfVerificationRoot( _identityVerificationHub, _scope, - _attestationId, - _olderThanEnabled, - _olderThan, - _forbiddenCountriesEnabled, - _forbiddenCountriesListPacked, - _ofacEnabled + _attestationIds ) Ownable(_msgSender()) { @@ -143,7 +131,37 @@ contract Airdrop is SelfVerificationRoot, Ownable { function setVerificationConfig( ISelfVerificationRoot.VerificationConfig memory newVerificationConfig ) external onlyOwner { - _verificationConfig = newVerificationConfig; + _setVerificationConfig(newVerificationConfig); + } + + /** + * @notice Updates the scope used for verification. + * @dev Only callable by the contract owner. + * @param newScope The new scope to set. + */ + function setScope(uint256 newScope) external onlyOwner { + _setScope(newScope); + emit ScopeUpdated(newScope); + } + + /** + * @notice Adds a new attestation ID to the allowed list. + * @dev Only callable by the contract owner. + * @param attestationId The attestation ID to add. + */ + function addAttestationId(uint256 attestationId) external onlyOwner { + _addAttestationId(attestationId); + emit AttestationIdAdded(attestationId); + } + + /** + * @notice Removes an attestation ID from the allowed list. + * @dev Only callable by the contract owner. + * @param attestationId The attestation ID to remove. + */ + function removeAttestationId(uint256 attestationId) external onlyOwner { + _removeAttestationId(attestationId); + emit AttestationIdRemoved(attestationId); } /** @@ -188,7 +206,7 @@ contract Airdrop is SelfVerificationRoot, Ownable { * @param proof The VC and Disclose proof data used to verify and register the user. */ function verifySelfProof( - IVcAndDiscloseCircuitVerifier.VcAndDiscloseProof memory proof + ISelfVerificationRoot.DiscloseCircuitProof memory proof ) public override @@ -197,38 +215,21 @@ contract Airdrop is SelfVerificationRoot, Ownable { if (!isRegistrationOpen) { revert RegistrationNotOpen(); } - - if (_scope != proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_SCOPE_INDEX]) { - revert InvalidScope(); - } - - if (_attestationId != proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX]) { - revert InvalidAttestationId(); - } - if (_nullifiers[proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_NULLIFIER_INDEX]] != 0) { + if (_nullifiers[proof.pubSignals[NULLIFIER_INDEX]] != 0) { revert RegisteredNullifier(); } - if (proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX] == 0) { + if (proof.pubSignals[USER_IDENTIFIER_INDEX] == 0) { revert InvalidUserIdentifier(); } - IIdentityVerificationHubV1.VcAndDiscloseVerificationResult memory result = _identityVerificationHub.verifyVcAndDisclose( - IIdentityVerificationHubV1.VcAndDiscloseHubProof({ - olderThanEnabled: _verificationConfig.olderThanEnabled, - olderThan: _verificationConfig.olderThan, - forbiddenCountriesEnabled: _verificationConfig.forbiddenCountriesEnabled, - forbiddenCountriesListPacked: _verificationConfig.forbiddenCountriesListPacked, - ofacEnabled: _verificationConfig.ofacEnabled, - vcAndDiscloseProof: proof - }) - ); - - _nullifiers[result.nullifier] = proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX]; - _registeredUserIdentifiers[proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX]] = true; - - emit UserIdentifierRegistered(proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX], result.nullifier); + super.verifySelfProof(proof); + + _nullifiers[proof.pubSignals[NULLIFIER_INDEX]] = proof.pubSignals[USER_IDENTIFIER_INDEX]; + _registeredUserIdentifiers[proof.pubSignals[USER_IDENTIFIER_INDEX]] = true; + + emit UserIdentifierRegistered(proof.pubSignals[USER_IDENTIFIER_INDEX], proof.pubSignals[NULLIFIER_INDEX]); } /** @@ -240,11 +241,12 @@ contract Airdrop is SelfVerificationRoot, Ownable { } /** - * @notice Retrieves the expected attestation identifier. - * @return The attestation identifier. + * @notice Checks if the specified attestation ID is allowed. + * @param attestationId The attestation ID to check. + * @return True if the attestation ID is allowed, false otherwise. */ - function getAttestationId() external view returns (uint256) { - return _attestationId; + function isAttestationIdAllowed(uint256 attestationId) external view returns (bool) { + return _attestationIds[attestationId]; } /** @@ -261,7 +263,7 @@ contract Airdrop is SelfVerificationRoot, Ownable { * @return The verification configuration used for registration. */ function getVerificationConfig() external view returns (ISelfVerificationRoot.VerificationConfig memory) { - return _verificationConfig; + return _getVerificationConfig(); } /** diff --git a/contracts/contracts/example/SelfPassportERC721.sol b/contracts/contracts/example/SelfPassportERC721.sol new file mode 100644 index 000000000..d823b266e --- /dev/null +++ b/contracts/contracts/example/SelfPassportERC721.sol @@ -0,0 +1,216 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; +import {SelfVerificationRoot} from "../abstract/SelfVerificationRoot.sol"; +import {ISelfVerificationRoot} from "../interfaces/ISelfVerificationRoot.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; +import {SelfCircuitLibrary} from "../libraries/SelfCircuitLibrary.sol"; + +/** + * @title SelfPassportERC721 + * @notice This contract issues ERC721 tokens based on verified passport credentials using self's verification infrastructure + * @dev Inherits from SelfVerificationRoot for verification logic and ERC721 for NFT functionality + */ +contract SelfPassportERC721 is SelfVerificationRoot, ERC721, Ownable { + using SelfCircuitLibrary for uint256[3]; + + // ==================================================== + // Storage Variables + // ==================================================== + + /// @notice Counter for token IDs + uint256 private _tokenIdCounter; + + /// @notice Mapping from token ID to passport attributes + mapping(uint256 => SelfCircuitLibrary.PassportData) private _passportAttributes; + + /// @notice Mapping to track used nullifiers + mapping(uint256 => bool) private _usedNullifiers; + + // ==================================================== + // Events + // ==================================================== + + event PassportNFTMinted( + uint256 indexed tokenId, + address indexed owner, + SelfCircuitLibrary.PassportData attributes + ); + + /// @notice Emitted when the scope is updated + event ScopeUpdated(uint256 newScope); + + /// @notice Emitted when a new attestation ID is added + event AttestationIdAdded(uint256 attestationId); + + /// @notice Emitted when an attestation ID is removed + event AttestationIdRemoved(uint256 attestationId); + + // ==================================================== + // Errors + // ==================================================== + + error NullifierAlreadyUsed(); + error RegistrationNotOpen(); + error InvalidUserIdentifier(); + + // ==================================================== + // Constructor + // ==================================================== + + /** + * @notice Constructor for the SelfPassportERC721 contract + * @param identityVerificationHub The address of the Identity Verification Hub + * @param scope The expected proof scope for user registration + * @param attestationIds The expected attestation identifiers required in proofs + * @param name The name of the NFT collection + * @param symbol The symbol of the NFT collection + */ + constructor( + address identityVerificationHub, + uint256 scope, + uint256[] memory attestationIds, + string memory name, + string memory symbol + ) + SelfVerificationRoot(identityVerificationHub, scope, attestationIds) + ERC721(name, symbol) + Ownable(_msgSender()) + {} + + // ==================================================== + // External/Public Functions + // ==================================================== + + /** + * @notice Updates the scope used for verification + * @dev Only callable by the contract owner + * @param newScope The new scope to set + */ + function setScope(uint256 newScope) external onlyOwner { + _setScope(newScope); + emit ScopeUpdated(newScope); + } + + /** + * @notice Adds a new attestation ID to the allowed list + * @dev Only callable by the contract owner + * @param attestationId The attestation ID to add + */ + function addAttestationId(uint256 attestationId) external onlyOwner { + _addAttestationId(attestationId); + emit AttestationIdAdded(attestationId); + } + + /** + * @notice Removes an attestation ID from the allowed list + * @dev Only callable by the contract owner + * @param attestationId The attestation ID to remove + */ + function removeAttestationId(uint256 attestationId) external onlyOwner { + _removeAttestationId(attestationId); + emit AttestationIdRemoved(attestationId); + } + + /** + * @notice Updates the verification configuration + * @dev Only callable by the contract owner + * @param verificationConfig The new verification configuration + */ + function setVerificationConfig( + ISelfVerificationRoot.VerificationConfig memory verificationConfig + ) external onlyOwner { + _setVerificationConfig(verificationConfig); + } + + /** + * @notice Verifies a self-proof and mints an NFT with passport attributes + * @param proof The VC and Disclose proof data used to verify and register the user + */ + function verifySelfProof( + ISelfVerificationRoot.DiscloseCircuitProof memory proof + ) public override { + if (_usedNullifiers[proof.pubSignals[NULLIFIER_INDEX]]) { + revert NullifierAlreadyUsed(); + } + + if (proof.pubSignals[USER_IDENTIFIER_INDEX] == 0) { + revert InvalidUserIdentifier(); + } + + // Verify the proof using the parent contract's logic + super.verifySelfProof(proof); + + // Extract passport attributes from the revealed data using the utility function + uint256[3] memory revealedDataPacked = getRevealedDataPacked(proof.pubSignals); + + // Extract passport data using SelfCircuitLibrary + SelfCircuitLibrary.PassportData memory attributes = SelfCircuitLibrary.extractPassportData(revealedDataPacked); + + // Mint NFT + uint256 tokenId = _tokenIdCounter++; + _mint(msg.sender, tokenId); + _passportAttributes[tokenId] = attributes; + _usedNullifiers[proof.pubSignals[NULLIFIER_INDEX]] = true; + + emit PassportNFTMinted(tokenId, msg.sender, attributes); + } + + /** + * @notice Get passport attributes for a specific token ID + * @param tokenId The token ID to query + * @return The passport attributes associated with the token + */ + function getPassportAttributes(uint256 tokenId) external view returns (SelfCircuitLibrary.PassportData memory) { + require(_exists(tokenId), "Token does not exist"); + return _passportAttributes[tokenId]; + } + + /** + * @notice Check if a nullifier has been used + * @param nullifier The nullifier to check + * @return True if the nullifier has been used, false otherwise + */ + function isNullifierUsed(uint256 nullifier) external view returns (bool) { + return _usedNullifiers[nullifier]; + } + + /** + * @notice Check if the specified attestation ID is allowed + * @param attestationId The attestation ID to check + * @return True if the attestation ID is allowed, false otherwise + */ + function isAttestationIdAllowed(uint256 attestationId) external view returns (bool) { + return _attestationIds[attestationId]; + } + + /** + * @notice Get the current scope value + * @return The current scope value + */ + function getScope() external view returns (uint256) { + return _scope; + } + + /** + * @notice Get the current verification configuration + * @return The current verification configuration + */ + function getVerificationConfig() external view returns (ISelfVerificationRoot.VerificationConfig memory) { + return _getVerificationConfig(); + } + + // ==================================================== + // Internal Functions + // ==================================================== + + /** + * @notice Check if a token exists + * @param tokenId The token ID to check + * @return True if the token exists, false otherwise + */ + function _exists(uint256 tokenId) internal view returns (bool) { + return _ownerOf(tokenId) != address(0); + } +} \ No newline at end of file diff --git a/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol b/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol index 9b9302f3a..913595049 100644 --- a/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol +++ b/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol @@ -26,8 +26,8 @@ interface IIdentityVerificationHubV1 { EXPIRY_DATE, // The passport expiry date. OLDER_THAN, // The "older than" age verification value. PASSPORT_NO_OFAC, // The passport number OFAC status. - NAME_AND_DOB_OFAC, // The name and date of birth OFAC status. - NAME_AND_YOB_OFAC // The name and year of birth OFAC status. + NAME_AND_DOB_OFAC, // The name and date of birth OFAC verification result. + NAME_AND_YOB_OFAC // The name and year of birth OFAC verification result. } /** diff --git a/contracts/contracts/interfaces/ISelfVerificationRoot.sol b/contracts/contracts/interfaces/ISelfVerificationRoot.sol index a55385311..98f834822 100644 --- a/contracts/contracts/interfaces/ISelfVerificationRoot.sol +++ b/contracts/contracts/interfaces/ISelfVerificationRoot.sol @@ -12,9 +12,20 @@ interface ISelfVerificationRoot { uint256[4] forbiddenCountriesListPacked; bool[3] ofacEnabled; } + + struct DiscloseCircuitProof { + uint256[2] a; + uint256[2][2] b; + uint256[2] c; + uint256[21] pubSignals; + } + /** + * @notice Verifies a self-proof + * @param proof The proof data for verification and disclosure + */ function verifySelfProof( - IVcAndDiscloseCircuitVerifier.VcAndDiscloseProof memory proof + DiscloseCircuitProof memory proof ) external; } \ No newline at end of file diff --git a/contracts/contracts/libraries/CircuitAttributeHandler.sol b/contracts/contracts/libraries/CircuitAttributeHandler.sol index 61fc25d2f..9d4cfd0e8 100644 --- a/contracts/contracts/libraries/CircuitAttributeHandler.sol +++ b/contracts/contracts/libraries/CircuitAttributeHandler.sol @@ -1,7 +1,6 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.28; -import {IVcAndDiscloseCircuitVerifier} from "../interfaces/IVcAndDiscloseCircuitVerifier.sol"; import {CircuitConstants} from "../constants/CircuitConstants.sol"; import {Formatter} from "./Formatter.sol"; diff --git a/contracts/contracts/libraries/SelfCircuitLibrary.sol b/contracts/contracts/libraries/SelfCircuitLibrary.sol new file mode 100644 index 000000000..e14da577d --- /dev/null +++ b/contracts/contracts/libraries/SelfCircuitLibrary.sol @@ -0,0 +1,223 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.28; + +import {Formatter} from "./Formatter.sol"; +import {CircuitAttributeHandler} from "./CircuitAttributeHandler.sol"; + +/** + * @title SelfCircuitLibrary + * @notice A user-friendly wrapper library for handling passport verification and formatting + * @dev This library provides simplified interfaces for common operations using CircuitAttributeHandler and Formatter + */ +library SelfCircuitLibrary { + /** + * @notice Represents passport attributes in a more user-friendly format + */ + struct PassportData { + string issuingState; + string[] name; // [firstName, lastName] + string passportNumber; + string nationality; + string dateOfBirth; + string gender; + string expiryDate; + uint256 olderThan; + bool passportNoOfac; + bool nameAndDobOfac; + bool nameAndYobOfac; + } + + /** + * @notice Extracts and formats passport data from packed revealed data + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return PassportData struct containing all formatted passport attributes + */ + function extractPassportData(uint256[3] memory revealedDataPacked) internal pure returns (PassportData memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + + return PassportData({ + issuingState: CircuitAttributeHandler.getIssuingState(charcodes), + name: CircuitAttributeHandler.getName(charcodes), + passportNumber: CircuitAttributeHandler.getPassportNumber(charcodes), + nationality: CircuitAttributeHandler.getNationality(charcodes), + dateOfBirth: CircuitAttributeHandler.getDateOfBirth(charcodes), + gender: CircuitAttributeHandler.getGender(charcodes), + expiryDate: CircuitAttributeHandler.getExpiryDate(charcodes), + olderThan: CircuitAttributeHandler.getOlderThan(charcodes), + passportNoOfac: CircuitAttributeHandler.getPassportNoOfac(charcodes) == 1, + nameAndDobOfac: CircuitAttributeHandler.getNameAndDobOfac(charcodes) == 1, + nameAndYobOfac: CircuitAttributeHandler.getNameAndYobOfac(charcodes) == 1 + }); + } + + /** + * @notice Retrieves the issuing state from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return string The issuing state + */ + function getIssuingState(uint256[3] memory revealedDataPacked) internal pure returns (string memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getIssuingState(charcodes); + } + + /** + * @notice Retrieves and formats the name from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return string[] Array containing [firstName, lastName] + */ + function getName(uint256[3] memory revealedDataPacked) internal pure returns (string[] memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getName(charcodes); + } + + /** + * @notice Retrieves the passport number from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return string The passport number + */ + function getPassportNumber(uint256[3] memory revealedDataPacked) internal pure returns (string memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getPassportNumber(charcodes); + } + + /** + * @notice Retrieves the nationality from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return string The nationality + */ + function getNationality(uint256[3] memory revealedDataPacked) internal pure returns (string memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getNationality(charcodes); + } + + /** + * @notice Retrieves and formats the date of birth from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return string The formatted date of birth + */ + function getDateOfBirth(uint256[3] memory revealedDataPacked) internal pure returns (string memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getDateOfBirth(charcodes); + } + + /** + * @notice Retrieves the gender from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return string The gender + */ + function getGender(uint256[3] memory revealedDataPacked) internal pure returns (string memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getGender(charcodes); + } + + /** + * @notice Retrieves and formats the passport expiry date from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return string The formatted passport expiry date + */ + function getExpiryDate(uint256[3] memory revealedDataPacked) internal pure returns (string memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getExpiryDate(charcodes); + } + + /** + * @notice Retrieves the 'older than' age attribute from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return uint256 The extracted age + */ + function getOlderThan(uint256[3] memory revealedDataPacked) internal pure returns (uint256) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getOlderThan(charcodes); + } + + /** + * @notice Retrieves the passport number OFAC status from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return bool True if passport number is not on OFAC list + */ + function getPassportNoOfac(uint256[3] memory revealedDataPacked) internal pure returns (bool) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getPassportNoOfac(charcodes) == 1; + } + + /** + * @notice Retrieves the name and date of birth OFAC status from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return bool True if name and DOB are not on OFAC list + */ + function getNameAndDobOfac(uint256[3] memory revealedDataPacked) internal pure returns (bool) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getNameAndDobOfac(charcodes) == 1; + } + + /** + * @notice Retrieves the name and year of birth OFAC status from the encoded attribute byte array + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @return bool True if name and YOB are not on OFAC list + */ + function getNameAndYobOfac(uint256[3] memory revealedDataPacked) internal pure returns (bool) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.getNameAndYobOfac(charcodes) == 1; + } + + /** + * @notice Checks if a passport holder meets age requirements + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @param minimumAge The minimum age requirement + * @return bool True if the passport holder is at least minimumAge years old + */ + function compareOlderThan(uint256[3] memory revealedDataPacked, uint256 minimumAge) internal pure returns (bool) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.compareOlderThan(charcodes, minimumAge); + } + + /** + * @notice Performs OFAC checks with simplified interface + * @param revealedDataPacked An array of three packed uint256 values containing the passport data + * @param checkPassportNo Whether to check passport number against OFAC + * @param checkNameAndDob Whether to check name and date of birth against OFAC + * @param checkNameAndYob Whether to check name and year of birth against OFAC + * @return bool True if all enabled checks pass + */ + function compareOfac( + uint256[3] memory revealedDataPacked, + bool checkPassportNo, + bool checkNameAndDob, + bool checkNameAndYob + ) internal pure returns (bool) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); + return CircuitAttributeHandler.compareOfac( + charcodes, + checkPassportNo, + checkNameAndDob, + checkNameAndYob + ); + } + + /** + * @notice Converts a date string to Unix timestamp + * @param dateString Date string in YYMMDD format + * @return uint256 Unix timestamp + */ + function dateToTimestamp(string memory dateString) internal pure returns (uint256) { + return Formatter.dateToUnixTimestamp(dateString); + } + + /** + * @notice Formats a date string from YYMMDD to DD-MM-YY + * @param dateString Date string in YYMMDD format + * @return string Formatted date string in DD-MM-YY format + */ + function formatDate(string memory dateString) internal pure returns (string memory) { + return Formatter.formatDate(dateString); + } + + /** + * @notice Formats a full name string into first name and last name + * @param fullName Full name string in "lastName<", "files": [ - "contracts/constants/*", "contracts/interfaces/*", + "contracts/constants/*", "contracts/libraries/*", - "contracts/proxy/*", - "contracts/registry/*", - "contracts/verifiers/*", - "contracts/IdentityVerificationHub.sol", - "contracts/IdentityVerificationHubImplV1.sol", - "contracts/utils/PCR0Manager.sol" + "contracts/abstract/*" ], "scripts": { - "compile": "npx hardhat clean && npx hardhat compile", + "build": "npx hardhat clean && npx hardhat compile", "deploy:all:localhost": "npm run deploy:verifiers:localhost && npm run deploy:registry:localhost && npm run deploy:hub:localhost", "deploy:hub:localhost": "npx hardhat ignition deploy ignition/modules/deployHub.ts --network localhost --verify", "deploy:registry:localhost": "npx hardhat ignition deploy ignition/modules/deployRegistry.ts --network localhost --verify", diff --git a/contracts/scripts/findErrorSignature.ts b/contracts/scripts/findErrorSignature.ts index 6971d34f8..979338d81 100644 --- a/contracts/scripts/findErrorSignature.ts +++ b/contracts/scripts/findErrorSignature.ts @@ -63,12 +63,13 @@ const errorSignatures = [ 'INVALID_REVEALED_DATA_TYPE()', 'HUB_NOT_SET()', 'ONLY_HUB_CAN_ACCESS()', - 'REGISTERED_COMMITMENT()' + 'REGISTERED_COMMITMENT()', + 'RegisteredNullifier()' ]; errorSignatures.forEach(sig => { // Pls input the error code - const errorCode = '0x9003ac4d'; + const errorCode = '0x22cbc6a2'; const selector = ethers.id(sig).slice(0, 10); if (selector === errorCode) { console.log(`Found matching error: ${sig}`); diff --git a/contracts/test/example/airdrop.test.ts b/contracts/test/example/airdrop.test.ts index 6a2aebf61..09f222c89 100644 --- a/contracts/test/example/airdrop.test.ts +++ b/contracts/test/example/airdrop.test.ts @@ -13,6 +13,7 @@ import BalanceTree from "../utils/example/balance-tree"; import { castFromScope } from "../../../common/src/utils/circuits/uuid"; import { formatCountriesList, reverseBytes } from '../../../common/src/utils/circuits/formatInputs'; import { Formatter } from "../utils/formatter"; +import { hashEndpointWithScope } from "../../../common/src/utils/scope"; describe("Airdrop", () => { let deployedActors: DeployedActors; @@ -27,12 +28,14 @@ describe("Airdrop", () => { let nullifier: any; let forbiddenCountriesList: any; let countriesListPacked: any; + let attestationIds: any[]; before(async () => { deployedActors = await deploySystemFixtures(); registerSecret = generateRandomFieldElement(); nullifier = generateRandomFieldElement(); + attestationIds = [BigInt(ATTESTATION_ID.E_PASSPORT)]; commitment = generateCommitment(registerSecret, ATTESTATION_ID.E_PASSPORT, deployedActors.mockPassport); forbiddenCountriesList = ['AAA', 'ABC', 'CBA']; @@ -45,7 +48,7 @@ describe("Airdrop", () => { registerSecret, BigInt(ATTESTATION_ID.E_PASSPORT).toString(), deployedActors.mockPassport, - "test-airdrop", + hashEndpointWithScope("https://test.com", "test-scope"), new Array(88).fill("1"), "1", imt, @@ -73,17 +76,21 @@ describe("Airdrop", () => { const airdropFactory = await ethers.getContractFactory("Airdrop"); airdrop = await airdropFactory.connect(deployedActors.owner).deploy( deployedActors.hub.target, - castFromScope("test-airdrop"), - ATTESTATION_ID.E_PASSPORT, - token.target, - true, - 20, - true, - countriesListPacked, - [true, true, true], + hashEndpointWithScope("https://test.com", "test-scope"), + attestationIds, + token.target ); await airdrop.waitForDeployment(); + const verificationConfig = { + olderThanEnabled: true, + olderThan: 20, + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: countriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean] + }; + await airdrop.connect(deployedActors.owner).setVerificationConfig(verificationConfig); + const mintAmount = ethers.parseEther("424242424242"); await token.mint(airdrop.target, mintAmount); @@ -234,11 +241,17 @@ describe("Airdrop", () => { registerSecret, BigInt(ATTESTATION_ID.E_PASSPORT).toString(), deployedActors.mockPassport, - "test-airdrop-invalid", + hashEndpointWithScope("https://test.com", "test-scope-invalid"), new Array(88).fill("1"), "1", imt, "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + (await deployedActors.user1.getAddress()).slice(2) ); await airdrop.connect(owner).openRegistration(); @@ -275,11 +288,17 @@ describe("Airdrop", () => { registerSecret, BigInt(ATTESTATION_ID.INVALID_ATTESTATION_ID).toString(), deployedActors.mockPassport, - "test-airdrop", + hashEndpointWithScope("https://test.com", "test-scope"), new Array(88).fill("1"), "1", invalidImt, "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + (await deployedActors.user1.getAddress()).slice(2) ); await airdrop.connect(owner).openRegistration(); @@ -294,13 +313,15 @@ describe("Airdrop", () => { registerSecret, BigInt(ATTESTATION_ID.E_PASSPORT).toString(), deployedActors.mockPassport, - "test-airdrop", + hashEndpointWithScope("https://test.com", "test-scope"), new Array(88).fill("1"), "1", imt, "20", undefined, undefined, + undefined, + undefined, forbiddenCountriesList, "0000000000000000000000000000000000000000" ); @@ -316,17 +337,21 @@ describe("Airdrop", () => { const airdropFactory = await ethers.getContractFactory("Airdrop"); const newAirdrop = await airdropFactory.connect(owner).deploy( hub.target, - castFromScope("test-airdrop"), - ATTESTATION_ID.E_PASSPORT, - token.target, - true, - 20, - true, - countriesListPacked, - [true, true, true], + hashEndpointWithScope("https://test.com", "test-scope"), + attestationIds, + token.target ); await newAirdrop.waitForDeployment(); + const verificationConfig = { + olderThanEnabled: true, + olderThan: 20, + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: countriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean] + }; + await newAirdrop.connect(owner).setVerificationConfig(verificationConfig); + await newAirdrop.connect(owner).openRegistration(); await expect(newAirdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)) .to.not.be.reverted; @@ -334,12 +359,15 @@ describe("Airdrop", () => { it("should return correct scope", async () => { const scope = await airdrop.getScope(); - expect(scope).to.equal(castFromScope("test-airdrop")); + expect(scope).to.equal(hashEndpointWithScope("https://test.com", "test-scope")); }); - it("should return correct attestation id", async () => { - const attestationId = await airdrop.getAttestationId(); - expect(attestationId).to.equal(ATTESTATION_ID.E_PASSPORT); + it("should check if attestation ID is allowed", async () => { + const isAllowed = await airdrop.isAttestationIdAllowed(ATTESTATION_ID.E_PASSPORT); + expect(isAllowed).to.be.true; + + const isNotAllowed = await airdrop.isAttestationIdAllowed(999999); // Some random ID not in the list + expect(isNotAllowed).to.be.false; }); it("should return correct merkle root", async () => { @@ -511,7 +539,7 @@ describe("Airdrop", () => { olderThan: 25, forbiddenCountriesEnabled: false, forbiddenCountriesListPacked: countriesListPacked, - ofacEnabled: [false, false, false] + ofacEnabled: [false, false, false] as [boolean, boolean, boolean] }; await airdrop.connect(owner).setVerificationConfig(newVerificationConfig); @@ -533,7 +561,7 @@ describe("Airdrop", () => { olderThan: 25, forbiddenCountriesEnabled: false, forbiddenCountriesListPacked: countriesListPacked, - ofacEnabled: [false, false, false] + ofacEnabled: [false, false, false] as [boolean, boolean, boolean] }; await expect(airdrop.connect(user1).setVerificationConfig(newVerificationConfig)) @@ -552,4 +580,76 @@ describe("Airdrop", () => { expect(config.ofacEnabled).to.deep.equal([true, true, true]); }); + it("should able to update scope by owner", async () => { + const { owner } = deployedActors; + const newScope = hashEndpointWithScope("https://newtest.com", "new-test-scope"); + + await airdrop.connect(owner).setScope(newScope); + const scope = await airdrop.getScope(); + expect(scope).to.equal(newScope); + + // Verify event was emitted + const filter = airdrop.filters.ScopeUpdated(); + const events = await airdrop.queryFilter(filter); + const lastEvent = events[events.length - 1]; + expect(lastEvent.args.newScope).to.equal(newScope); + }); + + it("should not be able to update scope by non-owner", async () => { + const { user1 } = deployedActors; + const newScope = hashEndpointWithScope("https://newtest.com", "new-test-scope"); + + await expect(airdrop.connect(user1).setScope(newScope)) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should able to add attestation ID by owner", async () => { + const { owner } = deployedActors; + const newAttestationId = 999; // Some new ID + + await airdrop.connect(owner).addAttestationId(newAttestationId); + const isAllowed = await airdrop.isAttestationIdAllowed(newAttestationId); + expect(isAllowed).to.be.true; + + // Verify event was emitted + const filter = airdrop.filters.AttestationIdAdded(); + const events = await airdrop.queryFilter(filter); + const lastEvent = events[events.length - 1]; + expect(lastEvent.args.attestationId).to.equal(newAttestationId); + }); + + it("should not be able to add attestation ID by non-owner", async () => { + const { user1 } = deployedActors; + const newAttestationId = 888; // Some new ID + + await expect(airdrop.connect(user1).addAttestationId(newAttestationId)) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should able to remove attestation ID by owner", async () => { + const { owner } = deployedActors; + const attestationIdToRemove = ATTESTATION_ID.E_PASSPORT; + + await airdrop.connect(owner).removeAttestationId(attestationIdToRemove); + const isAllowed = await airdrop.isAttestationIdAllowed(attestationIdToRemove); + expect(isAllowed).to.be.false; + + // Verify event was emitted + const filter = airdrop.filters.AttestationIdRemoved(); + const events = await airdrop.queryFilter(filter); + const lastEvent = events[events.length - 1]; + expect(lastEvent.args.attestationId).to.equal(attestationIdToRemove); + }); + + it("should not be able to remove attestation ID by non-owner", async () => { + const { user1 } = deployedActors; + const attestationIdToRemove = ATTESTATION_ID.E_PASSPORT; + + await expect(airdrop.connect(user1).removeAttestationId(attestationIdToRemove)) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + }); diff --git a/contracts/yarn.lock b/contracts/yarn.lock index 0d95f141e..b0f9ed6b9 100644 --- a/contracts/yarn.lock +++ b/contracts/yarn.lock @@ -1,7012 +1,4624 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 -__metadata: - version: 8 - cacheKey: 10c0 -"@adraffy/ens-normalize@npm:1.10.1": - version: 1.10.1 - resolution: "@adraffy/ens-normalize@npm:1.10.1" - checksum: 10c0/fdd647604e8fac6204921888aaf5a6bc65eabf0d2921bc5f93b64d01f4bc33ead167c1445f7de05468d05cd92ac31b74c68d2be840c62b79d73693308f885c06 - languageName: node - linkType: hard +"@adraffy/ens-normalize@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" + integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== "@ashpect/smt@https://github.com/ashpect/smt#main": - version: 1.0.0 - resolution: "@ashpect/smt@https://github.com/ashpect/smt.git#commit=4f73fd24adb06a7f8efd6fd2d3ed58e9e2f2691a" - checksum: 10c0/1b8ab39089fddea939f95b67bed9100a7fbc7f54fc4ba805c7eb8890820bbe9f600b692d63f89651b4081efb5a8b6828dbd7416042d3ca0ab921c06c1f9b3f4e - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.12.13": - version: 7.26.2 - resolution: "@babel/code-frame@npm:7.26.2" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d - languageName: node - linkType: hard - -"@colors/colors@npm:1.5.0": - version: 1.5.0 - resolution: "@colors/colors@npm:1.5.0" - checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@eth-optimism/hardhat-ovm@npm:^0.2.4": - version: 0.2.4 - resolution: "@eth-optimism/hardhat-ovm@npm:0.2.4" - dependencies: - node-fetch: "npm:^2.6.1" - peerDependencies: - ethers: ^5.4.5 - hardhat: ^2.3.0 - checksum: 10c0/66cc4d948ae00d0345e888c4a0a58508f7b354ad044969ec43497ce75b2f3ba4d1eef7dce8b36b1d74afa78e54d06dd7d854acc4e6281e729dc68d74db08a0db - languageName: node - linkType: hard - -"@ethereumjs/rlp@npm:^4.0.1": - version: 4.0.1 - resolution: "@ethereumjs/rlp@npm:4.0.1" - bin: - rlp: bin/rlp - checksum: 10c0/78379f288e9d88c584c2159c725c4a667a9742981d638bad760ed908263e0e36bdbd822c0a902003e0701195fd1cbde7adad621cd97fdfbf552c45e835ce022c - languageName: node - linkType: hard - -"@ethereumjs/util@npm:^8.1.0": - version: 8.1.0 - resolution: "@ethereumjs/util@npm:8.1.0" - dependencies: - "@ethereumjs/rlp": "npm:^4.0.1" - ethereum-cryptography: "npm:^2.0.0" - micro-ftch: "npm:^0.3.1" - checksum: 10c0/4e6e0449236f66b53782bab3b387108f0ddc050835bfe1381c67a7c038fea27cb85ab38851d98b700957022f0acb6e455ca0c634249cfcce1a116bad76500160 - languageName: node - linkType: hard - -"@ethersproject/abi@npm:5.8.0, @ethersproject/abi@npm:^5.0.9, @ethersproject/abi@npm:^5.1.2, @ethersproject/abi@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abi@npm:5.8.0" - dependencies: - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/6b759247a2f43ecc1548647d0447d08de1e946dfc7e71bfb014fa2f749c1b76b742a1d37394660ebab02ff8565674b3593fdfa011e16a5adcfc87ca4d85af39c - languageName: node - linkType: hard - -"@ethersproject/abstract-provider@npm:5.8.0, @ethersproject/abstract-provider@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abstract-provider@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/networks": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/web": "npm:^5.8.0" - checksum: 10c0/9c183da1d037b272ff2b03002c3d801088d0534f88985f4983efc5f3ebd59b05f04bc05db97792fe29ddf87eeba3c73416e5699615f183126f85f877ea6c8637 - languageName: node - linkType: hard - -"@ethersproject/abstract-signer@npm:5.8.0, @ethersproject/abstract-signer@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abstract-signer@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - checksum: 10c0/143f32d7cb0bc7064e45674d4a9dffdb90d6171425d20e8de9dc95765be960534bae7246ead400e6f52346624b66569d9585d790eedd34b0b6b7f481ec331cc2 - languageName: node - linkType: hard - -"@ethersproject/address@npm:5.6.1": - version: 5.6.1 - resolution: "@ethersproject/address@npm:5.6.1" - dependencies: - "@ethersproject/bignumber": "npm:^5.6.2" - "@ethersproject/bytes": "npm:^5.6.1" - "@ethersproject/keccak256": "npm:^5.6.1" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/rlp": "npm:^5.6.1" - checksum: 10c0/7ac29a0abcb9970c6f5f9a2d2e8247d3c433ee9a022861cbf4f8d437f095a5293f3d323b8ec3433df622364071232b227248f1ac04c4ddea353bf18e2e4d76cf - languageName: node - linkType: hard - -"@ethersproject/address@npm:5.8.0, @ethersproject/address@npm:^5.0.2, @ethersproject/address@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/address@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - checksum: 10c0/8bac8a4b567c75c1abc00eeca08c200de1a2d5cf76d595dc04fa4d7bff9ffa5530b2cdfc5e8656cfa8f6fa046de54be47620a092fb429830a8ddde410b9d50bc - languageName: node - linkType: hard - -"@ethersproject/base64@npm:5.8.0, @ethersproject/base64@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/base64@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - checksum: 10c0/60ae6d1e2367d70f4090b717852efe62075442ae59aeac9bb1054fe8306a2de8ef0b0561e7fb4666ecb1f8efa1655d683dd240675c3a25d6fa867245525a63ca - languageName: node - linkType: hard - -"@ethersproject/basex@npm:5.8.0, @ethersproject/basex@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/basex@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - checksum: 10c0/46a94ba9678fc458ab0bee4a0af9f659f1d3f5df5bb98485924fe8ecbd46eda37d81f95f882243d56f0f5efe051b0749163f5056e48ff836c5fba648754d4956 - languageName: node - linkType: hard - -"@ethersproject/bignumber@npm:5.8.0, @ethersproject/bignumber@npm:^5.6.2, @ethersproject/bignumber@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/bignumber@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - bn.js: "npm:^5.2.1" - checksum: 10c0/8e87fa96999d59d0ab4c814c79e3a8354d2ba914dfa78cf9ee688f53110473cec0df0db2aaf9d447e84ab2dbbfca39979abac4f2dac69fef4d080f4cc3e29613 - languageName: node - linkType: hard - -"@ethersproject/bytes@npm:5.8.0, @ethersproject/bytes@npm:^5.6.1, @ethersproject/bytes@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/bytes@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/47ef798f3ab43b95dc74097b2c92365c919308ecabc3e34d9f8bf7f886fa4b99837ba5cf4dc8921baaaafe6899982f96b0e723b3fc49132c061f83d1ca3fed8b - languageName: node - linkType: hard - -"@ethersproject/constants@npm:5.8.0, @ethersproject/constants@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/constants@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - checksum: 10c0/374b3c2c6da24f8fef62e2316eae96faa462826c0774ef588cd7313ae7ddac8eb1bb85a28dad80123148be2ba0821c217c14ecfc18e2e683c72adc734b6248c9 - languageName: node - linkType: hard - -"@ethersproject/contracts@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/contracts@npm:5.8.0" - dependencies: - "@ethersproject/abi": "npm:^5.8.0" - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - checksum: 10c0/49961b92334c4f2fab5f4da8f3119e97c1dc39cc8695e3043931757968213f5e732c00bf896193cf0186dcb33101dcd6efb70690dee0dd2cfbfd3843f55485aa - languageName: node - linkType: hard - -"@ethersproject/hash@npm:5.8.0, @ethersproject/hash@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/hash@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/72a287d4d70fae716827587339ffb449b8c23ef8728db6f8a661f359f7cb1e5ffba5b693c55e09d4e7162bf56af4a0e98a334784e0706d98102d1a5786241537 - languageName: node - linkType: hard - -"@ethersproject/hdnode@npm:5.8.0, @ethersproject/hdnode@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/hdnode@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/basex": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/pbkdf2": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/wordlists": "npm:^5.8.0" - checksum: 10c0/da0ac7d60e76a76471be1f4f3bba3f28a24165dc3b63c6930a9ec24481e9f8b23936e5fc96363b3591cdfda4381d4623f25b06898b89bf5530b158cb5ea58fdd - languageName: node - linkType: hard - -"@ethersproject/json-wallets@npm:5.8.0, @ethersproject/json-wallets@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/json-wallets@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hdnode": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/pbkdf2": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - aes-js: "npm:3.0.0" - scrypt-js: "npm:3.0.1" - checksum: 10c0/6c5cac87bdfac9ac47bf6ac25168a85865dc02e398e97f83820568c568a8cb27cf13a3a5d482f71a2534c7d704a3faa46023bb7ebe8737872b376bec1b66c67b - languageName: node - linkType: hard - -"@ethersproject/keccak256@npm:5.8.0, @ethersproject/keccak256@npm:^5.6.1, @ethersproject/keccak256@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/keccak256@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - js-sha3: "npm:0.8.0" - checksum: 10c0/cd93ac6a5baf842313cde7de5e6e2c41feeea800db9e82955f96e7f3462d2ac6a6a29282b1c9e93b84ce7c91eec02347043c249fd037d6051214275bfc7fe99f - languageName: node - linkType: hard - -"@ethersproject/logger@npm:5.8.0, @ethersproject/logger@npm:^5.6.0, @ethersproject/logger@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/logger@npm:5.8.0" - checksum: 10c0/7f39f33e8f254ee681d4778bb71ce3c5de248e1547666f85c43bfbc1c18996c49a31f969f056b66d23012f2420f2d39173107284bc41eb98d0482ace1d06403e - languageName: node - linkType: hard - -"@ethersproject/networks@npm:5.8.0, @ethersproject/networks@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/networks@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/3f23bcc4c3843cc9b7e4b9f34df0a1f230b24dc87d51cdad84552302159a84d7899cd80c8a3d2cf8007b09ac373a5b10407007adde23d4c4881a4d6ee6bc4b9c - languageName: node - linkType: hard - -"@ethersproject/pbkdf2@npm:5.8.0, @ethersproject/pbkdf2@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/pbkdf2@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - checksum: 10c0/0397cf5370cfd568743c3e46ac431f1bd425239baa2691689f1430997d44d310cef5051ea9ee53fabe444f96aced8d6324b41da698e8d7021389dce36251e7e9 - languageName: node - linkType: hard - -"@ethersproject/properties@npm:5.8.0, @ethersproject/properties@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/properties@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/20256d7eed65478a38dabdea4c3980c6591b7b75f8c45089722b032ceb0e1cd3dd6dd60c436cfe259337e6909c28d99528c172d06fc74bbd61be8eb9e68be2e6 - languageName: node - linkType: hard - -"@ethersproject/providers@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/providers@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/basex": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/networks": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/web": "npm:^5.8.0" - bech32: "npm:1.1.4" - ws: "npm:8.18.0" - checksum: 10c0/893dba429443bbf0a3eadef850e772ad1c706cf17ae6ae48b73467a23b614a3f461e9004850e24439b5c73d30e9259bc983f0f90a911ba11af749e6384fd355a - languageName: node - linkType: hard - -"@ethersproject/random@npm:5.8.0, @ethersproject/random@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/random@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/e44c010715668fc29383141ae16cd2ec00c34a434d47e23338e740b8c97372515d95d3b809b969eab2055c19e92b985ca591d326fbb71270c26333215f9925d1 - languageName: node - linkType: hard - -"@ethersproject/rlp@npm:5.8.0, @ethersproject/rlp@npm:^5.6.1, @ethersproject/rlp@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/rlp@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/db742ec9c1566d6441242cc2c2ae34c1e5304d48e1fe62bc4e53b1791f219df211e330d2de331e0e4f74482664e205c2e4220e76138bd71f1ec07884e7f5221b - languageName: node - linkType: hard - -"@ethersproject/sha2@npm:5.8.0, @ethersproject/sha2@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/sha2@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - hash.js: "npm:1.1.7" - checksum: 10c0/eab941907b7d40ee8436acaaedee32306ed4de2cb9ab37543bc89b1dd2a78f28c8da21efd848525fa1b04a78575be426cfca28f5392f4d28ce6c84e7c26a9421 - languageName: node - linkType: hard - -"@ethersproject/signing-key@npm:5.8.0, @ethersproject/signing-key@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/signing-key@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - bn.js: "npm:^5.2.1" - elliptic: "npm:6.6.1" - hash.js: "npm:1.1.7" - checksum: 10c0/a7ff6cd344b0609737a496b6d5b902cf5528ed5a7ce2c0db5e7b69dc491d1810d1d0cd51dddf9dc74dd562ab4961d76e982f1750359b834c53c202e85e4c8502 - languageName: node - linkType: hard - -"@ethersproject/solidity@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/solidity@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/5b5e0531bcec1d919cfbd261694694c8999ca5c379c1bb276ec779b896d299bb5db8ed7aa5652eb2c7605fe66455832b56ef123dec07f6ddef44231a7aa6fe6c - languageName: node - linkType: hard - -"@ethersproject/strings@npm:5.8.0, @ethersproject/strings@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/strings@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/6db39503c4be130110612b6d593a381c62657e41eebf4f553247ebe394fda32cdf74ff645daee7b7860d209fd02c7e909a95b1f39a2f001c662669b9dfe81d00 - languageName: node - linkType: hard - -"@ethersproject/transactions@npm:5.8.0, @ethersproject/transactions@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/transactions@npm:5.8.0" - dependencies: - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - checksum: 10c0/dd32f090df5945313aafa8430ce76834479750d6655cb786c3b65ec841c94596b14d3c8c59ee93eed7b4f32f27d321a9b8b43bc6bb51f7e1c6694f82639ffe68 - languageName: node - linkType: hard - -"@ethersproject/units@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/units@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/5f92b8379a58024078fce6a4cbf7323cfd79bc41ef8f0a7bbf8be9c816ce18783140ab0d5c8d34ed615639aef7fc3a2ed255e92809e3558a510c4f0d49e27309 - languageName: node - linkType: hard - -"@ethersproject/wallet@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/wallet@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/hdnode": "npm:^5.8.0" - "@ethersproject/json-wallets": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/wordlists": "npm:^5.8.0" - checksum: 10c0/6da450872dda3d9008bad3ccf8467816a63429241e51c66627647123c0fe5625494c4f6c306e098eb8419cc5702ac017d41f5161af5ff670a41fe5d199883c09 - languageName: node - linkType: hard - -"@ethersproject/web@npm:5.8.0, @ethersproject/web@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/web@npm:5.8.0" - dependencies: - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/e3cd547225638db6e94fcd890001c778d77adb0d4f11a7f8c447e961041678f3fbfaffe77a962c7aa3f6597504232442e7015f2335b1788508a108708a30308a - languageName: node - linkType: hard - -"@ethersproject/wordlists@npm:5.8.0, @ethersproject/wordlists@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/wordlists@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/e230a2ba075006bc3a2538e096003e43ef9ba453317f37a4d99638720487ec447c1fa61a592c80483f8a8ad6466511cf4cf5c49cf84464a1679999171ce311f4 - languageName: node - linkType: hard - -"@fastify/busboy@npm:^2.0.0": - version: 2.1.1 - resolution: "@fastify/busboy@npm:2.1.1" - checksum: 10c0/6f8027a8cba7f8f7b736718b013f5a38c0476eea67034c94a0d3c375e2b114366ad4419e6a6fa7ffc2ef9c6d3e0435d76dd584a7a1cbac23962fda7650b579e3 - languageName: node - linkType: hard - -"@iden3/bigarray@npm:0.0.2": - version: 0.0.2 - resolution: "@iden3/bigarray@npm:0.0.2" - checksum: 10c0/a1c69a30f1bfb7eed0a1066e6a3d80aad3fab4dbb1bae96cf4dc7117ca9f791edc4a023d8cfb0afefbeab4d65f7bf91edfbb0a62e5ecdc8711c98bb329fedbaa - languageName: node - linkType: hard - -"@iden3/binfileutils@npm:0.0.12": - version: 0.0.12 - resolution: "@iden3/binfileutils@npm:0.0.12" - dependencies: - fastfile: "npm:0.0.20" - ffjavascript: "npm:^0.3.0" - checksum: 10c0/33783e2bad7901020bb1ba2236e0172a6f0bced519558466fe17ea2e51226a06d769e869883b1d6fe1abcc459327a77ee96265a52b53c2a964d9b4ef48b2263a - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - -"@metamask/eth-sig-util@npm:^4.0.0": - version: 4.0.1 - resolution: "@metamask/eth-sig-util@npm:4.0.1" - dependencies: - ethereumjs-abi: "npm:^0.6.8" - ethereumjs-util: "npm:^6.2.1" - ethjs-util: "npm:^0.1.6" - tweetnacl: "npm:^1.0.3" - tweetnacl-util: "npm:^0.15.1" - checksum: 10c0/957fa16e8f0454ad45203a8416e77181853de1c9e33697f1a1582d46f18da1cca26c803a4e08bee7091a697609fc8916f399210fd5d3d2fccc34bfd0a58715f0 - languageName: node - linkType: hard - -"@noble/curves@npm:1.2.0": - version: 1.2.0 - resolution: "@noble/curves@npm:1.2.0" - dependencies: - "@noble/hashes": "npm:1.3.2" - checksum: 10c0/0bac7d1bbfb3c2286910b02598addd33243cb97c3f36f987ecc927a4be8d7d88e0fcb12b0f0ef8a044e7307d1844dd5c49bb724bfa0a79c8ec50ba60768c97f6 - languageName: node - linkType: hard - -"@noble/curves@npm:1.4.2, @noble/curves@npm:~1.4.0": - version: 1.4.2 - resolution: "@noble/curves@npm:1.4.2" - dependencies: - "@noble/hashes": "npm:1.4.0" - checksum: 10c0/65620c895b15d46e8087939db6657b46a1a15cd4e0e4de5cd84b97a0dfe0af85f33a431bb21ac88267e3dc508618245d4cb564213959d66a84d690fe18a63419 - languageName: node - linkType: hard - -"@noble/hashes@npm:1.2.0, @noble/hashes@npm:~1.2.0": - version: 1.2.0 - resolution: "@noble/hashes@npm:1.2.0" - checksum: 10c0/8bd3edb7bb6a9068f806a9a5a208cc2144e42940a21c049d8e9a0c23db08bef5cf1cfd844a7e35489b5ab52c6fa6299352075319e7f531e0996d459c38cfe26a - languageName: node - linkType: hard - -"@noble/hashes@npm:1.3.2": - version: 1.3.2 - resolution: "@noble/hashes@npm:1.3.2" - checksum: 10c0/2482cce3bce6a596626f94ca296e21378e7a5d4c09597cbc46e65ffacc3d64c8df73111f2265444e36a3168208628258bbbaccba2ef24f65f58b2417638a20e7 - languageName: node - linkType: hard - -"@noble/hashes@npm:1.4.0, @noble/hashes@npm:~1.4.0": - version: 1.4.0 - resolution: "@noble/hashes@npm:1.4.0" - checksum: 10c0/8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 - languageName: node - linkType: hard - -"@noble/hashes@npm:^1.4.0": - version: 1.7.1 - resolution: "@noble/hashes@npm:1.7.1" - checksum: 10c0/2f8ec0338ccc92b576a0f5c16ab9c017a3a494062f1fbb569ae641c5e7eab32072f9081acaa96b5048c0898f972916c818ea63cbedda707886a4b5ffcfbf94e3 - languageName: node - linkType: hard - -"@noble/secp256k1@npm:1.7.1, @noble/secp256k1@npm:~1.7.0": - version: 1.7.1 - resolution: "@noble/secp256k1@npm:1.7.1" - checksum: 10c0/48091801d39daba75520012027d0ff0b1719338d96033890cfe0d287ad75af00d82769c0194a06e7e4fbd816ae3f204f4a59c9e26f0ad16b429f7e9b5403ccd5 - languageName: node - linkType: hard - -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"@nomicfoundation/edr-darwin-arm64@npm:0.8.0": - version: 0.8.0 - resolution: "@nomicfoundation/edr-darwin-arm64@npm:0.8.0" - checksum: 10c0/f8bdede09ba5db53f0e55b9fde132c188e09c15faef473675465e0ead97ae0c5c562d820415bb1fe4a46cb29f28cfd2a5bf492229a2f64815f9d000b85e26f84 - languageName: node - linkType: hard - -"@nomicfoundation/edr-darwin-x64@npm:0.8.0": - version: 0.8.0 - resolution: "@nomicfoundation/edr-darwin-x64@npm:0.8.0" - checksum: 10c0/2601d21267d18421f5ded3ca673064bd7ee680fa3340ecfb868ed4b21566eb61f6eed1cc684e3c5df4ade9ec2bc218df19c7e50b8882c17ab2f27fede241881c - languageName: node - linkType: hard - -"@nomicfoundation/edr-linux-arm64-gnu@npm:0.8.0": - version: 0.8.0 - resolution: "@nomicfoundation/edr-linux-arm64-gnu@npm:0.8.0" - checksum: 10c0/8e20e330d2b812a47ee9634eeab494b2730dee9f4cc663dea543fd905d7fcedae4b9ac60cd62a0f8f13311e43d97d8201872177a997cd7e01bf41b8ebcac355a - languageName: node - linkType: hard - -"@nomicfoundation/edr-linux-arm64-musl@npm:0.8.0": - version: 0.8.0 - resolution: "@nomicfoundation/edr-linux-arm64-musl@npm:0.8.0" - checksum: 10c0/3065ef7e47e8518fa052fd6f263cd314b0b077248beb79734d35e8896a071313ddf8111a081275fca6d9be3d4c9d709dd643e2aa6b870ba52b85c0dbb255898c - languageName: node - linkType: hard - -"@nomicfoundation/edr-linux-x64-gnu@npm:0.8.0": - version: 0.8.0 - resolution: "@nomicfoundation/edr-linux-x64-gnu@npm:0.8.0" - checksum: 10c0/eedbf9b751264dccdcd9817d8b592facf32c6fc7036b8c0736fce8dffba86c32eddde5f3354aa7692224f2e9d1f9b6a594ad16d428887517b8325e4d0982c0ed - languageName: node - linkType: hard - -"@nomicfoundation/edr-linux-x64-musl@npm:0.8.0": - version: 0.8.0 - resolution: "@nomicfoundation/edr-linux-x64-musl@npm:0.8.0" - checksum: 10c0/748e674b95e4b5ef354ea86f712520a3a81d58ff69c03467051a3f3e8c4ba3e830e5581af54be8c4d0c3790565a15c04b9a1efe1a2179d9f9416a5e093f3fbc9 - languageName: node - linkType: hard - -"@nomicfoundation/edr-win32-x64-msvc@npm:0.8.0": - version: 0.8.0 - resolution: "@nomicfoundation/edr-win32-x64-msvc@npm:0.8.0" - checksum: 10c0/0cecbe7093b4f4f4215db4944191a6199105da30edc87427d0eede70b2139b77748664cd3a94d0c87b7658532b8bd5e0b37f3e0f7bc0e894650b16d82b289125 - languageName: node - linkType: hard - -"@nomicfoundation/edr@npm:^0.8.0": - version: 0.8.0 - resolution: "@nomicfoundation/edr@npm:0.8.0" - dependencies: - "@nomicfoundation/edr-darwin-arm64": "npm:0.8.0" - "@nomicfoundation/edr-darwin-x64": "npm:0.8.0" - "@nomicfoundation/edr-linux-arm64-gnu": "npm:0.8.0" - "@nomicfoundation/edr-linux-arm64-musl": "npm:0.8.0" - "@nomicfoundation/edr-linux-x64-gnu": "npm:0.8.0" - "@nomicfoundation/edr-linux-x64-musl": "npm:0.8.0" - "@nomicfoundation/edr-win32-x64-msvc": "npm:0.8.0" - checksum: 10c0/da24b58d30b8438739124087e8c13d44e516e1526bfce46d10ea12a25dd527d458f1818f2aa3fcbb75ffc3bdd93e9bba7eb12a77f876002a347a6eb20cd871fa - languageName: node - linkType: hard - -"@nomicfoundation/ethereumjs-common@npm:4.0.4": - version: 4.0.4 - resolution: "@nomicfoundation/ethereumjs-common@npm:4.0.4" - dependencies: - "@nomicfoundation/ethereumjs-util": "npm:9.0.4" - checksum: 10c0/efaaebe41c2a3fe8b50bf12d9d134dc7611907f6eb2118f7822eaa375c54bc71bf6f6a3b2e22c754867f2cd28d619afd892b1eaa26cf1c886e0f793bda481070 - languageName: node - linkType: hard - -"@nomicfoundation/ethereumjs-rlp@npm:5.0.4": - version: 5.0.4 - resolution: "@nomicfoundation/ethereumjs-rlp@npm:5.0.4" - bin: - rlp: bin/rlp.cjs - checksum: 10c0/58e276c190f5f33e12ff4a2c7fe4c3c71cb139029eddd9b46488e23e168c422bc0b55368c0b7805ca8b09e9ea6b8298cd74c63f5c2ed4b6fb447635ed7a317f7 - languageName: node - linkType: hard - -"@nomicfoundation/ethereumjs-tx@npm:5.0.4": - version: 5.0.4 - resolution: "@nomicfoundation/ethereumjs-tx@npm:5.0.4" - dependencies: - "@nomicfoundation/ethereumjs-common": "npm:4.0.4" - "@nomicfoundation/ethereumjs-rlp": "npm:5.0.4" - "@nomicfoundation/ethereumjs-util": "npm:9.0.4" - ethereum-cryptography: "npm:0.1.3" - peerDependencies: - c-kzg: ^2.1.2 - peerDependenciesMeta: - c-kzg: - optional: true - checksum: 10c0/1e4ba6d7d6aa8d44a807e3332e98e8fbea70c1aa91be3b39b581c4b498554ee380eec21442d737d2b646c722da306dd1179a5e37747b285b93690aab041d52a7 - languageName: node - linkType: hard - -"@nomicfoundation/ethereumjs-util@npm:9.0.4": - version: 9.0.4 - resolution: "@nomicfoundation/ethereumjs-util@npm:9.0.4" - dependencies: - "@nomicfoundation/ethereumjs-rlp": "npm:5.0.4" - ethereum-cryptography: "npm:0.1.3" - peerDependencies: - c-kzg: ^2.1.2 - peerDependenciesMeta: - c-kzg: - optional: true - checksum: 10c0/228e8cb018ce6b487a0eb65c585d692b56bb306a26df3f6f063cdf87feea6174b005b25f2dc4547b940f76d0d6c4bcaa8ffbbcce482091168cdf3c6fe2f8b5da - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-chai-matchers@npm:^2.0.6": - version: 2.0.8 - resolution: "@nomicfoundation/hardhat-chai-matchers@npm:2.0.8" - dependencies: - "@types/chai-as-promised": "npm:^7.1.3" - chai-as-promised: "npm:^7.1.1" - deep-eql: "npm:^4.0.1" - ordinal: "npm:^1.0.3" - peerDependencies: - "@nomicfoundation/hardhat-ethers": ^3.0.0 - chai: ^4.2.0 - ethers: ^6.1.0 - hardhat: ^2.9.4 - checksum: 10c0/51e3ee9ff17319180a5f45108514b33437c004b724c591dc6d7d2e9842e24e2d793aaf94ce5316117475021e67c88228283d20c9f45fb0693dd8f6b61674b4ff - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-ethers@npm:^3.0.5": - version: 3.0.8 - resolution: "@nomicfoundation/hardhat-ethers@npm:3.0.8" - dependencies: - debug: "npm:^4.1.1" - lodash.isequal: "npm:^4.5.0" - peerDependencies: - ethers: ^6.1.0 - hardhat: ^2.0.0 - checksum: 10c0/478b5d9607e7fc50377bec45ecebbf74240719c76aa08c81052d2a2174eee6f422db8cfd3f13fd17a080d8ff1046fac50dfffa3a2e57c9e3ed466932239e4af2 - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-ignition-ethers@npm:^0.15.3": - version: 0.15.10 - resolution: "@nomicfoundation/hardhat-ignition-ethers@npm:0.15.10" - peerDependencies: - "@nomicfoundation/hardhat-ethers": ^3.0.4 - "@nomicfoundation/hardhat-ignition": ^0.15.10 - "@nomicfoundation/ignition-core": ^0.15.10 - ethers: ^6.7.0 - hardhat: ^2.18.0 - checksum: 10c0/bce58dbd0dec9eeb3bf58007febe73cdb5c58424094c029c5aae6e5c3885e919e1ce8b31f97a8ac366c76461c2dca2c5dff1e9c661c58465fc27db4d72903bef - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-ignition@npm:^0.15.3": - version: 0.15.10 - resolution: "@nomicfoundation/hardhat-ignition@npm:0.15.10" - dependencies: - "@nomicfoundation/ignition-core": "npm:^0.15.10" - "@nomicfoundation/ignition-ui": "npm:^0.15.10" - chalk: "npm:^4.0.0" - debug: "npm:^4.3.2" - fs-extra: "npm:^10.0.0" - json5: "npm:^2.2.3" - prompts: "npm:^2.4.2" - peerDependencies: - "@nomicfoundation/hardhat-verify": ^2.0.1 - hardhat: ^2.18.0 - checksum: 10c0/574faad7a6d96e15f68b7b52aee19144718d698ec8e17ecec8b416745ef97307e544f7c33f45d829f67980060c672f2f8628293ae95f7873aa325193544598f9 - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-network-helpers@npm:^1.0.10": - version: 1.0.12 - resolution: "@nomicfoundation/hardhat-network-helpers@npm:1.0.12" - dependencies: - ethereumjs-util: "npm:^7.1.4" - peerDependencies: - hardhat: ^2.9.5 - checksum: 10c0/93df80bb824fb9146c354f71637d6deee4b7ba19527eee94b4f79064ccbb8e4e45e14d8e558f6e5c2be17d64429faaef07ac8fe12ef11395c549f7b5fc540722 - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-toolbox@npm:^3.0.0": - version: 3.0.0 - resolution: "@nomicfoundation/hardhat-toolbox@npm:3.0.0" - peerDependencies: - "@nomicfoundation/hardhat-chai-matchers": ^2.0.0 - "@nomicfoundation/hardhat-ethers": ^3.0.0 - "@nomicfoundation/hardhat-network-helpers": ^1.0.0 - "@nomicfoundation/hardhat-verify": ^1.0.0 - "@typechain/ethers-v6": ^0.4.0 - "@typechain/hardhat": ^8.0.0 - "@types/chai": ^4.2.0 - "@types/mocha": ">=9.1.0" - "@types/node": ">=12.0.0" - chai: ^4.2.0 - ethers: ^6.4.0 - hardhat: ^2.11.0 - hardhat-gas-reporter: ^1.0.8 - solidity-coverage: ^0.8.1 - ts-node: ">=8.0.0" - typechain: ^8.2.0 - typescript: ">=4.5.0" - checksum: 10c0/6139efdb962c1f590c34990c4678650f3a946a0ab07076c4fc24ea1f7902d8cd629e6ee95e6a7cd3c7a3dbd4a9f415128f576fc3f13fa9483e618eb5558f8cad - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-verify@npm:^2.0.6": - version: 2.0.13 - resolution: "@nomicfoundation/hardhat-verify@npm:2.0.13" - dependencies: - "@ethersproject/abi": "npm:^5.1.2" - "@ethersproject/address": "npm:^5.0.2" - cbor: "npm:^8.1.0" - debug: "npm:^4.1.1" - lodash.clonedeep: "npm:^4.5.0" - picocolors: "npm:^1.1.0" - semver: "npm:^6.3.0" - table: "npm:^6.8.0" - undici: "npm:^5.14.0" - peerDependencies: - hardhat: ^2.0.4 - checksum: 10c0/391b35211646ed9efd91b88229c09c8baaa688caaf4388e077b73230b36cd7f86b04639625b0e8ebdc070166f49494c3bd32834c31ca4800db0936ca6db96ee2 - languageName: node - linkType: hard - -"@nomicfoundation/ignition-core@npm:^0.15.10, @nomicfoundation/ignition-core@npm:^0.15.3": - version: 0.15.10 - resolution: "@nomicfoundation/ignition-core@npm:0.15.10" - dependencies: - "@ethersproject/address": "npm:5.6.1" - "@nomicfoundation/solidity-analyzer": "npm:^0.1.1" - cbor: "npm:^9.0.0" - debug: "npm:^4.3.2" - ethers: "npm:^6.7.0" - fs-extra: "npm:^10.0.0" - immer: "npm:10.0.2" - lodash: "npm:4.17.21" - ndjson: "npm:2.0.0" - checksum: 10c0/d36d6bac290ed6a8bc223d2ad57f7a722b580782e10f56c3cababeca2f890b48183e10a69154ce2ea14b9e0050c9a38e2bc992a70d43c737763a1df2b0954de6 - languageName: node - linkType: hard - -"@nomicfoundation/ignition-ui@npm:^0.15.10": - version: 0.15.10 - resolution: "@nomicfoundation/ignition-ui@npm:0.15.10" - checksum: 10c0/f72b03a8a737432e06b0c1bcd4e38409292305a55f8f496ccf5618e7512a81e7758f211f91d0d55e2e8a45bc553b3a4a4e5b6f2f316f28526593e79645836bb7 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.2" - checksum: 10c0/ef3b13bb2133fea6621db98f991036a3a84d2b240160edec50beafa6ce821fe2f0f5cd4aa61adb9685aff60cd0425982ffd15e0b868b7c768e90e26b8135b825 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.1.2" - checksum: 10c0/3cb6a00cd200b94efd6f59ed626c705c6f773b92ccf8b90471285cd0e81b35f01edb30c1aa5a4633393c2adb8f20fd34e90c51990dc4e30658e8a67c026d16c9 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.1.2" - checksum: 10c0/cb9725e7bdc3ba9c1feaef96dbf831c1a59c700ca633a9929fd97debdcb5ce06b5d7b4e6dbc076279978707214d01e2cd126d8e3f4cabc5c16525c031a47b95c - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.1.2" - checksum: 10c0/82a90b1d09ad266ddc510ece2e397f51fdaf29abf7263d2a3a85accddcba2ac24cceb670a3120800611cdcc552eed04919d071e259fdda7564818359ed541f5d - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.1.2" - checksum: 10c0/d1f20d4d55683bd041ead957e5461b2e43a39e959f905e8866de1d65f8d96118e9b861e994604d9002cb7f056be0844e36c241a6bb531c336b399609977c0998 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.1.2" - checksum: 10c0/6c17f9af3aaf184c0a217cf723076051c502d85e731dbc97f34b838f9ae1b597577abac54a2af49b3fd986b09131c52fa21fd5393b22d05e1ec7fee96a8249c2 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.1.2" - checksum: 10c0/da198464f5ee0d19b6decdfaa65ee0df3097b8960b8483bb7080931968815a5d60f27191229d47a198955784d763d5996f0b92bfde3551612ad972c160b0b000 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer@npm:^0.1.0, @nomicfoundation/solidity-analyzer@npm:^0.1.1": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer@npm:0.1.2" - dependencies: - "@nomicfoundation/solidity-analyzer-darwin-arm64": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-darwin-x64": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "npm:0.1.2" - dependenciesMeta: - "@nomicfoundation/solidity-analyzer-darwin-arm64": - optional: true - "@nomicfoundation/solidity-analyzer-darwin-x64": - optional: true - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": - optional: true - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": - optional: true - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": - optional: true - "@nomicfoundation/solidity-analyzer-linux-x64-musl": - optional: true - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": - optional: true - checksum: 10c0/e4f503e9287e18967535af669ca7e26e2682203c45a34ea85da53122da1dee1278f2b8c76c20c67fadd7c1b1a98eeecffd2cbc136860665e3afa133817c0de54 - languageName: node - linkType: hard - -"@nomiclabs/hardhat-ethers@npm:^2.2.3": - version: 2.2.3 - resolution: "@nomiclabs/hardhat-ethers@npm:2.2.3" - peerDependencies: - ethers: ^5.0.0 - hardhat: ^2.0.0 - checksum: 10c0/cae46d1966108ab02b50fabe7945c8987fa1e9d5d0a7a06f79afc274ff1abc312e8a82375191a341b28571b897c22433d3a2826eb30077ed88d5983d01e381d0 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 - languageName: node - linkType: hard - -"@openpassport/contracts@workspace:.": - version: 0.0.0-use.local - resolution: "@openpassport/contracts@workspace:." - dependencies: - "@ashpect/smt": "https://github.com/ashpect/smt#main" - "@eth-optimism/hardhat-ovm": "npm:^0.2.4" - "@nomicfoundation/hardhat-chai-matchers": "npm:^2.0.6" - "@nomicfoundation/hardhat-ethers": "npm:^3.0.5" - "@nomicfoundation/hardhat-ignition": "npm:^0.15.3" - "@nomicfoundation/hardhat-ignition-ethers": "npm:^0.15.3" - "@nomicfoundation/hardhat-network-helpers": "npm:^1.0.10" - "@nomicfoundation/hardhat-toolbox": "npm:^3.0.0" - "@nomicfoundation/hardhat-verify": "npm:^2.0.6" - "@nomicfoundation/ignition-core": "npm:^0.15.3" - "@nomiclabs/hardhat-ethers": "npm:^2.2.3" - "@openpassport/zk-kit-lean-imt": "npm:^0.0.6" - "@openpassport/zk-kit-smt": "npm:^0.0.1" - "@openzeppelin/contracts": "npm:^5.0.2" - "@openzeppelin/contracts-upgradeable": "npm:^5.1.0" - "@typechain/ethers-v6": "npm:^0.4.3" - "@typechain/hardhat": "npm:^8.0.3" - "@types/chai": "npm:^4.3.16" - "@types/circomlibjs": "npm:^0.1.6" - "@types/jest": "npm:^29.5.12" - "@types/mocha": "npm:^10.0.6" - "@types/snarkjs": "npm:^0.7.7" - "@zk-kit/imt": "npm:^2.0.0-beta.4" - "@zk-kit/imt.sol": "npm:^2.0.0-beta.12" - "@zk-kit/lean-imt": "npm:^2.0.1" - axios: "npm:^1.6.2" - chai: "npm:^4.4.1" - circomlibjs: "npm:^0.1.7" - dotenv: "npm:^16.3.1" - ethers: "npm:^6.12.1" - hardhat: "npm:^2.22.6" - hardhat-contract-sizer: "npm:^2.10.0" - hardhat-gas-reporter: "npm:^1.0.10" - mocha: "npm:^10.4.0" - mochawesome: "npm:^7.1.3" - node-forge: "npm:^1.3.1" - poseidon-lite: "npm:^0.3.0" - poseidon-solidity: "npm:^0.0.5" - snarkjs: "npm:^0.7.4" - solidity-coverage: "npm:^0.8.14" - ts-node: "npm:^10.9.1" - typechain: "npm:^8.3.2" - typescript: "npm:^5.1.6" - languageName: unknown - linkType: soft - -"@openpassport/zk-kit-lean-imt@npm:^0.0.6": - version: 0.0.6 - resolution: "@openpassport/zk-kit-lean-imt@npm:0.0.6" - dependencies: - "@openpassport/zk-kit-utils": "npm:0.0.1" - checksum: 10c0/2cb3f99e216391a325a7050290cccfa12323dc057d7cf4a26baeafe79a34c4ed3013da035fdbe9985395d5a668e37fd81f2b060834b67895bd3f82e7edfe0601 - languageName: node - linkType: hard - -"@openpassport/zk-kit-smt@npm:^0.0.1": - version: 0.0.1 - resolution: "@openpassport/zk-kit-smt@npm:0.0.1" - checksum: 10c0/2d1d6ccd51c1cdf005e71090ac3d5d505ca58f58776bb7bd178c3d6bfdf3e22b69e50816e620f376663b63fa98bf22439c9b38de523de51e018b9e52f097624b - languageName: node - linkType: hard - -"@openpassport/zk-kit-utils@npm:0.0.1": - version: 0.0.1 - resolution: "@openpassport/zk-kit-utils@npm:0.0.1" - dependencies: - buffer: "npm:^6.0.3" - checksum: 10c0/3a9adb279cfd5096c44934bb6c73979f21247eb0119a65f8b5c0bb1f457f5500de761fc627e0bd9e72a7cbf5ca65696c144bfffe3dbd1f1ce37a300c239a8e3f - languageName: node - linkType: hard - -"@openzeppelin/contracts-upgradeable@npm:^5.1.0": - version: 5.2.0 - resolution: "@openzeppelin/contracts-upgradeable@npm:5.2.0" - peerDependencies: - "@openzeppelin/contracts": 5.2.0 - checksum: 10c0/fd26cff80d0a6b502625eb46f14b43e91ffad94a22b8745ff0edf6ab76924fd61773a629b5a42af1741f621fd7eb620cb03e596b21ba23024c4f2b132dc843b6 - languageName: node - linkType: hard - -"@openzeppelin/contracts@npm:^5.0.2": - version: 5.2.0 - resolution: "@openzeppelin/contracts@npm:5.2.0" - checksum: 10c0/6e2d8c6daaeb8e111d49a82c30997a6c5d4e512338b55500db7fd4340f29c1cbf35f9dcfa0dbc672e417bc84e99f5441a105cb585cd4680ad70cbcf9a24094fc - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@scure/base@npm:~1.1.0, @scure/base@npm:~1.1.6": - version: 1.1.9 - resolution: "@scure/base@npm:1.1.9" - checksum: 10c0/77a06b9a2db8144d22d9bf198338893d77367c51b58c72b99df990c0a11f7cadd066d4102abb15e3ca6798d1529e3765f55c4355742465e49aed7a0c01fe76e8 - languageName: node - linkType: hard - -"@scure/bip32@npm:1.1.5": - version: 1.1.5 - resolution: "@scure/bip32@npm:1.1.5" - dependencies: - "@noble/hashes": "npm:~1.2.0" - "@noble/secp256k1": "npm:~1.7.0" - "@scure/base": "npm:~1.1.0" - checksum: 10c0/d0521f6de28278e06f2d517307b4de6c9bcb3dbdf9a5844bb57a6e4916a180e4136129ccab295c27bd1196ef77757608255afcd7cf927e03baec4479b3df74fc - languageName: node - linkType: hard - -"@scure/bip32@npm:1.4.0": - version: 1.4.0 - resolution: "@scure/bip32@npm:1.4.0" - dependencies: - "@noble/curves": "npm:~1.4.0" - "@noble/hashes": "npm:~1.4.0" - "@scure/base": "npm:~1.1.6" - checksum: 10c0/6849690d49a3bf1d0ffde9452eb16ab83478c1bc0da7b914f873e2930cd5acf972ee81320e3df1963eb247cf57e76d2d975b5f97093d37c0e3f7326581bf41bd - languageName: node - linkType: hard - -"@scure/bip39@npm:1.1.1": - version: 1.1.1 - resolution: "@scure/bip39@npm:1.1.1" - dependencies: - "@noble/hashes": "npm:~1.2.0" - "@scure/base": "npm:~1.1.0" - checksum: 10c0/821dc9d5be8362a32277390526db064860c2216a079ba51d63def9289c2b290599e93681ebbeebf0e93540799eec35784c1dfcf5167d0b280ef148e5023ce01b - languageName: node - linkType: hard - -"@scure/bip39@npm:1.3.0": - version: 1.3.0 - resolution: "@scure/bip39@npm:1.3.0" - dependencies: - "@noble/hashes": "npm:~1.4.0" - "@scure/base": "npm:~1.1.6" - checksum: 10c0/1ae1545a7384a4d9e33e12d9e9f8824f29b0279eb175b0f0657c0a782c217920054f9a1d28eb316a417dfc6c4e0b700d6fbdc6da160670107426d52fcbe017a8 - languageName: node - linkType: hard - -"@sentry/core@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/core@npm:5.30.0" - dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/minimal": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/6407b9c2a6a56f90c198f5714b3257df24d89d1b4ca6726bd44760d0adabc25798b69fef2c88ccea461c7e79e3c78861aaebfd51fd3cb892aee656c3f7e11801 - languageName: node - linkType: hard - -"@sentry/hub@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/hub@npm:5.30.0" - dependencies: - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/386c91d06aa44be0465fc11330d748a113e464d41cd562a9e1d222a682cbcb14e697a3e640953e7a0239997ad8a02b223a0df3d9e1d8816cb823fd3613be3e2f - languageName: node - linkType: hard - -"@sentry/minimal@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/minimal@npm:5.30.0" - dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/34ec05503de46d01f98c94701475d5d89cc044892c86ccce30e01f62f28344eb23b718e7cf573815e46f30a4ac9da3129bed9b3d20c822938acfb40cbe72437b - languageName: node - linkType: hard - -"@sentry/node@npm:^5.18.1": - version: 5.30.0 - resolution: "@sentry/node@npm:5.30.0" - dependencies: - "@sentry/core": "npm:5.30.0" - "@sentry/hub": "npm:5.30.0" - "@sentry/tracing": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - cookie: "npm:^0.4.1" - https-proxy-agent: "npm:^5.0.0" - lru_map: "npm:^0.3.3" - tslib: "npm:^1.9.3" - checksum: 10c0/c50db7c81ace57cac17692245c2ab3c84a6149183f81d5f2dfd157eaa7b66eb4d6a727dd13a754bb129c96711389eec2944cd94126722ee1d8b11f2b627b830d - languageName: node - linkType: hard - -"@sentry/tracing@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/tracing@npm:5.30.0" - dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/minimal": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/46830265bc54a3203d7d9f0d8d9f2f7d9d2c6a977e07ccdae317fa3ea29c388b904b3bef28f7a0ba9c074845d67feab63c6d3c0ddce9aeb275b6c966253fb415 - languageName: node - linkType: hard - -"@sentry/types@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/types@npm:5.30.0" - checksum: 10c0/99c6e55c0a82c8ca95be2e9dbb35f581b29e4ff7af74b23bc62b690de4e35febfa15868184a2303480ef86babd4fea5273cf3b5ddf4a27685b841a72f13a0c88 - languageName: node - linkType: hard - -"@sentry/utils@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/utils@npm:5.30.0" - dependencies: - "@sentry/types": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/ca8eebfea7ac7db6d16f6c0b8a66ac62587df12a79ce9d0d8393f4d69880bb8d40d438f9810f7fb107a9880fe0d68bbf797b89cbafd113e89a0829eb06b205f8 - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@solidity-parser/parser@npm:^0.14.0": - version: 0.14.5 - resolution: "@solidity-parser/parser@npm:0.14.5" - dependencies: - antlr4ts: "npm:^0.5.0-alpha.4" - checksum: 10c0/d5c689d8925a18e1ceb2f6449a8263915b1676117856109b7793eda8f7dafc975b6ed0d0d73fc08257903cac383484e4c8f8cf47b069621e81ba368c4ea4cf6a - languageName: node - linkType: hard - -"@solidity-parser/parser@npm:^0.19.0": - version: 0.19.0 - resolution: "@solidity-parser/parser@npm:0.19.0" - checksum: 10c0/2f4c885bb32ca95ea41120f0d972437b4191d26aa63ea62b7904d075e1b90f4290996407ef84a46a20f66e4268f41fb07fc0edc7142afc443511e8c74b37c6e9 - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node10@npm:1.0.11" - checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - -"@typechain/ethers-v6@npm:^0.4.3": - version: 0.4.3 - resolution: "@typechain/ethers-v6@npm:0.4.3" - dependencies: - lodash: "npm:^4.17.15" - ts-essentials: "npm:^7.0.1" - peerDependencies: - ethers: 6.x - typechain: ^8.3.1 - typescript: ">=4.7.0" - checksum: 10c0/e66728763916f5b4ce4c9753098e17c1dd17f5913792de9801c79fcbc57b46a52a1f6602ce35be377c7503cc5004b285dab8bd911afe13b057007d5ccf947094 - languageName: node - linkType: hard - -"@typechain/hardhat@npm:^8.0.3": - version: 8.0.3 - resolution: "@typechain/hardhat@npm:8.0.3" - dependencies: - fs-extra: "npm:^9.1.0" - peerDependencies: - "@typechain/ethers-v6": ^0.4.3 - ethers: ^6.1.0 - hardhat: ^2.9.9 - typechain: ^8.3.1 - checksum: 10c0/2b7b8d60e35b0b65884659f14bd6a354c88ec042f9af7d9f43003784ccca9a36bf8193b2cd26859b9b262acc543b1b477306bfb4d314a3de79aacff1136b97ec - languageName: node - linkType: hard - -"@types/bn.js@npm:^4.11.3": - version: 4.11.6 - resolution: "@types/bn.js@npm:4.11.6" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/a5a19dafc106b1b2ab35c2024ca37b9d0938dced11cb1cca7d119de5a0dd5f54db525c82cb1392843fc921677452efcbbdce3aa96ecc1457d3de6e266915ebd0 - languageName: node - linkType: hard - -"@types/bn.js@npm:^5.1.0": - version: 5.1.6 - resolution: "@types/bn.js@npm:5.1.6" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/073d383d87afea513a8183ce34af7bc0a7a798d057c7ae651982b7f30dd7d93f33247323bca3ba39f1f6af146b564aff547b15467bdf9fc922796c17e8426bf6 - languageName: node - linkType: hard - -"@types/chai-as-promised@npm:^7.1.3": - version: 7.1.8 - resolution: "@types/chai-as-promised@npm:7.1.8" - dependencies: - "@types/chai": "npm:*" - checksum: 10c0/c0a19cffe8d3f406b2cb9ba17f5f0efe318b14f27896d807b3199cc2231c16a4b5b6c464fdf2a939214de481de58cffd46c240539d3d4ece18659277d71ccc23 - languageName: node - linkType: hard - -"@types/chai@npm:*": - version: 5.2.1 - resolution: "@types/chai@npm:5.2.1" - dependencies: - "@types/deep-eql": "npm:*" - checksum: 10c0/f8a03c9f8450b7ab8df11f658c4194be17a6316b870490d5ffaf5289a3c0c0591ed6291b2d6551e181887c3eed89d0490744b3e569d9b23cf611b05f93e775b6 - languageName: node - linkType: hard - -"@types/chai@npm:^4.3.16": - version: 4.3.20 - resolution: "@types/chai@npm:4.3.20" - checksum: 10c0/4601189d611752e65018f1ecadac82e94eed29f348e1d5430e5681a60b01e1ecf855d9bcc74ae43b07394751f184f6970fac2b5561fc57a1f36e93a0f5ffb6e8 - languageName: node - linkType: hard - -"@types/circomlibjs@npm:^0.1.6": - version: 0.1.6 - resolution: "@types/circomlibjs@npm:0.1.6" - checksum: 10c0/0ef1901bb6e71fcd29c617fd266d1a06a0056d8665194e236d0e918be60aa459d4d1606bfb65e7eb05f769163e69b3eb0c7b55b941774d672499221b904df277 - languageName: node - linkType: hard - -"@types/concat-stream@npm:^1.6.0": - version: 1.6.1 - resolution: "@types/concat-stream@npm:1.6.1" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/838a0ec89d59a11c425b7728fdd05b17b652086a27fdf5b787778521ccf6d3133d9e9a6e6b803785b28c0a0f7a437582813e37b317ed8100870af836ad49a7a2 - languageName: node - linkType: hard - -"@types/deep-eql@npm:*": - version: 4.0.2 - resolution: "@types/deep-eql@npm:4.0.2" - checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 - languageName: node - linkType: hard - -"@types/form-data@npm:0.0.33": - version: 0.0.33 - resolution: "@types/form-data@npm:0.0.33" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/20bd8f7491d759ce613e35612aef37b3084be43466883ce83e1261905032939bc9e51e470e61bccf6d2f08a39659c44795531bbf66af177176ab0ddbd968e155 - languageName: node - linkType: hard - -"@types/glob@npm:^7.1.1": - version: 7.2.0 - resolution: "@types/glob@npm:7.2.0" - dependencies: - "@types/minimatch": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/a8eb5d5cb5c48fc58c7ca3ff1e1ddf771ee07ca5043da6e4871e6757b4472e2e73b4cfef2644c38983174a4bc728c73f8da02845c28a1212f98cabd293ecae98 - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee - languageName: node - linkType: hard - -"@types/jest@npm:^29.5.12": - version: 29.5.14 - resolution: "@types/jest@npm:29.5.14" - dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed - languageName: node - linkType: hard - -"@types/lru-cache@npm:^5.1.0": - version: 5.1.1 - resolution: "@types/lru-cache@npm:5.1.1" - checksum: 10c0/1f17ec9b202c01a89337cc5528198a690be6b61a6688242125fbfb7fa17770e453e00e4685021abf5ae605860ca0722209faac5c254b780d0104730bb0b9e354 - languageName: node - linkType: hard - -"@types/minimatch@npm:*": - version: 5.1.2 - resolution: "@types/minimatch@npm:5.1.2" - checksum: 10c0/83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562 - languageName: node - linkType: hard - -"@types/mocha@npm:^10.0.6": - version: 10.0.10 - resolution: "@types/mocha@npm:10.0.10" - checksum: 10c0/d2b8c48138cde6923493e42b38e839695eb42edd04629abe480a8f34c0e3f50dd82a55832c2e8d2b6e6f9e4deb492d7d733e600fbbdd5a0ceccbcfc6844ff9d5 - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 22.13.14 - resolution: "@types/node@npm:22.13.14" - dependencies: - undici-types: "npm:~6.20.0" - checksum: 10c0/fa2ab5b8277bfbcc86c42e46a3ea9871b0d559894cc9d955685d17178c9499f0b1bf03d1d1ea8d92ef2dda818988f4035acb8abf9dc15423a998fa56173ab804 - languageName: node - linkType: hard - -"@types/node@npm:22.7.5": - version: 22.7.5 - resolution: "@types/node@npm:22.7.5" - dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/cf11f74f1a26053ec58066616e3a8685b6bcd7259bc569738b8f752009f9f0f7f85a1b2d24908e5b0f752482d1e8b6babdf1fbb25758711ec7bb9500bfcd6e60 - languageName: node - linkType: hard - -"@types/node@npm:^10.0.3": - version: 10.17.60 - resolution: "@types/node@npm:10.17.60" - checksum: 10c0/0742294912a6e79786cdee9ed77cff6ee8ff007b55d8e21170fc3e5994ad3a8101fea741898091876f8dc32b0a5ae3d64537b7176799e92da56346028d2cbcd2 - languageName: node - linkType: hard - -"@types/node@npm:^8.0.0": - version: 8.10.66 - resolution: "@types/node@npm:8.10.66" - checksum: 10c0/425e0fca5bad0d6ff14336946a1e3577750dcfbb7449614786d3241ca78ff44e3beb43eace122682de1b9d8e25cf2a0456a0b3e500d78cb55cab68f892e38141 - languageName: node - linkType: hard - -"@types/pbkdf2@npm:^3.0.0": - version: 3.1.2 - resolution: "@types/pbkdf2@npm:3.1.2" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/4f60b0e3c73297f55023b993d3d543212aa7f61c8c0d6a2720f5dbe2cf38e2fe55ff295d550ac048dddbfc3d44c285cfe16126d65c613bd67a57662357e268d9 - languageName: node - linkType: hard - -"@types/prettier@npm:^2.1.1": - version: 2.7.3 - resolution: "@types/prettier@npm:2.7.3" - checksum: 10c0/0960b5c1115bb25e979009d0b44c42cf3d792accf24085e4bfce15aef5794ea042e04e70c2139a2c3387f781f18c89b5706f000ddb089e9a4a2ccb7536a2c5f0 - languageName: node - linkType: hard - -"@types/qs@npm:^6.2.31": - version: 6.9.18 - resolution: "@types/qs@npm:6.9.18" - checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b - languageName: node - linkType: hard - -"@types/secp256k1@npm:^4.0.1": - version: 4.0.6 - resolution: "@types/secp256k1@npm:4.0.6" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/0e391316ae30c218779583b626382a56546ddbefb65f1ff9cf5e078af8a7118f67f3e66e30914399cc6f8710c424d0d8c3f34262ffb1f429c6ad911fd0d0bc26 - languageName: node - linkType: hard - -"@types/snarkjs@npm:^0.7.7": - version: 0.7.9 - resolution: "@types/snarkjs@npm:0.7.9" - checksum: 10c0/efa31acd19d8ae28a08f940a7ae610ee49d81c547cd3ecf4d730949df5f8bc058a04b0fcbb8dad371176826ddd63973ec694855767e441bf866ff1d45668b16c - languageName: node - linkType: hard - -"@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c - languageName: node - linkType: hard - -"@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.33 - resolution: "@types/yargs@npm:17.0.33" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b - languageName: node - linkType: hard - -"@zk-kit/imt.sol@npm:^2.0.0-beta.12": - version: 2.0.0-beta.12 - resolution: "@zk-kit/imt.sol@npm:2.0.0-beta.12" - dependencies: - poseidon-solidity: "npm:0.0.5" - checksum: 10c0/8486f6219e506dfa93f99da22196e0255640c256b060bbf0a4de1b5bbf5318a1d30e95a1c6b4e1df734e9169e6f4b7f219b322e8c07af556028122595c81e5cc - languageName: node - linkType: hard - -"@zk-kit/imt@npm:^2.0.0-beta.4": - version: 2.0.0-beta.8 - resolution: "@zk-kit/imt@npm:2.0.0-beta.8" - dependencies: - "@zk-kit/utils": "npm:1.3.0" - checksum: 10c0/5156e5934e13c579ddfca5fb11f6ba0d2f51f7e16f200314910c9861721a9f76d47a98190367df52386e8a1f6c0349c7caf3bfbe8e24e2c1c64041ef62b7d34e - languageName: node - linkType: hard - -"@zk-kit/lean-imt@npm:^2.0.1": - version: 2.2.3 - resolution: "@zk-kit/lean-imt@npm:2.2.3" - dependencies: - "@zk-kit/utils": "npm:1.3.0" - checksum: 10c0/46aefeb9f7d79dee9b944e3943627ff08a7266bc1824230298fa730d542c124fc81aa90cf2205c2bdcfe5d7516ba599f47d594313cc6d33603809de9f4c816e6 - languageName: node - linkType: hard - -"@zk-kit/utils@npm:1.3.0": - version: 1.3.0 - resolution: "@zk-kit/utils@npm:1.3.0" - dependencies: - buffer: "npm:^6.0.3" - checksum: 10c0/e48b6d319eea6247efdc2c7c93140406adf20edc072000ac5e865f7758f653340d310a640603e70940f7e8041fffeb118c4a071618de7dc1d170f6c628195905 - languageName: node - linkType: hard - -"abbrev@npm:1": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 - languageName: node - linkType: hard - -"abbrev@npm:1.0.x": - version: 1.0.9 - resolution: "abbrev@npm:1.0.9" - checksum: 10c0/214632e37c68f71d61d2ee920644a11c7b0cee08ddde96961b02ebe95ad86de0d56bd6762ff337bd9cf6e5c1431ce724babd28c110fce4b20d35f6fa87944d00 - languageName: node - linkType: hard - -"abbrev@npm:^3.0.0": - version: 3.0.0 - resolution: "abbrev@npm:3.0.0" - checksum: 10c0/049704186396f571650eb7b22ed3627b77a5aedf98bb83caf2eac81ca2a3e25e795394b0464cfb2d6076df3db6a5312139eac5b6a126ca296ac53c5008069c28 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.1.1": - version: 8.3.4 - resolution: "acorn-walk@npm:8.3.4" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 - languageName: node - linkType: hard - -"acorn@npm:^8.11.0, acorn@npm:^8.4.1": - version: 8.14.1 - resolution: "acorn@npm:8.14.1" - bin: - acorn: bin/acorn - checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 - languageName: node - linkType: hard - -"adm-zip@npm:^0.4.16": - version: 0.4.16 - resolution: "adm-zip@npm:0.4.16" - checksum: 10c0/c56c6e138fd19006155fc716acae14d54e07c267ae19d78c8a8cdca04762bf20170a71a41aa8d8bad2f13b70d4f3e9a191009bafa5280e05a440ee506f871a55 - languageName: node - linkType: hard - -"aes-js@npm:3.0.0": - version: 3.0.0 - resolution: "aes-js@npm:3.0.0" - checksum: 10c0/87dd5b2363534b867db7cef8bc85a90c355460783744877b2db7c8be09740aac5750714f9e00902822f692662bda74cdf40e03fbb5214ffec75c2666666288b8 - languageName: node - linkType: hard - -"aes-js@npm:4.0.0-beta.5": - version: 4.0.0-beta.5 - resolution: "aes-js@npm:4.0.0-beta.5" - checksum: 10c0/444f4eefa1e602cbc4f2a3c644bc990f93fd982b148425fee17634da510586fc09da940dcf8ace1b2d001453c07ff042e55f7a0482b3cc9372bf1ef75479090c - languageName: node - linkType: hard - -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - -"ajv@npm:^8.0.1": - version: 8.17.1 - resolution: "ajv@npm:8.17.1" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^3.0.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 - languageName: node - linkType: hard - -"amdefine@npm:>=0.0.4": - version: 1.0.1 - resolution: "amdefine@npm:1.0.1" - checksum: 10c0/ba8aa5d4ff5248b2ed067111e72644b36b5b7ae88d9a5a2c4223dddb3bdc9102db67291e0b414f59f12c6479ac6a365886bac72c7965e627cbc732e0962dd1ab - languageName: node - linkType: hard - -"ansi-align@npm:^3.0.0": - version: 3.0.1 - resolution: "ansi-align@npm:3.0.1" - dependencies: - string-width: "npm:^4.1.0" - checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 - languageName: node - linkType: hard - -"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": - version: 4.1.3 - resolution: "ansi-colors@npm:4.1.3" - checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.3.0": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 - languageName: node - linkType: hard - -"ansi-regex@npm:^3.0.0": - version: 3.0.1 - resolution: "ansi-regex@npm:3.0.1" - checksum: 10c0/d108a7498b8568caf4a46eea4f1784ab4e0dfb2e3f3938c697dee21443d622d765c958f2b7e2b9f6b9e55e2e2af0584eaa9915d51782b89a841c28e744e7a167 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"antlr4ts@npm:^0.5.0-alpha.4": - version: 0.5.0-alpha.4 - resolution: "antlr4ts@npm:0.5.0-alpha.4" - checksum: 10c0/26a43d6769178fdf1b79ed2001f123fd49843e335f9a3687b63c090ab2024632fbac60a73b3f8289044c206edeb5d19c36b02603b018d8eaf3be3ce30136102f - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"array-back@npm:^3.0.1, array-back@npm:^3.1.0": - version: 3.1.0 - resolution: "array-back@npm:3.1.0" - checksum: 10c0/bb1fe86aa8b39c21e73c68c7abf8b05ed939b8951a3b17527217f6a2a84e00e4cfa4fdec823081689c5e216709bf1f214a4f5feeee6726eaff83897fa1a7b8ee - languageName: node - linkType: hard - -"array-back@npm:^4.0.1, array-back@npm:^4.0.2": - version: 4.0.2 - resolution: "array-back@npm:4.0.2" - checksum: 10c0/8beb5b4c9535eab2905d4ff7d16c4d90ee5ca080d2b26b1e637434c0fcfadb3585283524aada753bd5d06bb88a5dac9e175c3a236183741d3d795a69b6678c96 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - -"array-uniq@npm:1.0.3": - version: 1.0.3 - resolution: "array-uniq@npm:1.0.3" - checksum: 10c0/3acbaf9e6d5faeb1010e2db04ab171b8d265889e46c61762e502979bdc5e55656013726e9a61507de3c82d329a0dc1e8072630a3454b4f2b881cb19ba7fd8aa6 - languageName: node - linkType: hard - -"asap@npm:~2.0.6": - version: 2.0.6 - resolution: "asap@npm:2.0.6" - checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d - languageName: node - linkType: hard - -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b - languageName: node - linkType: hard - -"astral-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "astral-regex@npm:2.0.0" - checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 - languageName: node - linkType: hard - -"async@npm:1.x": - version: 1.5.2 - resolution: "async@npm:1.5.2" - checksum: 10c0/9ee84592c393aad1047d1223004317ecc65a9a3f76101e0f4614a0818eac962e666510353400a3c9ea158df540579a293f486f3578e918c5e90a0f5ed52e8aea - languageName: node - linkType: hard - -"async@npm:^3.2.3": - version: 3.2.6 - resolution: "async@npm:3.2.6" - checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d - languageName: node - linkType: hard - -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef - languageName: node - linkType: hard - -"axios@npm:^1.5.1, axios@npm:^1.6.2": - version: 1.8.4 - resolution: "axios@npm:1.8.4" - dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/450993c2ba975ffccaf0d480b68839a3b2435a5469a71fa2fb0b8a55cdb2c2ae47e609360b9c1e2b2534b73dfd69e2733a1cf9f8215bee0bcd729b72f801b0ce - languageName: node - linkType: hard - -"b4a@npm:^1.0.1": - version: 1.6.7 - resolution: "b4a@npm:1.6.7" - checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"base-x@npm:^3.0.2": - version: 3.0.11 - resolution: "base-x@npm:3.0.11" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 10c0/4c5b8cd9cef285973b0460934be4fc890eedfd22a8aca527fac3527f041c5d1c912f7b9a6816f19e43e69dc7c29a5deabfa326bd3d6a57ee46af0ad46e3991d5 - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"bech32@npm:1.1.4": - version: 1.1.4 - resolution: "bech32@npm:1.1.4" - checksum: 10c0/5f62ca47b8df99ace9c0e0d8deb36a919d91bf40066700aaa9920a45f86bb10eb56d537d559416fd8703aa0fb60dddb642e58f049701e7291df678b2033e5ee5 - languageName: node - linkType: hard - -"bfj@npm:^7.0.2": - version: 7.1.0 - resolution: "bfj@npm:7.1.0" - dependencies: - bluebird: "npm:^3.7.2" - check-types: "npm:^11.2.3" - hoopy: "npm:^0.1.4" - jsonpath: "npm:^1.1.1" - tryer: "npm:^1.0.1" - checksum: 10c0/e5fc6690cd093c06ca6ed7584a2caf0c4a762bc9d9d9cb18efbabc75c973b071a8dad7037c617d0ea4d97b7b439821fea32f7c232ed0be8fa7840533a9643171 - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - -"blake-hash@npm:^2.0.0": - version: 2.0.0 - resolution: "blake-hash@npm:2.0.0" - dependencies: - node-addon-api: "npm:^3.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.2" - readable-stream: "npm:^3.6.0" - checksum: 10c0/368dc38d3694c925ac1c013f6e35ece9a0a6adb43aa475e97d6babcf829b6be9e4ef879aab2ce1f0e685f5346580e653ead9540a348691423d907504aafe9739 - languageName: node - linkType: hard - -"blake2b-wasm@npm:^2.4.0": - version: 2.4.0 - resolution: "blake2b-wasm@npm:2.4.0" - dependencies: - b4a: "npm:^1.0.1" - nanoassert: "npm:^2.0.0" - checksum: 10c0/0905a47ece466c44541c8abbc94a5441ecb24a3b2622bf1f2e285c1f0f82e2b1899c7bbd70294583cfd99e1276047dd80d7afc7408f3a7c5ebf426b2f2a42f6f - languageName: node - linkType: hard - -"blake2b@npm:^2.1.3": - version: 2.1.4 - resolution: "blake2b@npm:2.1.4" - dependencies: - blake2b-wasm: "npm:^2.4.0" - nanoassert: "npm:^2.0.0" - checksum: 10c0/5276ee175f7cbbb115ee2003cf577687239ee5931f350e7d799b52cd99793cf6946f03a31d8531f643db5e81ca727f18a0dd4206394ee62c65b5dacea1a86bf8 - languageName: node - linkType: hard - -"blakejs@npm:^1.1.0": - version: 1.2.1 - resolution: "blakejs@npm:1.2.1" - checksum: 10c0/c284557ce55b9c70203f59d381f1b85372ef08ee616a90162174d1291a45d3e5e809fdf9edab6e998740012538515152471dc4f1f9dbfa974ba2b9c1f7b9aad7 - languageName: node - linkType: hard - -"bluebird@npm:^3.7.2": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 - languageName: node - linkType: hard - -"bn.js@npm:4.11.6": - version: 4.11.6 - resolution: "bn.js@npm:4.11.6" - checksum: 10c0/e6ee7d3f597f60722cc3361071e23ccf71d3387e166de02381f180f22d2fa79f5dbbdf9e4909e81faaf5da01c16ec6857ddff02678339ce085e2058fd0e405db - languageName: node - linkType: hard - -"bn.js@npm:^4.11.0, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9": - version: 4.12.1 - resolution: "bn.js@npm:4.12.1" - checksum: 10c0/b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 - languageName: node - linkType: hard - -"bn.js@npm:^5.1.2, bn.js@npm:^5.2.0, bn.js@npm:^5.2.1": - version: 5.2.1 - resolution: "bn.js@npm:5.2.1" - checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa - languageName: node - linkType: hard - -"boxen@npm:^5.1.2": - version: 5.1.2 - resolution: "boxen@npm:5.1.2" - dependencies: - ansi-align: "npm:^3.0.0" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.1.0" - cli-boxes: "npm:^2.2.1" - string-width: "npm:^4.2.2" - type-fest: "npm:^0.20.2" - widest-line: "npm:^3.1.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/71f31c2eb3dcacd5fce524ae509e0cc90421752e0bfbd0281fd3352871d106c462a0f810c85f2fdb02f3a9fab2d7a84e9718b4999384d651b76104ebe5d2c024 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.3, braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"brorand@npm:^1.1.0": - version: 1.1.0 - resolution: "brorand@npm:1.1.0" - checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 - languageName: node - linkType: hard - -"browser-stdout@npm:^1.3.1": - version: 1.3.1 - resolution: "browser-stdout@npm:1.3.1" - checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 - languageName: node - linkType: hard - -"browserify-aes@npm:^1.2.0": - version: 1.2.0 - resolution: "browserify-aes@npm:1.2.0" - dependencies: - buffer-xor: "npm:^1.0.3" - cipher-base: "npm:^1.0.0" - create-hash: "npm:^1.1.0" - evp_bytestokey: "npm:^1.0.3" - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - checksum: 10c0/967f2ae60d610b7b252a4cbb55a7a3331c78293c94b4dd9c264d384ca93354c089b3af9c0dd023534efdc74ffbc82510f7ad4399cf82bc37bc07052eea485f18 - languageName: node - linkType: hard - -"bs58@npm:^4.0.0": - version: 4.0.1 - resolution: "bs58@npm:4.0.1" - dependencies: - base-x: "npm:^3.0.2" - checksum: 10c0/613a1b1441e754279a0e3f44d1faeb8c8e838feef81e550efe174ff021dd2e08a4c9ae5805b52dfdde79f97b5c0918c78dd24a0eb726c4a94365f0984a0ffc65 - languageName: node - linkType: hard - -"bs58check@npm:^2.1.2": - version: 2.1.2 - resolution: "bs58check@npm:2.1.2" - dependencies: - bs58: "npm:^4.0.0" - create-hash: "npm:^1.1.0" - safe-buffer: "npm:^5.1.2" - checksum: 10c0/5d33f319f0d7abbe1db786f13f4256c62a076bc8d184965444cb62ca4206b2c92bee58c93bce57150ffbbbe00c48838ac02e6f384e0da8215cac219c0556baa9 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer-xor@npm:^1.0.3": - version: 1.0.3 - resolution: "buffer-xor@npm:1.0.3" - checksum: 10c0/fd269d0e0bf71ecac3146187cfc79edc9dbb054e2ee69b4d97dfb857c6d997c33de391696d04bdd669272751fa48e7872a22f3a6c7b07d6c0bc31dbe02a4075c - languageName: node - linkType: hard - -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e - languageName: node - linkType: hard - -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" - dependencies: - "@npmcli/fs": "npm:^4.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c - languageName: node - linkType: hard - -"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 - languageName: node - linkType: hard - -"call-bound@npm:^1.0.2": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 - languageName: node - linkType: hard - -"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"caseless@npm:^0.12.0, caseless@npm:~0.12.0": - version: 0.12.0 - resolution: "caseless@npm:0.12.0" - checksum: 10c0/ccf64bcb6c0232cdc5b7bd91ddd06e23a4b541f138336d4725233ac538041fb2f29c2e86c3c4a7a61ef990b665348db23a047060b9414c3a6603e9fa61ad4626 - languageName: node - linkType: hard - -"cbor@npm:^8.1.0": - version: 8.1.0 - resolution: "cbor@npm:8.1.0" - dependencies: - nofilter: "npm:^3.1.0" - checksum: 10c0/a836e2e7ea0efb1b9c4e5a4be906c57113d730cc42293a34072e0164ed110bb8ac035dc7dca2e3ebb641bd4b37e00fdbbf09c951aa864b3d4888a6ed8c6243f7 - languageName: node - linkType: hard - -"cbor@npm:^9.0.0": - version: 9.0.2 - resolution: "cbor@npm:9.0.2" - dependencies: - nofilter: "npm:^3.1.0" - checksum: 10c0/709d4378067e663107b3d63a02d123a7b33e28946b4c5cc40c102f2f0ba13b072a79adc4369bb87a4e743399fce45deec30463fc84d363ab7cb39192d0fe5f30 - languageName: node - linkType: hard - -"chai-as-promised@npm:^7.1.1": - version: 7.1.2 - resolution: "chai-as-promised@npm:7.1.2" - dependencies: - check-error: "npm:^1.0.2" - peerDependencies: - chai: ">= 2.1.2 < 6" - checksum: 10c0/ee20ed75296d8cbf828b2f3c9ad64627cee67b1a38b8e906ca59fe788fb6965ddb10f702ae66645ed88f15a905ade4f2d9f8540029e92e2d59b229c9f912273f - languageName: node - linkType: hard - -"chai@npm:^4.4.1": - version: 4.5.0 - resolution: "chai@npm:4.5.0" - dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.1.0" - checksum: 10c0/b8cb596bd1aece1aec659e41a6e479290c7d9bee5b3ad63d2898ad230064e5b47889a3bc367b20100a0853b62e026e2dc514acf25a3c9385f936aa3614d4ab4d - languageName: node - linkType: hard - -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"charenc@npm:>= 0.0.1": - version: 0.0.2 - resolution: "charenc@npm:0.0.2" - checksum: 10c0/a45ec39363a16799d0f9365c8dd0c78e711415113c6f14787a22462ef451f5013efae8a28f1c058f81fc01f2a6a16955f7a5fd0cd56247ce94a45349c89877d8 - languageName: node - linkType: hard - -"check-error@npm:^1.0.2, check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 - languageName: node - linkType: hard - -"check-types@npm:^11.2.3": - version: 11.2.3 - resolution: "check-types@npm:11.2.3" - checksum: 10c0/08d17e528b189e0e431689f0f2f0a78f425202f6e5ac93def5c3b8d128eb888a5103fc980d4feb7b2d4248f8114d354c223dff3c0b5ac4b1def526ef441aaf55 - languageName: node - linkType: hard - -"chokidar@npm:^3.5.3": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chokidar@npm:^4.0.0": - version: 4.0.3 - resolution: "chokidar@npm:4.0.3" - dependencies: - readdirp: "npm:^4.0.1" - checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"ci-info@npm:^2.0.0": - version: 2.0.0 - resolution: "ci-info@npm:2.0.0" - checksum: 10c0/8c5fa3830a2bcee2b53c2e5018226f0141db9ec9f7b1e27a5c57db5512332cde8a0beb769bcbaf0d8775a78afbf2bb841928feca4ea6219638a5b088f9884b46 - languageName: node - linkType: hard - -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a - languageName: node - linkType: hard - -"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": - version: 1.0.6 - resolution: "cipher-base@npm:1.0.6" - dependencies: - inherits: "npm:^2.0.4" - safe-buffer: "npm:^5.2.1" - checksum: 10c0/f73268e0ee6585800875d9748f2a2377ae7c2c3375cba346f75598ac6f6bc3a25dec56e984a168ced1a862529ffffe615363f750c40349039d96bd30fba0fca8 - languageName: node - linkType: hard - -"circom_runtime@npm:0.1.28": - version: 0.1.28 - resolution: "circom_runtime@npm:0.1.28" - dependencies: - ffjavascript: "npm:0.3.1" - bin: - calcwit: calcwit.js - checksum: 10c0/f2636b3cf553ea37701b527331ff740be7e31d51dc367c7f7bdffb69cf3a0d86c34ce215e4dbc0ad47f9c221c129ab11b111c6814e009c4d469592d73ab3c513 - languageName: node - linkType: hard - -"circomlibjs@npm:^0.1.7": - version: 0.1.7 - resolution: "circomlibjs@npm:0.1.7" - dependencies: - blake-hash: "npm:^2.0.0" - blake2b: "npm:^2.1.3" - ethers: "npm:^5.5.1" - ffjavascript: "npm:^0.2.45" - checksum: 10c0/ce618d8d245b6c834a171c0c3b3ba46b9ca7f47eb21b77b59469d100145cc51e820817450ef14897488b883b6038a0cfd85d43c900be4467c543f079a09617ff - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"cli-boxes@npm:^2.2.1": - version: 2.2.1 - resolution: "cli-boxes@npm:2.2.1" - checksum: 10c0/6111352edbb2f62dbc7bfd58f2d534de507afed7f189f13fa894ce5a48badd94b2aa502fda28f1d7dd5f1eb456e7d4033d09a76660013ef50c7f66e7a034f050 - languageName: node - linkType: hard - -"cli-table3@npm:^0.5.0": - version: 0.5.1 - resolution: "cli-table3@npm:0.5.1" - dependencies: - colors: "npm:^1.1.2" - object-assign: "npm:^4.1.0" - string-width: "npm:^2.1.1" - dependenciesMeta: - colors: - optional: true - checksum: 10c0/659c40ead17539d0665aa9dea85a7650fc161939f9d8bd3842c6cf5da51dc867057d3066fe8c962dafa163da39ce2029357754aee2c8f9513ea7a0810511d1d6 - languageName: node - linkType: hard - -"cli-table3@npm:^0.6.0": - version: 0.6.5 - resolution: "cli-table3@npm:0.6.5" - dependencies: - "@colors/colors": "npm:1.5.0" - string-width: "npm:^4.2.0" - dependenciesMeta: - "@colors/colors": - optional: true - checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78 - languageName: node - linkType: hard - -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 - languageName: node - linkType: hard - -"cliui@npm:^8.0.1": - version: 8.0.1 - resolution: "cliui@npm:8.0.1" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 - languageName: node - linkType: hard - -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"colors@npm:1.4.0, colors@npm:^1.1.2": - version: 1.4.0 - resolution: "colors@npm:1.4.0" - checksum: 10c0/9af357c019da3c5a098a301cf64e3799d27549d8f185d86f79af23069e4f4303110d115da98483519331f6fb71c8568d5688fa1c6523600044fd4a54e97c4efb - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - -"command-exists@npm:^1.2.8": - version: 1.2.9 - resolution: "command-exists@npm:1.2.9" - checksum: 10c0/75040240062de46cd6cd43e6b3032a8b0494525c89d3962e280dde665103f8cc304a8b313a5aa541b91da2f5a9af75c5959dc3a77893a2726407a5e9a0234c16 - languageName: node - linkType: hard - -"command-line-args@npm:^5.1.1": - version: 5.2.1 - resolution: "command-line-args@npm:5.2.1" - dependencies: - array-back: "npm:^3.1.0" - find-replace: "npm:^3.0.0" - lodash.camelcase: "npm:^4.3.0" - typical: "npm:^4.0.0" - checksum: 10c0/a4f6a23a1e420441bd1e44dee24efd12d2e49af7efe6e21eb32fca4e843ca3d5501ddebad86a4e9d99aa626dd6dcb64c04a43695388be54e3a803dbc326cc89f - languageName: node - linkType: hard - -"command-line-usage@npm:^6.1.0": - version: 6.1.3 - resolution: "command-line-usage@npm:6.1.3" - dependencies: - array-back: "npm:^4.0.2" - chalk: "npm:^2.4.2" - table-layout: "npm:^1.0.2" - typical: "npm:^5.2.0" - checksum: 10c0/23d7577ccb6b6c004e67bb6a9a8cb77282ae7b7507ae92249a9548a39050b7602fef70f124c765000ab23b8f7e0fb7a3352419ab73ea42a2d9ea32f520cdfe9e - languageName: node - linkType: hard - -"commander@npm:^8.1.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.2": - version: 1.6.2 - resolution: "concat-stream@npm:1.6.2" - dependencies: - buffer-from: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^2.2.2" - typedarray: "npm:^0.0.6" - checksum: 10c0/2e9864e18282946dabbccb212c5c7cec0702745e3671679eb8291812ca7fd12023f7d8cb36493942a62f770ac96a7f90009dc5c82ad69893438371720fa92617 - languageName: node - linkType: hard - -"cookie@npm:^0.4.1": - version: 0.4.2 - resolution: "cookie@npm:0.4.2" - checksum: 10c0/beab41fbd7c20175e3a2799ba948c1dcc71ef69f23fe14eeeff59fc09f50c517b0f77098db87dbb4c55da802f9d86ee86cdc1cd3efd87760341551838d53fca2 - languageName: node - linkType: hard - -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 - languageName: node - linkType: hard - -"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": - version: 1.2.0 - resolution: "create-hash@npm:1.2.0" - dependencies: - cipher-base: "npm:^1.0.1" - inherits: "npm:^2.0.1" - md5.js: "npm:^1.3.4" - ripemd160: "npm:^2.0.1" - sha.js: "npm:^2.4.0" - checksum: 10c0/d402e60e65e70e5083cb57af96d89567954d0669e90550d7cec58b56d49c4b193d35c43cec8338bc72358198b8cbf2f0cac14775b651e99238e1cf411490f915 - languageName: node - linkType: hard - -"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": - version: 1.1.7 - resolution: "create-hmac@npm:1.1.7" - dependencies: - cipher-base: "npm:^1.0.3" - create-hash: "npm:^1.1.0" - inherits: "npm:^2.0.1" - ripemd160: "npm:^2.0.0" - safe-buffer: "npm:^5.0.1" - sha.js: "npm:^2.4.8" - checksum: 10c0/24332bab51011652a9a0a6d160eed1e8caa091b802335324ae056b0dcb5acbc9fcf173cf10d128eba8548c3ce98dfa4eadaa01bd02f44a34414baee26b651835 - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.6": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"crypt@npm:>= 0.0.1": - version: 0.0.2 - resolution: "crypt@npm:0.0.2" - checksum: 10c0/adbf263441dd801665d5425f044647533f39f4612544071b1471962209d235042fb703c27eea2795c7c53e1dfc242405173003f83cf4f4761a633d11f9653f18 - languageName: node - linkType: hard - -"dateformat@npm:^4.5.1": - version: 4.6.3 - resolution: "dateformat@npm:4.6.3" - checksum: 10c0/e2023b905e8cfe2eb8444fb558562b524807a51cdfe712570f360f873271600b5c94aebffaf11efb285e2c072264a7cf243eadb68f3eba0f8cc85fb86cd25df6 - languageName: node - linkType: hard - -"death@npm:^1.1.0": - version: 1.1.0 - resolution: "death@npm:1.1.0" - checksum: 10c0/4cf8ec37728b99cd18566e605b4c967eedaeeb1533a3003cb88cbc69e6fe1787393b21bfa8c26045222f4e7dd75044eaf6b4c566b67da84ecb81717a7e3ca391 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5": - version: 4.4.0 - resolution: "debug@npm:4.4.0" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de - languageName: node - linkType: hard - -"decamelize@npm:^4.0.0": - version: 4.0.0 - resolution: "decamelize@npm:4.0.0" - checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d - languageName: node - linkType: hard - -"deep-eql@npm:^4.0.1, deep-eql@npm:^4.1.3": - version: 4.1.4 - resolution: "deep-eql@npm:4.1.4" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 - languageName: node - linkType: hard - -"deep-extend@npm:~0.6.0": - version: 0.6.0 - resolution: "deep-extend@npm:0.6.0" - checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 - languageName: node - linkType: hard - -"deep-is@npm:~0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"diff@npm:^5.0.0, diff@npm:^5.2.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 - languageName: node - linkType: hard - -"difflib@npm:^0.2.4": - version: 0.2.4 - resolution: "difflib@npm:0.2.4" - dependencies: - heap: "npm:>= 0.2.0" - checksum: 10c0/4b151f1f6d378b0837ef28f4706d89d05b78f1093253b06c975c621f7ef8b048978588baf9e8f284c64b133d0abb08303b0789519cc91e5180d420cb3bb99c05 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dotenv@npm:^16.3.1": - version: 16.4.7 - resolution: "dotenv@npm:16.4.7" - checksum: 10c0/be9f597e36a8daf834452daa1f4cc30e5375a5968f98f46d89b16b983c567398a330580c88395069a77473943c06b877d1ca25b4afafcdd6d4adb549e8293462 - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.2.0" - checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"ejs@npm:^3.1.6": - version: 3.1.10 - resolution: "ejs@npm:3.1.10" - dependencies: - jake: "npm:^10.8.5" - bin: - ejs: bin/cli.js - checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 - languageName: node - linkType: hard - -"elliptic@npm:6.6.1, elliptic@npm:^6.5.2, elliptic@npm:^6.5.7": - version: 6.6.1 - resolution: "elliptic@npm:6.6.1" - dependencies: - bn.js: "npm:^4.11.9" - brorand: "npm:^1.1.0" - hash.js: "npm:^1.0.0" - hmac-drbg: "npm:^1.0.1" - inherits: "npm:^2.0.4" - minimalistic-assert: "npm:^1.0.1" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 10c0/8b24ef782eec8b472053793ea1e91ae6bee41afffdfcb78a81c0a53b191e715cbe1292aa07165958a9bbe675bd0955142560b1a007ffce7d6c765bcaf951a867 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"enquirer@npm:^2.3.0": - version: 2.4.1 - resolution: "enquirer@npm:2.4.1" - dependencies: - ansi-colors: "npm:^4.1.1" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.1.0": - version: 2.1.0 - resolution: "es-set-tostringtag@npm:2.1.0" - dependencies: - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": - version: 3.2.0 - resolution: "escalade@npm:3.2.0" - checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 - languageName: node - linkType: hard - -"escape-html@npm:^1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"escodegen@npm:1.8.x": - version: 1.8.1 - resolution: "escodegen@npm:1.8.1" - dependencies: - esprima: "npm:^2.7.1" - estraverse: "npm:^1.9.1" - esutils: "npm:^2.0.2" - optionator: "npm:^0.8.1" - source-map: "npm:~0.2.0" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: ./bin/escodegen.js - esgenerate: ./bin/esgenerate.js - checksum: 10c0/ac19704975bb22e20f04d0da8b4586c11e302fd9fb48bbf945c5b9c0fd01dc85ed25975b6eaba733047e9cc7e57a4bb95c39820843d1f8f55daf88be02398d8f - languageName: node - linkType: hard - -"escodegen@npm:^1.8.1": - version: 1.14.3 - resolution: "escodegen@npm:1.14.3" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^4.2.0" - esutils: "npm:^2.0.2" - optionator: "npm:^0.8.1" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/30d337803e8f44308c90267bf6192399e4b44792497c77a7506b68ab802ba6a48ebbe1ce77b219aba13dfd2de5f5e1c267e35be1ed87b2a9c3315e8b283e302a - languageName: node - linkType: hard - -"esprima@npm:1.2.2": - version: 1.2.2 - resolution: "esprima@npm:1.2.2" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/a5a8fd359651dd8228736d7352eb7636c7765e1ec6ff8fff3f6641622039a9f51fa501969a1a4777ba4187cf9942a8d7e0367dccaff768b782bdb1a71d046abf - languageName: node - linkType: hard - -"esprima@npm:2.7.x, esprima@npm:^2.7.1": - version: 2.7.3 - resolution: "esprima@npm:2.7.3" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/6e1e99f280eed2ecd521ae28217c5f7c7a03fd0a1ac913bffd4a4ba278caf32cb8d9fc01e41d4b4bc904617282873dea297d60e1f93ea20156f29994c348a04f - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"estraverse@npm:^1.9.1": - version: 1.9.3 - resolution: "estraverse@npm:1.9.3" - checksum: 10c0/2477bab0c5cdc7534162fbb16b25282c49f434875227937726692ed105762403e9830324cc97c3ea8bf332fe91122ea321f4d4292aaf50db7a90d857e169719e - languageName: node - linkType: hard - -"estraverse@npm:^4.2.0": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"eth-gas-reporter@npm:^0.2.25": - version: 0.2.27 - resolution: "eth-gas-reporter@npm:0.2.27" - dependencies: - "@solidity-parser/parser": "npm:^0.14.0" - axios: "npm:^1.5.1" - cli-table3: "npm:^0.5.0" - colors: "npm:1.4.0" - ethereum-cryptography: "npm:^1.0.3" - ethers: "npm:^5.7.2" - fs-readdir-recursive: "npm:^1.1.0" - lodash: "npm:^4.17.14" - markdown-table: "npm:^1.1.3" - mocha: "npm:^10.2.0" - req-cwd: "npm:^2.0.0" - sha1: "npm:^1.1.1" - sync-request: "npm:^6.0.0" - peerDependencies: - "@codechecks/client": ^0.1.0 - peerDependenciesMeta: - "@codechecks/client": - optional: true - checksum: 10c0/62a7b8ea41d82731fe91a7741eb2362f08d55e0fece1c12e69effe1684933999961d97d1011037a54063fda20c33a61ef143f04b7ccef36c3002f40975b0415f - languageName: node - linkType: hard - -"ethereum-bloom-filters@npm:^1.0.6": - version: 1.2.0 - resolution: "ethereum-bloom-filters@npm:1.2.0" - dependencies: - "@noble/hashes": "npm:^1.4.0" - checksum: 10c0/7a0ed420cb2e85f621042d78576eb4ddea535a57f3186e314160604b29c37bcd0d3561b03695971e3a96e9c9db402b87de7248a1ac640cbc3dda1b8077cf841f - languageName: node - linkType: hard - -"ethereum-cryptography@npm:0.1.3, ethereum-cryptography@npm:^0.1.3": - version: 0.1.3 - resolution: "ethereum-cryptography@npm:0.1.3" - dependencies: - "@types/pbkdf2": "npm:^3.0.0" - "@types/secp256k1": "npm:^4.0.1" - blakejs: "npm:^1.1.0" - browserify-aes: "npm:^1.2.0" - bs58check: "npm:^2.1.2" - create-hash: "npm:^1.2.0" - create-hmac: "npm:^1.1.7" - hash.js: "npm:^1.1.7" - keccak: "npm:^3.0.0" - pbkdf2: "npm:^3.0.17" - randombytes: "npm:^2.1.0" - safe-buffer: "npm:^5.1.2" - scrypt-js: "npm:^3.0.0" - secp256k1: "npm:^4.0.1" - setimmediate: "npm:^1.0.5" - checksum: 10c0/aa36e11fca9d67d67c96e02a98b33bae2e1add20bd11af43feb7f28cdafe0cd3bdbae3bfecc7f2d9ec8f504b10a1c8f7590f5f7fe236560fd8083dd321ad7144 - languageName: node - linkType: hard - -"ethereum-cryptography@npm:^1.0.3": - version: 1.2.0 - resolution: "ethereum-cryptography@npm:1.2.0" - dependencies: - "@noble/hashes": "npm:1.2.0" - "@noble/secp256k1": "npm:1.7.1" - "@scure/bip32": "npm:1.1.5" - "@scure/bip39": "npm:1.1.1" - checksum: 10c0/93e486a4a8b266dc2f274b69252e751345ef47551163371939b01231afb7b519133e2572b5975bb9cb4cc77ac54ccd36002c7c759a72488abeeaf216e4d55b46 - languageName: node - linkType: hard - -"ethereum-cryptography@npm:^2.0.0, ethereum-cryptography@npm:^2.1.2": - version: 2.2.1 - resolution: "ethereum-cryptography@npm:2.2.1" - dependencies: - "@noble/curves": "npm:1.4.2" - "@noble/hashes": "npm:1.4.0" - "@scure/bip32": "npm:1.4.0" - "@scure/bip39": "npm:1.3.0" - checksum: 10c0/c6c7626d393980577b57f709878b2eb91f270fe56116044b1d7afb70d5c519cddc0c072e8c05e4a335e05342eb64d9c3ab39d52f78bb75f76ad70817da9645ef - languageName: node - linkType: hard - -"ethereumjs-abi@npm:^0.6.8": - version: 0.6.8 - resolution: "ethereumjs-abi@npm:0.6.8" - dependencies: - bn.js: "npm:^4.11.8" - ethereumjs-util: "npm:^6.0.0" - checksum: 10c0/a7ff1917625e3c812cb3bca6c1231fc0ece282cc7d202d60545a9c31cd379fd751bfed5ff78dae4279cb1ba4d0e8967f9fdd4f135a334a38dbf04e7afd0c4bcf - languageName: node - linkType: hard - -"ethereumjs-util@npm:^6.0.0, ethereumjs-util@npm:^6.2.1": - version: 6.2.1 - resolution: "ethereumjs-util@npm:6.2.1" - dependencies: - "@types/bn.js": "npm:^4.11.3" - bn.js: "npm:^4.11.0" - create-hash: "npm:^1.1.2" - elliptic: "npm:^6.5.2" - ethereum-cryptography: "npm:^0.1.3" - ethjs-util: "npm:0.1.6" - rlp: "npm:^2.2.3" - checksum: 10c0/64aa7e6d591a0b890eb147c5d81f80a6456e87b3056e6bbafb54dff63f6ae9e646406763e8bd546c3b0b0162d027aecb3844873e894681826b03e0298f57e7a4 - languageName: node - linkType: hard - -"ethereumjs-util@npm:^7.1.4": - version: 7.1.5 - resolution: "ethereumjs-util@npm:7.1.5" - dependencies: - "@types/bn.js": "npm:^5.1.0" - bn.js: "npm:^5.1.2" - create-hash: "npm:^1.1.2" - ethereum-cryptography: "npm:^0.1.3" - rlp: "npm:^2.2.4" - checksum: 10c0/8b9487f35ecaa078bf9af6858eba6855fc61c73cc2b90c8c37486fcf94faf4fc1c5cda9758e6769f9ef2658daedaf2c18b366312ac461f8c8a122b392e3041eb - languageName: node - linkType: hard - -"ethers@npm:^5.5.1, ethers@npm:^5.7.2": - version: 5.8.0 - resolution: "ethers@npm:5.8.0" - dependencies: - "@ethersproject/abi": "npm:5.8.0" - "@ethersproject/abstract-provider": "npm:5.8.0" - "@ethersproject/abstract-signer": "npm:5.8.0" - "@ethersproject/address": "npm:5.8.0" - "@ethersproject/base64": "npm:5.8.0" - "@ethersproject/basex": "npm:5.8.0" - "@ethersproject/bignumber": "npm:5.8.0" - "@ethersproject/bytes": "npm:5.8.0" - "@ethersproject/constants": "npm:5.8.0" - "@ethersproject/contracts": "npm:5.8.0" - "@ethersproject/hash": "npm:5.8.0" - "@ethersproject/hdnode": "npm:5.8.0" - "@ethersproject/json-wallets": "npm:5.8.0" - "@ethersproject/keccak256": "npm:5.8.0" - "@ethersproject/logger": "npm:5.8.0" - "@ethersproject/networks": "npm:5.8.0" - "@ethersproject/pbkdf2": "npm:5.8.0" - "@ethersproject/properties": "npm:5.8.0" - "@ethersproject/providers": "npm:5.8.0" - "@ethersproject/random": "npm:5.8.0" - "@ethersproject/rlp": "npm:5.8.0" - "@ethersproject/sha2": "npm:5.8.0" - "@ethersproject/signing-key": "npm:5.8.0" - "@ethersproject/solidity": "npm:5.8.0" - "@ethersproject/strings": "npm:5.8.0" - "@ethersproject/transactions": "npm:5.8.0" - "@ethersproject/units": "npm:5.8.0" - "@ethersproject/wallet": "npm:5.8.0" - "@ethersproject/web": "npm:5.8.0" - "@ethersproject/wordlists": "npm:5.8.0" - checksum: 10c0/8f187bb6af3736fbafcb613d8fb5be31fe7667a1bae480dd0a4c31b597ed47e0693d552adcababcb05111da39a059fac22e44840ce1671b1cc972de22d6d85d9 - languageName: node - linkType: hard - -"ethers@npm:^6.12.1, ethers@npm:^6.7.0": - version: 6.13.5 - resolution: "ethers@npm:6.13.5" - dependencies: - "@adraffy/ens-normalize": "npm:1.10.1" - "@noble/curves": "npm:1.2.0" - "@noble/hashes": "npm:1.3.2" - "@types/node": "npm:22.7.5" - aes-js: "npm:4.0.0-beta.5" - tslib: "npm:2.7.0" - ws: "npm:8.17.1" - checksum: 10c0/64bc7b8907de199392b8a88c15c9a085892919cff7efa2e5326abc7fe5c426001726c51d91e10c74e5fc5e2547188297ce4127f6e52ea42a97ade0b2ae474677 - languageName: node - linkType: hard - -"ethjs-unit@npm:0.1.6": - version: 0.1.6 - resolution: "ethjs-unit@npm:0.1.6" - dependencies: - bn.js: "npm:4.11.6" - number-to-bn: "npm:1.7.0" - checksum: 10c0/0115ddeb4bc932026b9cd259f6eb020a45b38be62e3786526b70e4c5fb0254184bf6e8b7b3f0c8bb80d4d596a73893e386c02221faf203895db7cb9c29b37188 - languageName: node - linkType: hard - -"ethjs-util@npm:0.1.6, ethjs-util@npm:^0.1.6": - version: 0.1.6 - resolution: "ethjs-util@npm:0.1.6" - dependencies: - is-hex-prefixed: "npm:1.0.0" - strip-hex-prefix: "npm:1.0.0" - checksum: 10c0/9b4d6268705fd0620e73a56d2fa7b8a7c6b9770b2cf7f8ffe3a9c46b8bd1c5a08fff3d1181bb18cf85cf12b6fdbb6dca6d9aff6506005f3f565e742f026e6339 - languageName: node - linkType: hard - -"evp_bytestokey@npm:^1.0.3": - version: 1.0.3 - resolution: "evp_bytestokey@npm:1.0.3" - dependencies: - md5.js: "npm:^1.3.4" - node-gyp: "npm:latest" - safe-buffer: "npm:^5.1.1" - checksum: 10c0/77fbe2d94a902a80e9b8f5a73dcd695d9c14899c5e82967a61b1fc6cbbb28c46552d9b127cff47c45fcf684748bdbcfa0a50410349109de87ceb4b199ef6ee99 - languageName: node - linkType: hard - -"expect@npm:^29.0.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" - dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 - languageName: node - linkType: hard - -"fast-deep-equal@npm:^3.1.3": - version: 3.1.3 - resolution: "fast-deep-equal@npm:3.1.3" - checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 - languageName: node - linkType: hard - -"fast-glob@npm:^3.0.3": - version: 3.3.3 - resolution: "fast-glob@npm:3.3.3" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.8" - checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe - languageName: node - linkType: hard - -"fast-levenshtein@npm:~2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fast-uri@npm:^3.0.1": - version: 3.0.6 - resolution: "fast-uri@npm:3.0.6" - checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 - languageName: node - linkType: hard - -"fastfile@npm:0.0.20": - version: 0.0.20 - resolution: "fastfile@npm:0.0.20" - checksum: 10c0/ca91f5658eec188c7ba3b910d7d87ed90d4d7ca92852fa14dd8c6d4ae4c2149b8147a30bbcafe727bf12f0ebb25c585a6cf0a112a3957b761ec913f8299fdd4f - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.19.1 - resolution: "fastq@npm:1.19.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 - languageName: node - linkType: hard - -"fdir@npm:^6.4.3": - version: 6.4.3 - resolution: "fdir@npm:6.4.3" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 10c0/d13c10120e9625adf21d8d80481586200759928c19405a816b77dd28eaeb80e7c59c5def3e2941508045eb06d34eb47fad865ccc8bf98e6ab988bb0ed160fb6f - languageName: node - linkType: hard - -"ffjavascript@npm:0.3.0": - version: 0.3.0 - resolution: "ffjavascript@npm:0.3.0" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/2899db6ab67162eb9a7a052c420d31b0e15c6fd12bc738c48559e0a926649f1d11afe9cfa2611ff13f816b2fd9fa047fb11f6f8682f0dea4f84c4dd9f5dc7c3c - languageName: node - linkType: hard - -"ffjavascript@npm:0.3.1, ffjavascript@npm:^0.3.0": - version: 0.3.1 - resolution: "ffjavascript@npm:0.3.1" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/6928afe37cdbe9a88a9901a37d0abbdcfa61a8533517cb86e2584bf2701eaa10ce2bfa1d417499042f9b10b79bc058ec0ecc14d3fdc6cb55d21bfcac3d1c4521 - languageName: node - linkType: hard - -"ffjavascript@npm:^0.2.45": - version: 0.2.63 - resolution: "ffjavascript@npm:0.2.63" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/875f0b52c89ed1822b4da7449efa149f7ed8550ede6c1d0308b2f854e98867a8f1546db3486427b9fd98da1cc236c1b533cfb11e9938b0ab708c5a77da811299 - languageName: node - linkType: hard - -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"find-replace@npm:^3.0.0": - version: 3.0.0 - resolution: "find-replace@npm:3.0.0" - dependencies: - array-back: "npm:^3.0.1" - checksum: 10c0/fcd1bf7960388c8193c2861bcdc760c18ac14edb4bde062a961915d9a25727b2e8aabf0229e90cc09c753fd557e5a3e5ae61e49cadbe727be89a9e8e49ce7668 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat@npm:^5.0.2": - version: 5.0.2 - resolution: "flat@npm:5.0.2" - bin: - flat: cli.js - checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe - languageName: node - linkType: hard - -"follow-redirects@npm:^1.12.1, follow-redirects@npm:^1.15.6": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" - peerDependenciesMeta: - debug: - optional: true - checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.3.1 - resolution: "foreground-child@npm:3.3.1" - dependencies: - cross-spawn: "npm:^7.0.6" - signal-exit: "npm:^4.0.1" - checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 - languageName: node - linkType: hard - -"form-data@npm:^2.2.0": - version: 2.5.3 - resolution: "form-data@npm:2.5.3" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - mime-types: "npm:^2.1.35" - safe-buffer: "npm:^5.2.1" - checksum: 10c0/48b910745d4fcd403f3d6876e33082a334e712199b8c86c4eb82f6da330a59b859943999d793856758c5ff18ca5261ced4d1062235a14543022d986bd21faa7d - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.2 - resolution: "form-data@npm:4.0.2" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - mime-types: "npm:^2.1.12" - checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c - languageName: node - linkType: hard - -"fp-ts@npm:1.19.3": - version: 1.19.3 - resolution: "fp-ts@npm:1.19.3" - checksum: 10c0/a016cfc98ad5e61564ab2d53a5379bbb8254642b66df13ced47e8c1d8d507abf4588d8bb43530198dfe1907211d8bae8f112cab52ba0ac6ab055da9168a6e260 - languageName: node - linkType: hard - -"fp-ts@npm:^1.0.0": - version: 1.19.5 - resolution: "fp-ts@npm:1.19.5" - checksum: 10c0/2a330fa1779561307740c26a7255fdffeb1ca2d0c7448d4dc094b477b772b0c8f7da1dfc88569b6f13f6958169b63b5df7361e514535b46b2e215bbf03a3722d - languageName: node - linkType: hard - -"fs-extra@npm:^10.0.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e - languageName: node - linkType: hard - -"fs-extra@npm:^7.0.0, fs-extra@npm:^7.0.1": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: "npm:^4.1.2" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/1943bb2150007e3739921b8d13d4109abdc3cc481e53b97b7ea7f77eda1c3c642e27ae49eac3af074e3496ea02fde30f411ef410c760c70a38b92e656e5da784 - languageName: node - linkType: hard - -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 - languageName: node - linkType: hard - -"fs-extra@npm:^9.1.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: "npm:^1.0.0" - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs-readdir-recursive@npm:^1.1.0": - version: 1.1.0 - resolution: "fs-readdir-recursive@npm:1.1.0" - checksum: 10c0/7e190393952143e674b6d1ad4abcafa1b5d3e337fcc21b0cb051079a7140a54617a7df193d562ef9faf21bd7b2148a38601b3d5c16261fa76f278d88dc69989c - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"fsu@npm:^1.1.1": - version: 1.1.1 - resolution: "fsu@npm:1.1.1" - checksum: 10c0/8845f162b69e546dfd113f12dfceff9a9d06ec9710ed7973a69f8d4c6fce3946e4f59a67c6c767c9a2a5f61c94e4a59505791b7b933f849c6407c59277ce86c8 - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde - languageName: node - linkType: hard - -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.3.0": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a - languageName: node - linkType: hard - -"get-port@npm:^3.1.0": - version: 3.2.0 - resolution: "get-port@npm:3.2.0" - checksum: 10c0/1b6c3fe89074be3753d9ddf3d67126ea351ab9890537fe53fefebc2912d1d66fdc112451bbc76d33ae5ceb6ca70be2a91017944e3ee8fb0814ac9b295bf2a5b8 - languageName: node - linkType: hard - -"get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: "npm:^1.0.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c - languageName: node - linkType: hard - -"ghost-testrpc@npm:^0.0.2": - version: 0.0.2 - resolution: "ghost-testrpc@npm:0.0.2" - dependencies: - chalk: "npm:^2.4.2" - node-emoji: "npm:^1.10.0" - bin: - testrpc-sc: ./index.js - checksum: 10c0/604efc022dfccda3da38ba5726ea52e5156c232814de440193ed7543dd1bb6a3899942df56ca8943c32fec2692abd9b62eb0fe381c7718b0941b3eb301c75b77 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob@npm:7.1.7": - version: 7.1.7 - resolution: "glob@npm:7.1.7" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.0.4" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/173245e6f9ccf904309eb7ef4a44a11f3bf68e9e341dff5a28b5db0dd7123b7506daf41497f3437a0710f57198187b758c2351eeaabce4d16935e956920da6a4 - languageName: node - linkType: hard - -"glob@npm:^10.2.2": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e - languageName: node - linkType: hard - -"glob@npm:^5.0.15": - version: 5.0.15 - resolution: "glob@npm:5.0.15" - dependencies: - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:2 || 3" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/ed17b34406bedceb334a1df3502774a089ce822db07585ad2a6851d6040531540ce07407d7da5f0e0bded238114ea50302902f025e551499108076e635fcd9b1 - languageName: node - linkType: hard - -"glob@npm:^7.0.0, glob@npm:^7.1.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"glob@npm:^8.1.0": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f - languageName: node - linkType: hard - -"global-modules@npm:^2.0.0": - version: 2.0.0 - resolution: "global-modules@npm:2.0.0" - dependencies: - global-prefix: "npm:^3.0.0" - checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 - languageName: node - linkType: hard - -"global-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "global-prefix@npm:3.0.0" - dependencies: - ini: "npm:^1.3.5" - kind-of: "npm:^6.0.2" - which: "npm:^1.3.1" - checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 - languageName: node - linkType: hard - -"globby@npm:^10.0.1": - version: 10.0.2 - resolution: "globby@npm:10.0.2" - dependencies: - "@types/glob": "npm:^7.1.1" - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.0.3" - glob: "npm:^7.1.3" - ignore: "npm:^5.1.1" - merge2: "npm:^1.2.3" - slash: "npm:^3.0.0" - checksum: 10c0/9c610ad47117b9dfbc5b0c6c2408c3b72f89c1b9f91ee14c4dc794794e35768ee0920e2a403b688cfa749f48617c6ba3f3a52df07677ed73d602d4349b68c810 - languageName: node - linkType: hard - -"gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"handlebars@npm:^4.0.1": - version: 4.7.8 - resolution: "handlebars@npm:4.7.8" - dependencies: - minimist: "npm:^1.2.5" - neo-async: "npm:^2.6.2" - source-map: "npm:^0.6.1" - uglify-js: "npm:^3.1.4" - wordwrap: "npm:^1.0.0" - dependenciesMeta: - uglify-js: - optional: true - bin: - handlebars: bin/handlebars - checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d - languageName: node - linkType: hard - -"hardhat-contract-sizer@npm:^2.10.0": - version: 2.10.0 - resolution: "hardhat-contract-sizer@npm:2.10.0" - dependencies: - chalk: "npm:^4.0.0" - cli-table3: "npm:^0.6.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - hardhat: ^2.0.0 - checksum: 10c0/c8bdb3e32c7e5a28bb6a00a2c786d768f471318dc6923c294e2775d69bb12f3c797af38545c8f8603109e293a137a6ba9b511964a35f7bc2356348225ffa2ff7 - languageName: node - linkType: hard - -"hardhat-gas-reporter@npm:^1.0.10": - version: 1.0.10 - resolution: "hardhat-gas-reporter@npm:1.0.10" - dependencies: - array-uniq: "npm:1.0.3" - eth-gas-reporter: "npm:^0.2.25" - sha1: "npm:^1.1.1" - peerDependencies: - hardhat: ^2.0.2 - checksum: 10c0/3711ea331bcbbff4d37057cb3de47a9127011e3ee128c2254a68f3b7f12ab2133965cbcfa3a7ce1bba8461f3b1bda1b175c4814a048c8b06b3ad450001d119d8 - languageName: node - linkType: hard - -"hardhat@npm:^2.22.6": - version: 2.22.19 - resolution: "hardhat@npm:2.22.19" - dependencies: - "@ethersproject/abi": "npm:^5.1.2" - "@metamask/eth-sig-util": "npm:^4.0.0" - "@nomicfoundation/edr": "npm:^0.8.0" - "@nomicfoundation/ethereumjs-common": "npm:4.0.4" - "@nomicfoundation/ethereumjs-tx": "npm:5.0.4" - "@nomicfoundation/ethereumjs-util": "npm:9.0.4" - "@nomicfoundation/solidity-analyzer": "npm:^0.1.0" - "@sentry/node": "npm:^5.18.1" - "@types/bn.js": "npm:^5.1.0" - "@types/lru-cache": "npm:^5.1.0" - adm-zip: "npm:^0.4.16" - aggregate-error: "npm:^3.0.0" - ansi-escapes: "npm:^4.3.0" - boxen: "npm:^5.1.2" - chokidar: "npm:^4.0.0" - ci-info: "npm:^2.0.0" - debug: "npm:^4.1.1" - enquirer: "npm:^2.3.0" - env-paths: "npm:^2.2.0" - ethereum-cryptography: "npm:^1.0.3" - ethereumjs-abi: "npm:^0.6.8" - find-up: "npm:^5.0.0" - fp-ts: "npm:1.19.3" - fs-extra: "npm:^7.0.1" - immutable: "npm:^4.0.0-rc.12" - io-ts: "npm:1.10.4" - json-stream-stringify: "npm:^3.1.4" - keccak: "npm:^3.0.2" - lodash: "npm:^4.17.11" - mnemonist: "npm:^0.38.0" - mocha: "npm:^10.0.0" - p-map: "npm:^4.0.0" - picocolors: "npm:^1.1.0" - raw-body: "npm:^2.4.1" - resolve: "npm:1.17.0" - semver: "npm:^6.3.0" - solc: "npm:0.8.26" - source-map-support: "npm:^0.5.13" - stacktrace-parser: "npm:^0.1.10" - tinyglobby: "npm:^0.2.6" - tsort: "npm:0.0.1" - undici: "npm:^5.14.0" - uuid: "npm:^8.3.2" - ws: "npm:^7.4.6" - peerDependencies: - ts-node: "*" - typescript: "*" - peerDependenciesMeta: - ts-node: - optional: true - typescript: - optional: true - bin: - hardhat: internal/cli/bootstrap.js - checksum: 10c0/bd0024f322787abd62aad6847e06d9988f861fd9bf2620bddd04cfeafada6925e97cc210034d7d00ba6cd9463608467fbf1b98bef380940f2e5c8e8d63bfc8e5 - languageName: node - linkType: hard - -"has-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "has-flag@npm:1.0.0" - checksum: 10c0/d0ad4bebbbc005edccfa1e2c0600c89375be5663d23f49a129e0f817187405748b0b515abfc5b3c209c92692e39bb0481c83c0ee4df69433d6ffd0242183100b - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.2": - version: 1.0.2 - resolution: "has-tostringtag@npm:1.0.2" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c - languageName: node - linkType: hard - -"hash-base@npm:^3.0.0": - version: 3.1.0 - resolution: "hash-base@npm:3.1.0" - dependencies: - inherits: "npm:^2.0.4" - readable-stream: "npm:^3.6.0" - safe-buffer: "npm:^5.2.0" - checksum: 10c0/663eabcf4173326fbb65a1918a509045590a26cc7e0964b754eef248d281305c6ec9f6b31cb508d02ffca383ab50028180ce5aefe013e942b44a903ac8dc80d0 - languageName: node - linkType: hard - -"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": - version: 1.1.7 - resolution: "hash.js@npm:1.1.7" - dependencies: - inherits: "npm:^2.0.3" - minimalistic-assert: "npm:^1.0.1" - checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 - languageName: node - linkType: hard - -"hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 - languageName: node - linkType: hard - -"he@npm:^1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 - languageName: node - linkType: hard - -"heap@npm:>= 0.2.0": - version: 0.2.7 - resolution: "heap@npm:0.2.7" - checksum: 10c0/341c5d51ae13dc8346c371a8a69c57c972fcb9a3233090d3dd5ba29d483d6b5b4e75492443cbfeacd46608bb30e6680f646ffb7a6205900221735587d07a79b6 - languageName: node - linkType: hard - -"hmac-drbg@npm:^1.0.1": - version: 1.0.1 - resolution: "hmac-drbg@npm:1.0.1" - dependencies: - hash.js: "npm:^1.0.3" - minimalistic-assert: "npm:^1.0.0" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d - languageName: node - linkType: hard - -"hoopy@npm:^0.1.4": - version: 0.1.4 - resolution: "hoopy@npm:0.1.4" - checksum: 10c0/4ef749e1a13d46cae52014b9de452635637086c333fc67245369a1262dee806386354a4ed845d507e59e5a0d3aef55246c0ec66f5bf2908d40eb77e7dff2a254 - languageName: node - linkType: hard - -"http-basic@npm:^8.1.1": - version: 8.1.3 - resolution: "http-basic@npm:8.1.3" - dependencies: - caseless: "npm:^0.12.0" - concat-stream: "npm:^1.6.2" - http-response-object: "npm:^3.0.1" - parse-cache-control: "npm:^1.0.1" - checksum: 10c0/dbc67b943067db7f43d1dd94539f874e6b78614227491c0a5c0acb9b0490467a4ec97247da21eb198f8968a5dc4089160165cb0103045cadb9b47bb844739752 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - -"http-response-object@npm:^3.0.1": - version: 3.0.2 - resolution: "http-response-object@npm:3.0.2" - dependencies: - "@types/node": "npm:^10.0.3" - checksum: 10c0/f161db99184087798563cb14c48a67eebe9405668a5ed2341faf85d3079a2c00262431df8e0ccbe274dc6415b6729179f12b09f875d13ad33d83401e4b1ed22e - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"ignore@npm:^5.1.1": - version: 5.3.2 - resolution: "ignore@npm:5.3.2" - checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 - languageName: node - linkType: hard - -"immer@npm:10.0.2": - version: 10.0.2 - resolution: "immer@npm:10.0.2" - checksum: 10c0/b6c23538cd174a4cadd6f8d92bf0245e2c2a7bdabbd3200a08f1e99bb52e463fb552bb2d025ddd45f4e335390f8bd307e2c813e54a004dd651fe1ec161674e42 - languageName: node - linkType: hard - -"immutable@npm:^4.0.0-rc.12": - version: 4.3.7 - resolution: "immutable@npm:4.3.7" - checksum: 10c0/9b099197081b22f6433003e34929da8ecddbbdc1474cdc8aa3b7669dee4adda349c06143de22def36016d1b6de5322b043eccd7a11db1dad2ca85dad4fff5435 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"ini@npm:^1.3.5": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a - languageName: node - linkType: hard - -"interpret@npm:^1.0.0": - version: 1.4.0 - resolution: "interpret@npm:1.4.0" - checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 - languageName: node - linkType: hard - -"io-ts@npm:1.10.4": - version: 1.10.4 - resolution: "io-ts@npm:1.10.4" - dependencies: - fp-ts: "npm:^1.0.0" - checksum: 10c0/9370988a7e17fc23c194115808168ccd1ccf7b7ebe92c39c1cc2fd91c1dc641552a5428bb04fe28c01c826fa4f230e856eb4f7d27c774a1400af3fecf2936ab5 - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.0": - version: 2.16.1 - resolution: "is-core-module@npm:2.16.1" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-hex-prefixed@npm:1.0.0": - version: 1.0.0 - resolution: "is-hex-prefixed@npm:1.0.0" - checksum: 10c0/767fa481020ae654ab085ca24c63c518705ff36fdfbfc732292dc69092c6f8fdc551f6ce8c5f6ae704b0a19294e6f62be1b4b9859f0e1ac76e3b1b0733599d94 - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-plain-obj@npm:^2.1.0": - version: 2.1.0 - resolution: "is-plain-obj@npm:2.1.0" - checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 - languageName: node - linkType: hard - -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - -"jake@npm:^10.8.5": - version: 10.9.2 - resolution: "jake@npm:10.9.2" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 - languageName: node - linkType: hard - -"jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e - languageName: node - linkType: hard - -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" - dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 - languageName: node - linkType: hard - -"jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 - languageName: node - linkType: hard - -"js-sha3@npm:0.8.0, js-sha3@npm:^0.8.0": - version: 0.8.0 - resolution: "js-sha3@npm:0.8.0" - checksum: 10c0/43a21dc7967c871bd2c46cb1c2ae97441a97169f324e509f382d43330d8f75cf2c96dba7c806ab08a425765a9c847efdd4bffbac2d99c3a4f3de6c0218f40533 - languageName: node - linkType: hard - -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": - version: 4.0.0 - resolution: "js-tokens@npm:4.0.0" - checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed - languageName: node - linkType: hard - -"js-yaml@npm:3.x": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 - languageName: node - linkType: hard - -"json-stream-stringify@npm:^3.1.4": - version: 3.1.6 - resolution: "json-stream-stringify@npm:3.1.6" - checksum: 10c0/cb45e65143f4634ebb2dc0732410a942eaf86f88a7938b2f6397f4c6b96a7ba936e74d4d17db48c9221f669153996362b2ff50fe8c7fed8a7548646f98ae1f58 - languageName: node - linkType: hard - -"json-stringify-safe@npm:^5.0.1": - version: 5.0.1 - resolution: "json-stringify-safe@npm:5.0.1" - checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 - languageName: node - linkType: hard - -"json5@npm:^2.2.3": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c - languageName: node - linkType: hard - -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.6" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 - languageName: node - linkType: hard - -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 - languageName: node - linkType: hard - -"jsonpath@npm:^1.1.1": - version: 1.1.1 - resolution: "jsonpath@npm:1.1.1" - dependencies: - esprima: "npm:1.2.2" - static-eval: "npm:2.0.2" - underscore: "npm:1.12.1" - checksum: 10c0/4fea3f83bcb4df08c32090ba8a0d1a6d26244f6d19c4296f9b58caa01eeb7de0f8347eba40077ceee2f95acc69d032b0b48226d350339063ba580e87983f6dec - languageName: node - linkType: hard - -"jsonschema@npm:^1.2.4": - version: 1.5.0 - resolution: "jsonschema@npm:1.5.0" - checksum: 10c0/c24ddb8d741f02efc0da3ad9b597a275f6b595062903d3edbfaa535c3f9c4c98613df68da5cb6635ed9aeab30d658986fea61d7662fc5b2b92840d5a1e21235e - languageName: node - linkType: hard - -"keccak@npm:^3.0.0, keccak@npm:^3.0.2": - version: 3.0.4 - resolution: "keccak@npm:3.0.4" - dependencies: - node-addon-api: "npm:^2.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.0" - readable-stream: "npm:^3.6.0" - checksum: 10c0/153525c1c1f770beadb8f8897dec2f1d2dcbee11d063fe5f61957a5b236bfd3d2a111ae2727e443aa6a848df5edb98b9ef237c78d56df49087b0ca8a232ca9cd - languageName: node - linkType: hard - -"kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 - languageName: node - linkType: hard - -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b - languageName: node - linkType: hard - -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - checksum: 10c0/e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"lodash.camelcase@npm:^4.3.0": - version: 4.3.0 - resolution: "lodash.camelcase@npm:4.3.0" - checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 - languageName: node - linkType: hard - -"lodash.clonedeep@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.clonedeep@npm:4.5.0" - checksum: 10c0/2caf0e4808f319d761d2939ee0642fa6867a4bbf2cfce43276698828380756b99d4c4fa226d881655e6ac298dd453fe12a5ec8ba49861777759494c534936985 - languageName: node - linkType: hard - -"lodash.isempty@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.isempty@npm:4.4.0" - checksum: 10c0/6c7eaa0802398736809b9e8aed8b8ac1abca9be71788fd719ba9d7f5b4c23e8dc63b7f049df4131713dda30a2fdedc2f655268e9deb8cd5a985dfc934afca194 - languageName: node - linkType: hard - -"lodash.isequal@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.isequal@npm:4.5.0" - checksum: 10c0/dfdb2356db19631a4b445d5f37868a095e2402292d59539a987f134a8778c62a2810c2452d11ae9e6dcac71fc9de40a6fedcb20e2952a15b431ad8b29e50e28f - languageName: node - linkType: hard - -"lodash.isfunction@npm:^3.0.9": - version: 3.0.9 - resolution: "lodash.isfunction@npm:3.0.9" - checksum: 10c0/e88620922f5f104819496884779ca85bfc542efb2946df661ab3e2cd38da5c8375434c6adbedfc76dd3c2b04075d2ba8ec215cfdedf08ddd2e3c3467e8a26ccd - languageName: node - linkType: hard - -"lodash.isobject@npm:^3.0.2": - version: 3.0.2 - resolution: "lodash.isobject@npm:3.0.2" - checksum: 10c0/da4c8480d98b16835b59380b2fbd43c54081acd9466febb788ba77c434384349e0bec162d1c4e89f613f21687b2b6d8384d8a112b80da00c78d28d9915a5cdde - languageName: node - linkType: hard - -"lodash.isstring@npm:^4.0.1": - version: 4.0.1 - resolution: "lodash.isstring@npm:4.0.1" - checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 - languageName: node - linkType: hard - -"lodash.truncate@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.truncate@npm:4.4.2" - checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70 - languageName: node - linkType: hard - -"lodash@npm:4.17.21, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 - languageName: node - linkType: hard - -"logplease@npm:^1.2.15": - version: 1.2.15 - resolution: "logplease@npm:1.2.15" - checksum: 10c0/e835ce89895c9335460a9b4b3a79f9f4161879f5cd49efc249f8af2a128403e391c177bf55ca7207fd6687aa16e376f9a96ce58dc639acc6b4b8b00d6225323c - languageName: node - linkType: hard - -"loose-envify@npm:^1.4.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: "npm:^3.0.0 || ^4.0.0" - bin: - loose-envify: cli.js - checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e - languageName: node - linkType: hard - -"loupe@npm:^2.3.6": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb - languageName: node - linkType: hard - -"lru_map@npm:^0.3.3": - version: 0.3.3 - resolution: "lru_map@npm:0.3.3" - checksum: 10c0/d861f14a142a4a74ebf8d3ad57f2e768a5b820db4100ae53eed1a64eb6350912332e6ebc87cb7415ad6d0cd8f3ce6d20beab9a5e6042ccb5996ea0067a220448 - languageName: node - linkType: hard - -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" - dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 - languageName: node - linkType: hard - -"markdown-table@npm:^1.1.3": - version: 1.1.3 - resolution: "markdown-table@npm:1.1.3" - checksum: 10c0/aea6eb998900449d938ce46819630492792dd26ac9737f8b506f98baf88c98b7cc1e69c33b72959e0f8578fc0a4b4b44d740daf2db9d8e92ccf3c3522f749fda - languageName: node - linkType: hard - -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f - languageName: node - linkType: hard - -"md5.js@npm:^1.3.4": - version: 1.3.5 - resolution: "md5.js@npm:1.3.5" - dependencies: - hash-base: "npm:^3.0.0" - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.1.2" - checksum: 10c0/b7bd75077f419c8e013fc4d4dada48be71882e37d69a44af65a2f2804b91e253441eb43a0614423a1c91bb830b8140b0dc906bc797245e2e275759584f4efcc5 - languageName: node - linkType: hard - -"memorystream@npm:^0.3.1": - version: 0.3.1 - resolution: "memorystream@npm:0.3.1" - checksum: 10c0/4bd164657711d9747ff5edb0508b2944414da3464b7fe21ac5c67cf35bba975c4b446a0124bd0f9a8be54cfc18faf92e92bd77563a20328b1ccf2ff04e9f39b9 - languageName: node - linkType: hard - -"merge2@npm:^1.2.3, merge2@npm:^1.3.0": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micro-ftch@npm:^0.3.1": - version: 0.3.1 - resolution: "micro-ftch@npm:0.3.1" - checksum: 10c0/b87d35a52aded13cf2daca8d4eaa84e218722b6f83c75ddd77d74f32cc62e699a672e338e1ee19ceae0de91d19cc24dcc1a7c7d78c81f51042fe55f01b196ed3 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.35": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd - languageName: node - linkType: hard - -"minimalistic-crypto-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-crypto-utils@npm:1.0.1" - checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 - languageName: node - linkType: hard - -"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed - languageName: node - linkType: hard - -"minimist@npm:^1.2.5, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 - languageName: node - linkType: hard - -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 - languageName: node - linkType: hard - -"mkdirp@npm:0.5.x": - version: 0.5.6 - resolution: "mkdirp@npm:0.5.6" - dependencies: - minimist: "npm:^1.2.6" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.4": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d - languageName: node - linkType: hard - -"mnemonist@npm:^0.38.0": - version: 0.38.5 - resolution: "mnemonist@npm:0.38.5" - dependencies: - obliterator: "npm:^2.0.0" - checksum: 10c0/a73a2718f88cd12c3b108ecc530619a1b0f2783d479c7f98e7367375102cc3a28811bab384e17eb731553dc8d7ee9d60283d694a9f676af5f306104e75027d4f - languageName: node - linkType: hard - -"mocha@npm:^10.0.0, mocha@npm:^10.2.0, mocha@npm:^10.4.0": - version: 10.8.2 - resolution: "mocha@npm:10.8.2" - dependencies: - ansi-colors: "npm:^4.1.3" - browser-stdout: "npm:^1.3.1" - chokidar: "npm:^3.5.3" - debug: "npm:^4.3.5" - diff: "npm:^5.2.0" - escape-string-regexp: "npm:^4.0.0" - find-up: "npm:^5.0.0" - glob: "npm:^8.1.0" - he: "npm:^1.2.0" - js-yaml: "npm:^4.1.0" - log-symbols: "npm:^4.1.0" - minimatch: "npm:^5.1.6" - ms: "npm:^2.1.3" - serialize-javascript: "npm:^6.0.2" - strip-json-comments: "npm:^3.1.1" - supports-color: "npm:^8.1.1" - workerpool: "npm:^6.5.1" - yargs: "npm:^16.2.0" - yargs-parser: "npm:^20.2.9" - yargs-unparser: "npm:^2.0.0" - bin: - _mocha: bin/_mocha - mocha: bin/mocha.js - checksum: 10c0/1f786290a32a1c234f66afe2bfcc68aa50fe9c7356506bd39cca267efb0b4714a63a0cb333815578d63785ba2fba058bf576c2512db73997c0cae0d659a88beb - languageName: node - linkType: hard - -"mochawesome-report-generator@npm:^6.2.0": - version: 6.2.0 - resolution: "mochawesome-report-generator@npm:6.2.0" - dependencies: - chalk: "npm:^4.1.2" - dateformat: "npm:^4.5.1" - escape-html: "npm:^1.0.3" - fs-extra: "npm:^10.0.0" - fsu: "npm:^1.1.1" - lodash.isfunction: "npm:^3.0.9" - opener: "npm:^1.5.2" - prop-types: "npm:^15.7.2" - tcomb: "npm:^3.2.17" - tcomb-validation: "npm:^3.3.0" - validator: "npm:^13.6.0" - yargs: "npm:^17.2.1" - bin: - marge: bin/cli.js - checksum: 10c0/77eb60a1c6d595e727b5d4a12b5ff08da0a4b34a7061890060c90b19e644d1302a403040f99cf59ade394bbee4a20b48e87d5f83f94dc4334904f43b33fc9977 - languageName: node - linkType: hard - -"mochawesome@npm:^7.1.3": - version: 7.1.3 - resolution: "mochawesome@npm:7.1.3" - dependencies: - chalk: "npm:^4.1.2" - diff: "npm:^5.0.0" - json-stringify-safe: "npm:^5.0.1" - lodash.isempty: "npm:^4.4.0" - lodash.isfunction: "npm:^3.0.9" - lodash.isobject: "npm:^3.0.2" - lodash.isstring: "npm:^4.0.1" - mochawesome-report-generator: "npm:^6.2.0" - strip-ansi: "npm:^6.0.1" - uuid: "npm:^8.3.2" - peerDependencies: - mocha: ">=7" - checksum: 10c0/908ff730da4c6f911b31fcdac7fedafc5334487b9c577701b305121b1432e6bb2accf7ad365454ee85dcc29e0592f6b468b1636c8c01c3cc76c54bd802c75d87 - languageName: node - linkType: hard - -"ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"nanoassert@npm:^2.0.0": - version: 2.0.0 - resolution: "nanoassert@npm:2.0.0" - checksum: 10c0/fb21ce924a1ec8e8fac415a00fdd1c086c08bc185d0377e675b1d379347340fbf4a1523d8d2330e5328a542400cd7122599b6c6e21ce2ea40a9f11d68dfbfa1b - languageName: node - linkType: hard - -"ndjson@npm:2.0.0": - version: 2.0.0 - resolution: "ndjson@npm:2.0.0" - dependencies: - json-stringify-safe: "npm:^5.0.1" - minimist: "npm:^1.2.5" - readable-stream: "npm:^3.6.0" - split2: "npm:^3.0.0" - through2: "npm:^4.0.0" - bin: - ndjson: cli.js - checksum: 10c0/b7f3de5e12e0466cfa3688a3ba6cedec0ab54bd821f1b16926c9ef7017983b131832430061d25dfcb635f65a254b535681eca213c6feb5d1958bee8d35a04cc9 - languageName: node - linkType: hard - -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b - languageName: node - linkType: hard - -"neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d - languageName: node - linkType: hard - -"node-addon-api@npm:^2.0.0": - version: 2.0.2 - resolution: "node-addon-api@npm:2.0.2" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/ade6c097ba829fa4aee1ca340117bb7f8f29fdae7b777e343a9d5cbd548481d1f0894b7b907d23ce615c70d932e8f96154caed95c3fa935cfe8cf87546510f64 - languageName: node - linkType: hard - -"node-addon-api@npm:^3.0.0": - version: 3.2.1 - resolution: "node-addon-api@npm:3.2.1" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/41f21c9d12318875a2c429befd06070ce367065a3ef02952cfd4ea17ef69fa14012732f510b82b226e99c254da8d671847ea018cad785f839a5366e02dd56302 - languageName: node - linkType: hard - -"node-addon-api@npm:^5.0.0": - version: 5.1.0 - resolution: "node-addon-api@npm:5.1.0" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/0eb269786124ba6fad9df8007a149e03c199b3e5a3038125dfb3e747c2d5113d406a4e33f4de1ea600aa2339be1f137d55eba1a73ee34e5fff06c52a5c296d1d - languageName: node - linkType: hard - -"node-emoji@npm:^1.10.0": - version: 1.11.0 - resolution: "node-emoji@npm:1.11.0" - dependencies: - lodash: "npm:^4.17.21" - checksum: 10c0/5dac6502dbef087092d041fcc2686d8be61168593b3a9baf964d62652f55a3a9c2277f171b81cccb851ccef33f2d070f45e633fab1fda3264f8e1ae9041c673f - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.1": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - -"node-forge@npm:^1.3.1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 - languageName: node - linkType: hard - -"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.2.2": - version: 4.8.4 - resolution: "node-gyp-build@npm:4.8.4" - bin: - node-gyp-build: bin.js - node-gyp-build-optional: optional.js - node-gyp-build-test: build-test.js - checksum: 10c0/444e189907ece2081fe60e75368784f7782cfddb554b60123743dfb89509df89f1f29c03bbfa16b3a3e0be3f48799a4783f487da6203245fa5bed239ba7407e1 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 11.2.0 - resolution: "node-gyp@npm:11.2.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.4.3" - tinyglobby: "npm:^0.2.12" - which: "npm:^5.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 - languageName: node - linkType: hard - -"nofilter@npm:^3.1.0": - version: 3.1.0 - resolution: "nofilter@npm:3.1.0" - checksum: 10c0/92459f3864a067b347032263f0b536223cbfc98153913b5dce350cb39c8470bc1813366e41993f22c33cc6400c0f392aa324a4b51e24c22040635c1cdb046499 - languageName: node - linkType: hard - -"nopt@npm:3.x": - version: 3.0.6 - resolution: "nopt@npm:3.0.6" - dependencies: - abbrev: "npm:1" - bin: - nopt: ./bin/nopt.js - checksum: 10c0/f4414223c392dd215910942268d9bdc101ab876400f2c0626b88b718254f5c730dbab5eda58519dc4ea05b681ed8f09c147570ed273ade7fc07757e2e4f12c3d - languageName: node - linkType: hard - -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: "npm:^3.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"number-to-bn@npm:1.7.0": - version: 1.7.0 - resolution: "number-to-bn@npm:1.7.0" - dependencies: - bn.js: "npm:4.11.6" - strip-hex-prefix: "npm:1.0.0" - checksum: 10c0/83d1540173c4fc60ef4e91e88ed17f2c38418c8e5e62f469d62404527efba48d9c40f364da5c5e6857234a6c1154ff32b3642d80f873ba6cb8d2dd05fb6bc303 - languageName: node - linkType: hard - -"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 - languageName: node - linkType: hard - -"object-inspect@npm:^1.13.3": - version: 1.13.4 - resolution: "object-inspect@npm:1.13.4" - checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 - languageName: node - linkType: hard - -"obliterator@npm:^2.0.0": - version: 2.0.5 - resolution: "obliterator@npm:2.0.5" - checksum: 10c0/36e67d88271c51aa6412a7d449d6c60ae6387176f94dbc557eea67456bf6ccedbcbcecdb1e56438aa4f4694f68f531b3bf2be87b019e2f69961b144bec124e70 - languageName: node - linkType: hard - -"once@npm:1.x, once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"opener@npm:^1.5.2": - version: 1.5.2 - resolution: "opener@npm:1.5.2" - bin: - opener: bin/opener-bin.js - checksum: 10c0/dd56256ab0cf796585617bc28e06e058adf09211781e70b264c76a1dbe16e90f868c974e5bf5309c93469157c7d14b89c35dc53fe7293b0e40b4d2f92073bc79 - languageName: node - linkType: hard - -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: "npm:~0.1.3" - fast-levenshtein: "npm:~2.0.6" - levn: "npm:~0.3.0" - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - word-wrap: "npm:~1.2.3" - checksum: 10c0/ad7000ea661792b3ec5f8f86aac28895850988926f483b5f308f59f4607dfbe24c05df2d049532ee227c040081f39401a268cf7bbf3301512f74c4d760dc6dd8 - languageName: node - linkType: hard - -"ordinal@npm:^1.0.3": - version: 1.0.3 - resolution: "ordinal@npm:1.0.3" - checksum: 10c0/faa276fc1b1660477fd5c8749323c9715ae4f482c21fb8e67e57d1eb57845ba1b902796ecdcf6405325a8c3b042360970f5dc3b7f8cc7d79e0b2a756ab09174d - languageName: node - linkType: hard - -"os-tmpdir@npm:~1.0.2": - version: 1.0.2 - resolution: "os-tmpdir@npm:1.0.2" - checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b - languageName: node - linkType: hard - -"parse-cache-control@npm:^1.0.1": - version: 1.0.1 - resolution: "parse-cache-control@npm:1.0.1" - checksum: 10c0/330a0d9e3a22a7b0f6e8a973c0b9f51275642ee28544cd0d546420273946d555d20a5c7b49fca24d68d2e698bae0186f0f41f48d62133d3153c32454db05f2df - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - languageName: node - linkType: hard - -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc - languageName: node - linkType: hard - -"pbkdf2@npm:^3.0.17": - version: 3.1.2 - resolution: "pbkdf2@npm:3.1.2" - dependencies: - create-hash: "npm:^1.1.2" - create-hmac: "npm:^1.1.4" - ripemd160: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - sha.js: "npm:^2.4.8" - checksum: 10c0/5a30374e87d33fa080a92734d778cf172542cc7e41b96198c4c88763997b62d7850de3fbda5c3111ddf79805ee7c1da7046881c90ac4920b5e324204518b05fd - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": - version: 1.1.1 - resolution: "picocolors@npm:1.1.1" - checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc - languageName: node - linkType: hard - -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf - languageName: node - linkType: hard - -"poseidon-lite@npm:^0.3.0": - version: 0.3.0 - resolution: "poseidon-lite@npm:0.3.0" - checksum: 10c0/03494ea69be0dc3ced055b7f1505ff73848002c68332d52a5cf5f00d1a657693317e1ffc790b84ccaf9a0f5f61bf05e1a453eab60c385c98701a6580edead49c - languageName: node - linkType: hard - -"poseidon-solidity@npm:0.0.5, poseidon-solidity@npm:^0.0.5": - version: 0.0.5 - resolution: "poseidon-solidity@npm:0.0.5" - checksum: 10c0/072e1e1aa8c12bdca0e7a9aee9d9fe2573f06c9dbea8891430d4da299b935195b1a613673e45acfd5cc658e45fa99bd9fd715196c9b7909fd060cdcf22595696 - languageName: node - linkType: hard - -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: 10c0/7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 - languageName: node - linkType: hard - -"prettier@npm:^2.3.1": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" - bin: - prettier: bin-prettier.js - checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a - languageName: node - linkType: hard - -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 - languageName: node - linkType: hard - -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"promise@npm:^8.0.0": - version: 8.3.0 - resolution: "promise@npm:8.3.0" - dependencies: - asap: "npm:~2.0.6" - checksum: 10c0/6fccae27a10bcce7442daf090279968086edd2e3f6cebe054b71816403e2526553edf510d13088a4d0f14d7dfa9b9dfb188cab72d6f942e186a4353b6a29c8bf - languageName: node - linkType: hard - -"prompts@npm:^2.4.2": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: "npm:^3.0.3" - sisteransi: "npm:^1.0.5" - checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 - languageName: node - linkType: hard - -"prop-types@npm:^15.7.2": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - -"qs@npm:^6.4.0": - version: 6.14.0 - resolution: "qs@npm:6.14.0" - dependencies: - side-channel: "npm:^1.1.0" - checksum: 10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"r1csfile@npm:0.0.48": - version: 0.0.48 - resolution: "r1csfile@npm:0.0.48" - dependencies: - "@iden3/bigarray": "npm:0.0.2" - "@iden3/binfileutils": "npm:0.0.12" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.3.0" - checksum: 10c0/ea33804b4b51838603873fe4b4975b47e87fd9faad196024e49c02f4e87a0957e5cb333b9f2ac351db5372a7948bbf019218822a10f6b867b96aed90248e3e84 - languageName: node - linkType: hard - -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" - dependencies: - safe-buffer: "npm:^5.1.0" - checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 - languageName: node - linkType: hard - -"raw-body@npm:^2.4.1": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" - dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 - languageName: node - linkType: hard - -"react-is@npm:^16.13.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.3.1 - resolution: "react-is@npm:18.3.1" - checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 - languageName: node - linkType: hard - -"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.6.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readable-stream@npm:^2.2.2": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.3" - isarray: "npm:~1.0.0" - process-nextick-args: "npm:~2.0.0" - safe-buffer: "npm:~5.1.1" - string_decoder: "npm:~1.1.1" - util-deprecate: "npm:~1.0.1" - checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa - languageName: node - linkType: hard - -"readdirp@npm:^4.0.1": - version: 4.1.2 - resolution: "readdirp@npm:4.1.2" - checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"rechoir@npm:^0.6.2": - version: 0.6.2 - resolution: "rechoir@npm:0.6.2" - dependencies: - resolve: "npm:^1.1.6" - checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 - languageName: node - linkType: hard - -"recursive-readdir@npm:^2.2.2": - version: 2.2.3 - resolution: "recursive-readdir@npm:2.2.3" - dependencies: - minimatch: "npm:^3.0.5" - checksum: 10c0/d0238f137b03af9cd645e1e0b40ae78b6cda13846e3ca57f626fcb58a66c79ae018a10e926b13b3a460f1285acc946a4e512ea8daa2e35df4b76a105709930d1 - languageName: node - linkType: hard - -"reduce-flatten@npm:^2.0.0": - version: 2.0.0 - resolution: "reduce-flatten@npm:2.0.0" - checksum: 10c0/9275064535bc070a787824c835a4f18394942f8a78f08e69fb500920124ce1c46a287c8d9e565a7ffad8104875a6feda14efa8e951e8e4585370b8ff007b0abd - languageName: node - linkType: hard - -"req-cwd@npm:^2.0.0": - version: 2.0.0 - resolution: "req-cwd@npm:2.0.0" - dependencies: - req-from: "npm:^2.0.0" - checksum: 10c0/9cefc80353594b07d1a31d7ee4e4b5c7252f054f0fda7d5caf038c1cb5aa4b322acb422de7e18533734e8557f5769c2318f3ee9256e2e4f4e359b9b776c7ed1a - languageName: node - linkType: hard - -"req-from@npm:^2.0.0": - version: 2.0.0 - resolution: "req-from@npm:2.0.0" - dependencies: - resolve-from: "npm:^3.0.0" - checksum: 10c0/84aa6b4f7291675d9443ac156139841c7c1ae7eccf080f3b344972d6470170b0c32682656c560763b330d00e133196bcfdb1fcb4c5031f59ecbe80dea4dd1c82 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 - languageName: node - linkType: hard - -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 - languageName: node - linkType: hard - -"resolve-from@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-from@npm:3.0.0" - checksum: 10c0/24affcf8e81f4c62f0dcabc774afe0e19c1f38e34e43daac0ddb409d79435fc3037f612b0cc129178b8c220442c3babd673e88e870d27215c99454566e770ebc - languageName: node - linkType: hard - -"resolve@npm:1.1.x": - version: 1.1.7 - resolution: "resolve@npm:1.1.7" - checksum: 10c0/f66dcad51854fca283fa68e9c11445c2117d7963b9ced6c43171784987df3bed6fb16c4af2bf6f07c02ace94a4f4ebe158d13780b6e14d60944478c860208245 - languageName: node - linkType: hard - -"resolve@npm:1.17.0": - version: 1.17.0 - resolution: "resolve@npm:1.17.0" - dependencies: - path-parse: "npm:^1.0.6" - checksum: 10c0/4e6c76cc1a7b08bff637b092ce035d7901465067915605bc5a23ac0c10fe42ec205fc209d5d5f7a5f27f37ce71d687def7f656bbb003631cd46a8374f55ec73d - languageName: node - linkType: hard - -"resolve@npm:^1.1.6": - version: 1.22.10 - resolution: "resolve@npm:1.22.10" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A1.1.x#optional!builtin": - version: 1.1.7 - resolution: "resolve@patch:resolve@npm%3A1.1.7#optional!builtin::version=1.1.7&hash=3bafbf" - checksum: 10c0/f4f1471423d600a10944785222fa7250237ed8c98aa6b1e1f4dc0bb3dbfbcafcaac69a2ed23cd1f6f485ed23e7c939894ac1978284e4163754fade8a05358823 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A1.17.0#optional!builtin": - version: 1.17.0 - resolution: "resolve@patch:resolve@npm%3A1.17.0#optional!builtin::version=1.17.0&hash=c3c19d" - dependencies: - path-parse: "npm:^1.0.6" - checksum: 10c0/e072e52be3c3dbfd086761115db4a5136753e7aefc0e665e66e7307ddcd9d6b740274516055c74aee44921625e95993f03570450aa310b8d73b1c9daa056c4cd - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin": - version: 1.22.10 - resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.1.0 - resolution: "reusify@npm:1.1.0" - checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa - languageName: node - linkType: hard - -"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": - version: 2.0.2 - resolution: "ripemd160@npm:2.0.2" - dependencies: - hash-base: "npm:^3.0.0" - inherits: "npm:^2.0.1" - checksum: 10c0/f6f0df78817e78287c766687aed4d5accbebc308a8e7e673fb085b9977473c1f139f0c5335d353f172a915bb288098430755d2ad3c4f30612f4dd0c901cd2c3a - languageName: node - linkType: hard - -"rlp@npm:^2.2.3, rlp@npm:^2.2.4": - version: 2.2.7 - resolution: "rlp@npm:2.2.7" - dependencies: - bn.js: "npm:^5.2.0" - bin: - rlp: bin/rlp - checksum: 10c0/166c449f4bc794d47f8e337bf0ffbcfdb26c33109030aac4b6e5a33a91fa85783f2290addeb7b3c89d6d9b90c8276e719494d193129bed0a60a2d4a6fd658277 - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"sc-istanbul@npm:^0.4.5": - version: 0.4.6 - resolution: "sc-istanbul@npm:0.4.6" - dependencies: - abbrev: "npm:1.0.x" - async: "npm:1.x" - escodegen: "npm:1.8.x" - esprima: "npm:2.7.x" - glob: "npm:^5.0.15" - handlebars: "npm:^4.0.1" - js-yaml: "npm:3.x" - mkdirp: "npm:0.5.x" - nopt: "npm:3.x" - once: "npm:1.x" - resolve: "npm:1.1.x" - supports-color: "npm:^3.1.0" - which: "npm:^1.1.1" - wordwrap: "npm:^1.0.0" - bin: - istanbul: lib/cli.js - checksum: 10c0/3eba8f6b7ba423fb03fdd67e72b0a71c71aa1dbd117692f3225003320dd45adf03cd32dd1739bd347aa58c690ca8f719fd8ae70cefe0fc06433fac4725668942 - languageName: node - linkType: hard - -"scrypt-js@npm:3.0.1, scrypt-js@npm:^3.0.0": - version: 3.0.1 - resolution: "scrypt-js@npm:3.0.1" - checksum: 10c0/e2941e1c8b5c84c7f3732b0153fee624f5329fc4e772a06270ee337d4d2df4174b8abb5e6ad53804a29f53890ecbc78f3775a319323568c0313040c0e55f5b10 - languageName: node - linkType: hard - -"secp256k1@npm:^4.0.1": - version: 4.0.4 - resolution: "secp256k1@npm:4.0.4" - dependencies: - elliptic: "npm:^6.5.7" - node-addon-api: "npm:^5.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.0" - checksum: 10c0/cf7a74343566d4774c64332c07fc2caf983c80507f63be5c653ff2205242143d6320c50ee4d793e2b714a56540a79e65a8f0056e343b25b0cdfed878bc473fd8 - languageName: node - linkType: hard - -"semver@npm:^5.5.0": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 - languageName: node - linkType: hard - -"semver@npm:^6.3.0": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d - languageName: node - linkType: hard - -"semver@npm:^7.3.4, semver@npm:^7.3.5": - version: 7.7.1 - resolution: "semver@npm:7.7.1" - bin: - semver: bin/semver.js - checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 - languageName: node - linkType: hard - -"serialize-javascript@npm:^6.0.2": - version: 6.0.2 - resolution: "serialize-javascript@npm:6.0.2" - dependencies: - randombytes: "npm:^2.1.0" - checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 - languageName: node - linkType: hard - -"setimmediate@npm:^1.0.5": - version: 1.0.5 - resolution: "setimmediate@npm:1.0.5" - checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 - languageName: node - linkType: hard - -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - -"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": - version: 2.4.11 - resolution: "sha.js@npm:2.4.11" - dependencies: - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - bin: - sha.js: ./bin.js - checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 - languageName: node - linkType: hard - -"sha1@npm:^1.1.1": - version: 1.1.1 - resolution: "sha1@npm:1.1.1" - dependencies: - charenc: "npm:>= 0.0.1" - crypt: "npm:>= 0.0.1" - checksum: 10c0/1bb36c89c112c741c265cca66712f883ae01d5c55b71aec80635fe2ad5d0c976a1a8a994dda774ae9f93b2da99fd111238758a8bf985adc400bd86f0e4452865 - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"shelljs@npm:^0.8.3": - version: 0.8.5 - resolution: "shelljs@npm:0.8.5" - dependencies: - glob: "npm:^7.0.0" - interpret: "npm:^1.0.0" - rechoir: "npm:^0.6.2" - bin: - shjs: bin/shjs - checksum: 10c0/feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 - languageName: node - linkType: hard - -"side-channel-list@npm:^1.0.0": - version: 1.0.0 - resolution: "side-channel-list@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d - languageName: node - linkType: hard - -"side-channel-map@npm:^1.0.1": - version: 1.0.1 - resolution: "side-channel-map@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 - languageName: node - linkType: hard - -"side-channel-weakmap@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel-weakmap@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - side-channel-map: "npm:^1.0.1" - checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 - languageName: node - linkType: hard - -"side-channel@npm:^1.1.0": - version: 1.1.0 - resolution: "side-channel@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - side-channel-list: "npm:^1.0.0" - side-channel-map: "npm:^1.0.1" - side-channel-weakmap: "npm:^1.0.2" - checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"slice-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "slice-ansi@npm:4.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - astral-regex: "npm:^2.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"snarkjs@npm:^0.7.4": - version: 0.7.5 - resolution: "snarkjs@npm:0.7.5" - dependencies: - "@iden3/binfileutils": "npm:0.0.12" - bfj: "npm:^7.0.2" - blake2b-wasm: "npm:^2.4.0" - circom_runtime: "npm:0.1.28" - ejs: "npm:^3.1.6" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.3.1" - js-sha3: "npm:^0.8.0" - logplease: "npm:^1.2.15" - r1csfile: "npm:0.0.48" - bin: - snarkjs: build/cli.cjs - checksum: 10c0/bc9eb1dac9c5248a4952635edc015185c5f9f268f6d2d29b32934e0b08bc284caaeba7fbc6d712ecff8a4e17c66433ba6b2f2ab5d1a6bb4704c30110fb18e9aa - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.5 - resolution: "socks-proxy-agent@npm:8.0.5" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 - languageName: node - linkType: hard - -"socks@npm:^2.8.3": - version: 2.8.4 - resolution: "socks@npm:2.8.4" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 - languageName: node - linkType: hard - -"solc@npm:0.8.26": - version: 0.8.26 - resolution: "solc@npm:0.8.26" - dependencies: - command-exists: "npm:^1.2.8" - commander: "npm:^8.1.0" - follow-redirects: "npm:^1.12.1" - js-sha3: "npm:0.8.0" - memorystream: "npm:^0.3.1" - semver: "npm:^5.5.0" - tmp: "npm:0.0.33" - bin: - solcjs: solc.js - checksum: 10c0/1eea35da99c228d0dc1d831c29f7819e7921b67824c889a5e5f2e471a2ef5856a15fabc0b5de067f5ba994fa36fb5a563361963646fe98dad58a0e4fa17c8b2d - languageName: node - linkType: hard - -"solidity-coverage@npm:^0.8.14": - version: 0.8.14 - resolution: "solidity-coverage@npm:0.8.14" - dependencies: - "@ethersproject/abi": "npm:^5.0.9" - "@solidity-parser/parser": "npm:^0.19.0" - chalk: "npm:^2.4.2" - death: "npm:^1.1.0" - difflib: "npm:^0.2.4" - fs-extra: "npm:^8.1.0" - ghost-testrpc: "npm:^0.0.2" - global-modules: "npm:^2.0.0" - globby: "npm:^10.0.1" - jsonschema: "npm:^1.2.4" - lodash: "npm:^4.17.21" - mocha: "npm:^10.2.0" - node-emoji: "npm:^1.10.0" - pify: "npm:^4.0.1" - recursive-readdir: "npm:^2.2.2" - sc-istanbul: "npm:^0.4.5" - semver: "npm:^7.3.4" - shelljs: "npm:^0.8.3" - web3-utils: "npm:^1.3.6" - peerDependencies: - hardhat: ^2.11.0 - bin: - solidity-coverage: plugins/bin.js - checksum: 10c0/7a971d3c5bee6aff341188720a72c7544521c1afbde36593e4933ba230d46530ece1db8e6394d6283a13918fd7f05ab37a0d75e6a0a52d965a2fdff672d3a7a6 - languageName: node - linkType: hard - -"source-map-support@npm:^0.5.13": - version: 0.5.21 - resolution: "source-map-support@npm:0.5.21" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"source-map@npm:~0.2.0": - version: 0.2.0 - resolution: "source-map@npm:0.2.0" - dependencies: - amdefine: "npm:>=0.0.4" - checksum: 10c0/24ac0df484721203e7c98faaa2a56cc73d7e8b8468a03459dd98e09b84421056c456dbfea1bf4f292142c3b88c160574f648cbc83e8fe772cf0b3342f0bba68d - languageName: node - linkType: hard - -"split2@npm:^3.0.0": - version: 3.2.2 - resolution: "split2@npm:3.2.2" - dependencies: - readable-stream: "npm:^3.0.0" - checksum: 10c0/2dad5603c52b353939befa3e2f108f6e3aff42b204ad0f5f16dd12fd7c2beab48d117184ce6f7c8854f9ee5ffec6faae70d243711dd7d143a9f635b4a285de4e - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a - languageName: node - linkType: hard - -"stacktrace-parser@npm:^0.1.10": - version: 0.1.11 - resolution: "stacktrace-parser@npm:0.1.11" - dependencies: - type-fest: "npm:^0.7.1" - checksum: 10c0/4633d9afe8cd2f6c7fb2cebdee3cc8de7fd5f6f9736645fd08c0f66872a303061ce9cc0ccf46f4216dc94a7941b56e331012398dc0024dc25e46b5eb5d4ff018 - languageName: node - linkType: hard - -"static-eval@npm:2.0.2": - version: 2.0.2 - resolution: "static-eval@npm:2.0.2" - dependencies: - escodegen: "npm:^1.8.1" - checksum: 10c0/9bc1114ea5ba2a6978664907c4dd3fde6f58767274f6cb4fbfb11ba3a73cb6e74dc11e89ec4a7bf1472a587c1f976fcd4ab8fe9aae1651f5e576f097745d48ff - languageName: node - linkType: hard - -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - -"string-format@npm:^2.0.0": - version: 2.0.0 - resolution: "string-format@npm:2.0.0" - checksum: 10c0/7bca13ba9f942f635c74d637da5e9e375435cbd428f35eeef28c3a30f81d4e63b95ff2c6cca907d897dd3951bbf52e03e3b945a0e9681358e33bd67222436538 - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^2.1.1": - version: 2.1.1 - resolution: "string-width@npm:2.1.1" - dependencies: - is-fullwidth-code-point: "npm:^2.0.0" - strip-ansi: "npm:^4.0.0" - checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: "npm:~5.1.0" - checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-ansi@npm:4.0.0" - dependencies: - ansi-regex: "npm:^3.0.0" - checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-hex-prefix@npm:1.0.0": - version: 1.0.0 - resolution: "strip-hex-prefix@npm:1.0.0" - dependencies: - is-hex-prefixed: "npm:1.0.0" - checksum: 10c0/ec9a48c334c2ba4afff2e8efebb42c3ab5439f0e1ec2b8525e184eabef7fecade7aee444af802b1be55d2df6da5b58c55166c32f8461cc7559b401137ad51851 - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"supports-color@npm:^3.1.0": - version: 3.2.3 - resolution: "supports-color@npm:3.2.3" - dependencies: - has-flag: "npm:^1.0.0" - checksum: 10c0/d39a57dbd75c3b5740654f8ec16aaf7203b8d12b8a51314507bed590c9081120805f105b4ce741db13105e6f842ac09700e4bd665b9ffc46eb0b34ba54720bd3 - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"supports-color@npm:^8.1.1": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 - languageName: node - linkType: hard - -"sync-request@npm:^6.0.0": - version: 6.1.0 - resolution: "sync-request@npm:6.1.0" - dependencies: - http-response-object: "npm:^3.0.1" - sync-rpc: "npm:^1.2.1" - then-request: "npm:^6.0.0" - checksum: 10c0/02b31c5d543933ce8cc2cdfa7dd7b278e2645eb54299d56f3bc9c778de3130301370f25d54ecc3f6b8b2c7bfb034daabd2b866e0c18badbde26404513212c1f5 - languageName: node - linkType: hard - -"sync-rpc@npm:^1.2.1": - version: 1.3.6 - resolution: "sync-rpc@npm:1.3.6" - dependencies: - get-port: "npm:^3.1.0" - checksum: 10c0/2abaa0e6482fe8b72e29af1f7d5f484fac5a8ea0132969bf370f59b044c4f2eb109f95b222cb06e037f89b42b374a2918e5f90aff5fb7cf3e146d8088c56f6db - languageName: node - linkType: hard - -"table-layout@npm:^1.0.2": - version: 1.0.2 - resolution: "table-layout@npm:1.0.2" - dependencies: - array-back: "npm:^4.0.1" - deep-extend: "npm:~0.6.0" - typical: "npm:^5.2.0" - wordwrapjs: "npm:^4.0.0" - checksum: 10c0/c1d16d5ba2199571606ff574a5c91cff77f14e8477746e191e7dfd294da03e61af4e8004f1f6f783da9582e1365f38d3c469980428998750d558bf29462cc6c3 - languageName: node - linkType: hard - -"table@npm:^6.8.0": - version: 6.9.0 - resolution: "table@npm:6.9.0" - dependencies: - ajv: "npm:^8.0.1" - lodash.truncate: "npm:^4.4.2" - slice-ansi: "npm:^4.0.0" - string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 - languageName: node - linkType: hard - -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d - languageName: node - linkType: hard - -"tcomb-validation@npm:^3.3.0": - version: 3.4.1 - resolution: "tcomb-validation@npm:3.4.1" - dependencies: - tcomb: "npm:^3.0.0" - checksum: 10c0/6baca3a32f7fb1680f271df1d12d7c3e597244978842ee9fda4cd594a7b257df4f5875de22f0f77192ad743eab6dcfe375f4e8e2370ae41dcaf3eaecb61b9ecd - languageName: node - linkType: hard - -"tcomb@npm:^3.0.0, tcomb@npm:^3.2.17": - version: 3.2.29 - resolution: "tcomb@npm:3.2.29" - checksum: 10c0/f109144df5164e17e6571ba9863b8c111b291ba73418ca43b29c12adae3f18760f75ae1ffe37b471c4da1be8c43cc64630ad92fafa0b321e5e7d4571afdf5cdb - languageName: node - linkType: hard - -"then-request@npm:^6.0.0": - version: 6.0.2 - resolution: "then-request@npm:6.0.2" - dependencies: - "@types/concat-stream": "npm:^1.6.0" - "@types/form-data": "npm:0.0.33" - "@types/node": "npm:^8.0.0" - "@types/qs": "npm:^6.2.31" - caseless: "npm:~0.12.0" - concat-stream: "npm:^1.6.0" - form-data: "npm:^2.2.0" - http-basic: "npm:^8.1.1" - http-response-object: "npm:^3.0.1" - promise: "npm:^8.0.0" - qs: "npm:^6.4.0" - checksum: 10c0/9d2998c3470d6aa5b49993612be40627c57a89534cff5bbcc1d57f18457c14675cf3f59310816a1f85fdd40fa66feb64c63c5b76fb2163221f57223609c47949 - languageName: node - linkType: hard - -"through2@npm:^4.0.0": - version: 4.0.2 - resolution: "through2@npm:4.0.2" - dependencies: - readable-stream: "npm:3" - checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c - languageName: node - linkType: hard - -"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.6": - version: 0.2.12 - resolution: "tinyglobby@npm:0.2.12" - dependencies: - fdir: "npm:^6.4.3" - picomatch: "npm:^4.0.2" - checksum: 10c0/7c9be4fd3625630e262dcb19015302aad3b4ba7fc620f269313e688f2161ea8724d6cb4444baab5ef2826eb6bed72647b169a33ec8eea37501832a2526ff540f - languageName: node - linkType: hard - -"tmp@npm:0.0.33": - version: 0.0.33 - resolution: "tmp@npm:0.0.33" - dependencies: - os-tmpdir: "npm:~1.0.2" - checksum: 10c0/69863947b8c29cabad43fe0ce65cec5bb4b481d15d4b4b21e036b060b3edbf3bc7a5541de1bacb437bb3f7c4538f669752627fdf9b4aaf034cebd172ba373408 - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"tryer@npm:^1.0.1": - version: 1.0.1 - resolution: "tryer@npm:1.0.1" - checksum: 10c0/19070409a0009dc26127636cc14d2415e9cf8b1dc07b29694e57ea8bb5ea1bded012c0e792f6235b46e31189a7b866841668b3850867ff7eac1a6b55332c960d - languageName: node - linkType: hard - -"ts-command-line-args@npm:^2.2.0": - version: 2.5.1 - resolution: "ts-command-line-args@npm:2.5.1" - dependencies: - chalk: "npm:^4.1.0" - command-line-args: "npm:^5.1.1" - command-line-usage: "npm:^6.1.0" - string-format: "npm:^2.0.0" - bin: - write-markdown: dist/write-markdown.js - checksum: 10c0/affb43fd4e17b496b6fd195888c7a80e6d7fe54f121501926bb2376f2167c238f7fa8f2e2d98bf2498ff883240d9f914e3558701807f40dca882616a8fd763b1 - languageName: node - linkType: hard - -"ts-essentials@npm:^7.0.1": - version: 7.0.3 - resolution: "ts-essentials@npm:7.0.3" - peerDependencies: - typescript: ">=3.7.0" - checksum: 10c0/ea1919534ec6ce4ca4d9cb0ff1ab8e053509237da8d4298762ab3bfba4e78ca5649a599ce78a5c7c2624f3a7a971f62b265b7b0c3c881336e4fa6acaf6f37544 - languageName: node - linkType: hard - -"ts-node@npm:^10.9.1": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - -"tslib@npm:2.7.0": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 - languageName: node - linkType: hard - -"tslib@npm:^1.9.3": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 - languageName: node - linkType: hard - -"tsort@npm:0.0.1": - version: 0.0.1 - resolution: "tsort@npm:0.0.1" - checksum: 10c0/ea3d034ab341dd9282c972710496e98539408d77f1cd476ad0551a9731f40586b65ab917b39745f902bf32037a3161eee3821405f6ab15bcd2ce4cc0a52d1da6 - languageName: node - linkType: hard - -"tweetnacl-util@npm:^0.15.1": - version: 0.15.1 - resolution: "tweetnacl-util@npm:0.15.1" - checksum: 10c0/796fad76238e40e853dff79516406a27b41549bfd6fabf4ba89d87ca31acf232122f825daf955db8c8573cc98190d7a6d39ece9ed8ae0163370878c310650a80 - languageName: node - linkType: hard - -"tweetnacl@npm:^1.0.3": - version: 1.0.3 - resolution: "tweetnacl@npm:1.0.3" - checksum: 10c0/069d9df51e8ad4a89fbe6f9806c68e06c65be3c7d42f0701cc43dba5f0d6064686b238bbff206c5addef8854e3ce00c643bff59432ea2f2c639feab0ee1a93f9 - languageName: node - linkType: hard - -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: "npm:~1.1.2" - checksum: 10c0/776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 - languageName: node - linkType: hard - -"type-detect@npm:^4.0.0, type-detect@npm:^4.1.0": - version: 4.1.0 - resolution: "type-detect@npm:4.1.0" - checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"type-fest@npm:^0.7.1": - version: 0.7.1 - resolution: "type-fest@npm:0.7.1" - checksum: 10c0/ce6b5ef806a76bf08d0daa78d65e61f24d9a0380bd1f1df36ffb61f84d14a0985c3a921923cf4b97831278cb6fa9bf1b89c751df09407e0510b14e8c081e4e0f - languageName: node - linkType: hard - -"typechain@npm:^8.3.2": - version: 8.3.2 - resolution: "typechain@npm:8.3.2" - dependencies: - "@types/prettier": "npm:^2.1.1" - debug: "npm:^4.3.1" - fs-extra: "npm:^7.0.0" - glob: "npm:7.1.7" - js-sha3: "npm:^0.8.0" - lodash: "npm:^4.17.15" - mkdirp: "npm:^1.0.4" - prettier: "npm:^2.3.1" - ts-command-line-args: "npm:^2.2.0" - ts-essentials: "npm:^7.0.1" - peerDependencies: - typescript: ">=4.3.0" - bin: - typechain: dist/cli/cli.js - checksum: 10c0/1ea660cc7c699c6ac68da67b76454eb4e9395c54666d924ca67f983ae8eb5b5e7dab0a576beb55dbfad75ea784a3f68cb1ca019d332293b7291731c156ead5b5 - languageName: node - linkType: hard - -"typedarray@npm:^0.0.6": - version: 0.0.6 - resolution: "typedarray@npm:0.0.6" - checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 - languageName: node - linkType: hard - -"typescript@npm:^5.1.6": - version: 5.8.2 - resolution: "typescript@npm:5.8.2" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/5c4f6fbf1c6389b6928fe7b8fcd5dc73bb2d58cd4e3883f1d774ed5bd83b151cbac6b7ecf11723de56d4676daeba8713894b1e9af56174f2f9780ae7848ec3c6 - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5.1.6#optional!builtin": - version: 5.8.2 - resolution: "typescript@patch:typescript@npm%3A5.8.2#optional!builtin::version=5.8.2&hash=8c6c40" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/8a6cd29dfb59bd5a978407b93ae0edb530ee9376a5b95a42ad057a6f80ffb0c410489ccd6fe48d1d0dfad6e8adf5d62d3874bbd251f488ae30e11a1ce6dabd28 - languageName: node - linkType: hard - -"typical@npm:^4.0.0": - version: 4.0.0 - resolution: "typical@npm:4.0.0" - checksum: 10c0/f300b198fb9fe743859b75ec761d53c382723dc178bbce4957d9cb754f2878a44ce17dc0b6a5156c52be1065449271f63754ba594dac225b80ce3aa39f9241ed - languageName: node - linkType: hard - -"typical@npm:^5.2.0": - version: 5.2.0 - resolution: "typical@npm:5.2.0" - checksum: 10c0/1cceaa20d4b77a02ab8eccfe4a20500729431aecc1e1b7dc70c0e726e7966efdca3bf0b4bee285555b751647e37818fd99154ea73f74b5c29adc95d3c13f5973 - languageName: node - linkType: hard - -"uglify-js@npm:^3.1.4": - version: 3.19.3 - resolution: "uglify-js@npm:3.19.3" - bin: - uglifyjs: bin/uglifyjs - checksum: 10c0/83b0a90eca35f778e07cad9622b80c448b6aad457c9ff8e568afed978212b42930a95f9e1be943a1ffa4258a3340fbb899f41461131c05bb1d0a9c303aed8479 - languageName: node - linkType: hard - -"underscore@npm:1.12.1": - version: 1.12.1 - resolution: "underscore@npm:1.12.1" - checksum: 10c0/00f392357e363353ac485e7c156b749505087e31ff4fdad22e04ebd2f94a56fbc554cd41a6722e3895a818466cf298b1cae93ff6211d102d373a9b50db63bfd0 - languageName: node - linkType: hard - -"undici-types@npm:~6.19.2": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 - languageName: node - linkType: hard - -"undici-types@npm:~6.20.0": - version: 6.20.0 - resolution: "undici-types@npm:6.20.0" - checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf - languageName: node - linkType: hard - -"undici@npm:^5.14.0": - version: 5.29.0 - resolution: "undici@npm:5.29.0" - dependencies: - "@fastify/busboy": "npm:^2.0.0" - checksum: 10c0/e4e4d631ca54ee0ad82d2e90e7798fa00a106e27e6c880687e445cc2f13b4bc87c5eba2a88c266c3eecffb18f26e227b778412da74a23acc374fca7caccec49b - languageName: node - linkType: hard - -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" - dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc - languageName: node - linkType: hard - -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 - languageName: node - linkType: hard - -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 - languageName: node - linkType: hard - -"universalify@npm:^2.0.0": - version: 2.0.1 - resolution: "universalify@npm:2.0.1" - checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a - languageName: node - linkType: hard - -"unpipe@npm:1.0.0": - version: 1.0.0 - resolution: "unpipe@npm:1.0.0" - checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c - languageName: node - linkType: hard - -"utf8@npm:3.0.0": - version: 3.0.0 - resolution: "utf8@npm:3.0.0" - checksum: 10c0/675d008bab65fc463ce718d5cae8fd4c063540f269e4f25afebce643098439d53e7164bb1f193e0c3852825c7e3e32fbd8641163d19a618dbb53f1f09acb0d5a - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"validator@npm:^13.6.0": - version: 13.15.0 - resolution: "validator@npm:13.15.0" - checksum: 10c0/0f13fd7031ac575e8d7828431da8ef5859bac6a38ee65e1d7fdd367dbf1c3d94d95182aecc3183f7fa7a30ff4474bf864d1aff54707620227a2cdbfd36d894c2 - languageName: node - linkType: hard - -"wasmbuilder@npm:0.0.16": - version: 0.0.16 - resolution: "wasmbuilder@npm:0.0.16" - checksum: 10c0/9e7e25c0b281fb83b272ba628b2f94c3e5ac7a3a488149be3548c52fa7c4502a76339bf2eb6a92e8f23b46da429dda69fe15e794b55c05ba769fe60ff74c73f3 - languageName: node - linkType: hard - -"wasmcurves@npm:0.2.2": - version: 0.2.2 - resolution: "wasmcurves@npm:0.2.2" - dependencies: - wasmbuilder: "npm:0.0.16" - checksum: 10c0/9ee35e3a333f04f5c1233ad3a59401f20cc1074a4c219a0545337e5ca78a962da4e04155f28edd205b0d52fbcd121d2b0bac4489b011affd0c68dfb7ae37cdab - languageName: node - linkType: hard - -"web-worker@npm:1.2.0": - version: 1.2.0 - resolution: "web-worker@npm:1.2.0" - checksum: 10c0/2bec036cd4784148e2f135207c62facf4457a0f2b205d6728013b9f0d7c62404dced95fcd849478387e10c8ae636d665600bd0d99d80b18c3bb2a7f045aa20d8 - languageName: node - linkType: hard - -"web3-utils@npm:^1.3.6": - version: 1.10.4 - resolution: "web3-utils@npm:1.10.4" - dependencies: - "@ethereumjs/util": "npm:^8.1.0" - bn.js: "npm:^5.2.1" - ethereum-bloom-filters: "npm:^1.0.6" - ethereum-cryptography: "npm:^2.1.2" - ethjs-unit: "npm:0.1.6" - number-to-bn: "npm:1.7.0" - randombytes: "npm:^2.1.0" - utf8: "npm:3.0.0" - checksum: 10c0/fbd5c8ec71e944e9e66e3436dbd4446927c3edc95f81928723f9ac137e0d821c5cbb92dba0ed5bbac766f919f919c9d8e316e459c51d876d5188321642676677 - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db - languageName: node - linkType: hard - -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 - languageName: node - linkType: hard - -"which@npm:^1.1.1, which@npm:^1.3.1": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - which: ./bin/which - checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b - languageName: node - linkType: hard - -"widest-line@npm:^3.1.0": - version: 3.1.0 - resolution: "widest-line@npm:3.1.0" - dependencies: - string-width: "npm:^4.0.0" - checksum: 10c0/b1e623adcfb9df35350dd7fc61295d6d4a1eaa65a406ba39c4b8360045b614af95ad10e05abf704936ed022569be438c4bfa02d6d031863c4166a238c301119f - languageName: node - linkType: hard - -"word-wrap@npm:~1.2.3": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 - languageName: node - linkType: hard - -"wordwrap@npm:^1.0.0": - version: 1.0.0 - resolution: "wordwrap@npm:1.0.0" - checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 - languageName: node - linkType: hard - -"wordwrapjs@npm:^4.0.0": - version: 4.0.1 - resolution: "wordwrapjs@npm:4.0.1" - dependencies: - reduce-flatten: "npm:^2.0.0" - typical: "npm:^5.2.0" - checksum: 10c0/4cc43eb0f6adb7214d427e68918357a9df483815efbb4c59beb30972714b1804ede2a551b1dfd2234c0bd413c6f07d6daa6522d1c53f43f89a376d815fbf3c43 - languageName: node - linkType: hard - -"workerpool@npm:^6.5.1": - version: 6.5.1 - resolution: "workerpool@npm:6.5.1" - checksum: 10c0/58e8e969782292cb3a7bfba823f1179a7615250a0cefb4841d5166234db1880a3d0fe83a31dd8d648329ec92c2d0cd1890ad9ec9e53674bb36ca43e9753cdeac - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"ws@npm:8.17.1": - version: 8.17.1 - resolution: "ws@npm:8.17.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe - languageName: node - linkType: hard - -"ws@npm:8.18.0": - version: 8.18.0 - resolution: "ws@npm:8.18.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 - languageName: node - linkType: hard - -"ws@npm:^7.4.6": - version: 7.5.10 - resolution: "ws@npm:7.5.10" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - -"yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 - languageName: node - linkType: hard - -"yargs-unparser@npm:^2.0.0": - version: 2.0.0 - resolution: "yargs-unparser@npm:2.0.0" - dependencies: - camelcase: "npm:^6.0.0" - decamelize: "npm:^4.0.0" - flat: "npm:^5.0.2" - is-plain-obj: "npm:^2.1.0" - checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 - languageName: node - linkType: hard - -"yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 - languageName: node - linkType: hard - -"yargs@npm:^17.2.1": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - dependencies: - cliui: "npm:^8.0.1" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.3" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^21.1.1" - checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard + version "1.0.0" + resolved "https://github.com/ashpect/smt#4f73fd24adb06a7f8efd6fd2d3ed58e9e2f2691a" + +"@babel/code-frame@^7.12.13": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@eth-optimism/hardhat-ovm@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@eth-optimism/hardhat-ovm/-/hardhat-ovm-0.2.4.tgz#1ffe114e341296703cce17006e120ea4107fcb97" + integrity sha512-lfDADd++qg2F9CLNQ5lctGcPlQB3gDe8BsYXu8B72SOJCzOlnfYiS96N/JErG/YpLoLyT2fVPmXCIIl0ogU9ow== + dependencies: + node-fetch "^2.6.1" + +"@ethereumjs/rlp@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" + integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== + +"@ethereumjs/rlp@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.2.tgz#c89bd82f2f3bec248ab2d517ae25f5bbc4aac842" + integrity sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA== + +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" + +"@ethereumjs/util@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.1.0.tgz#75e3898a3116d21c135fa9e29886565609129bce" + integrity sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog== + dependencies: + "@ethereumjs/rlp" "^5.0.2" + ethereum-cryptography "^2.2.1" + +"@ethersproject/abi@5.8.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.8.0.tgz#e79bb51940ac35fe6f3262d7fe2cdb25ad5f07d9" + integrity sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/abstract-provider@5.8.0", "@ethersproject/abstract-provider@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz#7581f9be601afa1d02b95d26b9d9840926a35b0c" + integrity sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + +"@ethersproject/abstract-signer@5.8.0", "@ethersproject/abstract-signer@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz#8d7417e95e4094c1797a9762e6789c7356db0754" + integrity sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/address@5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d" + integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q== + dependencies: + "@ethersproject/bignumber" "^5.6.2" + "@ethersproject/bytes" "^5.6.1" + "@ethersproject/keccak256" "^5.6.1" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/rlp" "^5.6.1" + +"@ethersproject/address@5.8.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.8.0.tgz#3007a2c352eee566ad745dca1dbbebdb50a6a983" + integrity sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + +"@ethersproject/base64@5.8.0", "@ethersproject/base64@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.8.0.tgz#61c669c648f6e6aad002c228465d52ac93ee83eb" + integrity sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ== + dependencies: + "@ethersproject/bytes" "^5.8.0" + +"@ethersproject/basex@5.8.0", "@ethersproject/basex@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.8.0.tgz#1d279a90c4be84d1c1139114a1f844869e57d03a" + integrity sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/bignumber@5.8.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.8.0.tgz#c381d178f9eeb370923d389284efa19f69efa5d7" + integrity sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@5.8.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.8.0.tgz#9074820e1cac7507a34372cadeb035461463be34" + integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/constants@5.8.0", "@ethersproject/constants@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.8.0.tgz#12f31c2f4317b113a4c19de94e50933648c90704" + integrity sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + +"@ethersproject/contracts@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.8.0.tgz#243a38a2e4aa3e757215ea64e276f8a8c9d8ed73" + integrity sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ== + dependencies: + "@ethersproject/abi" "^5.8.0" + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + +"@ethersproject/hash@5.8.0", "@ethersproject/hash@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.8.0.tgz#b8893d4629b7f8462a90102572f8cd65a0192b4c" + integrity sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/hdnode@5.8.0", "@ethersproject/hdnode@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.8.0.tgz#a51ae2a50bcd48ef6fd108c64cbae5e6ff34a761" + integrity sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/json-wallets@5.8.0", "@ethersproject/json-wallets@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz#d18de0a4cf0f185f232eb3c17d5e0744d97eb8c9" + integrity sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.8.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.8.0.tgz#d2123a379567faf2d75d2aaea074ffd4df349e6a" + integrity sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng== + dependencies: + "@ethersproject/bytes" "^5.8.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.8.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.8.0.tgz#f0232968a4f87d29623a0481690a2732662713d6" + integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA== + +"@ethersproject/networks@5.8.0", "@ethersproject/networks@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.8.0.tgz#8b4517a3139380cba9fb00b63ffad0a979671fde" + integrity sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/pbkdf2@5.8.0", "@ethersproject/pbkdf2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz#cd2621130e5dd51f6a0172e63a6e4a0c0a0ec37e" + integrity sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + +"@ethersproject/properties@5.8.0", "@ethersproject/properties@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.8.0.tgz#405a8affb6311a49a91dabd96aeeae24f477020e" + integrity sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/providers@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.8.0.tgz#6c2ae354f7f96ee150439f7de06236928bc04cb4" + integrity sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + bech32 "1.1.4" + ws "8.18.0" + +"@ethersproject/random@5.8.0", "@ethersproject/random@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.8.0.tgz#1bced04d49449f37c6437c701735a1a022f0057a" + integrity sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/rlp@5.8.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.8.0.tgz#5a0d49f61bc53e051532a5179472779141451de5" + integrity sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/sha2@5.8.0", "@ethersproject/sha2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.8.0.tgz#8954a613bb78dac9b46829c0a95de561ef74e5e1" + integrity sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.8.0", "@ethersproject/signing-key@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.8.0.tgz#9797e02c717b68239c6349394ea85febf8893119" + integrity sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + bn.js "^5.2.1" + elliptic "6.6.1" + hash.js "1.1.7" + +"@ethersproject/solidity@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.8.0.tgz#429bb9fcf5521307a9448d7358c26b93695379b9" + integrity sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/strings@5.8.0", "@ethersproject/strings@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.8.0.tgz#ad79fafbf0bd272d9765603215ac74fd7953908f" + integrity sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/transactions@5.8.0", "@ethersproject/transactions@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.8.0.tgz#1e518822403abc99def5a043d1c6f6fe0007e46b" + integrity sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + +"@ethersproject/units@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.8.0.tgz#c12f34ba7c3a2de0e9fa0ed0ee32f3e46c5c2c6a" + integrity sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/wallet@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.8.0.tgz#49c300d10872e6986d953e8310dc33d440da8127" + integrity sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/json-wallets" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/web@5.8.0", "@ethersproject/web@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.8.0.tgz#3e54badc0013b7a801463a7008a87988efce8a37" + integrity sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw== + dependencies: + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/wordlists@5.8.0", "@ethersproject/wordlists@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.8.0.tgz#7a5654ee8d1bb1f4dbe43f91d217356d650ad821" + integrity sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + +"@iden3/bigarray@0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@iden3/bigarray/-/bigarray-0.0.2.tgz#6fc4ba5be18daf8a26ee393f2fb62b80d98c05e9" + integrity sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g== + +"@iden3/binfileutils@0.0.12": + version "0.0.12" + resolved "https://registry.yarnpkg.com/@iden3/binfileutils/-/binfileutils-0.0.12.tgz#3772552f57551814ff606fa68ea1e0ef52795ce3" + integrity sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ== + dependencies: + fastfile "0.0.20" + ffjavascript "^0.3.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@noble/curves@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + +"@noble/curves@1.4.2", "@noble/curves@~1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" + integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@~1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff" + integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== + dependencies: + "@noble/hashes" "1.7.1" + +"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" + integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== + +"@noble/hashes@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/hashes@1.7.1", "@noble/hashes@^1.4.0", "@noble/hashes@~1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" + integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== + +"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nomicfoundation/edr-darwin-arm64@0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.10.0.tgz#3a6952bdf3e2825937cb1aad737b6851e4c6df30" + integrity sha512-n0N+CVM4LKN9QeGZ5irr94Q4vwSs4u7W6jfuhNLmx1cpUxwE9RpeW+ym93JXDv62iVsbekeI5VsUEBHy0hymtA== + +"@nomicfoundation/edr-darwin-x64@0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.10.0.tgz#e8e8a1b5e0e6df27d47dee38fbea7d1b77e92ee5" + integrity sha512-nmImWM/3qWopYzOmicMzK/MF3rFKpm2Biuc8GpQYTLjdXhmItpP9JwEPyjbAWv/1HI09C2pRzgNzKfTxoIgJ6w== + +"@nomicfoundation/edr-linux-arm64-gnu@0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.10.0.tgz#0442b934d801abf1e94de517203f6c7cb24022a6" + integrity sha512-B/N1IyrCU7J6H4QckkQ1cSWAq1jSrJcXpO8GzRaQD1bgOOvg8wrUOrCD+Mfw7MLa6+X9vdZoXtPZOaaOQ9LmhA== + +"@nomicfoundation/edr-linux-arm64-musl@0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.10.0.tgz#ece7f90113347b3c41ca9d0b27962cbc42e54a3d" + integrity sha512-NA9DFLB0LzcKy9mTCUzgnRDbmmSfW0CdO22ySwOy+MKt4Cr9eJi+XR5ZH933Rxpi6BWNkSPeS2ECETE25sJT3w== + +"@nomicfoundation/edr-linux-x64-gnu@0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.10.0.tgz#aa2b6587f2dc5da280c696aaf3c8021edce36e4f" + integrity sha512-bDrbRTA9qZ9wSw5mqa8VpLFbf6ue2Z4qmRd08404eKm8RyBEFxjdHflFzCx46gz/Td0e+GLXy6KTVDj5D29r8w== + +"@nomicfoundation/edr-linux-x64-musl@0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.10.0.tgz#fcb755e1f1926d713f3883856b5840e970ce9096" + integrity sha512-wx7yOlC/hx4N1xuIeh5cAebpzCTx8ZH8/z0IyYMf2t4v52KHERz4IyzBz5OLfd+0IqTRg8ZU5EnFBacIoPeP/g== + +"@nomicfoundation/edr-win32-x64-msvc@0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.10.0.tgz#eb411d5a855a82cc9859a8889069c887ca5dde4b" + integrity sha512-DpBdVMimb+BUEs0E+nLGQ5JFHdGHyxQQNA+nh9V1eKtgarsV21S6br/d1vlQBMLQqkIzwmc6n+/O9Zjk2KfB3g== + +"@nomicfoundation/edr@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr/-/edr-0.10.0.tgz#c0d3476b348ae396458369d1589913154d774192" + integrity sha512-ed9qHSNssgh+0hYUx4ilDoMxxgf/sNT8SjnzgmA5A/LSXHaq2ax68bkdQ8otLYTlxHCO9BS5Nhb8bfajV4FZeA== + dependencies: + "@nomicfoundation/edr-darwin-arm64" "0.10.0" + "@nomicfoundation/edr-darwin-x64" "0.10.0" + "@nomicfoundation/edr-linux-arm64-gnu" "0.10.0" + "@nomicfoundation/edr-linux-arm64-musl" "0.10.0" + "@nomicfoundation/edr-linux-x64-gnu" "0.10.0" + "@nomicfoundation/edr-linux-x64-musl" "0.10.0" + "@nomicfoundation/edr-win32-x64-msvc" "0.10.0" + +"@nomicfoundation/hardhat-chai-matchers@^2.0.6": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.8.tgz#9c7cfc4ad0f0a5e9cf16aba8ab668c02f6e273aa" + integrity sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg== + dependencies: + "@types/chai-as-promised" "^7.1.3" + chai-as-promised "^7.1.1" + deep-eql "^4.0.1" + ordinal "^1.0.3" + +"@nomicfoundation/hardhat-ethers@^3.0.5": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.8.tgz#af078f566373abeb77e11cbe69fe3dd47f8bfc27" + integrity sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA== + dependencies: + debug "^4.1.1" + lodash.isequal "^4.5.0" + +"@nomicfoundation/hardhat-ignition-ethers@^0.15.3": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.11.tgz#ae1c6be346ef3d2ccb38804786728355b1a2eb90" + integrity sha512-srXzvf7qCDHLrnvQWtpVA9gWpcbp4BcnsOqJt6ISet9OlUnxk4GgRMbdFq4YpM48bHQTX397jS9yk1AtJCjt/g== + +"@nomicfoundation/hardhat-ignition@^0.15.3": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.11.tgz#124a4c5f70eca0f2f161ccfd82cef29793111f48" + integrity sha512-OXebmK9FCMwwbb4mIeHBbVFFicAGgyGKJT2zrONrpixrROxrVs6KEi1gzsiN25qtQhCQePt8BTjjYrgy86Dfxg== + dependencies: + "@nomicfoundation/ignition-core" "^0.15.11" + "@nomicfoundation/ignition-ui" "^0.15.11" + chalk "^4.0.0" + debug "^4.3.2" + fs-extra "^10.0.0" + json5 "^2.2.3" + prompts "^2.4.2" + +"@nomicfoundation/hardhat-network-helpers@^1.0.10": + version "1.0.12" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.12.tgz#2c0abec0c50b75f9d0d71776e49e3b5ef746d289" + integrity sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA== + dependencies: + ethereumjs-util "^7.1.4" + +"@nomicfoundation/hardhat-toolbox@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-3.0.0.tgz#83e2c28a745aa4eb1236072166367b0de68b4c76" + integrity sha512-MsteDXd0UagMksqm9KvcFG6gNKYNa3GGNCy73iQ6bEasEgg2v8Qjl6XA5hjs8o5UD5A3153B6W2BIVJ8SxYUtA== + +"@nomicfoundation/hardhat-verify@^2.0.6": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.13.tgz#41691adc32e01dc5cf6b725615f64958fba2100b" + integrity sha512-i57GX1sC0kYGyRVnbQrjjyBTpWTKgrvKC+jH8CMKV6gHp959Upb8lKaZ58WRHIU0espkulTxLnacYeUDirwJ2g== + dependencies: + "@ethersproject/abi" "^5.1.2" + "@ethersproject/address" "^5.0.2" + cbor "^8.1.0" + debug "^4.1.1" + lodash.clonedeep "^4.5.0" + picocolors "^1.1.0" + semver "^6.3.0" + table "^6.8.0" + undici "^5.14.0" + +"@nomicfoundation/ignition-core@^0.15.11", "@nomicfoundation/ignition-core@^0.15.3": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-core/-/ignition-core-0.15.11.tgz#315fd4dcde00ae6e44932222b92932bb15fe113a" + integrity sha512-PeYKRlrQ0koT72yRnlyyG66cXMFiv5X/cIB8hBFPl3ekeg5tPXcHAgs/VZhOsgwEox4ejphTtItLESb1IDBw0w== + dependencies: + "@ethersproject/address" "5.6.1" + "@nomicfoundation/solidity-analyzer" "^0.1.1" + cbor "^9.0.0" + debug "^4.3.2" + ethers "^6.7.0" + fs-extra "^10.0.0" + immer "10.0.2" + lodash "4.17.21" + ndjson "2.0.0" + +"@nomicfoundation/ignition-ui@^0.15.11": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.11.tgz#94969984dd6ca1671a21f2338af4735cf319c1b3" + integrity sha512-VPOVl5xqCKhYCyPOQlposx+stjCwqXQ+BCs5lnw/f2YUfgII+G5Ye0JfHiJOfCJGmqyS03WertBslcj9zQg50A== + +"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz#3a9c3b20d51360b20affb8f753e756d553d49557" + integrity sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw== + +"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz#74dcfabeb4ca373d95bd0d13692f44fcef133c28" + integrity sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw== + +"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz#4af5849a89e5a8f511acc04f28eb5d4460ba2b6a" + integrity sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA== + +"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz#54036808a9a327b2ff84446c130a6687ee702a8e" + integrity sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA== + +"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz#466cda0d6e43691986c944b909fc6dbb8cfc594e" + integrity sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g== + +"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz#2b35826987a6e94444140ac92310baa088ee7f94" + integrity sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg== + +"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz#e6363d13b8709ca66f330562337dbc01ce8bbbd9" + integrity sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA== + +"@nomicfoundation/solidity-analyzer@^0.1.0", "@nomicfoundation/solidity-analyzer@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz#8bcea7d300157bf3a770a851d9f5c5e2db34ac55" + integrity sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA== + optionalDependencies: + "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.2" + "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.2" + "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.2" + +"@nomiclabs/hardhat-ethers@^2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz#b41053e360c31a32c2640c9a45ee981a7e603fe0" + integrity sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg== + +"@openpassport/zk-kit-lean-imt@^0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-lean-imt/-/zk-kit-lean-imt-0.0.6.tgz#b788ffb99d23d10c63ec145fc7d08359900e673e" + integrity sha512-KUQ4b5ILubO79vscrOnSnOCyr1AJ3dSKQOJ1PBklIRyFG9CeRTUspnVblSFqrolf8F3dvXX9QDbrkJxK38Gsyg== + dependencies: + "@openpassport/zk-kit-utils" "0.0.1" + +"@openpassport/zk-kit-smt@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-smt/-/zk-kit-smt-0.0.1.tgz#d447ed24e7b57146d5dee8d7458ac3886346b4d2" + integrity sha512-P7Hkd5fD8JxGbqJ48lUq6gGKmZTaVzCB5I8FsOSUmljqf7VMeZmbyqo2ZmXt/lk6ltPXrmcrQ+QNhHXKZNcWhg== + +"@openpassport/zk-kit-utils@0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-utils/-/zk-kit-utils-0.0.1.tgz#b0ad083c411bc7bcc1051516a76ada528a283a3a" + integrity sha512-T7jZ3vn+iCAPnvMS+NLg3Yj4ixF2xXG/geFkyNi48beEFd1hD/2Yca05QP+g2iaJAsIRvllwtni5SuLXGwv5Xw== + dependencies: + buffer "^6.0.3" + +"@openzeppelin/contracts-upgradeable@^5.1.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.3.0.tgz#79dba09ab0b4bb49f21544ea738b9de016b0ceea" + integrity sha512-yVzSSyTMWO6rapGI5tuqkcLpcGGXA0UA1vScyV5EhE5yw8By3Ewex9rDUw8lfVw0iTkvR/egjfcW5vpk03lqZg== + +"@openzeppelin/contracts@^5.0.2": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.3.0.tgz#0a90ce16f5c855e3c8239691f1722cd4999ae741" + integrity sha512-zj/KGoW7zxWUE8qOI++rUM18v+VeLTTzKs/DJFkSzHpQFPD/jKKF0TrMxBfGLl3kpdELCNccvB3zmofSzm4nlA== + +"@scure/base@~1.1.0", "@scure/base@~1.1.6": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" + integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== + +"@scure/base@~1.2.2": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.4.tgz#002eb571a35d69bdb4c214d0995dff76a8dcd2a9" + integrity sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ== + +"@scure/bip32@1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" + integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== + dependencies: + "@noble/hashes" "~1.2.0" + "@noble/secp256k1" "~1.7.0" + "@scure/base" "~1.1.0" + +"@scure/bip32@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" + integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== + dependencies: + "@noble/curves" "~1.4.0" + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@scure/bip39@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" + integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== + dependencies: + "@noble/hashes" "~1.2.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" + integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== + dependencies: + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@sentry/core@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" + integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/hub@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" + integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== + dependencies: + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/minimal@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" + integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/types" "5.30.0" + tslib "^1.9.3" + +"@sentry/node@^5.18.1": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48" + integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg== + dependencies: + "@sentry/core" "5.30.0" + "@sentry/hub" "5.30.0" + "@sentry/tracing" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + cookie "^0.4.1" + https-proxy-agent "^5.0.0" + lru_map "^0.3.3" + tslib "^1.9.3" + +"@sentry/tracing@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f" + integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/types@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" + integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== + +"@sentry/utils@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" + integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== + dependencies: + "@sentry/types" "5.30.0" + tslib "^1.9.3" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@solidity-parser/parser@^0.14.0": + version "0.14.5" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" + integrity sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg== + dependencies: + antlr4ts "^0.5.0-alpha.4" + +"@solidity-parser/parser@^0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.19.0.tgz#37a8983b2725af9b14ff8c4a475fa0e98d773c3f" + integrity sha512-RV16k/qIxW/wWc+mLzV3ARyKUaMUTBy9tOLMzFhtNSKYeTAanQ3a5MudJKf/8arIFnA2L27SNjarQKmFg0w/jA== + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@typechain/ethers-v6@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v6/-/ethers-v6-0.4.3.tgz#badd99f88d5a1f1a2f42590f298e20cc62618e59" + integrity sha512-TrxBsyb4ryhaY9keP6RzhFCviWYApcLCIRMPyWaKp2cZZrfaM3QBoxXTnw/eO4+DAY3l+8O0brNW0WgeQeOiDA== + dependencies: + lodash "^4.17.15" + ts-essentials "^7.0.1" + +"@typechain/hardhat@^8.0.3": + version "8.0.3" + resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-8.0.3.tgz#a114825f130405bbb8e535314003733b7ce3f91c" + integrity sha512-MytSmJJn+gs7Mqrpt/gWkTCOpOQ6ZDfRrRT2gtZL0rfGe4QrU4x9ZdW15fFbVM/XTa+5EsKiOMYXhRABibNeng== + dependencies: + fs-extra "^9.1.0" + +"@types/bn.js@^5.1.0": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.6.tgz#9ba818eec0c85e4d3c679518428afdf611d03203" + integrity sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w== + dependencies: + "@types/node" "*" + +"@types/chai-as-promised@^7.1.3": + version "7.1.8" + resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz#f2b3d82d53c59626b5d6bbc087667ccb4b677fe9" + integrity sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw== + dependencies: + "@types/chai" "*" + +"@types/chai@*": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.1.tgz#85687a58b27eac736ec0e87e5cb98f21e57a0bb1" + integrity sha512-iu1JLYmGmITRzUgNiLMZD3WCoFzpYtueuyAgHTXqgwSRAMIlFTnZqG6/xenkpUGRJEzSfklUTI4GNSzks/dc0w== + dependencies: + "@types/deep-eql" "*" + +"@types/chai@^4.3.16": + version "4.3.20" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.20.tgz#cb291577ed342ca92600430841a00329ba05cecc" + integrity sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ== + +"@types/circomlibjs@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@types/circomlibjs/-/circomlibjs-0.1.6.tgz#dba1b9cc68ae4f75da045b8b14c50f3444b31d7f" + integrity sha512-yF174bPDaiKgejlZzCSqKwZaqXhlxMcVEHrAtstFohwP05OjtvHXOdxO6HQeTg8WwIdgMg7MJb1WyWZdUCGlPQ== + +"@types/concat-stream@^1.6.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" + integrity sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA== + dependencies: + "@types/node" "*" + +"@types/deep-eql@*": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" + integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== + +"@types/form-data@0.0.33": + version "0.0.33" + resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" + integrity sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw== + dependencies: + "@types/node" "*" + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.5.12": + version "29.5.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" + integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/lru-cache@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" + integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/mocha@^10.0.6": + version "10.0.10" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" + integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== + +"@types/node@*": + version "22.14.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.1.tgz#53b54585cec81c21eee3697521e31312d6ca1e6f" + integrity sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw== + dependencies: + undici-types "~6.21.0" + +"@types/node@22.7.5": + version "22.7.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" + integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== + dependencies: + undici-types "~6.19.2" + +"@types/node@^10.0.3": + version "10.17.60" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" + integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== + +"@types/node@^8.0.0": + version "8.10.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" + integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== + +"@types/pbkdf2@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" + integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== + dependencies: + "@types/node" "*" + +"@types/prettier@^2.1.1": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/qs@^6.2.31": + version "6.9.18" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.18.tgz#877292caa91f7c1b213032b34626505b746624c2" + integrity sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA== + +"@types/secp256k1@^4.0.1": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" + integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== + dependencies: + "@types/node" "*" + +"@types/snarkjs@^0.7.7": + version "0.7.9" + resolved "https://registry.yarnpkg.com/@types/snarkjs/-/snarkjs-0.7.9.tgz#7a3b99bd86009133a74dcb215a475382c772c37c" + integrity sha512-pb4Bq3GI2YQOQOG0dR/YuQs/mqcuL6k/vnz68LIPtpA2frrUL3twf69a3AUK9eUmNNeW0RIKkq6scDlC75Is+g== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== + dependencies: + "@types/yargs-parser" "*" + +"@zk-kit/imt.sol@^2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@zk-kit/imt.sol/-/imt.sol-2.0.0-beta.12.tgz#9acd5fb64111b781a6cc614d3998a285fb48ab54" + integrity sha512-kKgopVO6zlfSiQgv3X9WykaCeyb8jGtthWGqdo1ZD7fY1bH8A7BWhhWxtoCuU5mPEgRbamw1cAoUynuLoEULsg== + dependencies: + poseidon-solidity "0.0.5" + +"@zk-kit/imt@^2.0.0-beta.4": + version "2.0.0-beta.8" + resolved "https://registry.yarnpkg.com/@zk-kit/imt/-/imt-2.0.0-beta.8.tgz#7ef889f91665ed43383096bcdcfab9cd4a3f9e51" + integrity sha512-E6woWWhX+NaDZuB6x932DJ5OACN9zsZZLurcUATyFH6SU+bEn5AX4sW6jfVIAQ1fnKsNOG0qHJtlw3ivwbOmWQ== + dependencies: + "@zk-kit/utils" "1.3.0" + +"@zk-kit/lean-imt@^2.0.1": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@zk-kit/lean-imt/-/lean-imt-2.2.3.tgz#f37971c21d5fe6a1be9a2fcd8d88c86dafab2ce5" + integrity sha512-T6NXLzMuwFjp+hg6WJZqzJ2qyyTmbS9JmxiWW/lmp+VxxJLAO9byAvqd5p/7616AXdHyTbwku0tdX0JDq9Pkng== + dependencies: + "@zk-kit/utils" "1.3.0" + +"@zk-kit/utils@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@zk-kit/utils/-/utils-1.3.0.tgz#01afccc4dacc9a971686f41417c93778e119a966" + integrity sha512-Gqsq5KLDf2WPuZSsNc2KZy25XeK5d5UV9hwLaPEM5wq+GD2qCi1ZBFzNs0OptiJ9GRGtP2J/xptrszWri+pRqQ== + dependencies: + buffer "^6.0.3" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== + +acorn-walk@^8.1.1: + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.4.1: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== + +adm-zip@^0.4.16: + version "0.4.16" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" + integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + +aes-js@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" + integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^8.0.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-colors@^4.1.1, ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +antlr4ts@^0.5.0-alpha.4: + version "0.5.0-alpha.4" + resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" + integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@1.x: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== + +async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +axios@^1.5.1, axios@^1.6.2: + version "1.8.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447" + integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +b4a@^1.0.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" + integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2: + version "3.0.11" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.11.tgz#40d80e2a1aeacba29792ccc6c5354806421287ff" + integrity sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +bfj@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" + integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== + dependencies: + bluebird "^3.7.2" + check-types "^11.2.3" + hoopy "^0.1.4" + jsonpath "^1.1.1" + tryer "^1.0.1" + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +blake-hash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/blake-hash/-/blake-hash-2.0.0.tgz#af184dce641951126d05b7d1c3de3224f538d66e" + integrity sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w== + dependencies: + node-addon-api "^3.0.0" + node-gyp-build "^4.2.2" + readable-stream "^3.6.0" + +blake2b-wasm@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" + integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== + dependencies: + b4a "^1.0.1" + nanoassert "^2.0.0" + +blake2b@^2.1.3: + version "2.1.4" + resolved "https://registry.yarnpkg.com/blake2b/-/blake2b-2.1.4.tgz#817d278526ddb4cd673bfb1af16d1ad61e393ba3" + integrity sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A== + dependencies: + blake2b-wasm "^2.4.0" + nanoassert "^2.0.0" + +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@^4.11.9: + version "4.12.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + +bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +boxen@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-stdout@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bound@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +camelcase@^6.0.0, camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caseless@^0.12.0, caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +cbor@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== + dependencies: + nofilter "^3.1.0" + +cbor@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" + integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== + dependencies: + nofilter "^3.1.0" + +chai-as-promised@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.2.tgz#70cd73b74afd519754161386421fb71832c6d041" + integrity sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw== + dependencies: + check-error "^1.0.2" + +chai@^4.4.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" + integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.1.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +"charenc@>= 0.0.1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== + +check-error@^1.0.2, check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + +check-types@^11.2.3: + version "11.2.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" + integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== + +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7" + integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + +circom_runtime@0.1.28: + version "0.1.28" + resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.28.tgz#4ea4606956eeac4499f71f65354f45b54faa93fe" + integrity sha512-ACagpQ7zBRLKDl5xRZ4KpmYIcZDUjOiNRuxvXLqhnnlLSVY1Dbvh73TI853nqoR0oEbihtWmMSjgc5f+pXf/jQ== + dependencies: + ffjavascript "0.3.1" + +circomlibjs@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/circomlibjs/-/circomlibjs-0.1.7.tgz#9f5a7d9a23323744b11ee456b05b0cd81f48b554" + integrity sha512-GRAUoAlKAsiiTa+PA725G9RmEmJJRc8tRFxw/zKktUxlQISGznT4hH4ESvW8FNTsrGg/nNd06sGP/Wlx0LUHVg== + dependencies: + blake-hash "^2.0.0" + blake2b "^2.1.3" + ethers "^5.5.1" + ffjavascript "^0.2.45" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-table3@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + +cli-table3@^0.6.0: + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colors@1.4.0, colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +command-exists@^1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== + +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + +commander@^8.1.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.6.0, concat-stream@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +cookie@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +"crypt@>= 0.0.1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== + +dateformat@^4.5.1: + version "4.6.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" + integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== + +death@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" + integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== + +debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.5: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== + dependencies: + ms "^2.1.3" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +deep-eql@^4.0.1, deep-eql@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" + integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== + dependencies: + type-detect "^4.0.0" + +deep-extend@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diff@^5.0.0, diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +difflib@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" + integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== + dependencies: + heap ">= 0.2.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dotenv@^16.3.1: + version "16.5.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.5.0.tgz#092b49f25f808f020050051d1ff258e404c78692" + integrity sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg== + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +ejs@^3.1.6: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +elliptic@6.6.1, elliptic@^6.5.7: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +enquirer@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-html@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" + integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== + +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eth-gas-reporter@^0.2.25: + version "0.2.27" + resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz#928de8548a674ed64c7ba0bf5795e63079150d4e" + integrity sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw== + dependencies: + "@solidity-parser/parser" "^0.14.0" + axios "^1.5.1" + cli-table3 "^0.5.0" + colors "1.4.0" + ethereum-cryptography "^1.0.3" + ethers "^5.7.2" + fs-readdir-recursive "^1.1.0" + lodash "^4.17.14" + markdown-table "^1.1.3" + mocha "^10.2.0" + req-cwd "^2.0.0" + sha1 "^1.1.1" + sync-request "^6.0.0" + +ethereum-bloom-filters@^1.0.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz#8294f074c1a6cbd32c39d2cc77ce86ff14797dab" + integrity sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA== + dependencies: + "@noble/hashes" "^1.4.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereum-cryptography@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" + integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== + dependencies: + "@noble/hashes" "1.2.0" + "@noble/secp256k1" "1.7.1" + "@scure/bip32" "1.1.5" + "@scure/bip39" "1.1.1" + +ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2, ethereum-cryptography@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" + integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== + dependencies: + "@noble/curves" "1.4.2" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" + +ethereumjs-util@^7.1.4: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethers@^5.5.1, ethers@^5.7.2: + version "5.8.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.8.0.tgz#97858dc4d4c74afce83ea7562fe9493cedb4d377" + integrity sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg== + dependencies: + "@ethersproject/abi" "5.8.0" + "@ethersproject/abstract-provider" "5.8.0" + "@ethersproject/abstract-signer" "5.8.0" + "@ethersproject/address" "5.8.0" + "@ethersproject/base64" "5.8.0" + "@ethersproject/basex" "5.8.0" + "@ethersproject/bignumber" "5.8.0" + "@ethersproject/bytes" "5.8.0" + "@ethersproject/constants" "5.8.0" + "@ethersproject/contracts" "5.8.0" + "@ethersproject/hash" "5.8.0" + "@ethersproject/hdnode" "5.8.0" + "@ethersproject/json-wallets" "5.8.0" + "@ethersproject/keccak256" "5.8.0" + "@ethersproject/logger" "5.8.0" + "@ethersproject/networks" "5.8.0" + "@ethersproject/pbkdf2" "5.8.0" + "@ethersproject/properties" "5.8.0" + "@ethersproject/providers" "5.8.0" + "@ethersproject/random" "5.8.0" + "@ethersproject/rlp" "5.8.0" + "@ethersproject/sha2" "5.8.0" + "@ethersproject/signing-key" "5.8.0" + "@ethersproject/solidity" "5.8.0" + "@ethersproject/strings" "5.8.0" + "@ethersproject/transactions" "5.8.0" + "@ethersproject/units" "5.8.0" + "@ethersproject/wallet" "5.8.0" + "@ethersproject/web" "5.8.0" + "@ethersproject/wordlists" "5.8.0" + +ethers@^6.12.1, ethers@^6.7.0: + version "6.13.5" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.5.tgz#8c1d6ac988ac08abc3c1d8fabbd4b8b602851ac4" + integrity sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ== + dependencies: + "@adraffy/ens-normalize" "1.10.1" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@types/node" "22.7.5" + aes-js "4.0.0-beta.5" + tslib "2.7.0" + ws "8.17.1" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +expect@^29.0.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.0.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + +fastfile@0.0.20: + version "0.0.20" + resolved "https://registry.yarnpkg.com/fastfile/-/fastfile-0.0.20.tgz#794a143d58cfda2e24c298e5ef619c748c8a1879" + integrity sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA== + +fastq@^1.6.0: + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== + dependencies: + reusify "^1.0.4" + +fdir@^6.4.3: + version "6.4.3" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.3.tgz#011cdacf837eca9b811c89dbb902df714273db72" + integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw== + +ffjavascript@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.0.tgz#442cd8fbb1ee4cbb1be9d26fd7b2951a1ea45d6a" + integrity sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +ffjavascript@0.3.1, ffjavascript@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.1.tgz#3761bbb3f4a67b58a94a463080272bf6b5877b03" + integrity sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +ffjavascript@^0.2.45: + version "0.2.63" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.63.tgz#0c1216a1f123dc9181df69e144473704d2f115eb" + integrity sha512-dBgdsfGks58b66JnUZeZpGxdMIDQ4QsD3VYlRJyFVrKQHb2kJy4R2gufx5oetrTxXPT+aEjg0dOvOLg1N0on4A== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@^1.12.1, follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +form-data@^2.2.0: + version "2.5.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.3.tgz#f9bcf87418ce748513c0c3494bb48ec270c97acc" + integrity sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + mime-types "^2.1.35" + safe-buffer "^5.2.1" + +form-data@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + mime-types "^2.1.12" + +fp-ts@1.19.3: + version "1.19.3" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.3.tgz#261a60d1088fbff01f91256f91d21d0caaaaa96f" + integrity sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg== + +fp-ts@^1.0.0: + version "1.19.5" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" + integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^7.0.0, fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-readdir-recursive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +fsu@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fsu/-/fsu-1.1.1.tgz#bd36d3579907c59d85b257a75b836aa9e0c31834" + integrity sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-port@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== + +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +ghost-testrpc@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz#c4de9557b1d1ae7b2d20bbe474a91378ca90ce92" + integrity sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ== + dependencies: + chalk "^2.4.2" + node-emoji "^1.10.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +handlebars@^4.0.1: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +hardhat-contract-sizer@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.0.tgz#72646f43bfe50e9a5702c9720c9bc3e77d93a2c9" + integrity sha512-QiinUgBD5MqJZJh1hl1jc9dNnpJg7eE/w4/4GEnrcmZJJTDbVFNe3+/3Ep24XqISSkYxRz36czcPHKHd/a0dwA== + dependencies: + chalk "^4.0.0" + cli-table3 "^0.6.0" + strip-ansi "^6.0.0" + +hardhat-gas-reporter@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz#ebe5bda5334b5def312747580cd923c2b09aef1b" + integrity sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA== + dependencies: + array-uniq "1.0.3" + eth-gas-reporter "^0.2.25" + sha1 "^1.1.1" + +hardhat@^2.22.6: + version "2.23.0" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.23.0.tgz#c3b404410ea52c41f3200cc011f5b4cebd7d80bd" + integrity sha512-xnORx1LgX46TxylOFme96JmSAIjXuHUVpOlUnaCt8MKMGsgy0NGsfPo5rJI/ncCBPLFLURGfZUQ2Uc6ZYN4kYg== + dependencies: + "@ethereumjs/util" "^9.1.0" + "@ethersproject/abi" "^5.1.2" + "@nomicfoundation/edr" "^0.10.0" + "@nomicfoundation/solidity-analyzer" "^0.1.0" + "@sentry/node" "^5.18.1" + "@types/bn.js" "^5.1.0" + "@types/lru-cache" "^5.1.0" + adm-zip "^0.4.16" + aggregate-error "^3.0.0" + ansi-escapes "^4.3.0" + boxen "^5.1.2" + chokidar "^4.0.0" + ci-info "^2.0.0" + debug "^4.1.1" + enquirer "^2.3.0" + env-paths "^2.2.0" + ethereum-cryptography "^1.0.3" + find-up "^5.0.0" + fp-ts "1.19.3" + fs-extra "^7.0.1" + immutable "^4.0.0-rc.12" + io-ts "1.10.4" + json-stream-stringify "^3.1.4" + keccak "^3.0.2" + lodash "^4.17.11" + micro-eth-signer "^0.14.0" + mnemonist "^0.38.0" + mocha "^10.0.0" + p-map "^4.0.0" + picocolors "^1.1.0" + raw-body "^2.4.1" + resolve "1.17.0" + semver "^6.3.0" + solc "0.8.26" + source-map-support "^0.5.13" + stacktrace-parser "^0.1.10" + tinyglobby "^0.2.6" + tsort "0.0.1" + undici "^5.14.0" + uuid "^8.3.2" + ws "^7.4.6" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +"heap@>= 0.2.0": + version "0.2.7" + resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" + integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +http-basic@^8.1.1: + version "8.1.3" + resolved "https://registry.yarnpkg.com/http-basic/-/http-basic-8.1.3.tgz#a7cabee7526869b9b710136970805b1004261bbf" + integrity sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw== + dependencies: + caseless "^0.12.0" + concat-stream "^1.6.2" + http-response-object "^3.0.1" + parse-cache-control "^1.0.1" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-response-object@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.2.tgz#7f435bb210454e4360d074ef1f989d5ea8aa9810" + integrity sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA== + dependencies: + "@types/node" "^10.0.3" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.1.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +immer@10.0.2: + version "10.0.2" + resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.2.tgz#11636c5b77acf529e059582d76faf338beb56141" + integrity sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA== + +immutable@^4.0.0-rc.12: + version "4.3.7" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381" + integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +io-ts@1.10.4: + version "1.10.4" + resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2" + integrity sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g== + dependencies: + fp-ts "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.x: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stream-stringify@^3.1.4: + version "3.1.6" + resolved "https://registry.yarnpkg.com/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz#ebe32193876fb99d4ec9f612389a8d8e2b5d54d4" + integrity sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonpath@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" + integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== + dependencies: + esprima "1.2.2" + static-eval "2.0.2" + underscore "1.12.1" + +jsonschema@^1.2.4: + version "1.5.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.5.0.tgz#f6aceb1ab9123563dd901d05f81f9d4883d3b7d8" + integrity sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw== + +keccak@^3.0.0, keccak@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + +lodash.isempty@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + integrity sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isobject@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" + integrity sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +logplease@^1.2.15: + version "1.2.15" + resolved "https://registry.yarnpkg.com/logplease/-/logplease-1.2.15.tgz#3da442e93751a5992cc19010a826b08d0293c48a" + integrity sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA== + +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + +lru_map@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +markdown-table@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" + integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== + +merge2@^1.2.3, merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micro-eth-signer@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/micro-eth-signer/-/micro-eth-signer-0.14.0.tgz#8aa1fe997d98d6bdf42f2071cef7eb01a66ecb22" + integrity sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw== + dependencies: + "@noble/curves" "~1.8.1" + "@noble/hashes" "~1.7.1" + micro-packed "~0.7.2" + +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== + +micro-packed@~0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/micro-packed/-/micro-packed-0.7.2.tgz#7f9decd6c11fe2617bc85ad4ebc0ad48bf423f36" + integrity sha512-HJ/u8+tMzgrJVAl6P/4l8KGjJSA3SCZaRb1m4wpbovNScCSmVOGUYbkkcoPPcknCHWPpRAdjy+yqXqyQWf+k8g== + dependencies: + "@scure/base" "~1.2.2" + +micromatch@^4.0.4, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.35: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1, minimatch@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@0.5.x: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mnemonist@^0.38.0: + version "0.38.5" + resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade" + integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== + dependencies: + obliterator "^2.0.0" + +mocha@^10.0.0, mocha@^10.2.0, mocha@^10.4.0: + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" + +mochawesome-report-generator@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz#65a30a11235ba7a68e1cf0ca1df80d764b93ae78" + integrity sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg== + dependencies: + chalk "^4.1.2" + dateformat "^4.5.1" + escape-html "^1.0.3" + fs-extra "^10.0.0" + fsu "^1.1.1" + lodash.isfunction "^3.0.9" + opener "^1.5.2" + prop-types "^15.7.2" + tcomb "^3.2.17" + tcomb-validation "^3.3.0" + validator "^13.6.0" + yargs "^17.2.1" + +mochawesome@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/mochawesome/-/mochawesome-7.1.3.tgz#07b358138f37f5b07b51a1b255d84babfa36fa83" + integrity sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ== + dependencies: + chalk "^4.1.2" + diff "^5.0.0" + json-stringify-safe "^5.0.1" + lodash.isempty "^4.4.0" + lodash.isfunction "^3.0.9" + lodash.isobject "^3.0.2" + lodash.isstring "^4.0.1" + mochawesome-report-generator "^6.2.0" + strip-ansi "^6.0.1" + uuid "^8.3.2" + +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoassert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" + integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== + +ndjson@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-2.0.0.tgz#320ac86f6fe53f5681897349b86ac6f43bfa3a19" + integrity sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ== + dependencies: + json-stringify-safe "^5.0.1" + minimist "^1.2.5" + readable-stream "^3.6.0" + split2 "^3.0.0" + through2 "^4.0.0" + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-emoji@^1.10.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== + dependencies: + lodash "^4.17.21" + +node-fetch@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp-build@^4.2.0, node-gyp-build@^4.2.2: + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== + +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== + dependencies: + abbrev "1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +obliterator@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.5.tgz#031e0145354b0c18840336ae51d41e7d6d2c76aa" + integrity sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw== + +once@1.x, once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +ordinal@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ordinal/-/ordinal-1.0.3.tgz#1a3c7726a61728112f50944ad7c35c06ae3a0d4d" + integrity sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ== + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +parse-cache-control@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" + integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.17: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +picocolors@^1.0.0, picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +poseidon-lite@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/poseidon-lite/-/poseidon-lite-0.3.0.tgz#93c42f6f9b870f154f2722dfd686b909c4285765" + integrity sha512-ilJj4MIve4uBEG7SrtPqUUNkvpJ/pLVbndxa0WvebcQqeIhe+h72JR4g0EvwchUzm9sOQDlOjiDNmRAgxNZl4A== + +poseidon-solidity@0.0.5, poseidon-solidity@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/poseidon-solidity/-/poseidon-solidity-0.0.5.tgz#3f93e01cfe25f6d2f2fac49734fbb00961b84655" + integrity sha512-NzrvSwHzvZgT4hvg2GyGqeR+UOU/eLSEt4wAoXEua+VaR7NTKKwx1X9bPlh1VMBEVEno+IWvkRBbidFGzTeAqQ== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prettier@^2.3.1: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== + dependencies: + asap "~2.0.6" + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +qs@^6.4.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== + dependencies: + side-channel "^1.1.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +r1csfile@0.0.48: + version "0.0.48" + resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.48.tgz#a317fc75407a9da92631666c75bdfc13f0a7835a" + integrity sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw== + dependencies: + "@iden3/bigarray" "0.0.2" + "@iden3/binfileutils" "0.0.12" + fastfile "0.0.20" + ffjavascript "0.3.0" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +raw-body@^2.4.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.2.2: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + +req-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/req-cwd/-/req-cwd-2.0.0.tgz#d4082b4d44598036640fb73ddea01ed53db49ebc" + integrity sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ== + dependencies: + req-from "^2.0.0" + +req-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/req-from/-/req-from-2.0.0.tgz#d74188e47f93796f4aa71df6ee35ae689f3e0e70" + integrity sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA== + dependencies: + resolve-from "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== + +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== + +resolve@1.17.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.1.6: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + dependencies: + is-core-module "^2.16.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sc-istanbul@^0.4.5: + version "0.4.6" + resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" + integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +scrypt-js@3.0.1, scrypt-js@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" + integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== + dependencies: + elliptic "^6.5.7" + node-addon-api "^5.0.0" + node-gyp-build "^4.2.0" + +semver@^5.5.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.4: + version "7.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" + integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== + +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sha1@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/sha1/-/sha1-1.1.1.tgz#addaa7a93168f393f19eb2b15091618e2700f848" + integrity sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA== + dependencies: + charenc ">= 0.0.1" + crypt ">= 0.0.1" + +shelljs@^0.8.3: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snarkjs@^0.7.4: + version "0.7.5" + resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.7.5.tgz#334d83b61468bdffbbf922b20734ca47be50b8ab" + integrity sha512-h+3c4rXZKLhLuHk4LHydZCk/h5GcNvk5GjVKRRkHmfb6Ntf8gHOA9zea3g656iclRuhqQ3iKDWFgiD9ypLrKiA== + dependencies: + "@iden3/binfileutils" "0.0.12" + bfj "^7.0.2" + blake2b-wasm "^2.4.0" + circom_runtime "0.1.28" + ejs "^3.1.6" + fastfile "0.0.20" + ffjavascript "0.3.1" + js-sha3 "^0.8.0" + logplease "^1.2.15" + r1csfile "0.0.48" + +solc@0.8.26: + version "0.8.26" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" + integrity sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g== + dependencies: + command-exists "^1.2.8" + commander "^8.1.0" + follow-redirects "^1.12.1" + js-sha3 "0.8.0" + memorystream "^0.3.1" + semver "^5.5.0" + tmp "0.0.33" + +solidity-coverage@^0.8.14: + version "0.8.14" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.14.tgz#db9bfcc10e3bc369fc074b35b267d665bcc6ae2e" + integrity sha512-ItAAObe5GaEOp20kXC2BZRnph+9P7Rtoqg2mQc2SXGEHgSDF2wWd1Wxz3ntzQWXkbCtIIGdJT918HG00cObwbA== + dependencies: + "@ethersproject/abi" "^5.0.9" + "@solidity-parser/parser" "^0.19.0" + chalk "^2.4.2" + death "^1.1.0" + difflib "^0.2.4" + fs-extra "^8.1.0" + ghost-testrpc "^0.0.2" + global-modules "^2.0.0" + globby "^10.0.1" + jsonschema "^1.2.4" + lodash "^4.17.21" + mocha "^10.2.0" + node-emoji "^1.10.0" + pify "^4.0.1" + recursive-readdir "^2.2.2" + sc-istanbul "^0.4.5" + semver "^7.3.4" + shelljs "^0.8.3" + web3-utils "^1.3.6" + +source-map-support@^0.5.13: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== + dependencies: + amdefine ">=0.0.4" + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stacktrace-parser@^0.1.10: + version "0.1.11" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz#c7c08f9b29ef566b9a6f7b255d7db572f66fabc4" + integrity sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg== + dependencies: + type-fest "^0.7.1" + +static-eval@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" + integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== + dependencies: + escodegen "^1.8.1" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== + dependencies: + is-hex-prefixed "1.0.0" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +sync-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/sync-request/-/sync-request-6.1.0.tgz#e96217565b5e50bbffe179868ba75532fb597e68" + integrity sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw== + dependencies: + http-response-object "^3.0.1" + sync-rpc "^1.2.1" + then-request "^6.0.0" + +sync-rpc@^1.2.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.6.tgz#b2e8b2550a12ccbc71df8644810529deb68665a7" + integrity sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw== + dependencies: + get-port "^3.1.0" + +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + +table@^6.8.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" + integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tcomb-validation@^3.3.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/tcomb-validation/-/tcomb-validation-3.4.1.tgz#a7696ec176ce56a081d9e019f8b732a5a8894b65" + integrity sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA== + dependencies: + tcomb "^3.0.0" + +tcomb@^3.0.0, tcomb@^3.2.17: + version "3.2.29" + resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-3.2.29.tgz#32404fe9456d90c2cf4798682d37439f1ccc386c" + integrity sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ== + +then-request@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/then-request/-/then-request-6.0.2.tgz#ec18dd8b5ca43aaee5cb92f7e4c1630e950d4f0c" + integrity sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA== + dependencies: + "@types/concat-stream" "^1.6.0" + "@types/form-data" "0.0.33" + "@types/node" "^8.0.0" + "@types/qs" "^6.2.31" + caseless "~0.12.0" + concat-stream "^1.6.0" + form-data "^2.2.0" + http-basic "^8.1.1" + http-response-object "^3.0.1" + promise "^8.0.0" + qs "^6.4.0" + +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +tinyglobby@^0.2.6: + version "0.2.12" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.12.tgz#ac941a42e0c5773bd0b5d08f32de82e74a1a61b5" + integrity sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww== + dependencies: + fdir "^6.4.3" + picomatch "^4.0.2" + +tmp@0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-command-line-args@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" + integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== + dependencies: + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" + +ts-essentials@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" + integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== + +ts-node@^10.9.1: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + +tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsort@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" + integrity sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@^4.0.0, type-detect@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" + integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + +typechain@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" + integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== + dependencies: + "@types/prettier" "^2.1.1" + debug "^4.3.1" + fs-extra "^7.0.0" + glob "7.1.7" + js-sha3 "^0.8.0" + lodash "^4.17.15" + mkdirp "^1.0.4" + prettier "^2.3.1" + ts-command-line-args "^2.2.0" + ts-essentials "^7.0.1" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +typescript@^5.1.6: + version "5.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" + integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== + +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + +uglify-js@^3.1.4: + version "3.19.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" + integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== + +underscore@1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" + integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + +undici@^5.14.0: + version "5.29.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.29.0.tgz#419595449ae3f2cdcba3580a2e8903399bd1f5a3" + integrity sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg== + dependencies: + "@fastify/busboy" "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +validator@^13.6.0: + version "13.15.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.15.0.tgz#2dc7ce057e7513a55585109eec29b2c8e8c1aefd" + integrity sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA== + +wasmbuilder@0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.16.tgz#f34c1f2c047d2f6e1065cbfec5603988f16d8549" + integrity sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA== + +wasmcurves@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.2.2.tgz#ca444f6a6f6e2a5cbe6629d98ff478a62b4ccb2b" + integrity sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ== + dependencies: + wasmbuilder "0.0.16" + +web-worker@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" + integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== + +web3-utils@^1.3.6: + version "1.10.4" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.4.tgz#0daee7d6841641655d8b3726baf33b08eda1cbec" + integrity sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A== + dependencies: + "@ethereumjs/util" "^8.1.0" + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereum-cryptography "^2.1.2" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which@^1.1.1, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +word-wrap@~1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + +ws@8.18.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + +ws@^7.4.6: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yargs-parser@^20.2.2, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-unparser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.2.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From b2a5ef0346891a664ac5ac433278cadc1e92a1d1 Mon Sep 17 00:00:00 2001 From: nicoshark Date: Fri, 18 Apr 2025 00:17:58 +0900 Subject: [PATCH 04/49] forgot to include package update (#521) --- contracts/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/package.json b/contracts/package.json index a83612df6..3e271ce39 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -1,6 +1,6 @@ { "name": "@selfxyz/contracts", - "version": "0.0.7", + "version": "0.0.8", "repository": { "type": "git", "url": "https://github.com/selfxyz/self" From 7297659a3083fba4f25f60dbfa2700d765d9db1b Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Thu, 17 Apr 2025 14:09:40 -0500 Subject: [PATCH 05/49] Bump version to 2.5.1 (#522) * bump version * update fastlane * fix bump version * bump build and add todo * disable commit for now --- .github/workflows/mobile-deploy.yml | 6 ++++-- app/Gemfile.lock | 13 +++++++------ app/android/app/build.gradle | 6 +++--- app/fastlane/Fastfile | 3 ++- app/ios/OpenPassport/Info.plist | 2 +- app/package.json | 2 +- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/.github/workflows/mobile-deploy.yml b/.github/workflows/mobile-deploy.yml index c96b0e9ab..78ccf210c 100644 --- a/.github/workflows/mobile-deploy.yml +++ b/.github/workflows/mobile-deploy.yml @@ -353,7 +353,8 @@ jobs: app_path: ${{ env.APP_PATH }} - name: Commit updated build number - if: ${{ !env.ACT }} + # disable for now, commit doesn't work as expected + if: false #${{ !env.ACT }} uses: ./.github/actions/push-changes with: commit_message: "incrementing ios build number for version ${{ env.VERSION }}" @@ -479,7 +480,8 @@ jobs: app_path: ${{ env.APP_PATH }} - name: Commit updated build version - if: ${{ !env.ACT }} + # disable for now, commit doesn't work as expected + if: false #${{ !env.ACT }} uses: ./.github/actions/push-changes with: commit_message: "incrementing android build version for version ${{ env.VERSION }}" diff --git a/app/Gemfile.lock b/app/Gemfile.lock index bfd946d08..3e906bdc4 100644 --- a/app/Gemfile.lock +++ b/app/Gemfile.lock @@ -25,17 +25,18 @@ GEM artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.3.2) - aws-partitions (1.1069.0) - aws-sdk-core (3.220.1) + aws-partitions (1.1088.0) + aws-sdk-core (3.222.2) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) base64 jmespath (~> 1, >= 1.6.1) + logger aws-sdk-kms (1.99.0) aws-sdk-core (~> 3, >= 3.216.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.182.0) + aws-sdk-s3 (1.183.0) aws-sdk-core (~> 3, >= 3.216.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) @@ -129,7 +130,7 @@ GEM faraday_middleware (1.2.1) faraday (~> 1.0) fastimage (2.4.0) - fastlane (2.227.0) + fastlane (2.227.1) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -169,7 +170,7 @@ GEM tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) xcodeproj (>= 1.13.0, < 2.0.0) - xcpretty (~> 0.4.0) + xcpretty (~> 0.4.1) xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) fastlane-plugin-increment_version_code (0.4.3) fastlane-plugin-versioning_android (0.1.1) @@ -292,7 +293,7 @@ GEM colored2 (~> 3.1) nanaimo (~> 0.4.0) rexml (>= 3.3.6, < 4.0) - xcpretty (0.4.0) + xcpretty (0.4.1) rouge (~> 3.28.0) xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index a96d956c3..d66cf33cb 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -85,8 +85,8 @@ android { applicationId "com.proofofpassportapp" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 53 - versionName "2.5.0" + versionCode 54 + versionName "2.5.1" externalNativeBuild { cmake { cppFlags += "-fexceptions -frtti -std=c++11" @@ -162,4 +162,4 @@ dependencies { implementation "androidx.profileinstaller:profileinstaller:1.3.1" implementation "com.google.android.play:app-update:2.1.0" -} \ No newline at end of file +} diff --git a/app/fastlane/Fastfile b/app/fastlane/Fastfile index 85c0ddf57..74fd97f86 100644 --- a/app/fastlane/Fastfile +++ b/app/fastlane/Fastfile @@ -59,6 +59,7 @@ platform :ios do upload_to_testflight( api_key: result[:api_key], distribute_external: true, + # TODO: fix error about the groups not being set correctly, fwiw groups are set in the app store connect groups: ENV["IOS_TESTFLIGHT_GROUPS"].split(","), changelog: "", skip_waiting_for_build_processing: false, @@ -207,7 +208,7 @@ platform :android do lane :sync_version do android_set_version_name( version_name: package_version, - gradle_file: android_gradle_file_path, + gradle_file: android_gradle_file_path.gsub("../", ""), ) end diff --git a/app/ios/OpenPassport/Info.plist b/app/ios/OpenPassport/Info.plist index 907b17fc9..cdd73699c 100644 --- a/app/ios/OpenPassport/Info.plist +++ b/app/ios/OpenPassport/Info.plist @@ -21,7 +21,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - $(MARKETING_VERSION) + 2.5.1 CFBundleSignature ???? CFBundleVersion diff --git a/app/package.json b/app/package.json index 5962ed6db..9e64484a4 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "openpassport", - "version": "2.4.9", + "version": "2.5.1", "private": true, "scripts": { "analyze:android": "yarn reinstall && react-native-bundle-visualizer --platform android --dev", From 35221386da82d80acb11db2bd28197e150f932c4 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Fri, 18 Apr 2025 07:35:52 -0500 Subject: [PATCH 06/49] [SEL-154] Step 1: Scan your passport (#511) * simplify navigation logic * use aesop design hook * save wip * add new aesop redesign screens * save wip design * refactor nav bar logic * fix paths * save wip * stub progress navbar and save wip * save wip progress bar animation * save wip progress bar, almost done with design * fix progress bar design * fix bottom padding * disable git commit for now * fix flaky android downloads that causes pipeline to crash * update lock for ci --- app/android/build.gradle | 2 + .../gradle/wrapper/gradle-wrapper.properties | 4 +- app/env.sample | 1 + app/src/Navigation.tsx | 379 -- app/src/Navigation/account.ts | 27 + app/src/Navigation/aesop.ts | 67 + app/src/Navigation/home.ts | 27 + app/src/Navigation/index.tsx | 96 + app/src/Navigation/passport.ts | 85 + app/src/Navigation/prove.ts | 57 + app/src/Navigation/recovery.ts | 53 + app/src/Navigation/settings.ts | 69 + app/src/Navigation/static.tsx | 38 + app/src/components/ButtonsContainer.tsx | 4 +- .../{NavBar.tsx => NavBar/BaseNavBar.tsx} | 2 +- .../components/{ => NavBar}/DefaultNavBar.tsx | 10 +- .../components/{ => NavBar}/HomeNavBar.tsx | 14 +- app/src/components/NavBar/ProgressNavBar.tsx | 109 + app/src/components/NavBar/index.ts | 3 + app/src/components/TextsContainer.tsx | 7 +- app/src/components/buttons/AbstractButton.tsx | 3 +- app/src/components/typography/Additional.tsx | 6 + app/src/components/typography/Description.tsx | 5 + .../typography/DescriptionTitle.tsx | 9 + app/src/components/typography/Title.tsx | 29 +- app/src/hooks/useAesopRedesign.ts | 9 + .../_Aesop/PassportOnboardingScreen.tsx | 109 + app/src/utils/colors.ts | 1 + common/yarn.lock | 5878 ++++++++++------- 29 files changed, 4463 insertions(+), 2640 deletions(-) delete mode 100644 app/src/Navigation.tsx create mode 100644 app/src/Navigation/account.ts create mode 100644 app/src/Navigation/aesop.ts create mode 100644 app/src/Navigation/home.ts create mode 100644 app/src/Navigation/index.tsx create mode 100644 app/src/Navigation/passport.ts create mode 100644 app/src/Navigation/prove.ts create mode 100644 app/src/Navigation/recovery.ts create mode 100644 app/src/Navigation/settings.ts create mode 100644 app/src/Navigation/static.tsx rename app/src/components/{NavBar.tsx => NavBar/BaseNavBar.tsx} (98%) rename app/src/components/{ => NavBar}/DefaultNavBar.tsx (85%) rename app/src/components/{ => NavBar}/HomeNavBar.tsx (80%) create mode 100644 app/src/components/NavBar/ProgressNavBar.tsx create mode 100644 app/src/components/NavBar/index.ts create mode 100644 app/src/components/typography/DescriptionTitle.tsx create mode 100644 app/src/hooks/useAesopRedesign.ts create mode 100644 app/src/screens/_Aesop/PassportOnboardingScreen.tsx diff --git a/app/android/build.gradle b/app/android/build.gradle index 0524c12b7..43a71c04a 100644 --- a/app/android/build.gradle +++ b/app/android/build.gradle @@ -30,6 +30,8 @@ buildscript { allprojects { repositories { google() + mavenCentral() + maven { url "https://jitpack.io" } jcenter() } configurations.configureEach { diff --git a/app/android/gradle/wrapper/gradle-wrapper.properties b/app/android/gradle/wrapper/gradle-wrapper.properties index 5188ccab0..87a11cb79 100644 --- a/app/android/gradle/wrapper/gradle-wrapper.properties +++ b/app/android/gradle/wrapper/gradle-wrapper.properties @@ -1,8 +1,8 @@ #Mon Feb 03 16:12:34 CET 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip -networkTimeout=10000 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +networkTimeout=600000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/app/env.sample b/app/env.sample index 745bd4254..7409c0a1a 100644 --- a/app/env.sample +++ b/app/env.sample @@ -1,2 +1,3 @@ SEGMENT_KEY= SENTRY_DSN= +IS_TEST_BUILD= diff --git a/app/src/Navigation.tsx b/app/src/Navigation.tsx deleted file mode 100644 index 57e9b543e..000000000 --- a/app/src/Navigation.tsx +++ /dev/null @@ -1,379 +0,0 @@ -import React from 'react'; -import { StatusBar } from 'react-native'; -import 'react-native-gesture-handler'; -import { GestureHandlerRootView } from 'react-native-gesture-handler'; - -import { - StaticParamList, - createNavigationContainerRef, - createStaticNavigation, -} from '@react-navigation/native'; -import { createNativeStackNavigator } from '@react-navigation/native-stack'; - -import DefaultNavBar from './components/DefaultNavBar'; -import HomeNavBar from './components/HomeNavBar'; -import AppLayout from './layouts/AppLayout'; -import AccountRecoveryChoiceScreen from './screens/AccountFlow/AccountRecoveryChoiceScreen'; -import AccountRecoveryScreen from './screens/AccountFlow/AccountRecoveryScreen'; -import AccountVerifiedSuccessScreen from './screens/AccountFlow/AccountVerifiedSuccessScreen'; -import RecoverWithPhraseScreen from './screens/AccountFlow/RecoverWithPhraseScreen'; -import SaveRecoveryPhraseScreen from './screens/AccountFlow/SaveRecoveryPhraseScreen'; -import DisclaimerScreen from './screens/DisclaimerScreen'; -import HomeScreen from './screens/HomeScreen'; -import LaunchScreen from './screens/LaunchScreen'; -import MockDataScreen from './screens/MockDataScreen'; -import ConfirmBelongingScreen from './screens/Onboarding/ConfirmBelongingScreen'; -import LoadingScreen from './screens/Onboarding/LoadingScreen'; -import PassportCameraScreen from './screens/Onboarding/PassportCameraScreen'; -import PassportCameraTrouble from './screens/Onboarding/PassportCameraTrouble'; -import PassportDataNotFound from './screens/Onboarding/PassportDataNotFound'; -import PassportNFCScanScreen from './screens/Onboarding/PassportNFCScanScreen'; -import PassportNFCTrouble from './screens/Onboarding/PassportNFCTrouble'; -import PassportOnboardingScreen from './screens/Onboarding/PassportOnboardingScreen'; -import UnsupportedPassportScreen from './screens/Onboarding/UnsupportedPassport'; -import ProofRequestStatusScreen from './screens/ProveFlow/ProofRequestStatusScreen'; -import ProveScreen from './screens/ProveFlow/ProveScreen'; -import QRCodeTroubleScreen from './screens/ProveFlow/QRCodeTrouble'; -import QRCodeViewFinderScreen from './screens/ProveFlow/ViewFinder'; -import CloudBackupScreen from './screens/Settings/CloudBackupScreen'; -import DevSettingsScreen from './screens/Settings/DevSettingsScreen'; -import ModalScreen from './screens/Settings/ModalScreen'; -import PassportDataInfoScreen from './screens/Settings/PassportDataInfoScreen'; -import ShowRecoveryPhraseScreen from './screens/Settings/ShowRecoveryPhraseScreen'; -import SettingsScreen from './screens/SettingsScreen'; -import SplashScreen from './screens/SplashScreen'; -import { useApp } from './stores/appProvider'; -import { useProofInfo } from './stores/proofProvider'; -import analytics from './utils/analytics'; -import { black, slate300, white } from './utils/colors'; -import { setupUniversalLinkListenerInNavigation } from './utils/qrCodeNew'; - -const AppNavigation = createNativeStackNavigator({ - initialRouteName: 'Splash', - orientation: 'portrait_up', - screenOptions: { - header: DefaultNavBar, - navigationBarColor: white, - }, - layout: AppLayout, - screens: { - /** - * STATIC SCREENS - */ - Splash: { - screen: SplashScreen, - options: { - header: () => ( - - ), - navigationBarColor: black, - }, - }, - Launch: { - screen: LaunchScreen, - options: { - headerShown: false, - gestureEnabled: false, - }, - }, - Modal: { - screen: ModalScreen, - options: { - headerShown: false, - presentation: 'transparentModal', - animation: 'fade', - }, - }, - /** - * SCAN PASSPORT FLOW - */ - PassportOnboarding: { - screen: PassportOnboardingScreen, - options: { - animation: 'slide_from_bottom', - // presentation: 'modal' wanted to do this but seems to break stuff - headerShown: false, - }, - }, - PassportCameraTrouble: { - screen: PassportCameraTrouble, - options: { - headerShown: false, - animation: 'slide_from_bottom', - presentation: 'modal', - }, - }, - PassportNFCTrouble: { - screen: PassportNFCTrouble, - options: { - headerShown: false, - animation: 'slide_from_bottom', - presentation: 'modal', - }, - }, - PassportCamera: { - screen: PassportCameraScreen, - options: { - headerShown: false, - animation: 'slide_from_bottom', - }, - }, - PassportNFCScan: { - screen: PassportNFCScanScreen, - options: { - headerShown: false, - animation: 'slide_from_bottom', - }, - initialParams: { - passportNumber: '', - dateOfBirth: '', - dateOfExpiry: '', - }, - }, - ConfirmBelongingScreen: { - screen: ConfirmBelongingScreen, - options: { - headerShown: false, - }, - }, - UnsupportedPassport: { - screen: UnsupportedPassportScreen, - options: { - headerShown: false, - }, - }, - LoadingScreen: { - screen: LoadingScreen, - options: { - headerShown: false, - navigationBarColor: black, - }, - }, - CreateMock: { - screen: MockDataScreen, - options: { - title: 'Mock Passport', - }, - }, - /** - * HOME SECTION - */ - Home: { - screen: HomeScreen, - options: { - title: 'Self', - header: HomeNavBar, - navigationBarColor: black, - presentation: 'card', - }, - }, - Disclaimer: { - screen: DisclaimerScreen, - options: { - title: 'Disclaimer', - headerShown: false, - }, - }, - /** - * QR CODE SCANNING + PROVE FLOW - */ - QRCodeViewFinder: { - screen: QRCodeViewFinderScreen, - options: { - headerShown: false, - animation: 'slide_from_bottom', - // presentation: 'modal', - }, - }, - QRCodeTrouble: { - screen: QRCodeTroubleScreen, - options: { - headerShown: false, - animation: 'slide_from_bottom', - presentation: 'modal', - }, - }, - PassportDataNotFound: { - screen: PassportDataNotFound, - options: { - headerShown: false, - gestureEnabled: false, - animation: 'slide_from_bottom', - // presentation: 'modal', - }, - }, - ProveScreen: { - screen: ProveScreen, - options: { - title: 'Request Proof', - headerStyle: { - backgroundColor: black, - }, - headerTitleStyle: { - color: white, - }, - }, - }, - ProofRequestStatusScreen: { - screen: ProofRequestStatusScreen, - options: { - headerShown: false, - animation: 'slide_from_bottom', - }, - }, - /** - * CREATE OR RECOVER ACCOUNT - */ - AccountRecovery: { - screen: AccountRecoveryScreen, - options: { - headerShown: false, - }, - }, - AccountRecoveryChoice: { - screen: AccountRecoveryChoiceScreen, - options: { - headerShown: false, - }, - }, - SaveRecoveryPhrase: { - screen: SaveRecoveryPhraseScreen, - options: { - headerShown: false, - animation: 'slide_from_bottom', - }, - }, - RecoverWithPhrase: { - screen: RecoverWithPhraseScreen, - options: { - headerTintColor: black, - title: 'Enter Recovery Phrase', - headerStyle: { - backgroundColor: black, - }, - headerTitleStyle: { - color: slate300, - }, - headerBackTitle: 'close', - }, - }, - AccountVerifiedSuccess: { - screen: AccountVerifiedSuccessScreen, - options: { - headerShown: false, - animation: 'slide_from_bottom', - }, - }, - /** - * SETTINGS - */ - Settings: { - screen: SettingsScreen, - options: { - animation: 'slide_from_bottom', - title: 'Settings', - headerStyle: { - backgroundColor: white, - }, - headerTitleStyle: { - color: black, - }, - navigationBarColor: black, - }, - config: { - screens: {}, - }, - }, - ShowRecoveryPhrase: { - screen: ShowRecoveryPhraseScreen, - options: { - title: 'Recovery Phrase', - headerStyle: { - backgroundColor: white, - }, - }, - }, - PassportDataInfo: { - screen: PassportDataInfoScreen, - options: { - title: 'Passport Data Info', - headerStyle: { - backgroundColor: white, - }, - }, - }, - DevSettings: { - screen: DevSettingsScreen, - options: { - title: 'Developer Settings', - headerStyle: { - backgroundColor: white, - }, - }, - }, - CloudBackupSettings: { - screen: CloudBackupScreen, - options: { - title: 'Cloud backup', - headerStyle: { - backgroundColor: black, - }, - headerTitleStyle: { - color: slate300, - }, - }, - }, - }, -}); - -export type RootStackParamList = StaticParamList; - -declare global { - namespace ReactNavigation { - interface RootParamList extends RootStackParamList {} - } -} - -// Create a ref that we can use to access the navigation state -export const navigationRef = createNavigationContainerRef(); - -const { trackScreenView } = analytics(); - -const Navigation = createStaticNavigation(AppNavigation); -const NavigationWithTracking = () => { - const trackScreen = () => { - const currentRoute = navigationRef.getCurrentRoute(); - if (currentRoute) { - console.log(`Screen View: ${currentRoute.name}`); - trackScreenView(`${currentRoute.name}`, { - screenName: currentRoute.name, - }); - } - }; - - // Add these hooks to get access to the necessary functions - const { setSelectedApp, cleanSelfApp } = useProofInfo(); - const { startAppListener } = useApp(); - - // Setup universal link handling at the navigation level - React.useEffect(() => { - const cleanup = setupUniversalLinkListenerInNavigation( - navigationRef, - setSelectedApp, - cleanSelfApp, - startAppListener, - ); - - return () => { - cleanup(); - }; - }, [setSelectedApp, cleanSelfApp, startAppListener]); - - return ( - - - - ); -}; - -export default NavigationWithTracking; diff --git a/app/src/Navigation/account.ts b/app/src/Navigation/account.ts new file mode 100644 index 000000000..8b2b78fab --- /dev/null +++ b/app/src/Navigation/account.ts @@ -0,0 +1,27 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import { HomeNavBar } from '../components/NavBar'; +import DisclaimerScreen from '../screens/DisclaimerScreen'; +import HomeScreen from '../screens/HomeScreen'; +import { black } from '../utils/colors'; + +const accountScreens = { + Home: { + screen: HomeScreen, + options: { + title: 'Self', + header: HomeNavBar, + navigationBarColor: black, + presentation: 'card', + } as NativeStackNavigationOptions, + }, + Disclaimer: { + screen: DisclaimerScreen, + options: { + title: 'Disclaimer', + headerShown: false, + } as NativeStackNavigationOptions, + }, +}; + +export default accountScreens; diff --git a/app/src/Navigation/aesop.ts b/app/src/Navigation/aesop.ts new file mode 100644 index 000000000..55a01050a --- /dev/null +++ b/app/src/Navigation/aesop.ts @@ -0,0 +1,67 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import { ProgressNavBar } from '../components/NavBar'; +import { shouldShowAesopRedesign } from '../hooks/useAesopRedesign'; +import PassportOnboardingScreen from '../screens/_Aesop/PassportOnboardingScreen'; +import { white } from '../utils/colors'; + +const aesopScreens = { + PassportOnboarding: { + screen: PassportOnboardingScreen, + options: { + animation: 'slide_from_bottom', + header: ProgressNavBar, + title: 'Scan your passport', + headerStyle: { + backgroundColor: white, + }, + headerCurrentStep: 1, + headerTotalSteps: 4, + } as NativeStackNavigationOptions, + }, + + // stub the rest of the steps. will update in future pr + PassportCamera: { + screen: PassportOnboardingScreen, + options: { + animation: 'slide_from_bottom', + header: ProgressNavBar, + title: 'Take a photo', + headerStyle: { + backgroundColor: white, + }, + headerCurrentStep: 2, + headerTotalSteps: 4, + } as NativeStackNavigationOptions, + }, + + PassportNFC: { + screen: PassportOnboardingScreen, + options: { + animation: 'slide_from_bottom', + header: ProgressNavBar, + title: 'Scan NFC', + headerStyle: { + backgroundColor: white, + }, + headerCurrentStep: 3, + headerTotalSteps: 4, + } as NativeStackNavigationOptions, + }, + + PassportComplete: { + screen: PassportOnboardingScreen, + options: { + animation: 'slide_from_bottom', + header: ProgressNavBar, + title: 'Complete', + headerStyle: { + backgroundColor: white, + }, + headerCurrentStep: 4, + headerTotalSteps: 4, + } as NativeStackNavigationOptions, + }, +}; + +export default shouldShowAesopRedesign() ? aesopScreens : {}; diff --git a/app/src/Navigation/home.ts b/app/src/Navigation/home.ts new file mode 100644 index 000000000..7795a0d88 --- /dev/null +++ b/app/src/Navigation/home.ts @@ -0,0 +1,27 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import HomeNavBar from '../components/NavBar/HomeNavBar'; +import DisclaimerScreen from '../screens/DisclaimerScreen'; +import HomeScreen from '../screens/HomeScreen'; +import { black } from '../utils/colors'; + +const homeScreens = { + Home: { + screen: HomeScreen, + options: { + title: 'Self', + header: HomeNavBar, + navigationBarColor: black, + presentation: 'card', + } as NativeStackNavigationOptions, + }, + Disclaimer: { + screen: DisclaimerScreen, + options: { + title: 'Disclaimer', + headerShown: false, + } as NativeStackNavigationOptions, + }, +}; + +export default homeScreens; diff --git a/app/src/Navigation/index.tsx b/app/src/Navigation/index.tsx new file mode 100644 index 000000000..386b69d33 --- /dev/null +++ b/app/src/Navigation/index.tsx @@ -0,0 +1,96 @@ +import React from 'react'; +import 'react-native-gesture-handler'; +import { GestureHandlerRootView } from 'react-native-gesture-handler'; + +import { + StaticParamList, + createNavigationContainerRef, + createStaticNavigation, +} from '@react-navigation/native'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; + +import { DefaultNavBar } from '../components/NavBar'; +import AppLayout from '../layouts/AppLayout'; +import { useApp } from '../stores/appProvider'; +import { useProofInfo } from '../stores/proofProvider'; +import analytics from '../utils/analytics'; +import { white } from '../utils/colors'; +import { setupUniversalLinkListenerInNavigation } from '../utils/qrCodeNew'; +import accountScreens from './account'; +import aesopScreens from './aesop'; +import homeScreens from './home'; +import passportScreens from './passport'; +import proveScreens from './prove'; +import settingsScreens from './settings'; +import staticScreens from './static'; + +const AppNavigation = createNativeStackNavigator({ + initialRouteName: 'Splash', + orientation: 'portrait_up', + screenOptions: { + header: DefaultNavBar, + navigationBarColor: white, + }, + layout: AppLayout, + screens: { + ...staticScreens, + ...passportScreens, + ...homeScreens, + ...proveScreens, + ...accountScreens, + ...settingsScreens, + ...aesopScreens, + }, +}); + +export type RootStackParamList = StaticParamList; + +declare global { + namespace ReactNavigation { + interface RootParamList extends RootStackParamList {} + } +} + +// Create a ref that we can use to access the navigation state +export const navigationRef = createNavigationContainerRef(); + +const { trackScreenView } = analytics(); + +const Navigation = createStaticNavigation(AppNavigation); +const NavigationWithTracking = () => { + const trackScreen = () => { + const currentRoute = navigationRef.getCurrentRoute(); + if (currentRoute) { + console.log(`Screen View: ${currentRoute.name}`); + trackScreenView(`${currentRoute.name}`, { + screenName: currentRoute.name, + }); + } + }; + + // Add these hooks to get access to the necessary functions + const { setSelectedApp, cleanSelfApp } = useProofInfo(); + const { startAppListener } = useApp(); + + // Setup universal link handling at the navigation level + React.useEffect(() => { + const cleanup = setupUniversalLinkListenerInNavigation( + navigationRef, + setSelectedApp, + cleanSelfApp, + startAppListener, + ); + + return () => { + cleanup(); + }; + }, [setSelectedApp, cleanSelfApp, startAppListener]); + + return ( + + + + ); +}; + +export default NavigationWithTracking; diff --git a/app/src/Navigation/passport.ts b/app/src/Navigation/passport.ts new file mode 100644 index 000000000..b3aa34d1e --- /dev/null +++ b/app/src/Navigation/passport.ts @@ -0,0 +1,85 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import MockDataScreen from '../screens/MockDataScreen'; +import ConfirmBelongingScreen from '../screens/Onboarding/ConfirmBelongingScreen'; +import LoadingScreen from '../screens/Onboarding/LoadingScreen'; +import PassportCameraScreen from '../screens/Onboarding/PassportCameraScreen'; +import PassportCameraTrouble from '../screens/Onboarding/PassportCameraTrouble'; +import PassportNFCScanScreen from '../screens/Onboarding/PassportNFCScanScreen'; +import PassportNFCTrouble from '../screens/Onboarding/PassportNFCTrouble'; +import PassportOnboardingScreen from '../screens/Onboarding/PassportOnboardingScreen'; +import UnsupportedPassportScreen from '../screens/Onboarding/UnsupportedPassport'; +import { black } from '../utils/colors'; + +const passportScreens = { + PassportOnboarding: { + screen: PassportOnboardingScreen, + options: { + animation: 'slide_from_bottom', + // presentation: 'modal' wanted to do this but seems to break stuff + headerShown: false, + } as NativeStackNavigationOptions, + }, + PassportCameraTrouble: { + screen: PassportCameraTrouble, + options: { + headerShown: false, + animation: 'slide_from_bottom', + presentation: 'modal', + } as NativeStackNavigationOptions, + }, + PassportNFCTrouble: { + screen: PassportNFCTrouble, + options: { + headerShown: false, + animation: 'slide_from_bottom', + presentation: 'modal', + } as NativeStackNavigationOptions, + }, + PassportCamera: { + screen: PassportCameraScreen, + options: { + headerShown: false, + animation: 'slide_from_bottom', + } as NativeStackNavigationOptions, + }, + PassportNFCScan: { + screen: PassportNFCScanScreen, + options: { + headerShown: false, + animation: 'slide_from_bottom', + } as NativeStackNavigationOptions, + initialParams: { + passportNumber: '', + dateOfBirth: '', + dateOfExpiry: '', + }, + }, + ConfirmBelongingScreen: { + screen: ConfirmBelongingScreen, + options: { + headerShown: false, + } as NativeStackNavigationOptions, + }, + UnsupportedPassport: { + screen: UnsupportedPassportScreen, + options: { + headerShown: false, + } as NativeStackNavigationOptions, + }, + LoadingScreen: { + screen: LoadingScreen, + options: { + headerShown: false, + navigationBarColor: black, + } as NativeStackNavigationOptions, + }, + CreateMock: { + screen: MockDataScreen, + options: { + title: 'Mock Passport', + } as NativeStackNavigationOptions, + }, +}; + +export default passportScreens; diff --git a/app/src/Navigation/prove.ts b/app/src/Navigation/prove.ts new file mode 100644 index 000000000..e577a0c90 --- /dev/null +++ b/app/src/Navigation/prove.ts @@ -0,0 +1,57 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import PassportDataNotFound from '../screens/Onboarding/PassportDataNotFound'; +import ProofRequestStatusScreen from '../screens/ProveFlow/ProofRequestStatusScreen'; +import ProveScreen from '../screens/ProveFlow/ProveScreen'; +import QRCodeTroubleScreen from '../screens/ProveFlow/QRCodeTrouble'; +import QRCodeViewFinderScreen from '../screens/ProveFlow/ViewFinder'; +import { black, white } from '../utils/colors'; + +const proveScreens = { + QRCodeViewFinder: { + screen: QRCodeViewFinderScreen, + options: { + headerShown: false, + animation: 'slide_from_bottom', + // presentation: 'modal', + } as NativeStackNavigationOptions, + }, + QRCodeTrouble: { + screen: QRCodeTroubleScreen, + options: { + headerShown: false, + animation: 'slide_from_bottom', + presentation: 'modal', + } as NativeStackNavigationOptions, + }, + PassportDataNotFound: { + screen: PassportDataNotFound, + options: { + headerShown: false, + gestureEnabled: false, + animation: 'slide_from_bottom', + // presentation: 'modal', + } as NativeStackNavigationOptions, + }, + ProveScreen: { + screen: ProveScreen, + options: { + title: 'Request Proof', + headerStyle: { + backgroundColor: black, + }, + headerTitleStyle: { + color: white, + }, + } as NativeStackNavigationOptions, + }, + ProofRequestStatusScreen: { + screen: ProofRequestStatusScreen, + options: { + headerShown: false, + animation: 'slide_from_bottom', + } as NativeStackNavigationOptions, + }, +}; + +export default proveScreens; diff --git a/app/src/Navigation/recovery.ts b/app/src/Navigation/recovery.ts new file mode 100644 index 000000000..d7caf1f82 --- /dev/null +++ b/app/src/Navigation/recovery.ts @@ -0,0 +1,53 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import AccountRecoveryChoiceScreen from '../screens/AccountFlow/AccountRecoveryChoiceScreen'; +import AccountRecoveryScreen from '../screens/AccountFlow/AccountRecoveryScreen'; +import AccountVerifiedSuccessScreen from '../screens/AccountFlow/AccountVerifiedSuccessScreen'; +import RecoverWithPhraseScreen from '../screens/AccountFlow/RecoverWithPhraseScreen'; +import SaveRecoveryPhraseScreen from '../screens/AccountFlow/SaveRecoveryPhraseScreen'; +import { black, slate300 } from '../utils/colors'; + +const recoveryScreens = { + AccountRecovery: { + screen: AccountRecoveryScreen, + options: { + headerShown: false, + } as NativeStackNavigationOptions, + }, + AccountRecoveryChoice: { + screen: AccountRecoveryChoiceScreen, + options: { + headerShown: false, + } as NativeStackNavigationOptions, + }, + SaveRecoveryPhrase: { + screen: SaveRecoveryPhraseScreen, + options: { + headerShown: false, + animation: 'slide_from_bottom', + } as NativeStackNavigationOptions, + }, + RecoverWithPhrase: { + screen: RecoverWithPhraseScreen, + options: { + headerTintColor: black, + title: 'Enter Recovery Phrase', + headerStyle: { + backgroundColor: black, + }, + headerTitleStyle: { + color: slate300, + }, + headerBackTitle: 'close', + } as NativeStackNavigationOptions, + }, + AccountVerifiedSuccess: { + screen: AccountVerifiedSuccessScreen, + options: { + headerShown: false, + animation: 'slide_from_bottom', + } as NativeStackNavigationOptions, + }, +}; + +export default recoveryScreens; diff --git a/app/src/Navigation/settings.ts b/app/src/Navigation/settings.ts new file mode 100644 index 000000000..065e3ceaf --- /dev/null +++ b/app/src/Navigation/settings.ts @@ -0,0 +1,69 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import CloudBackupScreen from '../screens/Settings/CloudBackupScreen'; +import DevSettingsScreen from '../screens/Settings/DevSettingsScreen'; +import PassportDataInfoScreen from '../screens/Settings/PassportDataInfoScreen'; +import ShowRecoveryPhraseScreen from '../screens/Settings/ShowRecoveryPhraseScreen'; +import SettingsScreen from '../screens/SettingsScreen'; +import { black, slate300, white } from '../utils/colors'; + +const settingsScreens = { + Settings: { + screen: SettingsScreen, + options: { + animation: 'slide_from_bottom', + title: 'Settings', + headerStyle: { + backgroundColor: white, + }, + headerTitleStyle: { + color: black, + }, + navigationBarColor: black, + } as NativeStackNavigationOptions, + config: { + screens: {}, + }, + }, + ShowRecoveryPhrase: { + screen: ShowRecoveryPhraseScreen, + options: { + title: 'Recovery Phrase', + headerStyle: { + backgroundColor: white, + }, + } as NativeStackNavigationOptions, + }, + PassportDataInfo: { + screen: PassportDataInfoScreen, + options: { + title: 'Passport Data Info', + headerStyle: { + backgroundColor: white, + }, + } as NativeStackNavigationOptions, + }, + DevSettings: { + screen: DevSettingsScreen, + options: { + title: 'Developer Settings', + headerStyle: { + backgroundColor: white, + }, + } as NativeStackNavigationOptions, + }, + CloudBackupSettings: { + screen: CloudBackupScreen, + options: { + title: 'Cloud backup', + headerStyle: { + backgroundColor: black, + }, + headerTitleStyle: { + color: slate300, + }, + } as NativeStackNavigationOptions, + }, +}; + +export default settingsScreens; diff --git a/app/src/Navigation/static.tsx b/app/src/Navigation/static.tsx new file mode 100644 index 000000000..30c921907 --- /dev/null +++ b/app/src/Navigation/static.tsx @@ -0,0 +1,38 @@ +import React from 'react'; +import { StatusBar } from 'react-native'; + +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import LaunchScreen from '../screens/LaunchScreen'; +import ModalScreen from '../screens/Settings/ModalScreen'; +import SplashScreen from '../screens/SplashScreen'; +import { black } from '../utils/colors'; + +const staticScreens = { + Splash: { + screen: SplashScreen, + options: { + header: () => ( + + ), + navigationBarColor: black, + }, + }, + Launch: { + screen: LaunchScreen, + options: { + headerShown: false, + gestureEnabled: false, + }, + }, + Modal: { + screen: ModalScreen, + options: { + headerShown: false, + presentation: 'transparentModal', + animation: 'fade', + } as NativeStackNavigationOptions, + }, +}; + +export default staticScreens; diff --git a/app/src/components/ButtonsContainer.tsx b/app/src/components/ButtonsContainer.tsx index 933e9e62f..1b143bf4d 100644 --- a/app/src/components/ButtonsContainer.tsx +++ b/app/src/components/ButtonsContainer.tsx @@ -1,6 +1,8 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; +import { shouldShowAesopRedesign } from '../hooks/useAesopRedesign'; + interface ButtonsContainerProps { children: React.ReactNode; } @@ -14,7 +16,7 @@ export default ButtonsContainer; const styles = StyleSheet.create({ buttonsContainer: { display: 'flex', - flexDirection: 'column', + flexDirection: shouldShowAesopRedesign() ? 'row' : 'column', justifyContent: 'center', alignItems: 'center', gap: 10, diff --git a/app/src/components/NavBar.tsx b/app/src/components/NavBar/BaseNavBar.tsx similarity index 98% rename from app/src/components/NavBar.tsx rename to app/src/components/NavBar/BaseNavBar.tsx index f84ff78be..bb1505843 100644 --- a/app/src/components/NavBar.tsx +++ b/app/src/components/NavBar/BaseNavBar.tsx @@ -11,7 +11,7 @@ import { XStackProps, } from 'tamagui'; -import { Title } from './typography/Title'; +import { Title } from '../typography/Title'; interface NavBarProps extends XStackProps { children: React.ReactNode; diff --git a/app/src/components/DefaultNavBar.tsx b/app/src/components/NavBar/DefaultNavBar.tsx similarity index 85% rename from app/src/components/DefaultNavBar.tsx rename to app/src/components/NavBar/DefaultNavBar.tsx index 3396b6e83..fd18c2ca6 100644 --- a/app/src/components/DefaultNavBar.tsx +++ b/app/src/components/NavBar/DefaultNavBar.tsx @@ -4,11 +4,11 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { NativeStackHeaderProps } from '@react-navigation/native-stack'; import { TextStyle, ViewStyle } from 'tamagui'; -import { white } from '../utils/colors'; -import { buttonTap } from '../utils/haptic'; -import { NavBar } from './NavBar'; +import { white } from '../../utils/colors'; +import { buttonTap } from '../../utils/haptic'; +import { NavBar } from './BaseNavBar'; -const DefaultNavBar = (props: NativeStackHeaderProps) => { +export const DefaultNavBar = (props: NativeStackHeaderProps) => { const { goBack, canGoBack } = props.navigation; const { options } = props; const headerStyle = (options.headerStyle || {}) as ViewStyle; @@ -43,5 +43,3 @@ const DefaultNavBar = (props: NativeStackHeaderProps) => { ); }; - -export default DefaultNavBar; diff --git a/app/src/components/HomeNavBar.tsx b/app/src/components/NavBar/HomeNavBar.tsx similarity index 80% rename from app/src/components/HomeNavBar.tsx rename to app/src/components/NavBar/HomeNavBar.tsx index 0168f4d64..e94865778 100644 --- a/app/src/components/HomeNavBar.tsx +++ b/app/src/components/NavBar/HomeNavBar.tsx @@ -4,13 +4,13 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { NativeStackHeaderProps } from '@react-navigation/native-stack'; import { Button } from 'tamagui'; -import ActivityIcon from '../images/icons/activity.svg'; -import SettingsIcon from '../images/icons/settings.svg'; -import { black, neutral400, white } from '../utils/colors'; -import { buttonTap } from '../utils/haptic'; -import { NavBar } from './NavBar'; +import ActivityIcon from '../../images/icons/activity.svg'; +import SettingsIcon from '../../images/icons/settings.svg'; +import { black, neutral400, white } from '../../utils/colors'; +import { buttonTap } from '../../utils/haptic'; +import { NavBar } from './BaseNavBar'; -const HomeNavBar = (props: NativeStackHeaderProps) => { +export const HomeNavBar = (props: NativeStackHeaderProps) => { const insets = useSafeAreaInsets(); return ( { ); }; - -export default HomeNavBar; diff --git a/app/src/components/NavBar/ProgressNavBar.tsx b/app/src/components/NavBar/ProgressNavBar.tsx new file mode 100644 index 000000000..b47272d94 --- /dev/null +++ b/app/src/components/NavBar/ProgressNavBar.tsx @@ -0,0 +1,109 @@ +import React from 'react'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; + +import { + NativeStackHeaderProps, + NativeStackNavigationOptions, +} from '@react-navigation/native-stack'; +import { TextStyle, ViewStyle, XStack, YStack } from 'tamagui'; + +import { cyan300, slate200, white } from '../../utils/colors'; +import { buttonTap } from '../../utils/haptic'; +import { NavBar } from './BaseNavBar'; + +interface ProgressNavBarProps extends NativeStackHeaderProps { + currentStep?: number; + totalSteps?: number; +} + +interface ProgressNavigationOptions extends NativeStackNavigationOptions { + headerCurrentStep?: number; + headerTotalSteps?: number; +} + +export const ProgressNavBar = (props: NativeStackHeaderProps) => { + const { goBack, canGoBack } = props.navigation; + const { options } = props; + const headerStyle = (options.headerStyle || {}) as ViewStyle; + const insets = useSafeAreaInsets(); + + const progressOptions = options as ProgressNavigationOptions; + + const currentStep = + progressOptions.headerCurrentStep || + (props as ProgressNavBarProps).currentStep || + 1; + + const totalSteps = + progressOptions.headerTotalSteps || + (props as ProgressNavBarProps).totalSteps || + 1; + + const segments = Array.from({ length: totalSteps }, (_, index) => index + 1); + + return ( + + + + + { + buttonTap(); + goBack(); + }} + {...(options.headerTitleStyle as ViewStyle)} + /> + + + + + {props.options.title} + + + + + + + + + + {segments.map((step, index) => ( + + ))} + + + + ); +}; diff --git a/app/src/components/NavBar/index.ts b/app/src/components/NavBar/index.ts new file mode 100644 index 000000000..548ea52ac --- /dev/null +++ b/app/src/components/NavBar/index.ts @@ -0,0 +1,3 @@ +export { DefaultNavBar } from './DefaultNavBar'; +export { HomeNavBar } from './HomeNavBar'; +export { ProgressNavBar } from './ProgressNavBar'; diff --git a/app/src/components/TextsContainer.tsx b/app/src/components/TextsContainer.tsx index a0644c98e..af33a937a 100644 --- a/app/src/components/TextsContainer.tsx +++ b/app/src/components/TextsContainer.tsx @@ -1,12 +1,13 @@ import React from 'react'; -import { StyleSheet, View } from 'react-native'; +import { StyleSheet, View, ViewStyle } from 'react-native'; interface TextsContainerProps { children: React.ReactNode; + style?: ViewStyle; } -const TextsContainer = ({ children }: TextsContainerProps) => { - return {children}; +const TextsContainer = ({ children, style }: TextsContainerProps) => { + return {children}; }; export default TextsContainer; diff --git a/app/src/components/buttons/AbstractButton.tsx b/app/src/components/buttons/AbstractButton.tsx index da0342035..776c7df8d 100644 --- a/app/src/components/buttons/AbstractButton.tsx +++ b/app/src/components/buttons/AbstractButton.tsx @@ -3,6 +3,7 @@ import { StyleSheet, ViewStyle } from 'react-native'; import { Button, Text, ViewProps } from 'tamagui'; +import { shouldShowAesopRedesign } from '../../hooks/useAesopRedesign'; import { dinot } from '../../utils/fonts'; import { pressedStyle } from './pressedStyle'; @@ -58,7 +59,7 @@ const styles = StyleSheet.create({ flexDirection: 'row', flexGrow: 0, flexShrink: 0, - width: '100%', + width: shouldShowAesopRedesign() ? '48%' : '100%', display: 'flex', alignItems: 'center', rowGap: 12, diff --git a/app/src/components/typography/Additional.tsx b/app/src/components/typography/Additional.tsx index 11a0d2616..dd83dd3b6 100644 --- a/app/src/components/typography/Additional.tsx +++ b/app/src/components/typography/Additional.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { StyleSheet, Text, TextProps } from 'react-native'; +import { shouldShowAesopRedesign } from '../../hooks/useAesopRedesign'; import { slate400 } from '../../utils/colors'; import { dinot } from '../../utils/fonts'; @@ -24,5 +25,10 @@ const styles = StyleSheet.create({ color: slate400, marginTop: 10, fontFamily: dinot, + textTransform: 'none', + ...(shouldShowAesopRedesign() && { + fontSize: 11.5, + textTransform: 'uppercase', + }), }, }); diff --git a/app/src/components/typography/Description.tsx b/app/src/components/typography/Description.tsx index f769c8041..39688e955 100644 --- a/app/src/components/typography/Description.tsx +++ b/app/src/components/typography/Description.tsx @@ -3,6 +3,7 @@ import { StyleSheet } from 'react-native'; import { Text, TextProps } from 'tamagui'; +import { shouldShowAesopRedesign } from '../../hooks/useAesopRedesign'; import { slate500 } from '../../utils/colors'; import { dinot } from '../../utils/fonts'; @@ -29,5 +30,9 @@ const styles = StyleSheet.create({ lineHeight: 23, textAlign: 'center', fontFamily: dinot, + ...(shouldShowAesopRedesign() && { + textAlign: 'left', + fontSize: 16, + }), }, }); diff --git a/app/src/components/typography/DescriptionTitle.tsx b/app/src/components/typography/DescriptionTitle.tsx new file mode 100644 index 000000000..f6a187dec --- /dev/null +++ b/app/src/components/typography/DescriptionTitle.tsx @@ -0,0 +1,9 @@ +import { Text, styled } from 'tamagui'; + +import { dinot } from '../../utils/fonts'; + +export const DescriptionTitle = styled(Text, { + fontSize: 18, + lineHeight: 35, + fontFamily: dinot, +}); diff --git a/app/src/components/typography/Title.tsx b/app/src/components/typography/Title.tsx index 1e60d65d5..9af695446 100644 --- a/app/src/components/typography/Title.tsx +++ b/app/src/components/typography/Title.tsx @@ -1,17 +1,26 @@ +import { StyleProp, TextStyle } from 'react-native'; + import { Text, styled } from 'tamagui'; import { advercase } from '../../utils/fonts'; -export const Title = styled(Text, { - fontSize: 28, - lineHeight: 35, - fontFamily: advercase, - variants: { - size: { - large: { - fontSize: 38, - lineHeight: 47, +export const Title = styled( + Text, + { + fontSize: 28, + lineHeight: 35, + fontFamily: advercase, + variants: { + size: { + large: { + fontSize: 38, + lineHeight: 47, + }, }, }, }, -}); + { + acceptsClassName: true, + style: (props: { style?: StyleProp }) => props.style, + }, +); diff --git a/app/src/hooks/useAesopRedesign.ts b/app/src/hooks/useAesopRedesign.ts new file mode 100644 index 000000000..7977981d2 --- /dev/null +++ b/app/src/hooks/useAesopRedesign.ts @@ -0,0 +1,9 @@ +import { IS_TEST_BUILD } from '@env'; + +export const shouldShowAesopRedesign = (): boolean => { + return IS_TEST_BUILD === 'true'; +}; + +export const useAesopRedesign = (): boolean => { + return shouldShowAesopRedesign(); +}; diff --git a/app/src/screens/_Aesop/PassportOnboardingScreen.tsx b/app/src/screens/_Aesop/PassportOnboardingScreen.tsx new file mode 100644 index 000000000..2da233c1e --- /dev/null +++ b/app/src/screens/_Aesop/PassportOnboardingScreen.tsx @@ -0,0 +1,109 @@ +import React, { useEffect, useRef } from 'react'; +import { StatusBar, StyleSheet, View } from 'react-native'; + +import LottieView from 'lottie-react-native'; + +import passportOnboardingAnimation from '../../assets/animations/passport_onboarding.json'; +import ButtonsContainer from '../../components/ButtonsContainer'; +import TextsContainer from '../../components/TextsContainer'; +import { PrimaryButton } from '../../components/buttons/PrimaryButton'; +import { SecondaryButton } from '../../components/buttons/SecondaryButton'; +import Additional from '../../components/typography/Additional'; +import Description from '../../components/typography/Description'; +import { DescriptionTitle } from '../../components/typography/DescriptionTitle'; +import useHapticNavigation from '../../hooks/useHapticNavigation'; +import Scan from '../../images/icons/passport_camera_scan.svg'; +import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; +import { black, slate100, white } from '../../utils/colors'; + +interface PassportOnboardingScreenProps {} + +const PassportOnboardingScreen: React.FC< + PassportOnboardingScreenProps +> = ({}) => { + const handleCameraPress = useHapticNavigation('PassportCamera'); + const onCancelPress = useHapticNavigation('Launch', { action: 'cancel' }); + const animationRef = useRef(null); + + useEffect(() => { + animationRef.current?.play(); + }, []); + + return ( + + + + { + setTimeout(() => { + animationRef.current?.play(); + }, 5000); // Pause 5 seconds before playing again + }} + source={passportOnboardingAnimation} + style={styles.animation} + cacheComposition={true} + renderMode="HARDWARE" + /> + + + + + + + Open to the photograph page + + Lay the Passport flat and position the machine readable text in + the viewfinder. + + + + + + + Self will not capture an image of your passport. + + + + Open Camera + Cancel + + + + ); +}; + +export default PassportOnboardingScreen; + +const styles = StyleSheet.create({ + animation: { + backgroundColor: slate100, + width: '115%', + height: '115%', + }, + textIconWrapper: { + width: '100%', + flexDirection: 'row', + alignItems: 'center', + gap: 20, + }, + scanIcon: { + marginRight: 10, + }, + textContainer: { + marginBottom: 10, + }, + bottomSection: { + paddingBottom: 32, + }, +}); diff --git a/app/src/utils/colors.ts b/app/src/utils/colors.ts index 9962e94ad..7af56fe03 100644 --- a/app/src/utils/colors.ts +++ b/app/src/utils/colors.ts @@ -15,6 +15,7 @@ export const slate800 = '#1E293B'; export const sky500 = '#0EA5E9'; export const green500 = '#22C55E'; export const red500 = '#EF4444'; +export const cyan300 = '#67E8F9'; export const teal300 = '#5EEAD4'; export const teal500 = '#5EEAD4'; export const neutral400 = '#A3A3A3'; diff --git a/common/yarn.lock b/common/yarn.lock index a8003639d..55d1964f7 100644 --- a/common/yarn.lock +++ b/common/yarn.lock @@ -1,2231 +1,3651 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/runtime@^7.23.4": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.0.tgz#fbee7cf97c709518ecc1f590984481d5460d4762" - integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== - dependencies: - regenerator-runtime "^0.14.0" - -"@iden3/bigarray@0.0.2": - version "0.0.2" - resolved "https://registry.yarnpkg.com/@iden3/bigarray/-/bigarray-0.0.2.tgz#6fc4ba5be18daf8a26ee393f2fb62b80d98c05e9" - integrity sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g== - -"@iden3/binfileutils@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@iden3/binfileutils/-/binfileutils-0.0.12.tgz#3772552f57551814ff606fa68ea1e0ef52795ce3" - integrity sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ== - dependencies: - fastfile "0.0.20" - ffjavascript "^0.3.0" - -"@noble/hashes@^1.4.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" - integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== - -"@openpassport/zk-kit-imt@^0.0.5": - version "0.0.5" - resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-imt/-/zk-kit-imt-0.0.5.tgz#3f80a21373c2c234ab9d49a6dc64afd43a6ee660" - integrity sha512-edri5tUh7SFSOxZCzNGz+2ZqAG6mqOT4EMOw4gh66sBiWU6E6twKrOztx7h2J4HmZjz3hA/LDyL/F4QTUAB2Qg== - dependencies: - "@openpassport/zk-kit-utils" "0.0.1" - -"@openpassport/zk-kit-lean-imt@^0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-lean-imt/-/zk-kit-lean-imt-0.0.6.tgz#b788ffb99d23d10c63ec145fc7d08359900e673e" - integrity sha512-KUQ4b5ILubO79vscrOnSnOCyr1AJ3dSKQOJ1PBklIRyFG9CeRTUspnVblSFqrolf8F3dvXX9QDbrkJxK38Gsyg== - dependencies: - "@openpassport/zk-kit-utils" "0.0.1" - -"@openpassport/zk-kit-smt@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-smt/-/zk-kit-smt-0.0.1.tgz#d447ed24e7b57146d5dee8d7458ac3886346b4d2" - integrity sha512-P7Hkd5fD8JxGbqJ48lUq6gGKmZTaVzCB5I8FsOSUmljqf7VMeZmbyqo2ZmXt/lk6ltPXrmcrQ+QNhHXKZNcWhg== - -"@openpassport/zk-kit-utils@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-utils/-/zk-kit-utils-0.0.1.tgz#b0ad083c411bc7bcc1051516a76ada528a283a3a" - integrity sha512-T7jZ3vn+iCAPnvMS+NLg3Yj4ixF2xXG/geFkyNi48beEFd1hD/2Yca05QP+g2iaJAsIRvllwtni5SuLXGwv5Xw== - dependencies: - buffer "^6.0.3" - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/node-forge@^1.3.10": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "22.14.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.1.tgz#53b54585cec81c21eee3697521e31312d6ca1e6f" - integrity sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw== - dependencies: - undici-types "~6.21.0" - -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" - integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== - dependencies: - call-bound "^1.0.3" - is-array-buffer "^3.0.5" - -array-includes@^3.0.2: - version "3.1.8" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" - integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - is-string "^1.0.7" - -array.prototype.reduce@^1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz#42f97f5078daedca687d4463fd3c05cbfd83da57" - integrity sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-abstract "^1.23.9" - es-array-method-boxes-properly "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - is-string "^1.1.1" - -arraybuffer.prototype.slice@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" - integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - is-array-buffer "^3.0.4" - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - -asn1.js@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1js@^3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.6.tgz#53e002ebe00c5f7fd77c1c047c3557d7c04dce25" - integrity sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA== - dependencies: - pvtsutils "^1.3.6" - pvutils "^1.1.3" - tslib "^2.8.1" - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -async-function@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" - integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== - -async@^3.2.3: - version "3.2.6" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" - integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -axios@^1.7.2: - version "1.8.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447" - integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -b4a@^1.0.1: - version "1.6.7" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" - integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bfj@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" - integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== - dependencies: - bluebird "^3.7.2" - check-types "^11.2.3" - hoopy "^0.1.4" - jsonpath "^1.1.1" - tryer "^1.0.1" - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -blake2b-wasm@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" - integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== - dependencies: - b4a "^1.0.1" - nanoassert "^2.0.0" - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.11.9: - version "4.12.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" - integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browser-stdout@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -buffer-from@^1.0.0, buffer-from@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -bytestreamjs@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/bytestreamjs/-/bytestreamjs-2.0.1.tgz#a32947c7ce389a6fa11a09a9a563d0a45889535e" - integrity sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ== - -call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -call-bind@^1.0.0, call-bind@^1.0.7, call-bind@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" - integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== - dependencies: - call-bind-apply-helpers "^1.0.0" - es-define-property "^1.0.0" - get-intrinsic "^1.2.4" - set-function-length "^1.2.2" - -call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" - integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== - dependencies: - call-bind-apply-helpers "^1.0.2" - get-intrinsic "^1.3.0" - -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -chai@^4.3.8: - version "4.5.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" - integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.1.0" - -chalk@^4.0.2, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - -check-types@^11.2.3: - version "11.2.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" - integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== - -chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -circom_runtime@0.1.28: - version "0.1.28" - resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.28.tgz#4ea4606956eeac4499f71f65354f45b54faa93fe" - integrity sha512-ACagpQ7zBRLKDl5xRZ4KpmYIcZDUjOiNRuxvXLqhnnlLSVY1Dbvh73TI853nqoR0oEbihtWmMSjgc5f+pXf/jQ== - dependencies: - ffjavascript "0.3.1" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -country-emoji@^1.5.6: - version "1.5.6" - resolved "https://registry.yarnpkg.com/country-emoji/-/country-emoji-1.5.6.tgz#cca1e637f3eac8cd2c3f2f910213d9a521b1307e" - integrity sha512-pSB8OOROfimFc2bcN+H41DuzXYIod/JQ6SgF4pYXkRCm9f8uF1JAJ0vXPhenug6xkpt3Gv33mdypMXB49CJWRA== - -country-iso-3-to-2@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/country-iso-3-to-2/-/country-iso-3-to-2-1.1.1.tgz#9c62d02290f3872d93d40debcdd5ecb1cc468881" - integrity sha512-nirmbzPq5vt40WT9YWrWEvruxNt3h0g/h/k5umfo1ctq0ncw4Kwjd3+MKVL1vp5W5npb/fc3gv4E62xa/PZDiA== - -data-view-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" - integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-data-view "^1.0.2" - -data-view-byte-length@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" - integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-data-view "^1.0.2" - -data-view-byte-offset@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" - integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -debug@^4.3.5: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -deep-eql@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" - integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== - dependencies: - type-detect "^4.0.0" - -deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-properties@^1.1.3, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -diacritics@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1" - integrity sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA== - -diff@^3.1.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diff@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -dunder-proto@^1.0.0, dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - -ejs@^3.1.6: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -elliptic@^6.5.5: - version "6.6.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" - integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -es-abstract@^1.17.0-next.1, es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9: - version "1.23.9" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.9.tgz#5b45994b7de78dada5c1bebf1379646b32b9d606" - integrity sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA== - dependencies: - array-buffer-byte-length "^1.0.2" - arraybuffer.prototype.slice "^1.0.4" - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - call-bound "^1.0.3" - data-view-buffer "^1.0.2" - data-view-byte-length "^1.0.2" - data-view-byte-offset "^1.0.1" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.1.0" - es-to-primitive "^1.3.0" - function.prototype.name "^1.1.8" - get-intrinsic "^1.2.7" - get-proto "^1.0.0" - get-symbol-description "^1.1.0" - globalthis "^1.0.4" - gopd "^1.2.0" - has-property-descriptors "^1.0.2" - has-proto "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - internal-slot "^1.1.0" - is-array-buffer "^3.0.5" - is-callable "^1.2.7" - is-data-view "^1.0.2" - is-regex "^1.2.1" - is-shared-array-buffer "^1.0.4" - is-string "^1.1.1" - is-typed-array "^1.1.15" - is-weakref "^1.1.0" - math-intrinsics "^1.1.0" - object-inspect "^1.13.3" - object-keys "^1.1.1" - object.assign "^4.1.7" - own-keys "^1.0.1" - regexp.prototype.flags "^1.5.3" - safe-array-concat "^1.1.3" - safe-push-apply "^1.0.0" - safe-regex-test "^1.1.0" - set-proto "^1.0.0" - string.prototype.trim "^1.2.10" - string.prototype.trimend "^1.0.9" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.3" - typed-array-byte-length "^1.0.3" - typed-array-byte-offset "^1.0.4" - typed-array-length "^1.0.7" - unbox-primitive "^1.1.0" - which-typed-array "^1.1.18" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-define-property@^1.0.0, es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -es-to-primitive@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" - integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== - dependencies: - is-callable "^1.2.7" - is-date-object "^1.0.5" - is-symbol "^1.0.4" - -es7-shim@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/es7-shim/-/es7-shim-6.0.0.tgz#0c430b40b8505ad15570721a8d8dd4eb0c553155" - integrity sha512-aiQ/QyJBVJbabtsSediM1S4qI+P3p8F5J5YR5o/bH003BCnnclzxK9pi5Qd2Hg01ktAtZCaQBdejHrkOBGwf5Q== - dependencies: - array-includes "^3.0.2" - object.entries "^1.0.3" - object.getownpropertydescriptors "^2.0.2" - object.values "^1.0.3" - string-at "^1.0.1" - string.prototype.padend "^3.0.0" - string.prototype.padstart "^3.0.0" - string.prototype.trimleft "^2.0.0" - string.prototype.trimright "^2.0.0" - -escalade@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^1.8.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" - integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== - -esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastfile@0.0.20: - version "0.0.20" - resolved "https://registry.yarnpkg.com/fastfile/-/fastfile-0.0.20.tgz#794a143d58cfda2e24c298e5ef619c748c8a1879" - integrity sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA== - -ffjavascript@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.0.tgz#442cd8fbb1ee4cbb1be9d26fd7b2951a1ea45d6a" - integrity sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ== - dependencies: - wasmbuilder "0.0.16" - wasmcurves "0.2.2" - web-worker "1.2.0" - -ffjavascript@0.3.1, ffjavascript@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.1.tgz#3761bbb3f4a67b58a94a463080272bf6b5877b03" - integrity sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw== - dependencies: - wasmbuilder "0.0.16" - wasmcurves "0.2.2" - web-worker "1.2.0" - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -follow-redirects@^1.15.6: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -for-each@^0.3.3, for-each@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" - integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== - dependencies: - is-callable "^1.2.7" - -form-data@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" - integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - mime-types "^2.1.12" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fs@^0.0.1-security: - version "0.0.1-security" - resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" - integrity sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" - integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - functions-have-names "^1.2.3" - hasown "^2.0.2" - is-callable "^1.2.7" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-proto@^1.0.0, get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -get-symbol-description@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" - integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -globalthis@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" - integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== - dependencies: - define-properties "^1.2.1" - gopd "^1.0.1" - -gopd@^1.0.1, gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -has-bigints@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" - integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" - integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== - dependencies: - dunder-proto "^1.0.0" - -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -i18n-iso-countries@^7.13.0: - version "7.14.0" - resolved "https://registry.yarnpkg.com/i18n-iso-countries/-/i18n-iso-countries-7.14.0.tgz#cd5ae098198bce1cc40cadbf0a37ce6c8e9d0edf" - integrity sha512-nXHJZYtNrfsi1UQbyRqm3Gou431elgLjKl//CYlnBGt5aTWdRPH1PiS2T/p/n8Q8LnqYqzQJik3Q7mkwvLokeg== - dependencies: - diacritics "1.3.0" - -ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -internal-slot@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" - integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.2" - side-channel "^1.1.0" - -is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" - integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - get-intrinsic "^1.2.6" - -is-async-function@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" - integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== - dependencies: - async-function "^1.0.0" - call-bound "^1.0.3" - get-proto "^1.0.1" - has-tostringtag "^1.0.2" - safe-regex-test "^1.1.0" - -is-bigint@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" - integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== - dependencies: - has-bigints "^1.0.2" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" - integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-data-view@^1.0.1, is-data-view@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" - integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== - dependencies: - call-bound "^1.0.2" - get-intrinsic "^1.2.6" - is-typed-array "^1.1.13" - -is-date-object@^1.0.5, is-date-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" - integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== - dependencies: - call-bound "^1.0.2" - has-tostringtag "^1.0.2" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" - integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== - dependencies: - call-bound "^1.0.3" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.10: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" - integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== - dependencies: - call-bound "^1.0.3" - get-proto "^1.0.0" - has-tostringtag "^1.0.2" - safe-regex-test "^1.1.0" - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" - integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== - -is-number-object@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" - integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-regex@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" - integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== - dependencies: - call-bound "^1.0.2" - gopd "^1.2.0" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -is-set@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" - integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== - -is-shared-array-buffer@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" - integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== - dependencies: - call-bound "^1.0.3" - -is-string@^1.0.7, is-string@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" - integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-symbol@^1.0.4, is-symbol@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" - integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== - dependencies: - call-bound "^1.0.2" - has-symbols "^1.1.0" - safe-regex-test "^1.1.0" - -is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" - integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== - dependencies: - which-typed-array "^1.1.16" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-weakmap@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" - integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== - -is-weakref@^1.0.2, is-weakref@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" - integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== - dependencies: - call-bound "^1.0.3" - -is-weakset@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" - integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== - dependencies: - call-bound "^1.0.3" - get-intrinsic "^1.2.6" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -jake@^10.8.5: - version "10.9.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" - integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -js-sha1@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/js-sha1/-/js-sha1-0.7.0.tgz#fecaf5f36bb09a51b01da46b43a207c8452c9c1e" - integrity sha512-oQZ1Mo7440BfLSv9TX87VNEyU52pXPVG19F9PL3gTgNt0tVxlZ8F4O6yze3CLuLx28TxotxvlyepCNaaV0ZjMw== - -js-sha256@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.11.0.tgz#256a921d9292f7fe98905face82e367abaca9576" - integrity sha512-6xNlKayMZvds9h1Y1VWc0fQHQ82BxTXizWPEtEeGvmOUYpBRy4gbWroHLpzowe6xiQhHpelCQiE7HEdznyBL9Q== - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-sha512@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha512/-/js-sha512-0.9.0.tgz#ed569aa1e4bdaf0b83363c29db1ab87b1192d9ae" - integrity sha512-mirki9WS/SUahm+1TbAPkqvbCiCfOAAsyXeHxK1UkullnJVVqoJG2pL9ObvT05CN+tM7fxhfYm0NbXn+1hWoZg== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-to-ts@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json-to-ts/-/json-to-ts-2.1.0.tgz#c68c0b210a811e8dccbe2752e68efbc0ca62bfc5" - integrity sha512-JeScjtIGYAxQVxEYgQUKROU0329eS+rsTSviGtuKiwKuXpcIU7DxhDYm2tey0vcBetwc9kD0+YHDI5KvEexMew== - dependencies: - es7-shim "^6.0.0" - hash.js "^1.0.3" - pluralize "^3.1.0" - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -jsonpath@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" - integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== - dependencies: - esprima "1.2.2" - static-eval "2.0.2" - underscore "1.12.1" - -jsrsasign@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-11.1.0.tgz#195e788102731102fbf3e36b33fde28936f4bf57" - integrity sha512-Ov74K9GihaK9/9WncTe1mPmvrO7Py665TUfUKvraXBpu+xcTWitrtuOwcjf4KMU9maPaYn0OuaWy0HOzy/GBXg== - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash-es@^4.17.10: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash@^4.17.10: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -logplease@^1.2.15: - version "1.2.15" - resolved "https://registry.yarnpkg.com/logplease/-/logplease-1.2.15.tgz#3da442e93751a5992cc19010a826b08d0293c48a" - integrity sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA== - -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1, minimatch@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@^0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@^10.7.3: - version "10.8.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" - integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== - dependencies: - ansi-colors "^4.1.3" - browser-stdout "^1.3.1" - chokidar "^3.5.3" - debug "^4.3.5" - diff "^5.2.0" - escape-string-regexp "^4.0.0" - find-up "^5.0.0" - glob "^8.1.0" - he "^1.2.0" - js-yaml "^4.1.0" - log-symbols "^4.1.0" - minimatch "^5.1.6" - ms "^2.1.3" - serialize-javascript "^6.0.2" - strip-json-comments "^3.1.1" - supports-color "^8.1.1" - workerpool "^6.5.1" - yargs "^16.2.0" - yargs-parser "^20.2.9" - yargs-unparser "^2.0.0" - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoassert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" - integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@babel/runtime@npm:^7.23.4": + version: 7.27.0 + resolution: "@babel/runtime@npm:7.27.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/35091ea9de48bd7fd26fb177693d64f4d195eb58ab2b142b893b7f3fa0f1d7c677604d36499ae0621a3703f35ba0c6a8f6c572cc8f7dc0317213841e493cf663 + languageName: node + linkType: hard + +"@iden3/bigarray@npm:0.0.2": + version: 0.0.2 + resolution: "@iden3/bigarray@npm:0.0.2" + checksum: 10c0/a1c69a30f1bfb7eed0a1066e6a3d80aad3fab4dbb1bae96cf4dc7117ca9f791edc4a023d8cfb0afefbeab4d65f7bf91edfbb0a62e5ecdc8711c98bb329fedbaa + languageName: node + linkType: hard + +"@iden3/binfileutils@npm:0.0.12": + version: 0.0.12 + resolution: "@iden3/binfileutils@npm:0.0.12" + dependencies: + fastfile: "npm:0.0.20" + ffjavascript: "npm:^0.3.0" + checksum: 10c0/33783e2bad7901020bb1ba2236e0172a6f0bced519558466fe17ea2e51226a06d769e869883b1d6fe1abcc459327a77ee96265a52b53c2a964d9b4ef48b2263a + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@noble/hashes@npm:^1.4.0": + version: 1.7.1 + resolution: "@noble/hashes@npm:1.7.1" + checksum: 10c0/2f8ec0338ccc92b576a0f5c16ab9c017a3a494062f1fbb569ae641c5e7eab32072f9081acaa96b5048c0898f972916c818ea63cbedda707886a4b5ffcfbf94e3 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@openpassport/zk-kit-imt@npm:^0.0.5": + version: 0.0.5 + resolution: "@openpassport/zk-kit-imt@npm:0.0.5" + dependencies: + "@openpassport/zk-kit-utils": "npm:0.0.1" + checksum: 10c0/3664f0710b6472d7c406ffdcdfb9ab7590bf2b4b69c2c2e36989be888ae4730bab285791e6e8f98ea3fe9eac0271a6fb57bff88ddc92b5c038c9813ffbb2d24c + languageName: node + linkType: hard + +"@openpassport/zk-kit-lean-imt@npm:^0.0.6": + version: 0.0.6 + resolution: "@openpassport/zk-kit-lean-imt@npm:0.0.6" + dependencies: + "@openpassport/zk-kit-utils": "npm:0.0.1" + checksum: 10c0/2cb3f99e216391a325a7050290cccfa12323dc057d7cf4a26baeafe79a34c4ed3013da035fdbe9985395d5a668e37fd81f2b060834b67895bd3f82e7edfe0601 + languageName: node + linkType: hard + +"@openpassport/zk-kit-smt@npm:^0.0.1": + version: 0.0.1 + resolution: "@openpassport/zk-kit-smt@npm:0.0.1" + checksum: 10c0/2d1d6ccd51c1cdf005e71090ac3d5d505ca58f58776bb7bd178c3d6bfdf3e22b69e50816e620f376663b63fa98bf22439c9b38de523de51e018b9e52f097624b + languageName: node + linkType: hard + +"@openpassport/zk-kit-utils@npm:0.0.1": + version: 0.0.1 + resolution: "@openpassport/zk-kit-utils@npm:0.0.1" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10c0/3a9adb279cfd5096c44934bb6c73979f21247eb0119a65f8b5c0bb1f457f5500de761fc627e0bd9e72a7cbf5ca65696c144bfffe3dbd1f1ce37a300c239a8e3f + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac + languageName: node + linkType: hard + +"@types/node-forge@npm:^1.3.10": + version: 1.3.11 + resolution: "@types/node-forge@npm:1.3.11" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/3d7d23ca0ba38ac0cf74028393bd70f31169ab9aba43f21deb787840170d307d662644bac07287495effe2812ddd7ac8a14dbd43f16c2936bbb06312e96fc3b9 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 22.14.1 + resolution: "@types/node@npm:22.14.1" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/d49c4d00403b1c2348cf0701b505fd636d80aabe18102105998dc62fdd36dcaf911e73c7a868c48c21c1022b825c67b475b65b1222d84b704d8244d152bb7f86 + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.3": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + is-array-buffer: "npm:^3.0.5" + checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d + languageName: node + linkType: hard + +"array-includes@npm:^3.0.2": + version: 3.1.8 + resolution: "array-includes@npm:3.1.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + is-string: "npm:^1.0.7" + checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 + languageName: node + linkType: hard + +"array.prototype.reduce@npm:^1.0.6": + version: 1.0.8 + resolution: "array.prototype.reduce@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-array-method-boxes-properly: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + is-string: "npm:^1.1.1" + checksum: 10c0/0a4635f468e9161f51c4a87f80057b8b3c27b0ccc3e40ad7ea77cd1e147f1119f46977b0452f3fa325f543126200f2caf8c1390bd5303edf90d9c1dcd7d5a8a0 + languageName: node + linkType: hard + +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + is-array-buffer: "npm:^3.0.4" + checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 + languageName: node + linkType: hard + +"arrify@npm:^1.0.0": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab + languageName: node + linkType: hard + +"asn1.js@npm:^5.4.1": + version: 5.4.1 + resolution: "asn1.js@npm:5.4.1" + dependencies: + bn.js: "npm:^4.0.0" + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + safer-buffer: "npm:^2.1.0" + checksum: 10c0/b577232fa6069cc52bb128e564002c62b2b1fe47f7137bdcd709c0b8495aa79cee0f8cc458a831b2d8675900eea0d05781b006be5e1aa4f0ae3577a73ec20324 + languageName: node + linkType: hard + +"asn1js@npm:^3.0.5": + version: 3.0.6 + resolution: "asn1js@npm:3.0.6" + dependencies: + pvtsutils: "npm:^1.3.6" + pvutils: "npm:^1.1.3" + tslib: "npm:^2.8.1" + checksum: 10c0/96d35e65e3df819ad9cc2d91d1150a3041fd84687a62faa73405e72a6b4c655bc2450e779fad524969e14eeac1f69db2559f27ef6d06ddeeddada28f72ad9b89 + languageName: node + linkType: hard + +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b + languageName: node + linkType: hard + +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + +"async@npm:^3.2.3": + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 + languageName: node + linkType: hard + +"axios@npm:^1.7.2": + version: 1.8.4 + resolution: "axios@npm:1.8.4" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/450993c2ba975ffccaf0d480b68839a3b2435a5469a71fa2fb0b8a55cdb2c2ae47e609360b9c1e2b2534b73dfd69e2733a1cf9f8215bee0bcd729b72f801b0ce + languageName: node + linkType: hard + +"b4a@npm:^1.0.1": + version: 1.6.7 + resolution: "b4a@npm:1.6.7" + checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"bfj@npm:^7.0.2": + version: 7.1.0 + resolution: "bfj@npm:7.1.0" + dependencies: + bluebird: "npm:^3.7.2" + check-types: "npm:^11.2.3" + hoopy: "npm:^0.1.4" + jsonpath: "npm:^1.1.1" + tryer: "npm:^1.0.1" + checksum: 10c0/e5fc6690cd093c06ca6ed7584a2caf0c4a762bc9d9d9cb18efbabc75c973b071a8dad7037c617d0ea4d97b7b439821fea32f7c232ed0be8fa7840533a9643171 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"blake2b-wasm@npm:^2.4.0": + version: 2.4.0 + resolution: "blake2b-wasm@npm:2.4.0" + dependencies: + b4a: "npm:^1.0.1" + nanoassert: "npm:^2.0.0" + checksum: 10c0/0905a47ece466c44541c8abbc94a5441ecb24a3b2622bf1f2e285c1f0f82e2b1899c7bbd70294583cfd99e1276047dd80d7afc7408f3a7c5ebf426b2f2a42f6f + languageName: node + linkType: hard + +"bluebird@npm:^3.7.2": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.11.9": + version: 4.12.1 + resolution: "bn.js@npm:4.12.1" + checksum: 10c0/b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + +"browser-stdout@npm:^1.3.1": + version: 1.3.1 + resolution: "browser-stdout@npm:1.3.1" + checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0, buffer-from@npm:^1.1.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + +"bytestreamjs@npm:^2.0.0": + version: 2.0.1 + resolution: "bytestreamjs@npm:2.0.1" + checksum: 10c0/edd66b7ca3f94aae99a1009304a42d82ca4c2085eb934192ff47a81f59215c975dc9d3cd8f23c40a2f43ef5b2fa6f01ace70b10ad247766cec6ec641b89eab48 + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.2" + checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 + languageName: node + linkType: hard + +"camelcase@npm:^6.0.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"chai@npm:^4.3.8": + version: 4.5.0 + resolution: "chai@npm:4.5.0" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.3" + deep-eql: "npm:^4.1.3" + get-func-name: "npm:^2.0.2" + loupe: "npm:^2.3.6" + pathval: "npm:^1.1.1" + type-detect: "npm:^4.1.0" + checksum: 10c0/b8cb596bd1aece1aec659e41a6e479290c7d9bee5b3ad63d2898ad230064e5b47889a3bc367b20100a0853b62e026e2dc514acf25a3c9385f936aa3614d4ab4d + languageName: node + linkType: hard + +"chalk@npm:^4.0.2, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"check-error@npm:^1.0.3": + version: 1.0.3 + resolution: "check-error@npm:1.0.3" + dependencies: + get-func-name: "npm:^2.0.2" + checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 + languageName: node + linkType: hard + +"check-types@npm:^11.2.3": + version: 11.2.3 + resolution: "check-types@npm:11.2.3" + checksum: 10c0/08d17e528b189e0e431689f0f2f0a78f425202f6e5ac93def5c3b8d128eb888a5103fc980d4feb7b2d4248f8114d354c223dff3c0b5ac4b1def526ef441aaf55 + languageName: node + linkType: hard + +"chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"circom_runtime@npm:0.1.28": + version: 0.1.28 + resolution: "circom_runtime@npm:0.1.28" + dependencies: + ffjavascript: "npm:0.3.1" + bin: + calcwit: calcwit.js + checksum: 10c0/f2636b3cf553ea37701b527331ff740be7e31d51dc367c7f7bdffb69cf3a0d86c34ce215e4dbc0ad47f9c221c129ab11b111c6814e009c4d469592d73ab3c513 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"country-emoji@npm:^1.5.6": + version: 1.5.6 + resolution: "country-emoji@npm:1.5.6" + checksum: 10c0/8166ef4e13ff82b558558e05ad4e26bceb6a71ef5d1863c6955ddfd1b2823f2c4fee9fb8538d3cf83716a05d3035a1ebcdc894a3a629644a1f1be728c98595f8 + languageName: node + linkType: hard + +"country-iso-3-to-2@npm:^1.1.1": + version: 1.1.1 + resolution: "country-iso-3-to-2@npm:1.1.1" + checksum: 10c0/ed46398caa51ec1a62a5e8e3dcf9cc6a9afe8ffc7dc9b15177f3ff9d4a241e6a3e8a315d630610e254408d4f15d71446df909811663df1eab928a34be7ee16e0 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.3.4, debug@npm:^4.3.5": + version: 4.4.0 + resolution: "debug@npm:4.4.0" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de + languageName: node + linkType: hard + +"decamelize@npm:^4.0.0": + version: 4.0.0 + resolution: "decamelize@npm:4.0.0" + checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d + languageName: node + linkType: hard + +"deep-eql@npm:^4.1.3": + version: 4.1.4 + resolution: "deep-eql@npm:4.1.4" + dependencies: + type-detect: "npm:^4.0.0" + checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 + languageName: node + linkType: hard + +"deep-is@npm:~0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"diacritics@npm:1.3.0": + version: 1.3.0 + resolution: "diacritics@npm:1.3.0" + checksum: 10c0/bc99c3d2e64315b1830f1573eafe1f7b06fd5dbc9687f35ea8e2e25ce8618d1444d0a2c8313b98467b0aff1d0ee35b8f9f67ef214e56e810b37da3cdb29785ac + languageName: node + linkType: hard + +"diff@npm:^3.1.0": + version: 3.5.0 + resolution: "diff@npm:3.5.0" + checksum: 10c0/fc62d5ba9f6d1b8b5833380969037007913d4886997838c247c54ec6934f09ae5a07e17ae28b1f016018149d81df8ad89306f52eac1afa899e0bed49015a64d1 + languageName: node + linkType: hard + +"diff@npm:^5.2.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"ejs@npm:^3.1.6": + version: 3.1.10 + resolution: "ejs@npm:3.1.10" + dependencies: + jake: "npm:^10.8.5" + bin: + ejs: bin/cli.js + checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 + languageName: node + linkType: hard + +"elliptic@npm:^6.5.5": + version: 6.6.1 + resolution: "elliptic@npm:6.6.1" + dependencies: + bn.js: "npm:^4.11.9" + brorand: "npm:^1.1.0" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.1" + inherits: "npm:^2.0.4" + minimalistic-assert: "npm:^1.0.1" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/8b24ef782eec8b472053793ea1e91ae6bee41afffdfcb78a81c0a53b191e715cbe1292aa07165958a9bbe675bd0955142560b1a007ffce7d6c765bcaf951a867 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9": + version: 1.23.9 + resolution: "es-abstract@npm:1.23.9" + dependencies: + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.0" + get-symbol-description: "npm:^1.1.0" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.2" + is-regex: "npm:^1.2.1" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.0" + math-intrinsics: "npm:^1.1.0" + object-inspect: "npm:^1.13.3" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" + regexp.prototype.flags: "npm:^1.5.3" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.18" + checksum: 10c0/1de229c9e08fe13c17fe5abaec8221545dfcd57e51f64909599a6ae896df84b8fd2f7d16c60cb00d7bf495b9298ca3581aded19939d4b7276854a4b066f8422b + languageName: node + linkType: hard + +"es-array-method-boxes-properly@npm:^1.0.0": + version: 1.0.0 + resolution: "es-array-method-boxes-properly@npm:1.0.0" + checksum: 10c0/4b7617d3fbd460d6f051f684ceca6cf7e88e6724671d9480388d3ecdd72119ddaa46ca31f2c69c5426a82e4b3091c1e81867c71dcdc453565cd90005ff2c382d + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" + dependencies: + is-callable: "npm:^1.2.7" + is-date-object: "npm:^1.0.5" + is-symbol: "npm:^1.0.4" + checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b + languageName: node + linkType: hard + +"es7-shim@npm:^6.0.0": + version: 6.0.0 + resolution: "es7-shim@npm:6.0.0" + dependencies: + array-includes: "npm:^3.0.2" + object.entries: "npm:^1.0.3" + object.getownpropertydescriptors: "npm:^2.0.2" + object.values: "npm:^1.0.3" + string-at: "npm:^1.0.1" + string.prototype.padend: "npm:^3.0.0" + string.prototype.padstart: "npm:^3.0.0" + string.prototype.trimleft: "npm:^2.0.0" + string.prototype.trimright: "npm:^2.0.0" + checksum: 10c0/fc92b1e8fe82699c3aa486922108be37e5bafe64c32052acc16ef875b3499afbaf6f21bbb5f4f842d9581f3c43f02a552c6d2f3e0f70af9b7edb437107e0f555 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"escodegen@npm:^1.8.1": + version: 1.14.3 + resolution: "escodegen@npm:1.14.3" + dependencies: + esprima: "npm:^4.0.1" + estraverse: "npm:^4.2.0" + esutils: "npm:^2.0.2" + optionator: "npm:^0.8.1" + source-map: "npm:~0.6.1" + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 10c0/30d337803e8f44308c90267bf6192399e4b44792497c77a7506b68ab802ba6a48ebbe1ce77b219aba13dfd2de5f5e1c267e35be1ed87b2a9c3315e8b283e302a + languageName: node + linkType: hard + +"esprima@npm:1.2.2": + version: 1.2.2 + resolution: "esprima@npm:1.2.2" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/a5a8fd359651dd8228736d7352eb7636c7765e1ec6ff8fff3f6641622039a9f51fa501969a1a4777ba4187cf9942a8d7e0367dccaff768b782bdb1a71d046abf + languageName: node + linkType: hard + +"esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"estraverse@npm:^4.2.0": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + languageName: node + linkType: hard + +"fast-levenshtein@npm:~2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fastfile@npm:0.0.20": + version: 0.0.20 + resolution: "fastfile@npm:0.0.20" + checksum: 10c0/ca91f5658eec188c7ba3b910d7d87ed90d4d7ca92852fa14dd8c6d4ae4c2149b8147a30bbcafe727bf12f0ebb25c585a6cf0a112a3957b761ec913f8299fdd4f + languageName: node + linkType: hard + +"fdir@npm:^6.4.3": + version: 6.4.3 + resolution: "fdir@npm:6.4.3" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/d13c10120e9625adf21d8d80481586200759928c19405a816b77dd28eaeb80e7c59c5def3e2941508045eb06d34eb47fad865ccc8bf98e6ab988bb0ed160fb6f + languageName: node + linkType: hard + +"ffjavascript@npm:0.3.0": + version: 0.3.0 + resolution: "ffjavascript@npm:0.3.0" + dependencies: + wasmbuilder: "npm:0.0.16" + wasmcurves: "npm:0.2.2" + web-worker: "npm:1.2.0" + checksum: 10c0/2899db6ab67162eb9a7a052c420d31b0e15c6fd12bc738c48559e0a926649f1d11afe9cfa2611ff13f816b2fd9fa047fb11f6f8682f0dea4f84c4dd9f5dc7c3c + languageName: node + linkType: hard + +"ffjavascript@npm:0.3.1, ffjavascript@npm:^0.3.0": + version: 0.3.1 + resolution: "ffjavascript@npm:0.3.1" + dependencies: + wasmbuilder: "npm:0.0.16" + wasmcurves: "npm:0.2.2" + web-worker: "npm:1.2.0" + checksum: 10c0/6928afe37cdbe9a88a9901a37d0abbdcfa61a8533517cb86e2584bf2701eaa10ce2bfa1d417499042f9b10b79bc058ec0ecc14d3fdc6cb55d21bfcac3d1c4521 + languageName: node + linkType: hard + +"filelist@npm:^1.0.4": + version: 1.0.4 + resolution: "filelist@npm:1.0.4" + dependencies: + minimatch: "npm:^5.0.1" + checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + +"follow-redirects@npm:^1.15.6": + version: 1.15.9 + resolution: "follow-redirects@npm:1.15.9" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f + languageName: node + linkType: hard + +"for-each@npm:^0.3.3, for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" + dependencies: + is-callable: "npm:^1.2.7" + checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" + dependencies: + cross-spawn: "npm:^7.0.6" + signal-exit: "npm:^4.0.1" + checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.2 + resolution: "form-data@npm:4.0.2" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + mime-types: "npm:^2.1.12" + checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fs@npm:^0.0.1-security": + version: 0.0.1-security + resolution: "fs@npm:0.0.1-security" + checksum: 10c0/e0c0b585ec6f7483d63d067215d9d6bb2e0dba5912060d32554c8e566a0e22ee65e4c2a2b0567476efbbfb47682554b4711d69cab49950d01f227a3dfa7d671a + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + functions-have-names: "npm:^1.2.3" + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": + version: 2.0.2 + resolution: "get-func-name@npm:2.0.2" + checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + languageName: node + linkType: hard + +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b + languageName: node + linkType: hard + +"glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob@npm:^10.2.2": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^8.1.0": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f + languageName: node + linkType: hard + +"globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" + dependencies: + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: "npm:^1.0.0" + checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: "npm:^2.0.3" + minimalistic-assert: "npm:^1.0.1" + checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + +"hoopy@npm:^0.1.4": + version: 0.1.4 + resolution: "hoopy@npm:0.1.4" + checksum: 10c0/4ef749e1a13d46cae52014b9de452635637086c333fc67245369a1262dee806386354a4ed845d507e59e5a0d3aef55246c0ec66f5bf2908d40eb77e7dff2a254 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"i18n-iso-countries@npm:^7.13.0": + version: 7.14.0 + resolution: "i18n-iso-countries@npm:7.14.0" + dependencies: + diacritics: "npm:1.3.0" + checksum: 10c0/048efe0c95feb6666a72cb0918d6edcb6a392787b2998eefe7e42d19bf35ac27a02ad61efd64857399d7938dcf3e4c7710f622f7e6c8de9628cb4e4dd5534830 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 + languageName: node + linkType: hard + +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + hasown: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d + languageName: node + linkType: hard + +"is-async-function@npm:^2.0.0": + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" + dependencies: + async-function: "npm:^1.0.0" + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298 + languageName: node + linkType: hard + +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" + dependencies: + has-bigints: "npm:^1.0.2" + checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e + languageName: node + linkType: hard + +"is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f + languageName: node + linkType: hard + +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.10": + version: 1.1.0 + resolution: "is-generator-function@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.0" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-map@npm:^2.0.3": + version: 2.0.3 + resolution: "is-map@npm:2.0.3" + checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc + languageName: node + linkType: hard + +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-plain-obj@npm:^2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 + languageName: node + linkType: hard + +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 + languageName: node + linkType: hard + +"is-set@npm:^2.0.3": + version: 2.0.3 + resolution: "is-set@npm:2.0.3" + checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db + languageName: node + linkType: hard + +"is-string@npm:^1.0.7, is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" + dependencies: + which-typed-array: "npm:^1.1.16" + checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.3": + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" + dependencies: + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647 + languageName: node + linkType: hard + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jake@npm:^10.8.5": + version: 10.9.2 + resolution: "jake@npm:10.9.2" + dependencies: + async: "npm:^3.2.3" + chalk: "npm:^4.0.2" + filelist: "npm:^1.0.4" + minimatch: "npm:^3.1.2" + bin: + jake: bin/cli.js + checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 + languageName: node + linkType: hard + +"js-sha1@npm:^0.7.0": + version: 0.7.0 + resolution: "js-sha1@npm:0.7.0" + checksum: 10c0/f6ae6d7a3d7e8772fac8a82b2f002c282bef0b75a42ab36b4cafd99c7e02fb4654eb51c444dd026b24ff9fef5d762239aeed42a88fa44ca4b67a0a90ebce059e + languageName: node + linkType: hard + +"js-sha256@npm:^0.11.0": + version: 0.11.0 + resolution: "js-sha256@npm:0.11.0" + checksum: 10c0/90980fe01ca01fbd166751fb16c4caa09c1ab997e8bf77c0764cc05c772c6044946f4c1b3bad266ce78357280d2131d3dc0cf2dd7646e78272996bd4d590aa4f + languageName: node + linkType: hard + +"js-sha3@npm:^0.8.0": + version: 0.8.0 + resolution: "js-sha3@npm:0.8.0" + checksum: 10c0/43a21dc7967c871bd2c46cb1c2ae97441a97169f324e509f382d43330d8f75cf2c96dba7c806ab08a425765a9c847efdd4bffbac2d99c3a4f3de6c0218f40533 + languageName: node + linkType: hard + +"js-sha512@npm:^0.9.0": + version: 0.9.0 + resolution: "js-sha512@npm:0.9.0" + checksum: 10c0/00b85acae8ffde790a703a5424ae03c97c623b008135388396db1bfb1ac0ebf7356c5ff0d5a17630b5ae25ac09fe35eed2abc66bc276e9dc86fcb3cabcfcdfa2 + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"json-to-ts@npm:^2.1.0": + version: 2.1.0 + resolution: "json-to-ts@npm:2.1.0" + dependencies: + es7-shim: "npm:^6.0.0" + hash.js: "npm:^1.0.3" + pluralize: "npm:^3.1.0" + checksum: 10c0/8b08ba2d521483024c4b04158ffd835f141bcaa49c4b7784cb6cdad1d6bdaf529b9ec217745fd2f2aeb44b4a5253548dcd91050ae3955c4a1fdcb0fb8b92cd52 + languageName: node + linkType: hard + +"json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f + languageName: node + linkType: hard + +"jsonpath@npm:^1.1.1": + version: 1.1.1 + resolution: "jsonpath@npm:1.1.1" + dependencies: + esprima: "npm:1.2.2" + static-eval: "npm:2.0.2" + underscore: "npm:1.12.1" + checksum: 10c0/4fea3f83bcb4df08c32090ba8a0d1a6d26244f6d19c4296f9b58caa01eeb7de0f8347eba40077ceee2f95acc69d032b0b48226d350339063ba580e87983f6dec + languageName: node + linkType: hard + +"jsrsasign@npm:^11.1.0": + version: 11.1.0 + resolution: "jsrsasign@npm:11.1.0" + checksum: 10c0/a1c819d5da0eb00e1fdbb3cbbc360e0592f16726bab3f72aba51d3f660c9c486212112b3b4202eb5c233904f69c67821d91ed39ebd64ad4c3500e4dc085ca99c + languageName: node + linkType: hard + +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: "npm:~1.1.2" + type-check: "npm:~0.3.2" + checksum: 10c0/e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash-es@npm:^4.17.10": + version: 4.17.21 + resolution: "lodash-es@npm:4.17.21" + checksum: 10c0/fb407355f7e6cd523a9383e76e6b455321f0f153a6c9625e21a8827d10c54c2a2341bd2ae8d034358b60e07325e1330c14c224ff582d04612a46a4f0479ff2f2 + languageName: node + linkType: hard + +"lodash@npm:^4.17.10": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + +"logplease@npm:^1.2.15": + version: 1.2.15 + resolution: "logplease@npm:1.2.15" + checksum: 10c0/e835ce89895c9335460a9b4b3a79f9f4161879f5cd49efc249f8af2a128403e391c177bf55ca7207fd6687aa16e376f9a96ce58dc639acc6b4b8b00d6225323c + languageName: node + linkType: hard + +"loupe@npm:^2.3.6": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: "npm:^2.0.1" + checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.1": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: "npm:^1.2.6" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mocha@npm:^10.7.3": + version: 10.8.2 + resolution: "mocha@npm:10.8.2" + dependencies: + ansi-colors: "npm:^4.1.3" + browser-stdout: "npm:^1.3.1" + chokidar: "npm:^3.5.3" + debug: "npm:^4.3.5" + diff: "npm:^5.2.0" + escape-string-regexp: "npm:^4.0.0" + find-up: "npm:^5.0.0" + glob: "npm:^8.1.0" + he: "npm:^1.2.0" + js-yaml: "npm:^4.1.0" + log-symbols: "npm:^4.1.0" + minimatch: "npm:^5.1.6" + ms: "npm:^2.1.3" + serialize-javascript: "npm:^6.0.2" + strip-json-comments: "npm:^3.1.1" + supports-color: "npm:^8.1.1" + workerpool: "npm:^6.5.1" + yargs: "npm:^16.2.0" + yargs-parser: "npm:^20.2.9" + yargs-unparser: "npm:^2.0.0" + bin: + _mocha: bin/_mocha + mocha: bin/mocha.js + checksum: 10c0/1f786290a32a1c234f66afe2bfcc68aa50fe9c7356506bd39cca267efb0b4714a63a0cb333815578d63785ba2fba058bf576c2512db73997c0cae0d659a88beb + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"nanoassert@npm:^2.0.0": + version: 2.0.0 + resolution: "nanoassert@npm:2.0.0" + checksum: 10c0/fb21ce924a1ec8e8fac415a00fdd1c086c08bc185d0377e675b1d379347340fbf4a1523d8d2330e5328a542400cd7122599b6c6e21ce2ea40a9f11d68dfbfa1b + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard "node-forge@https://github.com/remicolin/forge": - version "1.3.2-0" - resolved "https://github.com/remicolin/forge#17a11a632dd0e50343b3b8393245a2696f78afbb" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -object-inspect@^1.13.3: - version "1.13.4" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" - integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.7: - version "4.1.7" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" - integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - has-symbols "^1.1.0" - object-keys "^1.1.1" - -object.entries@^1.0.3: - version "1.1.9" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" - integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-object-atoms "^1.1.1" - -object.getownpropertydescriptors@^2.0.2: - version "2.1.8" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz#2f1fe0606ec1a7658154ccd4f728504f69667923" - integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A== - dependencies: - array.prototype.reduce "^1.0.6" - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - gopd "^1.0.1" - safe-array-concat "^1.1.2" - -object.values@^1.0.3: - version "1.2.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" - integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -own-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" - integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== - dependencies: - get-intrinsic "^1.2.6" - object-keys "^1.1.1" - safe-push-apply "^1.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path@^0.12.7: - version "0.12.7" - resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" - integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== - dependencies: - process "^0.11.1" - util "^0.10.3" - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pkijs@^3.2.4: - version "3.2.5" - resolved "https://registry.yarnpkg.com/pkijs/-/pkijs-3.2.5.tgz#dd6ce1c3b92b0467defc4b5a601d30ac1c1120a8" - integrity sha512-WX0la7n7CbnguuaIQoT4Fc0IJckPDOUldzOwlZ0nwpOcySS+Six/tXBdc0RX17J5o1To0SAr3xDJjDLsOfDFQA== - dependencies: - "@noble/hashes" "^1.4.0" - asn1js "^3.0.5" - bytestreamjs "^2.0.0" - pvtsutils "^1.3.2" - pvutils "^1.1.3" - tslib "^2.6.3" - -pluralize@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-3.1.0.tgz#84213d0a12356069daa84060c559242633161368" - integrity sha512-2wcybwjwXOzGI1rlxWtlcs0/nSYK0OzNPqsg35TKxJFQlGhFu3cZ1x7EHS4r4bubQlhzyF4YxxlJqQnIhkUQCw== - -poseidon-lite@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/poseidon-lite/-/poseidon-lite-0.2.1.tgz#7ad98e3a3aa5b91a1fd3a61a87460e9e46fd76d6" - integrity sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog== - -possible-typed-array-names@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" - integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -prettier@^3.3.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" - integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== - -process@^0.11.1: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -pvtsutils@^1.3.2, pvtsutils@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.6.tgz#ec46e34db7422b9e4fdc5490578c1883657d6001" - integrity sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg== - dependencies: - tslib "^2.8.1" - -pvutils@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" - integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== - -r1csfile@0.0.48: - version "0.0.48" - resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.48.tgz#a317fc75407a9da92631666c75bdfc13f0a7835a" - integrity sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw== - dependencies: - "@iden3/bigarray" "0.0.2" - "@iden3/binfileutils" "0.0.12" - fastfile "0.0.20" - ffjavascript "0.3.0" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" - integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.9" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.7" - get-proto "^1.0.1" - which-builtin-type "^1.2.1" - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regexp.prototype.flags@^1.5.3: - version "1.5.4" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" - integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-errors "^1.3.0" - get-proto "^1.0.1" - gopd "^1.2.0" - set-function-name "^2.0.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -safe-array-concat@^1.1.2, safe-array-concat@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" - integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - get-intrinsic "^1.2.6" - has-symbols "^1.1.0" - isarray "^2.0.5" - -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-push-apply@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" - integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== - dependencies: - es-errors "^1.3.0" - isarray "^2.0.5" - -safe-regex-test@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" - integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - is-regex "^1.2.1" - -safer-buffer@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -set-function-length@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -set-proto@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" - integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== - dependencies: - dunder-proto "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - -side-channel-list@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" - integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - -side-channel-map@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" - integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - -side-channel-weakmap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" - integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - side-channel-map "^1.0.1" - -side-channel@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" - integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - side-channel-list "^1.0.0" - side-channel-map "^1.0.1" - side-channel-weakmap "^1.0.2" - -snarkjs@^0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.7.5.tgz#334d83b61468bdffbbf922b20734ca47be50b8ab" - integrity sha512-h+3c4rXZKLhLuHk4LHydZCk/h5GcNvk5GjVKRRkHmfb6Ntf8gHOA9zea3g656iclRuhqQ3iKDWFgiD9ypLrKiA== - dependencies: - "@iden3/binfileutils" "0.0.12" - bfj "^7.0.2" - blake2b-wasm "^2.4.0" - circom_runtime "0.1.28" - ejs "^3.1.6" - fastfile "0.0.20" - ffjavascript "0.3.1" - js-sha3 "^0.8.0" - logplease "^1.2.15" - r1csfile "0.0.48" - -source-map-support@^0.5.6: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -static-eval@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" - integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== - dependencies: - escodegen "^1.8.1" - -string-at@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/string-at/-/string-at-1.1.0.tgz#332e090c5724418266a27a09394924b9fad41275" - integrity sha512-jCpPowWKBn0NFdvtmK2qxK40Ol4jPcgCt8qYnKpPx6B5eDwHMDhRvq9MCsDEgsOTNtbXY6beAMHMRT2qPJXllA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.padend@^3.0.0: - version "3.1.6" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz#ba79cf8992609a91c872daa47c6bb144ee7f62a5" - integrity sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -string.prototype.padstart@^3.0.0: - version "3.1.7" - resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.1.7.tgz#529bae9f07186fb0fc6e0709b7f9b1f942aa09d1" - integrity sha512-hc5ZFzw8H2Bl4AeHxE5s+CniFg+bPcr7lRRS189GCM6KhJQBACNRhtMsdcnpBNbjc1XisnUOqbP0c94RZU4GCw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-abstract "^1.23.9" - es-object-atoms "^1.1.1" - -string.prototype.trim@^1.2.10: - version "1.2.10" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" - integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - define-data-property "^1.1.4" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-object-atoms "^1.0.0" - has-property-descriptors "^1.0.2" - -string.prototype.trimend@^1.0.3, string.prototype.trimend@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" - integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimleft@^2.0.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.3.tgz#dee305118117d0a1843c1fc0d38d5d0754d83c60" - integrity sha512-699Ibssmj/awVzvdNk4g83/Iu8U9vDohzmA/ly2BrQWGhamuY4Tlvs5XKmKliDt3ky6SKbE1bzPhASKCFlx9Sg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - string.prototype.trimstart "^1.0.3" - -string.prototype.trimright@^2.0.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.3.tgz#dc16a21d7456cbc8b2c54d47fe01f06d9efe94eb" - integrity sha512-hoOq56oRFnnfDuXNy2lGHiwT77MehHv9d0zGfRZ8QdC+4zjrkFB9vd5i/zYTd/ymFBd4YxtbdgHt3U6ksGeuBw== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - string.prototype.trimend "^1.0.3" - -string.prototype.trimstart@^1.0.3, string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-mocha@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.1.0.tgz#17a1c055f5f7733fd82447c4420740db87221bc8" - integrity sha512-T0C0Xm3/WqCuF2tpa0GNGESTBoKZaiqdUP8guNv4ZY316AFXlyidnrzQ1LUrCT0Wb1i3J0zFTgOh/55Un44WdA== - dependencies: - ts-node "7.0.1" - optionalDependencies: - tsconfig-paths "^3.5.0" - -ts-node@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" - integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== - dependencies: - arrify "^1.0.0" - buffer-from "^1.1.0" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - source-map-support "^0.5.6" - yn "^2.0.0" - -tsconfig-paths@^3.5.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.6.3, tslib@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@^4.0.0, type-detect@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" - integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== - -typed-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" - integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-typed-array "^1.1.14" - -typed-array-byte-length@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" - integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== - dependencies: - call-bind "^1.0.8" - for-each "^0.3.3" - gopd "^1.2.0" - has-proto "^1.2.0" - is-typed-array "^1.1.14" - -typed-array-byte-offset@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" - integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - for-each "^0.3.3" - gopd "^1.2.0" - has-proto "^1.2.0" - is-typed-array "^1.1.15" - reflect.getprototypeof "^1.0.9" - -typed-array-length@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" - integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - reflect.getprototypeof "^1.0.6" - -typescript-parser@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/typescript-parser/-/typescript-parser-2.6.1.tgz#b5f86e3f9d35ad46a346a32068cab61bbd96f803" - integrity sha512-p4ZC10pu67KO8+WJALsJWhbAq4pRBIcP+ls8Bhl+V8KvzYQDwxw/P5hJhn3rBdLnfS5aGLflfh7WiZpN6yi+5g== - dependencies: - lodash "^4.17.10" - lodash-es "^4.17.10" - tslib "^1.9.3" - typescript "^3.0.3" - -typescript@^3.0.3: - version "3.9.10" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" - integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== - -unbox-primitive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" - integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== - dependencies: - call-bound "^1.0.3" - has-bigints "^1.0.2" - has-symbols "^1.1.0" - which-boxed-primitive "^1.1.1" - -underscore@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" - integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== - -undici-types@~6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== - -util@^0.10.3: - version "0.10.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" - integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== - dependencies: - inherits "2.0.3" - -uuid@^11.0.5: - version "11.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.0.tgz#9549028be1753bb934fc96e2bca09bb4105ae912" - integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== - -wasmbuilder@0.0.16: - version "0.0.16" - resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.16.tgz#f34c1f2c047d2f6e1065cbfec5603988f16d8549" - integrity sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA== - -wasmcurves@0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.2.2.tgz#ca444f6a6f6e2a5cbe6629d98ff478a62b4ccb2b" - integrity sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ== - dependencies: - wasmbuilder "0.0.16" - -web-worker@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" - integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== - -which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" - integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== - dependencies: - is-bigint "^1.1.0" - is-boolean-object "^1.2.1" - is-number-object "^1.1.1" - is-string "^1.1.1" - is-symbol "^1.1.1" - -which-builtin-type@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" - integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== - dependencies: - call-bound "^1.0.2" - function.prototype.name "^1.1.6" - has-tostringtag "^1.0.2" - is-async-function "^2.0.0" - is-date-object "^1.1.0" - is-finalizationregistry "^1.1.0" - is-generator-function "^1.0.10" - is-regex "^1.2.1" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.1.0" - which-collection "^1.0.2" - which-typed-array "^1.1.16" - -which-collection@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" - integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== - dependencies: - is-map "^2.0.3" - is-set "^2.0.3" - is-weakmap "^2.0.2" - is-weakset "^2.0.3" - -which-typed-array@^1.1.16, which-typed-array@^1.1.18: - version "1.1.19" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" - integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - call-bound "^1.0.4" - for-each "^0.3.5" - get-proto "^1.0.1" - gopd "^1.2.0" - has-tostringtag "^1.0.2" - -word-wrap@~1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -workerpool@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" - integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-unparser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" - integrity sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + version: 1.3.2-0 + resolution: "node-forge@https://github.com/remicolin/forge.git#commit=17a11a632dd0e50343b3b8393245a2696f78afbb" + checksum: 10c0/e3f02cc45b48b90ab8715c3a03b0711559366120494a93b446da46dea7fad1c63c0e22a0162849e81dd94fcb1e5ee672e9b38aad67687c5044fd1ffb1ed631a7 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc + languageName: node + linkType: hard + +"object.entries@npm:^1.0.3": + version: 1.1.9 + resolution: "object.entries@npm:1.1.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.1.1" + checksum: 10c0/d4b8c1e586650407da03370845f029aa14076caca4e4d4afadbc69cfb5b78035fd3ee7be417141abdb0258fa142e59b11923b4c44d8b1255b28f5ffcc50da7db + languageName: node + linkType: hard + +"object.getownpropertydescriptors@npm:^2.0.2": + version: 2.1.8 + resolution: "object.getownpropertydescriptors@npm:2.1.8" + dependencies: + array.prototype.reduce: "npm:^1.0.6" + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + gopd: "npm:^1.0.1" + safe-array-concat: "npm:^1.1.2" + checksum: 10c0/553e9562fd86637c9c169df23a56f1d810d8c9b580a6d4be11552c009f32469310c9347f3d10325abf0cd9cfe4afc521a1e903fbd24148ae7ec860e1e7c75cf3 + languageName: node + linkType: hard + +"object.values@npm:^1.0.3": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"openpassport-common@workspace:.": + version: 0.0.0-use.local + resolution: "openpassport-common@workspace:." + dependencies: + "@babel/runtime": "npm:^7.23.4" + "@openpassport/zk-kit-imt": "npm:^0.0.5" + "@openpassport/zk-kit-lean-imt": "npm:^0.0.6" + "@openpassport/zk-kit-smt": "npm:^0.0.1" + "@types/node-forge": "npm:^1.3.10" + asn1.js: "npm:^5.4.1" + asn1js: "npm:^3.0.5" + axios: "npm:^1.7.2" + buffer: "npm:^6.0.3" + chai: "npm:^4.3.8" + country-emoji: "npm:^1.5.6" + country-iso-3-to-2: "npm:^1.1.1" + elliptic: "npm:^6.5.5" + fs: "npm:^0.0.1-security" + i18n-iso-countries: "npm:^7.13.0" + js-sha1: "npm:^0.7.0" + js-sha256: "npm:^0.11.0" + js-sha512: "npm:^0.9.0" + json-to-ts: "npm:^2.1.0" + jsrsasign: "npm:^11.1.0" + mocha: "npm:^10.7.3" + node-forge: "https://github.com/remicolin/forge" + path: "npm:^0.12.7" + pkijs: "npm:^3.2.4" + poseidon-lite: "npm:^0.2.0" + prettier: "npm:^3.3.3" + snarkjs: "npm:^0.7.5" + ts-mocha: "npm:^10.0.0" + typescript-parser: "npm:^2.6.1" + uuid: "npm:^11.0.5" + languageName: unknown + linkType: soft + +"optionator@npm:^0.8.1": + version: 0.8.3 + resolution: "optionator@npm:0.8.3" + dependencies: + deep-is: "npm:~0.1.3" + fast-levenshtein: "npm:~2.0.6" + levn: "npm:~0.3.0" + prelude-ls: "npm:~1.1.2" + type-check: "npm:~0.3.2" + word-wrap: "npm:~1.2.3" + checksum: 10c0/ad7000ea661792b3ec5f8f86aac28895850988926f483b5f308f59f4607dfbe24c05df2d049532ee227c040081f39401a268cf7bbf3301512f74c4d760dc6dd8 + languageName: node + linkType: hard + +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.2.6" + object-keys: "npm:^1.1.1" + safe-push-apply: "npm:^1.0.0" + checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path@npm:^0.12.7": + version: 0.12.7 + resolution: "path@npm:0.12.7" + dependencies: + process: "npm:^0.11.1" + util: "npm:^0.10.3" + checksum: 10c0/f795ce5438a988a590c7b6dfd450ec9baa1c391a8be4c2dea48baa6e0f5b199e56cd83b8c9ebf3991b81bea58236d2c32bdafe2c17a2e70c3a2e4c69891ade59 + languageName: node + linkType: hard + +"pathval@npm:^1.1.1": + version: 1.1.1 + resolution: "pathval@npm:1.1.1" + checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pkijs@npm:^3.2.4": + version: 3.2.5 + resolution: "pkijs@npm:3.2.5" + dependencies: + "@noble/hashes": "npm:^1.4.0" + asn1js: "npm:^3.0.5" + bytestreamjs: "npm:^2.0.0" + pvtsutils: "npm:^1.3.2" + pvutils: "npm:^1.1.3" + tslib: "npm:^2.6.3" + checksum: 10c0/47312d5de5c3340827aecc2a4f274240f5e1c0b6df590f46859db84802d7f918bf9cc06b2ca581642eb36339be462eea10be27a50ef981fef7c94f90a8d0b90b + languageName: node + linkType: hard + +"pluralize@npm:^3.1.0": + version: 3.1.0 + resolution: "pluralize@npm:3.1.0" + checksum: 10c0/ef3de0afc61c2f891c377a203a144ac2cbc4bc036dd2fe520e0bd70737e5935edda9b9f649009bd30f506dbc1725502be5b59218dcddf5246a50d71980fee235 + languageName: node + linkType: hard + +"poseidon-lite@npm:^0.2.0": + version: 0.2.1 + resolution: "poseidon-lite@npm:0.2.1" + checksum: 10c0/b1da834c8e1e8db3d8d1e8bfcbac5b5b5abbd3aa65e0a80206f8dfa09c9e858b8bc8d5291596e03c8845505af7982c6c2574fe5b184ce256dc34de9ea325b466 + languageName: node + linkType: hard + +"possible-typed-array-names@npm:^1.0.0": + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: 10c0/7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 + languageName: node + linkType: hard + +"prettier@npm:^3.3.3": + version: 3.5.3 + resolution: "prettier@npm:3.5.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877 + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process@npm:^0.11.1": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"pvtsutils@npm:^1.3.2, pvtsutils@npm:^1.3.6": + version: 1.3.6 + resolution: "pvtsutils@npm:1.3.6" + dependencies: + tslib: "npm:^2.8.1" + checksum: 10c0/b1b42646370505ccae536dcffa662303b2c553995211330c8e39dec9ab8c197585d7751c2c5b9ab2f186feda0219d9bb23c34ee1e565573be96450f79d89a13c + languageName: node + linkType: hard + +"pvutils@npm:^1.1.3": + version: 1.1.3 + resolution: "pvutils@npm:1.1.3" + checksum: 10c0/23489e6b3c76b6afb6964a20f891d6bef092939f401c78bba186b2bfcdc7a13904a0af0a78f7933346510f8c1228d5ab02d3c80e968fd84d3c76ff98d8ec9aac + languageName: node + linkType: hard + +"r1csfile@npm:0.0.48": + version: 0.0.48 + resolution: "r1csfile@npm:0.0.48" + dependencies: + "@iden3/bigarray": "npm:0.0.2" + "@iden3/binfileutils": "npm:0.0.12" + fastfile: "npm:0.0.20" + ffjavascript: "npm:0.3.0" + checksum: 10c0/ea33804b4b51838603873fe4b4975b47e87fd9faad196024e49c02f4e87a0957e5cb333b9f2ac351db5372a7948bbf019218822a10f6b867b96aed90248e3e84 + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.1" + which-builtin-type: "npm:^1.2.1" + checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.3": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-errors: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.1.2, safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + has-symbols: "npm:^1.1.0" + isarray: "npm:^2.0.5" + checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d + languageName: node + linkType: hard + +"safe-buffer@npm:^5.1.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + isarray: "npm:^2.0.5" + checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-regex: "npm:^1.2.1" + checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"semver@npm:^7.3.5": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.2": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.2": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.2": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 + languageName: node + linkType: hard + +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"snarkjs@npm:^0.7.5": + version: 0.7.5 + resolution: "snarkjs@npm:0.7.5" + dependencies: + "@iden3/binfileutils": "npm:0.0.12" + bfj: "npm:^7.0.2" + blake2b-wasm: "npm:^2.4.0" + circom_runtime: "npm:0.1.28" + ejs: "npm:^3.1.6" + fastfile: "npm:0.0.20" + ffjavascript: "npm:0.3.1" + js-sha3: "npm:^0.8.0" + logplease: "npm:^1.2.15" + r1csfile: "npm:0.0.48" + bin: + snarkjs: build/cli.cjs + checksum: 10c0/bc9eb1dac9c5248a4952635edc015185c5f9f268f6d2d29b32934e0b08bc284caaeba7fbc6d712ecff8a4e17c66433ba6b2f2ab5d1a6bb4704c30110fb18e9aa + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.6": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"static-eval@npm:2.0.2": + version: 2.0.2 + resolution: "static-eval@npm:2.0.2" + dependencies: + escodegen: "npm:^1.8.1" + checksum: 10c0/9bc1114ea5ba2a6978664907c4dd3fde6f58767274f6cb4fbfb11ba3a73cb6e74dc11e89ec4a7bf1472a587c1f976fcd4ab8fe9aae1651f5e576f097745d48ff + languageName: node + linkType: hard + +"string-at@npm:^1.0.1": + version: 1.1.0 + resolution: "string-at@npm:1.1.0" + dependencies: + define-properties: "npm:^1.1.3" + es-abstract: "npm:^1.17.0-next.1" + checksum: 10c0/f5b40d3944072f1fb82e6baffad02438e2989391eb0e61e5c9e5d9262df1563b530e8050099cfed4b5b87a8bd59fd50027f23ed604ed0273e52cc9f10da4006d + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string.prototype.padend@npm:^3.0.0": + version: 3.1.6 + resolution: "string.prototype.padend@npm:3.1.6" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/8f2c8c1f3db1efcdc210668c80c87f2cea1253d6029ff296a172b5e13edc9adebeed4942d023de8d31f9b13b69f3f5d73de7141959b1f09817fba5f527e83be1 + languageName: node + linkType: hard + +"string.prototype.padstart@npm:^3.0.0": + version: 3.1.7 + resolution: "string.prototype.padstart@npm:3.1.7" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-object-atoms: "npm:^1.1.1" + checksum: 10c0/b554810e1b65c68c3a1b5bf38d0b17830116491b7ddeeaa4504588cb79e6c614beebe71f4047c5f3ca8fdf5502ef6a0c3770f4374ce5144b1660b81462014e4e + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-data-property: "npm:^1.1.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-object-atoms: "npm:^1.0.0" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.3, string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 + languageName: node + linkType: hard + +"string.prototype.trimleft@npm:^2.0.0": + version: 2.1.3 + resolution: "string.prototype.trimleft@npm:2.1.3" + dependencies: + call-bind: "npm:^1.0.0" + define-properties: "npm:^1.1.3" + string.prototype.trimstart: "npm:^1.0.3" + checksum: 10c0/b4df1232afb5a630668180439c9da44b9efcce31db52fc6f2f102f7748e14a67bef4cc5374b58aa513aaa284aa61b179d2a676ae4225046a209a326aeff01553 + languageName: node + linkType: hard + +"string.prototype.trimright@npm:^2.0.0": + version: 2.1.3 + resolution: "string.prototype.trimright@npm:2.1.3" + dependencies: + call-bind: "npm:^1.0.0" + define-properties: "npm:^1.1.3" + string.prototype.trimend: "npm:^1.0.3" + checksum: 10c0/19d8261d8d410412383a64f5e56e60fe4e765d70d82ec0b3443573fd0afd502964f6e160db8092b0b7cecb34bd2fb8f141c298d69c15ce8eda427e5219ac458e + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.3, string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.12 + resolution: "tinyglobby@npm:0.2.12" + dependencies: + fdir: "npm:^6.4.3" + picomatch: "npm:^4.0.2" + checksum: 10c0/7c9be4fd3625630e262dcb19015302aad3b4ba7fc620f269313e688f2161ea8724d6cb4444baab5ef2826eb6bed72647b169a33ec8eea37501832a2526ff540f + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"tryer@npm:^1.0.1": + version: 1.0.1 + resolution: "tryer@npm:1.0.1" + checksum: 10c0/19070409a0009dc26127636cc14d2415e9cf8b1dc07b29694e57ea8bb5ea1bded012c0e792f6235b46e31189a7b866841668b3850867ff7eac1a6b55332c960d + languageName: node + linkType: hard + +"ts-mocha@npm:^10.0.0": + version: 10.1.0 + resolution: "ts-mocha@npm:10.1.0" + dependencies: + ts-node: "npm:7.0.1" + tsconfig-paths: "npm:^3.5.0" + peerDependencies: + mocha: ^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X || ^11.X.X + dependenciesMeta: + tsconfig-paths: + optional: true + bin: + ts-mocha: bin/ts-mocha + checksum: 10c0/ebc4be7d31939c502f6ff5bebe67a8370b69a76dac2889a5a6fc56fa0c11e25298f45c6ab81260d9899fc0120402ed75f0cf6dce37020df27ada55787b70bb42 + languageName: node + linkType: hard + +"ts-node@npm:7.0.1": + version: 7.0.1 + resolution: "ts-node@npm:7.0.1" + dependencies: + arrify: "npm:^1.0.0" + buffer-from: "npm:^1.1.0" + diff: "npm:^3.1.0" + make-error: "npm:^1.1.1" + minimist: "npm:^1.2.0" + mkdirp: "npm:^0.5.1" + source-map-support: "npm:^0.5.6" + yn: "npm:^2.0.0" + bin: + ts-node: dist/bin.js + checksum: 10c0/d6307766a716a77999e11c7f310312cf9d6addb98859d71e71d611ecafa6bdb90f07365f9acf7e9489cb43cfc2211486303172c3bcda370d20f0be54884fe647 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.5.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" + dependencies: + "@types/json5": "npm:^0.0.29" + json5: "npm:^1.0.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 + languageName: node + linkType: hard + +"tslib@npm:^1.9.3": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 + languageName: node + linkType: hard + +"tslib@npm:^2.6.3, tslib@npm:^2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: "npm:~1.1.2" + checksum: 10c0/776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 + languageName: node + linkType: hard + +"type-detect@npm:^4.0.0, type-detect@npm:^4.1.0": + version: 4.1.0 + resolution: "type-detect@npm:4.1.0" + checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.15" + reflect.getprototypeof: "npm:^1.0.9" + checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + is-typed-array: "npm:^1.1.13" + possible-typed-array-names: "npm:^1.0.0" + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 + languageName: node + linkType: hard + +"typescript-parser@npm:^2.6.1": + version: 2.6.1 + resolution: "typescript-parser@npm:2.6.1" + dependencies: + lodash: "npm:^4.17.10" + lodash-es: "npm:^4.17.10" + tslib: "npm:^1.9.3" + typescript: "npm:^3.0.3" + checksum: 10c0/3436d33485dcb9c37265da32367864b97cf13baa85ad7c8a0ec4933f316ed3ad8936e83de1d216cd20fa8958ce398a3652ae518763f65f8e5ee9c63333a6116c + languageName: node + linkType: hard + +"typescript@npm:^3.0.3": + version: 3.9.10 + resolution: "typescript@npm:3.9.10" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/863cc06070fa18a0f9c6a83265fb4922a8b51bf6f2c6760fb0b73865305ce617ea4bc6477381f9f4b7c3a8cb4a455b054f5469e6e41307733fe6a2bd9aae82f8 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^3.0.3#optional!builtin": + version: 3.9.10 + resolution: "typescript@patch:typescript@npm%3A3.9.10#optional!builtin::version=3.9.10&hash=3bd3d3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/9041fb3886e7d6a560f985227b8c941d17a750f2edccb5f9b3a15a2480574654d9be803ad4a14aabcc2f2553c4d272a25fd698a7c42692f03f66b009fb46883c + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + which-boxed-primitive: "npm:^1.1.1" + checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 + languageName: node + linkType: hard + +"underscore@npm:1.12.1": + version: 1.12.1 + resolution: "underscore@npm:1.12.1" + checksum: 10c0/00f392357e363353ac485e7c156b749505087e31ff4fdad22e04ebd2f94a56fbc554cd41a6722e3895a818466cf298b1cae93ff6211d102d373a9b50db63bfd0 + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"util@npm:^0.10.3": + version: 0.10.4 + resolution: "util@npm:0.10.4" + dependencies: + inherits: "npm:2.0.3" + checksum: 10c0/d29f6893e406b63b088ce9924da03201df89b31490d4d011f1c07a386ea4b3dbe907464c274023c237da470258e1805d806c7e4009a5974cd6b1d474b675852a + languageName: node + linkType: hard + +"uuid@npm:^11.0.5": + version: 11.1.0 + resolution: "uuid@npm:11.1.0" + bin: + uuid: dist/esm/bin/uuid + checksum: 10c0/34aa51b9874ae398c2b799c88a127701408cd581ee89ec3baa53509dd8728cbb25826f2a038f9465f8b7be446f0fbf11558862965b18d21c993684297628d4d3 + languageName: node + linkType: hard + +"wasmbuilder@npm:0.0.16": + version: 0.0.16 + resolution: "wasmbuilder@npm:0.0.16" + checksum: 10c0/9e7e25c0b281fb83b272ba628b2f94c3e5ac7a3a488149be3548c52fa7c4502a76339bf2eb6a92e8f23b46da429dda69fe15e794b55c05ba769fe60ff74c73f3 + languageName: node + linkType: hard + +"wasmcurves@npm:0.2.2": + version: 0.2.2 + resolution: "wasmcurves@npm:0.2.2" + dependencies: + wasmbuilder: "npm:0.0.16" + checksum: 10c0/9ee35e3a333f04f5c1233ad3a59401f20cc1074a4c219a0545337e5ca78a962da4e04155f28edd205b0d52fbcd121d2b0bac4489b011affd0c68dfb7ae37cdab + languageName: node + linkType: hard + +"web-worker@npm:1.2.0": + version: 1.2.0 + resolution: "web-worker@npm:1.2.0" + checksum: 10c0/2bec036cd4784148e2f135207c62facf4457a0f2b205d6728013b9f0d7c62404dced95fcd849478387e10c8ae636d665600bd0d99d80b18c3bb2a7f045aa20d8 + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" + dependencies: + is-bigint: "npm:^1.1.0" + is-boolean-object: "npm:^1.2.1" + is-number-object: "npm:^1.1.1" + is-string: "npm:^1.1.1" + is-symbol: "npm:^1.1.1" + checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe + languageName: node + linkType: hard + +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + function.prototype.name: "npm:^1.1.6" + has-tostringtag: "npm:^1.0.2" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.1.0" + is-finalizationregistry: "npm:^1.1.0" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.2.1" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.1.0" + which-collection: "npm:^1.0.2" + which-typed-array: "npm:^1.1.16" + checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.2": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" + dependencies: + is-map: "npm:^2.0.3" + is-set: "npm:^2.0.3" + is-weakmap: "npm:^2.0.2" + is-weakset: "npm:^2.0.3" + checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18": + version: 1.1.19 + resolution: "which-typed-array@npm:1.1.19" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + for-each: "npm:^0.3.5" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/702b5dc878addafe6c6300c3d0af5983b175c75fcb4f2a72dfc3dd38d93cf9e89581e4b29c854b16ea37e50a7d7fca5ae42ece5c273d8060dcd603b2404bbb3f + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"word-wrap@npm:~1.2.3": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"workerpool@npm:^6.5.1": + version: 6.5.1 + resolution: "workerpool@npm:6.5.1" + checksum: 10c0/58e8e969782292cb3a7bfba823f1179a7615250a0cefb4841d5166234db1880a3d0fe83a31dd8d648329ec92c2d0cd1890ad9ec9e53674bb36ca43e9753cdeac + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 + languageName: node + linkType: hard + +"yargs-unparser@npm:^2.0.0": + version: 2.0.0 + resolution: "yargs-unparser@npm:2.0.0" + dependencies: + camelcase: "npm:^6.0.0" + decamelize: "npm:^4.0.0" + flat: "npm:^5.0.2" + is-plain-obj: "npm:^2.1.0" + checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 + languageName: node + linkType: hard + +"yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.0" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 + languageName: node + linkType: hard + +"yn@npm:^2.0.0": + version: 2.0.0 + resolution: "yn@npm:2.0.0" + checksum: 10c0/a52d74080871f22b3af8a6068d8579b86bf2bb81a968f6e406aa6e1ee85ba15f2e1d334184df6cd81024cec32a3cc8dc1f2f09ec4957b58b7b038b3cdef5cbd1 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard From 91d86b6fdbfcc63cc677f100743e9084895b4103 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Fri, 18 Apr 2025 07:36:43 -0500 Subject: [PATCH 07/49] [SEL-46] FE: Add minimum bottom padding (#510) * fix bottom padding for smaller screens * fix podfile post install hook permissions check * update pod lock and disable git commit action step for now * update lock * fix flaky android downloads that causes pipeline to crash --- app/ios/Podfile | 84 +++++++++------------- app/ios/Podfile.lock | 2 +- app/src/layouts/ExpandableBottomLayout.tsx | 5 +- 3 files changed, 36 insertions(+), 55 deletions(-) diff --git a/app/ios/Podfile b/app/ios/Podfile index 0bcb6b9a6..41e71f0f0 100644 --- a/app/ios/Podfile +++ b/app/ios/Podfile @@ -2,65 +2,63 @@ use_frameworks! require 'tmpdir' # Resolve react_native_pods.rb with node to allow for hoisting -require Pod::Executable.execute_command('node', ['-p', - 'require.resolve( +require Pod::Executable.execute_command("node", ["-p", + 'require.resolve( "react-native/scripts/react_native_pods.rb", {paths: [process.argv[1]]}, )', __dir__]).strip -project 'Self.xcodeproj' +project "Self.xcodeproj" platform :ios, '15.0' if !ENV['ACT'] prepare_react_native_project! - -linkage = ENV['USE_FRAMEWORKS'] +linkage = ENV["USE_FRAMEWORKS"] if linkage != nil Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green use_frameworks! :linkage => linkage.to_sym end -target 'Self' do - +target "Self" do config = use_native_modules! use_frameworks! - pod 'NFCPassportReader', git: 'https://github.com/zk-passport/NFCPassportReader', commit: '9bf434c86a01ae9670422f5a7484d7405124a108' - pod 'QKMRZScanner' - pod 'lottie-ios' - pod 'SwiftQRScanner', :git => 'https://github.com/vinodiOS/SwiftQRScanner' - pod 'RNReactNativeHapticFeedback', :path => '../node_modules/react-native-haptic-feedback', :modular_headers => true + pod "NFCPassportReader", git: "https://github.com/zk-passport/NFCPassportReader", commit: "9bf434c86a01ae9670422f5a7484d7405124a108" + pod "QKMRZScanner" + pod "lottie-ios" + pod "SwiftQRScanner", :git => "https://github.com/vinodiOS/SwiftQRScanner" + pod "RNReactNativeHapticFeedback", :path => "../node_modules/react-native-haptic-feedback", :modular_headers => true use_react_native!( :path => config[:reactNativePath], - :hermes_enabled => false, # :fabric_enabled => flags[:fabric_enabled], # An absolute path to your application root. - :app_path => "#{Pod::Config.instance.installation_root}/.." + :app_path => "#{Pod::Config.instance.installation_root}/..", ) - pod 'Sentry', :modular_headers => true - pod 'SentryPrivate', :modular_headers => true + pod "Sentry", :modular_headers => true + pod "SentryPrivate", :modular_headers => true post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| - if target.name == 'RNZipArchive' + if target.name == "RNZipArchive" target.source_build_phase.files.each do |file| - if file.settings && file.settings['COMPILER_FLAGS'] - file.settings['COMPILER_FLAGS'] = '' + if file.settings && file.settings["COMPILER_FLAGS"] + file.settings["COMPILER_FLAGS"] = "" end end end - target.build_configurations.each do |config| - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION'] - end + target.build_configurations.each do |config| + config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = "15.0" + config.build_settings["GCC_PREPROCESSOR_DEFINITIONS"] ||= ["$(inherited)", "_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION"] + end end end bitcode_strip_path = `xcrun --find bitcode_strip`.chop! + def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path) framework_path = File.join(Dir.pwd, framework_relative_path) command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}" @@ -88,41 +86,23 @@ target 'Self' do ) installer.pods_project.targets.each do |target| - if target.name == 'RNReactNativeHapticFeedback' + if target.name == "RNReactNativeHapticFeedback" target.build_configurations.each do |config| - config.build_settings['OTHER_LDFLAGS'] ||= ['$(inherited)'] - config.build_settings['OTHER_LDFLAGS'] << '-framework AudioToolbox' + config.build_settings["OTHER_LDFLAGS"] ||= ["$(inherited)"] + config.build_settings["OTHER_LDFLAGS"] << "-framework AudioToolbox" end end end # update QKCutoutView.swift to hide OCR border - qkCutoutView = 'Pods/QKMRZScanner/QKMRZScanner/QKCutoutView.swift' + qkCutoutView = "Pods/QKMRZScanner/QKMRZScanner/QKCutoutView.swift" if File.exist?(qkCutoutView) - puts "Adding build phase script to patch QKCutoutView.swift" - phase_name = "Patch QKCutoutView to hide border" - - # Find the QKMRZScanner target - qkmrz_target = installer.pods_project.targets.find { |t| t.name == 'QKMRZScanner' } - - if qkmrz_target - # Check if the phase already exists to avoid duplicates - unless qkmrz_target.shell_script_build_phases.any? { |bp| bp.name == phase_name } - # Add a build phase that will patch the file during build time - phase = qkmrz_target.new_shell_script_build_phase(phase_name) - phase.shell_script = <<~SCRIPT - QKCUTOUT_PATH="${PODS_TARGET_SRCROOT}/QKMRZScanner/QKCutoutView.swift" - if [ -f "$QKCUTOUT_PATH" ]; then - # Use sed to comment out the line with addBorderAroundCutout - sed -i '' 's/^\\(\\s*addBorderAroundCutout\\s*(.*)\\)/\\/\\/\\1/' "$QKCUTOUT_PATH" - echo "Successfully patched QKCutoutView.swift to hide border" - else - echo "Warning: Could not find QKCutoutView.swift at $QKCUTOUT_PATH" - fi - SCRIPT - end - else - puts "Warning: Could not find QKMRZScanner target to add build phase" + text = File.read(qkCutoutView) + # Only modify if the line is not already commented + if text.match?(/^\s*[^\/]*addBorderAroundCutout\s*\(\s*\)/) + # Comment out the line containing "addBorderAroundCutout()" + new_text = text.gsub(/^(\s*addBorderAroundCutout\s*\(\s*\))/, '// \1') + File.open(qkCutoutView, "w") { |file| file.puts new_text } end else puts "Warning: Could not find QKCutoutView.swift at #{qkCutoutView}" @@ -135,4 +115,4 @@ target 'Self' do end end end -end \ No newline at end of file +end diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 13630a92b..2a3b6806c 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -2046,6 +2046,6 @@ SPEC CHECKSUMS: SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178 -PODFILE CHECKSUM: 9eaf085590e4280f6aedd49c2efe960fbf2b4079 +PODFILE CHECKSUM: 2b468179668cdef7353db1854af53acb7048e65b COCOAPODS: 1.16.2 diff --git a/app/src/layouts/ExpandableBottomLayout.tsx b/app/src/layouts/ExpandableBottomLayout.tsx index 701323871..0404a29e2 100644 --- a/app/src/layouts/ExpandableBottomLayout.tsx +++ b/app/src/layouts/ExpandableBottomLayout.tsx @@ -88,11 +88,12 @@ const BottomSection: React.FC = ({ style, ...props }) => { - const { bottom } = useSafeAreaInsets(); + const { bottom: safeAreaBottom } = useSafeAreaInsets(); const incomingBottom = props.paddingBottom ?? props.pb ?? 0; + const minBottom = Math.max(safeAreaBottom, 10); const totalBottom = - typeof incomingBottom === 'number' ? bottom + incomingBottom : bottom; + typeof incomingBottom === 'number' ? minBottom + incomingBottom : minBottom; return ( Date: Fri, 18 Apr 2025 16:18:06 +0300 Subject: [PATCH 08/49] fix: improve error handling for forbidden countries list mismatch (#494) * Update SelfBackendVerifier.ts * Update constants.ts * Update formatInputs.ts * Update formatCallData.ts --- common/src/constants/constants.ts | 6 ++++ common/src/utils/circuits/formatInputs.ts | 32 +++++++++++++++++- common/src/utils/contracts/formatCallData.ts | 7 ++++ sdk/core/src/SelfBackendVerifier.ts | 35 ++++++++++++++++++-- 4 files changed, 77 insertions(+), 3 deletions(-) diff --git a/common/src/constants/constants.ts b/common/src/constants/constants.ts index c2f523f47..604425d22 100644 --- a/common/src/constants/constants.ts +++ b/common/src/constants/constants.ts @@ -31,6 +31,12 @@ export const DEFAULT_MAJORITY = '18'; export const hashAlgos = ['sha512', 'sha384', 'sha256', 'sha224', 'sha1']; export const saltLengths = [64, 48, 32]; +/** + * Maximum number of countries in the forbidden countries list. + * + * IMPORTANT: This value must match in both backend and frontend SDK. + * Any mismatch will result in an INVALID_FORBIDDEN_COUNTRIES error. + */ export const MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH = 40; export const DEPLOYED_CIRCUITS_REGISTER = [ diff --git a/common/src/utils/circuits/formatInputs.ts b/common/src/utils/circuits/formatInputs.ts index 272456832..331332234 100644 --- a/common/src/utils/circuits/formatInputs.ts +++ b/common/src/utils/circuits/formatInputs.ts @@ -1,9 +1,39 @@ import { MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH } from "../../constants/constants"; +import { commonNames } from "../../constants/countries"; +/** + * Formats the list of country codes for use in verification circuits. + * Important: this list must exactly match the list in the backend. + * + * @param countries Array of three-letter country codes + * @returns Formatted byte array representing country codes + * @throws Error if the maximum list length is exceeded or if country codes are invalid + */ export function formatCountriesList(countries: string[]) { + // Check maximum list length if (countries.length > MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH) { throw new Error(`Countries list must be inferior or equals to ${MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH}`); } + + // Validate country codes + for (const country of countries) { + if (!country || country.length !== 3) { + throw new Error(`Invalid country code: "${country}". Country codes must be exactly 3 characters long.`); + } + + // Optional check for the country code existence in the list of valid codes + // This code can be uncommented if strict validation of country codes is needed + /* + const isValidCountry = Object.values(commonNames).some( + name => name === country || country in commonNames + ); + + if (!isValidCountry) { + throw new Error(`Unknown country code: "${country}". Please use valid 3-letter ISO country codes.`); + } + */ + } + const paddedCountries = countries.concat(Array(MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH - countries.length).fill('')); const result = paddedCountries.flatMap((country) => { const chars = country @@ -37,4 +67,4 @@ export function reverseCountryBytes(input: string): string { } return '0x' + reversedGroups.join('') + remainder; -} \ No newline at end of file +} diff --git a/common/src/utils/contracts/formatCallData.ts b/common/src/utils/contracts/formatCallData.ts index 7dca0b34a..5bb3e0df4 100644 --- a/common/src/utils/contracts/formatCallData.ts +++ b/common/src/utils/contracts/formatCallData.ts @@ -46,6 +46,13 @@ export function packForbiddenCountriesList(forbiddenCountries: string[]): string const REQUIRED_CHUNKS = 4; const bytes: number[] = []; + // Validate all country codes (3 characters) + for (const country of forbiddenCountries) { + if (!country || country.length !== 3) { + throw new Error(`Invalid country code: "${country}". Country codes must be exactly 3 characters long.`); + } + } + // Convert countries to bytes for (const country of forbiddenCountries) { const countryCode = country.padEnd(3, ' ').slice(0, 3); diff --git a/sdk/core/src/SelfBackendVerifier.ts b/sdk/core/src/SelfBackendVerifier.ts index e47e9eb41..aaf61f2e9 100644 --- a/sdk/core/src/SelfBackendVerifier.ts +++ b/sdk/core/src/SelfBackendVerifier.ts @@ -138,7 +138,13 @@ export class SelfBackendVerifier { let result: any; try { result = await this.verifyAllContract.verifyAll(timestamp, vcAndDiscloseHubProof, types); - } catch (error) { + } catch (error: any) { + let errorMessage = error instanceof Error ? error.message : 'Unknown error'; + + if (error && typeof error === 'object' && error.message && error.message.includes('INVALID_FORBIDDEN_COUNTRIES')) { + errorMessage = 'The forbidden countries list in the backend does not match the list provided in the frontend SDK. Please ensure both lists are identical.'; + } + return { isValid: false, isValidDetails: { @@ -157,7 +163,7 @@ export class SelfBackendVerifier { publicSignals: publicSignals, }, }, - error: error, + error: errorMessage, }; } @@ -224,10 +230,35 @@ export class SelfBackendVerifier { return this; } + /** + * Sets the list of countries to be excluded in the verification. + * This list must exactly match the list configured in the backend. + * + * @param countries Array of 3-letter country codes to exclude + * @returns This instance for method chaining + * @throws Error if more than 40 countries are provided or if any country code is invalid + */ excludeCountries(...countries: Country3LetterCode[]): this { if (countries.length > 40) { throw new Error('Number of excluded countries cannot exceed 40'); } + + // Validate country codes + for (const country of countries) { + if (!country || country.length !== 3) { + throw new Error(`Invalid country code: "${country}". Country codes must be exactly 3 characters long.`); + } + + // Check if the country code exists in the list of valid codes (additional check) + const isValidCountry = Object.values(commonNames).some( + name => name === country || country in commonNames + ); + + if (!isValidCountry) { + throw new Error(`Unknown country code: "${country}". Please use valid 3-letter ISO country codes.`); + } + } + this.excludedCountries = { enabled: true, value: countries }; return this; } From 3c51feafdfe599be551ab4a1b99741bb754be816 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 21 Apr 2025 15:10:56 -0500 Subject: [PATCH 09/49] DX: Auto format on save (#526) * save wip * use elint instead of prettier to sort imports * set imports to warn * sync prettier settigns * update prettier settings * save working version * fix export and disable mobile pipeline for now * limit auto formatting to the app folder --- .github/workflows/mobile-deploy.yml | 22 +- .prettierrc | 12 + .vscode/settings.json | 73 ++++++ app/.eslintrc.js | 22 +- app/.prettierrc | 11 + app/.prettierrc.js | 11 - app/App.tsx | 2 +- app/index.js | 8 +- app/package.json | 6 +- app/src/Navigation/index.tsx | 8 +- app/src/Navigation/static.tsx | 3 +- app/src/Segment.ts | 5 +- .../components/BackupDocumentationLink.tsx | 1 - app/src/components/Disclosures.tsx | 1 - app/src/components/Mnemonic.tsx | 3 +- app/src/components/NavBar/BaseNavBar.tsx | 3 +- app/src/components/NavBar/DefaultNavBar.tsx | 3 +- app/src/components/NavBar/HomeNavBar.tsx | 3 +- app/src/components/NavBar/ProgressNavBar.tsx | 5 +- app/src/components/Tips.tsx | 1 - app/src/components/buttons/AbstractButton.tsx | 1 - app/src/components/native/RCTFragment.tsx | 2 +- app/src/components/typography/BodyText.ts | 2 +- app/src/components/typography/Description.tsx | 1 - .../typography/DescriptionTitle.tsx | 2 +- app/src/components/typography/SubHeader.tsx | 2 +- app/src/components/typography/Title.tsx | 3 +- app/src/hooks/useAppUpdates.ts | 3 +- app/src/hooks/useConnectionModal.ts | 5 +- app/src/hooks/useHapticNavigation.ts | 3 +- app/src/hooks/useMnemonic.ts | 3 +- app/src/hooks/useModal.ts | 3 +- app/src/layouts/ExpandableBottomLayout.tsx | 1 - app/src/layouts/SimpleScrolledTitleLayout.tsx | 1 - .../AccountRecoveryChoiceScreen.tsx | 3 +- .../AccountFlow/AccountRecoveryScreen.tsx | 1 - .../AccountVerifiedSuccessScreen.tsx | 3 +- .../AccountFlow/RecoverWithPhraseScreen.tsx | 5 +- .../AccountFlow/SaveRecoveryPhraseScreen.tsx | 2 +- app/src/screens/DisclaimerScreen.tsx | 5 +- app/src/screens/HomeScreen.tsx | 5 +- app/src/screens/LaunchScreen.tsx | 3 +- app/src/screens/MockDataScreen.tsx | 11 +- .../Onboarding/ConfirmBelongingScreen.tsx | 3 +- app/src/screens/Onboarding/LoadingScreen.tsx | 5 +- .../Onboarding/PassportCameraScreen.tsx | 5 +- .../Onboarding/PassportNFCScanScreen.tsx | 9 +- .../Onboarding/PassportOnboardingScreen.tsx | 7 +- .../Onboarding/UnsupportedPassport.tsx | 3 +- .../ProveFlow/ProofRequestStatusScreen.tsx | 5 +- app/src/screens/ProveFlow/ProveScreen.tsx | 9 +- app/src/screens/ProveFlow/ViewFinder.tsx | 5 +- .../screens/Settings/CloudBackupScreen.tsx | 5 +- .../screens/Settings/DevSettingsScreen.tsx | 5 +- app/src/screens/Settings/ModalScreen.tsx | 5 +- .../Settings/PassportDataInfoScreen.tsx | 15 +- app/src/screens/SettingsScreen.tsx | 7 +- app/src/screens/SplashScreen.tsx | 5 +- .../_Aesop/PassportOnboardingScreen.tsx | 7 +- app/src/stores/appProvider.tsx | 1 - app/src/stores/authProvider.tsx | 5 +- app/src/stores/passportDataProvider.tsx | 2 +- app/src/stores/proofProvider.tsx | 2 +- app/src/utils/cloudBackup/index.ts | 3 +- app/src/utils/ethers.ts | 3 +- app/src/utils/nfcScannerNew.ts | 3 +- app/src/utils/proving/inputs.ts | 4 +- app/src/utils/proving/tee.ts | 2 +- app/src/utils/qrCodeNew.ts | 3 +- app/yarn.lock | 222 +++++++----------- 70 files changed, 322 insertions(+), 301 deletions(-) create mode 100644 .prettierrc create mode 100644 .vscode/settings.json create mode 100644 app/.prettierrc delete mode 100644 app/.prettierrc.js diff --git a/.github/workflows/mobile-deploy.yml b/.github/workflows/mobile-deploy.yml index 78ccf210c..14bfbc418 100644 --- a/.github/workflows/mobile-deploy.yml +++ b/.github/workflows/mobile-deploy.yml @@ -44,6 +44,8 @@ on: jobs: build-ios: + # disable for now, will fix soon + if: false runs-on: macos-latest steps: - name: Set up Xcode @@ -309,41 +311,41 @@ jobs: - name: Remove project.pbxproj updates we don't want to commit run: | PBXPROJ_FILE="app/ios/Self.xcodeproj/project.pbxproj" - + # Create a temporary file to store version info echo "Extracting version information..." rm -f versions.txt grep -E 'CURRENT_PROJECT_VERSION = [0-9]+;|MARKETING_VERSION = [0-9]+\.[0-9]+\.[0-9]+;' "${PBXPROJ_FILE}" > versions.txt - + # Check if we have version information if [ -s versions.txt ]; then echo "Found version information. Resetting file and re-applying versions..." - + # Store the version values CURRENT_VERSION=$(grep 'CURRENT_PROJECT_VERSION' versions.txt | head -1 | sed 's/.*CURRENT_PROJECT_VERSION = \([0-9]*\);.*/\1/') MARKETING_VERSION=$(grep 'MARKETING_VERSION' versions.txt | head -1 | sed 's/.*MARKETING_VERSION = \([0-9]*\.[0-9]*\.[0-9]*\);.*/\1/') - + echo "Current version: $CURRENT_VERSION" echo "Marketing version: $MARKETING_VERSION" - + # Reset the file to HEAD git checkout HEAD -- "${PBXPROJ_FILE}" - + # Update the versions if they exist if [ ! -z "$CURRENT_VERSION" ]; then sed -i '' "s/\(CURRENT_PROJECT_VERSION = \)[0-9]*;/\1$CURRENT_VERSION;/g" "${PBXPROJ_FILE}" fi - + if [ ! -z "$MARKETING_VERSION" ]; then sed -i '' "s/\(MARKETING_VERSION = \)[0-9]*\.[0-9]*\.[0-9]*;/\1$MARKETING_VERSION;/g" "${PBXPROJ_FILE}" fi - + echo "Version information successfully applied." else echo "No version information found. Resetting file..." git checkout HEAD -- "${PBXPROJ_FILE}" fi - + # Clean up rm -f versions.txt @@ -361,6 +363,8 @@ jobs: commit_paths: "./app/ios/OpenPassport/Info.plist ./app/ios/Self.xcodeproj/project.pbxproj" build-android: + # disable for now, will fix soon + if: false runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..4530c4e8e --- /dev/null +++ b/.prettierrc @@ -0,0 +1,12 @@ +{ + "arrowParens": "avoid", + "bracketSameLine": false, + "bracketSpacing": true, + "singleQuote": true, + "trailingComma": "all", + "tabWidth": 2, + "useTabs": false, + "semi": true, + "endOfLine": "auto", + "parser": "typescript" +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..3970cd642 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,73 @@ +{ + // Formatting & Linting + "editor.formatOnSave": false, + "editor.formatOnPaste": false, + + // Path-specific formatting + "[**/app/**]": { + "editor.formatOnSave": true + }, + + // ESLint Configuration + "eslint.run": "onType", + "eslint.alwaysShowStatus": true, + "eslint.format.enable": true, + "eslint.lintTask.enable": true, + "eslint.quiet": false, + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact" + ], + "eslint.probe": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact" + ], + + // Auto-fix Actions + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "always", + "source.organizeImports": "always" + }, + "editor.codeActionsOnSave.mode": "all", + + // TypeScript Specific Rules + "typescript.format.enable": false, // Disable VS Code's built-in formatter for TypeScript + "[typescript]": { + "editor.defaultFormatter": null // Let ESLint handle TypeScript formatting + }, + "[typescriptreact]": { + "editor.defaultFormatter": null // Let ESLint handle TypeScript React formatting + }, + + // Indentation & Whitespace + "editor.tabSize": 2, + "editor.insertSpaces": true, + "editor.indentSize": "tabSize", + "editor.detectIndentation": true, + "editor.useTabStops": true, + "editor.stickyTabStops": true, + "editor.trimAutoWhitespace": true, + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true, + "files.trimFinalNewlines": true, + "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false, + "typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false, + + // Editor Visual Aids + "editor.renderWhitespace": "selection", + "editor.renderControlCharacters": true, + "editor.rulers": [100], + "editor.wordWrap": "off", + "editor.wrappingIndent": "none", + + // Editor suggestions + "editor.quickSuggestions": { + "other": true, + "comments": false, + "strings": false + } +} diff --git a/app/.eslintrc.js b/app/.eslintrc.js index cdcfd73a6..20f4fdd00 100644 --- a/app/.eslintrc.js +++ b/app/.eslintrc.js @@ -1,9 +1,29 @@ module.exports = { root: true, - extends: '@react-native', + extends: ['@react-native', 'plugin:prettier/recommended'], + plugins: ['simple-import-sort', 'prettier'], ignorePatterns: ['ios/', 'android/', 'deployments/', 'node_modules/'], rules: { + // Import sorting rules + 'simple-import-sort/imports': 'warn', + 'simple-import-sort/exports': 'warn', + + // Add prettier rule to show prettier errors as ESLint errors + 'prettier/prettier': [ + 'warn', + { + // Fix for TypeScript union types indentation + typescriptBracketSpacing: true, + typeAssertionStyle: 'as', + }, + { usePrettierrc: true }, + ], + + // Preserve project-specific rule exemptions 'react-native/no-inline-styles': 'off', 'react-hooks/exhaustive-deps': 'off', + + // Override any ESLint rules that conflict with the TypeScript union type formatting + '@typescript-eslint/indent': 'off', }, }; diff --git a/app/.prettierrc b/app/.prettierrc new file mode 100644 index 000000000..41334fc47 --- /dev/null +++ b/app/.prettierrc @@ -0,0 +1,11 @@ +{ + "arrowParens": "avoid", + "bracketSameLine": false, + "bracketSpacing": true, + "singleQuote": true, + "trailingComma": "all", + "tabWidth": 2, + "useTabs": false, + "semi": true, + "endOfLine": "auto" +} diff --git a/app/.prettierrc.js b/app/.prettierrc.js deleted file mode 100644 index 297155706..000000000 --- a/app/.prettierrc.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - arrowParens: 'avoid', - bracketSameLine: false, - bracketSpacing: true, - singleQuote: true, - trailingComma: 'all', - plugins: ['@trivago/prettier-plugin-sort-imports'], - importOrder: ['^react', '', '^[./]'], - importOrderSeparation: true, - importOrderSortSpecifiers: true, -}; diff --git a/app/App.tsx b/app/App.tsx index fde02d89d..e0f3dcd29 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,7 +1,7 @@ -import React from 'react'; import 'react-native-get-random-values'; import { Buffer } from 'buffer'; +import React from 'react'; import { YStack } from 'tamagui'; import AppNavigation from './src/Navigation'; diff --git a/app/index.js b/app/index.js index 40dc2cfa0..9e29e1677 100644 --- a/app/index.js +++ b/app/index.js @@ -1,16 +1,16 @@ /** * @format */ -import React from 'react'; -import { AppRegistry, LogBox } from 'react-native'; +import './src/utils/ethers'; import { config } from '@tamagui/config/v2-native'; import { ToastProvider } from '@tamagui/toast'; -import { TamaguiProvider, createTamagui } from 'tamagui'; +import React from 'react'; +import { AppRegistry, LogBox } from 'react-native'; +import { createTamagui, TamaguiProvider } from 'tamagui'; import App from './App'; import { name as appName } from './app.json'; -import './src/utils/ethers'; const tamaguiConfig = createTamagui(config); diff --git a/app/package.json b/app/package.json index 9e64484a4..8d7c5e200 100644 --- a/app/package.json +++ b/app/package.json @@ -107,7 +107,6 @@ "@react-native/metro-config": "0.75.4", "@react-native/typescript-config": "0.75.4", "@tamagui/types": "1.110.0", - "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@tsconfig/react-native": "^3.0.0", "@types/add": "^2", "@types/elliptic": "^6", @@ -119,8 +118,11 @@ "@types/react-native": "^0.73.0", "@types/react-native-dotenv": "^0.2.0", "eslint": "^8.19.0", + "eslint-config-prettier": "^10.1.2", + "eslint-plugin-prettier": "^5.2.6", + "eslint-plugin-simple-import-sort": "^12.1.1", "jest": "^29.6.3", - "prettier": "2.8.8", + "prettier": "^3.5.3", "react-native-bundle-visualizer": "^3.1.3", "react-native-svg-transformer": "^1.5.0", "stream-browserify": "^3.0.0", diff --git a/app/src/Navigation/index.tsx b/app/src/Navigation/index.tsx index 386b69d33..59734916a 100644 --- a/app/src/Navigation/index.tsx +++ b/app/src/Navigation/index.tsx @@ -1,13 +1,13 @@ -import React from 'react'; import 'react-native-gesture-handler'; -import { GestureHandlerRootView } from 'react-native-gesture-handler'; import { - StaticParamList, createNavigationContainerRef, createStaticNavigation, + StaticParamList, } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import React from 'react'; +import { GestureHandlerRootView } from 'react-native-gesture-handler'; import { DefaultNavBar } from '../components/NavBar'; import AppLayout from '../layouts/AppLayout'; @@ -21,6 +21,7 @@ import aesopScreens from './aesop'; import homeScreens from './home'; import passportScreens from './passport'; import proveScreens from './prove'; +import recoveryScreens from './recovery'; import settingsScreens from './settings'; import staticScreens from './static'; @@ -39,6 +40,7 @@ const AppNavigation = createNativeStackNavigator({ ...proveScreens, ...accountScreens, ...settingsScreens, + ...recoveryScreens, ...aesopScreens, }, }); diff --git a/app/src/Navigation/static.tsx b/app/src/Navigation/static.tsx index 30c921907..b134597ca 100644 --- a/app/src/Navigation/static.tsx +++ b/app/src/Navigation/static.tsx @@ -1,8 +1,7 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import React from 'react'; import { StatusBar } from 'react-native'; -import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; - import LaunchScreen from '../screens/LaunchScreen'; import ModalScreen from '../screens/Settings/ModalScreen'; import SplashScreen from '../screens/SplashScreen'; diff --git a/app/src/Segment.ts b/app/src/Segment.ts index d6b842b8e..21fe64b31 100644 --- a/app/src/Segment.ts +++ b/app/src/Segment.ts @@ -1,10 +1,11 @@ -import { SEGMENT_KEY } from '@env'; import '@ethersproject/shims'; + +import { SEGMENT_KEY } from '@env'; import { + createClient, EventPlugin, PluginType, SegmentEvent, - createClient, } from '@segment/analytics-react-native'; let segmentClient: ReturnType | null = null; diff --git a/app/src/components/BackupDocumentationLink.tsx b/app/src/components/BackupDocumentationLink.tsx index 94964d73c..91f8117c9 100644 --- a/app/src/components/BackupDocumentationLink.tsx +++ b/app/src/components/BackupDocumentationLink.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { Platform } from 'react-native'; - import { Anchor, styled } from 'tamagui'; const StyledAnchor = styled(Anchor, { diff --git a/app/src/components/Disclosures.tsx b/app/src/components/Disclosures.tsx index 162afa31f..ea9a2db81 100644 --- a/app/src/components/Disclosures.tsx +++ b/app/src/components/Disclosures.tsx @@ -1,5 +1,4 @@ import React from 'react'; - import { XStack, YStack } from 'tamagui'; import { diff --git a/app/src/components/Mnemonic.tsx b/app/src/components/Mnemonic.tsx index 279ae3af2..e997408ca 100644 --- a/app/src/components/Mnemonic.tsx +++ b/app/src/components/Mnemonic.tsx @@ -1,6 +1,5 @@ -import React, { useCallback, useState } from 'react'; - import Clipboard from '@react-native-clipboard/clipboard'; +import React, { useCallback, useState } from 'react'; import { Button, Text, XStack, YStack } from 'tamagui'; import { diff --git a/app/src/components/NavBar/BaseNavBar.tsx b/app/src/components/NavBar/BaseNavBar.tsx index bb1505843..fa18e0991 100644 --- a/app/src/components/NavBar/BaseNavBar.tsx +++ b/app/src/components/NavBar/BaseNavBar.tsx @@ -1,7 +1,6 @@ +import { ChevronLeft, X } from '@tamagui/lucide-icons'; import React, { useMemo } from 'react'; import { StatusBar, StatusBarStyle } from 'react-native'; - -import { ChevronLeft, X } from '@tamagui/lucide-icons'; import { Button, TextProps, diff --git a/app/src/components/NavBar/DefaultNavBar.tsx b/app/src/components/NavBar/DefaultNavBar.tsx index fd18c2ca6..677cc2351 100644 --- a/app/src/components/NavBar/DefaultNavBar.tsx +++ b/app/src/components/NavBar/DefaultNavBar.tsx @@ -1,7 +1,6 @@ +import { NativeStackHeaderProps } from '@react-navigation/native-stack'; import React from 'react'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; - -import { NativeStackHeaderProps } from '@react-navigation/native-stack'; import { TextStyle, ViewStyle } from 'tamagui'; import { white } from '../../utils/colors'; diff --git a/app/src/components/NavBar/HomeNavBar.tsx b/app/src/components/NavBar/HomeNavBar.tsx index e94865778..dbebeb2ca 100644 --- a/app/src/components/NavBar/HomeNavBar.tsx +++ b/app/src/components/NavBar/HomeNavBar.tsx @@ -1,7 +1,6 @@ +import { NativeStackHeaderProps } from '@react-navigation/native-stack'; import React from 'react'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; - -import { NativeStackHeaderProps } from '@react-navigation/native-stack'; import { Button } from 'tamagui'; import ActivityIcon from '../../images/icons/activity.svg'; diff --git a/app/src/components/NavBar/ProgressNavBar.tsx b/app/src/components/NavBar/ProgressNavBar.tsx index b47272d94..bc4c94d54 100644 --- a/app/src/components/NavBar/ProgressNavBar.tsx +++ b/app/src/components/NavBar/ProgressNavBar.tsx @@ -1,10 +1,9 @@ -import React from 'react'; -import { useSafeAreaInsets } from 'react-native-safe-area-context'; - import { NativeStackHeaderProps, NativeStackNavigationOptions, } from '@react-navigation/native-stack'; +import React from 'react'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { TextStyle, ViewStyle, XStack, YStack } from 'tamagui'; import { cyan300, slate200, white } from '../../utils/colors'; diff --git a/app/src/components/Tips.tsx b/app/src/components/Tips.tsx index 4e2805b99..1e7d3fa91 100644 --- a/app/src/components/Tips.tsx +++ b/app/src/components/Tips.tsx @@ -1,5 +1,4 @@ import React from 'react'; - import { Text, View } from 'tamagui'; import { slate500 } from '../utils/colors'; diff --git a/app/src/components/buttons/AbstractButton.tsx b/app/src/components/buttons/AbstractButton.tsx index 776c7df8d..49c158f85 100644 --- a/app/src/components/buttons/AbstractButton.tsx +++ b/app/src/components/buttons/AbstractButton.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { StyleSheet, ViewStyle } from 'react-native'; - import { Button, Text, ViewProps } from 'tamagui'; import { shouldShowAesopRedesign } from '../../hooks/useAesopRedesign'; diff --git a/app/src/components/native/RCTFragment.tsx b/app/src/components/native/RCTFragment.tsx index 84b235db2..31351304f 100644 --- a/app/src/components/native/RCTFragment.tsx +++ b/app/src/components/native/RCTFragment.tsx @@ -1,6 +1,6 @@ import React, { useEffect, useRef } from 'react'; import { NativeSyntheticEvent, requireNativeComponent } from 'react-native'; -import { UIManager, findNodeHandle } from 'react-native'; +import { findNodeHandle, UIManager } from 'react-native'; export interface RCTFragmentViewManagerProps { RCTFragmentViewManager: ReturnType; diff --git a/app/src/components/typography/BodyText.ts b/app/src/components/typography/BodyText.ts index 243db4d39..12043e829 100644 --- a/app/src/components/typography/BodyText.ts +++ b/app/src/components/typography/BodyText.ts @@ -1,4 +1,4 @@ -import { Text, styled } from 'tamagui'; +import { styled, Text } from 'tamagui'; import { dinot } from '../../utils/fonts'; diff --git a/app/src/components/typography/Description.tsx b/app/src/components/typography/Description.tsx index 39688e955..16973cebd 100644 --- a/app/src/components/typography/Description.tsx +++ b/app/src/components/typography/Description.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { StyleSheet } from 'react-native'; - import { Text, TextProps } from 'tamagui'; import { shouldShowAesopRedesign } from '../../hooks/useAesopRedesign'; diff --git a/app/src/components/typography/DescriptionTitle.tsx b/app/src/components/typography/DescriptionTitle.tsx index f6a187dec..dd55dc0a9 100644 --- a/app/src/components/typography/DescriptionTitle.tsx +++ b/app/src/components/typography/DescriptionTitle.tsx @@ -1,4 +1,4 @@ -import { Text, styled } from 'tamagui'; +import { styled, Text } from 'tamagui'; import { dinot } from '../../utils/fonts'; diff --git a/app/src/components/typography/SubHeader.tsx b/app/src/components/typography/SubHeader.tsx index c78be74ad..19edad157 100644 --- a/app/src/components/typography/SubHeader.tsx +++ b/app/src/components/typography/SubHeader.tsx @@ -1,4 +1,4 @@ -import { Text, styled } from 'tamagui'; +import { styled, Text } from 'tamagui'; import { dinot } from '../../utils/fonts'; diff --git a/app/src/components/typography/Title.tsx b/app/src/components/typography/Title.tsx index 9af695446..b40a84c88 100644 --- a/app/src/components/typography/Title.tsx +++ b/app/src/components/typography/Title.tsx @@ -1,6 +1,5 @@ import { StyleProp, TextStyle } from 'react-native'; - -import { Text, styled } from 'tamagui'; +import { styled, Text } from 'tamagui'; import { advercase } from '../../utils/fonts'; diff --git a/app/src/hooks/useAppUpdates.ts b/app/src/hooks/useAppUpdates.ts index 0285fc05d..f03ae1781 100644 --- a/app/src/hooks/useAppUpdates.ts +++ b/app/src/hooks/useAppUpdates.ts @@ -1,9 +1,8 @@ +import { useNavigation } from '@react-navigation/native'; import { useState } from 'react'; import { Linking } from 'react-native'; import { checkVersion } from 'react-native-check-version'; -import { useNavigation } from '@react-navigation/native'; - export const useAppUpdates = (): [boolean, () => void, boolean] => { const navigation = useNavigation(); const [newVersionUrl, setNewVersionUrl] = useState(null); diff --git a/app/src/hooks/useConnectionModal.ts b/app/src/hooks/useConnectionModal.ts index 8aac3bf03..a3308bc9f 100644 --- a/app/src/hooks/useConnectionModal.ts +++ b/app/src/hooks/useConnectionModal.ts @@ -1,10 +1,9 @@ +import { useNetInfo } from '@react-native-community/netinfo'; import { useEffect } from 'react'; import { Linking, Platform } from 'react-native'; -import { useNetInfo } from '@react-native-community/netinfo'; - -import { navigationRef } from '../Navigation'; import { useModal } from '../hooks/useModal'; +import { navigationRef } from '../Navigation'; const connectionModalParams = { titleText: 'Internet connection error', diff --git a/app/src/hooks/useHapticNavigation.ts b/app/src/hooks/useHapticNavigation.ts index ac3dd2b5c..9ca3aea25 100644 --- a/app/src/hooks/useHapticNavigation.ts +++ b/app/src/hooks/useHapticNavigation.ts @@ -1,7 +1,6 @@ -import { useCallback } from 'react'; - import { useNavigation } from '@react-navigation/native'; import { NativeStackScreenProps } from '@react-navigation/native-stack'; +import { useCallback } from 'react'; import type { RootStackParamList } from '../Navigation'; import { impactLight, impactMedium, selectionChange } from '../utils/haptic'; diff --git a/app/src/hooks/useMnemonic.ts b/app/src/hooks/useMnemonic.ts index 0aa33d532..967bb408c 100644 --- a/app/src/hooks/useMnemonic.ts +++ b/app/src/hooks/useMnemonic.ts @@ -1,6 +1,5 @@ -import { useCallback, useState } from 'react'; - import { ethers } from 'ethers'; +import { useCallback, useState } from 'react'; import { useAuth } from '../stores/authProvider'; diff --git a/app/src/hooks/useModal.ts b/app/src/hooks/useModal.ts index b69e4acf0..c75924b87 100644 --- a/app/src/hooks/useModal.ts +++ b/app/src/hooks/useModal.ts @@ -1,6 +1,5 @@ -import { useCallback, useState } from 'react'; - import { useNavigation } from '@react-navigation/native'; +import { useCallback, useState } from 'react'; import { ModalParams } from '../screens/Settings/ModalScreen'; diff --git a/app/src/layouts/ExpandableBottomLayout.tsx b/app/src/layouts/ExpandableBottomLayout.tsx index 0404a29e2..9f17e489f 100644 --- a/app/src/layouts/ExpandableBottomLayout.tsx +++ b/app/src/layouts/ExpandableBottomLayout.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { StatusBar, StyleSheet } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; - import { View, ViewProps } from 'tamagui'; import { black, white } from '../utils/colors'; diff --git a/app/src/layouts/SimpleScrolledTitleLayout.tsx b/app/src/layouts/SimpleScrolledTitleLayout.tsx index 49145accc..cefe2d347 100644 --- a/app/src/layouts/SimpleScrolledTitleLayout.tsx +++ b/app/src/layouts/SimpleScrolledTitleLayout.tsx @@ -1,5 +1,4 @@ import React from 'react'; - import { ScrollView, YStack } from 'tamagui'; import { PrimaryButton } from '../components/buttons/PrimaryButton'; diff --git a/app/src/screens/AccountFlow/AccountRecoveryChoiceScreen.tsx b/app/src/screens/AccountFlow/AccountRecoveryChoiceScreen.tsx index 69b114046..d1c6712ba 100644 --- a/app/src/screens/AccountFlow/AccountRecoveryChoiceScreen.tsx +++ b/app/src/screens/AccountFlow/AccountRecoveryChoiceScreen.tsx @@ -1,6 +1,5 @@ -import React, { useCallback, useState } from 'react'; - import { useNavigation } from '@react-navigation/native'; +import React, { useCallback, useState } from 'react'; import { Separator, View, XStack, YStack } from 'tamagui'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; diff --git a/app/src/screens/AccountFlow/AccountRecoveryScreen.tsx b/app/src/screens/AccountFlow/AccountRecoveryScreen.tsx index 72503f544..d082b7416 100644 --- a/app/src/screens/AccountFlow/AccountRecoveryScreen.tsx +++ b/app/src/screens/AccountFlow/AccountRecoveryScreen.tsx @@ -1,5 +1,4 @@ import React from 'react'; - import { View, YStack } from 'tamagui'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; diff --git a/app/src/screens/AccountFlow/AccountVerifiedSuccessScreen.tsx b/app/src/screens/AccountFlow/AccountVerifiedSuccessScreen.tsx index 1f6fbd2cc..9f92e8fa4 100644 --- a/app/src/screens/AccountFlow/AccountVerifiedSuccessScreen.tsx +++ b/app/src/screens/AccountFlow/AccountVerifiedSuccessScreen.tsx @@ -1,7 +1,6 @@ -import React from 'react'; - import { useNavigation } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; +import React from 'react'; import { YStack } from 'tamagui'; import proofSuccessAnimation from '../../assets/animations/proof_success.json'; diff --git a/app/src/screens/AccountFlow/RecoverWithPhraseScreen.tsx b/app/src/screens/AccountFlow/RecoverWithPhraseScreen.tsx index a938fce02..4bff14c71 100644 --- a/app/src/screens/AccountFlow/RecoverWithPhraseScreen.tsx +++ b/app/src/screens/AccountFlow/RecoverWithPhraseScreen.tsx @@ -1,9 +1,8 @@ -import React, { useCallback, useState } from 'react'; -import { Keyboard, StyleSheet } from 'react-native'; - import Clipboard from '@react-native-clipboard/clipboard'; import { useNavigation } from '@react-navigation/native'; import { ethers } from 'ethers'; +import React, { useCallback, useState } from 'react'; +import { Keyboard, StyleSheet } from 'react-native'; import { Text, TextArea, View, XStack, YStack } from 'tamagui'; import { SecondaryButton } from '../../components/buttons/SecondaryButton'; diff --git a/app/src/screens/AccountFlow/SaveRecoveryPhraseScreen.tsx b/app/src/screens/AccountFlow/SaveRecoveryPhraseScreen.tsx index 3bb0677e4..f74efaef3 100644 --- a/app/src/screens/AccountFlow/SaveRecoveryPhraseScreen.tsx +++ b/app/src/screens/AccountFlow/SaveRecoveryPhraseScreen.tsx @@ -1,8 +1,8 @@ import React, { useCallback, useState } from 'react'; -import Mnemonic from '../../components/Mnemonic'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; import { SecondaryButton } from '../../components/buttons/SecondaryButton'; +import Mnemonic from '../../components/Mnemonic'; import { Caption } from '../../components/typography/Caption'; import Description from '../../components/typography/Description'; import { Title } from '../../components/typography/Title'; diff --git a/app/src/screens/DisclaimerScreen.tsx b/app/src/screens/DisclaimerScreen.tsx index 62b6130b2..d3ec4ea4d 100644 --- a/app/src/screens/DisclaimerScreen.tsx +++ b/app/src/screens/DisclaimerScreen.tsx @@ -1,8 +1,7 @@ -import React, { useEffect } from 'react'; -import { StyleSheet } from 'react-native'; - import { useNavigation } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; +import React, { useEffect } from 'react'; +import { StyleSheet } from 'react-native'; import { YStack } from 'tamagui'; import warningAnimation from '../assets/animations/warning.json'; diff --git a/app/src/screens/HomeScreen.tsx b/app/src/screens/HomeScreen.tsx index 6af604b32..2be93bf1f 100644 --- a/app/src/screens/HomeScreen.tsx +++ b/app/src/screens/HomeScreen.tsx @@ -1,8 +1,7 @@ +import { useFocusEffect, usePreventRemove } from '@react-navigation/native'; import React from 'react'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; - -import { useFocusEffect, usePreventRemove } from '@react-navigation/native'; -import { Button, YStack, styled } from 'tamagui'; +import { Button, styled, YStack } from 'tamagui'; import { pressedStyle } from '../components/buttons/pressedStyle'; import { BodyText } from '../components/typography/BodyText'; diff --git a/app/src/screens/LaunchScreen.tsx b/app/src/screens/LaunchScreen.tsx index fa69cddd8..a5faf4cf4 100644 --- a/app/src/screens/LaunchScreen.tsx +++ b/app/src/screens/LaunchScreen.tsx @@ -1,8 +1,7 @@ +import LottieView from 'lottie-react-native'; import React from 'react'; import { StyleSheet, View } from 'react-native'; import { Gesture, GestureDetector } from 'react-native-gesture-handler'; - -import LottieView from 'lottie-react-native'; import { Anchor, Text, XStack, YStack } from 'tamagui'; import { useWindowDimensions } from 'tamagui'; diff --git a/app/src/screens/MockDataScreen.tsx b/app/src/screens/MockDataScreen.tsx index e01ad6c0f..4f1d284da 100644 --- a/app/src/screens/MockDataScreen.tsx +++ b/app/src/screens/MockDataScreen.tsx @@ -1,12 +1,11 @@ -import React, { useCallback, useState } from 'react'; -import { TouchableOpacity } from 'react-native'; -import { Gesture, GestureDetector } from 'react-native-gesture-handler'; -import { useSafeAreaInsets } from 'react-native-safe-area-context'; - import { useNavigation } from '@react-navigation/native'; import { ChevronDown, Minus, Plus, X } from '@tamagui/lucide-icons'; import { flag } from 'country-emoji'; import getCountryISO2 from 'country-iso-3-to-2'; +import React, { useCallback, useState } from 'react'; +import { TouchableOpacity } from 'react-native'; +import { Gesture, GestureDetector } from 'react-native-gesture-handler'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { Button, ScrollView, @@ -22,9 +21,9 @@ import { import { countryCodes } from '../../../common/src/constants/constants'; import { genMockPassportData } from '../../../common/src/utils/passports/genMockPassportData'; import { initPassportDataParsing } from '../../../common/src/utils/passports/passport'; -import ButtonsContainer from '../components/ButtonsContainer'; import { PrimaryButton } from '../components/buttons/PrimaryButton'; import { SecondaryButton } from '../components/buttons/SecondaryButton'; +import ButtonsContainer from '../components/ButtonsContainer'; import { BodyText } from '../components/typography/BodyText'; import { Title } from '../components/typography/Title'; import { storePassportData } from '../stores/passportDataProvider'; diff --git a/app/src/screens/Onboarding/ConfirmBelongingScreen.tsx b/app/src/screens/Onboarding/ConfirmBelongingScreen.tsx index 6a9908824..df6df319d 100644 --- a/app/src/screens/Onboarding/ConfirmBelongingScreen.tsx +++ b/app/src/screens/Onboarding/ConfirmBelongingScreen.tsx @@ -1,7 +1,6 @@ -import React, { useEffect } from 'react'; - import { StaticScreenProps, usePreventRemove } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; +import React, { useEffect } from 'react'; import successAnimation from '../../assets/animations/loading/success.json'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; diff --git a/app/src/screens/Onboarding/LoadingScreen.tsx b/app/src/screens/Onboarding/LoadingScreen.tsx index f5594b4c6..6bad8944e 100644 --- a/app/src/screens/Onboarding/LoadingScreen.tsx +++ b/app/src/screens/Onboarding/LoadingScreen.tsx @@ -1,8 +1,7 @@ -import React, { useEffect, useRef, useState } from 'react'; -import { StyleSheet, Text, View } from 'react-native'; - import { StaticScreenProps, useNavigation } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; +import React, { useEffect, useRef, useState } from 'react'; +import { StyleSheet, Text, View } from 'react-native'; import failAnimation from '../../assets/animations/loading/fail.json'; import miscAnimation from '../../assets/animations/loading/misc.json'; diff --git a/app/src/screens/Onboarding/PassportCameraScreen.tsx b/app/src/screens/Onboarding/PassportCameraScreen.tsx index dfe587c82..4524da635 100644 --- a/app/src/screens/Onboarding/PassportCameraScreen.tsx +++ b/app/src/screens/Onboarding/PassportCameraScreen.tsx @@ -1,8 +1,7 @@ -import React, { useCallback, useRef } from 'react'; -import { Platform, StyleSheet } from 'react-native'; - import { useIsFocused, useNavigation } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; +import React, { useCallback, useRef } from 'react'; +import { Platform, StyleSheet } from 'react-native'; import { View, XStack, YStack } from 'tamagui'; import passportScanAnimation from '../../assets/animations/passport_scan.json'; diff --git a/app/src/screens/Onboarding/PassportNFCScanScreen.tsx b/app/src/screens/Onboarding/PassportNFCScanScreen.tsx index 951c059e8..53e8d0a83 100644 --- a/app/src/screens/Onboarding/PassportNFCScanScreen.tsx +++ b/app/src/screens/Onboarding/PassportNFCScanScreen.tsx @@ -1,3 +1,5 @@ +import { useFocusEffect, useNavigation } from '@react-navigation/native'; +import LottieView from 'lottie-react-native'; import React, { useCallback, useEffect, useRef, useState } from 'react'; import { Linking, @@ -7,18 +9,15 @@ import { StyleSheet, } from 'react-native'; import NfcManager from 'react-native-nfc-manager'; - -import { useFocusEffect, useNavigation } from '@react-navigation/native'; -import LottieView from 'lottie-react-native'; import { Image } from 'tamagui'; import { initPassportDataParsing } from '../../../../common/src/utils/passports/passport'; import { PassportData } from '../../../../common/src/utils/types'; import passportVerifyAnimation from '../../assets/animations/passport_verify.json'; -import ButtonsContainer from '../../components/ButtonsContainer'; -import TextsContainer from '../../components/TextsContainer'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; import { SecondaryButton } from '../../components/buttons/SecondaryButton'; +import ButtonsContainer from '../../components/ButtonsContainer'; +import TextsContainer from '../../components/TextsContainer'; import { BodyText } from '../../components/typography/BodyText'; import Description from '../../components/typography/Description'; import { Title } from '../../components/typography/Title'; diff --git a/app/src/screens/Onboarding/PassportOnboardingScreen.tsx b/app/src/screens/Onboarding/PassportOnboardingScreen.tsx index 1ad913d4d..581200ec3 100644 --- a/app/src/screens/Onboarding/PassportOnboardingScreen.tsx +++ b/app/src/screens/Onboarding/PassportOnboardingScreen.tsx @@ -1,13 +1,12 @@ +import LottieView from 'lottie-react-native'; import React, { useEffect, useRef } from 'react'; import { StatusBar, StyleSheet } from 'react-native'; -import LottieView from 'lottie-react-native'; - import passportOnboardingAnimation from '../../assets/animations/passport_onboarding.json'; -import ButtonsContainer from '../../components/ButtonsContainer'; -import TextsContainer from '../../components/TextsContainer'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; import { SecondaryButton } from '../../components/buttons/SecondaryButton'; +import ButtonsContainer from '../../components/ButtonsContainer'; +import TextsContainer from '../../components/TextsContainer'; import Additional from '../../components/typography/Additional'; import Description from '../../components/typography/Description'; import { Title } from '../../components/typography/Title'; diff --git a/app/src/screens/Onboarding/UnsupportedPassport.tsx b/app/src/screens/Onboarding/UnsupportedPassport.tsx index 9f1588d01..ae7ae6cd5 100644 --- a/app/src/screens/Onboarding/UnsupportedPassport.tsx +++ b/app/src/screens/Onboarding/UnsupportedPassport.tsx @@ -1,6 +1,5 @@ -import React, { useEffect } from 'react'; - import LottieView from 'lottie-react-native'; +import React, { useEffect } from 'react'; import warnAnimation from '../../assets/animations/warning.json'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; diff --git a/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx b/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx index d0a32d280..baba6a68f 100644 --- a/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx +++ b/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx @@ -1,7 +1,6 @@ +import LottieView from 'lottie-react-native'; import React, { useEffect } from 'react'; import { StatusBar, StyleSheet, View } from 'react-native'; - -import LottieView from 'lottie-react-native'; import { ScrollView, Spinner } from 'tamagui'; import loadingAnimation from '../../assets/animations/loading/misc.json'; @@ -10,8 +9,8 @@ import succesAnimation from '../../assets/animations/proof_success.json'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; import { BodyText } from '../../components/typography/BodyText'; import Description from '../../components/typography/Description'; -import { Title } from '../../components/typography/Title'; import { typography } from '../../components/typography/styles'; +import { Title } from '../../components/typography/Title'; import useHapticNavigation from '../../hooks/useHapticNavigation'; import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; import { ProofStatusEnum, useProofInfo } from '../../stores/proofProvider'; diff --git a/app/src/screens/ProveFlow/ProveScreen.tsx b/app/src/screens/ProveFlow/ProveScreen.tsx index ef152ed56..412e8f275 100644 --- a/app/src/screens/ProveFlow/ProveScreen.tsx +++ b/app/src/screens/ProveFlow/ProveScreen.tsx @@ -1,3 +1,5 @@ +import { useNavigation } from '@react-navigation/native'; +import LottieView from 'lottie-react-native'; import React, { useCallback, useEffect, @@ -12,24 +14,21 @@ import { ScrollView, StyleSheet, } from 'react-native'; - -import { useNavigation } from '@react-navigation/native'; -import LottieView from 'lottie-react-native'; import { Image, Text, View, YStack } from 'tamagui'; import { SelfAppDisclosureConfig } from '../../../../common/src/utils/appType'; import { formatEndpoint } from '../../../../common/src/utils/scope'; import miscAnimation from '../../assets/animations/loading/misc.json'; -import Disclosures from '../../components/Disclosures'; import { HeldPrimaryButton } from '../../components/buttons/PrimaryButtonLongHold'; +import Disclosures from '../../components/Disclosures'; import { BodyText } from '../../components/typography/BodyText'; import { Caption } from '../../components/typography/Caption'; import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; import { useApp } from '../../stores/appProvider'; import { usePassport } from '../../stores/passportDataProvider'; import { - ProofStatusEnum, globalSetDisclosureStatus, + ProofStatusEnum, useProofInfo, } from '../../stores/proofProvider'; import { black, slate300, white } from '../../utils/colors'; diff --git a/app/src/screens/ProveFlow/ViewFinder.tsx b/app/src/screens/ProveFlow/ViewFinder.tsx index 5d30e1355..5ca0fb654 100644 --- a/app/src/screens/ProveFlow/ViewFinder.tsx +++ b/app/src/screens/ProveFlow/ViewFinder.tsx @@ -1,12 +1,11 @@ -import React, { useCallback, useState } from 'react'; -import { StyleSheet } from 'react-native'; - import { useFocusEffect, useIsFocused, useNavigation, } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; +import React, { useCallback, useState } from 'react'; +import { StyleSheet } from 'react-native'; import { View, XStack, YStack } from 'tamagui'; import qrScanAnimation from '../../assets/animations/qr_scan.json'; diff --git a/app/src/screens/Settings/CloudBackupScreen.tsx b/app/src/screens/Settings/CloudBackupScreen.tsx index 84fbc4106..87f75b731 100644 --- a/app/src/screens/Settings/CloudBackupScreen.tsx +++ b/app/src/screens/Settings/CloudBackupScreen.tsx @@ -1,9 +1,7 @@ -import React, { useCallback, useMemo, useState } from 'react'; - import { StaticScreenProps, useNavigation } from '@react-navigation/native'; +import React, { useCallback, useMemo, useState } from 'react'; import { YStack } from 'tamagui'; -import { RootStackParamList } from '../../Navigation'; import BackupDocumentationLink from '../../components/BackupDocumentationLink'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; import { SecondaryButton } from '../../components/buttons/SecondaryButton'; @@ -13,6 +11,7 @@ import { Title } from '../../components/typography/Title'; import { useModal } from '../../hooks/useModal'; import Cloud from '../../images/icons/logo_cloud_backup.svg'; import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; +import { RootStackParamList } from '../../Navigation'; import { useAuth } from '../../stores/authProvider'; import { useSettingStore } from '../../stores/settingStore'; import { STORAGE_NAME, useBackupMnemonic } from '../../utils/cloudBackup'; diff --git a/app/src/screens/Settings/DevSettingsScreen.tsx b/app/src/screens/Settings/DevSettingsScreen.tsx index f68d21091..251507311 100644 --- a/app/src/screens/Settings/DevSettingsScreen.tsx +++ b/app/src/screens/Settings/DevSettingsScreen.tsx @@ -1,6 +1,3 @@ -import React, { PropsWithChildren, useEffect, useState } from 'react'; -import { Platform, TextInput } from 'react-native'; - import { useNavigation } from '@react-navigation/native'; import { Check, @@ -9,6 +6,8 @@ import { IterationCw, VenetianMask, } from '@tamagui/lucide-icons'; +import React, { PropsWithChildren, useEffect, useState } from 'react'; +import { Platform, TextInput } from 'react-native'; import { Adapt, Button, diff --git a/app/src/screens/Settings/ModalScreen.tsx b/app/src/screens/Settings/ModalScreen.tsx index 6b5310981..b36788882 100644 --- a/app/src/screens/Settings/ModalScreen.tsx +++ b/app/src/screens/Settings/ModalScreen.tsx @@ -1,7 +1,6 @@ -import React, { useCallback } from 'react'; - import { StaticScreenProps, useNavigation } from '@react-navigation/native'; -import { View, XStack, YStack, styled } from 'tamagui'; +import React, { useCallback } from 'react'; +import { styled, View, XStack, YStack } from 'tamagui'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; import Description from '../../components/typography/Description'; diff --git a/app/src/screens/Settings/PassportDataInfoScreen.tsx b/app/src/screens/Settings/PassportDataInfoScreen.tsx index 5eea738b1..70eaa87fd 100644 --- a/app/src/screens/Settings/PassportDataInfoScreen.tsx +++ b/app/src/screens/Settings/PassportDataInfoScreen.tsx @@ -1,6 +1,5 @@ -import React, { useCallback, useState } from 'react'; - import { useFocusEffect } from '@react-navigation/native'; +import React, { useCallback, useState } from 'react'; import { ScrollView, Separator, XStack, YStack } from 'tamagui'; import { PassportMetadata } from '../../../../common/src/utils/passports/passport_parsing/parsePassportData'; @@ -87,12 +86,12 @@ const PassportDataInfoScreen: React.FC = ({}) => { !metadata ? '' : key === 'cscaFound' - ? metadata?.cscaFound === true - ? 'Yes' - : 'No' - : (metadata?.[key as keyof PassportMetadata] as - | string - | number) || 'None' + ? metadata?.cscaFound === true + ? 'Yes' + : 'No' + : (metadata?.[key as keyof PassportMetadata] as + | string + | number) || 'None' } /> ))} diff --git a/app/src/screens/SettingsScreen.tsx b/app/src/screens/SettingsScreen.tsx index 0e8abf969..e63e67c5c 100644 --- a/app/src/screens/SettingsScreen.tsx +++ b/app/src/screens/SettingsScreen.tsx @@ -1,16 +1,14 @@ +import { useNavigation } from '@react-navigation/native'; +import { Bug } from '@tamagui/lucide-icons'; import React, { PropsWithChildren, useCallback, useMemo } from 'react'; import { Linking, Platform, Share } from 'react-native'; import { Gesture, GestureDetector } from 'react-native-gesture-handler'; import { getCountry, getLocales, getTimeZone } from 'react-native-localize'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { SvgProps } from 'react-native-svg'; - -import { useNavigation } from '@react-navigation/native'; -import { Bug } from '@tamagui/lucide-icons'; import { Button, ScrollView, View, XStack, YStack } from 'tamagui'; import { version } from '../../package.json'; -import { RootStackParamList } from '../Navigation'; import { pressedStyle } from '../components/buttons/pressedStyle'; import { BodyText } from '../components/typography/BodyText'; import { @@ -29,6 +27,7 @@ import ShareIcon from '../images/icons/share.svg'; import Star from '../images/icons/star.svg'; import Telegram from '../images/icons/telegram.svg'; import Web from '../images/icons/webpage.svg'; +import { RootStackParamList } from '../Navigation'; import { useSettingStore } from '../stores/settingStore'; import { amber500, black, neutral700, slate800, white } from '../utils/colors'; import { impactLight } from '../utils/haptic'; diff --git a/app/src/screens/SplashScreen.tsx b/app/src/screens/SplashScreen.tsx index d6ccea989..152189697 100644 --- a/app/src/screens/SplashScreen.tsx +++ b/app/src/screens/SplashScreen.tsx @@ -1,8 +1,7 @@ -import React, { useCallback, useEffect } from 'react'; -import { StyleSheet } from 'react-native'; - import { useNavigation } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; +import React, { useCallback, useEffect } from 'react'; +import { StyleSheet } from 'react-native'; import splashAnimation from '../assets/animations/splash.json'; import { useAuth } from '../stores/authProvider'; diff --git a/app/src/screens/_Aesop/PassportOnboardingScreen.tsx b/app/src/screens/_Aesop/PassportOnboardingScreen.tsx index 2da233c1e..91c72d2a2 100644 --- a/app/src/screens/_Aesop/PassportOnboardingScreen.tsx +++ b/app/src/screens/_Aesop/PassportOnboardingScreen.tsx @@ -1,13 +1,12 @@ +import LottieView from 'lottie-react-native'; import React, { useEffect, useRef } from 'react'; import { StatusBar, StyleSheet, View } from 'react-native'; -import LottieView from 'lottie-react-native'; - import passportOnboardingAnimation from '../../assets/animations/passport_onboarding.json'; -import ButtonsContainer from '../../components/ButtonsContainer'; -import TextsContainer from '../../components/TextsContainer'; import { PrimaryButton } from '../../components/buttons/PrimaryButton'; import { SecondaryButton } from '../../components/buttons/SecondaryButton'; +import ButtonsContainer from '../../components/ButtonsContainer'; +import TextsContainer from '../../components/TextsContainer'; import Additional from '../../components/typography/Additional'; import Description from '../../components/typography/Description'; import { DescriptionTitle } from '../../components/typography/DescriptionTitle'; diff --git a/app/src/stores/appProvider.tsx b/app/src/stores/appProvider.tsx index ef017be59..deac6be40 100644 --- a/app/src/stores/appProvider.tsx +++ b/app/src/stores/appProvider.tsx @@ -1,5 +1,4 @@ import React, { createContext, useContext, useEffect, useRef } from 'react'; - import io, { Socket } from 'socket.io-client'; import { WS_DB_RELAYER } from '../../../common/src/constants/constants'; diff --git a/app/src/stores/authProvider.tsx b/app/src/stores/authProvider.tsx index 3c44704bb..154222c58 100644 --- a/app/src/stores/authProvider.tsx +++ b/app/src/stores/authProvider.tsx @@ -1,6 +1,7 @@ +import { ethers } from 'ethers'; import React, { - PropsWithChildren, createContext, + PropsWithChildren, useCallback, useContext, useMemo, @@ -9,8 +10,6 @@ import React, { import ReactNativeBiometrics from 'react-native-biometrics'; import Keychain from 'react-native-keychain'; -import { ethers } from 'ethers'; - import { Mnemonic } from '../types/mnemonic'; const SERVICE_NAME = 'secret'; diff --git a/app/src/stores/passportDataProvider.tsx b/app/src/stores/passportDataProvider.tsx index b711894db..a1cbf2218 100644 --- a/app/src/stores/passportDataProvider.tsx +++ b/app/src/stores/passportDataProvider.tsx @@ -1,6 +1,6 @@ import React, { - PropsWithChildren, createContext, + PropsWithChildren, useCallback, useContext, useMemo, diff --git a/app/src/stores/proofProvider.tsx b/app/src/stores/proofProvider.tsx index bfe278608..378ecc7fd 100644 --- a/app/src/stores/proofProvider.tsx +++ b/app/src/stores/proofProvider.tsx @@ -1,6 +1,6 @@ import React, { - PropsWithChildren, createContext, + PropsWithChildren, useCallback, useEffect, useMemo, diff --git a/app/src/utils/cloudBackup/index.ts b/app/src/utils/cloudBackup/index.ts index efa12cc20..afbb69407 100644 --- a/app/src/utils/cloudBackup/index.ts +++ b/app/src/utils/cloudBackup/index.ts @@ -1,3 +1,4 @@ +import { ethers } from 'ethers'; import { useMemo } from 'react'; import { Platform } from 'react-native'; import { @@ -6,8 +7,6 @@ import { CloudStorageScope, } from 'react-native-cloud-storage'; -import { ethers } from 'ethers'; - import { name } from '../../../package.json'; import { Mnemonic } from '../../types/mnemonic'; import { googleSignIn } from './google'; diff --git a/app/src/utils/ethers.ts b/app/src/utils/ethers.ts index 34d8edcb6..59d7e4953 100644 --- a/app/src/utils/ethers.ts +++ b/app/src/utils/ethers.ts @@ -1,7 +1,6 @@ // https://docs.ethers.org/v6/cookbook/react-native/ -import crypto from 'react-native-quick-crypto'; - import { ethers } from 'ethers'; +import crypto from 'react-native-quick-crypto'; ethers.randomBytes.register(length => { return new Uint8Array(crypto.randomBytes(length)); diff --git a/app/src/utils/nfcScannerNew.ts b/app/src/utils/nfcScannerNew.ts index bc63a17af..2df1c4d25 100644 --- a/app/src/utils/nfcScannerNew.ts +++ b/app/src/utils/nfcScannerNew.ts @@ -1,9 +1,8 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ +import { Buffer } from 'buffer'; import { NativeModules, Platform } from 'react-native'; import PassportReader from 'react-native-passport-reader'; -import { Buffer } from 'buffer'; - import { PassportData } from '../../../common/src/utils/types'; interface Inputs { diff --git a/app/src/utils/proving/inputs.ts b/app/src/utils/proving/inputs.ts index 6bd74218d..bdc35bece 100644 --- a/app/src/utils/proving/inputs.ts +++ b/app/src/utils/proving/inputs.ts @@ -6,9 +6,9 @@ import nameAndDobSMTData from '../../../../common/ofacdata/outputs/nameAndDobSMT import nameAndYobSMTData from '../../../../common/ofacdata/outputs/nameAndYobSMT.json'; import passportNoAndNationalitySMTData from '../../../../common/ofacdata/outputs/passportNoAndNationalitySMT.json'; import { + attributeToPosition, DEFAULT_MAJORITY, PASSPORT_ATTESTATION_ID, - attributeToPosition, } from '../../../../common/src/constants/constants'; import { EndpointType, SelfApp } from '../../../../common/src/utils/appType'; import { getCircuitNameFromPassportData } from '../../../../common/src/utils/circuits/circuitsName'; @@ -19,8 +19,8 @@ import { } from '../../../../common/src/utils/circuits/generateInputs'; import { hashEndpointWithScope } from '../../../../common/src/utils/scope'; import { - getCSCATree, getCommitmentTree, + getCSCATree, getDSCTree, } from '../../../../common/src/utils/trees'; import { PassportData } from '../../../../common/src/utils/types'; diff --git a/app/src/utils/proving/tee.ts b/app/src/utils/proving/tee.ts index 4f0a9a020..3ad9b3ecf 100644 --- a/app/src/utils/proving/tee.ts +++ b/app/src/utils/proving/tee.ts @@ -11,9 +11,9 @@ import { import { EndpointType } from '../../../../common/src/utils/appType'; import { DiscloseError, - ProofStatusEnum, globalSetDisclosureStatus, globalSetRegistrationStatus, + ProofStatusEnum, } from '../../stores/proofProvider'; import { getPublicKey, verifyAttestation } from './attest'; diff --git a/app/src/utils/qrCodeNew.ts b/app/src/utils/qrCodeNew.ts index 1dc9fb23e..3419f222b 100644 --- a/app/src/utils/qrCodeNew.ts +++ b/app/src/utils/qrCodeNew.ts @@ -1,6 +1,5 @@ -import { Linking } from 'react-native'; - import queryString from 'query-string'; +import { Linking } from 'react-native'; import { SelfApp } from '../../../common/src/utils/appType'; diff --git a/app/yarn.lock b/app/yarn.lock index 537e3725d..f72d515c8 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -22,7 +22,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.26.2": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.26.2": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -77,18 +77,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:7.17.7": - version: 7.17.7 - resolution: "@babel/generator@npm:7.17.7" - dependencies: - "@babel/types": "npm:^7.17.0" - jsesc: "npm:^2.5.1" - source-map: "npm:^0.5.0" - checksum: 10c0/8088453c4418e0ee6528506fbd5847bbdfd56327a0025ca9496a259261e162c594ffd08be0d63e74c32feced795616772f38acc5f5e493a86a45fd439fd9feb0 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.20.0, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.26.9, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.20.0, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.26.9, @babel/generator@npm:^7.7.2": version: 7.26.9 resolution: "@babel/generator@npm:7.26.9" dependencies: @@ -168,34 +157,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.24.7 - resolution: "@babel/helper-environment-visitor@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/36ece78882b5960e2d26abf13cf15ff5689bf7c325b10a2895a74a499e712de0d305f8d78bb382dd3c05cfba7e47ec98fe28aab5674243e0625cd38438dd0b2d - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.23.0": - version: 7.24.7 - resolution: "@babel/helper-function-name@npm:7.24.7" - dependencies: - "@babel/template": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e5e41e6cf86bd0f8bf272cbb6e7c5ee0f3e9660414174435a46653efba4f2479ce03ce04abff2aa2ef9359cf057c79c06cb7b134a565ad9c0e8a50dcdc3b43c4 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.24.7 - resolution: "@babel/helper-hoist-variables@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/19ee37563bbd1219f9d98991ad0e9abef77803ee5945fd85aa7aa62a67c69efca9a801696a1b58dda27f211e878b3327789e6fd2a6f6c725ccefe36774b5ce95 - languageName: node - linkType: hard - "@babel/helper-member-expression-to-functions@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" @@ -281,15 +242,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.24.7 - resolution: "@babel/helper-split-export-declaration@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/0254577d7086bf09b01bbde98f731d4fcf4b7c3fa9634fdb87929801307c1f6202a1352e3faa5492450fa8da4420542d44de604daf540704ff349594a78184f6 - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-string-parser@npm:7.25.9" @@ -297,7 +249,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.16.7, @babel/helper-validator-identifier@npm:^7.25.9": +"@babel/helper-validator-identifier@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-identifier@npm:7.25.9" checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d @@ -332,7 +284,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.26.9": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.26.9": version: 7.26.9 resolution: "@babel/parser@npm:7.26.9" dependencies: @@ -1076,7 +1028,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.0.0, @babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0, @babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.0.0, @babel/template@npm:^7.25.0, @babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.3.3": version: 7.26.9 resolution: "@babel/template@npm:7.26.9" dependencies: @@ -1102,35 +1054,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:7.23.2": - version: 7.23.2 - resolution: "@babel/traverse@npm:7.23.2" - dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/generator": "npm:^7.23.0" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.0" - "@babel/types": "npm:^7.23.0" - debug: "npm:^4.1.0" - globals: "npm:^11.1.0" - checksum: 10c0/d096c7c4bab9262a2f658298a3c630ae4a15a10755bb257ae91d5ab3e3b2877438934859c8d34018b7727379fe6b26c4fa2efc81cf4c462a7fe00caf79fa02ff - languageName: node - linkType: hard - -"@babel/types@npm:7.17.0": - version: 7.17.0 - resolution: "@babel/types@npm:7.17.0" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.16.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/ad09224272b40fedb00b262677d12b6838f5b5df5c47d67059ba1181bd4805439993393a8de32459dae137b536d60ebfcaf39ae84d8b3873f1e81cc75f5aeae8 - languageName: node - linkType: hard - -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.9, @babel/types@npm:^7.3.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.9, @babel/types@npm:^7.3.3": version: 7.26.9 resolution: "@babel/types@npm:7.26.9" dependencies: @@ -1932,6 +1856,13 @@ __metadata: languageName: node linkType: hard +"@pkgr/core@npm:^0.2.3": + version: 0.2.4 + resolution: "@pkgr/core@npm:0.2.4" + checksum: 10c0/2528a443bbbef5d4686614e1d73f834f19ccbc975f62b2a64974a6b97bcdf677b9c5e8948e04808ac4f0d853e2f422adfaae2a06e9e9f4f5cf8af76f1adf8dc1 + languageName: node + linkType: hard + "@react-native-async-storage/async-storage@npm:^2.1.1": version: 2.1.1 resolution: "@react-native-async-storage/async-storage@npm:2.1.1" @@ -5866,26 +5797,6 @@ __metadata: languageName: node linkType: hard -"@trivago/prettier-plugin-sort-imports@npm:^4.3.0": - version: 4.3.0 - resolution: "@trivago/prettier-plugin-sort-imports@npm:4.3.0" - dependencies: - "@babel/generator": "npm:7.17.7" - "@babel/parser": "npm:^7.20.5" - "@babel/traverse": "npm:7.23.2" - "@babel/types": "npm:7.17.0" - javascript-natural-sort: "npm:0.7.1" - lodash: "npm:^4.17.21" - peerDependencies: - "@vue/compiler-sfc": 3.x - prettier: 2.x - 3.x - peerDependenciesMeta: - "@vue/compiler-sfc": - optional: true - checksum: 10c0/42270fb9c89e54a3f8b6ac8c43e6d0e03350e2857e902cdad4de22c78ef1864da600525595311bc7e94e51c16c7dd3882c2e048a162fdab59761ffa893756aa2 - languageName: node - linkType: hard - "@trysound/sax@npm:0.2.0": version: 0.2.0 resolution: "@trysound/sax@npm:0.2.0" @@ -8251,6 +8162,17 @@ __metadata: languageName: node linkType: hard +"eslint-config-prettier@npm:^10.1.2": + version: 10.1.2 + resolution: "eslint-config-prettier@npm:10.1.2" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/c22c8e29193cc8fd70becf1c2dd072513f2b3004a175c2a49404c79d1745ba4dc0edc2afd00d16b0e26d24f95813a0469e7445a25104aec218f6d84cdb1697e9 + languageName: node + linkType: hard + "eslint-config-prettier@npm:^8.5.0": version: 8.10.0 resolution: "eslint-config-prettier@npm:8.10.0" @@ -8305,6 +8227,26 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-prettier@npm:^5.2.6": + version: 5.2.6 + resolution: "eslint-plugin-prettier@npm:5.2.6" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.11.0" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/9911740a5edac7933d92671381908671c61ffa32a3cee7aed667ebab89831ee2c0b69eb9530f68dbe172ca9d4b3fa3d47350762dc1eb096a3ce125fa31c0e616 + languageName: node + linkType: hard + "eslint-plugin-react-hooks@npm:^4.6.0": version: 4.6.2 resolution: "eslint-plugin-react-hooks@npm:4.6.2" @@ -8360,6 +8302,15 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-simple-import-sort@npm:^12.1.1": + version: 12.1.1 + resolution: "eslint-plugin-simple-import-sort@npm:12.1.1" + peerDependencies: + eslint: ">=5.0.0" + checksum: 10c0/0ad1907ad9ddbadd1db655db0a9d0b77076e274b793a77b982c8525d808d868e6ecfce24f3a411e8a1fa551077387f9ebb38c00956073970ebd7ee6a029ce2b3 + languageName: node + linkType: hard + "eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" @@ -8612,6 +8563,13 @@ __metadata: languageName: node linkType: hard +"fast-diff@npm:^1.1.2": + version: 1.3.0 + resolution: "fast-diff@npm:1.3.0" + checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 + languageName: node + linkType: hard + "fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" @@ -9905,13 +9863,6 @@ __metadata: languageName: node linkType: hard -"javascript-natural-sort@npm:0.7.1": - version: 0.7.1 - resolution: "javascript-natural-sort@npm:0.7.1" - checksum: 10c0/340f8ffc5d30fb516e06dc540e8fa9e0b93c865cf49d791fed3eac3bdc5fc71f0066fc81d44ec1433edc87caecaf9f13eec4a1fce8c5beafc709a71eaedae6fe - languageName: node - linkType: hard - "jest-changed-files@npm:^29.7.0": version: 29.7.0 resolution: "jest-changed-files@npm:29.7.0" @@ -10493,15 +10444,6 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 - languageName: node - linkType: hard - "jsesc@npm:^3.0.2": version: 3.1.0 resolution: "jsesc@npm:3.1.0" @@ -11970,7 +11912,6 @@ __metadata: "@tamagui/lucide-icons": "npm:1.110.0" "@tamagui/toast": "npm:1.110.0" "@tamagui/types": "npm:1.110.0" - "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@tsconfig/react-native": "npm:^3.0.0" "@types/add": "npm:^2" "@types/elliptic": "npm:^6" @@ -11988,6 +11929,9 @@ __metadata: country-iso-3-to-2: "npm:^1.1.1" elliptic: "npm:^6.6.1" eslint: "npm:^8.19.0" + eslint-config-prettier: "npm:^10.1.2" + eslint-plugin-prettier: "npm:^5.2.6" + eslint-plugin-simple-import-sort: "npm:^12.1.1" ethers: "npm:^6.11.0" expo-modules-core: "npm:^2.2.1" jest: "npm:^29.6.3" @@ -11998,7 +11942,7 @@ __metadata: pako: "npm:^2.1.0" pkijs: "npm:^3.2.4" poseidon-lite: "npm:^0.2.0" - prettier: "npm:2.8.8" + prettier: "npm:^3.5.3" react: "npm:^18.3.1" react-native: "npm:0.75.4" react-native-biometrics: "npm:^3.0.1" @@ -12328,12 +12272,21 @@ __metadata: languageName: node linkType: hard -"prettier@npm:2.8.8": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: "npm:^1.1.2" + checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + languageName: node + linkType: hard + +"prettier@npm:^3.5.3": + version: 3.5.3 + resolution: "prettier@npm:3.5.3" bin: - prettier: bin-prettier.js - checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a + prettier: bin/prettier.cjs + checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877 languageName: node linkType: hard @@ -13772,7 +13725,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.5.0, source-map@npm:^0.5.6": +"source-map@npm:^0.5.6": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 10c0/904e767bb9c494929be013017380cbba013637da1b28e5943b566031e29df04fba57edf3f093e0914be094648b577372bd8ad247fa98cfba9c600794cd16b599 @@ -14116,6 +14069,16 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.11.0": + version: 0.11.4 + resolution: "synckit@npm:0.11.4" + dependencies: + "@pkgr/core": "npm:^0.2.3" + tslib: "npm:^2.8.1" + checksum: 10c0/dd2965a37c93c0b652bf07b1fd8d1639a803b65cf34c0cb1b827b8403044fc3b09ec87f681d922a324825127ee95b2e0394e7caccb502f407892d63e903c5276 + languageName: node + linkType: hard + "tabbable@npm:^6.0.0": version: 6.2.0 resolution: "tabbable@npm:6.2.0" @@ -14295,13 +14258,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" From 57cb54a936c12ebb1fe4df6cda71460fd51f5c93 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer Date: Mon, 21 Apr 2025 23:40:32 +0200 Subject: [PATCH 10/49] remove artefacts --- prover/.gitignore | 4 - prover/Dockerfile | 30 - prover/README.md | 27 - prover/dsc_prover.py | 68 - prover/import_circuit.sh | 12 - prover/launch_modal_server.sh | 1 - prover/requirements.txt | 3 - prover/src/prove.sh | 98 -- .../vkey/dsc_rsa_65537_sha1_4096_vkey.json | 99 -- .../vkey/dsc_rsa_65537_sha256_4096_vkey.json | 99 -- .../dsc_rsapss_65537_sha256_4096_vkey.json | 99 -- prover/tests/package.json | 31 - prover/tests/tsconfig.json | 10 - prover/tests/yarn.lock | 1158 ----------------- src/app/page.module.css | 57 - test/PCR0Manager.test.ts | 1 - 16 files changed, 1797 deletions(-) delete mode 100644 prover/.gitignore delete mode 100644 prover/Dockerfile delete mode 100644 prover/README.md delete mode 100644 prover/dsc_prover.py delete mode 100755 prover/import_circuit.sh delete mode 100755 prover/launch_modal_server.sh delete mode 100644 prover/requirements.txt delete mode 100755 prover/src/prove.sh delete mode 100644 prover/src/vkey/dsc_rsa_65537_sha1_4096_vkey.json delete mode 100644 prover/src/vkey/dsc_rsa_65537_sha256_4096_vkey.json delete mode 100644 prover/src/vkey/dsc_rsapss_65537_sha256_4096_vkey.json delete mode 100644 prover/tests/package.json delete mode 100644 prover/tests/tsconfig.json delete mode 100644 prover/tests/yarn.lock delete mode 100644 src/app/page.module.css delete mode 100644 test/PCR0Manager.test.ts diff --git a/prover/.gitignore b/prover/.gitignore deleted file mode 100644 index 605da39b5..000000000 --- a/prover/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -src/circuit/ -test/csca_inputs.json -test/response.json -__pycache__/ \ No newline at end of file diff --git a/prover/Dockerfile b/prover/Dockerfile deleted file mode 100644 index c35889b73..000000000 --- a/prover/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -FROM python:3.10 - -WORKDIR /root -RUN apt-get update && apt-get upgrade -y -# Update the package list and install necessary dependencies -RUN apt-get update && apt-get install -y bash -RUN apt-get update && \ - apt install -y cmake build-essential pkg-config libssl-dev libgmp-dev libsodium-dev nasm git awscli gcc nodejs npm -# Install jq -RUN apt-get update && apt-get install -y jq - -# Node install -RUN npm install -g n -RUN n 18 -RUN npm install -g yarn snarkjs - -RUN git clone https://github.com/iden3/rapidsnark-old.git rapidsnark -WORKDIR /root/rapidsnark -RUN yarn -RUN git submodule init -RUN git submodule update -RUN npx task createFieldSources -RUN npx task buildPistache -RUN npx task buildProver -RUN chmod +x build/prover - -# Ensure the prover is available in the expected location -#RUN ln -s /root/rapidsnark/build/prover /root/src/rapidsnark/build/prover - -WORKDIR /root \ No newline at end of file diff --git a/prover/README.md b/prover/README.md deleted file mode 100644 index 868e9a162..000000000 --- a/prover/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# OpenPassport Prover - -This repository contains the code for the OpenPassport DSC/CSCA prover. -The prover runs on the [modal](https://modal.com/docs/guide) server and generates a witness with [snarkjs](https://github.com/iden3/snarkjs) and a proof with the [old version of rapidsnark](https://github.com/iden3/rapidsnark-old). - -## Installation -install requirements.txt -``` -pip install -r requirements.txt -``` -## Usage - -launch modal server - -``` -./import_circuit.sh -modal deploy dsc_prover.py --name dsc_prover -``` - -## Test - -create a test/csca_inputs.json file with the inputs for the CSCA circuit and run the request.py script - -``` -cd test -python request.py -``` diff --git a/prover/dsc_prover.py b/prover/dsc_prover.py deleted file mode 100644 index 6501bbdb8..000000000 --- a/prover/dsc_prover.py +++ /dev/null @@ -1,68 +0,0 @@ -from fastapi import Request -from fastapi.responses import PlainTextResponse -from modal import Image, Mount, App, web_endpoint -import subprocess -import asyncio -import json -import hashlib - -image = Image.from_dockerfile("Dockerfile") - -app = App(image=image) - -mount = Mount.from_local_dir("src", remote_path="/root/src") - -@app.function(mounts=[mount], cpu=14) -@web_endpoint(method="POST") -async def generate_dsc_proof(request: Request): - # Read the JSON data from the request body - data = await request.json() - - # Extract the signature_algorithm - signature_algorithm = data.get("signature_algorithm") - if signature_algorithm not in ["rsa_65537_sha256_4096", "rsa_65537_sha1_4096", "rsapss_65537_sha256_4096"]: - return PlainTextResponse("Invalid or missing signature_algorithm", status_code=400) - - # Ensure 'inputs' key exists - if "inputs" not in data: - return PlainTextResponse("Missing 'inputs' in request data", status_code=400) - - # Convert JSON data to a properly formatted string - json_data = json.dumps(data) - - # Compute the hash of the input data - hash_object = hashlib.sha256(json_data.encode()) - hash_hex = hash_object.hexdigest() - - # Run the script and pass the JSON data to it asynchronously - process = await asyncio.create_subprocess_exec( - "/bin/bash", "/root/src/prove.sh", - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE - ) - stdout, stderr = await process.communicate(input=json_data.encode()) - - # Log detailed error message if any - if process.returncode != 0: - error_message = f"Error: {stderr.decode()}\n" - error_message += f"Standard Output: {stdout.decode()}" - return PlainTextResponse(error_message, status_code=500) - - # Return the content of the unique proof and public files - try: - with open(f"/root/src/data/{hash_hex}/proof.json", "r") as proof_file: - proof_content = proof_file.read() - with open(f"/root/src/data/{hash_hex}/public.json", "r") as public_file: - public_content = public_file.read() - response_data = { - "proof": json.loads(proof_content), - "pub_signals": json.loads(public_content) - } - return PlainTextResponse(json.dumps(response_data), media_type="application/json") - except FileNotFoundError: - return PlainTextResponse("Error: proof.json or public.json not found", status_code=500) - -# Run the app -if __name__ == "__main__": - app.run() \ No newline at end of file diff --git a/prover/import_circuit.sh b/prover/import_circuit.sh deleted file mode 100755 index 4c093ccdf..000000000 --- a/prover/import_circuit.sh +++ /dev/null @@ -1,12 +0,0 @@ -# rsa sha256 -cp ../circuits/build/dsc/dsc_rsa_65537_sha256_4096/dsc_rsa_65537_sha256_4096_final.zkey src/circuit/dsc_rsa_65537_sha256_4096_final.zkey -cp ../circuits/build/dsc/dsc_rsa_65537_sha256_4096/dsc_rsa_65537_sha256_4096_js/dsc_rsa_65537_sha256_4096.wasm src/circuit/dsc_rsa_65537_sha256_4096.wasm -cp ../circuits/build/dsc/dsc_rsa_65537_sha256_4096/dsc_rsa_65537_sha256_4096_vkey.json src/vkey/dsc_rsa_65537_sha256_4096_vkey.json -# rsa sha1 -cp ../circuits/build/dsc/dsc_rsa_65537_sha1_4096/dsc_rsa_65537_sha1_4096_final.zkey src/circuit/dsc_rsa_65537_sha1_4096_final.zkey -cp ../circuits/build/dsc/dsc_rsa_65537_sha1_4096/dsc_rsa_65537_sha1_4096_vkey.json src/vkey/dsc_rsa_65537_sha1_4096_vkey.json -cp ../circuits/build/dsc/dsc_rsa_65537_sha1_4096/dsc_rsa_65537_sha1_4096_js/dsc_rsa_65537_sha1_4096.wasm src/circuit/dsc_rsa_65537_sha1_4096.wasm -#rsa-pss sha256 -cp ../circuits/build/dsc/dsc_rsapss_65537_sha256_4096/dsc_rsapss_65537_sha256_4096_final.zkey src/circuit/dsc_rsapss_65537_sha256_4096_final.zkey -cp ../circuits/build/dsc/dsc_rsapss_65537_sha256_4096/dsc_rsapss_65537_sha256_4096_js/dsc_rsapss_65537_sha256_4096.wasm src/circuit/dsc_rsapss_65537_sha256_4096.wasm -cp ../circuits/build/dsc/dsc_rsapss_65537_sha256_4096/dsc_rsapss_65537_sha256_4096_vkey.json src/vkey/dsc_rsapss_65537_sha256_4096_vkey.json \ No newline at end of file diff --git a/prover/launch_modal_server.sh b/prover/launch_modal_server.sh deleted file mode 100755 index 6d3e235b9..000000000 --- a/prover/launch_modal_server.sh +++ /dev/null @@ -1 +0,0 @@ -modal deploy dsc_prover.py --name dsc_prover \ No newline at end of file diff --git a/prover/requirements.txt b/prover/requirements.txt deleted file mode 100644 index fa486a4bc..000000000 --- a/prover/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -fastapi -modal -requests diff --git a/prover/src/prove.sh b/prover/src/prove.sh deleted file mode 100755 index 57c764862..000000000 --- a/prover/src/prove.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/bash -# Read input from stdin -input=$(cat) - -# Extract the signature_algorithm -signature_algorithm=$(echo "$input" | jq -r '.signature_algorithm // "rsa_65537_sha256_4096"') - -# Set the circuit files based on the signature_algorithm -if [ "$signature_algorithm" == "rsa_65537_sha1_4096" ]; then - circuit_wasm="/root/src/circuit/dsc_rsa_65537_sha1_4096.wasm" - circuit_zkey="/root/src/circuit/dsc_rsa_65537_sha1_4096_final.zkey" -elif [ "$signature_algorithm" == "rsa_65537_sha256_4096" ]; then - circuit_wasm="/root/src/circuit/dsc_rsa_65537_sha256_4096.wasm" - circuit_zkey="/root/src/circuit/dsc_rsa_65537_sha256_4096_final.zkey" -elif [ "$signature_algorithm" == "rsapss_65537_sha256_4096" ]; then - circuit_wasm="/root/src/circuit/dsc_rsapss_65537_sha256_4096.wasm" - circuit_zkey="/root/src/circuit/dsc_rsapss_65537_sha256_4096_final.zkey" -else - echo "Invalid signature algorithm: $signature_algorithm" - exit 1 -fi - -# echo the size of the circuit wasm file and the circuit zkey file -echo "Circuit WASM size: $(du -sh $circuit_wasm)" -echo "Circuit ZKEY size: $(du -sh $circuit_zkey)" - -# Compute the hash of the input data -hash=$(echo -n "$input" | sha256sum | cut -d ' ' -f 1) - -# Create a unique directory for this input -mkdir -p /root/src/data/$hash - -# Write input to the unique directory -echo "$input" > /root/src/data/$hash/input.json - -# Extract only the 'inputs' part of the JSON for the circuit -jq '.inputs' /root/src/data/$hash/input.json > /root/src/data/$hash/circuit_input.json - -# Define paths -input_path="/root/src/data/$hash/circuit_input.json" -witness_path="/root/src/data/$hash/witness.wtns" -proof_path="/root/src/data/$hash/proof.json" -public_path="/root/src/data/$hash/public.json" -prover_path="/root/rapidsnark/build/prover" - -# Calculate the witness -NODE_OPTIONS='--max-old-space-size=644000' snarkjs wc "$circuit_wasm" "$input_path" "$witness_path" | tee /dev/stderr -status_jswitgen=$? -echo "✓ Finished witness generation with js! Status: ${status_jswitgen}" - -# Check if witness generation was successful -if [ $status_jswitgen -ne 0 ]; then - echo "Witness generation failed with status: ${status_jswitgen}" - exit 1 -fi - -# Check if witness file exists -if [ ! -f "$witness_path" ]; then - echo "Witness file not found: $witness_path" - exit 1 -fi - -# Check if prover executable exists -if [ ! -f "$prover_path" ]; then - echo "Prover executable not found: $prover_path" - exit 1 -fi - -# Generate the proof using Rapidsnark -echo "ldd $prover_path" -ldd "$prover_path" -status_lld=$? -echo "✓ ldd prover dependencies present! ${status_lld}" - -echo "$prover_path $circuit_zkey $witness_path $proof_path $public_path" -"$prover_path" "$circuit_zkey" "$witness_path" "$proof_path" "$public_path" | tee /dev/stderr -status_prover=$? -echo "✓ Finished rapid proofgen! Status: ${status_prover}" - -# Check if proof and public files exist -if [ ! -f "$proof_path" ]; then - echo "Proof file not found: $proof_path" - exit 1 -fi - -if [ ! -f "$public_path" ]; then - echo "Public file not found: $public_path" - exit 1 -fi - -# Output the result -cat "$proof_path" -cat "$public_path" - -# Finally, delete the input and the witness -rm -f "$input_path" "$witness_path" - -exit 0 \ No newline at end of file diff --git a/prover/src/vkey/dsc_rsa_65537_sha1_4096_vkey.json b/prover/src/vkey/dsc_rsa_65537_sha1_4096_vkey.json deleted file mode 100644 index b9e50a6e9..000000000 --- a/prover/src/vkey/dsc_rsa_65537_sha1_4096_vkey.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "protocol": "groth16", - "curve": "bn128", - "nPublic": 2, - "vk_alpha_1": [ - "20491192805390485299153009773594534940189261866228447918068658471970481763042", - "9383485363053290200918347156157836566562967994039712273449902621266178545958", - "1" - ], - "vk_beta_2": [ - [ - "6375614351688725206403948262868962793625744043794305715222011528459656738731", - "4252822878758300859123897981450591353533073413197771768651442665752259397132" - ], - [ - "10505242626370262277552901082094356697409835680220590971873171140371331206856", - "21847035105528745403288232691147584728191162732299865338377159692350059136679" - ], - [ - "1", - "0" - ] - ], - "vk_gamma_2": [ - [ - "10857046999023057135944570762232829481370756359578518086990519993285655852781", - "11559732032986387107991004021392285783925812861821192530917403151452391805634" - ], - [ - "8495653923123431417604973247489272438418190587263600148770280649306958101930", - "4082367875863433681332203403145435568316851327593401208105741076214120093531" - ], - [ - "1", - "0" - ] - ], - "vk_delta_2": [ - [ - "13609834548161300582477853991526320293433640330539801500903753457627888495381", - "8441806186745188372537460321981116999801031201583499966958826604947980830000" - ], - [ - "8448384202753302962223109595229113261664582566011624155734783894938928271855", - "14114983069796580083449425790812236094683577678022815810458824633453412210627" - ], - [ - "1", - "0" - ] - ], - "vk_alphabeta_12": [ - [ - [ - "2029413683389138792403550203267699914886160938906632433982220835551125967885", - "21072700047562757817161031222997517981543347628379360635925549008442030252106" - ], - [ - "5940354580057074848093997050200682056184807770593307860589430076672439820312", - "12156638873931618554171829126792193045421052652279363021382169897324752428276" - ], - [ - "7898200236362823042373859371574133993780991612861777490112507062703164551277", - "7074218545237549455313236346927434013100842096812539264420499035217050630853" - ] - ], - [ - [ - "7077479683546002997211712695946002074877511277312570035766170199895071832130", - "10093483419865920389913245021038182291233451549023025229112148274109565435465" - ], - [ - "4595479056700221319381530156280926371456704509942304414423590385166031118820", - "19831328484489333784475432780421641293929726139240675179672856274388269393268" - ], - [ - "11934129596455521040620786944827826205713621633706285934057045369193958244500", - "8037395052364110730298837004334506829870972346962140206007064471173334027475" - ] - ] - ], - "IC": [ - [ - "8080423910694661461576427977746141048179131345871564682235127365538915251175", - "15077260046277123685110202133518064301144478802752095822556731494534324607918", - "1" - ], - [ - "16011015387972163546219334947336021918538394305813640145299036166236111586389", - "19422172264639146231714658451804174650252945098828793769061895536286758622279", - "1" - ], - [ - "2543445962105990625291559091474595879940066015891597850114251320085420659626", - "1917249161113849432608012443620967377861258824599427135619631874160142518773", - "1" - ] - ] -} \ No newline at end of file diff --git a/prover/src/vkey/dsc_rsa_65537_sha256_4096_vkey.json b/prover/src/vkey/dsc_rsa_65537_sha256_4096_vkey.json deleted file mode 100644 index 75e19f19d..000000000 --- a/prover/src/vkey/dsc_rsa_65537_sha256_4096_vkey.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "protocol": "groth16", - "curve": "bn128", - "nPublic": 2, - "vk_alpha_1": [ - "20491192805390485299153009773594534940189261866228447918068658471970481763042", - "9383485363053290200918347156157836566562967994039712273449902621266178545958", - "1" - ], - "vk_beta_2": [ - [ - "6375614351688725206403948262868962793625744043794305715222011528459656738731", - "4252822878758300859123897981450591353533073413197771768651442665752259397132" - ], - [ - "10505242626370262277552901082094356697409835680220590971873171140371331206856", - "21847035105528745403288232691147584728191162732299865338377159692350059136679" - ], - [ - "1", - "0" - ] - ], - "vk_gamma_2": [ - [ - "10857046999023057135944570762232829481370756359578518086990519993285655852781", - "11559732032986387107991004021392285783925812861821192530917403151452391805634" - ], - [ - "8495653923123431417604973247489272438418190587263600148770280649306958101930", - "4082367875863433681332203403145435568316851327593401208105741076214120093531" - ], - [ - "1", - "0" - ] - ], - "vk_delta_2": [ - [ - "8403974525672515951605465754909425916978281298593354504437469807907113049853", - "12233134836151850512596961158180983853133742935319340320561432564845137384819" - ], - [ - "3209155548902127778431906050698597513646227271655778722256683596743569531044", - "16830777068052670490128170305087202969267881418665601837992321846223880096264" - ], - [ - "1", - "0" - ] - ], - "vk_alphabeta_12": [ - [ - [ - "2029413683389138792403550203267699914886160938906632433982220835551125967885", - "21072700047562757817161031222997517981543347628379360635925549008442030252106" - ], - [ - "5940354580057074848093997050200682056184807770593307860589430076672439820312", - "12156638873931618554171829126792193045421052652279363021382169897324752428276" - ], - [ - "7898200236362823042373859371574133993780991612861777490112507062703164551277", - "7074218545237549455313236346927434013100842096812539264420499035217050630853" - ] - ], - [ - [ - "7077479683546002997211712695946002074877511277312570035766170199895071832130", - "10093483419865920389913245021038182291233451549023025229112148274109565435465" - ], - [ - "4595479056700221319381530156280926371456704509942304414423590385166031118820", - "19831328484489333784475432780421641293929726139240675179672856274388269393268" - ], - [ - "11934129596455521040620786944827826205713621633706285934057045369193958244500", - "8037395052364110730298837004334506829870972346962140206007064471173334027475" - ] - ] - ], - "IC": [ - [ - "16231288969314859968324689058413762096922845561563844884666690734569347763082", - "5910239835236935696830364945179549816839705839711095023727334010208312533092", - "1" - ], - [ - "6260576084748320398294355533743833076081106851106584793995576172400792840042", - "21319331746978162427565186170902229291674424766799571029877219503610111212711", - "1" - ], - [ - "16479555690731841331208639285970255252465816317199429107438320860232249030762", - "3783712303962417058251692820237130203111118349896777989119917429903130718416", - "1" - ] - ] -} \ No newline at end of file diff --git a/prover/src/vkey/dsc_rsapss_65537_sha256_4096_vkey.json b/prover/src/vkey/dsc_rsapss_65537_sha256_4096_vkey.json deleted file mode 100644 index 0aee745ed..000000000 --- a/prover/src/vkey/dsc_rsapss_65537_sha256_4096_vkey.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "protocol": "groth16", - "curve": "bn128", - "nPublic": 2, - "vk_alpha_1": [ - "20491192805390485299153009773594534940189261866228447918068658471970481763042", - "9383485363053290200918347156157836566562967994039712273449902621266178545958", - "1" - ], - "vk_beta_2": [ - [ - "6375614351688725206403948262868962793625744043794305715222011528459656738731", - "4252822878758300859123897981450591353533073413197771768651442665752259397132" - ], - [ - "10505242626370262277552901082094356697409835680220590971873171140371331206856", - "21847035105528745403288232691147584728191162732299865338377159692350059136679" - ], - [ - "1", - "0" - ] - ], - "vk_gamma_2": [ - [ - "10857046999023057135944570762232829481370756359578518086990519993285655852781", - "11559732032986387107991004021392285783925812861821192530917403151452391805634" - ], - [ - "8495653923123431417604973247489272438418190587263600148770280649306958101930", - "4082367875863433681332203403145435568316851327593401208105741076214120093531" - ], - [ - "1", - "0" - ] - ], - "vk_delta_2": [ - [ - "6017862818859039949402494358517294962820240623943684783826304039772640083873", - "11178871189289476718066796914086694937261254534191355355208715473729459679073" - ], - [ - "18289536515878615632378439677874060078266723798016506833131127246101859022607", - "8005285279181761514246985809032780535330313241768111893953981130952718939039" - ], - [ - "1", - "0" - ] - ], - "vk_alphabeta_12": [ - [ - [ - "2029413683389138792403550203267699914886160938906632433982220835551125967885", - "21072700047562757817161031222997517981543347628379360635925549008442030252106" - ], - [ - "5940354580057074848093997050200682056184807770593307860589430076672439820312", - "12156638873931618554171829126792193045421052652279363021382169897324752428276" - ], - [ - "7898200236362823042373859371574133993780991612861777490112507062703164551277", - "7074218545237549455313236346927434013100842096812539264420499035217050630853" - ] - ], - [ - [ - "7077479683546002997211712695946002074877511277312570035766170199895071832130", - "10093483419865920389913245021038182291233451549023025229112148274109565435465" - ], - [ - "4595479056700221319381530156280926371456704509942304414423590385166031118820", - "19831328484489333784475432780421641293929726139240675179672856274388269393268" - ], - [ - "11934129596455521040620786944827826205713621633706285934057045369193958244500", - "8037395052364110730298837004334506829870972346962140206007064471173334027475" - ] - ] - ], - "IC": [ - [ - "8938477176893632284539660223582989287068454472173218831171935317066824606917", - "9409256007408490215082527289125535503645664704563806461206465772769775389099", - "1" - ], - [ - "9406714425071299321475031445293798140218018985951799864352153321364734136304", - "16190677786472274760082919772279780726948507745938757138812410377304364738549", - "1" - ], - [ - "17636847760071529621476637340355013609204110513013412005293780563117471695582", - "16269304104382842638426610869142550901209834485529174763447294867648099217552", - "1" - ] - ] -} \ No newline at end of file diff --git a/prover/tests/package.json b/prover/tests/package.json deleted file mode 100644 index ad6b680ed..000000000 --- a/prover/tests/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "modal-tests", - "version": "0.0.1", - "license": "MIT", - "author": "", - "scripts": { - "tests": " yarn ts-mocha -p ./tsconfig.json modal.test.ts --exit" - }, - "dependencies": { - "@types/chai-as-promised": "^7.1.6", - "@types/node": "^20.11.19", - "@types/node-forge": "^1.3.5", - "@types/snarkjs": "^0.7.8", - "axios": "^1.7.2", - "chai-as-promised": "^7.1.1", - "node-forge": "https://github.com/remicolin/forge", - "poseidon-lite": "^0.2.0", - "snarkjs": "^0.7.4", - "typescript": "^5.3.3" - }, - "devDependencies": { - "@types/chai": "^4.3.6", - "@types/circomlibjs": "^0.1.6", - "@types/mocha": "^10.0.7", - "chai": "^4.3.8", - "mocha": "^10.3.0", - "prettier": "^3.3.3", - "ts-mocha": "^10.0.0", - "ts-node": "^10.9.2" - } -} \ No newline at end of file diff --git a/prover/tests/tsconfig.json b/prover/tests/tsconfig.json deleted file mode 100644 index 5cffa10a9..000000000 --- a/prover/tests/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "module": "commonjs", - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true - } -} \ No newline at end of file diff --git a/prover/tests/yarn.lock b/prover/tests/yarn.lock deleted file mode 100644 index da5d162da..000000000 --- a/prover/tests/yarn.lock +++ /dev/null @@ -1,1158 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@iden3/bigarray@0.0.2": - version "0.0.2" - resolved "https://registry.yarnpkg.com/@iden3/bigarray/-/bigarray-0.0.2.tgz#6fc4ba5be18daf8a26ee393f2fb62b80d98c05e9" - integrity sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g== - -"@iden3/binfileutils@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@iden3/binfileutils/-/binfileutils-0.0.12.tgz#3772552f57551814ff606fa68ea1e0ef52795ce3" - integrity sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ== - dependencies: - fastfile "0.0.20" - ffjavascript "^0.3.0" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/chai-as-promised@^7.1.6": - version "7.1.8" - resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz#f2b3d82d53c59626b5d6bbc087667ccb4b677fe9" - integrity sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw== - dependencies: - "@types/chai" "*" - -"@types/chai@*", "@types/chai@^4.3.6": - version "4.3.16" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.16.tgz#b1572967f0b8b60bf3f87fe1d854a5604ea70c82" - integrity sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ== - -"@types/circomlibjs@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@types/circomlibjs/-/circomlibjs-0.1.6.tgz#dba1b9cc68ae4f75da045b8b14c50f3444b31d7f" - integrity sha512-yF174bPDaiKgejlZzCSqKwZaqXhlxMcVEHrAtstFohwP05OjtvHXOdxO6HQeTg8WwIdgMg7MJb1WyWZdUCGlPQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/mocha@^10.0.7": - version "10.0.7" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.7.tgz#4c620090f28ca7f905a94b706f74dc5b57b44f2f" - integrity sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw== - -"@types/node-forge@^1.3.5": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== - dependencies: - "@types/node" "*" - -"@types/node@*", "@types/node@^20.11.19": - version "20.14.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.11.tgz#09b300423343460455043ddd4d0ded6ac579b74b" - integrity sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA== - dependencies: - undici-types "~5.26.4" - -"@types/snarkjs@^0.7.8": - version "0.7.8" - resolved "https://registry.yarnpkg.com/@types/snarkjs/-/snarkjs-0.7.8.tgz#8fd47457247efd4a6dabcdd71ec1986532155480" - integrity sha512-x37Jsv1vx6I6RMJdfvYEmDUOLYgzYMecwlk13gniDOcN20xLVe9hy9DlQxWeCPirqpDY/jwugQSqCi2RxehU3g== - -acorn-walk@^8.1.1: - version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== - dependencies: - acorn "^8.11.0" - -acorn@^8.11.0, acorn@^8.4.1: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== - -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -async@^3.2.3: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -axios@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" - integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -b4a@^1.0.1: - version "1.6.6" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.6.tgz#a4cc349a3851987c3c4ac2d7785c18744f6da9ba" - integrity sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -bfj@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" - integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== - dependencies: - bluebird "^3.7.2" - check-types "^11.2.3" - hoopy "^0.1.4" - jsonpath "^1.1.1" - tryer "^1.0.1" - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -blake2b-wasm@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" - integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== - dependencies: - b4a "^1.0.1" - nanoassert "^2.0.0" - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browser-stdout@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -buffer-from@^1.0.0, buffer-from@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -chai-as-promised@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.2.tgz#70cd73b74afd519754161386421fb71832c6d041" - integrity sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw== - dependencies: - check-error "^1.0.2" - -chai@^4.3.8: - version "4.4.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" - integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" - -chalk@^4.0.2, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -check-error@^1.0.2, check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - -check-types@^11.2.3: - version "11.2.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" - integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== - -chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -circom_runtime@0.1.25: - version "0.1.25" - resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.25.tgz#62a33b371f4633f30238db7a326c43d988e3a170" - integrity sha512-xBGsBFF5Uv6AKvbpgExYqpHfmfawH2HKe+LyjfKSRevqEV8u63i9KGHVIILsbJNW+0c5bm/66f0PUYQ7qZSkJA== - dependencies: - ffjavascript "0.3.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -debug@^4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== - dependencies: - ms "2.1.2" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -deep-eql@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" - integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== - dependencies: - type-detect "^4.0.0" - -deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -diff@^3.1.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -ejs@^3.1.6: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^1.8.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" - integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== - -esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastfile@0.0.20: - version "0.0.20" - resolved "https://registry.yarnpkg.com/fastfile/-/fastfile-0.0.20.tgz#794a143d58cfda2e24c298e5ef619c748c8a1879" - integrity sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA== - -ffjavascript@0.3.0, ffjavascript@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.0.tgz#442cd8fbb1ee4cbb1be9d26fd7b2951a1ea45d6a" - integrity sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ== - dependencies: - wasmbuilder "0.0.16" - wasmcurves "0.2.2" - web-worker "1.2.0" - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -jake@^10.8.5: - version "10.9.1" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.1.tgz#8dc96b7fcc41cb19aa502af506da4e1d56f5e62b" - integrity sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -jsonpath@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" - integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== - dependencies: - esprima "1.2.2" - static-eval "2.0.2" - underscore "1.12.1" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -logplease@^1.2.15: - version "1.2.15" - resolved "https://registry.yarnpkg.com/logplease/-/logplease-1.2.15.tgz#3da442e93751a5992cc19010a826b08d0293c48a" - integrity sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA== - -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1, minimatch@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@^0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@^10.3.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.6.0.tgz#465fc66c52613088e10018989a3b98d5e11954b9" - integrity sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw== - dependencies: - ansi-colors "^4.1.3" - browser-stdout "^1.3.1" - chokidar "^3.5.3" - debug "^4.3.5" - diff "^5.2.0" - escape-string-regexp "^4.0.0" - find-up "^5.0.0" - glob "^8.1.0" - he "^1.2.0" - js-yaml "^4.1.0" - log-symbols "^4.1.0" - minimatch "^5.1.6" - ms "^2.1.3" - serialize-javascript "^6.0.2" - strip-json-comments "^3.1.1" - supports-color "^8.1.1" - workerpool "^6.5.1" - yargs "^16.2.0" - yargs-parser "^20.2.9" - yargs-unparser "^2.0.0" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoassert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" - integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== - -"node-forge@https://github.com/remicolin/forge": - version "1.3.2-0" - resolved "https://github.com/remicolin/forge#17a11a632dd0e50343b3b8393245a2696f78afbb" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -poseidon-lite@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/poseidon-lite/-/poseidon-lite-0.2.0.tgz#dbc242ebd9c10c32d507a533fa497231d168fd72" - integrity sha512-vivDZnGmz8W4G/GzVA72PXkfYStjilu83rjjUfpL4PueKcC8nfX6hCPh2XhoC5FBgC6y0TA3YuUeUo5YCcNoig== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -prettier@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" - integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -r1csfile@0.0.48: - version "0.0.48" - resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.48.tgz#a317fc75407a9da92631666c75bdfc13f0a7835a" - integrity sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw== - dependencies: - "@iden3/bigarray" "0.0.2" - "@iden3/binfileutils" "0.0.12" - fastfile "0.0.20" - ffjavascript "0.3.0" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -snarkjs@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.7.4.tgz#b9ad5813f055ab84d33f1831a6f1f34a71b6cd46" - integrity sha512-x4cOCR4YXSyBlLtfnUUwfbZrw8wFd/Y0lk83eexJzKwZB8ELdpH+10ts8YtDsm2/a3WK7c7p514bbE8NpqxW8w== - dependencies: - "@iden3/binfileutils" "0.0.12" - bfj "^7.0.2" - blake2b-wasm "^2.4.0" - circom_runtime "0.1.25" - ejs "^3.1.6" - fastfile "0.0.20" - ffjavascript "0.3.0" - js-sha3 "^0.8.0" - logplease "^1.2.15" - r1csfile "0.0.48" - -source-map-support@^0.5.6: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -static-eval@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" - integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== - dependencies: - escodegen "^1.8.1" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-mocha@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.0.0.tgz#41a8d099ac90dbbc64b06976c5025ffaebc53cb9" - integrity sha512-VRfgDO+iiuJFlNB18tzOfypJ21xn2xbuZyDvJvqpTbWgkAgD17ONGr8t+Tl8rcBtOBdjXp5e/Rk+d39f7XBHRw== - dependencies: - ts-node "7.0.1" - optionalDependencies: - tsconfig-paths "^3.5.0" - -ts-node@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" - integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== - dependencies: - arrify "^1.0.0" - buffer-from "^1.1.0" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - source-map-support "^0.5.6" - yn "^2.0.0" - -ts-node@^10.9.2: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths@^3.5.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@^4.0.0, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -typescript@^5.3.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" - integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== - -underscore@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" - integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -wasmbuilder@0.0.16: - version "0.0.16" - resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.16.tgz#f34c1f2c047d2f6e1065cbfec5603988f16d8549" - integrity sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA== - -wasmcurves@0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.2.2.tgz#ca444f6a6f6e2a5cbe6629d98ff478a62b4ccb2b" - integrity sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ== - dependencies: - wasmbuilder "0.0.16" - -web-worker@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" - integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== - -word-wrap@~1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -workerpool@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" - integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-unparser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" - integrity sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/src/app/page.module.css b/src/app/page.module.css deleted file mode 100644 index 19bf7088b..000000000 --- a/src/app/page.module.css +++ /dev/null @@ -1,57 +0,0 @@ -.rotatingTitle { - font-size: 4rem; - font-weight: bold; - background: linear-gradient(45deg, #1e40af, #7c3aed); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; - animation: rotate3D 3s infinite linear; - transform-style: preserve-3d; - perspective: 800px; - padding: 1.5rem; - position: relative; - display: inline-block; -} - -.rotatingTitle::before { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: linear-gradient(45deg, #e0e7ff, #ddd6fe); - border-radius: 8px; - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); - z-index: -1; -} - -@keyframes rotate3D { - 0% { - transform: rotateY(0deg) rotateX(0deg); - } - - 25% { - transform: rotateY(30deg) rotateX(15deg); - } - - 50% { - transform: rotateY(0deg) rotateX(0deg); - } - - 75% { - transform: rotateY(-30deg) rotateX(-15deg); - } - - 100% { - transform: rotateY(0deg) rotateX(0deg); - } -} - -.rotatingTitle:hover { - animation-play-state: paused; - background: linear-gradient(45deg, #7c3aed, #4f46e5); - -webkit-background-clip: text; - background-clip: text; - cursor: pointer; -} \ No newline at end of file diff --git a/test/PCR0Manager.test.ts b/test/PCR0Manager.test.ts deleted file mode 100644 index 0519ecba6..000000000 --- a/test/PCR0Manager.test.ts +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 0d7d1170f353ab2165662911184cfa6cde0aa43d Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Wed, 23 Apr 2025 20:28:02 -0500 Subject: [PATCH 11/49] SEL-187: Make bottom layout scrollable on smaller screens (#525) * fix design check * add an option to disable local sending of sentry events * better sentry enable / disable * fix scan passport height * make bottom layout scrollable so it doesn't squish top screen * simpler logic check. don't create new env var * fix internet connection issues * readd comment * use isConnected instead of internet reachable * use a dynamic bottom panel height * add missing recovery screens * move aesop below * remove dupe export * fix rebase * fix android package download issue --- .../android-passport-reader/app/build.gradle | 2 +- app/android/app/build.gradle | 2 +- app/android/build.gradle | 3 +- app/src/Sentry.ts | 10 +++--- app/src/hooks/useAesopRedesign.ts | 2 +- app/src/hooks/useAppUpdates.ts | 19 +++++------ app/src/hooks/useConnectionModal.ts | 10 +++--- app/src/layouts/ExpandableBottomLayout.tsx | 32 +++++++++++++++++-- app/src/screens/Settings/ModalScreen.tsx | 5 +-- 9 files changed, 59 insertions(+), 26 deletions(-) diff --git a/app/android/android-passport-reader/app/build.gradle b/app/android/android-passport-reader/app/build.gradle index 90f90eb91..c1c7995fe 100644 --- a/app/android/android-passport-reader/app/build.gradle +++ b/app/android/android-passport-reader/app/build.gradle @@ -73,7 +73,7 @@ dependencies { implementation 'commons-codec:commons-codec:1.13' //Camera - implementation 'io.fotoapparat:fotoapparat:2.7.0' + implementation "com.github.RedApparat:Fotoapparat:2.7.0" implementation 'androidx.multidex:multidex:2.0.1' diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index d66cf33cb..8935a4686 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -155,7 +155,7 @@ dependencies { implementation 'com.google.android.gms:play-services-mlkit-text-recognition-common:19.1.0' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation 'io.reactivex.rxjava2:rxjava:2.2.21' - implementation 'io.fotoapparat:fotoapparat:2.7.0' + implementation "com.github.RedApparat:Fotoapparat:2.7.0" implementation "androidx.concurrent:concurrent-futures:1.1.0" implementation "com.google.guava:guava:31.1-android" diff --git a/app/android/build.gradle b/app/android/build.gradle index 43a71c04a..1b035a86f 100644 --- a/app/android/build.gradle +++ b/app/android/build.gradle @@ -36,7 +36,8 @@ allprojects { } configurations.configureEach { resolutionStrategy.dependencySubstitution { - substitute(platform(module('com.gemalto.jp2:jp2-android'))) using module('com.github.Tgo1014:JP2ForAndroid:1.0.4') + substitute(platform(module('com.gemalto.jp2:jp2-android'))) using module('com.github.Tgo1014:JP2ForAndroid:1.0.4') + substitute module('io.fotoapparat:fotoapparat') using module('com.github.RedApparat:Fotoapparat:2.7.0') } resolutionStrategy.force 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' } diff --git a/app/src/Sentry.ts b/app/src/Sentry.ts index 85c7d1c83..40334733e 100644 --- a/app/src/Sentry.ts +++ b/app/src/Sentry.ts @@ -1,8 +1,10 @@ import { SENTRY_DSN } from '@env'; import * as Sentry from '@sentry/react-native'; +export const isSentryDisabled = !SENTRY_DSN; + export const initSentry = () => { - if (!SENTRY_DSN) { + if (isSentryDisabled) { return null; } @@ -32,7 +34,7 @@ export const captureException = ( error: Error, context?: Record, ) => { - if (!SENTRY_DSN) { + if (isSentryDisabled) { return; } Sentry.captureException(error, { @@ -44,7 +46,7 @@ export const captureMessage = ( message: string, context?: Record, ) => { - if (!SENTRY_DSN) { + if (isSentryDisabled) { return; } Sentry.captureMessage(message, { @@ -53,5 +55,5 @@ export const captureMessage = ( }; export const wrapWithSentry = (App: React.ComponentType) => { - return SENTRY_DSN ? Sentry.wrap(App) : App; + return isSentryDisabled ? App : Sentry.wrap(App); }; diff --git a/app/src/hooks/useAesopRedesign.ts b/app/src/hooks/useAesopRedesign.ts index 7977981d2..6a20d6657 100644 --- a/app/src/hooks/useAesopRedesign.ts +++ b/app/src/hooks/useAesopRedesign.ts @@ -1,7 +1,7 @@ import { IS_TEST_BUILD } from '@env'; export const shouldShowAesopRedesign = (): boolean => { - return IS_TEST_BUILD === 'true'; + return JSON.parse(IS_TEST_BUILD); }; export const useAesopRedesign = (): boolean => { diff --git a/app/src/hooks/useAppUpdates.ts b/app/src/hooks/useAppUpdates.ts index f03ae1781..d75f7654f 100644 --- a/app/src/hooks/useAppUpdates.ts +++ b/app/src/hooks/useAppUpdates.ts @@ -1,5 +1,5 @@ import { useNavigation } from '@react-navigation/native'; -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { Linking } from 'react-native'; import { checkVersion } from 'react-native-check-version'; @@ -8,11 +8,13 @@ export const useAppUpdates = (): [boolean, () => void, boolean] => { const [newVersionUrl, setNewVersionUrl] = useState(null); const [isModalDismissed, setIsModalDismissed] = useState(false); - checkVersion().then(version => { - if (version.needsUpdate) { - setNewVersionUrl(version.url); - } - }); + useEffect(() => { + checkVersion().then(version => { + if (version.needsUpdate) { + setNewVersionUrl(version.url); + } + }); + }, []); const showAppUpdateModal = () => { navigation.navigate('Modal', { @@ -22,9 +24,8 @@ export const useAppUpdates = (): [boolean, () => void, boolean] => { buttonText: 'Update and restart', onButtonPress: async () => { if (newVersionUrl !== null) { - await Linking.openURL( - newVersionUrl, // TODO or use: `Platform.OS === 'ios' ? appStoreUrl : playStoreUrl` - ); + // TODO or use: `Platform.OS === 'ios' ? appStoreUrl : playStoreUrl` + await Linking.openURL(newVersionUrl); } }, onModalDismiss: () => { diff --git a/app/src/hooks/useConnectionModal.ts b/app/src/hooks/useConnectionModal.ts index a3308bc9f..eefdbc23b 100644 --- a/app/src/hooks/useConnectionModal.ts +++ b/app/src/hooks/useConnectionModal.ts @@ -2,8 +2,8 @@ import { useNetInfo } from '@react-native-community/netinfo'; import { useEffect } from 'react'; import { Linking, Platform } from 'react-native'; -import { useModal } from '../hooks/useModal'; import { navigationRef } from '../Navigation'; +import { useModal } from './useModal'; const connectionModalParams = { titleText: 'Internet connection error', @@ -21,7 +21,7 @@ const connectionModalParams = { } as const; export default function useConnectionModal() { - const { isInternetReachable } = useNetInfo(); + const { isConnected } = useNetInfo(); const { showModal, dismissModal, visible } = useModal(connectionModalParams); useEffect(() => { @@ -29,12 +29,12 @@ export default function useConnectionModal() { return; } - if (isInternetReachable === false && !visible) { + if (isConnected === false && !visible) { showModal(); - } else if (visible && isInternetReachable !== false) { + } else if (visible && isConnected !== false) { dismissModal(); } - }, [isInternetReachable, dismissModal, visible, navigationRef.isReady()]); + }, [isConnected, dismissModal, visible, navigationRef.isReady()]); return { visible, diff --git a/app/src/layouts/ExpandableBottomLayout.tsx b/app/src/layouts/ExpandableBottomLayout.tsx index 9f17e489f..e0a076e5d 100644 --- a/app/src/layouts/ExpandableBottomLayout.tsx +++ b/app/src/layouts/ExpandableBottomLayout.tsx @@ -1,10 +1,21 @@ import React from 'react'; -import { StatusBar, StyleSheet } from 'react-native'; +import { + Dimensions, + PixelRatio, + ScrollView, + StatusBar, + StyleSheet, +} from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { View, ViewProps } from 'tamagui'; import { black, white } from '../utils/colors'; +// Get the current font scale factor +const fontScale = PixelRatio.getFontScale(); +// fontScale > 1 means the user has increased text size in accessibility settings +const isLargerTextEnabled = fontScale > 1; + interface ExpandableBottomLayoutProps extends ViewProps { children: React.ReactNode; backgroundColor: string; @@ -90,12 +101,29 @@ const BottomSection: React.FC = ({ const { bottom: safeAreaBottom } = useSafeAreaInsets(); const incomingBottom = props.paddingBottom ?? props.pb ?? 0; const minBottom = Math.max(safeAreaBottom, 10); - const totalBottom = typeof incomingBottom === 'number' ? minBottom + incomingBottom : minBottom; + + let panelHeight: number | 'auto' = 'auto'; + // set bottom section height to 38% of screen height + // and wrap children in a scroll view if larger text is enabled + if (isLargerTextEnabled) { + const windowHeight = Dimensions.get('window').height; + panelHeight = windowHeight * 0.38; + children = ( + + {children} + + ); + } + return ( diff --git a/app/src/screens/Settings/ModalScreen.tsx b/app/src/screens/Settings/ModalScreen.tsx index b36788882..deca9448b 100644 --- a/app/src/screens/Settings/ModalScreen.tsx +++ b/app/src/screens/Settings/ModalScreen.tsx @@ -35,6 +35,7 @@ interface ModalScreenProps extends StaticScreenProps {} const ModalScreen: React.FC = ({ route: { params } }) => { const navigation = useNavigation(); + const onButtonPressed = useCallback(async () => { confirmTap(); try { @@ -43,13 +44,13 @@ const ModalScreen: React.FC = ({ route: { params } }) => { } catch (error) { console.error(error); } - }, []); + }, [params?.onButtonPress]); const onClose = useCallback(() => { impactLight(); navigation.goBack(); params?.onModalDismiss(); - }, [params]); + }, [params?.onModalDismiss]); return ( From 0bf324e639470c3a2f7ef550cbe9f1f22baf62cc Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com> Date: Thu, 24 Apr 2025 08:55:47 -0400 Subject: [PATCH 12/49] Feat/extend id support (#517) * refactor proving impleting xstate, speedup proving * add disclosure proof support * keep refactoring provingMachine, clean old implementation * call init method when switching from dsc to register * rebase with dev to display why the proof verification failed * refactor ws connexion between front-end and mobile to retrieve self-app * update the webclient at proofVerification and use selfAppStore in provingMachine * fix provintStore.init in ProveScreen * yarn nice * fetch data correctly in splash screen --- app/App.tsx | 8 +- app/package.json | 1 + app/src/Navigation/index.tsx | 17 +- .../AccountRecoveryChoiceScreen.tsx | 2 +- .../AccountFlow/RecoverWithPhraseScreen.tsx | 2 +- .../Onboarding/ConfirmBelongingScreen.tsx | 22 +- app/src/screens/Onboarding/LoadingScreen.tsx | 112 +-- .../ProveFlow/ProofRequestStatusScreen.tsx | 90 ++- app/src/screens/ProveFlow/ProveScreen.tsx | 110 +-- app/src/screens/ProveFlow/ViewFinder.tsx | 22 +- app/src/screens/SplashScreen.tsx | 34 +- app/src/stores/appProvider.tsx | 184 ----- app/src/stores/proofProvider.tsx | 146 ---- app/src/stores/protocolStore.ts | 88 ++ app/src/stores/selfAppStore.tsx | 189 +++++ app/src/utils/deeplinks.ts | 68 ++ app/src/utils/proving/payload.ts | 330 -------- .../proving/{inputs.ts => provingInputs.ts} | 73 +- app/src/utils/proving/provingMachine.ts | 751 ++++++++++++++++++ app/src/utils/proving/provingUtils.ts | 92 +++ app/src/utils/proving/tee.ts | 314 -------- app/src/utils/proving/validateDocument.ts | 116 +++ app/src/utils/qrCodeNew.ts | 107 --- app/yarn.lock | 8 + common/src/constants/constants.ts | 2 + common/src/utils/types.ts | 8 +- 26 files changed, 1505 insertions(+), 1391 deletions(-) delete mode 100644 app/src/stores/appProvider.tsx delete mode 100644 app/src/stores/proofProvider.tsx create mode 100644 app/src/stores/protocolStore.ts create mode 100644 app/src/stores/selfAppStore.tsx create mode 100644 app/src/utils/deeplinks.ts delete mode 100644 app/src/utils/proving/payload.ts rename app/src/utils/proving/{inputs.ts => provingInputs.ts} (68%) create mode 100644 app/src/utils/proving/provingMachine.ts create mode 100644 app/src/utils/proving/provingUtils.ts delete mode 100644 app/src/utils/proving/tee.ts create mode 100644 app/src/utils/proving/validateDocument.ts delete mode 100644 app/src/utils/qrCodeNew.ts diff --git a/app/App.tsx b/app/App.tsx index e0f3dcd29..5faa1df1a 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -6,10 +6,8 @@ import { YStack } from 'tamagui'; import AppNavigation from './src/Navigation'; import { initSentry, wrapWithSentry } from './src/Sentry'; -import { AppProvider } from './src/stores/appProvider'; import { AuthProvider } from './src/stores/authProvider'; import { PassportProvider } from './src/stores/passportDataProvider'; -import { ProofProvider } from './src/stores/proofProvider'; initSentry(); @@ -20,11 +18,7 @@ function App(): React.JSX.Element { - - - - - + diff --git a/app/package.json b/app/package.json index 8d7c5e200..2b3256a95 100644 --- a/app/package.json +++ b/app/package.json @@ -96,6 +96,7 @@ "socket.io-client": "^4.7.5", "tamagui": "1.110.0", "uuid": "^11.0.5", + "xstate": "^5.19.2", "zustand": "^4.5.2" }, "devDependencies": { diff --git a/app/src/Navigation/index.tsx b/app/src/Navigation/index.tsx index 59734916a..43c9f78bd 100644 --- a/app/src/Navigation/index.tsx +++ b/app/src/Navigation/index.tsx @@ -11,11 +11,9 @@ import { GestureHandlerRootView } from 'react-native-gesture-handler'; import { DefaultNavBar } from '../components/NavBar'; import AppLayout from '../layouts/AppLayout'; -import { useApp } from '../stores/appProvider'; -import { useProofInfo } from '../stores/proofProvider'; import analytics from '../utils/analytics'; import { white } from '../utils/colors'; -import { setupUniversalLinkListenerInNavigation } from '../utils/qrCodeNew'; +import { setupUniversalLinkListenerInNavigation } from '../utils/deeplinks'; import accountScreens from './account'; import aesopScreens from './aesop'; import homeScreens from './home'; @@ -70,23 +68,14 @@ const NavigationWithTracking = () => { } }; - // Add these hooks to get access to the necessary functions - const { setSelectedApp, cleanSelfApp } = useProofInfo(); - const { startAppListener } = useApp(); - // Setup universal link handling at the navigation level React.useEffect(() => { - const cleanup = setupUniversalLinkListenerInNavigation( - navigationRef, - setSelectedApp, - cleanSelfApp, - startAppListener, - ); + const cleanup = setupUniversalLinkListenerInNavigation(); return () => { cleanup(); }; - }, [setSelectedApp, cleanSelfApp, startAppListener]); + }, []); return ( diff --git a/app/src/screens/AccountFlow/AccountRecoveryChoiceScreen.tsx b/app/src/screens/AccountFlow/AccountRecoveryChoiceScreen.tsx index d1c6712ba..ed100b6f1 100644 --- a/app/src/screens/AccountFlow/AccountRecoveryChoiceScreen.tsx +++ b/app/src/screens/AccountFlow/AccountRecoveryChoiceScreen.tsx @@ -16,7 +16,7 @@ import { loadPassportDataAndSecret } from '../../stores/passportDataProvider'; import { useSettingStore } from '../../stores/settingStore'; import { STORAGE_NAME, useBackupMnemonic } from '../../utils/cloudBackup'; import { black, slate500, slate600, white } from '../../utils/colors'; -import { isUserRegistered } from '../../utils/proving/payload'; +import { isUserRegistered } from '../../utils/proving/validateDocument'; interface AccountRecoveryChoiceScreenProps {} diff --git a/app/src/screens/AccountFlow/RecoverWithPhraseScreen.tsx b/app/src/screens/AccountFlow/RecoverWithPhraseScreen.tsx index 4bff14c71..870b29484 100644 --- a/app/src/screens/AccountFlow/RecoverWithPhraseScreen.tsx +++ b/app/src/screens/AccountFlow/RecoverWithPhraseScreen.tsx @@ -18,7 +18,7 @@ import { slate700, white, } from '../../utils/colors'; -import { isUserRegistered } from '../../utils/proving/payload'; +import { isUserRegistered } from '../../utils/proving/validateDocument'; interface RecoverWithPhraseScreenProps {} diff --git a/app/src/screens/Onboarding/ConfirmBelongingScreen.tsx b/app/src/screens/Onboarding/ConfirmBelongingScreen.tsx index df6df319d..10735f68c 100644 --- a/app/src/screens/Onboarding/ConfirmBelongingScreen.tsx +++ b/app/src/screens/Onboarding/ConfirmBelongingScreen.tsx @@ -10,6 +10,7 @@ import useHapticNavigation from '../../hooks/useHapticNavigation'; import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; import { black, white } from '../../utils/colors'; import { notificationSuccess } from '../../utils/haptic'; +import { useProvingStore } from '../../utils/proving/provingMachine'; import { styles } from '../ProveFlow/ProofRequestStatusScreen'; type ConfirmBelongingScreenProps = StaticScreenProps< @@ -23,15 +24,34 @@ const ConfirmBelongingScreen: React.FC = ({ route, }) => { const mockPassportFlow = route.params?.mockPassportFlow; - const onOkPress = useHapticNavigation('LoadingScreen', { + const navigate = useHapticNavigation('LoadingScreen', { params: { mockPassportFlow, }, }); + const provingStore = useProvingStore(); + useEffect(() => { notificationSuccess(); + provingStore.init('dsc'); }, []); + const onOkPress = async () => { + // Initialize the proving process just before navigation + // This ensures a fresh start each time + try { + // Initialize the state machine + + // Mark as user confirmed - proving will start automatically when ready + provingStore.setUserConfirmed(); + + // Navigate to loading screen + navigate(); + } catch (error) { + console.error('Error initializing proving process:', error); + } + }; + // Prevents back navigation usePreventRemove(true, () => {}); diff --git a/app/src/screens/Onboarding/LoadingScreen.tsx b/app/src/screens/Onboarding/LoadingScreen.tsx index 6bad8944e..e60c0a756 100644 --- a/app/src/screens/Onboarding/LoadingScreen.tsx +++ b/app/src/screens/Onboarding/LoadingScreen.tsx @@ -1,117 +1,35 @@ -import { StaticScreenProps, useNavigation } from '@react-navigation/native'; +import { StaticScreenProps } from '@react-navigation/native'; +import { useIsFocused } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; -import React, { useEffect, useRef, useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { StyleSheet, Text, View } from 'react-native'; import failAnimation from '../../assets/animations/loading/fail.json'; import miscAnimation from '../../assets/animations/loading/misc.json'; import successAnimation from '../../assets/animations/loading/success.json'; -import useHapticNavigation from '../../hooks/useHapticNavigation'; -import { usePassport } from '../../stores/passportDataProvider'; -import { ProofStatusEnum, useProofInfo } from '../../stores/proofProvider'; -import analytics from '../../utils/analytics'; -import { - checkPassportSupported, - isPassportNullified, - isUserRegistered, - registerPassport, -} from '../../utils/proving/payload'; - -const { trackEvent } = analytics(); +import { useProvingStore } from '../../utils/proving/provingMachine'; type LoadingScreenProps = StaticScreenProps<{}>; const LoadingScreen: React.FC = ({}) => { - const goToSuccessScreen = useHapticNavigation('AccountVerifiedSuccess'); - const goToErrorScreen = useHapticNavigation('Launch'); - const goToUnsupportedScreen = useHapticNavigation('UnsupportedPassport'); - const navigation = useNavigation(); - - const goToSuccessScreenWithDelay = () => { - setTimeout(() => { - goToSuccessScreen(); - }, 3000); - }; - const goToErrorScreenWithDelay = () => { - setTimeout(() => { - goToErrorScreen(); - }, 3000); - }; const [animationSource, setAnimationSource] = useState(miscAnimation); - const { registrationStatus, resetProof } = useProofInfo(); - const { getPassportDataAndSecret, clearPassportData } = usePassport(); + const currentState = useProvingStore(state => state.currentState); + const isFocused = useIsFocused(); + // Monitor the state of the proving machine useEffect(() => { - // TODO this makes sense if reset proof was only about passport registration - resetProof(); - }, []); + if (isFocused) { + console.log('[LoadingScreen] Current proving state:', currentState); + } - useEffect(() => { - console.log('registrationStatus', registrationStatus); - if (registrationStatus === ProofStatusEnum.SUCCESS) { + if (currentState === 'completed') { setAnimationSource(successAnimation); - goToSuccessScreenWithDelay(); - setTimeout(() => resetProof(), 3000); - } else if ( - registrationStatus === ProofStatusEnum.FAILURE || - registrationStatus === ProofStatusEnum.ERROR - ) { + } else if (currentState === 'error') { setAnimationSource(failAnimation); - goToErrorScreenWithDelay(); - setTimeout(() => resetProof(), 3000); - } - }, [registrationStatus]); - - const processPayloadCalled = useRef(false); - - useEffect(() => { - if (!processPayloadCalled.current) { - processPayloadCalled.current = true; - const processPayload = async () => { - try { - const passportDataAndSecret = await getPassportDataAndSecret(); - if (!passportDataAndSecret) { - return; - } - const { passportData, secret } = passportDataAndSecret.data; - const isSupported = await checkPassportSupported(passportData); - if (isSupported.status !== 'passport_supported') { - trackEvent('Passport not supported', { - reason: isSupported.status, - details: isSupported.details, - }); - goToUnsupportedScreen(); - console.log('Passport not supported'); - clearPassportData(); - return; - } - const isRegistered = await isUserRegistered(passportData, secret); - console.log('User is registered:', isRegistered); - if (isRegistered) { - console.log( - 'Passport is registered already. Skipping to AccountVerifiedSuccess', - ); - navigation.navigate('AccountVerifiedSuccess'); - return; - } - const isNullifierOnchain = await isPassportNullified(passportData); - console.log('Passport is nullified:', isNullifierOnchain); - if (isNullifierOnchain) { - console.log( - 'Passport is nullified, but not registered with this secret. Prompt to restore secret from iCloud or manual backup', - ); - navigation.navigate('AccountRecoveryChoice'); - return; - } - registerPassport(passportData, secret); - } catch (error) { - console.error('Error processing payload:', error); - setTimeout(() => resetProof(), 1000); - } - }; - processPayload(); + } else { + setAnimationSource(miscAnimation); } - }, []); + }, [currentState, isFocused]); return ( diff --git a/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx b/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx index baba6a68f..82f1d78af 100644 --- a/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx +++ b/app/src/screens/ProveFlow/ProofRequestStatusScreen.tsx @@ -1,5 +1,6 @@ +import { useIsFocused } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; import { StatusBar, StyleSheet, View } from 'react-native'; import { ScrollView, Spinner } from 'tamagui'; @@ -13,20 +14,27 @@ import { typography } from '../../components/typography/styles'; import { Title } from '../../components/typography/Title'; import useHapticNavigation from '../../hooks/useHapticNavigation'; import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; -import { ProofStatusEnum, useProofInfo } from '../../stores/proofProvider'; +import { useSelfAppStore } from '../../stores/selfAppStore'; import { black, white } from '../../utils/colors'; import { buttonTap, notificationError, notificationSuccess, } from '../../utils/haptic'; +import { useProvingStore } from '../../utils/proving/provingMachine'; const SuccessScreen: React.FC = () => { - const { selectedApp, disclosureStatus, discloseError, cleanSelfApp } = - useProofInfo(); - const appName = selectedApp?.appName; + const { selfApp, cleanSelfApp } = useSelfAppStore(); + const appName = selfApp?.appName; const goHome = useHapticNavigation('Home'); + const currentState = useProvingStore(state => state.currentState); + const reason = useProvingStore(state => state.reason); + + const isFocused = useIsFocused(); + + const [animationSource, setAnimationSource] = useState(loadingAnimation); + function onOkPress() { buttonTap(); cleanSelfApp(); @@ -34,12 +42,22 @@ const SuccessScreen: React.FC = () => { } useEffect(() => { - if (disclosureStatus === 'success') { + if (isFocused) { + console.log( + '[ProofRequestStatusScreen] State update while focused:', + currentState, + ); + } + if (currentState === 'completed') { notificationSuccess(); - } else if (disclosureStatus === 'failure' || disclosureStatus === 'error') { + setAnimationSource(succesAnimation); + } else if (currentState === 'failure' || currentState === 'error') { notificationError(); + setAnimationSource(failAnimation); + } else { + setAnimationSource(loadingAnimation); } - }, [disclosureStatus]); + }, [currentState, isFocused]); return ( @@ -51,8 +69,8 @@ const SuccessScreen: React.FC = () => { > { backgroundColor={white} > - {getTitle(disclosureStatus)} + {getTitle(currentState)} - {disclosureStatus === 'pending' ? : 'OK'} + {currentState !== 'completed' && + currentState !== 'error' && + currentState !== 'failure' ? ( + + ) : ( + 'OK' + )} ); }; -function getAnimation(status: ProofStatusEnum) { - switch (status) { - case 'success': - return succesAnimation; - case 'failure': - case 'error': - return failAnimation; - default: - return loadingAnimation; - } -} - -function getTitle(status: ProofStatusEnum) { - switch (status) { - case 'success': +function getTitle(currentState: string) { + switch (currentState) { + case 'completed': return 'Proof Verified'; case 'failure': case 'error': @@ -108,30 +124,30 @@ function getTitle(status: ProofStatusEnum) { } function Info({ - status, + currentState, appName, reason, }: { - status: ProofStatusEnum; + currentState: string; appName: string; reason?: string; }) { - if (status === 'success') { + if (currentState === 'completed') { return ( You've successfully proved your identity to{' '} {appName} ); - } else if (status === 'failure' || status === 'error') { + } else if (currentState === 'error' || currentState === 'failure') { return ( Unable to prove your identity to{' '} {appName} - {status === 'error' && '. Due to technical issues.'} + {currentState === 'error' && '. Due to technical issues.'} - {status === 'failure' && reason && ( + {currentState === 'failure' && reason && ( <> diff --git a/app/src/screens/ProveFlow/ProveScreen.tsx b/app/src/screens/ProveFlow/ProveScreen.tsx index 412e8f275..282e6185c 100644 --- a/app/src/screens/ProveFlow/ProveScreen.tsx +++ b/app/src/screens/ProveFlow/ProveScreen.tsx @@ -1,4 +1,4 @@ -import { useNavigation } from '@react-navigation/native'; +import { useIsFocused, useNavigation } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; import React, { useCallback, @@ -24,27 +24,16 @@ import Disclosures from '../../components/Disclosures'; import { BodyText } from '../../components/typography/BodyText'; import { Caption } from '../../components/typography/Caption'; import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; -import { useApp } from '../../stores/appProvider'; -import { usePassport } from '../../stores/passportDataProvider'; -import { - globalSetDisclosureStatus, - ProofStatusEnum, - useProofInfo, -} from '../../stores/proofProvider'; +import { useSelfAppStore } from '../../stores/selfAppStore'; import { black, slate300, white } from '../../utils/colors'; import { buttonTap } from '../../utils/haptic'; -import { - isUserRegistered, - sendVcAndDisclosePayload, -} from '../../utils/proving/payload'; +import { useProvingStore } from '../../utils/proving/provingMachine'; const ProveScreen: React.FC = () => { const { navigate } = useNavigation(); - const { getPassportDataAndSecret } = usePassport(); - const { selectedApp, resetProof, cleanSelfApp } = useProofInfo(); - const { handleProofResult } = useApp(); + const isFocused = useIsFocused(); + const selectedApp = useSelfAppStore(state => state.selfApp); const selectedAppRef = useRef(selectedApp); - const isProcessing = useRef(false); const [hasScrolledToBottom, setHasScrolledToBottom] = useState(false); const [scrollViewContentHeight, setScrollViewContentHeight] = useState(0); @@ -55,6 +44,7 @@ const ProveScreen: React.FC = () => { () => scrollViewContentHeight <= scrollViewHeight, [scrollViewContentHeight, scrollViewHeight], ); + const provingStore = useProvingStore(); /** * Whenever the relationship between content height vs. scroll view height changes, @@ -70,14 +60,16 @@ const ProveScreen: React.FC = () => { useEffect(() => { if ( + !isFocused || !selectedApp || selectedAppRef.current?.sessionId === selectedApp.sessionId ) { - return; // Avoid unnecessary updates + return; // Avoid unnecessary updates or processing when not focused } selectedAppRef.current = selectedApp; console.log('[ProveScreen] Selected app updated:', selectedApp); - }, [selectedApp]); + provingStore.init('disclose'); + }, [selectedApp, isFocused]); const disclosureOptions = useMemo(() => { return (selectedApp?.disclosures as SelfAppDisclosureConfig) || []; @@ -111,75 +103,13 @@ const ProveScreen: React.FC = () => { return formatEndpoint(selectedApp.endpoint); }, [selectedApp?.endpoint]); - const onVerify = useCallback( - async function () { - if (isProcessing.current) { - return; - } - isProcessing.current = true; - - resetProof(); - buttonTap(); - const currentApp = selectedAppRef.current; - - try { - let timeToNavigateToStatusScreen: NodeJS.Timeout; - - const passportDataAndSecret = await getPassportDataAndSecret().catch( - (e: Error) => { - console.error('Error getting passport data', e); - globalSetDisclosureStatus?.(ProofStatusEnum.ERROR); - }, - ); - - timeToNavigateToStatusScreen = setTimeout(() => { - navigate('ProofRequestStatusScreen'); - }, 200); - - if (!passportDataAndSecret) { - console.log('No passport data or secret'); - globalSetDisclosureStatus?.(ProofStatusEnum.ERROR); - setTimeout(() => { - navigate('PassportDataNotFound'); - }, 3000); - return; - } - - const { passportData, secret } = passportDataAndSecret.data; - const isRegistered = await isUserRegistered(passportData, secret); - console.log('isRegistered', isRegistered); - - if (!isRegistered) { - clearTimeout(timeToNavigateToStatusScreen); - console.log( - 'User is not registered, sending to ConfirmBelongingScreen', - ); - navigate('ConfirmBelongingScreen'); - cleanSelfApp(); - return; - } - - console.log('currentApp', currentApp); - const status = await sendVcAndDisclosePayload( - secret, - passportData, - currentApp, - ); - handleProofResult( - currentApp.sessionId, - status?.status === ProofStatusEnum.SUCCESS, - status?.error_code, - status?.reason, - ); - } catch (e) { - console.log('Error in verification process'); - globalSetDisclosureStatus?.(ProofStatusEnum.ERROR); - } finally { - isProcessing.current = false; - } - }, - [navigate, getPassportDataAndSecret, handleProofResult, resetProof], - ); + function onVerify() { + provingStore.setUserConfirmed(); + buttonTap(); + setTimeout(() => { + navigate('ProofRequestStatusScreen'); + }, 200); + } const handleScroll = useCallback( (event: NativeSyntheticEvent) => { @@ -215,7 +145,7 @@ const ProveScreen: React.FC = () => { - {!selectedApp.sessionId ? ( + {!selectedApp?.sessionId ? ( { paddingBottom={20} > Self will confirm that these details are accurate and none of your - confidential info will be revealed to {selectedApp.appName} + confidential info will be revealed to {selectedApp?.appName} {hasScrolledToBottom ? 'Hold To Verify' diff --git a/app/src/screens/ProveFlow/ViewFinder.tsx b/app/src/screens/ProveFlow/ViewFinder.tsx index 5ca0fb654..967b5650c 100644 --- a/app/src/screens/ProveFlow/ViewFinder.tsx +++ b/app/src/screens/ProveFlow/ViewFinder.tsx @@ -21,8 +21,7 @@ import useConnectionModal from '../../hooks/useConnectionModal'; import useHapticNavigation from '../../hooks/useHapticNavigation'; import QRScan from '../../images/icons/qr_code.svg'; import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; -import { useApp } from '../../stores/appProvider'; -import { useProofInfo } from '../../stores/proofProvider'; +import { useSelfAppStore } from '../../stores/selfAppStore'; import { black, slate800, white } from '../../utils/colors'; interface QRCodeViewFinderScreenProps {} @@ -45,9 +44,7 @@ const QRCodeViewFinderScreen: React.FC = ({}) => { const { visible: connectionModalVisible } = useConnectionModal(); const navigation = useNavigation(); const isFocused = useIsFocused(); - const { setSelectedApp, cleanSelfApp } = useProofInfo(); const [doneScanningQR, setDoneScanningQR] = useState(false); - const { startAppListener } = useApp(); const navigateToProveScreen = useHapticNavigation('ProveScreen'); const onCancelPress = useHapticNavigation('Home'); @@ -73,14 +70,14 @@ const QRCodeViewFinderScreen: React.FC = ({}) => { const selfApp = encodedData.get('selfApp'); if (selfApp) { const selfAppJson = JSON.parse(selfApp); - setSelectedApp(selfAppJson); - startAppListener(selfAppJson.sessionId, setSelectedApp); + useSelfAppStore.getState().setSelfApp(selfAppJson); + useSelfAppStore.getState().startAppListener(selfAppJson.sessionId); setTimeout(() => { navigateToProveScreen(); }, 100); } else if (sessionId) { - cleanSelfApp(); - startAppListener(sessionId, setSelectedApp); + useSelfAppStore.getState().cleanSelfApp(); + useSelfAppStore.getState().startAppListener(sessionId); setTimeout(() => { navigateToProveScreen(); }, 100); @@ -92,14 +89,7 @@ const QRCodeViewFinderScreen: React.FC = ({}) => { } } }, - [ - doneScanningQR, - navigation, - startAppListener, - cleanSelfApp, - setSelectedApp, - navigateToProveScreen, - ], + [doneScanningQR, navigation, navigateToProveScreen], ); const shouldRenderCamera = !connectionModalVisible && !doneScanningQR; diff --git a/app/src/screens/SplashScreen.tsx b/app/src/screens/SplashScreen.tsx index 152189697..711553a90 100644 --- a/app/src/screens/SplashScreen.tsx +++ b/app/src/screens/SplashScreen.tsx @@ -3,13 +3,15 @@ import LottieView from 'lottie-react-native'; import React, { useCallback, useEffect } from 'react'; import { StyleSheet } from 'react-native'; +import { PassportData } from '../../../common/src/utils/types'; import splashAnimation from '../assets/animations/splash.json'; import { useAuth } from '../stores/authProvider'; import { loadPassportDataAndSecret } from '../stores/passportDataProvider'; +import { useProtocolStore } from '../stores/protocolStore'; import { useSettingStore } from '../stores/settingStore'; import { black } from '../utils/colors'; import { impactLight } from '../utils/haptic'; -import { isUserRegistered } from '../utils/proving/payload'; +import { isUserRegistered } from '../utils/proving/validateDocument'; const SplashScreen: React.FC = ({}) => { const navigation = useNavigation(); @@ -35,7 +37,16 @@ const SplashScreen: React.FC = ({}) => { } const { passportData, secret } = JSON.parse(passportDataAndSecret); - + if (!isPassportDataValid(passportData)) { + navigation.navigate('Launch'); + return; + } + const environment = + (passportData as PassportData).documentType && + (passportData as PassportData).documentType !== 'passport' + ? 'stg' + : 'prod'; + await useProtocolStore.getState().passport.fetch_all(environment); const isRegistered = await isUserRegistered(passportData, secret); console.log('User is registered:', isRegistered); if (isRegistered) { @@ -82,3 +93,22 @@ const styles = StyleSheet.create({ }); export default SplashScreen; + +function isPassportDataValid(passportData: PassportData) { + if (!passportData) { + return false; + } + if (!passportData.passportMetadata) { + return false; + } + if (!passportData.passportMetadata.dg1HashFunction) { + return false; + } + if (!passportData.passportMetadata.eContentHashFunction) { + return false; + } + if (!passportData.passportMetadata.signedAttrHashFunction) { + return false; + } + return true; +} diff --git a/app/src/stores/appProvider.tsx b/app/src/stores/appProvider.tsx deleted file mode 100644 index deac6be40..000000000 --- a/app/src/stores/appProvider.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import React, { createContext, useContext, useEffect, useRef } from 'react'; -import io, { Socket } from 'socket.io-client'; - -import { WS_DB_RELAYER } from '../../../common/src/constants/constants'; -import { SelfApp } from '../../../common/src/utils/appType'; - -interface IAppContext { - /** - * Call this function with the sessionId (scanned via ViewFinder) to - * start the mobile WS connection. Once connected, the server (via our - * Rust handler) will update the web client about mobile connectivity, - * prompting the web to send its SelfApp over. The mobile provider here - * listens for the "self_app" event and updates the navigation store. - * - * @param sessionId - The session ID from the scanned QR code. - * @param setSelectedApp - The function to update the selected app in the navigation store. - */ - startAppListener: ( - sessionId: string, - setSelectedApp: (app: SelfApp) => void, - ) => void; - - /** - * Call this function with the sessionId and success status to notify the web app - * that the proof has been verified. - * - * @param sessionId - The session ID from the scanned QR code. - * @param success - Whether the proof was verified successfully. - */ - handleProofResult: ( - sessionId: string, - success: boolean, - error_code?: string, - reason?: string, - ) => void; -} - -const AppContext = createContext({ - startAppListener: () => {}, - handleProofResult: () => {}, -}); - -const initSocket = (sessionId: string) => { - // Ensure the URL uses the proper WebSocket scheme. - const connectionUrl = WS_DB_RELAYER.startsWith('https') - ? WS_DB_RELAYER.replace(/^https/, 'wss') - : WS_DB_RELAYER; - const socketUrl = `${connectionUrl}/websocket`; - - // Create a new socket connection using the updated URL. - const socket = io(socketUrl, { - path: '/', - transports: ['websocket'], - forceNew: true, - query: { - sessionId, - clientType: 'mobile', - }, - }); - return socket; -}; - -export const AppProvider: React.FC<{ children: React.ReactNode }> = ({ - children, -}) => { - const socketRef = useRef(null); - - const startAppListener = ( - sessionId: string, - setSelectedApp: (app: SelfApp) => void, - ) => { - console.log( - `[AppProvider] Initializing WS connection with sessionId: ${sessionId}`, - ); - try { - // If a socket connection already exists, disconnect it. - if (socketRef.current) { - console.log('[AppProvider] Disconnecting existing socket'); - socketRef.current.disconnect(); - } - - const socket = initSocket(sessionId); - socketRef.current = socket; - - socket.on('connect', () => { - console.log( - `[AppProvider] Mobile WS connected (id: ${socket.id}) with sessionId: ${sessionId}`, - ); - }); - - // Listen for the event only once so that duplicate self_app events are ignored. - socket.once('self_app', (data: any) => { - console.log('[AppProvider] Received self_app event with data:', data); - try { - const appData: SelfApp = - typeof data === 'string' ? JSON.parse(data) : data; - if (!appData || !appData.sessionId) { - console.error('[AppProvider] Invalid app data received'); - return; - } - console.log( - '[AppProvider] Processing valid app data:', - JSON.stringify(appData), - ); - setSelectedApp(appData); - } catch (error) { - console.error('[AppProvider] Error processing app data:', error); - } - }); - - socket.on('connect_error', error => { - console.error('[AppProvider] Mobile WS connection error:', error); - }); - - socket.on('error', error => { - console.error('[AppProvider] Mobile WS error:', error); - }); - - socket.on('disconnect', (reason: string) => { - console.log('[AppProvider] Mobile WS disconnected:', reason); - }); - } catch (error) { - console.error('[AppProvider] Exception in startAppListener:', error); - } - }; - - const handleProofResult = ( - sessionId: string, - proof_verified: boolean, - error_code?: string, - reason?: string, - ) => { - console.log( - '[AppProvider] handleProofResult called with sessionId:', - sessionId, - ); - - if (!socketRef.current) { - socketRef.current = initSocket(sessionId); - } - - if (proof_verified) { - console.log('[AppProvider] Emitting proof_verified event with data:', { - session_id: sessionId, - }); - - socketRef.current.emit('proof_verified', { - session_id: sessionId, - }); - } else { - console.log( - '[AppProvider] Emitting proof_generation_failed event with data:', - { - session_id: sessionId, - error_code, - reason, - }, - ); - - socketRef.current.emit('proof_generation_failed', { - session_id: sessionId, - error_code, - reason, - }); - } - }; - - useEffect(() => { - return () => { - if (socketRef.current) { - console.log('[AppProvider] Cleaning up WS connection on unmount'); - socketRef.current.disconnect(); - } - }; - }, []); - - return ( - - {children} - - ); -}; - -export const useApp = () => useContext(AppContext); diff --git a/app/src/stores/proofProvider.tsx b/app/src/stores/proofProvider.tsx deleted file mode 100644 index 378ecc7fd..000000000 --- a/app/src/stores/proofProvider.tsx +++ /dev/null @@ -1,146 +0,0 @@ -import React, { - createContext, - PropsWithChildren, - useCallback, - useEffect, - useMemo, - useState, -} from 'react'; - -import { SelfApp } from '../../../common/src/utils/appType'; - -export enum ProofStatusEnum { - PENDING = 'pending', - SUCCESS = 'success', - FAILURE = 'failure', - ERROR = 'error', -} - -export type DiscloseError = { - error_code?: string; - reason?: string; -}; - -interface IProofContext { - registrationStatus: ProofStatusEnum; - disclosureStatus: ProofStatusEnum; - discloseError: DiscloseError | undefined; - selectedApp: SelfApp; - setSelectedApp: (app: SelfApp) => void; - cleanSelfApp: () => void; - resetProof: () => void; -} - -const defaults: IProofContext = { - registrationStatus: ProofStatusEnum.PENDING, - disclosureStatus: ProofStatusEnum.PENDING, - discloseError: undefined, - selectedApp: { - appName: '', - logoBase64: '', - scope: '', - endpointType: 'https', - endpoint: '', - header: '', - sessionId: '', - userId: '', - userIdType: 'uuid', - devMode: true, - disclosures: {}, - }, - setSelectedApp: (_: SelfApp) => undefined, - cleanSelfApp: () => undefined, - resetProof: () => undefined, -}; - -export const ProofContext = createContext(defaults); - -export let globalSetRegistrationStatus: - | ((status: ProofStatusEnum) => void) - | null = null; -export let globalSetDisclosureStatus: - | ((status: ProofStatusEnum, error?: DiscloseError) => void) - | null = null; - -/* - store to manage the proof verification process, including app the is requesting, intemidiate status and final result - */ -export function ProofProvider({ children }: PropsWithChildren<{}>) { - const [registrationStatus, setRegistrationStatus] = useState( - ProofStatusEnum.PENDING, - ); - const [disclosureStatus, setDisclosureStatus] = useState( - ProofStatusEnum.PENDING, - ); - - const [discloseError, setDiscloseError] = useState( - undefined, - ); - - const [selectedApp, setSelectedAppInternal] = useState( - defaults.selectedApp, - ); - - const setSelectedApp = useCallback((app: SelfApp) => { - if (!app || Object.keys(app).length === 0) { - return; - } - setRegistrationStatus(ProofStatusEnum.PENDING); - setDiscloseError(undefined); - setSelectedAppInternal(app); - }, []); - - const cleanSelfApp = useCallback(() => { - setSelectedAppInternal(defaults.selectedApp); - }, []); - - // why do we have both resetProof and cleanSelfApp? - // possible we can make resetProof only about registration status, and clean app about disclosures status - const resetProof = useCallback(() => { - setRegistrationStatus(ProofStatusEnum.PENDING); - setDisclosureStatus(ProofStatusEnum.PENDING); - setDiscloseError(undefined); - }, []); - - useEffect(() => { - globalSetRegistrationStatus = setRegistrationStatus; - globalSetDisclosureStatus = (status, error) => { - setDisclosureStatus(status); - setDiscloseError(error); - }; - return () => { - globalSetRegistrationStatus = null; - globalSetDisclosureStatus = null; - }; - }, [setRegistrationStatus, setDisclosureStatus]); - - const publicApi: IProofContext = useMemo( - () => ({ - registrationStatus, - disclosureStatus, - discloseError, - selectedApp, - setSelectedApp, - cleanSelfApp, - resetProof, - }), - [ - registrationStatus, - disclosureStatus, - discloseError, - selectedApp, - setSelectedApp, - setDiscloseError, - cleanSelfApp, - resetProof, - ], - ); - - return ( - {children} - ); -} - -export const useProofInfo = () => { - return React.useContext(ProofContext); -}; diff --git a/app/src/stores/protocolStore.ts b/app/src/stores/protocolStore.ts new file mode 100644 index 000000000..c5c08e2ac --- /dev/null +++ b/app/src/stores/protocolStore.ts @@ -0,0 +1,88 @@ +import { create } from 'zustand'; + +import { + API_URL, + API_URL_STAGING, + CSCA_TREE_URL, + CSCA_TREE_URL_STAGING, + DSC_TREE_URL, + DSC_TREE_URL_STAGING, + IDENTITY_TREE_URL, + IDENTITY_TREE_URL_STAGING, +} from '../../../common/src/constants/constants'; + +interface ProtocolState { + passport: { + commitment_tree: any; + dsc_tree: any; + csca_tree: any; + deployed_circuits: any; + circuits_dns_mapping: any; + fetch_deployed_circuits: (environment: 'prod' | 'stg') => Promise; + fetch_circuits_dns_mapping: (environment: 'prod' | 'stg') => Promise; + fetch_csca_tree: (environment: 'prod' | 'stg') => Promise; + fetch_dsc_tree: (environment: 'prod' | 'stg') => Promise; + fetch_identity_tree: (environment: 'prod' | 'stg') => Promise; + fetch_all: (environment: 'prod' | 'stg') => Promise; + }; +} + +export const useProtocolStore = create((set, get) => ({ + passport: { + commitment_tree: null, + dsc_tree: null, + csca_tree: null, + deployed_circuits: null, + circuits_dns_mapping: null, + fetch_all: async (environment: 'prod' | 'stg') => { + await Promise.all([ + get().passport.fetch_deployed_circuits(environment), + get().passport.fetch_circuits_dns_mapping(environment), + get().passport.fetch_csca_tree(environment), + get().passport.fetch_dsc_tree(environment), + get().passport.fetch_identity_tree(environment), + ]); + }, + fetch_deployed_circuits: async (environment: 'prod' | 'stg') => { + const response = await fetch( + `${ + environment === 'prod' ? API_URL : API_URL_STAGING + }/deployed-circuits`, + ); + const data = await response.json(); + set({ passport: { ...get().passport, deployed_circuits: data.data } }); + }, + fetch_circuits_dns_mapping: async (environment: 'prod' | 'stg') => { + const response = await fetch( + `${ + environment === 'prod' ? API_URL : API_URL_STAGING + }/circuit-dns-mapping`, + ); + const data = await response.json(); + set({ passport: { ...get().passport, circuits_dns_mapping: data.data } }); + }, + fetch_csca_tree: async (environment: 'prod' | 'stg') => { + const response = await fetch( + `${environment === 'prod' ? CSCA_TREE_URL : CSCA_TREE_URL_STAGING}`, + ); + const data = await response.json(); + set({ passport: { ...get().passport, csca_tree: data.data } }); + }, + fetch_dsc_tree: async (environment: 'prod' | 'stg') => { + const response = await fetch( + `${environment === 'prod' ? DSC_TREE_URL : DSC_TREE_URL_STAGING}`, + ); + const data = await response.json(); + set({ passport: { ...get().passport, dsc_tree: data.data } }); + }, + fetch_identity_tree: async (environment: 'prod' | 'stg') => { + const response = await fetch( + `${ + environment === 'prod' ? IDENTITY_TREE_URL : IDENTITY_TREE_URL_STAGING + }`, + ); + const data = await response.json(); + set({ passport: { ...get().passport, commitment_tree: data.data } }); + }, + }, +})); diff --git a/app/src/stores/selfAppStore.tsx b/app/src/stores/selfAppStore.tsx new file mode 100644 index 000000000..aef8e0cc1 --- /dev/null +++ b/app/src/stores/selfAppStore.tsx @@ -0,0 +1,189 @@ +import io, { Socket } from 'socket.io-client'; +import { create } from 'zustand'; + +import { WS_DB_RELAYER } from '../../../common/src/constants/constants'; +import { SelfApp } from '../../../common/src/utils/appType'; + +interface SelfAppState { + selfApp: SelfApp | null; + sessionId: string | null; + socket: Socket | null; + startAppListener: (sessionId: string) => void; + cleanSelfApp: () => void; + setSelfApp: (selfApp: SelfApp | null) => void; + _initSocket: (sessionId: string) => Socket; + handleProofResult: ( + proof_verified: boolean, + error_code?: string, + reason?: string, + ) => void; +} + +export const useSelfAppStore = create((set, get) => ({ + selfApp: null, + sessionId: null, + socket: null, + + _initSocket: (sessionId: string): Socket => { + const connectionUrl = WS_DB_RELAYER.startsWith('https') + ? WS_DB_RELAYER.replace(/^https/, 'wss') + : WS_DB_RELAYER; + const socketUrl = `${connectionUrl}/websocket`; + + // Create a new socket connection using the updated URL. + const socket = io(socketUrl, { + path: '/', + transports: ['websocket'], + forceNew: true, // Ensure a new connection is established + query: { + sessionId, + clientType: 'mobile', + }, + }); + return socket; + }, + + setSelfApp: (selfApp: SelfApp | null) => { + set({ selfApp }); + }, + + startAppListener: (sessionId: string) => { + console.log( + `[SelfAppStore] Initializing WS connection with sessionId: ${sessionId}`, + ); + const currentSocket = get().socket; + + // If a socket connection exists for a different session, disconnect it. + if (currentSocket && get().sessionId !== sessionId) { + console.log( + '[SelfAppStore] Disconnecting existing socket for old session.', + ); + currentSocket.disconnect(); + set({ socket: null, sessionId: null, selfApp: null }); + } else if (currentSocket && get().sessionId === sessionId) { + console.log('[SelfAppStore] Already connected with the same session ID.'); + return; // Avoid reconnecting if already connected with the same session + } + + try { + const socket = get()._initSocket(sessionId); + set({ socket, sessionId }); + + socket.on('connect', () => { + console.log( + `[SelfAppStore] Mobile WS connected (id: ${socket.id}) with sessionId: ${sessionId}`, + ); + }); + + // Listen for the event only once per connection attempt + socket.once('self_app', (data: any) => { + console.log('[SelfAppStore] Received self_app event with data:', data); + try { + const appData: SelfApp = + typeof data === 'string' ? JSON.parse(data) : data; + + // Basic validation + if (!appData || typeof appData !== 'object' || !appData.sessionId) { + console.error('[SelfAppStore] Invalid app data received:', appData); + // Optionally clear the app data or handle the error appropriately + set({ selfApp: null }); + return; + } + if (appData.sessionId !== get().sessionId) { + console.warn( + `[SelfAppStore] Received SelfApp for session ${ + appData.sessionId + }, but current session is ${get().sessionId}. Ignoring.`, + ); + return; + } + + console.log( + '[SelfAppStore] Processing valid app data:', + JSON.stringify(appData), + ); + set({ selfApp: appData }); + } catch (error) { + console.error('[SelfAppStore] Error processing app data:', error); + set({ selfApp: null }); // Clear app data on parsing error + } + }); + + socket.on('connect_error', error => { + console.error('[SelfAppStore] Mobile WS connection error:', error); + // Clean up on connection error + get().cleanSelfApp(); + }); + + socket.on('error', error => { + console.error('[SelfAppStore] Mobile WS error:', error); + // Consider if cleanup is needed here as well + }); + + socket.on('disconnect', (reason: string) => { + console.log('[SelfAppStore] Mobile WS disconnected:', reason); + // Prevent cleaning up if disconnect was initiated by cleanSelfApp + if (get().socket === socket) { + console.log('[SelfAppStore] Cleaning up state on disconnect.'); + set({ socket: null, sessionId: null, selfApp: null }); + } + }); + } catch (error) { + console.error('[SelfAppStore] Exception in startAppListener:', error); + get().cleanSelfApp(); // Clean up on exception + } + }, + + cleanSelfApp: () => { + console.log('[SelfAppStore] Cleaning up SelfApp state and WS connection.'); + const socket = get().socket; + if (socket) { + socket.disconnect(); + } + // Reset state + set({ selfApp: null, sessionId: null, socket: null }); + }, + + handleProofResult: ( + proof_verified: boolean, + error_code?: string, + reason?: string, + ) => { + const socket = get().socket; + const sessionId = get().sessionId; + + if (!socket || !sessionId) { + console.error( + '[SelfAppStore] Cannot handleProofResult: Socket or SessionId missing.', + ); + return; + } + + console.log( + `[SelfAppStore] handleProofResult called for sessionId: ${sessionId}, verified: ${proof_verified}`, + ); + + if (proof_verified) { + console.log('[SelfAppStore] Emitting proof_verified event with data:', { + session_id: sessionId, + }); + socket.emit('proof_verified', { + session_id: sessionId, + }); + } else { + console.log( + '[SelfAppStore] Emitting proof_generation_failed event with data:', + { + session_id: sessionId, + error_code, + reason, + }, + ); + socket.emit('proof_generation_failed', { + session_id: sessionId, + error_code, + reason, + }); + } + }, +})); diff --git a/app/src/utils/deeplinks.ts b/app/src/utils/deeplinks.ts new file mode 100644 index 000000000..f09c47fb6 --- /dev/null +++ b/app/src/utils/deeplinks.ts @@ -0,0 +1,68 @@ +import queryString from 'query-string'; +import { Linking } from 'react-native'; + +import { navigationRef } from '../Navigation'; +import { useSelfAppStore } from '../stores/selfAppStore'; + +/** + * Decodes a URL-encoded string. + * @param {string} encodedUrl + * @returns {string} + */ +const decodeUrl = (encodedUrl: string): string => { + try { + return decodeURIComponent(encodedUrl); + } catch (error) { + console.error('Error decoding URL:', error); + return encodedUrl; + } +}; + +const handleUrl = (uri: string) => { + const decodedUri = decodeUrl(uri); + const encodedData = queryString.parseUrl(decodedUri).query; + const sessionId = encodedData.sessionId; + const selfAppStr = encodedData.selfApp as string | undefined; + + if (selfAppStr) { + try { + const selfAppJson = JSON.parse(selfAppStr); + useSelfAppStore.getState().setSelfApp(selfAppJson); + navigationRef.navigate('ProveScreen'); + + return; + } catch (error) { + console.error('Error parsing selfApp:', error); + navigationRef.navigate('QRCodeTrouble'); + } + } + + if (sessionId && typeof sessionId === 'string') { + useSelfAppStore.getState().cleanSelfApp(); + useSelfAppStore.getState().startAppListener(sessionId); + navigationRef.navigate('ProveScreen'); + } else { + console.error('No sessionId or selfApp found in the data'); + navigationRef.navigate('QRCodeTrouble'); + } +}; + +export const setupUniversalLinkListenerInNavigation = () => { + const handleNavigation = (url: string) => { + handleUrl(url); + }; + + Linking.getInitialURL().then(url => { + if (url) { + handleNavigation(url); + } + }); + + const linkingEventListener = Linking.addEventListener('url', ({ url }) => { + handleNavigation(url); + }); + + return () => { + linkingEventListener.remove(); + }; +}; diff --git a/app/src/utils/proving/payload.ts b/app/src/utils/proving/payload.ts deleted file mode 100644 index 00241f791..000000000 --- a/app/src/utils/proving/payload.ts +++ /dev/null @@ -1,330 +0,0 @@ -import { LeanIMT } from '@openpassport/zk-kit-lean-imt'; -import { poseidon2 } from 'poseidon-lite'; - -import { - API_URL, - API_URL_STAGING, - PASSPORT_ATTESTATION_ID, - WS_RPC_URL_VC_AND_DISCLOSE, -} from '../../../../common/src/constants/constants'; -import { EndpointType, SelfApp } from '../../../../common/src/utils/appType'; -import { getCircuitNameFromPassportData } from '../../../../common/src/utils/circuits/circuitsName'; -import { - generateCommitment, - generateNullifier, -} from '../../../../common/src/utils/passports/passport'; -import { - getCommitmentTree, - getDSCTree, - getLeafDscTree, -} from '../../../../common/src/utils/trees'; -import { PassportData } from '../../../../common/src/utils/types'; -import { ProofStatusEnum } from '../../stores/proofProvider'; -import { - generateTeeInputsDsc, - generateTeeInputsRegister, - generateTeeInputsVCAndDisclose, -} from './inputs'; -import { sendPayload } from './tee'; - -export type PassportSupportStatus = - | 'passport_metadata_missing' - | 'csca_not_found' - | 'registration_circuit_not_supported' - | 'dsc_circuit_not_supported' - | 'passport_supported'; -export async function checkPassportSupported( - passportData: PassportData, -): Promise<{ - status: PassportSupportStatus; - details: string; -}> { - const passportMetadata = passportData.passportMetadata; - if (!passportMetadata) { - console.log('Passport metadata is null'); - return { status: 'passport_metadata_missing', details: passportData.dsc }; - } - if (!passportMetadata.cscaFound) { - console.log('CSCA not found'); - return { status: 'csca_not_found', details: passportData.dsc }; - } - const circuitNameRegister = getCircuitNameFromPassportData( - passportData, - 'register', - ); - const deployedCircuits = await getDeployedCircuits(passportData.documentType); - console.log('circuitNameRegister', circuitNameRegister); - if ( - !circuitNameRegister || - !deployedCircuits.REGISTER.includes(circuitNameRegister) - ) { - return { - status: 'registration_circuit_not_supported', - details: circuitNameRegister, - }; - } - const circuitNameDsc = getCircuitNameFromPassportData(passportData, 'dsc'); - if (!circuitNameDsc || !deployedCircuits.DSC.includes(circuitNameDsc)) { - console.log('DSC circuit not supported:', circuitNameDsc); - return { status: 'dsc_circuit_not_supported', details: circuitNameDsc }; - } - console.log('Passport supported'); - return { status: 'passport_supported', details: 'null' }; -} - -export async function sendRegisterPayload( - passportData: PassportData, - secret: string, - circuitDNSMapping: Record, - endpointType: EndpointType, -) { - const { inputs, circuitName } = await generateTeeInputsRegister( - secret, - passportData, - endpointType, - ); - await sendPayload( - inputs, - 'register', - circuitName, - endpointType, - 'https://self.xyz', - (circuitDNSMapping as any).REGISTER[circuitName], - undefined, - { - updateGlobalOnSuccess: true, - updateGlobalOnFailure: true, - flow: 'registration', - }, - ); -} - -async function checkIdPassportDscIsInTree( - passportData: PassportData, - dscTree: string, - circuitDNSMapping: Record, - endpointType: EndpointType, -): Promise { - const hashFunction = (a: any, b: any) => poseidon2([a, b]); - const tree = LeanIMT.import(hashFunction, dscTree); - const leaf = getLeafDscTree( - passportData.dsc_parsed!, - passportData.csca_parsed!, - ); - console.log('DSC leaf:', leaf); - const index = tree.indexOf(BigInt(leaf)); - if (index === -1) { - console.log('DSC is not found in the tree, sending DSC payload'); - const dscStatus = await sendDscPayload( - passportData, - circuitDNSMapping, - endpointType, - ); - if (dscStatus.status !== ProofStatusEnum.SUCCESS) { - console.log('DSC proof failed'); - return false; - } - } else { - // console.log('DSC i found in the tree, sending DSC payload for debug'); - // const dscStatus = await sendDscPayload(passportData); - // if (dscStatus !== ProofStatusEnum.SUCCESS) { - // console.log('DSC proof failed'); - // return false; - // } - console.log('DSC is found in the tree, skipping DSC payload'); - } - return true; -} - -export async function sendDscPayload( - passportData: PassportData, - circuitDNSMapping: Record, - endpointType: EndpointType, -): Promise<{ status: ProofStatusEnum; error_code?: string; reason?: string }> { - if (!passportData) { - return { status: ProofStatusEnum.FAILURE }; - } - // const isSupported = checkPassportSupported(passportData); - // if (!isSupported) { - // console.log('Passport not supported'); - // return false; - // } - const { inputs, circuitName } = await generateTeeInputsDsc( - passportData, - endpointType, - ); - - const dscStatus = await sendPayload( - inputs, - 'dsc', - circuitName, - endpointType, - 'https://self.xyz', - (circuitDNSMapping.DSC as any)[circuitName], - undefined, - { updateGlobalOnSuccess: false }, - ); - return dscStatus; -} - -export async function sendVcAndDisclosePayload( - secret: string, - passportData: PassportData | null, - selfApp: SelfApp, -) { - if (!passportData) { - return null; - } - const { inputs, circuitName } = await generateTeeInputsVCAndDisclose( - secret, - passportData, - selfApp, - ); - return await sendPayload( - inputs, - 'vc_and_disclose', - circuitName, - selfApp.endpointType, - selfApp.endpoint, - WS_RPC_URL_VC_AND_DISCLOSE, - undefined, - { - updateGlobalOnSuccess: true, - updateGlobalOnFailure: true, - flow: 'disclosure', - }, - ); -} - -/*** Logic Flow ****/ - -export async function isUserRegistered( - passportData: PassportData, - secret: string, -) { - if (!passportData) { - return false; - } - const commitment = generateCommitment( - secret, - PASSPORT_ATTESTATION_ID, - passportData, - ); - const serializedTree = await getCommitmentTree(passportData.documentType); - const tree = LeanIMT.import((a, b) => poseidon2([a, b]), serializedTree); - const index = tree.indexOf(BigInt(commitment)); - return index !== -1; -} - -export async function isPassportNullified(passportData: PassportData) { - const nullifier = generateNullifier(passportData); - const nullifierHex = `0x${BigInt(nullifier).toString(16)}`; - console.log('checking for nullifier', nullifierHex); - const response = await fetch(`${API_URL}/is-nullifier-onchain/`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ nullifier: nullifierHex }), - }); - const data = await response.json(); - console.log('isPassportNullified', data); - return data.data; -} - -export async function registerPassport( - passportData: PassportData, - secret: string, -) { - // First get the mapping, then use it for the check - const endpointType = - passportData.documentType && passportData.documentType === 'mock_passport' - ? 'staging_celo' - : 'celo'; - const [circuitDNSMapping, dscTree] = await Promise.all([ - getCircuitDNSMapping(endpointType), - getDSCTree(endpointType), - ]); - console.log('circuitDNSMapping', circuitDNSMapping); - const dscOk = await checkIdPassportDscIsInTree( - passportData, - dscTree, - circuitDNSMapping, - endpointType, - ); - if (!dscOk) { - return; - } - await sendRegisterPayload( - passportData, - secret, - circuitDNSMapping, - endpointType, - ); -} - -export async function getDeployedCircuits(documentType: string) { - console.log('Fetching deployed circuits from api'); - const baseUrl = - !documentType || - typeof documentType !== 'string' || - documentType === 'passport' - ? API_URL - : API_URL_STAGING; - const response = await fetch(`${baseUrl}/deployed-circuits/`); - if (!response.ok) { - throw new Error( - `API server error: ${response.status} ${response.statusText}`, - ); - } - const contentType = response.headers.get('content-type'); - if (contentType && contentType.includes('text/html')) { - throw new Error( - 'API returned HTML instead of JSON - server may be down or misconfigured', - ); - } - try { - const data = await response.json(); - - if (!data.data || !data.data.REGISTER || !data.data.DSC) { - throw new Error( - 'Invalid data structure received from API: missing REGISTER or DSC fields', - ); - } - return data.data; - } catch (error) { - throw new Error('API returned invalid JSON response - server may be down'); - } -} - -export async function getCircuitDNSMapping(endpointType?: EndpointType) { - console.log('Fetching deployed circuits from api'); - const baseUrl = - endpointType === 'celo' || endpointType === 'https' - ? API_URL - : API_URL_STAGING; - const response = await fetch(`${baseUrl}/circuit-dns-mapping/`); - - if (!response.ok) { - throw new Error( - `API server error: ${response.status} ${response.statusText}`, - ); - } - const contentType = response.headers.get('content-type'); - if (contentType && contentType.includes('text/html')) { - throw new Error( - 'API returned HTML instead of JSON - server may be down or misconfigured', - ); - } - try { - const data = await response.json(); - if (!data.data) { - throw new Error( - 'Invalid data structure received from API: missing data field', - ); - } - return data.data; - } catch (error) { - throw new Error('API returned invalid JSON response - server may be down'); - } -} diff --git a/app/src/utils/proving/inputs.ts b/app/src/utils/proving/provingInputs.ts similarity index 68% rename from app/src/utils/proving/inputs.ts rename to app/src/utils/proving/provingInputs.ts index bdc35bece..25885a17f 100644 --- a/app/src/utils/proving/inputs.ts +++ b/app/src/utils/proving/provingInputs.ts @@ -10,7 +10,7 @@ import { DEFAULT_MAJORITY, PASSPORT_ATTESTATION_ID, } from '../../../../common/src/constants/constants'; -import { EndpointType, SelfApp } from '../../../../common/src/utils/appType'; +import { SelfApp } from '../../../../common/src/utils/appType'; import { getCircuitNameFromPassportData } from '../../../../common/src/utils/circuits/circuitsName'; import { generateCircuitInputsDSC, @@ -18,48 +18,39 @@ import { generateCircuitInputsVCandDisclose, } from '../../../../common/src/utils/circuits/generateInputs'; import { hashEndpointWithScope } from '../../../../common/src/utils/scope'; -import { - getCommitmentTree, - getCSCATree, - getDSCTree, -} from '../../../../common/src/utils/trees'; import { PassportData } from '../../../../common/src/utils/types'; +import { useProtocolStore } from '../../stores/protocolStore'; -export async function generateTeeInputsRegister( +export function generateTEEInputsRegister( secret: string, passportData: PassportData, - endpointType: EndpointType, + dscTree: string, ) { - const serialized_dsc_tree = await getDSCTree(endpointType); - const inputs = generateCircuitInputsRegister( - secret, - passportData, - serialized_dsc_tree, - ); + const inputs = generateCircuitInputsRegister(secret, passportData, dscTree); const circuitName = getCircuitNameFromPassportData(passportData, 'register'); - if (circuitName == null) { - throw new Error('Circuit name is null'); - } - return { inputs, circuitName }; + const endpointType = + passportData.documentType && passportData.documentType !== 'passport' + ? 'staging_celo' + : 'celo'; + const endpoint = 'https://self.xyz'; + return { inputs, circuitName, endpointType, endpoint }; } -export async function generateTeeInputsDsc( +export function generateTEEInputsDSC( passportData: PassportData, - endpointType: EndpointType, + cscaTree: string[][], ) { - const serialized_csca_tree = await getCSCATree(endpointType); - const inputs = generateCircuitInputsDSC( - passportData.dsc, - serialized_csca_tree, - ); + const inputs = generateCircuitInputsDSC(passportData.dsc, cscaTree); const circuitName = getCircuitNameFromPassportData(passportData, 'dsc'); - if (circuitName == null) { - throw new Error('Circuit name is null'); - } - return { inputs, circuitName }; + const endpointType = + passportData.documentType && passportData.documentType !== 'passport' + ? 'staging_celo' + : 'celo'; + const endpoint = 'https://self.xyz'; + return { inputs, circuitName, endpointType, endpoint }; } -export async function generateTeeInputsVCAndDisclose( +export function generateTEEInputsDisclose( secret: string, passportData: PassportData, selfApp: SelfApp, @@ -67,7 +58,6 @@ export async function generateTeeInputsVCAndDisclose( const { scope, userId, disclosures, endpoint } = selfApp; const scope_hash = hashEndpointWithScope(endpoint, scope); const selector_dg1 = Array(88).fill('0'); - Object.entries(disclosures).forEach(([attribute, reveal]) => { if (['ofac', 'excludedCountries', 'minimumAge'].includes(attribute)) { return; @@ -87,17 +77,9 @@ export async function generateTeeInputsVCAndDisclose( const selector_ofac = disclosures.ofac ? 1 : 0; const { passportNoAndNationalitySMT, nameAndDobSMT, nameAndYobSMT } = - await getOfacSMTs(); - const serialized_tree = await getCommitmentTree(passportData.documentType); + getOfacSMTs(); + const serialized_tree = useProtocolStore.getState().passport.commitment_tree; //await getCommitmentTree(passportData.documentType); const tree = LeanIMT.import((a, b) => poseidon2([a, b]), serialized_tree); - console.log('tree', tree); - // const commitment = generateCommitment( - // secret, - // PASSPORT_ATTESTATION_ID, - // passportData, - // ); - // tree.insert(BigInt(commitment)); - // Uncomment to add artificially the commitment to the tree const inputs = generateCircuitInputsVCandDisclose( secret, @@ -115,12 +97,17 @@ export async function generateTeeInputsVCAndDisclose( disclosures.excludedCountries ?? [], userId, ); - return { inputs, circuitName: 'vc_and_disclose' }; + return { + inputs, + circuitName: 'vc_and_disclose', + endpointType: selfApp.endpointType, + endpoint: selfApp.endpoint, + }; } /*** DISCLOSURE ***/ -async function getOfacSMTs() { +function getOfacSMTs() { // TODO: get the SMT from an endpoint const passportNoAndNationalitySMT = new SMT(poseidon2, true); passportNoAndNationalitySMT.import(passportNoAndNationalitySMTData); diff --git a/app/src/utils/proving/provingMachine.ts b/app/src/utils/proving/provingMachine.ts new file mode 100644 index 000000000..872a6fc0f --- /dev/null +++ b/app/src/utils/proving/provingMachine.ts @@ -0,0 +1,751 @@ +import forge from 'node-forge'; +import io, { Socket } from 'socket.io-client'; +import { v4 } from 'uuid'; +import { AnyActorRef, createActor, createMachine } from 'xstate'; +import { create } from 'zustand'; + +import { WS_RPC_URL_VC_AND_DISCLOSE } from '../../../../common/src/constants/constants'; +import { EndpointType, SelfApp } from '../../../../common/src/utils/appType'; +import { getCircuitNameFromPassportData } from '../../../../common/src/utils/circuits/circuitsName'; +import { navigationRef } from '../../Navigation'; +import { + clearPassportData, + loadPassportDataAndSecret, +} from '../../stores/passportDataProvider'; +import { useProtocolStore } from '../../stores/protocolStore'; +import { useSelfAppStore } from '../../stores/selfAppStore'; +import { getPublicKey, verifyAttestation } from './attest'; +import { + generateTEEInputsDisclose, + generateTEEInputsDSC, + generateTEEInputsRegister, +} from './provingInputs'; +import { + clientKey, + clientPublicKeyHex, + ec, + encryptAES256GCM, + getPayload, + getWSDbRelayerUrl, +} from './provingUtils'; +import { + checkIfPassportDscIsInTree, + checkPassportSupported, + isPassportNullified, + isUserRegistered, +} from './validateDocument'; + +const provingMachine = createMachine({ + id: 'proving', + initial: 'idle', + states: { + idle: { + on: { + FETCH_DATA: 'fetching_data', + ERROR: 'error', + }, + }, + fetching_data: { + on: { + FETCH_SUCCESS: 'validating_document', + FETCH_ERROR: 'error', + }, + }, + validating_document: { + on: { + VALIDATION_SUCCESS: 'init_tee_connexion', + VALIDATION_ERROR: 'error', + ALREADY_REGISTERED: 'completed', + PASSPORT_NOT_SUPPORTED: 'passport_not_supported', + ACCOUNT_RECOVERY_CHOICE: 'account_recovery_choice', + PASSPORT_DATA_NOT_FOUND: 'passport_data_not_found', + }, + }, + init_tee_connexion: { + on: { + CONNECT_SUCCESS: 'ready_to_prove', + CONNECT_ERROR: 'error', + }, + }, + ready_to_prove: { + on: { + START_PROVING: 'proving', + PROVE_ERROR: 'error', + }, + }, + proving: { + on: { + PROVE_SUCCESS: 'post_proving', + PROVE_ERROR: 'error', + PROVE_FAILURE: 'failure', + }, + }, + post_proving: { + on: { + SWITCH_TO_REGISTER: 'fetching_data', + COMPLETED: 'completed', + }, + }, + completed: { + type: 'final', + }, + error: { + type: 'final', + }, + passport_not_supported: { + type: 'final', + }, + account_recovery_choice: { + type: 'final', + }, + passport_data_not_found: { + type: 'final', + }, + failure: { + type: 'final', + }, + }, +}); + +export type provingMachineCircuitType = 'register' | 'dsc' | 'disclose'; + +interface ProvingState { + currentState: string; + attestation: any; + serverPublicKey: string | null; + sharedKey: Buffer | null; + wsConnection: WebSocket | null; + socketConnection: Socket | null; + uuid: string | null; + userConfirmed: boolean; + passportData: any | null; + secret: string | null; + circuitType: provingMachineCircuitType | null; + error_code: string | null; + reason: string | null; + init: (circuitType: 'dsc' | 'disclose' | 'register') => Promise; + startFetchingData: () => Promise; + validatingDocument: () => Promise; + initTeeConnection: () => Promise; + startProving: () => Promise; + postProving: () => void; + setUserConfirmed: () => void; + _closeConnections: () => void; + _generatePayload: () => Promise; + _handleWebSocketMessage: (event: MessageEvent) => Promise; + _startSocketIOStatusListener: ( + receivedUuid: string, + endpointType: EndpointType, + ) => void; + _handleWsOpen: () => void; + _handleWsError: (error: Event) => void; + _handleWsClose: (event: CloseEvent) => void; +} + +export const useProvingStore = create((set, get) => { + let actor: AnyActorRef | null = null; + + function setupActorSubscriptions(newActor: AnyActorRef) { + newActor.subscribe((state: any) => { + console.log(`State transition: ${state.value}`); + set({ currentState: state.value as string }); + + if (state.value === 'fetching_data') { + get().startFetchingData(); + } + if (state.value === 'validating_document') { + get().validatingDocument(); + } + + if (state.value === 'init_tee_connexion') { + get().initTeeConnection(); + } + + if (state.value === 'ready_to_prove' && get().userConfirmed) { + get().startProving(); + } + + if (state.value === 'post_proving') { + get().postProving(); + } + if (get().circuitType !== 'disclose' && state.value === 'error') { + setTimeout(() => { + if (navigationRef.isReady()) { + navigationRef.navigate('Launch'); + } + }, 3000); + } + if (state.value === 'completed') { + if (get().circuitType !== 'disclose' && navigationRef.isReady()) { + setTimeout(() => { + navigationRef.navigate('AccountVerifiedSuccess'); + }, 3000); + } + if (get().circuitType === 'disclose') { + useSelfAppStore.getState().handleProofResult(true); + } + } + if (state.value === 'passport_not_supported') { + if (navigationRef.isReady()) { + navigationRef.navigate('UnsupportedPassport'); + } + } + if (state.value === 'account_recovery_choice') { + if (navigationRef.isReady()) { + navigationRef.navigate('AccountRecoveryChoice'); + } + } + if (state.value === 'passport_data_not_found') { + if (navigationRef.isReady()) { + navigationRef.navigate('PassportDataNotFound'); + } + } + if (state.value === 'failure') { + if (get().circuitType === 'disclose') { + const { error_code, reason } = get(); + useSelfAppStore + .getState() + .handleProofResult( + false, + error_code ?? undefined, + reason ?? undefined, + ); + } + } + if (state.value === 'error') { + if (get().circuitType === 'disclose') { + useSelfAppStore.getState().handleProofResult(false, 'error', 'error'); + } + } + }); + } + + return { + currentState: 'idle', + attestation: null, + serverPublicKey: null, + sharedKey: null, + wsConnection: null, + socketConnection: null, + uuid: null, + userConfirmed: false, + passportData: null, + secret: null, + circuitType: null, + selfApp: null, + error_code: null, + reason: null, + _handleWebSocketMessage: async (event: MessageEvent) => { + if (!actor) { + console.error('Cannot process message: State machine not initialized.'); + return; + } + + try { + const result = JSON.parse(event.data); + if (result.result?.attestation) { + const attestationData = result.result.attestation; + set({ attestation: attestationData }); + + const serverPubkey = getPublicKey(attestationData); + const verified = await verifyAttestation(attestationData); + + if (!verified) { + console.error('Attestation verification failed'); + actor!.send({ type: 'CONNECT_ERROR' }); + return; + } + + const serverKey = ec.keyFromPublic(serverPubkey as string, 'hex'); + const derivedKey = clientKey.derive(serverKey.getPublic()); + + set({ + serverPublicKey: serverPubkey, + sharedKey: Buffer.from(derivedKey.toArray('be', 32)), + }); + + actor!.send({ type: 'CONNECT_SUCCESS' }); + } else if ( + result.id === 2 && + typeof result.result === 'string' && + !result.error + ) { + console.log('Received message with status:', result.id); + const statusUuid = result.result; + if (get().uuid !== statusUuid) { + console.warn( + `Received status UUID (${statusUuid}) does not match stored UUID (${ + get().uuid + }). Using received UUID.`, + ); + } + const { passportData } = get(); + if (!statusUuid) { + console.error( + 'Cannot start Socket.IO listener: UUID missing from state or response.', + ); + actor!.send({ type: 'PROVE_ERROR' }); + return; + } + if (!passportData) { + console.error( + 'Cannot start Socket.IO listener: passportData missing from state.', + ); + actor!.send({ type: 'PROVE_ERROR' }); + return; + } + + const socketEndpointType = + passportData.documentType === 'passport' ? 'celo' : 'staging_celo'; + get()._startSocketIOStatusListener(statusUuid, socketEndpointType); + } else if (result.error) { + console.error('Received error from TEE:', result.error); + actor!.send({ type: 'PROVE_ERROR' }); + } else { + console.warn('Received unknown message format from TEE:', result); + } + } catch (error) { + console.error('Error processing WebSocket message:', error); + if (get().currentState === 'init_tee_connexion') { + actor!.send({ type: 'CONNECT_ERROR' }); + } else { + actor!.send({ type: 'PROVE_ERROR' }); + } + } + }, + + _startSocketIOStatusListener: ( + receivedUuid: string, + endpointType: EndpointType, + ) => { + if (!actor) { + console.error('Cannot start Socket.IO listener: Actor not available.'); + return; + } + + const url = getWSDbRelayerUrl(endpointType); + let socket: Socket | null = io(url, { + path: '/', + transports: ['websocket'], + }); + set({ socketConnection: socket }); + + socket.on('connect', () => { + socket?.emit('subscribe', receivedUuid); + }); + + socket.on('status', (message: any) => { + const data = + typeof message === 'string' ? JSON.parse(message) : message; + console.log('Received status update with status:', data.status); + if (data.status === 3 || data.status === 5) { + console.error( + 'Proof generation/verification failed (status 3 or 5).', + ); + set({ error_code: data.error_code, reason: data.reason }); + actor!.send({ type: 'PROVE_FAILURE' }); + socket?.disconnect(); + set({ socketConnection: null }); + } else if (data.status === 4) { + socket?.disconnect(); + set({ socketConnection: null }); + actor!.send({ type: 'PROVE_SUCCESS' }); + } + }); + + socket.on('disconnect', (reason: string) => { + console.log(`SocketIO disconnected. Reason: ${reason}`); + const currentActor = actor; + + if (get().currentState === 'ready_to_prove' && currentActor) { + console.error( + 'SocketIO disconnected unexpectedly during proof listening.', + ); + currentActor.send({ type: 'PROVE_ERROR' }); + } + set({ socketConnection: null }); + }); + + socket.on('connect_error', error => { + console.error('SocketIO connection error:', error); + actor!.send({ type: 'PROVE_ERROR' }); + set({ socketConnection: null }); + }); + }, + + _handleWsOpen: () => { + if (!actor) { + return; + } + const ws = get().wsConnection; + if (!ws) { + return; + } + const connectionUuid = v4(); + set({ uuid: connectionUuid }); + const helloBody = { + jsonrpc: '2.0', + method: 'openpassport_hello', + id: 1, + params: { + user_pubkey: [ + 4, + ...Array.from(Buffer.from(clientPublicKeyHex, 'hex')), + ], + uuid: connectionUuid, + }, + }; + ws.send(JSON.stringify(helloBody)); + }, + + _handleWsError: (error: Event) => { + console.error('TEE WebSocket error event:', error); + if (!actor) { + return; + } + get()._handleWebSocketMessage( + new MessageEvent('error', { + data: JSON.stringify({ error: 'WebSocket connection error' }), + }), + ); + }, + + _handleWsClose: (event: CloseEvent) => { + console.log( + `TEE WebSocket closed. Code: ${event.code}, Reason: ${event.reason}`, + ); + if (!actor) { + return; + } + const currentState = get().currentState; + if ( + currentState === 'init_tee_connexion' || + currentState === 'proving' || + currentState === 'listening_for_status' + ) { + console.error( + `TEE WebSocket closed unexpectedly during ${currentState}.`, + ); + get()._handleWebSocketMessage( + new MessageEvent('error', { + data: JSON.stringify({ error: 'WebSocket closed unexpectedly' }), + }), + ); + } + if (get().wsConnection) { + set({ wsConnection: null }); + } + }, + + init: async (circuitType: 'dsc' | 'disclose' | 'register') => { + get()._closeConnections(); + + if (actor) { + try { + actor.stop(); + } catch (error) { + console.error('Error stopping actor:', error); + } + } + set({ + currentState: 'idle', + attestation: null, + serverPublicKey: null, + sharedKey: null, + wsConnection: null, + socketConnection: null, + uuid: null, + userConfirmed: false, + passportData: null, + secret: null, + }); + + actor = createActor(provingMachine); + setupActorSubscriptions(actor); + actor.start(); + + const passportDataAndSecretStr = await loadPassportDataAndSecret(); + if (!passportDataAndSecretStr) { + actor!.send({ type: 'ERROR' }); + return; + } + + const passportDataAndSecret = JSON.parse(passportDataAndSecretStr); + const { passportData, secret } = passportDataAndSecret; + + set({ passportData, secret }); + set({ circuitType }); + actor.send({ type: 'FETCH_DATA' }); + }, + + startFetchingData: async () => { + _checkActorInitialized(actor); + try { + const { passportData } = get(); + const env = + passportData.documentType && passportData.documentType !== 'passport' + ? 'stg' + : 'prod'; + await useProtocolStore.getState().passport.fetch_all(env); + actor!.send({ type: 'FETCH_SUCCESS' }); + } catch (error) { + console.error('Error fetching data:', error); + actor!.send({ type: 'FETCH_ERROR' }); + } + }, + + validatingDocument: async () => { + _checkActorInitialized(actor); + // TODO: for the disclosure, we could check that the selfApp is a valid one. + try { + const { passportData, secret, circuitType } = get(); + const isSupported = await checkPassportSupported(passportData); + if (isSupported.status !== 'passport_supported') { + console.error( + 'Passport not supported:', + isSupported.status, + isSupported.details, + ); + await clearPassportData(); + actor!.send({ type: 'PASSPORT_NOT_SUPPORTED' }); + return; + } + + const isRegistered = await isUserRegistered( + passportData, + secret as string, + ); + if (circuitType === 'disclose') { + if (isRegistered) { + actor!.send({ type: 'VALIDATION_SUCCESS' }); + return; + } else { + actor!.send({ type: 'PASSPORT_DATA_NOT_FOUND' }); + return; + } + } else if (isRegistered) { + actor!.send({ type: 'ALREADY_REGISTERED' }); + return; + } + + const isNullifierOnchain = await isPassportNullified(passportData); + if (isNullifierOnchain) { + console.log( + 'Passport is nullified, but not registered with this secret. Navigating to AccountRecoveryChoice', + ); + actor!.send({ type: 'ACCOUNT_RECOVERY_CHOICE' }); + return; + } + const isDscRegistered = await checkIfPassportDscIsInTree( + passportData, + useProtocolStore.getState().passport.dsc_tree, + ); + if (isDscRegistered) { + set({ circuitType: 'register' }); + } + actor!.send({ type: 'VALIDATION_SUCCESS' }); + } catch (error) { + console.error('Error validating passport:', error); + actor!.send({ type: 'VALIDATION_ERROR' }); + } + }, + + initTeeConnection: async (): Promise => { + const circuitsMapping = + useProtocolStore.getState().passport.circuits_dns_mapping; + const passportData = get().passportData; + + let circuitName, wsRpcUrl; + if (get().circuitType === 'disclose') { + circuitName = 'disclose'; + wsRpcUrl = WS_RPC_URL_VC_AND_DISCLOSE; + } else { + circuitName = getCircuitNameFromPassportData( + passportData, + get().circuitType as 'register' | 'dsc', + ); + if (get().circuitType === 'register') { + wsRpcUrl = circuitsMapping?.REGISTER?.[circuitName]; + } else { + wsRpcUrl = circuitsMapping?.DSC?.[circuitName]; + } + } + if (!circuitName) { + actor?.send({ type: 'CONNECT_ERROR' }); + throw new Error('Could not determine circuit name'); + } + if (!wsRpcUrl) { + throw new Error('No WebSocket URL available for TEE connection'); + } + + get()._closeConnections(); + + return new Promise(resolve => { + const ws = new WebSocket(wsRpcUrl); + set({ wsConnection: ws }); + + const handleConnectSuccess = () => resolve(true); + const handleConnectError = () => resolve(false); + + ws.addEventListener('message', get()._handleWebSocketMessage); + ws.addEventListener('open', get()._handleWsOpen); + ws.addEventListener('error', get()._handleWsError); + ws.addEventListener('close', get()._handleWsClose); + + if (!actor) { + return; + } + const unsubscribe = actor.subscribe(state => { + if (state.matches('ready_to_prove')) { + handleConnectSuccess(); + unsubscribe.unsubscribe(); + } else if (state.matches('error')) { + handleConnectError(); + unsubscribe.unsubscribe(); + } + }); + }); + }, + + startProving: async () => { + _checkActorInitialized(actor); + const { wsConnection, sharedKey, passportData, secret } = get(); + + if (get().currentState !== 'ready_to_prove') { + console.error('Cannot start proving: Not in ready_to_prove state.'); + return; + } + if (!wsConnection || !sharedKey || !passportData || !secret) { + console.error( + 'Cannot start proving: Missing wsConnection, sharedKey, passportData, or secret.', + ); + actor!.send({ type: 'PROVE_ERROR' }); + return; + } + + try { + const submitBody = await get()._generatePayload(); + wsConnection.send(JSON.stringify(submitBody)); + actor!.send({ type: 'START_PROVING' }); + } catch (error) { + console.error('Error during startProving preparation/send:', error); + actor!.send({ type: 'PROVE_ERROR' }); + } + }, + + setUserConfirmed: () => { + set({ userConfirmed: true }); + if (get().currentState === 'ready_to_prove') { + get().startProving(); + } + }, + + postProving: () => { + _checkActorInitialized(actor); + const { circuitType } = get(); + if (circuitType === 'dsc') { + get().init('register'); + } else if (circuitType === 'register') { + actor!.send({ type: 'COMPLETED' }); + } else if (circuitType === 'disclose') { + actor!.send({ type: 'COMPLETED' }); + } + }, + + _closeConnections: () => { + const ws = get().wsConnection; + if (ws) { + try { + ws.removeEventListener('message', get()._handleWebSocketMessage); + ws.removeEventListener('open', get()._handleWsOpen); + ws.removeEventListener('error', get()._handleWsError); + ws.removeEventListener('close', get()._handleWsClose); + ws.close(); + } catch (error) { + console.error( + 'Error removing listeners or closing WebSocket:', + error, + ); + } + set({ wsConnection: null }); + } + + const socket = get().socketConnection; + if (socket) { + socket.close(); + set({ socketConnection: null }); + } + set({ + attestation: null, + serverPublicKey: null, + sharedKey: null, + uuid: null, + }); + }, + + _generatePayload: async () => { + const { circuitType, passportData, secret, uuid, sharedKey } = get(); + const selfApp = useSelfAppStore.getState().selfApp; + // TODO: according to the circuitType we could check that the params are valid. + let inputs, circuitName, endpointType, endpoint; + const protocolStore = useProtocolStore.getState(); + switch (circuitType) { + case 'register': + ({ inputs, circuitName, endpointType, endpoint } = + generateTEEInputsRegister( + secret as string, + passportData, + protocolStore.passport.dsc_tree, + )); + break; + case 'dsc': + ({ inputs, circuitName, endpointType, endpoint } = + generateTEEInputsDSC( + passportData, + protocolStore.passport.csca_tree, + )); + break; + case 'disclose': + ({ inputs, circuitName, endpointType, endpoint } = + generateTEEInputsDisclose( + secret as string, + passportData, + selfApp as SelfApp, + )); + break; + default: + console.error('Invalid circuit type:' + circuitType); + throw new Error('Invalid circuit type:' + circuitType); + } + const payload = getPayload( + inputs, + circuitType as provingMachineCircuitType, + circuitName as string, + endpointType as EndpointType, + endpoint as string, + ); + const forgeKey = forge.util.createBuffer( + sharedKey?.toString('binary') as string, + ); + const encryptedPayload = encryptAES256GCM( + JSON.stringify(payload), + forgeKey, + ); + return { + jsonrpc: '2.0', + method: 'openpassport_submit_request', + id: 2, + params: { + uuid: uuid, + ...encryptedPayload, + }, + }; + }, + }; +}); + +function _checkActorInitialized(actor: AnyActorRef | null) { + if (!actor) { + throw new Error('State machine not initialized. Call init() first.'); + } +} diff --git a/app/src/utils/proving/provingUtils.ts b/app/src/utils/proving/provingUtils.ts new file mode 100644 index 000000000..f85ece729 --- /dev/null +++ b/app/src/utils/proving/provingUtils.ts @@ -0,0 +1,92 @@ +import forge from 'node-forge'; + +import { WS_DB_RELAYER_STAGING } from '../../../../common/src/constants/constants'; +import { WS_DB_RELAYER } from '../../../../common/src/constants/constants'; +import { EndpointType } from '../../../../common/src/utils/appType'; +import { initElliptic } from '../../../../common/src/utils/certificate_parsing/elliptic'; + +const elliptic = initElliptic(); +const { ec: EC } = elliptic; +export const ec = new EC('p256'); +export const clientKey = ec.genKeyPair(); // Use a consistent client keypair for the session +export const clientPublicKeyHex = + clientKey.getPublic().getX().toString('hex').padStart(64, '0') + + clientKey.getPublic().getY().toString('hex').padStart(64, '0'); + +export function encryptAES256GCM( + plaintext: string, + key: forge.util.ByteStringBuffer, +) { + const iv = forge.random.getBytesSync(12); + const cipher = forge.cipher.createCipher('AES-GCM', key); + cipher.start({ iv: iv, tagLength: 128 }); + cipher.update(forge.util.createBuffer(plaintext, 'utf8')); + cipher.finish(); + const encrypted = cipher.output.getBytes(); + const authTag = cipher.mode.tag.getBytes(); + return { + nonce: Array.from(Buffer.from(iv, 'binary')), + cipher_text: Array.from(Buffer.from(encrypted, 'binary')), + auth_tag: Array.from(Buffer.from(authTag, 'binary')), + }; +} + +export type TEEPayloadDisclose = { + type: 'disclose'; + endpointType: string; + endpoint: string; + onchain: boolean; + circuit: { + name: string; + inputs: string; + }; +}; + +export type TEEPayload = { + type: 'register' | 'dsc'; + onchain: true; + endpointType: string; + circuit: { + name: string; + inputs: string; + }; +}; + +export function getPayload( + inputs: any, + circuitType: 'register' | 'dsc' | 'disclose', + circuitName: string, + endpointType: EndpointType, + endpoint: string, +) { + if (circuitType === 'disclose') { + const payload: TEEPayloadDisclose = { + type: 'disclose', + endpointType: endpointType, + endpoint: endpoint, + onchain: endpointType === 'celo' ? true : false, + circuit: { + name: circuitName, + inputs: JSON.stringify(inputs), + }, + }; + return payload; + } else { + const payload: TEEPayload = { + type: circuitType as 'register' | 'dsc', + onchain: true, + endpointType: endpointType, + circuit: { + name: circuitName, + inputs: JSON.stringify(inputs), + }, + }; + return payload; + } +} + +export function getWSDbRelayerUrl(endpointType: EndpointType) { + return endpointType === 'celo' || endpointType === 'https' + ? WS_DB_RELAYER + : WS_DB_RELAYER_STAGING; +} diff --git a/app/src/utils/proving/tee.ts b/app/src/utils/proving/tee.ts deleted file mode 100644 index 3ad9b3ecf..000000000 --- a/app/src/utils/proving/tee.ts +++ /dev/null @@ -1,314 +0,0 @@ -import elliptic from 'elliptic'; -import forge from 'node-forge'; -import io, { Socket } from 'socket.io-client'; -import { v4 } from 'uuid'; - -import { - CIRCUIT_TYPES, - WS_DB_RELAYER, - WS_DB_RELAYER_STAGING, -} from '../../../../common/src/constants/constants'; -import { EndpointType } from '../../../../common/src/utils/appType'; -import { - DiscloseError, - globalSetDisclosureStatus, - globalSetRegistrationStatus, - ProofStatusEnum, -} from '../../stores/proofProvider'; -import { getPublicKey, verifyAttestation } from './attest'; - -const { ec: EC } = elliptic; - -/** - * @notice Encrypts plaintext using AES-256-GCM encryption. - * @param plaintext The string to be encrypted. - * @param key The encryption key as a forge ByteStringBuffer. - * @return An object containing the nonce, cipher_text, and auth_tag as arrays of numbers. - */ -function encryptAES256GCM(plaintext: string, key: forge.util.ByteStringBuffer) { - const iv = forge.random.getBytesSync(12); - const cipher = forge.cipher.createCipher('AES-GCM', key); - cipher.start({ iv: iv, tagLength: 128 }); - cipher.update(forge.util.createBuffer(plaintext, 'utf8')); - cipher.finish(); - const encrypted = cipher.output.getBytes(); - const authTag = cipher.mode.tag.getBytes(); - return { - nonce: Array.from(Buffer.from(iv, 'binary')), - cipher_text: Array.from(Buffer.from(encrypted, 'binary')), - auth_tag: Array.from(Buffer.from(authTag, 'binary')), - }; -} - -const ec = new EC('p256'); -const key1 = ec.genKeyPair(); -const pubkey = - key1.getPublic().getX().toString('hex').padStart(64, '0') + - key1.getPublic().getY().toString('hex').padStart(64, '0'); - -/** - * @notice Sends a payload over WebSocket connecting to the TEE server, processes the attestation, - * and submits a registration request encrypted via a shared key derived using ECDH. - * @param inputs The circuit input parameters. - * @param circuitName The name of the circuit. - * @param timeoutMs The timeout in milliseconds (default is 1200000 ms). - * @return A promise that resolves when the request completes or rejects on error/timeout. - * @dev This function sets up two WebSocket connections: one for RPC and one for subscription updates. - */ -export async function sendPayload( - inputs: any, - circuit: (typeof CIRCUIT_TYPES)[number], - circuitName: string, - endpointType: EndpointType, - endpoint: string, - wsRpcUrl: string, - timeoutMs = 1200000, - options?: { - updateGlobalOnSuccess?: boolean; - updateGlobalOnFailure?: boolean; - flow?: 'registration' | 'disclosure'; - }, -): Promise<{ status: ProofStatusEnum; error_code?: string; reason?: string }> { - const opts = { - updateGlobalOnSuccess: true, - updateGlobalOnFailure: true, - ...options, - }; - return new Promise(resolve => { - let finalized = false; - function finalize( - status: ProofStatusEnum, - error_code?: string, - reason?: string, - ) { - if (!finalized) { - finalized = true; - clearTimeout(timer); - if ( - (status === ProofStatusEnum.SUCCESS && opts.updateGlobalOnSuccess) || - (status !== ProofStatusEnum.SUCCESS && opts.updateGlobalOnFailure) - ) { - if (options?.flow === 'disclosure') { - let discloseError: DiscloseError | undefined = - error_code || reason ? { error_code, reason } : undefined; - globalSetDisclosureStatus && - globalSetDisclosureStatus(status, discloseError); - } else { - globalSetRegistrationStatus && globalSetRegistrationStatus(status); - } - } - resolve({ status, error_code, reason }); - } - } - const uuid = v4(); - const ws = new WebSocket(wsRpcUrl); - let socket: Socket | null = null; - function createHelloBody(uuidString: string) { - return { - jsonrpc: '2.0', - method: 'openpassport_hello', - id: 1, - params: { - user_pubkey: [4, ...Array.from(Buffer.from(pubkey, 'hex'))], - uuid: uuidString, - }, - }; - } - ws.addEventListener('open', () => { - const helloBody = createHelloBody(uuid); - console.log('Connected to rpc, sending hello body:', helloBody); - ws.send(JSON.stringify(helloBody)); - }); - ws.addEventListener('message', async event => { - try { - const result = JSON.parse(event.data); - if (result.result?.attestation !== undefined) { - const serverPubkey = getPublicKey(result.result.attestation); - const verified = await verifyAttestation(result.result.attestation); - if (!verified) { - finalize(ProofStatusEnum.FAILURE); - throw new Error('Attestation verification failed'); - } - const key2 = ec.keyFromPublic(serverPubkey as string, 'hex'); - const sharedKey = key1.derive(key2.getPublic()); - const forgeKey = forge.util.createBuffer( - Buffer.from( - sharedKey.toString('hex').padStart(64, '0'), - 'hex', - ).toString('binary'), - ); - const payload = getPayload( - inputs, - circuit, - circuitName, - endpointType, - endpoint, - ); - const encryptionData = encryptAES256GCM( - JSON.stringify(payload), - forgeKey, - ); - const submitBody = { - jsonrpc: '2.0', - method: 'openpassport_submit_request', - id: 1, - params: { - uuid: result.result.uuid, - ...encryptionData, - }, - }; - console.log('Sending submit body'); - const truncatedBody = { - ...submitBody, - params: { - uuid: submitBody.params.uuid, - nonce: submitBody.params.nonce.slice(0, 3) + '...', - cipher_text: submitBody.params.cipher_text.slice(0, 3) + '...', - auth_tag: submitBody.params.auth_tag.slice(0, 3) + '...', - }, - }; - console.log('Truncated submit body:', truncatedBody); - ws.send(JSON.stringify(submitBody)); - } else { - if (result.error) { - finalize(ProofStatusEnum.ERROR); - } - const receivedUuid = result.result; - console.log('Received UUID:', receivedUuid); - console.log(result); - if (!socket) { - socket = io(getWSDbRelayerUrl(endpointType), { - path: '/', - transports: ['websocket'], - }); - socket.on('connect', () => { - console.log('SocketIO: Connection opened'); - socket?.emit('subscribe', receivedUuid); - }); - socket.on('status', message => { - const data = - typeof message === 'string' ? JSON.parse(message) : message; - console.log('SocketIO message:', data); - if (data.status === 3) { - console.log('Failed to generate proof'); - socket?.disconnect(); - if (ws.readyState === WebSocket.OPEN) { - ws.close(); - } - finalize(ProofStatusEnum.FAILURE); - } else if (data.status === 4) { - console.log('Proof verified'); - socket?.disconnect(); - if (ws.readyState === WebSocket.OPEN) { - ws.close(); - } - finalize(ProofStatusEnum.SUCCESS); - } else if (data.status === 5) { - console.log('Failed to verify proof'); - socket?.disconnect(); - if (ws.readyState === WebSocket.OPEN) { - ws.close(); - } - finalize(ProofStatusEnum.FAILURE, data.error_code, data.reason); - } - }); - socket.on('disconnect', reason => { - console.log(`SocketIO disconnected. Reason: ${reason}`); - }); - } - } - } catch (error) { - console.error('Error processing message:', error); - finalize(ProofStatusEnum.ERROR); - } - }); - ws.addEventListener('error', error => { - console.error('WebSocket error:', error); - finalize(ProofStatusEnum.ERROR); - }); - ws.addEventListener('close', event => { - console.log( - `WebSocket closed. Code: ${event.code}, Reason: ${event.reason}`, - ); - if (!finalized) { - finalize(ProofStatusEnum.FAILURE); - } - }); - const timer = setTimeout(() => { - if (socket) { - socket.disconnect(); - } - if ( - ws.readyState === WebSocket.OPEN || - ws.readyState === WebSocket.CONNECTING - ) { - ws.close(); - } - finalize(ProofStatusEnum.ERROR); - }, timeoutMs); - }); -} - -export { encryptAES256GCM }; - -/*** - * types - * ***/ -export type TEEPayloadDisclose = { - type: 'disclose'; - endpointType: string; - endpoint: string; - onchain: boolean; - circuit: { - name: string; - inputs: string; - }; -}; - -export type TEEPayload = { - type: 'register' | 'dsc'; - onchain: true; - endpointType: string; - circuit: { - name: string; - inputs: string; - }; -}; -export function getPayload( - inputs: any, - circuit: string, - circuitName: string, - endpointType: string, - endpoint: string, -) { - if (circuit === 'vc_and_disclose') { - const payload: TEEPayloadDisclose = { - type: 'disclose', - endpointType: endpointType, - endpoint: endpoint, - onchain: endpointType === 'celo' ? true : false, - circuit: { - name: circuitName, - inputs: JSON.stringify(inputs), - }, - }; - return payload; - } else if (circuit === 'register' || circuit === 'dsc') { - const payload: TEEPayload = { - type: circuit as 'register' | 'dsc', - onchain: true, - endpointType: endpointType, - circuit: { - name: circuitName, - inputs: JSON.stringify(inputs), - }, - }; - return payload; - } -} - -function getWSDbRelayerUrl(endpointType: EndpointType) { - return endpointType === 'celo' || endpointType === 'https' - ? WS_DB_RELAYER - : WS_DB_RELAYER_STAGING; -} diff --git a/app/src/utils/proving/validateDocument.ts b/app/src/utils/proving/validateDocument.ts new file mode 100644 index 000000000..ed59c082a --- /dev/null +++ b/app/src/utils/proving/validateDocument.ts @@ -0,0 +1,116 @@ +import { LeanIMT } from '@openpassport/zk-kit-lean-imt'; +import { poseidon2 } from 'poseidon-lite'; + +import { + API_URL, + PASSPORT_ATTESTATION_ID, +} from '../../../../common/src/constants/constants'; +import { getCircuitNameFromPassportData } from '../../../../common/src/utils/circuits/circuitsName'; +import { + generateCommitment, + generateNullifier, +} from '../../../../common/src/utils/passports/passport'; +import { getLeafDscTree } from '../../../../common/src/utils/trees'; +import { PassportData } from '../../../../common/src/utils/types'; +import { useProtocolStore } from '../../stores/protocolStore'; + +export type PassportSupportStatus = + | 'passport_metadata_missing' + | 'csca_not_found' + | 'registration_circuit_not_supported' + | 'dsc_circuit_not_supported' + | 'passport_supported'; +export async function checkPassportSupported( + passportData: PassportData, +): Promise<{ + status: PassportSupportStatus; + details: string; +}> { + const passportMetadata = passportData.passportMetadata; + if (!passportMetadata) { + console.log('Passport metadata is null'); + return { status: 'passport_metadata_missing', details: passportData.dsc }; + } + if (!passportMetadata.cscaFound) { + console.log('CSCA not found'); + return { status: 'csca_not_found', details: passportData.dsc }; + } + const circuitNameRegister = getCircuitNameFromPassportData( + passportData, + 'register', + ); + const deployedCircuits = + useProtocolStore.getState().passport.deployed_circuits; + console.log('circuitNameRegister', circuitNameRegister); + if ( + !circuitNameRegister || + !deployedCircuits.REGISTER.includes(circuitNameRegister) + ) { + return { + status: 'registration_circuit_not_supported', + details: circuitNameRegister, + }; + } + const circuitNameDsc = getCircuitNameFromPassportData(passportData, 'dsc'); + if (!circuitNameDsc || !deployedCircuits.DSC.includes(circuitNameDsc)) { + console.log('DSC circuit not supported:', circuitNameDsc); + return { status: 'dsc_circuit_not_supported', details: circuitNameDsc }; + } + console.log('Passport supported'); + return { status: 'passport_supported', details: 'null' }; +} + +export async function isUserRegistered( + passportData: PassportData, + secret: string, +) { + if (!passportData) { + return false; + } + const commitment = generateCommitment( + secret, + PASSPORT_ATTESTATION_ID, + passportData, + ); + const serializedTree = useProtocolStore.getState().passport.commitment_tree; + const tree = LeanIMT.import((a, b) => poseidon2([a, b]), serializedTree); + const index = tree.indexOf(BigInt(commitment)); + return index !== -1; +} + +export async function isPassportNullified(passportData: PassportData) { + const nullifier = generateNullifier(passportData); + const nullifierHex = `0x${BigInt(nullifier).toString(16)}`; + console.log('checking for nullifier', nullifierHex); + const response = await fetch(`${API_URL}/is-nullifier-onchain/`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ nullifier: nullifierHex }), + }); + const data = await response.json(); + console.log('isPassportNullified', data); + return data.data; +} + +export async function checkIfPassportDscIsInTree( + passportData: PassportData, + dscTree: string, +): Promise { + const hashFunction = (a: any, b: any) => poseidon2([a, b]); + const tree = LeanIMT.import(hashFunction, dscTree); + const leaf = getLeafDscTree( + passportData.dsc_parsed!, + passportData.csca_parsed!, + ); + console.log('DSC leaf:', leaf); + const index = tree.indexOf(BigInt(leaf)); + if (index === -1) { + console.log('DSC not found in the tree'); + return false; + } else { + console.log('DSC found in the tree'); + return true; + } +} diff --git a/app/src/utils/qrCodeNew.ts b/app/src/utils/qrCodeNew.ts deleted file mode 100644 index 3419f222b..000000000 --- a/app/src/utils/qrCodeNew.ts +++ /dev/null @@ -1,107 +0,0 @@ -import queryString from 'query-string'; -import { Linking } from 'react-native'; - -import { SelfApp } from '../../../common/src/utils/appType'; - -/** - * Decodes a URL-encoded string. - * @param {string} encodedUrl - * @returns {string} - */ -const decodeUrl = (encodedUrl: string): string => { - try { - return decodeURIComponent(encodedUrl); - } catch (error) { - console.error('Error decoding URL:', error); - return encodedUrl; - } -}; - -const handleQRCodeData = ( - uri: string, - setApp: (app: SelfApp) => void, - cleanSelfApp: () => void, - startAppListener: (sessionId: string, setApp: (app: SelfApp) => void) => void, - onNavigationNeeded?: () => void, - onErrorCallback?: () => void, -) => { - const decodedUri = decodeUrl(uri); - const encodedData = queryString.parseUrl(decodedUri).query; - const sessionId = encodedData.sessionId; - const selfAppStr = encodedData.selfApp as string | undefined; - - if (selfAppStr) { - try { - const selfAppJson = JSON.parse(selfAppStr); - setApp(selfAppJson); - - if (onNavigationNeeded) { - setTimeout(() => { - onNavigationNeeded(); - }, 100); - } - return; - } catch (error) { - console.error('Error parsing selfApp:', error); - if (onErrorCallback) { - onErrorCallback(); - } - } - } - - if (sessionId && typeof sessionId === 'string') { - cleanSelfApp(); - startAppListener(sessionId, setApp); - - if (onNavigationNeeded) { - setTimeout(() => { - onNavigationNeeded(); - }, 100); - } - } else { - console.error('No sessionId or selfApp found in the data'); - if (onErrorCallback) { - onErrorCallback(); - } - } -}; - -export const setupUniversalLinkListenerInNavigation = ( - navigation: any, - setApp: (app: SelfApp) => void, - cleanSelfApp: () => void, - startAppListener: (sessionId: string, setApp: (app: SelfApp) => void) => void, -) => { - const handleNavigation = (url: string) => { - handleQRCodeData( - url, - setApp, - cleanSelfApp, - startAppListener, - () => { - if (navigation.isReady()) { - navigation.navigate('ProveScreen'); - } - }, - () => { - if (navigation.isReady()) { - navigation.navigate('QRCodeTrouble'); - } - }, - ); - }; - - Linking.getInitialURL().then(url => { - if (url) { - handleNavigation(url); - } - }); - - const linkingEventListener = Linking.addEventListener('url', ({ url }) => { - handleNavigation(url); - }); - - return () => { - linkingEventListener.remove(); - }; -}; diff --git a/app/yarn.lock b/app/yarn.lock index f72d515c8..40c9c1e6f 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -11968,6 +11968,7 @@ __metadata: tamagui: "npm:1.110.0" typescript: "npm:5.0.4" uuid: "npm:^11.0.5" + xstate: "npm:^5.19.2" zustand: "npm:^4.5.2" languageName: unknown linkType: soft @@ -14941,6 +14942,13 @@ __metadata: languageName: node linkType: hard +"xstate@npm:^5.19.2": + version: 5.19.2 + resolution: "xstate@npm:5.19.2" + checksum: 10c0/0ff24a88af9fbb8182240b1c0929b3aa46f5777e91e6446939016fa7128afffe2421619613720e6266cc2436a91631e471ee0572215e127a5bdf841891a2b057 + languageName: node + linkType: hard + "xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" diff --git a/common/src/constants/constants.ts b/common/src/constants/constants.ts index 604425d22..884168ffd 100644 --- a/common/src/constants/constants.ts +++ b/common/src/constants/constants.ts @@ -9,6 +9,8 @@ export const WS_RPC_URL_VC_AND_DISCLOSE = "ws://disclose.proving.self.xyz:8888/" export const WS_DB_RELAYER = 'wss://websocket.self.xyz'; export const WS_DB_RELAYER_STAGING = 'wss://websocket.staging.self.xyz'; export const API_URL = 'https://api.self.xyz'; +export const TREE_URL = 'https://tree.self.xyz'; +export const TREE_URL_STAGING = 'https://tree.staging.self.xyz'; export const API_URL_STAGING = 'https://api.staging.self.xyz'; export const CSCA_TREE_URL = 'https://tree.self.xyz/csca'; export const DSC_TREE_URL = 'https://tree.self.xyz/dsc'; diff --git a/common/src/utils/types.ts b/common/src/utils/types.ts index 8a895bfe8..4cb247302 100644 --- a/common/src/utils/types.ts +++ b/common/src/utils/types.ts @@ -1,6 +1,12 @@ import { CertificateData } from "./certificate_parsing/dataStructure"; import { PassportMetadata } from "./passports/passport_parsing/parsePassportData"; +export type ID = { + documentType: DocumentType; + mock: boolean; + data: PassportData; +} + export type PassportData = { mrz: string; dg1Hash?: number[]; @@ -16,7 +22,7 @@ export type PassportData = { documentType: DocumentType; }; -export type DocumentType = "passport" | "mock_passport"; +export type DocumentType = "passport" | "mock_passport" | "eu_id" | "aadhaar"; // Define the signature algorithm in "algorithm_hashfunction_domainPapameter_keyLength" export type SignatureAlgorithm = From fdfc0534fbb2da97e310766a31d4efc7e343e2d7 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Fri, 25 Apr 2025 07:48:38 -0500 Subject: [PATCH 13/49] Bump build versions for 2.5.1 (#531) * release new builds * fix app and build versions * fix env check --- app/android/app/build.gradle | 4 ++-- app/ios/OpenPassport/Info.plist | 4 ++-- app/ios/Self.xcodeproj/project.pbxproj | 8 ++++---- app/src/hooks/useAesopRedesign.ts | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index 8935a4686..038f4a9e2 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -85,7 +85,7 @@ android { applicationId "com.proofofpassportapp" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 54 + versionCode 55 versionName "2.5.1" externalNativeBuild { cmake { @@ -136,7 +136,7 @@ dependencies { implementation("com.facebook.react:react-android") implementation(project(":react-native-passport-reader")) { exclude group: 'edu.ucar', module: 'jj2000' - } + } implementation project(':passportreader') implementation 'org.jmrtd:jmrtd:0.7.18' diff --git a/app/ios/OpenPassport/Info.plist b/app/ios/OpenPassport/Info.plist index cdd73699c..78ddc370a 100644 --- a/app/ios/OpenPassport/Info.plist +++ b/app/ios/OpenPassport/Info.plist @@ -25,7 +25,7 @@ CFBundleSignature ???? CFBundleVersion - 111 + $(CURRENT_PROJECT_VERSION) LSApplicationCategoryType LSRequiresIPhoneOS @@ -108,6 +108,6 @@ UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - + diff --git a/app/ios/Self.xcodeproj/project.pbxproj b/app/ios/Self.xcodeproj/project.pbxproj index 037535aaa..521ad6d0e 100644 --- a/app/ios/Self.xcodeproj/project.pbxproj +++ b/app/ios/Self.xcodeproj/project.pbxproj @@ -481,7 +481,7 @@ CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassportDebug.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 111; + CURRENT_PROJECT_VERSION = 114; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; ENABLE_BITCODE = NO; @@ -596,7 +596,7 @@ "$(PROJECT_DIR)", "$(PROJECT_DIR)/MoproKit/Libs", ); - MARKETING_VERSION = 2.5.0; + MARKETING_VERSION = 2.5.1; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -619,7 +619,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassport.entitlements; - CURRENT_PROJECT_VERSION = 111; + CURRENT_PROJECT_VERSION = 114; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; FRAMEWORK_SEARCH_PATHS = ( @@ -733,7 +733,7 @@ "$(PROJECT_DIR)", "$(PROJECT_DIR)/MoproKit/Libs", ); - MARKETING_VERSION = 2.5.0; + MARKETING_VERSION = 2.5.1; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", diff --git a/app/src/hooks/useAesopRedesign.ts b/app/src/hooks/useAesopRedesign.ts index 6a20d6657..5354cc7ea 100644 --- a/app/src/hooks/useAesopRedesign.ts +++ b/app/src/hooks/useAesopRedesign.ts @@ -1,7 +1,7 @@ import { IS_TEST_BUILD } from '@env'; export const shouldShowAesopRedesign = (): boolean => { - return JSON.parse(IS_TEST_BUILD); + return JSON.parse(IS_TEST_BUILD ?? 'false'); }; export const useAesopRedesign = (): boolean => { From f5e45af0cf4dfe7312e813921b252e9a9ba1fe47 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com> Date: Fri, 25 Apr 2025 09:25:44 -0400 Subject: [PATCH 14/49] display error animation on failure on loading screen (#532) * display error animation on failure on loading screen * remove log --------- Co-authored-by: Justin Hernandez --- app/src/screens/Onboarding/LoadingScreen.tsx | 5 ++--- app/src/utils/proving/provingMachine.ts | 5 ++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/screens/Onboarding/LoadingScreen.tsx b/app/src/screens/Onboarding/LoadingScreen.tsx index e60c0a756..12a60d61e 100644 --- a/app/src/screens/Onboarding/LoadingScreen.tsx +++ b/app/src/screens/Onboarding/LoadingScreen.tsx @@ -1,5 +1,4 @@ -import { StaticScreenProps } from '@react-navigation/native'; -import { useIsFocused } from '@react-navigation/native'; +import { StaticScreenProps, useIsFocused } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; import React, { useEffect, useState } from 'react'; import { StyleSheet, Text, View } from 'react-native'; @@ -24,7 +23,7 @@ const LoadingScreen: React.FC = ({}) => { if (currentState === 'completed') { setAnimationSource(successAnimation); - } else if (currentState === 'error') { + } else if (currentState === 'error' || currentState === 'failure') { setAnimationSource(failAnimation); } else { setAnimationSource(miscAnimation); diff --git a/app/src/utils/proving/provingMachine.ts b/app/src/utils/proving/provingMachine.ts index 872a6fc0f..ac666243d 100644 --- a/app/src/utils/proving/provingMachine.ts +++ b/app/src/utils/proving/provingMachine.ts @@ -168,7 +168,10 @@ export const useProvingStore = create((set, get) => { if (state.value === 'post_proving') { get().postProving(); } - if (get().circuitType !== 'disclose' && state.value === 'error') { + if ( + get().circuitType !== 'disclose' && + (state.value === 'error' || state.value === 'failure') + ) { setTimeout(() => { if (navigationRef.isReady()) { navigationRef.navigate('Launch'); From f0d2f6d94ebe6fd4308029d0f43a82df53460165 Mon Sep 17 00:00:00 2001 From: James Niken Date: Sat, 26 Apr 2025 22:00:53 +0200 Subject: [PATCH 15/49] ci: bump actions/checkout to v4 (#529) * make contract sdk simpler (#514) * make contract sdk simpler * reduce root inputs * delete convert function * summarize our library * update npm package * update package version * update attestation id * add util function to get revealed data * Revert "make contract sdk simpler (#514)" (#518) This reverts commit 847b88d5ecc0d449b976a552f68af38eec8e561b. * ci: bump actions/checkout to v4 --------- Co-authored-by: nicoshark Co-authored-by: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com> --- .github/actions/mobile-setup/action.yml | 2 +- .github/workflows/action.yml | 2 +- .github/workflows/npm-publish.yml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/mobile-setup/action.yml b/.github/actions/mobile-setup/action.yml index c7228f4ed..6a58a22de 100644 --- a/.github/actions/mobile-setup/action.yml +++ b/.github/actions/mobile-setup/action.yml @@ -35,7 +35,7 @@ runs: sudo update-locale LANG=en_US.UTF-8 - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Ruby environment uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml index e27650af9..7c361cbb6 100644 --- a/.github/workflows/action.yml +++ b/.github/workflows/action.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest environment: development steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Circom installation from https://github.com/erhant/circomkit/blob/main/.github/workflows/tests.yml - name: Install dependencies diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 4a8cd2c1d..0e2c990a2 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -15,7 +15,7 @@ jobs: core_changed: ${{ steps.check-version.outputs.core_changed }} qrcode_changed: ${{ steps.check-version.outputs.qrcode_changed }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 2 @@ -38,7 +38,7 @@ jobs: if: needs.detect-changes.outputs.core_changed == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v3 @@ -70,7 +70,7 @@ jobs: if: needs.detect-changes.outputs.qrcode_changed == 'true' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v3 From bb1540e0077efb7b36656c0f5234b6a63947cc50 Mon Sep 17 00:00:00 2001 From: turboblitz Date: Sun, 27 Apr 2025 10:44:07 -0700 Subject: [PATCH 16/49] fix italy (#530) --- app/ios/Podfile | 2 +- app/ios/Podfile.lock | 130 +++++++++++++++++++++---------------------- 2 files changed, 66 insertions(+), 66 deletions(-) mode change 100644 => 100755 app/ios/Podfile diff --git a/app/ios/Podfile b/app/ios/Podfile old mode 100644 new mode 100755 index 41e71f0f0..f1641cd41 --- a/app/ios/Podfile +++ b/app/ios/Podfile @@ -23,7 +23,7 @@ target "Self" do config = use_native_modules! use_frameworks! - pod "NFCPassportReader", git: "https://github.com/zk-passport/NFCPassportReader", commit: "9bf434c86a01ae9670422f5a7484d7405124a108" + pod "NFCPassportReader", git: "https://github.com/zk-passport/NFCPassportReader", commit: "e3e869b14fb7fb2417928079db3967f203523580" pod "QKMRZScanner" pod "lottie-ios" pod "SwiftQRScanner", :git => "https://github.com/vinodiOS/SwiftQRScanner" diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 2a3b6806c..fd1bb10ec 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -1674,7 +1674,7 @@ DEPENDENCIES: - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - lottie-ios - lottie-react-native (from `../node_modules/lottie-react-native`) - - NFCPassportReader (from `https://github.com/zk-passport/NFCPassportReader`, commit `9bf434c86a01ae9670422f5a7484d7405124a108`) + - NFCPassportReader (from `https://github.com/zk-passport/NFCPassportReader`, commit `e3e869b14fb7fb2417928079db3967f203523580`) - QKMRZScanner - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) @@ -1786,7 +1786,7 @@ EXTERNAL SOURCES: lottie-react-native: :path: "../node_modules/lottie-react-native" NFCPassportReader: - :commit: 9bf434c86a01ae9670422f5a7484d7405124a108 + :commit: e3e869b14fb7fb2417928079db3967f203523580 :git: https://github.com/zk-passport/NFCPassportReader RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" @@ -1943,7 +1943,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: NFCPassportReader: - :commit: 9bf434c86a01ae9670422f5a7484d7405124a108 + :commit: e3e869b14fb7fb2417928079db3967f203523580 :git: https://github.com/zk-passport/NFCPassportReader SwiftQRScanner: :commit: fddcabcb431cd6110cea0394660082661dbafa7e @@ -1960,92 +1960,92 @@ SPEC CHECKSUMS: GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 lottie-ios: a881093fab623c467d3bce374367755c272bdd59 - lottie-react-native: 3ffec00c889acded6057766c99adf8eaced7790c + lottie-react-native: db03203d873afcbb6e0cea6a262a88d95e64a98f NFCPassportReader: e931c61c189e08a4b4afa0ed4014af19eab2f129 OpenSSL-Universal: 84efb8a29841f2764ac5403e0c4119a28b713346 QKMRZParser: 6b419b6f07d6bff6b50429b97de10846dc902c29 QKMRZScanner: cf2348fd6ce441e758328da4adf231ef2b51d769 - RCT-Folly: 34124ae2e667a0e5f0ea378db071d27548124321 + RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1 RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205 React: c2830fa483b0334bda284e46a8579ebbe0c5447e React-callinvoker: 4aecde929540c26b841a4493f70ebf6016691eb8 - React-Core: 65374ea054f3f00eaa3c8bb5e989cb1ba8128844 - React-CoreModules: f53e0674e1747fa41c83bc970e82add97b14ad87 - React-cxxreact: bb77e88b645c5378ecd0c30c94f965a8294001d8 + React-Core: 1e3c04337857fa7fb7559f73f6f29a2a83a84b9c + React-CoreModules: 9fac2d31803c0ed03e4ddaa17f1481714f8633a5 + React-cxxreact: c72a7a8066fc4323ea85a3137de50c8a10a69794 React-debug: 7e346b6eeacd2ee1118a0ee7d39f613b428b4be8 - React-defaultsnativemodule: 4f1e9236c048fce31ebaf2c9c59ad7e76fb971a1 - React-domnativemodule: 0d0e04cd8a68f3984b7b15aada7ff531dfc3c3bd - React-Fabric: fa636eabfe3c8a3af3a9bface586956e90619ebf - React-FabricComponents: 52382f668a934df9cef21a7893beffbe0e2b2f5e - React-FabricImage: 69b745c0231d9360180f5e411370c6fb0c3cb546 + React-defaultsnativemodule: e40e760aa97a7183d5f5a8174e44026673c4b995 + React-domnativemodule: 9fef73afd600e7c7d7f540d82532a113830bbdda + React-Fabric: dcd7ec3ea4da022b6c3f025e2567c9860ff1f760 + React-FabricComponents: 7e67af984cab1d6d1c02aae4a62933abc1baa5d3 + React-FabricImage: 77ca01a0a2bca3e1d39967220d7af7e3de033c9f React-featureflags: 4c45b3c06f9a124d2598aff495bfc59470f40597 - React-featureflagsnativemodule: 110c225191b3bca92694d36303385c2c299c12e5 - React-graphics: eb61d404819486a2d9335c043a967a0c4b8ca743 - React-idlecallbacksnativemodule: ca6930a17eaae01591610c87b19dbd90515f54a1 - React-ImageManager: 6652c4cc3de260b5269d58277de383cacd53a234 + React-featureflagsnativemodule: d37e4fe27bd4f541d6d46f05e899345018067314 + React-graphics: a2e6209991a191c94405a234460e05291fa986b9 + React-idlecallbacksnativemodule: fa07e0af59ec6c950b2156b14c73c7fce4d0a663 + React-ImageManager: 17772f78d93539a1a10901b5f537031772fa930c React-jsc: 4d3352be620f3fe2272238298aaccc9323b01824 - React-jserrorhandler: 552c5fcd2ee64307c568734b965ea082e1be25cf - React-jsi: b187c826e5bda25afb36ede4c54c146cd50c9d6c - React-jsiexecutor: ac8478b6c5f53bcf411a66bf4461e923dafeb0bd - React-jsinspector: a82cfe0794b831d6e36cf0c8c07da56a0aaa1282 - React-jsitracing: e512a1023a25de831b51be1c773caa6036125a44 - React-logger: 80d87daf2f98bf95ab668b79062c1e0c3f0c2f8a - React-Mapbuffer: b2642edd9be75d51ead8cda109c986665eae09cf - React-microtasksnativemodule: 7ebf131e1792a668004d2719a36da0ff8d19c43c - react-native-biometrics: 43ed5b828646a7862dbc7945556446be00798e7d - react-native-cloud-storage: 74d1f1456d714e0fca6d10c7ab6fe9a52ba203b6 - react-native-get-random-values: d16467cf726c618e9c7a8c3c39c31faa2244bbba - react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187 - react-native-nfc-manager: a280ef94cd4871a471b052f0dc70381cf1223049 - react-native-quick-crypto: a7cc5f870f270488fee9047b56e481de85c32e33 - react-native-safe-area-context: 3e33e7c43c8b74dba436a5a32651cb8d7064c740 + React-jserrorhandler: 62af5111f6444688182a5850d4b584cbc0c5d6a8 + React-jsi: 490deef195fd3f01d57dc89dda8233a84bd54b83 + React-jsiexecutor: 13bcb5e11822b2a6b69dbb175a24a39e24a02312 + React-jsinspector: 6961a23d4c11b72f3cbeb5083b0b18cc22bc48a1 + React-jsitracing: dab78a74a581f63320604c9de4ab9039209e0501 + React-logger: d79b704bf215af194f5213a6b7deec50ba8e6a9b + React-Mapbuffer: 42c779748af341935a63ad8831723b8cb1e97830 + React-microtasksnativemodule: 744f7e26200ea3976fef8453101cefcc08756008 + react-native-biometrics: 352e5a794bfffc46a0c86725ea7dc62deb085bdc + react-native-cloud-storage: 4c68bc6025c3624164461e15231efb28576f78a8 + react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06 + react-native-netinfo: f0a9899081c185db1de5bb2fdc1c88c202a059ac + react-native-nfc-manager: 5213321cf6c18d879c8092c0bf56806b771ec5ac + react-native-quick-crypto: 07fd0ba954a08d8c6b4cd1ff8b1fd91df2b650d6 + react-native-safe-area-context: 849d7df29ecb2a7155c769c0b76849ba952c2aa3 React-nativeconfig: 31072ab0146e643594f6959c7f970a04b6c9ddd0 - React-NativeModulesApple: 4ffcab4cdf34002540799bffbedd6466e8023c3a + React-NativeModulesApple: 5df767d9a2197ac25f4d8dd2d4ae1af3624022e2 React-perflogger: 59e1a3182dca2cee7b9f1f7aab204018d46d1914 - React-performancetimeline: 2bf8625ff44f482cba84e48e4ab21dee405d68cd + React-performancetimeline: 3d70a278cc3344def506e97aff3640e658656110 React-RCTActionSheet: d80e68d3baa163e4012a47c1f42ddd8bcd9672cc - React-RCTAnimation: 051f0781709c5ed80ba8aa2b421dfb1d72a03162 - React-RCTAppDelegate: 99345256dcceddcacab539ff8f56635de6a2f551 - React-RCTBlob: e949797c162421e363f93bfd8b546b7e632ba847 - React-RCTFabric: 396093d9aeee4bd3a6021ec6df8ed012f78763ef - React-RCTImage: b73149c0cd54b641dba2d6250aaf168fee784d9f - React-RCTLinking: 23e519712285427e50372fbc6e0265d422abf462 - React-RCTNetwork: a5d06d122588031989115f293654b13353753630 - React-RCTSettings: 87d03b5d94e6eadd1e8c1d16a62f790751aafb55 - React-RCTText: 75e9dd39684f4bcd1836134ac2348efaca7437b3 - React-RCTVibration: 033c161fe875e6fa096d0d9733c2e2501682e3d4 + React-RCTAnimation: bde981f6bd7f8493696564da9b3bd05721d3b3cc + React-RCTAppDelegate: bc9c02d6dd4d162e3e1850283aba81bd246fc688 + React-RCTBlob: e492d54533e61a81f2601494a6f393b3e15e33b9 + React-RCTFabric: 4556aa70bd55b48d793cfb87e80d687c164298e2 + React-RCTImage: 90448d2882464af6015ed57c98f463f8748be465 + React-RCTLinking: 1bd95d0a704c271d21d758e0f0388cced768d77d + React-RCTNetwork: 218af6e63eb9b47935cc5a775b7a1396cf10ff91 + React-RCTSettings: e10b8e42b0fce8a70fbf169de32a2ae03243ef6b + React-RCTText: e7bf9f4997a1a0b45c052d4ad9a0fe653061cf29 + React-RCTVibration: 5b70b7f11e48d1c57e0d4832c2097478adbabe93 React-rendererconsistency: 35cef4bc4724194c544b6e5e2bd9b3f7aff52082 - React-rendererdebug: 4e801e9f8d16d21877565dca2845a2e56202b8c6 + React-rendererdebug: 9b1a6a2d4f8086a438f75f28350ccba16b7b706a React-rncore: 2c7c94d6e92db0850549223eb2fa8272e0942ac2 - React-RuntimeApple: 0f661760cfcfa5d9464f7e05506874643e88fc2d - React-RuntimeCore: 1d0fcc0eb13807818e79ccaf48915596f0f5f0e6 + React-RuntimeApple: 22397aca29a0c9be681db02c68416e508a381ef1 + React-RuntimeCore: a6d413611876d8180a5943b80cba3cefdf95ad5f React-runtimeexecutor: ea90d8e3a9e0f4326939858dafc6ab17c031a5d3 - React-runtimescheduler: 6b33edee8c830c7926670df4232d51f4f6a82795 - React-utils: 7198bd077f07ce8f9263c05bf610da6e251058ad - ReactCodegen: a2d336e0bec3d2f45475df55e7a02cc4e4c19623 - ReactCommon: b02a50498cb1071cd793044ddbd5d2b5f4db0a34 - RNCAsyncStorage: af7b591318005069c3795076addc83a4dd5c0a2e - RNCClipboard: 4abb037e8fe3b98a952564c9e0474f91c492df6d - RNDeviceInfo: d863506092aef7e7af3a1c350c913d867d795047 - RNGestureHandler: 9c3877d98d4584891b69d16ebca855ac46507f4d - RNGoogleSignin: b8760528f2a7cbe157ecfdcc13bdb7d2745c9389 - RNKeychain: bbe2f6d5cc008920324acb49ef86ccc03d3b38e4 - RNLocalize: 15463c4d79c7da45230064b4adcf5e9bb984667e - RNReactNativeHapticFeedback: e19b9b2e2ecf5593de8c4ef1496e1e31ae227514 - RNScreens: b7e8d29c6be98f478bc3fb4a97cc770aa9ba7509 - RNSentry: c462461c0a5aaba206265f1f3db01b237cd33239 - RNSVG: 46769c92d1609e617dbf9326ad8a0cff912d0982 - segment-analytics-react-native: 6f98edf18246782ee7428c5380c6519a3d2acf5e + React-runtimescheduler: e041df0539ad8a8a370e3507c39a9ab0571bb848 + React-utils: 768a7eb396b7df37aa19389201652eac613490cd + ReactCodegen: c53f8a0fa088739ee9929820feec1508043c7e6c + ReactCommon: 03d2d48fcd1329fe3bc4e428a78a0181b68068c2 + RNCAsyncStorage: 03861ec2e1e46b20e51963c62c51dc288beb7c43 + RNCClipboard: 60fed4b71560d7bfe40e9d35dea9762b024da86d + RNDeviceInfo: feea80a690d2bde1fe51461cf548039258bd03f2 + RNGestureHandler: 5639cd6112a3aa3bebc3871e3bf4e83940e20f6f + RNGoogleSignin: ee2938633d996756819e3212c8e0f7f696b380d0 + RNKeychain: bfe3d12bf4620fe488771c414530bf16e88f3678 + RNLocalize: 06991b9c31e7a898a9fa6ddb204ce0f53a967248 + RNReactNativeHapticFeedback: cba92e59f56506f6058d261dc85986012b2c5032 + RNScreens: d2a8ff4833a42f4eeadaea244f0bd793301b8810 + RNSentry: 3d46e29e54f848539428ce45ae8da496ef117b65 + RNSVG: 669ed128ab9005090c612a0d627dbecb6ab5c76f + segment-analytics-react-native: d57ed4971cbb995706babf29215ebdbf242ecdab Sentry: 1ca8405451040482877dcd344dfa3ef80b646631 SentryPrivate: d651efb234cf385ec9a1cdd3eff94b5e78a0e0fe SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d - sovran-react-native: a3ad3f8ff90c2002b2aa9790001a78b0b0a38594 + sovran-react-native: eec37f82e4429f0e3661f46aaf4fcd85d1b54f60 SwiftQRScanner: e85a25f9b843e9231dab89a96e441472fe54a724 SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178 -PODFILE CHECKSUM: 2b468179668cdef7353db1854af53acb7048e65b +PODFILE CHECKSUM: 73f2a9db80032d63f7117ad67e2446be9bc33926 COCOAPODS: 1.16.2 From af44cd87507ef80633ba7fb80d7a1cb3596a2121 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com> Date: Mon, 28 Apr 2025 11:57:37 -0400 Subject: [PATCH 17/49] Fix/proving machine endpoint type (#538) * store endpoint type in proving machine * yarn nice --- app/src/utils/proving/provingMachine.ts | 26 ++++++++++++------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/app/src/utils/proving/provingMachine.ts b/app/src/utils/proving/provingMachine.ts index ac666243d..bf8079efe 100644 --- a/app/src/utils/proving/provingMachine.ts +++ b/app/src/utils/proving/provingMachine.ts @@ -123,6 +123,7 @@ interface ProvingState { circuitType: provingMachineCircuitType | null; error_code: string | null; reason: string | null; + endpointType: EndpointType | null; init: (circuitType: 'dsc' | 'disclose' | 'register') => Promise; startFetchingData: () => Promise; validatingDocument: () => Promise; @@ -238,6 +239,7 @@ export const useProvingStore = create((set, get) => { selfApp: null, error_code: null, reason: null, + endpointType: null, _handleWebSocketMessage: async (event: MessageEvent) => { if (!actor) { console.error('Cannot process message: State machine not initialized.'); @@ -282,25 +284,15 @@ export const useProvingStore = create((set, get) => { }). Using received UUID.`, ); } - const { passportData } = get(); - if (!statusUuid) { + const endpointType = get().endpointType; + if (!endpointType) { console.error( - 'Cannot start Socket.IO listener: UUID missing from state or response.', + 'Cannot start Socket.IO listener: endpointType not set.', ); actor!.send({ type: 'PROVE_ERROR' }); return; } - if (!passportData) { - console.error( - 'Cannot start Socket.IO listener: passportData missing from state.', - ); - actor!.send({ type: 'PROVE_ERROR' }); - return; - } - - const socketEndpointType = - passportData.documentType === 'passport' ? 'celo' : 'staging_celo'; - get()._startSocketIOStatusListener(statusUuid, socketEndpointType); + get()._startSocketIOStatusListener(statusUuid, endpointType); } else if (result.error) { console.error('Received error from TEE:', result.error); actor!.send({ type: 'PROVE_ERROR' }); @@ -461,6 +453,8 @@ export const useProvingStore = create((set, get) => { userConfirmed: false, passportData: null, secret: null, + circuitType, + endpointType: null, }); actor = createActor(provingMachine); @@ -683,6 +677,7 @@ export const useProvingStore = create((set, get) => { serverPublicKey: null, sharedKey: null, uuid: null, + endpointType: null, }); }, @@ -734,6 +729,9 @@ export const useProvingStore = create((set, get) => { JSON.stringify(payload), forgeKey, ); + + // Persist endpointType for later Socket.IO connection + set({ endpointType: endpointType as EndpointType }); return { jsonrpc: '2.0', method: 'openpassport_submit_request', From 81fd3e86e7fde6d499f9a0b964bd55ee0d7a9d6b Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com> Date: Mon, 28 Apr 2025 11:57:46 -0400 Subject: [PATCH 18/49] fix splash screen error (#539) --- app/src/screens/SplashScreen.tsx | 73 +++++++++++++++++--------------- 1 file changed, 40 insertions(+), 33 deletions(-) diff --git a/app/src/screens/SplashScreen.tsx b/app/src/screens/SplashScreen.tsx index 711553a90..c4b9c6423 100644 --- a/app/src/screens/SplashScreen.tsx +++ b/app/src/screens/SplashScreen.tsx @@ -23,46 +23,53 @@ const SplashScreen: React.FC = ({}) => { .then(setBiometricsAvailable) .catch(err => { console.warn('Error checking biometrics availability', err); + navigation.navigate('Launch'); + throw new Error(`Error checking biometrics availability: ${err}`); }); - }, []); + }, [navigation]); const handleAnimationFinish = useCallback(() => { - setTimeout(async () => { - impactLight(); - const passportDataAndSecret = await loadPassportDataAndSecret(); + try { + setTimeout(async () => { + impactLight(); + const passportDataAndSecret = await loadPassportDataAndSecret(); - if (!passportDataAndSecret) { - navigation.navigate('Launch'); - return; - } + if (!passportDataAndSecret) { + navigation.navigate('Launch'); + return; + } - const { passportData, secret } = JSON.parse(passportDataAndSecret); - if (!isPassportDataValid(passportData)) { - navigation.navigate('Launch'); - return; - } - const environment = - (passportData as PassportData).documentType && - (passportData as PassportData).documentType !== 'passport' - ? 'stg' - : 'prod'; - await useProtocolStore.getState().passport.fetch_all(environment); - const isRegistered = await isUserRegistered(passportData, secret); - console.log('User is registered:', isRegistered); - if (isRegistered) { - console.log('Passport is registered already. Skipping to HomeScreen'); - navigation.navigate('Home'); - return; - } - // Currently, we dont check isPassportNullified(passportData); - // This could lead to AccountRecoveryChoice just like in LoadingScreen - // But it looks better right now to keep the LaunchScreen flow - // In case user wants to try with another passport. - // Long term, we could also show a modal instead that prompts the user to recover or scan a new passport. + const { passportData, secret } = JSON.parse(passportDataAndSecret); + if (!isPassportDataValid(passportData)) { + navigation.navigate('Launch'); + return; + } + const environment = + (passportData as PassportData).documentType && + (passportData as PassportData).documentType !== 'passport' + ? 'stg' + : 'prod'; + await useProtocolStore.getState().passport.fetch_all(environment); + const isRegistered = await isUserRegistered(passportData, secret); + console.log('User is registered:', isRegistered); + if (isRegistered) { + console.log('Passport is registered already. Skipping to HomeScreen'); + navigation.navigate('Home'); + return; + } + // Currently, we dont check isPassportNullified(passportData); + // This could lead to AccountRecoveryChoice just like in LoadingScreen + // But it looks better right now to keep the LaunchScreen flow + // In case user wants to try with another passport. + // Long term, we could also show a modal instead that prompts the user to recover or scan a new passport. - // Rest of the time, keep the LaunchScreen flow + // Rest of the time, keep the LaunchScreen flow + navigation.navigate('Launch'); + }, 1000); + } catch (error) { navigation.navigate('Launch'); - }, 1000); + throw new Error(`Error in SplashScreen: ${error}`); + } }, [navigation]); return ( From b1b6c201b44a3b87e193eadf1ca9164d38a04388 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 28 Apr 2025 17:22:45 -0500 Subject: [PATCH 19/49] New bug fix build for v2.5.1 (#540) * bump new build for dev fixes * update lock * reinstall before running local deploy --- app/android/app/build.gradle | 2 +- app/ios/Podfile.lock | 122 ++++++++++++------------- app/ios/Self.xcodeproj/project.pbxproj | 4 +- app/package.json | 8 +- 4 files changed, 68 insertions(+), 68 deletions(-) diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index 038f4a9e2..99eb17c05 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -85,7 +85,7 @@ android { applicationId "com.proofofpassportapp" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 55 + versionCode 56 versionName "2.5.1" externalNativeBuild { cmake { diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index fd1bb10ec..a07e111cf 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -1960,88 +1960,88 @@ SPEC CHECKSUMS: GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 lottie-ios: a881093fab623c467d3bce374367755c272bdd59 - lottie-react-native: db03203d873afcbb6e0cea6a262a88d95e64a98f + lottie-react-native: 3ffec00c889acded6057766c99adf8eaced7790c NFCPassportReader: e931c61c189e08a4b4afa0ed4014af19eab2f129 OpenSSL-Universal: 84efb8a29841f2764ac5403e0c4119a28b713346 QKMRZParser: 6b419b6f07d6bff6b50429b97de10846dc902c29 QKMRZScanner: cf2348fd6ce441e758328da4adf231ef2b51d769 - RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 + RCT-Folly: 34124ae2e667a0e5f0ea378db071d27548124321 RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1 RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205 React: c2830fa483b0334bda284e46a8579ebbe0c5447e React-callinvoker: 4aecde929540c26b841a4493f70ebf6016691eb8 - React-Core: 1e3c04337857fa7fb7559f73f6f29a2a83a84b9c - React-CoreModules: 9fac2d31803c0ed03e4ddaa17f1481714f8633a5 - React-cxxreact: c72a7a8066fc4323ea85a3137de50c8a10a69794 + React-Core: 65374ea054f3f00eaa3c8bb5e989cb1ba8128844 + React-CoreModules: f53e0674e1747fa41c83bc970e82add97b14ad87 + React-cxxreact: bb77e88b645c5378ecd0c30c94f965a8294001d8 React-debug: 7e346b6eeacd2ee1118a0ee7d39f613b428b4be8 - React-defaultsnativemodule: e40e760aa97a7183d5f5a8174e44026673c4b995 - React-domnativemodule: 9fef73afd600e7c7d7f540d82532a113830bbdda - React-Fabric: dcd7ec3ea4da022b6c3f025e2567c9860ff1f760 - React-FabricComponents: 7e67af984cab1d6d1c02aae4a62933abc1baa5d3 - React-FabricImage: 77ca01a0a2bca3e1d39967220d7af7e3de033c9f + React-defaultsnativemodule: 4f1e9236c048fce31ebaf2c9c59ad7e76fb971a1 + React-domnativemodule: 0d0e04cd8a68f3984b7b15aada7ff531dfc3c3bd + React-Fabric: fa636eabfe3c8a3af3a9bface586956e90619ebf + React-FabricComponents: 52382f668a934df9cef21a7893beffbe0e2b2f5e + React-FabricImage: 69b745c0231d9360180f5e411370c6fb0c3cb546 React-featureflags: 4c45b3c06f9a124d2598aff495bfc59470f40597 - React-featureflagsnativemodule: d37e4fe27bd4f541d6d46f05e899345018067314 - React-graphics: a2e6209991a191c94405a234460e05291fa986b9 - React-idlecallbacksnativemodule: fa07e0af59ec6c950b2156b14c73c7fce4d0a663 - React-ImageManager: 17772f78d93539a1a10901b5f537031772fa930c + React-featureflagsnativemodule: 110c225191b3bca92694d36303385c2c299c12e5 + React-graphics: eb61d404819486a2d9335c043a967a0c4b8ca743 + React-idlecallbacksnativemodule: ca6930a17eaae01591610c87b19dbd90515f54a1 + React-ImageManager: 6652c4cc3de260b5269d58277de383cacd53a234 React-jsc: 4d3352be620f3fe2272238298aaccc9323b01824 - React-jserrorhandler: 62af5111f6444688182a5850d4b584cbc0c5d6a8 - React-jsi: 490deef195fd3f01d57dc89dda8233a84bd54b83 - React-jsiexecutor: 13bcb5e11822b2a6b69dbb175a24a39e24a02312 - React-jsinspector: 6961a23d4c11b72f3cbeb5083b0b18cc22bc48a1 - React-jsitracing: dab78a74a581f63320604c9de4ab9039209e0501 - React-logger: d79b704bf215af194f5213a6b7deec50ba8e6a9b - React-Mapbuffer: 42c779748af341935a63ad8831723b8cb1e97830 - React-microtasksnativemodule: 744f7e26200ea3976fef8453101cefcc08756008 - react-native-biometrics: 352e5a794bfffc46a0c86725ea7dc62deb085bdc - react-native-cloud-storage: 4c68bc6025c3624164461e15231efb28576f78a8 - react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06 - react-native-netinfo: f0a9899081c185db1de5bb2fdc1c88c202a059ac - react-native-nfc-manager: 5213321cf6c18d879c8092c0bf56806b771ec5ac - react-native-quick-crypto: 07fd0ba954a08d8c6b4cd1ff8b1fd91df2b650d6 - react-native-safe-area-context: 849d7df29ecb2a7155c769c0b76849ba952c2aa3 + React-jserrorhandler: 552c5fcd2ee64307c568734b965ea082e1be25cf + React-jsi: b187c826e5bda25afb36ede4c54c146cd50c9d6c + React-jsiexecutor: ac8478b6c5f53bcf411a66bf4461e923dafeb0bd + React-jsinspector: a82cfe0794b831d6e36cf0c8c07da56a0aaa1282 + React-jsitracing: e512a1023a25de831b51be1c773caa6036125a44 + React-logger: 80d87daf2f98bf95ab668b79062c1e0c3f0c2f8a + React-Mapbuffer: b2642edd9be75d51ead8cda109c986665eae09cf + React-microtasksnativemodule: 7ebf131e1792a668004d2719a36da0ff8d19c43c + react-native-biometrics: 43ed5b828646a7862dbc7945556446be00798e7d + react-native-cloud-storage: 74d1f1456d714e0fca6d10c7ab6fe9a52ba203b6 + react-native-get-random-values: d16467cf726c618e9c7a8c3c39c31faa2244bbba + react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187 + react-native-nfc-manager: a280ef94cd4871a471b052f0dc70381cf1223049 + react-native-quick-crypto: a7cc5f870f270488fee9047b56e481de85c32e33 + react-native-safe-area-context: 3e33e7c43c8b74dba436a5a32651cb8d7064c740 React-nativeconfig: 31072ab0146e643594f6959c7f970a04b6c9ddd0 - React-NativeModulesApple: 5df767d9a2197ac25f4d8dd2d4ae1af3624022e2 + React-NativeModulesApple: 4ffcab4cdf34002540799bffbedd6466e8023c3a React-perflogger: 59e1a3182dca2cee7b9f1f7aab204018d46d1914 - React-performancetimeline: 3d70a278cc3344def506e97aff3640e658656110 + React-performancetimeline: 2bf8625ff44f482cba84e48e4ab21dee405d68cd React-RCTActionSheet: d80e68d3baa163e4012a47c1f42ddd8bcd9672cc - React-RCTAnimation: bde981f6bd7f8493696564da9b3bd05721d3b3cc - React-RCTAppDelegate: bc9c02d6dd4d162e3e1850283aba81bd246fc688 - React-RCTBlob: e492d54533e61a81f2601494a6f393b3e15e33b9 - React-RCTFabric: 4556aa70bd55b48d793cfb87e80d687c164298e2 - React-RCTImage: 90448d2882464af6015ed57c98f463f8748be465 - React-RCTLinking: 1bd95d0a704c271d21d758e0f0388cced768d77d - React-RCTNetwork: 218af6e63eb9b47935cc5a775b7a1396cf10ff91 - React-RCTSettings: e10b8e42b0fce8a70fbf169de32a2ae03243ef6b - React-RCTText: e7bf9f4997a1a0b45c052d4ad9a0fe653061cf29 - React-RCTVibration: 5b70b7f11e48d1c57e0d4832c2097478adbabe93 + React-RCTAnimation: 051f0781709c5ed80ba8aa2b421dfb1d72a03162 + React-RCTAppDelegate: 99345256dcceddcacab539ff8f56635de6a2f551 + React-RCTBlob: e949797c162421e363f93bfd8b546b7e632ba847 + React-RCTFabric: 396093d9aeee4bd3a6021ec6df8ed012f78763ef + React-RCTImage: b73149c0cd54b641dba2d6250aaf168fee784d9f + React-RCTLinking: 23e519712285427e50372fbc6e0265d422abf462 + React-RCTNetwork: a5d06d122588031989115f293654b13353753630 + React-RCTSettings: 87d03b5d94e6eadd1e8c1d16a62f790751aafb55 + React-RCTText: 75e9dd39684f4bcd1836134ac2348efaca7437b3 + React-RCTVibration: 033c161fe875e6fa096d0d9733c2e2501682e3d4 React-rendererconsistency: 35cef4bc4724194c544b6e5e2bd9b3f7aff52082 - React-rendererdebug: 9b1a6a2d4f8086a438f75f28350ccba16b7b706a + React-rendererdebug: 4e801e9f8d16d21877565dca2845a2e56202b8c6 React-rncore: 2c7c94d6e92db0850549223eb2fa8272e0942ac2 - React-RuntimeApple: 22397aca29a0c9be681db02c68416e508a381ef1 - React-RuntimeCore: a6d413611876d8180a5943b80cba3cefdf95ad5f + React-RuntimeApple: 0f661760cfcfa5d9464f7e05506874643e88fc2d + React-RuntimeCore: 1d0fcc0eb13807818e79ccaf48915596f0f5f0e6 React-runtimeexecutor: ea90d8e3a9e0f4326939858dafc6ab17c031a5d3 - React-runtimescheduler: e041df0539ad8a8a370e3507c39a9ab0571bb848 - React-utils: 768a7eb396b7df37aa19389201652eac613490cd - ReactCodegen: c53f8a0fa088739ee9929820feec1508043c7e6c - ReactCommon: 03d2d48fcd1329fe3bc4e428a78a0181b68068c2 - RNCAsyncStorage: 03861ec2e1e46b20e51963c62c51dc288beb7c43 - RNCClipboard: 60fed4b71560d7bfe40e9d35dea9762b024da86d - RNDeviceInfo: feea80a690d2bde1fe51461cf548039258bd03f2 - RNGestureHandler: 5639cd6112a3aa3bebc3871e3bf4e83940e20f6f - RNGoogleSignin: ee2938633d996756819e3212c8e0f7f696b380d0 - RNKeychain: bfe3d12bf4620fe488771c414530bf16e88f3678 - RNLocalize: 06991b9c31e7a898a9fa6ddb204ce0f53a967248 - RNReactNativeHapticFeedback: cba92e59f56506f6058d261dc85986012b2c5032 - RNScreens: d2a8ff4833a42f4eeadaea244f0bd793301b8810 - RNSentry: 3d46e29e54f848539428ce45ae8da496ef117b65 - RNSVG: 669ed128ab9005090c612a0d627dbecb6ab5c76f - segment-analytics-react-native: d57ed4971cbb995706babf29215ebdbf242ecdab + React-runtimescheduler: 6b33edee8c830c7926670df4232d51f4f6a82795 + React-utils: 7198bd077f07ce8f9263c05bf610da6e251058ad + ReactCodegen: a2d336e0bec3d2f45475df55e7a02cc4e4c19623 + ReactCommon: b02a50498cb1071cd793044ddbd5d2b5f4db0a34 + RNCAsyncStorage: af7b591318005069c3795076addc83a4dd5c0a2e + RNCClipboard: 4abb037e8fe3b98a952564c9e0474f91c492df6d + RNDeviceInfo: d863506092aef7e7af3a1c350c913d867d795047 + RNGestureHandler: 9c3877d98d4584891b69d16ebca855ac46507f4d + RNGoogleSignin: b8760528f2a7cbe157ecfdcc13bdb7d2745c9389 + RNKeychain: bbe2f6d5cc008920324acb49ef86ccc03d3b38e4 + RNLocalize: 15463c4d79c7da45230064b4adcf5e9bb984667e + RNReactNativeHapticFeedback: e19b9b2e2ecf5593de8c4ef1496e1e31ae227514 + RNScreens: b7e8d29c6be98f478bc3fb4a97cc770aa9ba7509 + RNSentry: c462461c0a5aaba206265f1f3db01b237cd33239 + RNSVG: 46769c92d1609e617dbf9326ad8a0cff912d0982 + segment-analytics-react-native: 6f98edf18246782ee7428c5380c6519a3d2acf5e Sentry: 1ca8405451040482877dcd344dfa3ef80b646631 SentryPrivate: d651efb234cf385ec9a1cdd3eff94b5e78a0e0fe SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d - sovran-react-native: eec37f82e4429f0e3661f46aaf4fcd85d1b54f60 + sovran-react-native: a3ad3f8ff90c2002b2aa9790001a78b0b0a38594 SwiftQRScanner: e85a25f9b843e9231dab89a96e441472fe54a724 SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178 diff --git a/app/ios/Self.xcodeproj/project.pbxproj b/app/ios/Self.xcodeproj/project.pbxproj index 521ad6d0e..ade8b610c 100644 --- a/app/ios/Self.xcodeproj/project.pbxproj +++ b/app/ios/Self.xcodeproj/project.pbxproj @@ -481,7 +481,7 @@ CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassportDebug.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 114; + CURRENT_PROJECT_VERSION = 115; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; ENABLE_BITCODE = NO; @@ -619,7 +619,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassport.entitlements; - CURRENT_PROJECT_VERSION = 114; + CURRENT_PROJECT_VERSION = 115; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; FRAMEWORK_SEARCH_PATHS = ( diff --git a/app/package.json b/app/package.json index 2b3256a95..0710764e3 100644 --- a/app/package.json +++ b/app/package.json @@ -21,11 +21,11 @@ "fmt": "prettier --check .", "fmt:fix": "prettier --write .", "force-local-upload-deploy": "yarn force-local-upload-deploy:android && yarn force-local-upload-deploy:ios", - "force-local-upload-deploy:android": "yarn clean:android && FORCE_UPLOAD_LOCAL_DEV=true bundle exec fastlane android deploy --verbose", - "force-local-upload-deploy:ios": "yarn clean:ios && FORCE_UPLOAD_LOCAL_DEV=true bundle exec fastlane ios deploy --verbose", + "force-local-upload-deploy:android": "yarn reinstall && FORCE_UPLOAD_LOCAL_DEV=true bundle exec fastlane android deploy --verbose", + "force-local-upload-deploy:ios": "yarn reinstall && FORCE_UPLOAD_LOCAL_DEV=true bundle exec fastlane ios deploy --verbose", "force-local-upload-test": "yarn force-local-upload-test:android && yarn force-local-upload-test:ios", - "force-local-upload-test:android": "yarn clean:android && FORCE_UPLOAD_LOCAL_DEV=true bundle exec fastlane android internal_test --verbose", - "force-local-upload-test:ios": "yarn clean:ios && FORCE_UPLOAD_LOCAL_DEV=true bundle exec fastlane ios internal_test --verbose", + "force-local-upload-test:android": "yarn reinstall && FORCE_UPLOAD_LOCAL_DEV=true bundle exec fastlane android internal_test --verbose", + "force-local-upload-test:ios": "yarn reinstall && FORCE_UPLOAD_LOCAL_DEV=true bundle exec fastlane ios internal_test --verbose", "ia": "yarn install-app", "install-app": "yarn install-app:setup && cd ios && bundle exec pod install && cd .. && yarn clean:xcode-env-local", "install-app:deploy": "yarn install-app:setup && yarn clean:xcode-env-local", From ec6c2cae728d1faee7afa304699d87a2e425337e Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Tue, 29 Apr 2025 13:43:14 -0500 Subject: [PATCH 20/49] SEL-178: Improve haptic feedback library (#535) * fix dev settings typing * add dev screens file * save haptic feedback progress * change ordedr * fix initial route and add haptic feedback screen to dev settings options --- app/src/Navigation/dev.ts | 25 +++++ app/src/Navigation/index.tsx | 2 + app/src/Navigation/settings.ts | 10 -- .../screens/Settings/DevHapticFeedback.tsx | 61 ++++++++++ .../screens/Settings/DevSettingsScreen.tsx | 23 +++- app/src/utils/haptic.ts | 106 ++++++++++++++++-- 6 files changed, 200 insertions(+), 27 deletions(-) create mode 100644 app/src/Navigation/dev.ts create mode 100644 app/src/screens/Settings/DevHapticFeedback.tsx diff --git a/app/src/Navigation/dev.ts b/app/src/Navigation/dev.ts new file mode 100644 index 000000000..d2afce853 --- /dev/null +++ b/app/src/Navigation/dev.ts @@ -0,0 +1,25 @@ +import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; + +import DevHapticFeedbackScreen from '../screens/Settings/DevHapticFeedback'; +import DevSettingsScreen from '../screens/Settings/DevSettingsScreen'; +import { white } from '../utils/colors'; + +const settingsScreens = { + DevSettings: { + screen: DevSettingsScreen, + options: { + title: 'Developer Settings', + headerStyle: { + backgroundColor: white, + }, + } as NativeStackNavigationOptions, + }, + DevHapticFeedback: { + screen: DevHapticFeedbackScreen, + options: { + title: 'Haptic Feedback', + } as NativeStackNavigationOptions, + }, +}; + +export default settingsScreens; diff --git a/app/src/Navigation/index.tsx b/app/src/Navigation/index.tsx index 43c9f78bd..a02097bfa 100644 --- a/app/src/Navigation/index.tsx +++ b/app/src/Navigation/index.tsx @@ -16,6 +16,7 @@ import { white } from '../utils/colors'; import { setupUniversalLinkListenerInNavigation } from '../utils/deeplinks'; import accountScreens from './account'; import aesopScreens from './aesop'; +import devScreens from './dev'; import homeScreens from './home'; import passportScreens from './passport'; import proveScreens from './prove'; @@ -39,6 +40,7 @@ const AppNavigation = createNativeStackNavigator({ ...accountScreens, ...settingsScreens, ...recoveryScreens, + ...devScreens, ...aesopScreens, }, }); diff --git a/app/src/Navigation/settings.ts b/app/src/Navigation/settings.ts index 065e3ceaf..3ab53f938 100644 --- a/app/src/Navigation/settings.ts +++ b/app/src/Navigation/settings.ts @@ -1,7 +1,6 @@ import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import CloudBackupScreen from '../screens/Settings/CloudBackupScreen'; -import DevSettingsScreen from '../screens/Settings/DevSettingsScreen'; import PassportDataInfoScreen from '../screens/Settings/PassportDataInfoScreen'; import ShowRecoveryPhraseScreen from '../screens/Settings/ShowRecoveryPhraseScreen'; import SettingsScreen from '../screens/SettingsScreen'; @@ -43,15 +42,6 @@ const settingsScreens = { }, } as NativeStackNavigationOptions, }, - DevSettings: { - screen: DevSettingsScreen, - options: { - title: 'Developer Settings', - headerStyle: { - backgroundColor: white, - }, - } as NativeStackNavigationOptions, - }, CloudBackupSettings: { screen: CloudBackupScreen, options: { diff --git a/app/src/screens/Settings/DevHapticFeedback.tsx b/app/src/screens/Settings/DevHapticFeedback.tsx new file mode 100644 index 000000000..b7e43c240 --- /dev/null +++ b/app/src/screens/Settings/DevHapticFeedback.tsx @@ -0,0 +1,61 @@ +import React from 'react'; +import { StyleSheet } from 'react-native'; +import { Button, ScrollView, styled } from 'tamagui'; + +import { + feedbackProgress, + feedbackSuccess, + feedbackUnsuccessful, + impactLight, + impactMedium, + notificationError, + notificationSuccess, + notificationWarning, + selectionChange, +} from '../../utils/haptic'; + +const StyledButton = styled(Button, { + width: '75%', + marginHorizontal: 'auto', + padding: 10, + backgroundColor: '#007BFF', + borderRadius: 10, + marginVertical: 10, + color: '#fff', + fontSize: 16, + fontWeight: 'bold', +}); + +const DevHapticFeedback = () => { + return ( + + + Feedback Unsuccessful + + Feedback Success + Feedback Progress + + Notification Error + + + Notification Success + + + Notification Warning + + Impact Light + Impact Medium + Selection Change + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + paddingVertical: 50, + backgroundColor: '#fff', + }, +}); + +export default DevHapticFeedback; diff --git a/app/src/screens/Settings/DevSettingsScreen.tsx b/app/src/screens/Settings/DevSettingsScreen.tsx index 251507311..b69c5ff49 100644 --- a/app/src/screens/Settings/DevSettingsScreen.tsx +++ b/app/src/screens/Settings/DevSettingsScreen.tsx @@ -7,7 +7,7 @@ import { VenetianMask, } from '@tamagui/lucide-icons'; import React, { PropsWithChildren, useEffect, useState } from 'react'; -import { Platform, TextInput } from 'react-native'; +import { Platform, StyleProp, TextInput } from 'react-native'; import { Adapt, Button, @@ -31,9 +31,22 @@ import { } from '../../stores/passportDataProvider'; import { borderColor, textBlack } from '../../utils/colors'; -interface DevSettingsScreenProps {} +interface DevSettingsScreenProps extends PropsWithChildren { + color?: string; + width?: number; + justifyContent?: + | 'center' + | 'unset' + | 'flex-start' + | 'flex-end' + | 'space-between' + | 'space-around' + | 'space-evenly'; + userSelect?: 'all' | 'text' | 'none' | 'contain'; + style?: StyleProp; +} -function SelectableText({ children, ...props }: PropsWithChildren) { +function SelectableText({ children, ...props }: DevSettingsScreenProps) { if (Platform.OS === 'ios') { return ( @@ -51,6 +64,7 @@ function SelectableText({ children, ...props }: PropsWithChildren) { const items = [ 'DevSettings', + 'DevHapticFeedback', 'Splash', 'Launch', 'PassportOnboarding', @@ -80,8 +94,7 @@ const ScreenSelector = ({}) => { const navigation = useNavigation(); return ( diff --git a/app/src/screens/dev/MockDataScreenDeepLink.tsx b/app/src/screens/dev/MockDataScreenDeepLink.tsx new file mode 100644 index 000000000..d0fc21967 --- /dev/null +++ b/app/src/screens/dev/MockDataScreenDeepLink.tsx @@ -0,0 +1,170 @@ +import { useNavigation } from '@react-navigation/native'; +import { flag } from 'country-emoji'; +import getCountryISO2 from 'country-iso-3-to-2'; +import React, { useCallback, useEffect, useState } from 'react'; +import { ActivityIndicator, View } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; +import { ScrollView, Text, XStack, YStack } from 'tamagui'; + +import { countryCodes } from '../../../../common/src/constants/constants'; +import { + genMockIdDoc, + IdDocInput, +} from '../../../../common/src/utils/passports/genMockIdDoc'; +import { PrimaryButton } from '../../components/buttons/PrimaryButton'; +import ButtonsContainer from '../../components/ButtonsContainer'; +import { BodyText } from '../../components/typography/BodyText'; +import Description from '../../components/typography/Description'; +import { Title } from '../../components/typography/Title'; +import { storePassportData } from '../../stores/passportDataProvider'; +import useUserStore from '../../stores/userStore'; +import { black, borderColor, white } from '../../utils/colors'; + +const MockDataScreenDeepLink: React.FC = () => { + const navigation = useNavigation(); + + const [selectedCountry, setSelectedCountry] = useState('USA'); + + const { + deepLinkName, + deepLinkSurname, + deepLinkNationality, + deepLinkBirthDate, + } = useUserStore(state => ({ + deepLinkName: state.deepLinkName, + deepLinkSurname: state.deepLinkSurname, + deepLinkNationality: state.deepLinkNationality, + deepLinkBirthDate: state.deepLinkBirthDate, + })); + + useEffect(() => { + if (deepLinkNationality) { + setSelectedCountry(deepLinkNationality); + } + }, [deepLinkNationality]); + + useEffect(() => { + if ( + deepLinkName && + deepLinkSurname && + deepLinkNationality && + deepLinkBirthDate + ) { + setTimeout(() => { + handleGenerate(); + }, 0); + } + }, [deepLinkName, deepLinkSurname, deepLinkNationality, deepLinkBirthDate]); + + const handleGenerate = useCallback(async () => { + const storeState = useUserStore.getState(); + const idDocInput: Partial = { + idType: 'mock_passport', + firstName: storeState.deepLinkName, + lastName: storeState.deepLinkSurname, + birthDate: storeState.deepLinkBirthDate, + }; + const passportData = genMockIdDoc(idDocInput); + await storePassportData(passportData); + navigation.navigate('ConfirmBelongingScreen', { + mockPassportFlow: true, + }); + useUserStore.getState().clearDeepLinkUserDetails(); + }, [navigation]); + + const { top, bottom } = useSafeAreaInsets(); + return ( + + + + + Onboard your Developer ID + + + Name + + {deepLinkName} + + + + Surname + + {deepLinkSurname} + + + + Birth Date (YYMMDD) + + {deepLinkBirthDate} + + + + + Nationality + + + {countryCodes[ + selectedCountry.toUpperCase() as keyof typeof countryCodes + ] || selectedCountry}{' '} + {getCountryISO2(selectedCountry) + ? flag(getCountryISO2(selectedCountry)) + : ''} + + + + + + + + + + + + + Onboarding your Developer ID + + + + + + + ); +}; + +export default MockDataScreenDeepLink; diff --git a/app/src/stores/proofHistoryStore.ts b/app/src/stores/proofHistoryStore.ts index 42d242fbb..4543b106b 100644 --- a/app/src/stores/proofHistoryStore.ts +++ b/app/src/stores/proofHistoryStore.ts @@ -236,9 +236,9 @@ export const useProofHistoryStore = create()((set, get) => { const [results] = await db.executeSql( `WITH data AS ( - SELECT *, COUNT(*) OVER() as total_count - FROM ${TABLE_NAME} - ORDER BY timestamp DESC + SELECT *, COUNT(*) OVER() as total_count + FROM ${TABLE_NAME} + ORDER BY timestamp DESC LIMIT ? OFFSET ? ) SELECT * FROM data`, diff --git a/app/src/stores/userStore.ts b/app/src/stores/userStore.ts index e77a1b652..082920c4a 100644 --- a/app/src/stores/userStore.ts +++ b/app/src/stores/userStore.ts @@ -5,20 +5,32 @@ interface UserState { passportNumber: string; dateOfBirth: string; dateOfExpiry: string; - update: (patch: any) => void; + deepLinkName?: string; + deepLinkSurname?: string; + deepLinkNationality?: string; + deepLinkBirthDate?: string; + update: (patch: Partial) => void; deleteMrzFields: () => void; + setDeepLinkUserDetails: (details: { + name?: string; + surname?: string; + nationality?: string; + birthDate?: string; + }) => void; + clearDeepLinkUserDetails: () => void; } -const useUserStore = create((set, get) => ({ +const useUserStore = create((set, _get) => ({ passportNumber: DEFAULT_PNUMBER ?? '', dateOfBirth: DEFAULT_DOB ?? '', dateOfExpiry: DEFAULT_DOE ?? '', + deepLinkName: undefined, + deepLinkSurname: undefined, + deepLinkNationality: undefined, + deepLinkBirthDate: undefined, update: patch => { - set({ - ...get(), - ...patch, - }); + set(state => ({ ...state, ...patch })); }, deleteMrzFields: () => @@ -27,6 +39,22 @@ const useUserStore = create((set, get) => ({ dateOfBirth: '', dateOfExpiry: '', }), + + setDeepLinkUserDetails: details => + set({ + deepLinkName: details.name, + deepLinkSurname: details.surname, + deepLinkNationality: details.nationality, + deepLinkBirthDate: details.birthDate, + }), + + clearDeepLinkUserDetails: () => + set({ + deepLinkName: undefined, + deepLinkSurname: undefined, + deepLinkNationality: undefined, + deepLinkBirthDate: undefined, + }), })); export default useUserStore; diff --git a/app/src/utils/deeplinks.ts b/app/src/utils/deeplinks.ts index 98f0093f9..be7e20af1 100644 --- a/app/src/utils/deeplinks.ts +++ b/app/src/utils/deeplinks.ts @@ -3,6 +3,7 @@ import { Linking } from 'react-native'; import { navigationRef } from '../navigation'; import { useSelfAppStore } from '../stores/selfAppStore'; +import useUserStore from '../stores/userStore'; /** * Decodes a URL-encoded string. @@ -23,6 +24,7 @@ const handleUrl = (uri: string) => { const encodedData = queryString.parseUrl(decodedUri).query; const sessionId = encodedData.sessionId; const selfAppStr = encodedData.selfApp as string | undefined; + const mock_passport = encodedData.mock_passport as string | undefined; if (selfAppStr) { try { @@ -41,6 +43,29 @@ const handleUrl = (uri: string) => { useSelfAppStore.getState().cleanSelfApp(); useSelfAppStore.getState().startAppListener(sessionId); navigationRef.navigate('ProveScreen'); + } else if (mock_passport) { + try { + const data = JSON.parse(mock_passport); + type MockDataDeepLinkRawParams = { + name?: string; + surname?: string; + nationality?: string; + birth_date?: string; + }; + const rawParams = data as MockDataDeepLinkRawParams; + + useUserStore.getState().setDeepLinkUserDetails({ + name: rawParams.name, + surname: rawParams.surname, + nationality: rawParams.nationality, + birthDate: rawParams.birth_date, + }); + + navigationRef.navigate('MockDataDeepLink'); + } catch (error) { + console.error('Error parsing mock_passport data or navigating:', error); + navigationRef.navigate('QRCodeTrouble'); + } } else { console.error('No sessionId or selfApp found in the data'); navigationRef.navigate('QRCodeTrouble'); diff --git a/common/src/constants/constants.ts b/common/src/constants/constants.ts index 884168ffd..a2c861e97 100644 --- a/common/src/constants/constants.ts +++ b/common/src/constants/constants.ts @@ -31,6 +31,7 @@ export const DEVELOPMENT_MODE = true; export const DEFAULT_MAJORITY = '18'; export const hashAlgos = ['sha512', 'sha384', 'sha256', 'sha224', 'sha1']; +export type hashAlgosTypes = 'sha512' | 'sha384' | 'sha256' | 'sha224' | 'sha1'; export const saltLengths = [64, 48, 32]; /** @@ -223,6 +224,17 @@ export const attributeToPosition = { older_than: [88, 89], ofac: [90, 90], }; +export const attributeToPosition_ID = { + issuing_state: [2, 4], + name: [60, 89], + passport_number: [5, 13], + nationality: [45, 47], + date_of_birth: [30, 35], + gender: [37, 37], + expiry_date: [38, 43], + older_than: [90, 91], + ofac: [92, 92], +}; export const circuitToSelectorMode = { register: [0, 0], diff --git a/common/src/utils/passports/dg1.ts b/common/src/utils/passports/dg1.ts new file mode 100644 index 000000000..b007e280b --- /dev/null +++ b/common/src/utils/passports/dg1.ts @@ -0,0 +1,91 @@ +import { formatName } from "./format"; +import { formatDG1Attribute } from "./format"; +import { IdDocInput } from "./genMockIdDoc"; + + +export function genDG1(idDocInput: IdDocInput) { + switch (idDocInput.idType) { + case 'mock_passport': + return genDG1Passport(idDocInput); + case 'mock_id_card': + return genDG1IdCard(idDocInput); + } +} + + +function genDG1IdCard(idDocInput: IdDocInput) { + const doc_type_index = [0, 1]; + const issuing_state_index = [2, 4]; + const document_number_index = [5, 13]; + const document_number_check_digit_index = [14, 14]; + const optional_data_index = [15, 29]; + const date_of_birth_index = [30, 35]; + const date_of_birth_check_digit_index = [36, 36]; + const sex_index = [37, 37]; + const expiration_date_index = [38, 43]; + const expiration_date_check_digit_index = [44, 44]; + const nationality_index = [45, 47]; + const optional_data_2_index = [48, 58]; + const overall_check_digit_index = [59, 59]; + const name_index = [60, 89]; + + const doc_type = formatDG1Attribute(doc_type_index, 'I'); + const issuing_state = formatDG1Attribute(issuing_state_index, idDocInput.nationality); + const document_number = formatDG1Attribute(document_number_index, idDocInput.passportNumber); + const document_number_check_digit = formatDG1Attribute(document_number_check_digit_index, '0'); + const optional_data = formatDG1Attribute(optional_data_index, ''); + const date_of_birth = formatDG1Attribute(date_of_birth_index, idDocInput.birthDate); + const date_of_birth_check_digit = formatDG1Attribute(date_of_birth_check_digit_index, '0'); + const sex = formatDG1Attribute(sex_index, idDocInput.sex); + const expiration_date = formatDG1Attribute(expiration_date_index, idDocInput.expiryDate); + const expiration_date_check_digit = formatDG1Attribute(expiration_date_check_digit_index, '0'); + const nationality = formatDG1Attribute(nationality_index, idDocInput.nationality); + const optional_data_2 = formatDG1Attribute(optional_data_2_index, ''); + const overall_check_digit = formatDG1Attribute(overall_check_digit_index, '1'); + const name = formatDG1Attribute(name_index, formatName(idDocInput.firstName, idDocInput.lastName)); + + const dg1 = `${doc_type}${issuing_state}${document_number}${document_number_check_digit}${optional_data}${date_of_birth}${date_of_birth_check_digit}${sex}${expiration_date}${expiration_date_check_digit}${nationality}${optional_data_2}${overall_check_digit}${name}`; + if (dg1.length !== 90) { + throw new Error(`DG1 length is not 90: ${dg1.length}`); + } + return dg1; +} + +function genDG1Passport(idDocInput: IdDocInput) { + const doc_type_index = [0, 1]; + const issuing_state_index = [2, 4]; + const name_index = [5, 43]; + const document_number_index = [44, 52]; + const document_number_check_digit_index = [53, 53]; + const nationality_index = [54, 56]; + const date_of_birth_index = [57, 62]; + const date_of_birth_check_digit_index = [63, 63]; + const sex_index = [64, 64]; + const expiration_date_index = [65, 70]; + const expiration_date_check_digit_index = [71, 71]; + const optional_data_index = [72, 85]; + const optional_data_check_digit_index = [86, 86]; + const overall_check_digit_index = [87, 87]; + + const doc_type = formatDG1Attribute(doc_type_index, 'P'); + const issuing_state = formatDG1Attribute(issuing_state_index, idDocInput.nationality); + const name = formatDG1Attribute(name_index, formatName(idDocInput.firstName, idDocInput.lastName)); + const document_number = formatDG1Attribute(document_number_index, idDocInput.passportNumber); + const document_number_check_digit = formatDG1Attribute(document_number_check_digit_index, '4'); + const nationality = formatDG1Attribute(nationality_index, idDocInput.nationality); + const date_of_birth = formatDG1Attribute(date_of_birth_index, idDocInput.birthDate); + const date_of_birth_check_digit = formatDG1Attribute(date_of_birth_check_digit_index, '1'); + const sex = formatDG1Attribute(sex_index, idDocInput.sex); + const expiration_date = formatDG1Attribute(expiration_date_index, idDocInput.expiryDate); + const expiration_date_check_digit = formatDG1Attribute(expiration_date_check_digit_index, '5'); + const optional_data = formatDG1Attribute(optional_data_index, ''); + const optional_data_check_digit = formatDG1Attribute(optional_data_check_digit_index, '<'); + const overall_check_digit = formatDG1Attribute(overall_check_digit_index, '2'); + + const dg1 = `${doc_type}${issuing_state}${name}${document_number}${document_number_check_digit}${nationality}${date_of_birth}${date_of_birth_check_digit}${sex}${expiration_date}${expiration_date_check_digit}${optional_data}${optional_data_check_digit}${overall_check_digit}`; + if (dg1.length !== 88) { + throw new Error(`DG1 length is not 88: ${dg1.length}`); + } + return dg1; + +} \ No newline at end of file diff --git a/common/src/utils/passports/format.ts b/common/src/utils/passports/format.ts index a6a9c95a9..e3adcc83a 100644 --- a/common/src/utils/passports/format.ts +++ b/common/src/utils/passports/format.ts @@ -126,3 +126,15 @@ export function formatDg2Hash(dg2Hash: number[]) { return unsignedBytesDg2Hash; } + +export function formatDG1Attribute(index: number[], value: string) { + const max_length = index[1] - index[0] + 1; + if (value.length > max_length) { + throw new Error(`Value is too long for index ${index[0]}-${index[1]}`); + } + return value.padEnd(max_length, '<'); +} + +export function formatName(firstName: string, lastName: string) { + return `${lastName.toUpperCase()}<<${firstName.toUpperCase()}`; +} \ No newline at end of file diff --git a/common/src/utils/passports/genMockIdDoc.ts b/common/src/utils/passports/genMockIdDoc.ts new file mode 100644 index 000000000..abb4f4d2e --- /dev/null +++ b/common/src/utils/passports/genMockIdDoc.ts @@ -0,0 +1,144 @@ +// generate a mock id document + +import { DocumentType, SignatureAlgorithm } from "../types"; +import { hashAlgosTypes } from "../../constants/constants"; +import { countries } from "../../constants/countries"; +import { genDG1 } from "./dg1"; +import { getHashLen, hash } from "../hash"; +import { formatAndConcatenateDataHashes, formatMrz, generateSignedAttr } from "./format"; +import forge from "node-forge"; +import elliptic from "elliptic"; +import getMockDSC from "./getMockDSC"; +import { PublicKeyDetailsRSAPSS } from "../certificate_parsing/dataStructure"; +import { PublicKeyDetailsECDSA } from "../certificate_parsing/dataStructure"; +import { parseCertificateSimple } from "../certificate_parsing/parseCertificateSimple"; +import { getCurveForElliptic } from "../certificate_parsing/curves"; +import * as asn1 from 'asn1js'; +import { initPassportDataParsing } from "./passport"; + + +export interface IdDocInput { + idType: 'mock_passport' | 'mock_id_card'; + dgHashAlgo?: hashAlgosTypes; + eContentHashAlgo?: hashAlgosTypes; + signatureType?: SignatureAlgorithm; + nationality?: typeof countries[keyof typeof countries]; + birthDate?: string; + expiryDate?: string; + passportNumber?: string; + lastName?: string; + firstName?: string; + sex?: 'M' | 'F'; +} + +const defaultIdDocInput: IdDocInput = { + idType: 'mock_passport', + dgHashAlgo: 'sha256', + eContentHashAlgo: 'sha256', + signatureType: 'rsa_sha256_65537_2048', + nationality: countries.UNITED_STATES, + birthDate: '900101', + expiryDate: '300101', + passportNumber: '123456789', + lastName: 'DOE', + firstName: 'JOHN', + sex: 'M', +} + +export function genMockIdDoc(userInput: Partial = {}) { + const mergedInput: IdDocInput = { + ...defaultIdDocInput, + ...userInput + }; + const { privateKeyPem, dsc } = getMockDSC(mergedInput.signatureType); + + const dg1 = genDG1(mergedInput); + const dg1_hash = hash(mergedInput.dgHashAlgo, formatMrz(dg1)); + const dataGroupHashes = generateDataGroupHashes(dg1_hash as number[], getHashLen(mergedInput.dgHashAlgo)); + const eContent = formatAndConcatenateDataHashes(dataGroupHashes, 63); + const eContentHash = hash(mergedInput.eContentHashAlgo, eContent); + const signedAttr = generateSignedAttr(eContentHash as number[]); + const hashAlgo = mergedInput.signatureType.split('_')[1]; + const signature = sign(privateKeyPem, dsc, hashAlgo, signedAttr); + const signatureBytes = Array.from(signature, (byte) => (byte < 128 ? byte : byte - 256)); + return initPassportDataParsing({ + dsc: dsc, + mrz: dg1, + dg2Hash: dataGroupHashes.find(([dgNum]) => dgNum === 2)?.[1] || [], + eContent: eContent, + signedAttr: signedAttr, + encryptedDigest: signatureBytes, + documentType: mergedInput.idType as DocumentType + }); +} + + +function generateRandomBytes(length: number): number[] { + // Generate numbers between -128 and 127 to match the existing signed byte format + return Array.from({ length }, () => Math.floor(Math.random() * 256) - 128); +} + +function generateDataGroupHashes(mrzHash: number[], hashLen: number): [number, number[]][] { + // Generate hashes for DGs 2-15 (excluding some DGs that aren't typically used) + const dataGroups: [number, number[]][] = [ + [1, mrzHash], // DG1 must be the MRZ hash + [2, generateRandomBytes(hashLen)], + [3, generateRandomBytes(hashLen)], + [4, generateRandomBytes(hashLen)], + [5, generateRandomBytes(hashLen)], + [7, generateRandomBytes(hashLen)], + [8, generateRandomBytes(hashLen)], + // [11, generateRandomBytes(hashLen)], + // [12, generateRandomBytes(hashLen)], + // [14, generateRandomBytes(hashLen)], + [15, generateRandomBytes(hashLen)], + ]; + + return dataGroups; +} +function sign( + privateKeyPem: string, + dsc: string, + hashAlgorithm: string, + eContent: number[] +): number[] { + const { signatureAlgorithm, publicKeyDetails } = parseCertificateSimple(dsc); + + if (signatureAlgorithm === 'rsapss') { + const privateKey = forge.pki.privateKeyFromPem(privateKeyPem); + const md = forge.md[hashAlgorithm].create(); + md.update(forge.util.binary.raw.encode(new Uint8Array(eContent))); + const pss = forge.pss.create({ + md: forge.md[hashAlgorithm].create(), + mgf: forge.mgf.mgf1.create(forge.md[hashAlgorithm].create()), + saltLength: parseInt((publicKeyDetails as PublicKeyDetailsRSAPSS).saltLength), + }); + const signatureBytes = privateKey.sign(md, pss); + return Array.from(signatureBytes, (c: string) => c.charCodeAt(0)); + } else if (signatureAlgorithm === 'ecdsa') { + const curve = (publicKeyDetails as PublicKeyDetailsECDSA).curve; + let curveForElliptic = getCurveForElliptic(curve); + const ec = new elliptic.ec(curveForElliptic); + + const privateKeyDer = Buffer.from( + privateKeyPem.replace(/-----BEGIN EC PRIVATE KEY-----|\n|-----END EC PRIVATE KEY-----/g, ''), + 'base64' + ); + const asn1Data = asn1.fromBER(privateKeyDer); + const privateKeyBuffer = (asn1Data.result.valueBlock as any).value[1].valueBlock.valueHexView; + + const keyPair = ec.keyFromPrivate(privateKeyBuffer); + const msgHash = hash(hashAlgorithm, eContent, 'hex'); + + const signature = keyPair.sign(msgHash, 'hex'); + const signatureBytes = Array.from(Buffer.from(signature.toDER(), 'hex')); + + return signatureBytes; + } else { + const privKey = forge.pki.privateKeyFromPem(privateKeyPem); + const md = forge.md[hashAlgorithm].create(); + md.update(forge.util.binary.raw.encode(new Uint8Array(eContent))); + const forgeSignature = privKey.sign(md); + return Array.from(forgeSignature, (c: string) => c.charCodeAt(0)); + } +} \ No newline at end of file diff --git a/common/src/utils/passports/genMockPassportData.ts b/common/src/utils/passports/genMockPassportData.ts index 635b1c617..1d696c429 100644 --- a/common/src/utils/passports/genMockPassportData.ts +++ b/common/src/utils/passports/genMockPassportData.ts @@ -2,7 +2,6 @@ import * as asn1 from 'asn1js'; import elliptic from 'elliptic'; import * as forge from 'node-forge'; import { countryCodes } from '../../constants/constants'; -import * as mockCertificates from '../../constants/mockCertificates'; import { getCurveForElliptic } from '../certificate_parsing/curves'; import { PublicKeyDetailsECDSA, @@ -13,6 +12,7 @@ import { getHashLen, hash } from '../hash'; import { PassportData, SignatureAlgorithm } from '../types'; import { formatAndConcatenateDataHashes, formatMrz, generateSignedAttr } from './format'; import { initPassportDataParsing } from './passport'; +import getMockDSC from './getMockDSC'; function generateRandomBytes(length: number): number[] { // Generate numbers between -128 and 127 to match the existing signed byte format @@ -88,167 +88,7 @@ export function genMockPassportData( throw new Error(`MRZ must be 88 characters long, got ${mrz.length}`); } - let privateKeyPem: string; - let dsc: string; - - switch (signatureType) { - case 'rsa_sha1_65537_2048': - privateKeyPem = mockCertificates.mock_dsc_sha1_rsa_65537_2048_key; - dsc = mockCertificates.mock_dsc_sha1_rsa_65537_2048; - break; - case 'rsa_sha1_65537_4096': - privateKeyPem = mockCertificates.mock_dsc_sha1_rsa_65537_4096_key; - dsc = mockCertificates.mock_dsc_sha1_rsa_65537_4096; - break; - case 'rsa_sha256_65537_2048': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_65537_2048_key; - dsc = mockCertificates.mock_dsc_sha256_rsa_65537_2048; - break; - case 'rsapss_sha256_65537_2048': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_65537_2048_key; - dsc = mockCertificates.mock_dsc_sha256_rsapss_32_65537_2048; - break; - case 'rsapss_sha256_65537_2048_64': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_64_65537_2048_key; - dsc = mockCertificates.mock_dsc_sha256_rsapss_64_65537_2048; - break; - case 'rsapss_sha256_3_2048': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_3_2048_key; - dsc = mockCertificates.mock_dsc_sha256_rsapss_32_3_2048; - break; - case 'rsapss_sha256_3_3072': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_3_3072_key; - dsc = mockCertificates.mock_dsc_sha256_rsapss_32_3_3072; - break; - case 'rsapss_sha384_65537_3072': - privateKeyPem = mockCertificates.mock_dsc_sha384_rsapss_48_65537_3072_key; - dsc = mockCertificates.mock_dsc_sha384_rsapss_48_65537_3072; - break; - case 'rsapss_sha384_65537_2048': - privateKeyPem = mockCertificates.mock_dsc_sha384_rsapss_48_65537_2048_key; - dsc = mockCertificates.mock_dsc_sha384_rsapss_48_65537_2048; - break; - case 'ecdsa_sha256_secp256r1_256': - privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_secp256r1_key; - dsc = mockCertificates.mock_dsc_sha256_ecdsa_secp256r1; - break; - case 'ecdsa_sha1_secp256r1_256': - privateKeyPem = mockCertificates.mock_dsc_sha1_ecdsa_secp256r1_key; - dsc = mockCertificates.mock_dsc_sha1_ecdsa_secp256r1; - break; - case 'ecdsa_sha384_secp384r1_384': - privateKeyPem = mockCertificates.mock_dsc_sha384_ecdsa_secp384r1_key; - dsc = mockCertificates.mock_dsc_sha384_ecdsa_secp384r1; - break; - case 'ecdsa_sha256_secp384r1_384': - privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_secp384r1_key; - dsc = mockCertificates.mock_dsc_sha256_ecdsa_secp384r1; - break; - case 'ecdsa_sha1_brainpoolP256r1_256': - privateKeyPem = mockCertificates.mock_dsc_sha1_ecdsa_brainpoolP256r1_key; - dsc = mockCertificates.mock_dsc_sha1_ecdsa_brainpoolP256r1; - break; - case 'ecdsa_sha256_brainpoolP256r1_256': - privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP256r1_key; - dsc = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP256r1; - break; - case 'ecdsa_sha384_brainpoolP256r1_256': - privateKeyPem = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP256r1_key; - dsc = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP256r1; - break; - case 'ecdsa_sha512_brainpoolP256r1_256': - privateKeyPem = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP256r1_key; - dsc = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP256r1; - break; - case 'rsa_sha256_3_2048': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_3_2048_key; - dsc = mockCertificates.mock_dsc_sha256_rsa_3_2048; - break; - case 'rsa_sha256_65537_3072': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_65537_3072_key; - dsc = mockCertificates.mock_dsc_sha256_rsa_65537_3072; - break; - case 'rsapss_sha256_65537_3072': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_65537_3072_key; - dsc = mockCertificates.mock_dsc_sha256_rsapss_32_65537_3072; - break; - case 'rsapss_sha256_65537_4096': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_65537_4096_key; - dsc = mockCertificates.mock_dsc_sha256_rsapss_32_65537_4096; - break; - case 'ecdsa_sha256_brainpoolP384r1_384': - privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP384r1_key; - dsc = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP384r1; - break; - case 'ecdsa_sha384_brainpoolP384r1_384': - privateKeyPem = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP384r1_key; - dsc = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP384r1; - break; - case 'ecdsa_sha512_brainpoolP384r1_384': - privateKeyPem = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP384r1_key; - dsc = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP384r1; - break; - case 'ecdsa_sha1_brainpoolP224r1_224': - privateKeyPem = mockCertificates.mock_dsc_sha1_ecdsa_brainpoolP224r1_key; - dsc = mockCertificates.mock_dsc_sha1_ecdsa_brainpoolP224r1; - break; - case 'ecdsa_sha224_brainpoolP224r1_224': - privateKeyPem = mockCertificates.mock_dsc_sha224_ecdsa_brainpoolP224r1_key; - dsc = mockCertificates.mock_dsc_sha224_ecdsa_brainpoolP224r1; - break; - case 'ecdsa_sha256_brainpoolP224r1_224': - privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP224r1_key; - dsc = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP224r1; - break; - case 'ecdsa_sha384_brainpoolP512r1_512': - privateKeyPem = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP512r1_key; - dsc = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP512r1; - break; - case 'ecdsa_sha512_brainpoolP512r1_512': - privateKeyPem = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP512r1_key; - dsc = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP512r1; - break; - case 'ecdsa_sha512_secp521r1_521': - privateKeyPem = mockCertificates.mock_dsc_sha512_ecdsa_secp521r1_key; - dsc = mockCertificates.mock_dsc_sha512_ecdsa_secp521r1; - break; - case 'ecdsa_sha256_secp521r1_521': - privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_secp521r1_key; - dsc = mockCertificates.mock_dsc_sha256_ecdsa_secp521r1; - break; - case 'rsa_sha256_65537_4096': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_65537_4096_key; - dsc = mockCertificates.mock_dsc_sha256_rsa_65537_4096; - break; - case 'rsa_sha512_65537_4096': - privateKeyPem = mockCertificates.mock_dsc_sha512_rsa_65537_4096_key; - dsc = mockCertificates.mock_dsc_sha512_rsa_65537_4096; - break; - case 'rsa_sha512_65537_2048': - privateKeyPem = mockCertificates.mock_dsc_sha512_rsa_65537_2048_key; - dsc = mockCertificates.mock_dsc_sha512_rsa_65537_2048; - break; - case 'rsa_sha256_3_4096': - privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_3_4096_key; - dsc = mockCertificates.mock_dsc_sha256_rsa_3_4096; - break; - case 'rsa_sha384_65537_4096': - privateKeyPem = mockCertificates.mock_dsc_sha384_rsa_65537_4096_key; - dsc = mockCertificates.mock_dsc_sha384_rsa_65537_4096; - break; - case 'rsapss_sha512_65537_4096': - privateKeyPem = mockCertificates.mock_dsc_sha512_rsapss_64_65537_4096_key; - dsc = mockCertificates.mock_dsc_sha512_rsapss_64_65537_4096; - break; - case 'rsapss_sha512_65537_2048': - privateKeyPem = mockCertificates.mock_dsc_sha512_rsapss_64_65537_2048_key; - dsc = mockCertificates.mock_dsc_sha512_rsapss_64_65537_2048; - break; - case 'ecdsa_sha224_secp224r1_224': - privateKeyPem = mockCertificates.mock_dsc_sha224_ecdsa_secp224r1_key; - dsc = mockCertificates.mock_dsc_sha224_ecdsa_secp224r1; - break; - } + const { privateKeyPem, dsc } = getMockDSC(signatureType); // Generate MRZ hash first const mrzHash = hash(dgHashAlgo, formatMrz(mrz)); diff --git a/common/src/utils/passports/getMockDSC.ts b/common/src/utils/passports/getMockDSC.ts new file mode 100644 index 000000000..b01aec25c --- /dev/null +++ b/common/src/utils/passports/getMockDSC.ts @@ -0,0 +1,171 @@ +import * as mockCertificates from '../../constants/mockCertificates'; +import { SignatureAlgorithm } from '../types'; + + +function getMockDSC(signatureType: SignatureAlgorithm) { + let privateKeyPem: string; + let dsc: string; + switch (signatureType) { + case 'rsa_sha1_65537_2048': + privateKeyPem = mockCertificates.mock_dsc_sha1_rsa_65537_2048_key; + dsc = mockCertificates.mock_dsc_sha1_rsa_65537_2048; + break; + case 'rsa_sha1_65537_4096': + privateKeyPem = mockCertificates.mock_dsc_sha1_rsa_65537_4096_key; + dsc = mockCertificates.mock_dsc_sha1_rsa_65537_4096; + break; + case 'rsa_sha256_65537_2048': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_65537_2048_key; + dsc = mockCertificates.mock_dsc_sha256_rsa_65537_2048; + break; + case 'rsapss_sha256_65537_2048': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_65537_2048_key; + dsc = mockCertificates.mock_dsc_sha256_rsapss_32_65537_2048; + break; + case 'rsapss_sha256_65537_2048_64': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_64_65537_2048_key; + dsc = mockCertificates.mock_dsc_sha256_rsapss_64_65537_2048; + break; + case 'rsapss_sha256_3_2048': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_3_2048_key; + dsc = mockCertificates.mock_dsc_sha256_rsapss_32_3_2048; + break; + case 'rsapss_sha256_3_3072': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_3_3072_key; + dsc = mockCertificates.mock_dsc_sha256_rsapss_32_3_3072; + break; + case 'rsapss_sha384_65537_3072': + privateKeyPem = mockCertificates.mock_dsc_sha384_rsapss_48_65537_3072_key; + dsc = mockCertificates.mock_dsc_sha384_rsapss_48_65537_3072; + break; + case 'rsapss_sha384_65537_2048': + privateKeyPem = mockCertificates.mock_dsc_sha384_rsapss_48_65537_2048_key; + dsc = mockCertificates.mock_dsc_sha384_rsapss_48_65537_2048; + break; + case 'ecdsa_sha256_secp256r1_256': + privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_secp256r1_key; + dsc = mockCertificates.mock_dsc_sha256_ecdsa_secp256r1; + break; + case 'ecdsa_sha1_secp256r1_256': + privateKeyPem = mockCertificates.mock_dsc_sha1_ecdsa_secp256r1_key; + dsc = mockCertificates.mock_dsc_sha1_ecdsa_secp256r1; + break; + case 'ecdsa_sha384_secp384r1_384': + privateKeyPem = mockCertificates.mock_dsc_sha384_ecdsa_secp384r1_key; + dsc = mockCertificates.mock_dsc_sha384_ecdsa_secp384r1; + break; + case 'ecdsa_sha256_secp384r1_384': + privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_secp384r1_key; + dsc = mockCertificates.mock_dsc_sha256_ecdsa_secp384r1; + break; + case 'ecdsa_sha1_brainpoolP256r1_256': + privateKeyPem = mockCertificates.mock_dsc_sha1_ecdsa_brainpoolP256r1_key; + dsc = mockCertificates.mock_dsc_sha1_ecdsa_brainpoolP256r1; + break; + case 'ecdsa_sha256_brainpoolP256r1_256': + privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP256r1_key; + dsc = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP256r1; + break; + case 'ecdsa_sha384_brainpoolP256r1_256': + privateKeyPem = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP256r1_key; + dsc = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP256r1; + break; + case 'ecdsa_sha512_brainpoolP256r1_256': + privateKeyPem = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP256r1_key; + dsc = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP256r1; + break; + case 'rsa_sha256_3_2048': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_3_2048_key; + dsc = mockCertificates.mock_dsc_sha256_rsa_3_2048; + break; + case 'rsa_sha256_65537_3072': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_65537_3072_key; + dsc = mockCertificates.mock_dsc_sha256_rsa_65537_3072; + break; + case 'rsapss_sha256_65537_3072': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_65537_3072_key; + dsc = mockCertificates.mock_dsc_sha256_rsapss_32_65537_3072; + break; + case 'rsapss_sha256_65537_4096': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsapss_32_65537_4096_key; + dsc = mockCertificates.mock_dsc_sha256_rsapss_32_65537_4096; + break; + case 'ecdsa_sha256_brainpoolP384r1_384': + privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP384r1_key; + dsc = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP384r1; + break; + case 'ecdsa_sha384_brainpoolP384r1_384': + privateKeyPem = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP384r1_key; + dsc = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP384r1; + break; + case 'ecdsa_sha512_brainpoolP384r1_384': + privateKeyPem = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP384r1_key; + dsc = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP384r1; + break; + case 'ecdsa_sha1_brainpoolP224r1_224': + privateKeyPem = mockCertificates.mock_dsc_sha1_ecdsa_brainpoolP224r1_key; + dsc = mockCertificates.mock_dsc_sha1_ecdsa_brainpoolP224r1; + break; + case 'ecdsa_sha224_brainpoolP224r1_224': + privateKeyPem = mockCertificates.mock_dsc_sha224_ecdsa_brainpoolP224r1_key; + dsc = mockCertificates.mock_dsc_sha224_ecdsa_brainpoolP224r1; + break; + case 'ecdsa_sha256_brainpoolP224r1_224': + privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP224r1_key; + dsc = mockCertificates.mock_dsc_sha256_ecdsa_brainpoolP224r1; + break; + case 'ecdsa_sha384_brainpoolP512r1_512': + privateKeyPem = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP512r1_key; + dsc = mockCertificates.mock_dsc_sha384_ecdsa_brainpoolP512r1; + break; + case 'ecdsa_sha512_brainpoolP512r1_512': + privateKeyPem = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP512r1_key; + dsc = mockCertificates.mock_dsc_sha512_ecdsa_brainpoolP512r1; + break; + case 'ecdsa_sha512_secp521r1_521': + privateKeyPem = mockCertificates.mock_dsc_sha512_ecdsa_secp521r1_key; + dsc = mockCertificates.mock_dsc_sha512_ecdsa_secp521r1; + break; + case 'ecdsa_sha256_secp521r1_521': + privateKeyPem = mockCertificates.mock_dsc_sha256_ecdsa_secp521r1_key; + dsc = mockCertificates.mock_dsc_sha256_ecdsa_secp521r1; + break; + case 'rsa_sha256_65537_4096': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_65537_4096_key; + dsc = mockCertificates.mock_dsc_sha256_rsa_65537_4096; + break; + case 'rsa_sha512_65537_4096': + privateKeyPem = mockCertificates.mock_dsc_sha512_rsa_65537_4096_key; + dsc = mockCertificates.mock_dsc_sha512_rsa_65537_4096; + break; + case 'rsa_sha512_65537_2048': + privateKeyPem = mockCertificates.mock_dsc_sha512_rsa_65537_2048_key; + dsc = mockCertificates.mock_dsc_sha512_rsa_65537_2048; + break; + case 'rsa_sha256_3_4096': + privateKeyPem = mockCertificates.mock_dsc_sha256_rsa_3_4096_key; + dsc = mockCertificates.mock_dsc_sha256_rsa_3_4096; + break; + case 'rsa_sha384_65537_4096': + privateKeyPem = mockCertificates.mock_dsc_sha384_rsa_65537_4096_key; + dsc = mockCertificates.mock_dsc_sha384_rsa_65537_4096; + break; + case 'rsapss_sha512_65537_4096': + privateKeyPem = mockCertificates.mock_dsc_sha512_rsapss_64_65537_4096_key; + dsc = mockCertificates.mock_dsc_sha512_rsapss_64_65537_4096; + break; + case 'rsapss_sha512_65537_2048': + privateKeyPem = mockCertificates.mock_dsc_sha512_rsapss_64_65537_2048_key; + dsc = mockCertificates.mock_dsc_sha512_rsapss_64_65537_2048; + break; + case 'ecdsa_sha224_secp224r1_224': + privateKeyPem = mockCertificates.mock_dsc_sha224_ecdsa_secp224r1_key; + dsc = mockCertificates.mock_dsc_sha224_ecdsa_secp224r1; + break; + default: + throw new Error(`Unsupported signature type: ${signatureType}`); + } + return { privateKeyPem, dsc }; +} + +export default getMockDSC; \ No newline at end of file diff --git a/common/src/utils/types.ts b/common/src/utils/types.ts index 4cb247302..ee1a7a667 100644 --- a/common/src/utils/types.ts +++ b/common/src/utils/types.ts @@ -22,7 +22,7 @@ export type PassportData = { documentType: DocumentType; }; -export type DocumentType = "passport" | "mock_passport" | "eu_id" | "aadhaar"; +export type DocumentType = "passport" | "id_card" | "mock_passport" | "mock_id_card"; // Define the signature algorithm in "algorithm_hashfunction_domainPapameter_keyLength" export type SignatureAlgorithm = diff --git a/sdk/common/index.ts b/sdk/common/index.ts index d87213335..a38c3e06b 100644 --- a/sdk/common/index.ts +++ b/sdk/common/index.ts @@ -4,5 +4,6 @@ import { parseCertificateSimple } from "../../common/src/utils/certificate_parsi import { findStartPubKeyIndex } from "../../common/src/utils/passports/passport"; import { parseDscCertificateData } from "../../common/src/utils/passports/passport_parsing/parseDscCertificateData"; import { getLeafCscaTree, getLeafDscTree } from "../../common/src/utils/trees"; +import { genMockIdDoc } from "../../common/src/utils/passports/genMockIdDoc"; -export { CertificateData, findStartPubKeyIndex, getLeafCscaTree, getLeafDscTree, parseCertificate, parseCertificateSimple, parseDscCertificateData, PublicKeyDetailsECDSA, PublicKeyDetailsRSA }; +export { CertificateData, findStartPubKeyIndex, getLeafCscaTree, getLeafDscTree, parseCertificate, parseCertificateSimple, parseDscCertificateData, PublicKeyDetailsECDSA, PublicKeyDetailsRSA, genMockIdDoc }; diff --git a/sdk/common/package.json b/sdk/common/package.json index af81a5ddf..90d3f4da4 100644 --- a/sdk/common/package.json +++ b/sdk/common/package.json @@ -1,6 +1,6 @@ { "name": "@openpassport/common", - "version": "0.0.5", + "version": "0.0.10", "packageManager": "yarn@4.5.0", "files": [ "dist" @@ -13,5 +13,39 @@ "copy-certs": "mkdir -p dist && cp -R ../../common/src/mock_certificates ./dist/", "build": "yarn clean && yarn build:ts && yarn copy-certs", "prepublishOnly": "yarn build" + }, + "dependencies": { + "@babel/runtime": "^7.23.4", + "@openpassport/zk-kit-imt": "^0.0.5", + "@openpassport/zk-kit-lean-imt": "^0.0.6", + "@openpassport/zk-kit-smt": "^0.0.1", + "asn1.js": "^5.4.1", + "asn1js": "^3.0.5", + "axios": "^1.7.2", + "buffer": "^6.0.3", + "chai": "^4.3.8", + "country-emoji": "^1.5.6", + "country-iso-3-to-2": "^1.1.1", + "elliptic": "^6.5.5", + "fs": "^0.0.1-security", + "i18n-iso-countries": "^7.13.0", + "js-sha1": "^0.7.0", + "js-sha256": "^0.11.0", + "js-sha512": "^0.9.0", + "json-to-ts": "^2.1.0", + "jsrsasign": "^11.1.0", + "mocha": "^10.7.3", + "node-forge": "https://github.com/remicolin/forge", + "path": "^0.12.7", + "pkijs": "^3.2.4", + "poseidon-lite": "^0.2.0", + "snarkjs": "^0.7.5", + "ts-mocha": "^10.0.0", + "typescript-parser": "^2.6.1", + "uuid": "^11.0.5" + }, + "devDependencies": { + "@types/node-forge": "^1.3.10", + "prettier": "^3.3.3" } } From 2bedf095b729d2bcd556be0668d0e4fe95807768 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com> Date: Thu, 15 May 2025 07:49:11 -0400 Subject: [PATCH 30/49] log more dsc info (#558) --- app/src/screens/passport/PassportNFCScanScreen.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/screens/passport/PassportNFCScanScreen.tsx b/app/src/screens/passport/PassportNFCScanScreen.tsx index a0e70e309..9937a29cb 100644 --- a/app/src/screens/passport/PassportNFCScanScreen.tsx +++ b/app/src/screens/passport/PassportNFCScanScreen.tsx @@ -115,6 +115,14 @@ const PassportNFCScanScreen: React.FC = ({}) => { const skiPem = await getSKIPEM('production'); parsedPassportData = initPassportDataParsing(passportData, skiPem); const passportMetadata = parsedPassportData.passportMetadata!; + let dscObject; + try { + dscObject = JSON.parse(passportMetadata.dsc); + } catch (error) { + console.error('Failed to parse dsc:', error); + dscObject = {}; + } + trackEvent('Passport Parsed', { success: true, data_groups: passportMetadata.dataGroups, @@ -140,7 +148,9 @@ const PassportNFCScanScreen: React.FC = ({}) => { csca_curve_or_exponent: passportMetadata.cscaCurveOrExponent, csca_signature_algorithm_bits: passportMetadata.cscaSignatureAlgorithmBits, - dsc: passportMetadata.dsc, + dsc: dscObject, + dsc_aki: passportData.dsc_parsed?.authorityKeyIdentifier, + dsc_ski: passportData.dsc_parsed?.subjectKeyIdentifier, }); await storePassportData(parsedPassportData); // Feels better somehow From 3db25aa469e295c49a7f37dc52d277d651f1c1a2 Mon Sep 17 00:00:00 2001 From: nicoshark Date: Fri, 16 May 2025 06:46:21 +0900 Subject: [PATCH 31/49] Push notification (#536) * add push notification feature * merge new app impl * change dsc key * import * reverse mock dsc * worked in the ios * checked in android * update url and delete console * delete small changes * lint * add yarn.lock * fix warning message * add mock notification service for test code * fix path for the mock implementation * add mock deeplink to the test code * nice notificationServiceMock.js * delete unused firebase related implementation * fix wording and UI related to notification service * hotfix on mockdatascreen --------- Co-authored-by: turnoffthiscomputer --- app/android/app/build.gradle | 5 + app/android/app/google-services.json | 29 + app/android/app/src/debug/AndroidManifest.xml | 3 +- app/android/app/src/main/AndroidManifest.xml | 30 +- .../com/proofofpassportapp/MainApplication.kt | 19 + .../app/src/main/res/values/colors.xml | 4 + .../app/src/main/res/values/strings.xml | 2 + app/android/build.gradle | 25 +- app/android/gradle.properties | 2 +- app/ios/GoogleService-Info.plist | 31 + app/ios/NotificationService/Info.plist | 31 + .../NotificationService/NotificationService.h | 5 + .../NotificationService/NotificationService.m | 42 + app/ios/OpenPassport/AppDelegate.h | 3 +- app/ios/OpenPassport/AppDelegate.mm | 49 +- app/ios/OpenPassport/GoogleService-Info.plist | 31 + app/ios/OpenPassport/Info.plist | 11 +- .../OpenPassport/OpenPassport.entitlements | 2 + .../OpenPassportDebug.entitlements | 2 + app/ios/OpenPassport/PrivacyInfo.xcprivacy | 2 + app/ios/Podfile | 17 +- app/ios/Podfile.lock | 173 +- app/ios/Self.xcodeproj/project.pbxproj | 18 + app/jest.config.js | 2 +- app/jest.setup.js | 30 + app/package.json | 2 + app/src/screens/dev/MockDataScreen.tsx | 2 +- .../screens/prove/ConfirmBelongingScreen.tsx | 23 +- app/src/screens/static/LoadingScreen.tsx | 55 +- app/src/stores/proofHistoryStore.ts | 6 +- .../notifications/notificationService.ts | 166 + app/src/utils/proving/provingMachine.ts | 34 +- .../__setup__/notificationServiceMock.js | 16 + app/tests/src/navigation.test.ts | 1 + app/yarn.lock | 123 +- common/src/constants/mockCertificates.ts | 94 +- .../sha256_rsa_65537_2048/mock_dsc.key | 52 +- .../sha256_rsa_65537_2048/mock_dsc.pem | 42 +- common/yarn.lock | 55 +- contracts/hardhat.config.ts | 2 +- contracts/yarn.lock | 11581 ++++++++++------ 41 files changed, 8031 insertions(+), 4791 deletions(-) create mode 100644 app/android/app/google-services.json create mode 100644 app/android/app/src/main/res/values/colors.xml create mode 100644 app/ios/GoogleService-Info.plist create mode 100644 app/ios/NotificationService/Info.plist create mode 100644 app/ios/NotificationService/NotificationService.h create mode 100644 app/ios/NotificationService/NotificationService.m create mode 100644 app/ios/OpenPassport/GoogleService-Info.plist create mode 100644 app/src/utils/notifications/notificationService.ts create mode 100644 app/tests/__setup__/notificationServiceMock.js diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index 8443739ad..6ece7e10c 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -2,6 +2,7 @@ apply plugin: "com.android.application" apply plugin: "com.facebook.react" apply plugin: "org.jetbrains.kotlin.android" apply plugin: 'kotlin-android' +apply plugin: 'com.google.gms.google-services' /** @@ -142,6 +143,10 @@ dependencies { implementation 'com.github.blikoon:QRCodeScanner:0.1.2' + // Firebase Dependencies + implementation platform('com.google.firebase:firebase-bom:32.7.3') + implementation 'com.google.firebase:firebase-messaging' + if (hermesEnabled.toBoolean()) { implementation("com.facebook.react:hermes-android") } else { diff --git a/app/android/app/google-services.json b/app/android/app/google-services.json new file mode 100644 index 000000000..962340e30 --- /dev/null +++ b/app/android/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "260578412566", + "project_id": "selfxyz-app", + "storage_bucket": "selfxyz-app.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:260578412566:android:c52d3f8e947a7a90c78d37", + "android_client_info": { + "package_name": "com.proofofpassportapp" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyDbMZ52EpHA-5BbMgTQK3OMOVcarGJQ-es" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} diff --git a/app/android/app/src/debug/AndroidManifest.xml b/app/android/app/src/debug/AndroidManifest.xml index ff10e47bd..e34c896d3 100644 --- a/app/android/app/src/debug/AndroidManifest.xml +++ b/app/android/app/src/debug/AndroidManifest.xml @@ -7,11 +7,10 @@ - + - diff --git a/app/android/app/src/main/AndroidManifest.xml b/app/android/app/src/main/AndroidManifest.xml index e96dc1698..8858eb6c5 100644 --- a/app/android/app/src/main/AndroidManifest.xml +++ b/app/android/app/src/main/AndroidManifest.xml @@ -1,14 +1,16 @@ - + + + - + @@ -48,5 +50,27 @@ android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/nfc_tech_filter" /> + + + + + + + + + + + + diff --git a/app/android/app/src/main/java/com/proofofpassportapp/MainApplication.kt b/app/android/app/src/main/java/com/proofofpassportapp/MainApplication.kt index 7693f8e61..6e9e64012 100644 --- a/app/android/app/src/main/java/com/proofofpassportapp/MainApplication.kt +++ b/app/android/app/src/main/java/com/proofofpassportapp/MainApplication.kt @@ -1,6 +1,10 @@ package com.proofofpassportapp import android.app.Application +import android.app.NotificationChannel +import android.app.NotificationManager +import android.content.Context +import android.os.Build import com.facebook.react.PackageList import com.facebook.react.ReactApplication import com.facebook.react.ReactNativeHost @@ -38,5 +42,20 @@ class MainApplication : Application(), ReactApplication { DefaultNewArchitectureEntryPoint.load() } // ReactNativeFlipper.initializeFlipper(this, reactNativeHost.reactInstanceManager) + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + val channel = NotificationChannel( + "default", + "Default Channel", + NotificationManager.IMPORTANCE_HIGH + ).apply { + description = "Default notification channel" + enableLights(true) + enableVibration(true) + } + + val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager + notificationManager.createNotificationChannel(channel) + } } } diff --git a/app/android/app/src/main/res/values/colors.xml b/app/android/app/src/main/res/values/colors.xml new file mode 100644 index 000000000..915980bcd --- /dev/null +++ b/app/android/app/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #000000 + diff --git a/app/android/app/src/main/res/values/strings.xml b/app/android/app/src/main/res/values/strings.xml index cd5865455..7e6be7af4 100644 --- a/app/android/app/src/main/res/values/strings.xml +++ b/app/android/app/src/main/res/values/strings.xml @@ -1,3 +1,5 @@ Self + self_notifications + Self Notifications diff --git a/app/android/build.gradle b/app/android/build.gradle index 1b035a86f..bb9d2a2f0 100644 --- a/app/android/build.gradle +++ b/app/android/build.gradle @@ -8,6 +8,8 @@ buildscript { targetSdkVersion = 35 ndkVersion = "26.1.10909125" kotlinVersion = "1.9.24" + firebaseMessagingVersion = "23.4.0" + firebaseBomVersion = "32.7.3" } repositories { google() @@ -17,6 +19,7 @@ buildscript { } } dependencies { + classpath("com.android.tools.build:gradle:7.3.1") classpath("com.facebook.react:react-native-gradle-plugin") // classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" @@ -24,6 +27,8 @@ buildscript { classpath 'com.google.gms:google-services:4.3.14' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2' classpath 'org.mozilla.rust-android-gradle:plugin:0.9.3' + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.0") + classpath("com.google.gms:google-services:4.4.0") } } @@ -31,8 +36,17 @@ allprojects { repositories { google() mavenCentral() - maven { url "https://jitpack.io" } + maven { + url("$rootDir/../node_modules/react-native/android") + } + maven { + url("$rootDir/../node_modules/jsc-android/dist") + } + maven { url 'https://jitpack.io' } jcenter() + maven { + url 'https://google.bintray.com/google-services' + } } configurations.configureEach { resolutionStrategy.dependencySubstitution { @@ -41,6 +55,11 @@ allprojects { } resolutionStrategy.force 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' } + configurations.all { + resolutionStrategy { + force 'com.google.firebase:firebase-iid:21.1.0' + } + } } subprojects { @@ -49,7 +68,7 @@ subprojects { android { def manifestFile = project.file('src/main/AndroidManifest.xml') def buildGradleFile = project.file('build.gradle') - + if (buildGradleFile.exists()) { def buildGradleText = buildGradleFile.text def namespaceMatcher = buildGradleText =~ /namespace\s*['"](.+?)['"]/ @@ -59,7 +78,7 @@ subprojects { return } } - + if (manifestFile.exists()) { def manifestText = manifestFile.text def packageMatcher = manifestText =~ /package="([\w\.]+)"/ diff --git a/app/android/gradle.properties b/app/android/gradle.properties index 5e73c7803..901d6cb50 100644 --- a/app/android/gradle.properties +++ b/app/android/gradle.properties @@ -43,4 +43,4 @@ newArchEnabled=false # If set to false, you will be using JSC instead. hermesEnabled=true -android.jetifier.ignorelist=bcprov-jdk18on \ No newline at end of file +android.jetifier.ignorelist=bcprov-jdk18on diff --git a/app/ios/GoogleService-Info.plist b/app/ios/GoogleService-Info.plist new file mode 100644 index 000000000..9eba1818c --- /dev/null +++ b/app/ios/GoogleService-Info.plist @@ -0,0 +1,31 @@ + + + + + + API_KEY + AIzaSyCfUEiDnrc4tIUZidWn9YmsKOXkkxQnVfg + GCM_SENDER_ID + 260578412566 + PLIST_VERSION + 1 + BUNDLE_ID + com.warroom.proofofpassport + PROJECT_ID + selfxyz-app + STORAGE_BUCKET + selfxyz-app.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:260578412566:ios:59f37c4d004f399dc78d37 + + diff --git a/app/ios/NotificationService/Info.plist b/app/ios/NotificationService/Info.plist new file mode 100644 index 000000000..57c95ce09 --- /dev/null +++ b/app/ios/NotificationService/Info.plist @@ -0,0 +1,31 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + NotificationService + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + NSExtension + + NSExtensionPointIdentifier + com.apple.usernotifications.service + NSExtensionPrincipalClass + NotificationService + + + diff --git a/app/ios/NotificationService/NotificationService.h b/app/ios/NotificationService/NotificationService.h new file mode 100644 index 000000000..32d629875 --- /dev/null +++ b/app/ios/NotificationService/NotificationService.h @@ -0,0 +1,5 @@ +#import + +@interface NotificationService : UNNotificationServiceExtension + +@end diff --git a/app/ios/NotificationService/NotificationService.m b/app/ios/NotificationService/NotificationService.m new file mode 100644 index 000000000..ab5dfae90 --- /dev/null +++ b/app/ios/NotificationService/NotificationService.m @@ -0,0 +1,42 @@ +#import "NotificationService.h" +#import + +@interface NotificationService () + +@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver); +@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent; + +@end + +@implementation NotificationService + +- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler { + self.contentHandler = contentHandler; + self.bestAttemptContent = [request.content mutableCopy]; + + // Configure Firebase if needed + if (![FIRApp defaultApp]) { + [FIRApp configure]; + } + + // Get the message ID + NSDictionary *userInfo = request.content.userInfo; + NSString *messageID = userInfo[@"gcm.message_id"]; + if (messageID) { + [[FIRMessaging messaging] appDidReceiveMessage:userInfo]; + } + + // Modify the notification content here... + self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]", self.bestAttemptContent.title]; + + // Always call the content handler with the modified content + self.contentHandler(self.bestAttemptContent); +} + +- (void)serviceExtensionTimeWillExpire { + // Called just before the extension will be terminated by the system. + // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used. + self.contentHandler(self.bestAttemptContent); +} + +@end diff --git a/app/ios/OpenPassport/AppDelegate.h b/app/ios/OpenPassport/AppDelegate.h index 5d2808256..d7211c570 100644 --- a/app/ios/OpenPassport/AppDelegate.h +++ b/app/ios/OpenPassport/AppDelegate.h @@ -1,6 +1,7 @@ #import #import +#import -@interface AppDelegate : RCTAppDelegate +@interface AppDelegate : RCTAppDelegate @end diff --git a/app/ios/OpenPassport/AppDelegate.mm b/app/ios/OpenPassport/AppDelegate.mm index 9fa81e53e..fd3d91a5c 100644 --- a/app/ios/OpenPassport/AppDelegate.mm +++ b/app/ios/OpenPassport/AppDelegate.mm @@ -3,14 +3,21 @@ #import #import #import +#import +#import @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [FIRApp configure]; + + if ([UNUserNotificationCenter class] != nil) { + UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; + center.delegate = self; + } + self.moduleName = @"OpenPassport"; - // You can add your custom initial props in the dictionary below. - // They will be passed down to the ViewController used by React Native. self.initialProps = @{}; return [super application:application didFinishLaunchingWithOptions:launchOptions]; @@ -20,7 +27,7 @@ - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { return [self bundleURL]; } - + - (NSURL *)bundleURL { #if DEBUG @@ -39,4 +46,40 @@ - (BOOL)application:(UIApplication *)application restorationHandler:restorationHandler]; } +// Handle device token registration +- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken +{ + NSString *token = [self stringFromDeviceToken:deviceToken]; + NSLog(@"APNs device token: %@", token); + [[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeProd]; +} + +// Handle device token registration errors +- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error +{ + NSLog(@"Failed to register for remote notifications: %@", error); +} + +// Handle notifications when app is in foreground +- (void)userNotificationCenter:(UNUserNotificationCenter *)center + willPresentNotification:(UNNotification *)notification + withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler +{ + // Display the notification in foreground + completionHandler(UNNotificationPresentationOptionSound | UNNotificationPresentationOptionBanner | UNNotificationPresentationOptionBadge); +} + +// Convert device token to string format for logging +- (NSString *)stringFromDeviceToken:(NSData *)deviceToken +{ + const unsigned char *tokenBuffer = (const unsigned char *)deviceToken.bytes; + NSMutableString *tokenString = [NSMutableString string]; + + for (NSUInteger i = 0; i < deviceToken.length; i++) { + [tokenString appendFormat:@"%02X", tokenBuffer[i]]; + } + + return [tokenString copy]; +} + @end diff --git a/app/ios/OpenPassport/GoogleService-Info.plist b/app/ios/OpenPassport/GoogleService-Info.plist new file mode 100644 index 000000000..9eba1818c --- /dev/null +++ b/app/ios/OpenPassport/GoogleService-Info.plist @@ -0,0 +1,31 @@ + + + + + + API_KEY + AIzaSyCfUEiDnrc4tIUZidWn9YmsKOXkkxQnVfg + GCM_SENDER_ID + 260578412566 + PLIST_VERSION + 1 + BUNDLE_ID + com.warroom.proofofpassport + PROJECT_ID + selfxyz-app + STORAGE_BUCKET + selfxyz-app.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:260578412566:ios:59f37c4d004f399dc78d37 + + diff --git a/app/ios/OpenPassport/Info.plist b/app/ios/OpenPassport/Info.plist index 78ddc370a..134d1ba52 100644 --- a/app/ios/OpenPassport/Info.plist +++ b/app/ios/OpenPassport/Info.plist @@ -105,9 +105,12 @@ slkscr.ttf slkscrb.ttf - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - + UIApplicationSupportsIndirectInputEvents + + UIBackgroundModes + + fetch + remote-notification + diff --git a/app/ios/OpenPassport/OpenPassport.entitlements b/app/ios/OpenPassport/OpenPassport.entitlements index be57eac2a..033df68b2 100644 --- a/app/ios/OpenPassport/OpenPassport.entitlements +++ b/app/ios/OpenPassport/OpenPassport.entitlements @@ -2,6 +2,8 @@ + aps-environment + development com.apple.developer.associated-appclip-app-identifiers 5B29R5LYHQ.com.warroom.proofofpassport.Clip diff --git a/app/ios/OpenPassport/OpenPassportDebug.entitlements b/app/ios/OpenPassport/OpenPassportDebug.entitlements index be57eac2a..033df68b2 100644 --- a/app/ios/OpenPassport/OpenPassportDebug.entitlements +++ b/app/ios/OpenPassport/OpenPassportDebug.entitlements @@ -2,6 +2,8 @@ + aps-environment + development com.apple.developer.associated-appclip-app-identifiers 5B29R5LYHQ.com.warroom.proofofpassport.Clip diff --git a/app/ios/OpenPassport/PrivacyInfo.xcprivacy b/app/ios/OpenPassport/PrivacyInfo.xcprivacy index 3338c9ff4..2fadae776 100644 --- a/app/ios/OpenPassport/PrivacyInfo.xcprivacy +++ b/app/ios/OpenPassport/PrivacyInfo.xcprivacy @@ -9,7 +9,9 @@ NSPrivacyAccessedAPICategoryUserDefaults NSPrivacyAccessedAPITypeReasons + 1C8F.1 CA92.1 + C56D.1 diff --git a/app/ios/Podfile b/app/ios/Podfile index f1641cd41..dd2cc753b 100755 --- a/app/ios/Podfile +++ b/app/ios/Podfile @@ -13,6 +13,9 @@ project "Self.xcodeproj" platform :ios, '15.0' if !ENV['ACT'] prepare_react_native_project! +flipper_enabled = ENV['NO_FLIPPER'] != "1" +flipper_config = { 'Flipper' => flipper_enabled ? '~> 0.125.0' : nil } + linkage = ENV["USE_FRAMEWORKS"] if linkage != nil Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green @@ -32,14 +35,24 @@ target "Self" do use_react_native!( :path => config[:reactNativePath], :hermes_enabled => false, - # :fabric_enabled => flags[:fabric_enabled], # An absolute path to your application root. - :app_path => "#{Pod::Config.instance.installation_root}/..", + :app_path => "#{Pod::Config.instance.installation_root}/.." + # Flipper設定は削除 ) pod "Sentry", :modular_headers => true pod "SentryPrivate", :modular_headers => true + pod 'Firebase', :modular_headers => true + pod 'FirebaseCore', :modular_headers => true + pod 'FirebaseCoreInternal', :modular_headers => true + pod 'GoogleUtilities', :modular_headers => true + pod 'FirebaseMessaging' + + if flipper_enabled + pod 'RCT-Folly', :podspec => "#{config[:reactNativePath]}/third-party-podspecs/RCT-Folly.podspec" + end + post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index bd1c58ba8..15470aee9 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -8,12 +8,130 @@ PODS: - boost (1.84.0) - DoubleConversion (1.1.6) - FBLazyVector (0.75.4) + - Firebase (10.20.0): + - Firebase/Core (= 10.20.0) + - Firebase/Core (10.20.0): + - Firebase/CoreOnly + - FirebaseAnalytics (~> 10.20.0) + - Firebase/CoreOnly (10.20.0): + - FirebaseCore (= 10.20.0) + - Firebase/Messaging (10.20.0): + - Firebase/CoreOnly + - FirebaseMessaging (~> 10.20.0) + - FirebaseAnalytics (10.20.0): + - FirebaseAnalytics/AdIdSupport (= 10.20.0) + - FirebaseCore (~> 10.0) + - FirebaseInstallations (~> 10.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30910.0, >= 2.30908.0) + - FirebaseAnalytics/AdIdSupport (10.20.0): + - FirebaseCore (~> 10.0) + - FirebaseInstallations (~> 10.0) + - GoogleAppMeasurement (= 10.20.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30910.0, >= 2.30908.0) + - FirebaseCore (10.20.0): + - FirebaseCoreInternal (~> 10.0) + - GoogleUtilities/Environment (~> 7.12) + - GoogleUtilities/Logger (~> 7.12) + - FirebaseCoreExtension (10.20.0): + - FirebaseCore (~> 10.0) + - FirebaseCoreInternal (10.29.0): + - "GoogleUtilities/NSData+zlib (~> 7.8)" + - FirebaseInstallations (10.29.0): + - FirebaseCore (~> 10.0) + - GoogleUtilities/Environment (~> 7.8) + - GoogleUtilities/UserDefaults (~> 7.8) + - PromisesObjC (~> 2.1) + - FirebaseMessaging (10.20.0): + - FirebaseCore (~> 10.0) + - FirebaseInstallations (~> 10.0) + - GoogleDataTransport (~> 9.3) + - GoogleUtilities/AppDelegateSwizzler (~> 7.8) + - GoogleUtilities/Environment (~> 7.8) + - GoogleUtilities/Reachability (~> 7.8) + - GoogleUtilities/UserDefaults (~> 7.8) + - nanopb (< 2.30910.0, >= 2.30908.0) - fmt (9.1.0) - glog (0.3.5) + - GoogleAppMeasurement (10.20.0): + - GoogleAppMeasurement/AdIdSupport (= 10.20.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30910.0, >= 2.30908.0) + - GoogleAppMeasurement/AdIdSupport (10.20.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 10.20.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30910.0, >= 2.30908.0) + - GoogleAppMeasurement/WithoutAdIdSupport (10.20.0): + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30910.0, >= 2.30908.0) + - GoogleDataTransport (9.4.1): + - GoogleUtilities/Environment (~> 7.7) + - nanopb (< 2.30911.0, >= 2.30908.0) + - PromisesObjC (< 3.0, >= 1.2) - GoogleSignIn (7.1.0): - AppAuth (< 2.0, >= 1.7.3) - GTMAppAuth (< 5.0, >= 4.1.1) - GTMSessionFetcher/Core (~> 3.3) + - GoogleUtilities (7.13.3): + - GoogleUtilities/AppDelegateSwizzler (= 7.13.3) + - GoogleUtilities/Environment (= 7.13.3) + - GoogleUtilities/ISASwizzler (= 7.13.3) + - GoogleUtilities/Logger (= 7.13.3) + - GoogleUtilities/MethodSwizzler (= 7.13.3) + - GoogleUtilities/Network (= 7.13.3) + - "GoogleUtilities/NSData+zlib (= 7.13.3)" + - GoogleUtilities/Privacy (= 7.13.3) + - GoogleUtilities/Reachability (= 7.13.3) + - GoogleUtilities/SwizzlerTestHelpers (= 7.13.3) + - GoogleUtilities/UserDefaults (= 7.13.3) + - GoogleUtilities/AppDelegateSwizzler (7.13.3): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (7.13.3): + - GoogleUtilities/Privacy + - PromisesObjC (< 3.0, >= 1.2) + - GoogleUtilities/ISASwizzler (7.13.3): + - GoogleUtilities/Privacy + - GoogleUtilities/Logger (7.13.3): + - GoogleUtilities/Environment + - GoogleUtilities/Privacy + - GoogleUtilities/MethodSwizzler (7.13.3): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/Network (7.13.3): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (7.13.3)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (7.13.3) + - GoogleUtilities/Reachability (7.13.3): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/SwizzlerTestHelpers (7.13.3): + - GoogleUtilities/MethodSwizzler + - GoogleUtilities/UserDefaults (7.13.3): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy - GTMAppAuth (4.1.1): - AppAuth/Core (~> 1.7) - GTMSessionFetcher/Core (< 4.0, >= 3.3) @@ -41,9 +159,15 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga + - nanopb (2.30909.1): + - nanopb/decode (= 2.30909.1) + - nanopb/encode (= 2.30909.1) + - nanopb/decode (2.30909.1) + - nanopb/encode (2.30909.1) - NFCPassportReader (2.1.1): - OpenSSL-Universal (= 1.1.1900) - OpenSSL-Universal (1.1.1900) + - PromisesObjC (2.4.0) - QKMRZParser (2.0.0) - QKMRZScanner (3.0.0): - QKMRZParser (~> 2.0.0) @@ -1558,6 +1682,14 @@ PODS: - React-Core - RNDeviceInfo (14.0.4): - React-Core + - RNFBApp (18.9.0): + - Firebase/CoreOnly (= 10.20.0) + - React-Core + - RNFBMessaging (18.9.0): + - Firebase/Messaging (= 10.20.0) + - FirebaseCoreExtension (= 10.20.0) + - React-Core + - RNFBApp - RNGestureHandler (2.24.0): - DoubleConversion - glog @@ -1672,8 +1804,13 @@ DEPENDENCIES: - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - Firebase + - FirebaseCore + - FirebaseCoreInternal + - FirebaseMessaging - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - GoogleUtilities - lottie-ios - lottie-react-native (from `../node_modules/lottie-react-native`) - NFCPassportReader (from `https://github.com/zk-passport/NFCPassportReader`, commit `e3e869b14fb7fb2417928079db3967f203523580`) @@ -1745,6 +1882,8 @@ DEPENDENCIES: - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" - "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)" - RNDeviceInfo (from `../node_modules/react-native-device-info`) + - "RNFBApp (from `../node_modules/@react-native-firebase/app`)" + - "RNFBMessaging (from `../node_modules/@react-native-firebase/messaging`)" - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - "RNGoogleSignin (from `../node_modules/@react-native-google-signin/google-signin`)" - RNKeychain (from `../node_modules/react-native-keychain`) @@ -1763,11 +1902,23 @@ DEPENDENCIES: SPEC REPOS: trunk: - AppAuth + - Firebase + - FirebaseAnalytics + - FirebaseCore + - FirebaseCoreExtension + - FirebaseCoreInternal + - FirebaseInstallations + - FirebaseMessaging + - GoogleAppMeasurement + - GoogleDataTransport - GoogleSignIn + - GoogleUtilities - GTMAppAuth - GTMSessionFetcher - lottie-ios + - nanopb - OpenSSL-Universal + - PromisesObjC - QKMRZParser - QKMRZScanner - Sentry @@ -1921,6 +2072,10 @@ EXTERNAL SOURCES: :path: "../node_modules/@react-native-clipboard/clipboard" RNDeviceInfo: :path: "../node_modules/react-native-device-info" + RNFBApp: + :path: "../node_modules/@react-native-firebase/app" + RNFBMessaging: + :path: "../node_modules/@react-native-firebase/messaging" RNGestureHandler: :path: "../node_modules/react-native-gesture-handler" RNGoogleSignin: @@ -1959,18 +2114,30 @@ SPEC CHECKSUMS: boost: 4cb898d0bf20404aab1850c656dcea009429d6c1 DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 FBLazyVector: 430e10366de01d1e3d57374500b1b150fe482e6d + Firebase: 10c8cb12fb7ad2ae0c09ffc86cd9c1ab392a0031 + FirebaseAnalytics: a2731bf3670747ce8f65368b118d18aa8e368246 + FirebaseCore: 28045c1560a2600d284b9c45a904fe322dc890b6 + FirebaseCoreExtension: 0659f035b88c5a7a15a9763c48c2e6ca8c0a2977 + FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 + FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd + FirebaseMessaging: 06c414a21b122396a26847c523d5c370f8325df5 fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 glog: 69ef571f3de08433d766d614c73a9838a06bf7eb + GoogleAppMeasurement: bb3c564c3efb933136af0e94899e0a46167466a8 + GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db + GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 lottie-ios: a881093fab623c467d3bce374367755c272bdd59 lottie-react-native: 3ffec00c889acded6057766c99adf8eaced7790c + nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 NFCPassportReader: e931c61c189e08a4b4afa0ed4014af19eab2f129 OpenSSL-Universal: 84efb8a29841f2764ac5403e0c4119a28b713346 + PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 QKMRZParser: 6b419b6f07d6bff6b50429b97de10846dc902c29 QKMRZScanner: cf2348fd6ce441e758328da4adf231ef2b51d769 - RCT-Folly: 34124ae2e667a0e5f0ea378db071d27548124321 + RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1 RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205 @@ -2035,6 +2202,8 @@ SPEC CHECKSUMS: RNCAsyncStorage: af7b591318005069c3795076addc83a4dd5c0a2e RNCClipboard: 4abb037e8fe3b98a952564c9e0474f91c492df6d RNDeviceInfo: d863506092aef7e7af3a1c350c913d867d795047 + RNFBApp: 20bfba7e2a61a959518c1d57e5d48817c62ed3f6 + RNFBMessaging: 48579eec1f6ffaed4038b67426d7076963ab9401 RNGestureHandler: 9c3877d98d4584891b69d16ebca855ac46507f4d RNGoogleSignin: b8760528f2a7cbe157ecfdcc13bdb7d2745c9389 RNKeychain: bbe2f6d5cc008920324acb49ef86ccc03d3b38e4 @@ -2052,6 +2221,6 @@ SPEC CHECKSUMS: SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178 -PODFILE CHECKSUM: 73f2a9db80032d63f7117ad67e2446be9bc33926 +PODFILE CHECKSUM: 92a3feee42b02b97fbe3c56db97e6a79cc92f2c1 COCOAPODS: 1.16.2 diff --git a/app/ios/Self.xcodeproj/project.pbxproj b/app/ios/Self.xcodeproj/project.pbxproj index ee74136f7..9d6a0318b 100644 --- a/app/ios/Self.xcodeproj/project.pbxproj +++ b/app/ios/Self.xcodeproj/project.pbxproj @@ -36,6 +36,7 @@ 905B70072A72774000AFA232 /* PassportReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 905B70062A72774000AFA232 /* PassportReader.m */; }; 9C694E1EF05C49DF85423A6A /* Inter-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 3BF771EA645241D9A28A3AE9 /* Inter-Bold.otf */; }; A109328F471241A5A931D524 /* Inter-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = 070CF9E82E3E45DAB6BBA375 /* Inter-Light.otf */; }; + AE6147EC2DC95A8D00445C0F /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */; }; B0885FC3EE2A41A1AA97EEC0 /* Inter-LightItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = F4AE10DA498844DF8BF01948 /* Inter-LightItalic.otf */; }; C9F1B4F4F38F49EF8723594E /* Inter-MediumItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 06064B357139453EB2788C18 /* Inter-MediumItalic.otf */; }; CB116B311D63491FA54CCEE1 /* Inter-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = DD642F4F3A114B43A22296D7 /* Inter-Thin.otf */; }; @@ -112,6 +113,7 @@ 905B70062A72774000AFA232 /* PassportReader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PassportReader.m; sourceTree = ""; }; 905B70082A729CD400AFA232 /* OpenPassport.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = OpenPassport.entitlements; path = OpenPassport/OpenPassport.entitlements; sourceTree = ""; }; 9BF744D9A73A4BAC96EC569A /* DINOT-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "DINOT-Medium.otf"; path = "../src/assets/fonts/DINOT-Medium.otf"; sourceTree = ""; }; + AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "GoogleService-Info.plist"; sourceTree = ""; }; B4E7218406B64A95BCE0DFE4 /* slkscrb.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = slkscrb.ttf; path = "../node_modules/@tamagui/font-silkscreen/files/slkscrb.ttf"; sourceTree = ""; }; C56F122245594D6DA9B7570A /* slkscr.woff */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = slkscr.woff; path = "../node_modules/@tamagui/font-silkscreen/files/slkscr.woff"; sourceTree = ""; }; CA67A75B161A05334E3E9402 /* Pods-OpenPassport.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenPassport.debug.xcconfig"; path = "Target Support Files/Pods-OpenPassport/Pods-OpenPassport.debug.xcconfig"; sourceTree = ""; }; @@ -144,6 +146,7 @@ 13B07FAE1A68108700A75B9A /* OpenPassport */ = { isa = PBXGroup; children = ( + AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */, E9F9A99A2D57FE2900E1362E /* PassportOCRViewManager.m */, E9F9A99B2D57FE2900E1362E /* PassportOCRViewManager.swift */, 169349842CC694DA00166F21 /* OpenPassportDebug.entitlements */, @@ -271,6 +274,7 @@ 054340D12C71B2980014B445 /* Embed App Clips */, 0C6411FE06C61E7F495D9204 /* [CP] Embed Pods Frameworks */, DAB2FFB78D69B620A585FF8C /* [CP] Copy Pods Resources */, + F03F8F9D6EA396D7585CBFF0 /* [CP-User] [RNFB] Core Configuration */, ); buildRules = ( ); @@ -321,6 +325,7 @@ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 05D985FB2BB3344600F58EEA /* Assets.xcassets in Resources */, 16E884A52C5BD764003B7125 /* passport.json in Resources */, + AE6147EC2DC95A8D00445C0F /* GoogleService-Info.plist in Resources */, EBECCA4983EC6929A7722578 /* PrivacyInfo.xcprivacy in Resources */, DAC618BCA5874DD8AD74FFFC /* Advercase-Regular.otf in Resources */, D427791AA5714251A5EAF8AD /* DINOT-Medium.otf in Resources */, @@ -423,6 +428,19 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Self/Pods-Self-resources.sh\"\n"; showEnvVarsInLog = 0; }; + F03F8F9D6EA396D7585CBFF0 /* [CP-User] [RNFB] Core Configuration */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)", + ); + name = "[CP-User] [RNFB] Core Configuration"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\n\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_analytics_storage\n _ANALYTICS_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_analytics_storage\")\n if [[ $_ANALYTICS_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_storage\n _ANALYTICS_AD_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_storage\")\n if [[ $_ANALYTICS_AD_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_user_data\n _ANALYTICS_AD_USER_DATA=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_user_data\")\n if [[ $_ANALYTICS_AD_USER_DATA ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_USER_DATA\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n"; + }; FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/app/jest.config.js b/app/jest.config.js index 1ecef3169..41da754ca 100644 --- a/app/jest.config.js +++ b/app/jest.config.js @@ -2,7 +2,7 @@ module.exports = { preset: 'react-native', moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], transformIgnorePatterns: [ - 'node_modules/(?!(react-native|@react-native|@react-navigation|@react-native-community|@segment/analytics-react-native|@openpassport|react-native-keychain|react-native-check-version|react-native-nfc-manager|react-native-passport-reader|uuid|@stablelib|@react-native-google-signin|react-native-cloud-storage|@react-native-clipboard)/)', + 'node_modules/(?!(react-native|@react-native|@react-navigation|@react-native-community|@segment/analytics-react-native|@openpassport|react-native-keychain|react-native-check-version|react-native-nfc-manager|react-native-passport-reader|uuid|@stablelib|@react-native-google-signin|react-native-cloud-storage|@react-native-clipboard|@react-native-firebase)/)', ], setupFiles: ['/jest.setup.js'], testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$', diff --git a/app/jest.setup.js b/app/jest.setup.js index 4add38b05..30f36de6f 100644 --- a/app/jest.setup.js +++ b/app/jest.setup.js @@ -4,6 +4,32 @@ require('react-native-gesture-handler/jestSetup'); jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper'); +global.FileReader = class { + constructor() { + this.onload = null; + } + readAsArrayBuffer() { + if (this.onload) { + this.onload({ target: { result: new ArrayBuffer(0) } }); + } + } +}; + +jest.mock('@react-native-firebase/messaging', () => { + return () => ({ + hasPermission: jest.fn(() => Promise.resolve(true)), + requestPermission: jest.fn(() => Promise.resolve(true)), + getToken: jest.fn(() => Promise.resolve('mock-token')), + onMessage: jest.fn(() => jest.fn()), + onNotificationOpenedApp: jest.fn(() => jest.fn()), + getInitialNotification: jest.fn(() => Promise.resolve(null)), + setBackgroundMessageHandler: jest.fn(), + registerDeviceForRemoteMessages: jest.fn(() => Promise.resolve()), + subscribeToTopic: jest.fn(), + unsubscribeFromTopic: jest.fn(), + }); +}); + // Mock react-native-haptic-feedback jest.mock('react-native-haptic-feedback', () => ({ trigger: jest.fn(), @@ -255,3 +281,7 @@ jest.mock('react-native-localize', () => ({ isRTL: false, }), })); + +jest.mock('./src/utils/notifications/notificationService', () => + require('./tests/__setup__/notificationServiceMock.js'), +); diff --git a/app/package.json b/app/package.json index 8dc805ab1..c99c292da 100644 --- a/app/package.json +++ b/app/package.json @@ -50,6 +50,8 @@ "@react-native-async-storage/async-storage": "^2.1.1", "@react-native-clipboard/clipboard": "1.13.2", "@react-native-community/netinfo": "^11.4.1", + "@react-native-firebase/app": "^18.7.3", + "@react-native-firebase/messaging": "^18.7.3", "@react-native-google-signin/google-signin": "^13.1.0", "@react-navigation/native": "^7.0.14", "@react-navigation/native-stack": "^7.2.0", diff --git a/app/src/screens/dev/MockDataScreen.tsx b/app/src/screens/dev/MockDataScreen.tsx index 9d30f306d..2c0ee25ea 100644 --- a/app/src/screens/dev/MockDataScreen.tsx +++ b/app/src/screens/dev/MockDataScreen.tsx @@ -44,7 +44,7 @@ interface MockDataScreenProps {} const MockDataScreen: React.FC = ({}) => { const navigation = useNavigation(); - const [birthDate, setBirthDate] = useState(''); + const [birthDate, setBirthDate] = useState('2000/01/01'); const [expiryYears, setExpiryYears] = useState(5); const [isGenerating, setIsGenerating] = useState(false); const [isInOfacList, setIsInOfacList] = useState(false); diff --git a/app/src/screens/prove/ConfirmBelongingScreen.tsx b/app/src/screens/prove/ConfirmBelongingScreen.tsx index 6c0a21dfd..a60a4a51c 100644 --- a/app/src/screens/prove/ConfirmBelongingScreen.tsx +++ b/app/src/screens/prove/ConfirmBelongingScreen.tsx @@ -1,6 +1,6 @@ import { StaticScreenProps, usePreventRemove } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; import { ActivityIndicator, View } from 'react-native'; import successAnimation from '../../assets/animations/loading/success.json'; @@ -11,6 +11,10 @@ import useHapticNavigation from '../../hooks/useHapticNavigation'; import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout'; import { black, white } from '../../utils/colors'; import { notificationSuccess } from '../../utils/haptic'; +import { + getFCMToken, + requestNotificationPermission, +} from '../../utils/notifications/notificationService'; import { useProvingStore } from '../../utils/proving/provingMachine'; import { styles } from './ProofRequestStatusScreen'; @@ -31,6 +35,7 @@ const ConfirmBelongingScreen: React.FC = ({ }, }); const provingStore = useProvingStore(); + const [_requestingPermission, setRequestingPermission] = useState(false); const currentState = useProvingStore(state => state.currentState); const isReadyToProve = currentState === 'ready_to_prove'; @@ -40,10 +45,18 @@ const ConfirmBelongingScreen: React.FC = ({ }, []); const onOkPress = async () => { - // Initialize the proving process just before navigation - // This ensures a fresh start each time try { - // Initialize the state machine + setRequestingPermission(true); + + // Request notification permission + const permissionGranted = await requestNotificationPermission(); + if (permissionGranted) { + const token = await getFCMToken(); + if (token) { + provingStore.setFcmToken(token); + console.log('FCM token stored in proving store'); + } + } // Mark as user confirmed - proving will start automatically when ready provingStore.setUserConfirmed(); @@ -52,6 +65,8 @@ const ConfirmBelongingScreen: React.FC = ({ navigate(); } catch (error) { console.error('Error initializing proving process:', error); + } finally { + setRequestingPermission(false); } }; diff --git a/app/src/screens/static/LoadingScreen.tsx b/app/src/screens/static/LoadingScreen.tsx index 12a60d61e..33d5f360e 100644 --- a/app/src/screens/static/LoadingScreen.tsx +++ b/app/src/screens/static/LoadingScreen.tsx @@ -1,11 +1,16 @@ import { StaticScreenProps, useIsFocused } from '@react-navigation/native'; import LottieView from 'lottie-react-native'; import React, { useEffect, useState } from 'react'; -import { StyleSheet, Text, View } from 'react-native'; +import { StyleSheet, View } from 'react-native'; +import { Text } from 'tamagui'; import failAnimation from '../../assets/animations/loading/fail.json'; import miscAnimation from '../../assets/animations/loading/misc.json'; import successAnimation from '../../assets/animations/loading/success.json'; +import { + getStateMessage, + setupNotifications, +} from '../../utils/notifications/notificationService'; import { useProvingStore } from '../../utils/proving/provingMachine'; type LoadingScreenProps = StaticScreenProps<{}>; @@ -13,12 +18,26 @@ type LoadingScreenProps = StaticScreenProps<{}>; const LoadingScreen: React.FC = ({}) => { const [animationSource, setAnimationSource] = useState(miscAnimation); const currentState = useProvingStore(state => state.currentState); + const fcmToken = useProvingStore(state => state.fcmToken); const isFocused = useIsFocused(); + // Initialize notifications when component mounts + useEffect(() => { + if (isFocused) { + const unsubscribe = setupNotifications(); + return () => { + if (typeof unsubscribe === 'function') { + unsubscribe(); + } + }; + } + }, [isFocused]); + // Monitor the state of the proving machine useEffect(() => { if (isFocused) { console.log('[LoadingScreen] Current proving state:', currentState); + console.log('[LoadingScreen] FCM token available:', !!fcmToken); } if (currentState === 'completed') { @@ -28,7 +47,13 @@ const LoadingScreen: React.FC = ({}) => { } else { setAnimationSource(miscAnimation); } - }, [currentState, isFocused]); + }, [currentState, isFocused, fcmToken]); + + // Determine if we should show the "you can close the app" message + // Show the message after the payload has been sent (when state is proving or later) + const canCloseApp = ['proving', 'post_proving', 'completed'].includes( + currentState, + ); return ( @@ -40,9 +65,23 @@ const LoadingScreen: React.FC = ({}) => { resizeMode="cover" renderMode="HARDWARE" /> - - This can take up to one minute, don't close the app - + + + This operation can take few minutes. + + {!canCloseApp ? ( + + Please don't close the app. + + ) : ( + + You can now safely close the app. + + )} + + {getStateMessage(currentState)} + + ); }; @@ -59,15 +98,11 @@ const styles = StyleSheet.create({ right: 0, bottom: 0, }, - warningText: { + textContainer: { position: 'absolute', bottom: 40, left: 0, right: 0, - textAlign: 'center', - color: 'white', - fontSize: 16, - fontWeight: '500', padding: 16, }, }); diff --git a/app/src/stores/proofHistoryStore.ts b/app/src/stores/proofHistoryStore.ts index 4543b106b..90e81f210 100644 --- a/app/src/stores/proofHistoryStore.ts +++ b/app/src/stores/proofHistoryStore.ts @@ -271,9 +271,9 @@ export const useProofHistoryStore = create()((set, get) => { const currentTotal = state.proofHistory.length + proofs.length; const hasMore = currentTotal < totalCount; - set(state => ({ - proofHistory: [...state.proofHistory, ...proofs], - currentPage: state.currentPage + 1, + set(currentState => ({ + proofHistory: [...currentState.proofHistory, ...proofs], + currentPage: currentState.currentPage + 1, hasMore, isLoading: false, })); diff --git a/app/src/utils/notifications/notificationService.ts b/app/src/utils/notifications/notificationService.ts new file mode 100644 index 000000000..2156181fa --- /dev/null +++ b/app/src/utils/notifications/notificationService.ts @@ -0,0 +1,166 @@ +import messaging from '@react-native-firebase/messaging'; +import { PermissionsAndroid, Platform } from 'react-native'; + +const API_URL = 'https://notification.self.xyz'; +const API_URL_STAGING = 'https://notification.staging.self.xyz'; + +export const getStateMessage = (state: string): string => { + switch (state) { + case 'idle': + return 'Getting ready...'; + case 'fetching_data': + return 'Fetching data...'; + case 'validating_document': + return 'Validating document...'; + case 'init_tee_connexion': + return 'Preparing secure environment...'; + case 'ready_to_prove': + return 'Ready to prove...'; + case 'proving': + return 'Generating proof...'; + case 'post_proving': + return 'Finalizing...'; + case 'completed': + return 'Verification completed!'; + case 'error': + return 'Error occurred'; + case 'passport_not_supported': + return 'Passport not supported'; + case 'account_recovery_choice': + return 'Account recovery needed'; + case 'passport_data_not_found': + return 'Passport data not found'; + case 'failure': + return 'Verification failed'; + default: + return 'Processing...'; + } +}; + +export async function requestNotificationPermission(): Promise { + try { + if (Platform.OS === 'android') { + if (Platform.Version >= 33) { + const permission = await PermissionsAndroid.request( + PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS, + ); + if (permission !== PermissionsAndroid.RESULTS.GRANTED) { + console.log('Notification permission denied'); + return false; + } + } + } + + const authStatus = await messaging().requestPermission(); + const enabled = + authStatus === messaging.AuthorizationStatus.AUTHORIZED || + authStatus === messaging.AuthorizationStatus.PROVISIONAL; + + console.log('Notification permission status:', enabled); + + return enabled; + } catch (error) { + console.error('Failed to request notification permission:', error); + return false; + } +} + +export async function getFCMToken(): Promise { + try { + const token = await messaging().getToken(); + if (token) { + console.log('FCM Token received'); + return token; + } + return null; + } catch (error) { + console.error('Failed to get FCM token:', error); + return null; + } +} + +export async function registerDeviceToken( + sessionId: string, + deviceToken?: string, + isMockPassport?: boolean, +): Promise { + try { + let token = deviceToken; + if (!token) { + token = await messaging().getToken(); + if (!token) { + console.log('No FCM token available'); + return; + } + } + + const cleanedToken = token.trim(); + const baseUrl = isMockPassport ? API_URL_STAGING : API_URL; + + const deviceTokenRegistration = { + session_id: sessionId, + device_token: cleanedToken, + platform: Platform.OS === 'ios' ? 'ios' : 'android', + }; + + if (cleanedToken.length > 10) { + console.log( + 'Registering device token:', + `${cleanedToken.substring(0, 5)}...${cleanedToken.substring( + cleanedToken.length - 5, + )}`, + ); + } + + const response = await fetch(`${baseUrl}/register-token`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + body: JSON.stringify(deviceTokenRegistration), + }); + + if (!response.ok) { + const errorText = await response.text(); + console.error( + 'Failed to register device token:', + response.status, + errorText, + ); + } else { + console.log( + 'Device token registered successfully with session_id:', + sessionId, + ); + } + } catch (error) { + console.error('Error registering device token:', error); + } +} + +export interface RemoteMessage { + messageId?: string; + data?: { [key: string]: string | object }; + notification?: { + title?: string; + body?: string; + }; + [key: string]: any; +} + +export function setupNotifications(): () => void { + messaging().setBackgroundMessageHandler( + async (remoteMessage: RemoteMessage) => { + console.log('Message handled in the background!', remoteMessage); + }, + ); + + const unsubscribeForeground = messaging().onMessage( + async (remoteMessage: RemoteMessage) => { + console.log('Foreground message received:', remoteMessage); + }, + ); + + return unsubscribeForeground; +} diff --git a/app/src/utils/proving/provingMachine.ts b/app/src/utils/proving/provingMachine.ts index 331bca070..a487ada3b 100644 --- a/app/src/utils/proving/provingMachine.ts +++ b/app/src/utils/proving/provingMachine.ts @@ -124,6 +124,8 @@ interface ProvingState { error_code: string | null; reason: string | null; endpointType: EndpointType | null; + fcmToken: string | null; + setFcmToken: (token: string) => void; init: ( circuitType: 'dsc' | 'disclose' | 'register', userConfirmed?: boolean, @@ -243,6 +245,10 @@ export const useProvingStore = create((set, get) => { error_code: null, reason: null, endpointType: null, + fcmToken: null, + setFcmToken: (token: string) => { + set({ fcmToken: token }); + }, _handleWebSocketMessage: async (event: MessageEvent) => { if (!actor) { console.error('Cannot process message: State machine not initialized.'); @@ -543,6 +549,7 @@ export const useProvingStore = create((set, get) => { passportData, useProtocolStore.getState().passport.dsc_tree, ); + console.log('isDscRegistered: ', isDscRegistered); if (isDscRegistered) { set({ circuitType: 'register' }); } @@ -612,21 +619,41 @@ export const useProvingStore = create((set, get) => { startProving: async () => { _checkActorInitialized(actor); - const { wsConnection, sharedKey, passportData, secret } = get(); + const { wsConnection, sharedKey, passportData, secret, uuid, fcmToken } = + get(); if (get().currentState !== 'ready_to_prove') { console.error('Cannot start proving: Not in ready_to_prove state.'); return; } - if (!wsConnection || !sharedKey || !passportData || !secret) { + if (!wsConnection || !sharedKey || !passportData || !secret || !uuid) { console.error( - 'Cannot start proving: Missing wsConnection, sharedKey, passportData, or secret.', + 'Cannot start proving: Missing wsConnection, sharedKey, passportData, secret, or uuid.', ); actor!.send({ type: 'PROVE_ERROR' }); return; } try { + // Register device token before payload generation + if (fcmToken) { + try { + const { + registerDeviceToken, + } = require('../../utils/notifications/notificationService'); + console.log( + 'passportData.documentType: ', + passportData?.documentType, + ); + const isMockPassport = + passportData?.documentType === 'mock_passport'; + await registerDeviceToken(uuid, fcmToken, isMockPassport); + } catch (error) { + console.error('Error registering device token:', error); + // Continue with the proving process even if token registration fails + } + } + const submitBody = await get()._generatePayload(); wsConnection.send(JSON.stringify(submitBody)); actor!.send({ type: 'START_PROVING' }); @@ -691,6 +718,7 @@ export const useProvingStore = create((set, get) => { _generatePayload: async () => { const { circuitType, passportData, secret, uuid, sharedKey } = get(); + console.log('circuitType: ', circuitType); const selfApp = useSelfAppStore.getState().selfApp; // TODO: according to the circuitType we could check that the params are valid. let inputs, circuitName, endpointType, endpoint; diff --git a/app/tests/__setup__/notificationServiceMock.js b/app/tests/__setup__/notificationServiceMock.js new file mode 100644 index 000000000..307bc1c24 --- /dev/null +++ b/app/tests/__setup__/notificationServiceMock.js @@ -0,0 +1,16 @@ +/* global jest */ + +// Mock for notificationService.ts +export const getStateMessage = jest.fn().mockImplementation(state => { + return 'Mock state message'; +}); + +export const requestNotificationPermission = jest.fn().mockResolvedValue(true); + +export const getFCMToken = jest.fn().mockResolvedValue('mock-fcm-token'); + +export const registerDeviceToken = jest.fn().mockResolvedValue(); + +export const setupNotifications = jest.fn().mockReturnValue(jest.fn()); + +export const RemoteMessage = {}; diff --git a/app/tests/src/navigation.test.ts b/app/tests/src/navigation.test.ts index 50600cb26..a419b1b88 100644 --- a/app/tests/src/navigation.test.ts +++ b/app/tests/src/navigation.test.ts @@ -15,6 +15,7 @@ describe('navigation', () => { 'Home', 'Launch', 'LoadingScreen', + 'MockDataDeepLink', 'Modal', 'PassportCamera', 'PassportCameraTrouble', diff --git a/app/yarn.lock b/app/yarn.lock index 2c2acdbec..55362c537 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -2232,6 +2232,36 @@ __metadata: languageName: node linkType: hard +"@react-native-firebase/app@npm:^18.7.3": + version: 18.9.0 + resolution: "@react-native-firebase/app@npm:18.9.0" + dependencies: + opencollective-postinstall: "npm:^2.0.3" + superstruct: "npm:^0.6.2" + peerDependencies: + expo: ">=47.0.0" + react: "*" + react-native: "*" + peerDependenciesMeta: + expo: + optional: true + checksum: 10c0/8780772cf9d778709903db20d039472b57f8dd7b694f9fb0e2439c9135916125114cf871fba1a571161dbd4b08de729336924b9fa36c4742e83e0bccf3b98ac7 + languageName: node + linkType: hard + +"@react-native-firebase/messaging@npm:^18.7.3": + version: 18.9.0 + resolution: "@react-native-firebase/messaging@npm:18.9.0" + peerDependencies: + "@react-native-firebase/app": 18.9.0 + expo: ">=47.0.0" + peerDependenciesMeta: + expo: + optional: true + checksum: 10c0/7935210c73a79eb17c36a99c6e66d90dff36109d77f9b9dc8fc0108998c41f2d1e3d6780f2ae64dff267bcc18f761a0c6d68638c7deebe2a4fa4cc5905158ca0 + languageName: node + linkType: hard + "@react-native-google-signin/google-signin@npm:^13.1.0": version: 13.2.0 resolution: "@react-native-google-signin/google-signin@npm:13.2.0" @@ -7237,6 +7267,18 @@ __metadata: languageName: node linkType: hard +"clone-deep@npm:^2.0.1": + version: 2.0.2 + resolution: "clone-deep@npm:2.0.2" + dependencies: + for-own: "npm:^1.0.0" + is-plain-object: "npm:^2.0.4" + kind-of: "npm:^6.0.0" + shallow-clone: "npm:^1.0.0" + checksum: 10c0/123dd0acbdf8140e8b1dab3ae18aa490b71338a327d678b00cf1cf85b26dc12f7118408d1588cea75cccb763e1c1d2675e953af151200e0a19ab3763cb4fbfb0 + languageName: node + linkType: hard + "clone-deep@npm:^4.0.1": version: 4.0.1 resolution: "clone-deep@npm:4.0.1" @@ -8847,6 +8889,29 @@ __metadata: languageName: node linkType: hard +"for-in@npm:^0.1.3": + version: 0.1.8 + resolution: "for-in@npm:0.1.8" + checksum: 10c0/11070c49646ba859f1076fb9abf0bb2774fafb224b20bb161de70c0ecf91cbf23107f5ce7c337901dd4938609b592068b10a947e3185b42fa1a27f640300238a + languageName: node + linkType: hard + +"for-in@npm:^1.0.1": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 10c0/42bb609d564b1dc340e1996868b67961257fd03a48d7fdafd4f5119530b87f962be6b4d5b7e3a3fc84c9854d149494b1d358e0b0ce9837e64c4c6603a49451d6 + languageName: node + linkType: hard + +"for-own@npm:^1.0.0": + version: 1.0.0 + resolution: "for-own@npm:1.0.0" + dependencies: + for-in: "npm:^1.0.1" + checksum: 10c0/ca475bc22935edf923631e9e23588edcbed33a30f0c81adc98e2c7df35db362ec4f4b569bc69051c7cfc309dfc223818c09a2f52ccd9ed77b71931c913a43a13 + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.3.0 resolution: "foreground-child@npm:3.3.0" @@ -9594,6 +9659,13 @@ __metadata: languageName: node linkType: hard +"is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -10650,7 +10722,14 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2": +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: 10c0/fe85b7a2ed4b4d5a12e16e01d00d5c336e1760842fe0da38283605b9880c984288935e87b13138909e4d23d2d197a1d492f7393c6638d2c0fab8a900c4fb0392 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.1, kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 @@ -11588,6 +11667,16 @@ __metadata: languageName: node linkType: hard +"mixin-object@npm:^2.0.1": + version: 2.0.1 + resolution: "mixin-object@npm:2.0.1" + dependencies: + for-in: "npm:^0.1.3" + is-extendable: "npm:^0.1.1" + checksum: 10c0/ae04f7830457deb5eb5be952c8373f8e49ca76a784d71e71bcca3fec0bad95fee31e501592208e42e1afdb3e271139628ded3b0471a9d33c162d7b0883e6010a + languageName: node + linkType: hard + "mkdirp@npm:^0.5.1": version: 0.5.6 resolution: "mkdirp@npm:0.5.6" @@ -11988,6 +12077,15 @@ __metadata: languageName: node linkType: hard +"opencollective-postinstall@npm:^2.0.3": + version: 2.0.3 + resolution: "opencollective-postinstall@npm:2.0.3" + bin: + opencollective-postinstall: index.js + checksum: 10c0/8a0104a218bc1afaae943f0af378461eeb2836f9848bad872bbd067ec5d1d9791636f307454ab77d0746f10341366f295384656a340ebdb87a2585058e8567e5 + languageName: node + linkType: hard + "openpassport@workspace:.": version: 0.0.0-use.local resolution: "openpassport@workspace:." @@ -12002,6 +12100,8 @@ __metadata: "@react-native-clipboard/clipboard": "npm:1.13.2" "@react-native-community/cli": "npm:^14.1.1" "@react-native-community/netinfo": "npm:^11.4.1" + "@react-native-firebase/app": "npm:^18.7.3" + "@react-native-firebase/messaging": "npm:^18.7.3" "@react-native-google-signin/google-signin": "npm:^13.1.0" "@react-native/babel-preset": "npm:0.75.4" "@react-native/eslint-config": "npm:0.75.4" @@ -13647,6 +13747,17 @@ __metadata: languageName: node linkType: hard +"shallow-clone@npm:^1.0.0": + version: 1.0.0 + resolution: "shallow-clone@npm:1.0.0" + dependencies: + is-extendable: "npm:^0.1.1" + kind-of: "npm:^5.0.0" + mixin-object: "npm:^2.0.1" + checksum: 10c0/157ea65060571e6aaa88778172ecb82abce00cf4a917bfd31a3db92dcd46582464f3cb6729f9ffcb7f00bda7d55de23856b6db7b15f00b6d0ed107bc5565e95d + languageName: node + linkType: hard + "shallow-clone@npm:^3.0.0": version: 3.0.1 resolution: "shallow-clone@npm:3.0.1" @@ -14206,6 +14317,16 @@ __metadata: languageName: node linkType: hard +"superstruct@npm:^0.6.2": + version: 0.6.2 + resolution: "superstruct@npm:0.6.2" + dependencies: + clone-deep: "npm:^2.0.1" + kind-of: "npm:^6.0.1" + checksum: 10c0/0e11f5e12dad84cb3bfaa9ae7438655a5e69b7aa5e2aa17bb5116342122c8c308b9eadbcb67141fbaf1c4f238bd4554e5ef54f2ce979ea5c4fce480f9abacb57 + languageName: node + linkType: hard + "supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" diff --git a/common/src/constants/mockCertificates.ts b/common/src/constants/mockCertificates.ts index 12ff91bc7..0cbc943a4 100644 --- a/common/src/constants/mockCertificates.ts +++ b/common/src/constants/mockCertificates.ts @@ -728,60 +728,60 @@ ZKazzcaFGmL7inloJkPj23uv2eN9pPA= `; export const mock_dsc_sha256_rsa_65537_2048 = `-----BEGIN CERTIFICATE----- -MIIEjjCCAnagAwIBAgIUSyk6a2ZPCraWTA+s9H8fdsggn48wDQYJKoZIhvcNAQEL +MIIEjjCCAnagAwIBAgIUTdFK1DQVxqu5Bm0IQrh313iQFrswDQYJKoZIhvcNAQEL BQAwYDELMAkGA1UEBhMCRlIxDDAKBgNVBAgMA0lERjEOMAwGA1UEBwwFUGFyaXMx EjAQBgNVBAoMCU1vY2sgQ1NDQTEMMAoGA1UECwwDUEtJMREwDwYDVQQDDAhNb2Nr -Q1NDQTAeFw0yNTAyMTkwNDMyMDZaFw0zNTAyMTcwNDMyMDZaMF4xCzAJBgNVBAYT +Q1NDQTAeFw0yNTA1MDcxNDM3MjJaFw0zNTA1MDUxNDM3MjJaMF4xCzAJBgNVBAYT AkZSMQwwCgYDVQQIDANJREYxDjAMBgNVBAcMBVBhcmlzMREwDwYDVQQKDAhNb2Nr IERTQzEMMAoGA1UECwwDUEtJMRAwDgYDVQQDDAdNb2NrRFNDMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnvA54JgDEJ8e9UQPwWYGIbyXd7LuDy+rE30s -A4PJKZZ0hFV2RU4OHEVo/gKwe8mF7Ku+xhqJIMXk5cQUCuHAQRSleqgIzi2f6Ryg -jERDWBF6EbAs0ERFJUfn1ef27azruRlWKqlZBasDcCrQ68CHJciKRB9AD24cEN8O -UGJeroM/WIyifTInb4caDFIjEQXYagJmQHq755JXkWQJpLe/hez/rCRs4pR++Erc -rsxD4OHxsjIf3cQyOEtSOI/k9NRwg9kgQn2xXeEnu2Ru/nnMLK+g4M8RkpS8ywMQ -15jfVD4E15uotWNHJDe3/lb34hHOauWulGMncJR3uk5yTOCcjQIDAQABo0IwQDAd -BgNVHQ4EFgQUrLflem1N5rYoS3zGNSrFTW/P5GUwHwYDVR0jBBgwFoAUBJ3Efldg -z2h/d66RqmOFNzCm6tMwDQYJKoZIhvcNAQELBQADggIBAIjmpPlat3YPcsGAFJ84 -S3x/+4zm5FwQMBwhZi9lbps+6sjvsilH21nZUlob4fxf6iyDwCkcrIskAGi1CBBk -4Rmr+qoIKqa7PslpSjMAQUBye1wHotNBEBzUoEqjHNHs4MhNL3Lqruy80VlZKF0y -gsHRGU5yDwgdVH9E32OGiKla7OdYl4lVf9+BmJla0qKu90qlOptXgxkzAP1k+Qog -P+91hrTmXZ5ZD/MhSHyFQa8njeqmpgrDBDBPnSeOsC7jzWNuHGznL8UAOf8TfI5i -JMppk4LjzJKFoh21Dkfa+vJpJ9R8WQxgManhznb4HWR0DF/3nVoCUB3fMaW1grxl -NclQcZyFs2KInsUit3f2stOHhehmmBMc+VQtyLSHBwE85X0D5i1U6O3kKQZt9Ql+ -qP+NihAZldyoQBJlI3UTVaGzynPmm4V6K+Fk5cP6SomgiWbFMnZH65UFTsZF+nEt -uXOYdaDmnWzUqTSaDa5SZMpjy0fN4XuTgafjHzSv6FrnYUZDdTMd8a1VRUXOpjUF -q76ubiplTVPm6kOCN8FqXdUaly7hyG6+HJiDHikvv8+h5iQqLsaKOsgsJZAa77n5 -7H9T9h1D0qQ3QBQ8epvWI3xATzFv8vBicKLPe1VFv0Q1+5Oo/g8PfnMWOH96Qv7W -nnZJ6+85NCFBcO6rwPnj5hB6 +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAojUmkUHOmmloqOkdY9ij1FZ6W0gaXp9kaieS +41UuHXPiTfRZU/QdQHYsgCfcG0tHGosiFit6IjgcEHs++wkSpWArhplFj25zH7/k +gc75anzgLJ5EacSc4Qm9ExftJvtSF1UKjUFb8EfM8CVG83FK3SVGvI2BQxK3DLGy +i7rR3NbDhO0MJbqCMRLa5Ccug61IU4udTDLYJhu+ZGbXfH1LUA7Hmrc1wzSo4jjz +4KuVVED5x+oMCQzRiLH1b45SPiE74VchZoBEV3WD7Ffc3bfHX+Gh8DiHQsuxvJK1 +Neo34+vzs/7rh4UmRZN34OWkMfFHJ82uw9/ie65q/6Hxg1npAwIDAQABo0IwQDAd +BgNVHQ4EFgQUkYPG8AEgGr+WPdHpwt4YpZ+lsgIwHwYDVR0jBBgwFoAUBJ3Efldg +z2h/d66RqmOFNzCm6tMwDQYJKoZIhvcNAQELBQADggIBABOt1Q5Palc84ToeS5lT +6ItZjy7BLP567TJRa4zvZ8TnWnw1AMlarRBUrjvg/Xw8bRUd64zAqu7rK+dK1P2+ +johj3qY+Lj9xpvHQ0kbgdOWfxgkXZ1LGYQETAW0jsOqrX5zH4Q2AeP34bAAEY8qz +DJAvy85oGYrkY4eYebEXAQ4b0nU4LOVBQNCz3Ek57hG4BUHt37cO7e6vnv86UHkd +pISeyZwMy7aBIiWA4IhhcLLVhynuMvoVN/JqMsMqZo0FLyc3eAQJ157FyCuQ6ush +gJcxjjBFtAM/S+7VsC1ClSEWy7v3kU/2Kft1YhXyh29ixnhtqJv4csbe8DQuB54w +sJkK/8o3+vAlLXUC/umvcuY2mPjC7phLMIiKVuYKyXPE0RZVwtAuuB2vOI3HW1s8 +3nbSAUOQc2QWHF8UT4YPG/uMYUTHOGAMpJK36/UItYQAocN5l+4seJwDuuN5C6nW +zFH+M1/Tr5Aw6Xl2U7lylIOU0lRkyp81xmWcWmF08pEg6hVE/bJwIvhO7GIRzJ1Y +mG1/xwT+RbrvzgZJvDgkUslVDKjv0vKrql/mKBXT6UAtHVAH6zTkrBPYJvU0wo8W +dcms/OIsETp08QmqVGAb+uiubZ2IdhBoLCJAnDQ51liE9jiqz/TN/25ql9WivoDK +w9aNbbxeEhIOdzGCZu/JmpPC -----END CERTIFICATE----- `; export const mock_dsc_sha256_rsa_65537_2048_key = `-----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCe8DngmAMQnx71 -RA/BZgYhvJd3su4PL6sTfSwDg8kplnSEVXZFTg4cRWj+ArB7yYXsq77GGokgxeTl -xBQK4cBBFKV6qAjOLZ/pHKCMRENYEXoRsCzQREUlR+fV5/btrOu5GVYqqVkFqwNw -KtDrwIclyIpEH0APbhwQ3w5QYl6ugz9YjKJ9MidvhxoMUiMRBdhqAmZAervnkleR -ZAmkt7+F7P+sJGzilH74StyuzEPg4fGyMh/dxDI4S1I4j+T01HCD2SBCfbFd4Se7 -ZG7+ecwsr6DgzxGSlLzLAxDXmN9UPgTXm6i1Y0ckN7f+VvfiEc5q5a6UYydwlHe6 -TnJM4JyNAgMBAAECggEAHWsko1wvsQtq3QYAjpEWUHdKZ/cAFmKB3WUdWPczLFXz -ci0pa5GTjgsQ8HdJ+FeoSNLPSHbP6/eFMzw0Y4E+py0tpgLlQlhykWDhnKTj/DCb -8hs0aEZCsDBbip3ZeEu6A/RbHSFkX2a0h7X9Hq3vtgAlC4/nORPt8PeAfEOA9/b7 -WVnbYmGfOjU4zJiuVbj4d1nImWcjhRHbP/32KQjI2JJsQG1Qfsyd8WeqcrHaDSDR -UKOyBEcix1U2bD8rpAEJPxfDCery7LoYDIzoDj4j6LD93a3+AX+C93eJ4HjyCvyD -Di0irxYJ8s4A166DFmZsUFGMVO0bk7c29tiZ6U/FVwKBgQDWkyLCgqbiDUgUcEqV -9yqhx2oaXKDAsyUGDnLKRN69DvxNP+OR6+h44L+Z42ZAUFrmTwZD23sFgFFSgMB5 -qzJArTRfg+e5hgkyjX2m84ADLqnT8gycOXlwhgjf1ExvYYvkf1UDcDzdfyuk/++y -7fS/akbXpwmsIeSagvMuAkVYBwKBgQC9n2QDfcyVyEt5F+40+TPFiyH6mBrVwGwA -0v7LAgrWmnPJgMk1dFJhUse3R7GXk6HulOGUyLjQEB3sOr85amS832QT05LmnmNV -B6Qk0p0i2GrwfS6JqSR9SJYBG2G9xRQnGskyYwHcMGWSipllVCVxX3Fg9RBzqTSn -+wTvpVP5ywKBgAx3wC1NKiU4YFfProXINtHvpFqjxzNrNVuEu2bFWavikwZqD+8K -phdf98IZVHeoM5/uN4750cwgCJmioYxwRhs79S8Xmv9MqnwlfIeW3nlQ3M1T4yew -rz26jAl1bHuMT3SXcXkhrGeyW/baaDMdYHs+0Z72Nbmqvn273iVuPFlBAoGAHMw1 -IzaauHCnzactvQvPqgOcUHODN802WdWxbmFMBhWE2ihd5mlZDYDF5fbUaMG6CQLB -U5g8QRUBhlvRqMWYsPp4N26dU7rgOQylCBaYWK9nZkiMpclzSjeY2GgxKuHgUqQF -xEo3ARq0glHcRABIg3RMQr5VFkuvPIep0z9XhosCgYEAs2umrHmDf9PcL5HlEcDM -+3gFMX2drPqD0qgNc9kT2pReTenab3vOetqaQu13MHhCbbzjMXJtroRPKgUcG0OT -DjwY1HcSjSZwmT5hG07RGtvQRIiIt5ya1P4/AYPqxxWGy+U7qd9wdeIVmaFAbmaK -CKIIyyAUZiKJePx7rMgfJIE= +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCiNSaRQc6aaWio +6R1j2KPUVnpbSBpen2RqJ5LjVS4dc+JN9FlT9B1AdiyAJ9wbS0caiyIWK3oiOBwQ +ez77CRKlYCuGmUWPbnMfv+SBzvlqfOAsnkRpxJzhCb0TF+0m+1IXVQqNQVvwR8zw +JUbzcUrdJUa8jYFDErcMsbKLutHc1sOE7QwluoIxEtrkJy6DrUhTi51MMtgmG75k +Ztd8fUtQDseatzXDNKjiOPPgq5VUQPnH6gwJDNGIsfVvjlI+ITvhVyFmgERXdYPs +V9zdt8df4aHwOIdCy7G8krU16jfj6/Oz/uuHhSZFk3fg5aQx8Ucnza7D3+J7rmr/ +ofGDWekDAgMBAAECggEABa6Q8Z5O1g/X2lrYFwrxVNshTBiZe95feRchHmokbw8D +yrFC08ha90rBwkzNzqhIuar4AF4jgsFZElFkN7eYpJxayfXifuS35FEneE3qD2CH +xb2sLdGfoS5jJiESGJR4dVga7NnGQQNy2qf49UbEVZIcXox3uQQVz2cGFxOYjatr +Q6c8BHbDRzP+fZQ+vmBNUNuzzghmbglclehc7Eu02qn3ENX5NAVTKgTlsYI1x7fi ++og2rdQ4F1eyPnRazyiRPWMjD3bRMQN52cFsVEZzESGOTrSwN/1dWBD44rxi7Das +BJlt7CNpHBnmLTtAv3xhF1RPCpOAtmRy6SzraK1cWQKBgQDRuflbBAK6v6rJgNJc +gsqpQ7po3HinRiXEuwyOU9jm9fv6HIcHb/MQ1q1MgjAYnliG9bnqgL7Hb9MbZERC +ctYvIg+SZqh5D6exFP60QVXrtUvooQB9nTpZk2vRh1fhqh1UeH+th9p//KhDySnC +yMiYk7B15foJHRwraMm+sxOmdwKBgQDF/yjPPLEUbc7FDFelg6ZAhE+DkR8iXc8/ +XX3NrQ0WXKiPQL1HkLdVIp9GdHYjsV+BYfuoklo9l2OGk8piqp1XGF/uKmr+jw/H +7JRwDQlaDxn34IXPEC9SuQtszYrUPpw6lDZwfRVN1YAU2qaCWvH5vBDqCfWwawr8 +Fy3s09TY1QKBgAmQrtO82hcEWNi53F5FxNJ1eVIBBCu04lIXqdnv7wuRmn1swafQ +LkjNUbgUk/b7edQl7uXIG2tjKUCtkQNq02Pw7L7jmblzwlUsPPWhqTaH3T9t4GTa +P+gH9jnnL1XmeVH58PDMKmX98vqseRAeMi/rRHgMFhxGTJuaOuFMr4+/AoGAYUNB +BtynmIOAqWewvov3ZYYZkWX+x2ER5+zDWgACh9OosgZ5dOhwRxAk8fVP+6SsZ+B8 +QYjzb4Ioz/lV2DY76Ib+yP5pZPdeJzXejVS6HVWByjSvRtKKjLZ+GEq4Qh8nm9cn +DwdDKeMRci0e0rZeW/G41V9jI/DRipjQZKCC1KkCgYEAh+jZO439fj6bC/qep0ZJ +APhPZLcnRj/ksxISN7PG+xP794ARoKdowrmCaoKklHeVMD/c/H9GH0raQvjy3UiI +mwoJPZ68s1Y+OuSOM1nPO7FgDDaWuFtfc5tmL/m6F1QkmCT8ybmyZAPN9aRNY7tr +BvzFEql82X1AhufubG4F7dI= -----END PRIVATE KEY----- `; diff --git a/common/src/mock_certificates/sha256_rsa_65537_2048/mock_dsc.key b/common/src/mock_certificates/sha256_rsa_65537_2048/mock_dsc.key index 014fd88ee..c800a8742 100644 --- a/common/src/mock_certificates/sha256_rsa_65537_2048/mock_dsc.key +++ b/common/src/mock_certificates/sha256_rsa_65537_2048/mock_dsc.key @@ -1,28 +1,28 @@ -----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCe8DngmAMQnx71 -RA/BZgYhvJd3su4PL6sTfSwDg8kplnSEVXZFTg4cRWj+ArB7yYXsq77GGokgxeTl -xBQK4cBBFKV6qAjOLZ/pHKCMRENYEXoRsCzQREUlR+fV5/btrOu5GVYqqVkFqwNw -KtDrwIclyIpEH0APbhwQ3w5QYl6ugz9YjKJ9MidvhxoMUiMRBdhqAmZAervnkleR -ZAmkt7+F7P+sJGzilH74StyuzEPg4fGyMh/dxDI4S1I4j+T01HCD2SBCfbFd4Se7 -ZG7+ecwsr6DgzxGSlLzLAxDXmN9UPgTXm6i1Y0ckN7f+VvfiEc5q5a6UYydwlHe6 -TnJM4JyNAgMBAAECggEAHWsko1wvsQtq3QYAjpEWUHdKZ/cAFmKB3WUdWPczLFXz -ci0pa5GTjgsQ8HdJ+FeoSNLPSHbP6/eFMzw0Y4E+py0tpgLlQlhykWDhnKTj/DCb -8hs0aEZCsDBbip3ZeEu6A/RbHSFkX2a0h7X9Hq3vtgAlC4/nORPt8PeAfEOA9/b7 -WVnbYmGfOjU4zJiuVbj4d1nImWcjhRHbP/32KQjI2JJsQG1Qfsyd8WeqcrHaDSDR -UKOyBEcix1U2bD8rpAEJPxfDCery7LoYDIzoDj4j6LD93a3+AX+C93eJ4HjyCvyD -Di0irxYJ8s4A166DFmZsUFGMVO0bk7c29tiZ6U/FVwKBgQDWkyLCgqbiDUgUcEqV -9yqhx2oaXKDAsyUGDnLKRN69DvxNP+OR6+h44L+Z42ZAUFrmTwZD23sFgFFSgMB5 -qzJArTRfg+e5hgkyjX2m84ADLqnT8gycOXlwhgjf1ExvYYvkf1UDcDzdfyuk/++y -7fS/akbXpwmsIeSagvMuAkVYBwKBgQC9n2QDfcyVyEt5F+40+TPFiyH6mBrVwGwA -0v7LAgrWmnPJgMk1dFJhUse3R7GXk6HulOGUyLjQEB3sOr85amS832QT05LmnmNV -B6Qk0p0i2GrwfS6JqSR9SJYBG2G9xRQnGskyYwHcMGWSipllVCVxX3Fg9RBzqTSn -+wTvpVP5ywKBgAx3wC1NKiU4YFfProXINtHvpFqjxzNrNVuEu2bFWavikwZqD+8K -phdf98IZVHeoM5/uN4750cwgCJmioYxwRhs79S8Xmv9MqnwlfIeW3nlQ3M1T4yew -rz26jAl1bHuMT3SXcXkhrGeyW/baaDMdYHs+0Z72Nbmqvn273iVuPFlBAoGAHMw1 -IzaauHCnzactvQvPqgOcUHODN802WdWxbmFMBhWE2ihd5mlZDYDF5fbUaMG6CQLB -U5g8QRUBhlvRqMWYsPp4N26dU7rgOQylCBaYWK9nZkiMpclzSjeY2GgxKuHgUqQF -xEo3ARq0glHcRABIg3RMQr5VFkuvPIep0z9XhosCgYEAs2umrHmDf9PcL5HlEcDM -+3gFMX2drPqD0qgNc9kT2pReTenab3vOetqaQu13MHhCbbzjMXJtroRPKgUcG0OT -DjwY1HcSjSZwmT5hG07RGtvQRIiIt5ya1P4/AYPqxxWGy+U7qd9wdeIVmaFAbmaK -CKIIyyAUZiKJePx7rMgfJIE= +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCiNSaRQc6aaWio +6R1j2KPUVnpbSBpen2RqJ5LjVS4dc+JN9FlT9B1AdiyAJ9wbS0caiyIWK3oiOBwQ +ez77CRKlYCuGmUWPbnMfv+SBzvlqfOAsnkRpxJzhCb0TF+0m+1IXVQqNQVvwR8zw +JUbzcUrdJUa8jYFDErcMsbKLutHc1sOE7QwluoIxEtrkJy6DrUhTi51MMtgmG75k +Ztd8fUtQDseatzXDNKjiOPPgq5VUQPnH6gwJDNGIsfVvjlI+ITvhVyFmgERXdYPs +V9zdt8df4aHwOIdCy7G8krU16jfj6/Oz/uuHhSZFk3fg5aQx8Ucnza7D3+J7rmr/ +ofGDWekDAgMBAAECggEABa6Q8Z5O1g/X2lrYFwrxVNshTBiZe95feRchHmokbw8D +yrFC08ha90rBwkzNzqhIuar4AF4jgsFZElFkN7eYpJxayfXifuS35FEneE3qD2CH +xb2sLdGfoS5jJiESGJR4dVga7NnGQQNy2qf49UbEVZIcXox3uQQVz2cGFxOYjatr +Q6c8BHbDRzP+fZQ+vmBNUNuzzghmbglclehc7Eu02qn3ENX5NAVTKgTlsYI1x7fi ++og2rdQ4F1eyPnRazyiRPWMjD3bRMQN52cFsVEZzESGOTrSwN/1dWBD44rxi7Das +BJlt7CNpHBnmLTtAv3xhF1RPCpOAtmRy6SzraK1cWQKBgQDRuflbBAK6v6rJgNJc +gsqpQ7po3HinRiXEuwyOU9jm9fv6HIcHb/MQ1q1MgjAYnliG9bnqgL7Hb9MbZERC +ctYvIg+SZqh5D6exFP60QVXrtUvooQB9nTpZk2vRh1fhqh1UeH+th9p//KhDySnC +yMiYk7B15foJHRwraMm+sxOmdwKBgQDF/yjPPLEUbc7FDFelg6ZAhE+DkR8iXc8/ +XX3NrQ0WXKiPQL1HkLdVIp9GdHYjsV+BYfuoklo9l2OGk8piqp1XGF/uKmr+jw/H +7JRwDQlaDxn34IXPEC9SuQtszYrUPpw6lDZwfRVN1YAU2qaCWvH5vBDqCfWwawr8 +Fy3s09TY1QKBgAmQrtO82hcEWNi53F5FxNJ1eVIBBCu04lIXqdnv7wuRmn1swafQ +LkjNUbgUk/b7edQl7uXIG2tjKUCtkQNq02Pw7L7jmblzwlUsPPWhqTaH3T9t4GTa +P+gH9jnnL1XmeVH58PDMKmX98vqseRAeMi/rRHgMFhxGTJuaOuFMr4+/AoGAYUNB +BtynmIOAqWewvov3ZYYZkWX+x2ER5+zDWgACh9OosgZ5dOhwRxAk8fVP+6SsZ+B8 +QYjzb4Ioz/lV2DY76Ib+yP5pZPdeJzXejVS6HVWByjSvRtKKjLZ+GEq4Qh8nm9cn +DwdDKeMRci0e0rZeW/G41V9jI/DRipjQZKCC1KkCgYEAh+jZO439fj6bC/qep0ZJ +APhPZLcnRj/ksxISN7PG+xP794ARoKdowrmCaoKklHeVMD/c/H9GH0raQvjy3UiI +mwoJPZ68s1Y+OuSOM1nPO7FgDDaWuFtfc5tmL/m6F1QkmCT8ybmyZAPN9aRNY7tr +BvzFEql82X1AhufubG4F7dI= -----END PRIVATE KEY----- diff --git a/common/src/mock_certificates/sha256_rsa_65537_2048/mock_dsc.pem b/common/src/mock_certificates/sha256_rsa_65537_2048/mock_dsc.pem index ca3b2defc..d70fdbf14 100644 --- a/common/src/mock_certificates/sha256_rsa_65537_2048/mock_dsc.pem +++ b/common/src/mock_certificates/sha256_rsa_65537_2048/mock_dsc.pem @@ -1,27 +1,27 @@ -----BEGIN CERTIFICATE----- -MIIEjjCCAnagAwIBAgIUSyk6a2ZPCraWTA+s9H8fdsggn48wDQYJKoZIhvcNAQEL +MIIEjjCCAnagAwIBAgIUTdFK1DQVxqu5Bm0IQrh313iQFrswDQYJKoZIhvcNAQEL BQAwYDELMAkGA1UEBhMCRlIxDDAKBgNVBAgMA0lERjEOMAwGA1UEBwwFUGFyaXMx EjAQBgNVBAoMCU1vY2sgQ1NDQTEMMAoGA1UECwwDUEtJMREwDwYDVQQDDAhNb2Nr -Q1NDQTAeFw0yNTAyMTkwNDMyMDZaFw0zNTAyMTcwNDMyMDZaMF4xCzAJBgNVBAYT +Q1NDQTAeFw0yNTA1MDcxNDM3MjJaFw0zNTA1MDUxNDM3MjJaMF4xCzAJBgNVBAYT AkZSMQwwCgYDVQQIDANJREYxDjAMBgNVBAcMBVBhcmlzMREwDwYDVQQKDAhNb2Nr IERTQzEMMAoGA1UECwwDUEtJMRAwDgYDVQQDDAdNb2NrRFNDMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnvA54JgDEJ8e9UQPwWYGIbyXd7LuDy+rE30s -A4PJKZZ0hFV2RU4OHEVo/gKwe8mF7Ku+xhqJIMXk5cQUCuHAQRSleqgIzi2f6Ryg -jERDWBF6EbAs0ERFJUfn1ef27azruRlWKqlZBasDcCrQ68CHJciKRB9AD24cEN8O -UGJeroM/WIyifTInb4caDFIjEQXYagJmQHq755JXkWQJpLe/hez/rCRs4pR++Erc -rsxD4OHxsjIf3cQyOEtSOI/k9NRwg9kgQn2xXeEnu2Ru/nnMLK+g4M8RkpS8ywMQ -15jfVD4E15uotWNHJDe3/lb34hHOauWulGMncJR3uk5yTOCcjQIDAQABo0IwQDAd -BgNVHQ4EFgQUrLflem1N5rYoS3zGNSrFTW/P5GUwHwYDVR0jBBgwFoAUBJ3Efldg -z2h/d66RqmOFNzCm6tMwDQYJKoZIhvcNAQELBQADggIBAIjmpPlat3YPcsGAFJ84 -S3x/+4zm5FwQMBwhZi9lbps+6sjvsilH21nZUlob4fxf6iyDwCkcrIskAGi1CBBk -4Rmr+qoIKqa7PslpSjMAQUBye1wHotNBEBzUoEqjHNHs4MhNL3Lqruy80VlZKF0y -gsHRGU5yDwgdVH9E32OGiKla7OdYl4lVf9+BmJla0qKu90qlOptXgxkzAP1k+Qog -P+91hrTmXZ5ZD/MhSHyFQa8njeqmpgrDBDBPnSeOsC7jzWNuHGznL8UAOf8TfI5i -JMppk4LjzJKFoh21Dkfa+vJpJ9R8WQxgManhznb4HWR0DF/3nVoCUB3fMaW1grxl -NclQcZyFs2KInsUit3f2stOHhehmmBMc+VQtyLSHBwE85X0D5i1U6O3kKQZt9Ql+ -qP+NihAZldyoQBJlI3UTVaGzynPmm4V6K+Fk5cP6SomgiWbFMnZH65UFTsZF+nEt -uXOYdaDmnWzUqTSaDa5SZMpjy0fN4XuTgafjHzSv6FrnYUZDdTMd8a1VRUXOpjUF -q76ubiplTVPm6kOCN8FqXdUaly7hyG6+HJiDHikvv8+h5iQqLsaKOsgsJZAa77n5 -7H9T9h1D0qQ3QBQ8epvWI3xATzFv8vBicKLPe1VFv0Q1+5Oo/g8PfnMWOH96Qv7W -nnZJ6+85NCFBcO6rwPnj5hB6 +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAojUmkUHOmmloqOkdY9ij1FZ6W0gaXp9kaieS +41UuHXPiTfRZU/QdQHYsgCfcG0tHGosiFit6IjgcEHs++wkSpWArhplFj25zH7/k +gc75anzgLJ5EacSc4Qm9ExftJvtSF1UKjUFb8EfM8CVG83FK3SVGvI2BQxK3DLGy +i7rR3NbDhO0MJbqCMRLa5Ccug61IU4udTDLYJhu+ZGbXfH1LUA7Hmrc1wzSo4jjz +4KuVVED5x+oMCQzRiLH1b45SPiE74VchZoBEV3WD7Ffc3bfHX+Gh8DiHQsuxvJK1 +Neo34+vzs/7rh4UmRZN34OWkMfFHJ82uw9/ie65q/6Hxg1npAwIDAQABo0IwQDAd +BgNVHQ4EFgQUkYPG8AEgGr+WPdHpwt4YpZ+lsgIwHwYDVR0jBBgwFoAUBJ3Efldg +z2h/d66RqmOFNzCm6tMwDQYJKoZIhvcNAQELBQADggIBABOt1Q5Palc84ToeS5lT +6ItZjy7BLP567TJRa4zvZ8TnWnw1AMlarRBUrjvg/Xw8bRUd64zAqu7rK+dK1P2+ +johj3qY+Lj9xpvHQ0kbgdOWfxgkXZ1LGYQETAW0jsOqrX5zH4Q2AeP34bAAEY8qz +DJAvy85oGYrkY4eYebEXAQ4b0nU4LOVBQNCz3Ek57hG4BUHt37cO7e6vnv86UHkd +pISeyZwMy7aBIiWA4IhhcLLVhynuMvoVN/JqMsMqZo0FLyc3eAQJ157FyCuQ6ush +gJcxjjBFtAM/S+7VsC1ClSEWy7v3kU/2Kft1YhXyh29ixnhtqJv4csbe8DQuB54w +sJkK/8o3+vAlLXUC/umvcuY2mPjC7phLMIiKVuYKyXPE0RZVwtAuuB2vOI3HW1s8 +3nbSAUOQc2QWHF8UT4YPG/uMYUTHOGAMpJK36/UItYQAocN5l+4seJwDuuN5C6nW +zFH+M1/Tr5Aw6Xl2U7lylIOU0lRkyp81xmWcWmF08pEg6hVE/bJwIvhO7GIRzJ1Y +mG1/xwT+RbrvzgZJvDgkUslVDKjv0vKrql/mKBXT6UAtHVAH6zTkrBPYJvU0wo8W +dcms/OIsETp08QmqVGAb+uiubZ2IdhBoLCJAnDQ51liE9jiqz/TN/25ql9WivoDK +w9aNbbxeEhIOdzGCZu/JmpPC -----END CERTIFICATE----- diff --git a/common/yarn.lock b/common/yarn.lock index 55d1964f7..b4c5f1847 100644 --- a/common/yarn.lock +++ b/common/yarn.lock @@ -6,11 +6,9 @@ __metadata: cacheKey: 10c0 "@babel/runtime@npm:^7.23.4": - version: 7.27.0 - resolution: "@babel/runtime@npm:7.27.0" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/35091ea9de48bd7fd26fb177693d64f4d195eb58ab2b142b893b7f3fa0f1d7c677604d36499ae0621a3703f35ba0c6a8f6c572cc8f7dc0317213841e493cf663 + version: 7.27.1 + resolution: "@babel/runtime@npm:7.27.1" + checksum: 10c0/530a7332f86ac5a7442250456823a930906911d895c0b743bf1852efc88a20a016ed4cd26d442d0ca40ae6d5448111e02a08dd638a4f1064b47d080e2875dc05 languageName: node linkType: hard @@ -55,9 +53,9 @@ __metadata: linkType: hard "@noble/hashes@npm:^1.4.0": - version: 1.7.1 - resolution: "@noble/hashes@npm:1.7.1" - checksum: 10c0/2f8ec0338ccc92b576a0f5c16ab9c017a3a494062f1fbb569ae641c5e7eab32072f9081acaa96b5048c0898f972916c818ea63cbedda707886a4b5ffcfbf94e3 + version: 1.8.0 + resolution: "@noble/hashes@npm:1.8.0" + checksum: 10c0/06a0b52c81a6fa7f04d67762e08b2c476a00285858150caeaaff4037356dd5e119f45b2a530f638b77a5eeca013168ec1b655db41bae3236cb2e9d511484fc77 languageName: node linkType: hard @@ -141,11 +139,11 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 22.14.1 - resolution: "@types/node@npm:22.14.1" + version: 22.15.14 + resolution: "@types/node@npm:22.15.14" dependencies: undici-types: "npm:~6.21.0" - checksum: 10c0/d49c4d00403b1c2348cf0701b505fd636d80aabe18102105998dc62fdd36dcaf911e73c7a868c48c21c1022b825c67b475b65b1222d84b704d8244d152bb7f86 + checksum: 10c0/a977c1518d53e3b85e8c56fe619d6eca4bc79224d24e7068f55589b3b4a60b8390c859290068b9a00d8a07bee809535afaa952fc31544dff8f8de8975d94c531 languageName: node linkType: hard @@ -340,13 +338,13 @@ __metadata: linkType: hard "axios@npm:^1.7.2": - version: 1.8.4 - resolution: "axios@npm:1.8.4" + version: 1.9.0 + resolution: "axios@npm:1.9.0" dependencies: follow-redirects: "npm:^1.15.6" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: 10c0/450993c2ba975ffccaf0d480b68839a3b2435a5469a71fa2fb0b8a55cdb2c2ae47e609360b9c1e2b2534b73dfd69e2733a1cf9f8215bee0bcd729b72f801b0ce + checksum: 10c0/9371a56886c2e43e4ff5647b5c2c3c046ed0a3d13482ef1d0135b994a628c41fbad459796f101c655e62f0c161d03883454474d2e435b2e021b1924d9f24994c languageName: node linkType: hard @@ -409,9 +407,9 @@ __metadata: linkType: hard "bn.js@npm:^4.0.0, bn.js@npm:^4.11.9": - version: 4.12.1 - resolution: "bn.js@npm:4.12.1" - checksum: 10c0/b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 + version: 4.12.2 + resolution: "bn.js@npm:4.12.2" + checksum: 10c0/09a249faa416a9a1ce68b5f5ec8bbca87fe54e5dd4ef8b1cc8a4969147b80035592bddcb1e9cc814c3ba79e573503d5c5178664b722b509fb36d93620dba9b57 languageName: node linkType: hard @@ -1102,15 +1100,15 @@ __metadata: languageName: node linkType: hard -"fdir@npm:^6.4.3": - version: 6.4.3 - resolution: "fdir@npm:6.4.3" +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true - checksum: 10c0/d13c10120e9625adf21d8d80481586200759928c19405a816b77dd28eaeb80e7c59c5def3e2941508045eb06d34eb47fad865ccc8bf98e6ab988bb0ed160fb6f + checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd languageName: node linkType: hard @@ -2702,13 +2700,6 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 - languageName: node - linkType: hard - "regexp.prototype.flags@npm:^1.5.3": version: 1.5.4 resolution: "regexp.prototype.flags@npm:1.5.4" @@ -3183,12 +3174,12 @@ __metadata: linkType: hard "tinyglobby@npm:^0.2.12": - version: 0.2.12 - resolution: "tinyglobby@npm:0.2.12" + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" dependencies: - fdir: "npm:^6.4.3" + fdir: "npm:^6.4.4" picomatch: "npm:^4.0.2" - checksum: 10c0/7c9be4fd3625630e262dcb19015302aad3b4ba7fc620f269313e688f2161ea8724d6cb4444baab5ef2826eb6bed72647b169a33ec8eea37501832a2526ff540f + checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c languageName: node linkType: hard diff --git a/contracts/hardhat.config.ts b/contracts/hardhat.config.ts index f0dc1d860..aea15bfb4 100644 --- a/contracts/hardhat.config.ts +++ b/contracts/hardhat.config.ts @@ -88,4 +88,4 @@ const config: HardhatUserConfig = { } }; -export default config; \ No newline at end of file +export default config; diff --git a/contracts/yarn.lock b/contracts/yarn.lock index b0f9ed6b9..de962dd8f 100644 --- a/contracts/yarn.lock +++ b/contracts/yarn.lock @@ -1,4624 +1,6965 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! +__metadata: + version: 8 + cacheKey: 10c0 -"@adraffy/ens-normalize@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" - integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== +"@adraffy/ens-normalize@npm:1.10.1": + version: 1.10.1 + resolution: "@adraffy/ens-normalize@npm:1.10.1" + checksum: 10c0/fdd647604e8fac6204921888aaf5a6bc65eabf0d2921bc5f93b64d01f4bc33ead167c1445f7de05468d05cd92ac31b74c68d2be840c62b79d73693308f885c06 + languageName: node + linkType: hard "@ashpect/smt@https://github.com/ashpect/smt#main": - version "1.0.0" - resolved "https://github.com/ashpect/smt#4f73fd24adb06a7f8efd6fd2d3ed58e9e2f2691a" - -"@babel/code-frame@^7.12.13": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@eth-optimism/hardhat-ovm@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@eth-optimism/hardhat-ovm/-/hardhat-ovm-0.2.4.tgz#1ffe114e341296703cce17006e120ea4107fcb97" - integrity sha512-lfDADd++qg2F9CLNQ5lctGcPlQB3gDe8BsYXu8B72SOJCzOlnfYiS96N/JErG/YpLoLyT2fVPmXCIIl0ogU9ow== - dependencies: - node-fetch "^2.6.1" - -"@ethereumjs/rlp@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" - integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== - -"@ethereumjs/rlp@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.2.tgz#c89bd82f2f3bec248ab2d517ae25f5bbc4aac842" - integrity sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA== - -"@ethereumjs/util@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" - integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== - dependencies: - "@ethereumjs/rlp" "^4.0.1" - ethereum-cryptography "^2.0.0" - micro-ftch "^0.3.1" - -"@ethereumjs/util@^9.1.0": - version "9.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.1.0.tgz#75e3898a3116d21c135fa9e29886565609129bce" - integrity sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog== - dependencies: - "@ethereumjs/rlp" "^5.0.2" - ethereum-cryptography "^2.2.1" - -"@ethersproject/abi@5.8.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.8.0.tgz#e79bb51940ac35fe6f3262d7fe2cdb25ad5f07d9" - integrity sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q== - dependencies: - "@ethersproject/address" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/hash" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@ethersproject/abstract-provider@5.8.0", "@ethersproject/abstract-provider@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz#7581f9be601afa1d02b95d26b9d9840926a35b0c" - integrity sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/networks" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - "@ethersproject/web" "^5.8.0" - -"@ethersproject/abstract-signer@5.8.0", "@ethersproject/abstract-signer@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz#8d7417e95e4094c1797a9762e6789c7356db0754" - integrity sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA== - dependencies: - "@ethersproject/abstract-provider" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - -"@ethersproject/address@5.6.1": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d" - integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q== - dependencies: - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/rlp" "^5.6.1" - -"@ethersproject/address@5.8.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.8.0.tgz#3007a2c352eee566ad745dca1dbbebdb50a6a983" - integrity sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/rlp" "^5.8.0" - -"@ethersproject/base64@5.8.0", "@ethersproject/base64@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.8.0.tgz#61c669c648f6e6aad002c228465d52ac93ee83eb" - integrity sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ== - dependencies: - "@ethersproject/bytes" "^5.8.0" - -"@ethersproject/basex@5.8.0", "@ethersproject/basex@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.8.0.tgz#1d279a90c4be84d1c1139114a1f844869e57d03a" - integrity sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - -"@ethersproject/bignumber@5.8.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.8.0.tgz#c381d178f9eeb370923d389284efa19f69efa5d7" - integrity sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@5.8.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.8.0.tgz#9074820e1cac7507a34372cadeb035461463be34" - integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A== - dependencies: - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/constants@5.8.0", "@ethersproject/constants@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.8.0.tgz#12f31c2f4317b113a4c19de94e50933648c90704" - integrity sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - -"@ethersproject/contracts@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.8.0.tgz#243a38a2e4aa3e757215ea64e276f8a8c9d8ed73" - integrity sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ== - dependencies: - "@ethersproject/abi" "^5.8.0" - "@ethersproject/abstract-provider" "^5.8.0" - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - -"@ethersproject/hash@5.8.0", "@ethersproject/hash@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.8.0.tgz#b8893d4629b7f8462a90102572f8cd65a0192b4c" - integrity sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA== - dependencies: - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/base64" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@ethersproject/hdnode@5.8.0", "@ethersproject/hdnode@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.8.0.tgz#a51ae2a50bcd48ef6fd108c64cbae5e6ff34a761" - integrity sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA== - dependencies: - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/basex" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/pbkdf2" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/sha2" "^5.8.0" - "@ethersproject/signing-key" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - "@ethersproject/wordlists" "^5.8.0" - -"@ethersproject/json-wallets@5.8.0", "@ethersproject/json-wallets@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz#d18de0a4cf0f185f232eb3c17d5e0744d97eb8c9" - integrity sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w== - dependencies: - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/hdnode" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/pbkdf2" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/random" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.8.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.8.0.tgz#d2123a379567faf2d75d2aaea074ffd4df349e6a" - integrity sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng== - dependencies: - "@ethersproject/bytes" "^5.8.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.8.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.8.0.tgz#f0232968a4f87d29623a0481690a2732662713d6" - integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA== - -"@ethersproject/networks@5.8.0", "@ethersproject/networks@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.8.0.tgz#8b4517a3139380cba9fb00b63ffad0a979671fde" - integrity sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg== - dependencies: - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/pbkdf2@5.8.0", "@ethersproject/pbkdf2@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz#cd2621130e5dd51f6a0172e63a6e4a0c0a0ec37e" - integrity sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/sha2" "^5.8.0" - -"@ethersproject/properties@5.8.0", "@ethersproject/properties@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.8.0.tgz#405a8affb6311a49a91dabd96aeeae24f477020e" - integrity sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw== - dependencies: - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/providers@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.8.0.tgz#6c2ae354f7f96ee150439f7de06236928bc04cb4" - integrity sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw== - dependencies: - "@ethersproject/abstract-provider" "^5.8.0" - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/base64" "^5.8.0" - "@ethersproject/basex" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/hash" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/networks" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/random" "^5.8.0" - "@ethersproject/rlp" "^5.8.0" - "@ethersproject/sha2" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - "@ethersproject/web" "^5.8.0" - bech32 "1.1.4" - ws "8.18.0" - -"@ethersproject/random@5.8.0", "@ethersproject/random@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.8.0.tgz#1bced04d49449f37c6437c701735a1a022f0057a" - integrity sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/rlp@5.8.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.8.0.tgz#5a0d49f61bc53e051532a5179472779141451de5" - integrity sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/sha2@5.8.0", "@ethersproject/sha2@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.8.0.tgz#8954a613bb78dac9b46829c0a95de561ef74e5e1" - integrity sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.8.0", "@ethersproject/signing-key@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.8.0.tgz#9797e02c717b68239c6349394ea85febf8893119" - integrity sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - bn.js "^5.2.1" - elliptic "6.6.1" - hash.js "1.1.7" - -"@ethersproject/solidity@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.8.0.tgz#429bb9fcf5521307a9448d7358c26b93695379b9" - integrity sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/sha2" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@ethersproject/strings@5.8.0", "@ethersproject/strings@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.8.0.tgz#ad79fafbf0bd272d9765603215ac74fd7953908f" - integrity sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/transactions@5.8.0", "@ethersproject/transactions@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.8.0.tgz#1e518822403abc99def5a043d1c6f6fe0007e46b" - integrity sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg== - dependencies: - "@ethersproject/address" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/rlp" "^5.8.0" - "@ethersproject/signing-key" "^5.8.0" - -"@ethersproject/units@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.8.0.tgz#c12f34ba7c3a2de0e9fa0ed0ee32f3e46c5c2c6a" - integrity sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/wallet@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.8.0.tgz#49c300d10872e6986d953e8310dc33d440da8127" - integrity sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA== - dependencies: - "@ethersproject/abstract-provider" "^5.8.0" - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/hash" "^5.8.0" - "@ethersproject/hdnode" "^5.8.0" - "@ethersproject/json-wallets" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/random" "^5.8.0" - "@ethersproject/signing-key" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - "@ethersproject/wordlists" "^5.8.0" - -"@ethersproject/web@5.8.0", "@ethersproject/web@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.8.0.tgz#3e54badc0013b7a801463a7008a87988efce8a37" - integrity sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw== - dependencies: - "@ethersproject/base64" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@ethersproject/wordlists@5.8.0", "@ethersproject/wordlists@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.8.0.tgz#7a5654ee8d1bb1f4dbe43f91d217356d650ad821" - integrity sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/hash" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@fastify/busboy@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" - integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== - -"@iden3/bigarray@0.0.2": - version "0.0.2" - resolved "https://registry.yarnpkg.com/@iden3/bigarray/-/bigarray-0.0.2.tgz#6fc4ba5be18daf8a26ee393f2fb62b80d98c05e9" - integrity sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g== - -"@iden3/binfileutils@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@iden3/binfileutils/-/binfileutils-0.0.12.tgz#3772552f57551814ff606fa68ea1e0ef52795ce3" - integrity sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ== - dependencies: - fastfile "0.0.20" - ffjavascript "^0.3.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@noble/curves@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" - integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== - dependencies: - "@noble/hashes" "1.3.2" - -"@noble/curves@1.4.2", "@noble/curves@~1.4.0": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" - integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== - dependencies: - "@noble/hashes" "1.4.0" - -"@noble/curves@~1.8.1": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff" - integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== - dependencies: - "@noble/hashes" "1.7.1" - -"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" - integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== - -"@noble/hashes@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - -"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - -"@noble/hashes@1.7.1", "@noble/hashes@^1.4.0", "@noble/hashes@~1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" - integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== - -"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" - integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nomicfoundation/edr-darwin-arm64@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.10.0.tgz#3a6952bdf3e2825937cb1aad737b6851e4c6df30" - integrity sha512-n0N+CVM4LKN9QeGZ5irr94Q4vwSs4u7W6jfuhNLmx1cpUxwE9RpeW+ym93JXDv62iVsbekeI5VsUEBHy0hymtA== - -"@nomicfoundation/edr-darwin-x64@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.10.0.tgz#e8e8a1b5e0e6df27d47dee38fbea7d1b77e92ee5" - integrity sha512-nmImWM/3qWopYzOmicMzK/MF3rFKpm2Biuc8GpQYTLjdXhmItpP9JwEPyjbAWv/1HI09C2pRzgNzKfTxoIgJ6w== - -"@nomicfoundation/edr-linux-arm64-gnu@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.10.0.tgz#0442b934d801abf1e94de517203f6c7cb24022a6" - integrity sha512-B/N1IyrCU7J6H4QckkQ1cSWAq1jSrJcXpO8GzRaQD1bgOOvg8wrUOrCD+Mfw7MLa6+X9vdZoXtPZOaaOQ9LmhA== - -"@nomicfoundation/edr-linux-arm64-musl@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.10.0.tgz#ece7f90113347b3c41ca9d0b27962cbc42e54a3d" - integrity sha512-NA9DFLB0LzcKy9mTCUzgnRDbmmSfW0CdO22ySwOy+MKt4Cr9eJi+XR5ZH933Rxpi6BWNkSPeS2ECETE25sJT3w== - -"@nomicfoundation/edr-linux-x64-gnu@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.10.0.tgz#aa2b6587f2dc5da280c696aaf3c8021edce36e4f" - integrity sha512-bDrbRTA9qZ9wSw5mqa8VpLFbf6ue2Z4qmRd08404eKm8RyBEFxjdHflFzCx46gz/Td0e+GLXy6KTVDj5D29r8w== - -"@nomicfoundation/edr-linux-x64-musl@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.10.0.tgz#fcb755e1f1926d713f3883856b5840e970ce9096" - integrity sha512-wx7yOlC/hx4N1xuIeh5cAebpzCTx8ZH8/z0IyYMf2t4v52KHERz4IyzBz5OLfd+0IqTRg8ZU5EnFBacIoPeP/g== - -"@nomicfoundation/edr-win32-x64-msvc@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.10.0.tgz#eb411d5a855a82cc9859a8889069c887ca5dde4b" - integrity sha512-DpBdVMimb+BUEs0E+nLGQ5JFHdGHyxQQNA+nh9V1eKtgarsV21S6br/d1vlQBMLQqkIzwmc6n+/O9Zjk2KfB3g== - -"@nomicfoundation/edr@^0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr/-/edr-0.10.0.tgz#c0d3476b348ae396458369d1589913154d774192" - integrity sha512-ed9qHSNssgh+0hYUx4ilDoMxxgf/sNT8SjnzgmA5A/LSXHaq2ax68bkdQ8otLYTlxHCO9BS5Nhb8bfajV4FZeA== - dependencies: - "@nomicfoundation/edr-darwin-arm64" "0.10.0" - "@nomicfoundation/edr-darwin-x64" "0.10.0" - "@nomicfoundation/edr-linux-arm64-gnu" "0.10.0" - "@nomicfoundation/edr-linux-arm64-musl" "0.10.0" - "@nomicfoundation/edr-linux-x64-gnu" "0.10.0" - "@nomicfoundation/edr-linux-x64-musl" "0.10.0" - "@nomicfoundation/edr-win32-x64-msvc" "0.10.0" - -"@nomicfoundation/hardhat-chai-matchers@^2.0.6": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.8.tgz#9c7cfc4ad0f0a5e9cf16aba8ab668c02f6e273aa" - integrity sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg== - dependencies: - "@types/chai-as-promised" "^7.1.3" - chai-as-promised "^7.1.1" - deep-eql "^4.0.1" - ordinal "^1.0.3" - -"@nomicfoundation/hardhat-ethers@^3.0.5": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.8.tgz#af078f566373abeb77e11cbe69fe3dd47f8bfc27" - integrity sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA== - dependencies: - debug "^4.1.1" - lodash.isequal "^4.5.0" - -"@nomicfoundation/hardhat-ignition-ethers@^0.15.3": - version "0.15.11" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.11.tgz#ae1c6be346ef3d2ccb38804786728355b1a2eb90" - integrity sha512-srXzvf7qCDHLrnvQWtpVA9gWpcbp4BcnsOqJt6ISet9OlUnxk4GgRMbdFq4YpM48bHQTX397jS9yk1AtJCjt/g== - -"@nomicfoundation/hardhat-ignition@^0.15.3": - version "0.15.11" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.11.tgz#124a4c5f70eca0f2f161ccfd82cef29793111f48" - integrity sha512-OXebmK9FCMwwbb4mIeHBbVFFicAGgyGKJT2zrONrpixrROxrVs6KEi1gzsiN25qtQhCQePt8BTjjYrgy86Dfxg== - dependencies: - "@nomicfoundation/ignition-core" "^0.15.11" - "@nomicfoundation/ignition-ui" "^0.15.11" - chalk "^4.0.0" - debug "^4.3.2" - fs-extra "^10.0.0" - json5 "^2.2.3" - prompts "^2.4.2" - -"@nomicfoundation/hardhat-network-helpers@^1.0.10": - version "1.0.12" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.12.tgz#2c0abec0c50b75f9d0d71776e49e3b5ef746d289" - integrity sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA== - dependencies: - ethereumjs-util "^7.1.4" - -"@nomicfoundation/hardhat-toolbox@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-3.0.0.tgz#83e2c28a745aa4eb1236072166367b0de68b4c76" - integrity sha512-MsteDXd0UagMksqm9KvcFG6gNKYNa3GGNCy73iQ6bEasEgg2v8Qjl6XA5hjs8o5UD5A3153B6W2BIVJ8SxYUtA== - -"@nomicfoundation/hardhat-verify@^2.0.6": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.13.tgz#41691adc32e01dc5cf6b725615f64958fba2100b" - integrity sha512-i57GX1sC0kYGyRVnbQrjjyBTpWTKgrvKC+jH8CMKV6gHp959Upb8lKaZ58WRHIU0espkulTxLnacYeUDirwJ2g== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@ethersproject/address" "^5.0.2" - cbor "^8.1.0" - debug "^4.1.1" - lodash.clonedeep "^4.5.0" - picocolors "^1.1.0" - semver "^6.3.0" - table "^6.8.0" - undici "^5.14.0" - -"@nomicfoundation/ignition-core@^0.15.11", "@nomicfoundation/ignition-core@^0.15.3": - version "0.15.11" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-core/-/ignition-core-0.15.11.tgz#315fd4dcde00ae6e44932222b92932bb15fe113a" - integrity sha512-PeYKRlrQ0koT72yRnlyyG66cXMFiv5X/cIB8hBFPl3ekeg5tPXcHAgs/VZhOsgwEox4ejphTtItLESb1IDBw0w== - dependencies: - "@ethersproject/address" "5.6.1" - "@nomicfoundation/solidity-analyzer" "^0.1.1" - cbor "^9.0.0" - debug "^4.3.2" - ethers "^6.7.0" - fs-extra "^10.0.0" - immer "10.0.2" - lodash "4.17.21" - ndjson "2.0.0" - -"@nomicfoundation/ignition-ui@^0.15.11": - version "0.15.11" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.11.tgz#94969984dd6ca1671a21f2338af4735cf319c1b3" - integrity sha512-VPOVl5xqCKhYCyPOQlposx+stjCwqXQ+BCs5lnw/f2YUfgII+G5Ye0JfHiJOfCJGmqyS03WertBslcj9zQg50A== - -"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz#3a9c3b20d51360b20affb8f753e756d553d49557" - integrity sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw== - -"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz#74dcfabeb4ca373d95bd0d13692f44fcef133c28" - integrity sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw== - -"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz#4af5849a89e5a8f511acc04f28eb5d4460ba2b6a" - integrity sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA== - -"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz#54036808a9a327b2ff84446c130a6687ee702a8e" - integrity sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA== - -"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz#466cda0d6e43691986c944b909fc6dbb8cfc594e" - integrity sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g== - -"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz#2b35826987a6e94444140ac92310baa088ee7f94" - integrity sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg== - -"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz#e6363d13b8709ca66f330562337dbc01ce8bbbd9" - integrity sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA== - -"@nomicfoundation/solidity-analyzer@^0.1.0", "@nomicfoundation/solidity-analyzer@^0.1.1": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz#8bcea7d300157bf3a770a851d9f5c5e2db34ac55" - integrity sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA== - optionalDependencies: - "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.2" - "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.2" - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.2" - "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.2" - "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.2" - "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.2" - "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.2" - -"@nomiclabs/hardhat-ethers@^2.2.3": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz#b41053e360c31a32c2640c9a45ee981a7e603fe0" - integrity sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg== - -"@openpassport/zk-kit-lean-imt@^0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-lean-imt/-/zk-kit-lean-imt-0.0.6.tgz#b788ffb99d23d10c63ec145fc7d08359900e673e" - integrity sha512-KUQ4b5ILubO79vscrOnSnOCyr1AJ3dSKQOJ1PBklIRyFG9CeRTUspnVblSFqrolf8F3dvXX9QDbrkJxK38Gsyg== - dependencies: - "@openpassport/zk-kit-utils" "0.0.1" - -"@openpassport/zk-kit-smt@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-smt/-/zk-kit-smt-0.0.1.tgz#d447ed24e7b57146d5dee8d7458ac3886346b4d2" - integrity sha512-P7Hkd5fD8JxGbqJ48lUq6gGKmZTaVzCB5I8FsOSUmljqf7VMeZmbyqo2ZmXt/lk6ltPXrmcrQ+QNhHXKZNcWhg== - -"@openpassport/zk-kit-utils@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-utils/-/zk-kit-utils-0.0.1.tgz#b0ad083c411bc7bcc1051516a76ada528a283a3a" - integrity sha512-T7jZ3vn+iCAPnvMS+NLg3Yj4ixF2xXG/geFkyNi48beEFd1hD/2Yca05QP+g2iaJAsIRvllwtni5SuLXGwv5Xw== - dependencies: - buffer "^6.0.3" - -"@openzeppelin/contracts-upgradeable@^5.1.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.3.0.tgz#79dba09ab0b4bb49f21544ea738b9de016b0ceea" - integrity sha512-yVzSSyTMWO6rapGI5tuqkcLpcGGXA0UA1vScyV5EhE5yw8By3Ewex9rDUw8lfVw0iTkvR/egjfcW5vpk03lqZg== - -"@openzeppelin/contracts@^5.0.2": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.3.0.tgz#0a90ce16f5c855e3c8239691f1722cd4999ae741" - integrity sha512-zj/KGoW7zxWUE8qOI++rUM18v+VeLTTzKs/DJFkSzHpQFPD/jKKF0TrMxBfGLl3kpdELCNccvB3zmofSzm4nlA== - -"@scure/base@~1.1.0", "@scure/base@~1.1.6": - version "1.1.9" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" - integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== - -"@scure/base@~1.2.2": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.4.tgz#002eb571a35d69bdb4c214d0995dff76a8dcd2a9" - integrity sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ== - -"@scure/bip32@1.1.5": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" - integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== - dependencies: - "@noble/hashes" "~1.2.0" - "@noble/secp256k1" "~1.7.0" - "@scure/base" "~1.1.0" - -"@scure/bip32@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" - integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== - dependencies: - "@noble/curves" "~1.4.0" - "@noble/hashes" "~1.4.0" - "@scure/base" "~1.1.6" - -"@scure/bip39@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" - integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== - dependencies: - "@noble/hashes" "~1.2.0" - "@scure/base" "~1.1.0" - -"@scure/bip39@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" - integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== - dependencies: - "@noble/hashes" "~1.4.0" - "@scure/base" "~1.1.6" - -"@sentry/core@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" - integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/minimal" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - -"@sentry/hub@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" - integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== - dependencies: - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - -"@sentry/minimal@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" - integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/types" "5.30.0" - tslib "^1.9.3" - -"@sentry/node@^5.18.1": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48" - integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg== - dependencies: - "@sentry/core" "5.30.0" - "@sentry/hub" "5.30.0" - "@sentry/tracing" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - cookie "^0.4.1" - https-proxy-agent "^5.0.0" - lru_map "^0.3.3" - tslib "^1.9.3" - -"@sentry/tracing@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f" - integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/minimal" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - -"@sentry/types@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" - integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== - -"@sentry/utils@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" - integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== - dependencies: - "@sentry/types" "5.30.0" - tslib "^1.9.3" - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@solidity-parser/parser@^0.14.0": - version "0.14.5" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" - integrity sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg== - dependencies: - antlr4ts "^0.5.0-alpha.4" - -"@solidity-parser/parser@^0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.19.0.tgz#37a8983b2725af9b14ff8c4a475fa0e98d773c3f" - integrity sha512-RV16k/qIxW/wWc+mLzV3ARyKUaMUTBy9tOLMzFhtNSKYeTAanQ3a5MudJKf/8arIFnA2L27SNjarQKmFg0w/jA== - -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@typechain/ethers-v6@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@typechain/ethers-v6/-/ethers-v6-0.4.3.tgz#badd99f88d5a1f1a2f42590f298e20cc62618e59" - integrity sha512-TrxBsyb4ryhaY9keP6RzhFCviWYApcLCIRMPyWaKp2cZZrfaM3QBoxXTnw/eO4+DAY3l+8O0brNW0WgeQeOiDA== - dependencies: - lodash "^4.17.15" - ts-essentials "^7.0.1" - -"@typechain/hardhat@^8.0.3": - version "8.0.3" - resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-8.0.3.tgz#a114825f130405bbb8e535314003733b7ce3f91c" - integrity sha512-MytSmJJn+gs7Mqrpt/gWkTCOpOQ6ZDfRrRT2gtZL0rfGe4QrU4x9ZdW15fFbVM/XTa+5EsKiOMYXhRABibNeng== - dependencies: - fs-extra "^9.1.0" - -"@types/bn.js@^5.1.0": - version "5.1.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.6.tgz#9ba818eec0c85e4d3c679518428afdf611d03203" - integrity sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w== - dependencies: - "@types/node" "*" - -"@types/chai-as-promised@^7.1.3": - version "7.1.8" - resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz#f2b3d82d53c59626b5d6bbc087667ccb4b677fe9" - integrity sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw== - dependencies: - "@types/chai" "*" - -"@types/chai@*": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.1.tgz#85687a58b27eac736ec0e87e5cb98f21e57a0bb1" - integrity sha512-iu1JLYmGmITRzUgNiLMZD3WCoFzpYtueuyAgHTXqgwSRAMIlFTnZqG6/xenkpUGRJEzSfklUTI4GNSzks/dc0w== - dependencies: - "@types/deep-eql" "*" - -"@types/chai@^4.3.16": - version "4.3.20" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.20.tgz#cb291577ed342ca92600430841a00329ba05cecc" - integrity sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ== - -"@types/circomlibjs@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@types/circomlibjs/-/circomlibjs-0.1.6.tgz#dba1b9cc68ae4f75da045b8b14c50f3444b31d7f" - integrity sha512-yF174bPDaiKgejlZzCSqKwZaqXhlxMcVEHrAtstFohwP05OjtvHXOdxO6HQeTg8WwIdgMg7MJb1WyWZdUCGlPQ== - -"@types/concat-stream@^1.6.0": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" - integrity sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA== - dependencies: - "@types/node" "*" - -"@types/deep-eql@*": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" - integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== - -"@types/form-data@0.0.33": - version "0.0.33" - resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" - integrity sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw== - dependencies: - "@types/node" "*" - -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^29.5.12": - version "29.5.14" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" - integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/lru-cache@^5.1.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" - integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== - -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - -"@types/mocha@^10.0.6": - version "10.0.10" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" - integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== - -"@types/node@*": - version "22.14.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.1.tgz#53b54585cec81c21eee3697521e31312d6ca1e6f" - integrity sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw== - dependencies: - undici-types "~6.21.0" - -"@types/node@22.7.5": - version "22.7.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" - integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== - dependencies: - undici-types "~6.19.2" - -"@types/node@^10.0.3": - version "10.17.60" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" - integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== - -"@types/node@^8.0.0": - version "8.10.66" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" - integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== - -"@types/pbkdf2@^3.0.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" - integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== - dependencies: - "@types/node" "*" - -"@types/prettier@^2.1.1": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" - integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== - -"@types/qs@^6.2.31": - version "6.9.18" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.18.tgz#877292caa91f7c1b213032b34626505b746624c2" - integrity sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA== - -"@types/secp256k1@^4.0.1": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" - integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== - dependencies: - "@types/node" "*" - -"@types/snarkjs@^0.7.7": - version "0.7.9" - resolved "https://registry.yarnpkg.com/@types/snarkjs/-/snarkjs-0.7.9.tgz#7a3b99bd86009133a74dcb215a475382c772c37c" - integrity sha512-pb4Bq3GI2YQOQOG0dR/YuQs/mqcuL6k/vnz68LIPtpA2frrUL3twf69a3AUK9eUmNNeW0RIKkq6scDlC75Is+g== - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.33" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" - integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== - dependencies: - "@types/yargs-parser" "*" - -"@zk-kit/imt.sol@^2.0.0-beta.12": - version "2.0.0-beta.12" - resolved "https://registry.yarnpkg.com/@zk-kit/imt.sol/-/imt.sol-2.0.0-beta.12.tgz#9acd5fb64111b781a6cc614d3998a285fb48ab54" - integrity sha512-kKgopVO6zlfSiQgv3X9WykaCeyb8jGtthWGqdo1ZD7fY1bH8A7BWhhWxtoCuU5mPEgRbamw1cAoUynuLoEULsg== - dependencies: - poseidon-solidity "0.0.5" - -"@zk-kit/imt@^2.0.0-beta.4": - version "2.0.0-beta.8" - resolved "https://registry.yarnpkg.com/@zk-kit/imt/-/imt-2.0.0-beta.8.tgz#7ef889f91665ed43383096bcdcfab9cd4a3f9e51" - integrity sha512-E6woWWhX+NaDZuB6x932DJ5OACN9zsZZLurcUATyFH6SU+bEn5AX4sW6jfVIAQ1fnKsNOG0qHJtlw3ivwbOmWQ== - dependencies: - "@zk-kit/utils" "1.3.0" - -"@zk-kit/lean-imt@^2.0.1": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@zk-kit/lean-imt/-/lean-imt-2.2.3.tgz#f37971c21d5fe6a1be9a2fcd8d88c86dafab2ce5" - integrity sha512-T6NXLzMuwFjp+hg6WJZqzJ2qyyTmbS9JmxiWW/lmp+VxxJLAO9byAvqd5p/7616AXdHyTbwku0tdX0JDq9Pkng== - dependencies: - "@zk-kit/utils" "1.3.0" - -"@zk-kit/utils@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@zk-kit/utils/-/utils-1.3.0.tgz#01afccc4dacc9a971686f41417c93778e119a966" - integrity sha512-Gqsq5KLDf2WPuZSsNc2KZy25XeK5d5UV9hwLaPEM5wq+GD2qCi1ZBFzNs0OptiJ9GRGtP2J/xptrszWri+pRqQ== - dependencies: - buffer "^6.0.3" - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== - -acorn-walk@^8.1.1: - version "8.3.4" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" - integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== - dependencies: - acorn "^8.11.0" - -acorn@^8.11.0, acorn@^8.4.1: - version "8.14.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" - integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== - -adm-zip@^0.4.16: - version "0.4.16" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" - integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - -aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^8.0.1: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== - dependencies: - fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-colors@^4.1.1, ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -antlr4ts@^0.5.0-alpha.4: - version "0.5.0-alpha.4" - resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" - integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-back@^3.0.1, array-back@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" - integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== - -array-back@^4.0.1, array-back@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" - integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-uniq@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== - -asap@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async@1.x: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== - -async@^3.2.3: - version "3.2.6" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" - integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -axios@^1.5.1, axios@^1.6.2: - version "1.8.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447" - integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -b4a@^1.0.1: - version "1.6.7" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" - integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2: - version "3.0.11" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.11.tgz#40d80e2a1aeacba29792ccc6c5354806421287ff" - integrity sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -bfj@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" - integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== - dependencies: - bluebird "^3.7.2" - check-types "^11.2.3" - hoopy "^0.1.4" - jsonpath "^1.1.1" - tryer "^1.0.1" - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -blake-hash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/blake-hash/-/blake-hash-2.0.0.tgz#af184dce641951126d05b7d1c3de3224f538d66e" - integrity sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w== - dependencies: - node-addon-api "^3.0.0" - node-gyp-build "^4.2.2" - readable-stream "^3.6.0" - -blake2b-wasm@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" - integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== - dependencies: - b4a "^1.0.1" - nanoassert "^2.0.0" - -blake2b@^2.1.3: - version "2.1.4" - resolved "https://registry.yarnpkg.com/blake2b/-/blake2b-2.1.4.tgz#817d278526ddb4cd673bfb1af16d1ad61e393ba3" - integrity sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A== - dependencies: - blake2b-wasm "^2.4.0" - nanoassert "^2.0.0" - -blakejs@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" - integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== - -bn.js@^4.11.9: - version "4.12.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" - integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== - -bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -boxen@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browser-stdout@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -call-bound@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" - integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== - dependencies: - call-bind-apply-helpers "^1.0.2" - get-intrinsic "^1.3.0" - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caseless@^0.12.0, caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -cbor@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" - integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== - dependencies: - nofilter "^3.1.0" - -cbor@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" - integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== - dependencies: - nofilter "^3.1.0" - -chai-as-promised@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.2.tgz#70cd73b74afd519754161386421fb71832c6d041" - integrity sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw== - dependencies: - check-error "^1.0.2" - -chai@^4.4.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" - integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.1.0" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -"charenc@>= 0.0.1": - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== - -check-error@^1.0.2, check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - -check-types@^11.2.3: - version "11.2.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" - integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== - -chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" - integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== - dependencies: - readdirp "^4.0.1" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7" - integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== - dependencies: - inherits "^2.0.4" - safe-buffer "^5.2.1" - -circom_runtime@0.1.28: - version "0.1.28" - resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.28.tgz#4ea4606956eeac4499f71f65354f45b54faa93fe" - integrity sha512-ACagpQ7zBRLKDl5xRZ4KpmYIcZDUjOiNRuxvXLqhnnlLSVY1Dbvh73TI853nqoR0oEbihtWmMSjgc5f+pXf/jQ== - dependencies: - ffjavascript "0.3.1" - -circomlibjs@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/circomlibjs/-/circomlibjs-0.1.7.tgz#9f5a7d9a23323744b11ee456b05b0cd81f48b554" - integrity sha512-GRAUoAlKAsiiTa+PA725G9RmEmJJRc8tRFxw/zKktUxlQISGznT4hH4ESvW8FNTsrGg/nNd06sGP/Wlx0LUHVg== - dependencies: - blake-hash "^2.0.0" - blake2b "^2.1.3" - ethers "^5.5.1" - ffjavascript "^0.2.45" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cli-table3@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" - integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== - dependencies: - object-assign "^4.1.0" - string-width "^2.1.1" - optionalDependencies: - colors "^1.1.2" - -cli-table3@^0.6.0: - version "0.6.5" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" - integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colors@1.4.0, colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -command-exists@^1.2.8: - version "1.2.9" - resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" - integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== - -command-line-args@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" - integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== - dependencies: - array-back "^3.1.0" - find-replace "^3.0.0" - lodash.camelcase "^4.3.0" - typical "^4.0.0" - -command-line-usage@^6.1.0: - version "6.1.3" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" - integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== - dependencies: - array-back "^4.0.2" - chalk "^2.4.2" - table-layout "^1.0.2" - typical "^5.2.0" - -commander@^8.1.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.6.0, concat-stream@^1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -cookie@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -"crypt@>= 0.0.1": - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== - -dateformat@^4.5.1: - version "4.6.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" - integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== - -death@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" - integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== - -debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.5: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -deep-eql@^4.0.1, deep-eql@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" - integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== - dependencies: - type-detect "^4.0.0" - -deep-extend@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.0.0, diff@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -difflib@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" - integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== - dependencies: - heap ">= 0.2.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dotenv@^16.3.1: - version "16.5.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.5.0.tgz#092b49f25f808f020050051d1ff258e404c78692" - integrity sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg== - -dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - -ejs@^3.1.6: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -elliptic@6.6.1, elliptic@^6.5.7: - version "6.6.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" - integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -enquirer@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -escalade@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-html@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@1.8.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" - integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - -escodegen@^1.8.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" - integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== - -esprima@2.7.x, esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== - -estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eth-gas-reporter@^0.2.25: - version "0.2.27" - resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz#928de8548a674ed64c7ba0bf5795e63079150d4e" - integrity sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw== - dependencies: - "@solidity-parser/parser" "^0.14.0" - axios "^1.5.1" - cli-table3 "^0.5.0" - colors "1.4.0" - ethereum-cryptography "^1.0.3" - ethers "^5.7.2" - fs-readdir-recursive "^1.1.0" - lodash "^4.17.14" - markdown-table "^1.1.3" - mocha "^10.2.0" - req-cwd "^2.0.0" - sha1 "^1.1.1" - sync-request "^6.0.0" - -ethereum-bloom-filters@^1.0.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz#8294f074c1a6cbd32c39d2cc77ce86ff14797dab" - integrity sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA== - dependencies: - "@noble/hashes" "^1.4.0" - -ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - -ethereum-cryptography@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" - integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== - dependencies: - "@noble/hashes" "1.2.0" - "@noble/secp256k1" "1.7.1" - "@scure/bip32" "1.1.5" - "@scure/bip39" "1.1.1" - -ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2, ethereum-cryptography@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" - integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== - dependencies: - "@noble/curves" "1.4.2" - "@noble/hashes" "1.4.0" - "@scure/bip32" "1.4.0" - "@scure/bip39" "1.3.0" - -ethereumjs-util@^7.1.4: - version "7.1.5" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" - integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethers@^5.5.1, ethers@^5.7.2: - version "5.8.0" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.8.0.tgz#97858dc4d4c74afce83ea7562fe9493cedb4d377" - integrity sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg== - dependencies: - "@ethersproject/abi" "5.8.0" - "@ethersproject/abstract-provider" "5.8.0" - "@ethersproject/abstract-signer" "5.8.0" - "@ethersproject/address" "5.8.0" - "@ethersproject/base64" "5.8.0" - "@ethersproject/basex" "5.8.0" - "@ethersproject/bignumber" "5.8.0" - "@ethersproject/bytes" "5.8.0" - "@ethersproject/constants" "5.8.0" - "@ethersproject/contracts" "5.8.0" - "@ethersproject/hash" "5.8.0" - "@ethersproject/hdnode" "5.8.0" - "@ethersproject/json-wallets" "5.8.0" - "@ethersproject/keccak256" "5.8.0" - "@ethersproject/logger" "5.8.0" - "@ethersproject/networks" "5.8.0" - "@ethersproject/pbkdf2" "5.8.0" - "@ethersproject/properties" "5.8.0" - "@ethersproject/providers" "5.8.0" - "@ethersproject/random" "5.8.0" - "@ethersproject/rlp" "5.8.0" - "@ethersproject/sha2" "5.8.0" - "@ethersproject/signing-key" "5.8.0" - "@ethersproject/solidity" "5.8.0" - "@ethersproject/strings" "5.8.0" - "@ethersproject/transactions" "5.8.0" - "@ethersproject/units" "5.8.0" - "@ethersproject/wallet" "5.8.0" - "@ethersproject/web" "5.8.0" - "@ethersproject/wordlists" "5.8.0" - -ethers@^6.12.1, ethers@^6.7.0: - version "6.13.5" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.5.tgz#8c1d6ac988ac08abc3c1d8fabbd4b8b602851ac4" - integrity sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ== - dependencies: - "@adraffy/ens-normalize" "1.10.1" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@types/node" "22.7.5" - aes-js "4.0.0-beta.5" - tslib "2.7.0" - ws "8.17.1" - -ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -expect@^29.0.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.0.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" - integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.8" - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-uri@^3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" - integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== - -fastfile@0.0.20: - version "0.0.20" - resolved "https://registry.yarnpkg.com/fastfile/-/fastfile-0.0.20.tgz#794a143d58cfda2e24c298e5ef619c748c8a1879" - integrity sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA== - -fastq@^1.6.0: - version "1.19.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" - integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== - dependencies: - reusify "^1.0.4" - -fdir@^6.4.3: - version "6.4.3" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.3.tgz#011cdacf837eca9b811c89dbb902df714273db72" - integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw== - -ffjavascript@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.0.tgz#442cd8fbb1ee4cbb1be9d26fd7b2951a1ea45d6a" - integrity sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ== - dependencies: - wasmbuilder "0.0.16" - wasmcurves "0.2.2" - web-worker "1.2.0" - -ffjavascript@0.3.1, ffjavascript@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.1.tgz#3761bbb3f4a67b58a94a463080272bf6b5877b03" - integrity sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw== - dependencies: - wasmbuilder "0.0.16" - wasmcurves "0.2.2" - web-worker "1.2.0" - -ffjavascript@^0.2.45: - version "0.2.63" - resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.63.tgz#0c1216a1f123dc9181df69e144473704d2f115eb" - integrity sha512-dBgdsfGks58b66JnUZeZpGxdMIDQ4QsD3VYlRJyFVrKQHb2kJy4R2gufx5oetrTxXPT+aEjg0dOvOLg1N0on4A== - dependencies: - wasmbuilder "0.0.16" - wasmcurves "0.2.2" - web-worker "1.2.0" - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-replace@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" - integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== - dependencies: - array-back "^3.0.1" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -follow-redirects@^1.12.1, follow-redirects@^1.15.6: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -form-data@^2.2.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.3.tgz#f9bcf87418ce748513c0c3494bb48ec270c97acc" - integrity sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - mime-types "^2.1.35" - safe-buffer "^5.2.1" - -form-data@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" - integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - mime-types "^2.1.12" - -fp-ts@1.19.3: - version "1.19.3" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.3.tgz#261a60d1088fbff01f91256f91d21d0caaaaa96f" - integrity sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg== - -fp-ts@^1.0.0: - version "1.19.5" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" - integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^7.0.0, fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -fsu@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fsu/-/fsu-1.1.1.tgz#bd36d3579907c59d85b257a75b836aa9e0c31834" - integrity sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-port@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" - integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== - -get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -ghost-testrpc@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz#c4de9557b1d1ae7b2d20bbe474a91378ca90ce92" - integrity sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ== - dependencies: - chalk "^2.4.2" - node-emoji "^1.10.0" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@7.1.7: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^5.0.15: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globby@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -handlebars@^4.0.1: - version "4.7.8" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" - integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.2" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -hardhat-contract-sizer@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.0.tgz#72646f43bfe50e9a5702c9720c9bc3e77d93a2c9" - integrity sha512-QiinUgBD5MqJZJh1hl1jc9dNnpJg7eE/w4/4GEnrcmZJJTDbVFNe3+/3Ep24XqISSkYxRz36czcPHKHd/a0dwA== - dependencies: - chalk "^4.0.0" - cli-table3 "^0.6.0" - strip-ansi "^6.0.0" - -hardhat-gas-reporter@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz#ebe5bda5334b5def312747580cd923c2b09aef1b" - integrity sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA== - dependencies: - array-uniq "1.0.3" - eth-gas-reporter "^0.2.25" - sha1 "^1.1.1" - -hardhat@^2.22.6: - version "2.23.0" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.23.0.tgz#c3b404410ea52c41f3200cc011f5b4cebd7d80bd" - integrity sha512-xnORx1LgX46TxylOFme96JmSAIjXuHUVpOlUnaCt8MKMGsgy0NGsfPo5rJI/ncCBPLFLURGfZUQ2Uc6ZYN4kYg== - dependencies: - "@ethereumjs/util" "^9.1.0" - "@ethersproject/abi" "^5.1.2" - "@nomicfoundation/edr" "^0.10.0" - "@nomicfoundation/solidity-analyzer" "^0.1.0" - "@sentry/node" "^5.18.1" - "@types/bn.js" "^5.1.0" - "@types/lru-cache" "^5.1.0" - adm-zip "^0.4.16" - aggregate-error "^3.0.0" - ansi-escapes "^4.3.0" - boxen "^5.1.2" - chokidar "^4.0.0" - ci-info "^2.0.0" - debug "^4.1.1" - enquirer "^2.3.0" - env-paths "^2.2.0" - ethereum-cryptography "^1.0.3" - find-up "^5.0.0" - fp-ts "1.19.3" - fs-extra "^7.0.1" - immutable "^4.0.0-rc.12" - io-ts "1.10.4" - json-stream-stringify "^3.1.4" - keccak "^3.0.2" - lodash "^4.17.11" - micro-eth-signer "^0.14.0" - mnemonist "^0.38.0" - mocha "^10.0.0" - p-map "^4.0.0" - picocolors "^1.1.0" - raw-body "^2.4.1" - resolve "1.17.0" - semver "^6.3.0" - solc "0.8.26" - source-map-support "^0.5.13" - stacktrace-parser "^0.1.10" - tinyglobby "^0.2.6" - tsort "0.0.1" - undici "^5.14.0" - uuid "^8.3.2" - ws "^7.4.6" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -"heap@>= 0.2.0": - version "0.2.7" - resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" - integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -http-basic@^8.1.1: - version "8.1.3" - resolved "https://registry.yarnpkg.com/http-basic/-/http-basic-8.1.3.tgz#a7cabee7526869b9b710136970805b1004261bbf" - integrity sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw== - dependencies: - caseless "^0.12.0" - concat-stream "^1.6.2" - http-response-object "^3.0.1" - parse-cache-control "^1.0.1" - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-response-object@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.2.tgz#7f435bb210454e4360d074ef1f989d5ea8aa9810" - integrity sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA== - dependencies: - "@types/node" "^10.0.3" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.1.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -immer@10.0.2: - version "10.0.2" - resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.2.tgz#11636c5b77acf529e059582d76faf338beb56141" - integrity sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA== - -immutable@^4.0.0-rc.12: - version "4.3.7" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381" - integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -io-ts@1.10.4: - version "1.10.4" - resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2" - integrity sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g== - dependencies: - fp-ts "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.16.0: - version "2.16.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" - integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== - dependencies: - hasown "^2.0.2" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -jake@^10.8.5: - version "10.9.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" - integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@3.x: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stream-stringify@^3.1.4: - version "3.1.6" - resolved "https://registry.yarnpkg.com/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz#ebe32193876fb99d4ec9f612389a8d8e2b5d54d4" - integrity sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonpath@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" - integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== - dependencies: - esprima "1.2.2" - static-eval "2.0.2" - underscore "1.12.1" - -jsonschema@^1.2.4: - version "1.5.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.5.0.tgz#f6aceb1ab9123563dd901d05f81f9d4883d3b7d8" - integrity sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw== - -keccak@^3.0.0, keccak@^3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" - integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== - -lodash.isempty@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" - integrity sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg== - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.isfunction@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" - integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== - -lodash.isobject@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" - integrity sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - -lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -logplease@^1.2.15: - version "1.2.15" - resolved "https://registry.yarnpkg.com/logplease/-/logplease-1.2.15.tgz#3da442e93751a5992cc19010a826b08d0293c48a" - integrity sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA== - -loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -lru_map@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" - integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -markdown-table@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" - integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== - -merge2@^1.2.3, merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micro-eth-signer@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/micro-eth-signer/-/micro-eth-signer-0.14.0.tgz#8aa1fe997d98d6bdf42f2071cef7eb01a66ecb22" - integrity sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw== - dependencies: - "@noble/curves" "~1.8.1" - "@noble/hashes" "~1.7.1" - micro-packed "~0.7.2" - -micro-ftch@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" - integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== - -micro-packed@~0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/micro-packed/-/micro-packed-0.7.2.tgz#7f9decd6c11fe2617bc85ad4ebc0ad48bf423f36" - integrity sha512-HJ/u8+tMzgrJVAl6P/4l8KGjJSA3SCZaRb1m4wpbovNScCSmVOGUYbkkcoPPcknCHWPpRAdjy+yqXqyQWf+k8g== - dependencies: - "@scure/base" "~1.2.2" - -micromatch@^4.0.4, micromatch@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.35: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1, minimatch@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@0.5.x: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mnemonist@^0.38.0: - version "0.38.5" - resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade" - integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== - dependencies: - obliterator "^2.0.0" - -mocha@^10.0.0, mocha@^10.2.0, mocha@^10.4.0: - version "10.8.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" - integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== - dependencies: - ansi-colors "^4.1.3" - browser-stdout "^1.3.1" - chokidar "^3.5.3" - debug "^4.3.5" - diff "^5.2.0" - escape-string-regexp "^4.0.0" - find-up "^5.0.0" - glob "^8.1.0" - he "^1.2.0" - js-yaml "^4.1.0" - log-symbols "^4.1.0" - minimatch "^5.1.6" - ms "^2.1.3" - serialize-javascript "^6.0.2" - strip-json-comments "^3.1.1" - supports-color "^8.1.1" - workerpool "^6.5.1" - yargs "^16.2.0" - yargs-parser "^20.2.9" - yargs-unparser "^2.0.0" - -mochawesome-report-generator@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz#65a30a11235ba7a68e1cf0ca1df80d764b93ae78" - integrity sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg== - dependencies: - chalk "^4.1.2" - dateformat "^4.5.1" - escape-html "^1.0.3" - fs-extra "^10.0.0" - fsu "^1.1.1" - lodash.isfunction "^3.0.9" - opener "^1.5.2" - prop-types "^15.7.2" - tcomb "^3.2.17" - tcomb-validation "^3.3.0" - validator "^13.6.0" - yargs "^17.2.1" - -mochawesome@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/mochawesome/-/mochawesome-7.1.3.tgz#07b358138f37f5b07b51a1b255d84babfa36fa83" - integrity sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ== - dependencies: - chalk "^4.1.2" - diff "^5.0.0" - json-stringify-safe "^5.0.1" - lodash.isempty "^4.4.0" - lodash.isfunction "^3.0.9" - lodash.isobject "^3.0.2" - lodash.isstring "^4.0.1" - mochawesome-report-generator "^6.2.0" - strip-ansi "^6.0.1" - uuid "^8.3.2" - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoassert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" - integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== - -ndjson@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-2.0.0.tgz#320ac86f6fe53f5681897349b86ac6f43bfa3a19" - integrity sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ== - dependencies: - json-stringify-safe "^5.0.1" - minimist "^1.2.5" - readable-stream "^3.6.0" - split2 "^3.0.0" - through2 "^4.0.0" - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-addon-api@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== - -node-addon-api@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== - -node-emoji@^1.10.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-fetch@^2.6.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-gyp-build@^4.2.0, node-gyp-build@^4.2.2: - version "4.8.4" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" - integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== - -nofilter@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" - integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== - -nopt@3.x: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== - dependencies: - abbrev "1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.3: - version "1.13.4" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" - integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== - -obliterator@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.5.tgz#031e0145354b0c18840336ae51d41e7d6d2c76aa" - integrity sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw== - -once@1.x, once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -ordinal@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ordinal/-/ordinal-1.0.3.tgz#1a3c7726a61728112f50944ad7c35c06ae3a0d4d" - integrity sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ== - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -parse-cache-control@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" - integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-parse@^1.0.6, path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -pbkdf2@^3.0.17: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -picocolors@^1.0.0, picocolors@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -poseidon-lite@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/poseidon-lite/-/poseidon-lite-0.3.0.tgz#93c42f6f9b870f154f2722dfd686b909c4285765" - integrity sha512-ilJj4MIve4uBEG7SrtPqUUNkvpJ/pLVbndxa0WvebcQqeIhe+h72JR4g0EvwchUzm9sOQDlOjiDNmRAgxNZl4A== - -poseidon-solidity@0.0.5, poseidon-solidity@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/poseidon-solidity/-/poseidon-solidity-0.0.5.tgz#3f93e01cfe25f6d2f2fac49734fbb00961b84655" - integrity sha512-NzrvSwHzvZgT4hvg2GyGqeR+UOU/eLSEt4wAoXEua+VaR7NTKKwx1X9bPlh1VMBEVEno+IWvkRBbidFGzTeAqQ== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -prettier@^2.3.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -promise@^8.0.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" - integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== - dependencies: - asap "~2.0.6" - -prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.7.2: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -qs@^6.4.0: - version "6.14.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" - integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== - dependencies: - side-channel "^1.1.0" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -r1csfile@0.0.48: - version "0.0.48" - resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.48.tgz#a317fc75407a9da92631666c75bdfc13f0a7835a" - integrity sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw== - dependencies: - "@iden3/bigarray" "0.0.2" - "@iden3/binfileutils" "0.0.12" - fastfile "0.0.20" - ffjavascript "0.3.0" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -raw-body@^2.4.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.2.2: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" - integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -reduce-flatten@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" - integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== - -req-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/req-cwd/-/req-cwd-2.0.0.tgz#d4082b4d44598036640fb73ddea01ed53db49ebc" - integrity sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ== - dependencies: - req-from "^2.0.0" - -req-from@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/req-from/-/req-from-2.0.0.tgz#d74188e47f93796f4aa71df6ee35ae689f3e0e70" - integrity sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA== - dependencies: - resolve-from "^3.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== - -resolve@1.1.x: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== - -resolve@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.1.6: - version "1.22.10" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" - integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== - dependencies: - is-core-module "^2.16.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" - integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sc-istanbul@^0.4.5: - version "0.4.6" - resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" - integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - -scrypt-js@3.0.1, scrypt-js@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secp256k1@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" - integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== - dependencies: - elliptic "^6.5.7" - node-addon-api "^5.0.0" - node-gyp-build "^4.2.0" - -semver@^5.5.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.3.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.4: - version "7.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" - integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== - -serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -sha1@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/sha1/-/sha1-1.1.1.tgz#addaa7a93168f393f19eb2b15091618e2700f848" - integrity sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA== - dependencies: - charenc ">= 0.0.1" - crypt ">= 0.0.1" - -shelljs@^0.8.3: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel-list@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" - integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - -side-channel-map@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" - integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - -side-channel-weakmap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" - integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - side-channel-map "^1.0.1" - -side-channel@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" - integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - side-channel-list "^1.0.0" - side-channel-map "^1.0.1" - side-channel-weakmap "^1.0.2" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snarkjs@^0.7.4: - version "0.7.5" - resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.7.5.tgz#334d83b61468bdffbbf922b20734ca47be50b8ab" - integrity sha512-h+3c4rXZKLhLuHk4LHydZCk/h5GcNvk5GjVKRRkHmfb6Ntf8gHOA9zea3g656iclRuhqQ3iKDWFgiD9ypLrKiA== - dependencies: - "@iden3/binfileutils" "0.0.12" - bfj "^7.0.2" - blake2b-wasm "^2.4.0" - circom_runtime "0.1.28" - ejs "^3.1.6" - fastfile "0.0.20" - ffjavascript "0.3.1" - js-sha3 "^0.8.0" - logplease "^1.2.15" - r1csfile "0.0.48" - -solc@0.8.26: - version "0.8.26" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" - integrity sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g== - dependencies: - command-exists "^1.2.8" - commander "^8.1.0" - follow-redirects "^1.12.1" - js-sha3 "0.8.0" - memorystream "^0.3.1" - semver "^5.5.0" - tmp "0.0.33" - -solidity-coverage@^0.8.14: - version "0.8.14" - resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.14.tgz#db9bfcc10e3bc369fc074b35b267d665bcc6ae2e" - integrity sha512-ItAAObe5GaEOp20kXC2BZRnph+9P7Rtoqg2mQc2SXGEHgSDF2wWd1Wxz3ntzQWXkbCtIIGdJT918HG00cObwbA== - dependencies: - "@ethersproject/abi" "^5.0.9" - "@solidity-parser/parser" "^0.19.0" - chalk "^2.4.2" - death "^1.1.0" - difflib "^0.2.4" - fs-extra "^8.1.0" - ghost-testrpc "^0.0.2" - global-modules "^2.0.0" - globby "^10.0.1" - jsonschema "^1.2.4" - lodash "^4.17.21" - mocha "^10.2.0" - node-emoji "^1.10.0" - pify "^4.0.1" - recursive-readdir "^2.2.2" - sc-istanbul "^0.4.5" - semver "^7.3.4" - shelljs "^0.8.3" - web3-utils "^1.3.6" - -source-map-support@^0.5.13: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== - dependencies: - amdefine ">=0.0.4" - -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stacktrace-parser@^0.1.10: - version "0.1.11" - resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz#c7c08f9b29ef566b9a6f7b255d7db572f66fabc4" - integrity sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg== - dependencies: - type-fest "^0.7.1" - -static-eval@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" - integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== - dependencies: - escodegen "^1.8.1" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -string-format@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" - integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== - -string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== - dependencies: - is-hex-prefixed "1.0.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== - dependencies: - has-flag "^1.0.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -sync-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/sync-request/-/sync-request-6.1.0.tgz#e96217565b5e50bbffe179868ba75532fb597e68" - integrity sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw== - dependencies: - http-response-object "^3.0.1" - sync-rpc "^1.2.1" - then-request "^6.0.0" - -sync-rpc@^1.2.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.6.tgz#b2e8b2550a12ccbc71df8644810529deb68665a7" - integrity sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw== - dependencies: - get-port "^3.1.0" - -table-layout@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" - integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== - dependencies: - array-back "^4.0.1" - deep-extend "~0.6.0" - typical "^5.2.0" - wordwrapjs "^4.0.0" - -table@^6.8.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" - integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -tcomb-validation@^3.3.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tcomb-validation/-/tcomb-validation-3.4.1.tgz#a7696ec176ce56a081d9e019f8b732a5a8894b65" - integrity sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA== - dependencies: - tcomb "^3.0.0" - -tcomb@^3.0.0, tcomb@^3.2.17: - version "3.2.29" - resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-3.2.29.tgz#32404fe9456d90c2cf4798682d37439f1ccc386c" - integrity sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ== - -then-request@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/then-request/-/then-request-6.0.2.tgz#ec18dd8b5ca43aaee5cb92f7e4c1630e950d4f0c" - integrity sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA== - dependencies: - "@types/concat-stream" "^1.6.0" - "@types/form-data" "0.0.33" - "@types/node" "^8.0.0" - "@types/qs" "^6.2.31" - caseless "~0.12.0" - concat-stream "^1.6.0" - form-data "^2.2.0" - http-basic "^8.1.1" - http-response-object "^3.0.1" - promise "^8.0.0" - qs "^6.4.0" - -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -tinyglobby@^0.2.6: - version "0.2.12" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.12.tgz#ac941a42e0c5773bd0b5d08f32de82e74a1a61b5" - integrity sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww== - dependencies: - fdir "^6.4.3" - picomatch "^4.0.2" - -tmp@0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-command-line-args@^2.2.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" - integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== - dependencies: - chalk "^4.1.0" - command-line-args "^5.1.1" - command-line-usage "^6.1.0" - string-format "^2.0.0" - -ts-essentials@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" - integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== - -ts-node@^10.9.1: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tslib@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" - integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== - -tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsort@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" - integrity sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw== - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@^4.0.0, type-detect@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" - integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" - integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== - -typechain@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" - integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== - dependencies: - "@types/prettier" "^2.1.1" - debug "^4.3.1" - fs-extra "^7.0.0" - glob "7.1.7" - js-sha3 "^0.8.0" - lodash "^4.17.15" - mkdirp "^1.0.4" - prettier "^2.3.1" - ts-command-line-args "^2.2.0" - ts-essentials "^7.0.1" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@^5.1.6: - version "5.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" - integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== - -typical@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" - integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== - -typical@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" - integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== - -uglify-js@^3.1.4: - version "3.19.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" - integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== - -underscore@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" - integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== - -undici-types@~6.19.2: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== - -undici-types@~6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== - -undici@^5.14.0: - version "5.29.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.29.0.tgz#419595449ae3f2cdcba3580a2e8903399bd1f5a3" - integrity sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg== - dependencies: - "@fastify/busboy" "^2.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -utf8@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -validator@^13.6.0: - version "13.15.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.15.0.tgz#2dc7ce057e7513a55585109eec29b2c8e8c1aefd" - integrity sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA== - -wasmbuilder@0.0.16: - version "0.0.16" - resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.16.tgz#f34c1f2c047d2f6e1065cbfec5603988f16d8549" - integrity sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA== - -wasmcurves@0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.2.2.tgz#ca444f6a6f6e2a5cbe6629d98ff478a62b4ccb2b" - integrity sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ== - dependencies: - wasmbuilder "0.0.16" - -web-worker@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" - integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== - -web3-utils@^1.3.6: - version "1.10.4" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.4.tgz#0daee7d6841641655d8b3726baf33b08eda1cbec" - integrity sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A== - dependencies: - "@ethereumjs/util" "^8.1.0" - bn.js "^5.2.1" - ethereum-bloom-filters "^1.0.6" - ethereum-cryptography "^2.1.2" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - utf8 "3.0.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which@^1.1.1, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -word-wrap@~1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== - -wordwrapjs@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" - integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== - dependencies: - reduce-flatten "^2.0.0" - typical "^5.2.0" - -workerpool@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" - integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@8.17.1: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" - integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== - -ws@8.18.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" - integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== - -ws@^7.4.6: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-unparser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.2.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + version: 1.0.0 + resolution: "@ashpect/smt@https://github.com/ashpect/smt.git#commit=4f73fd24adb06a7f8efd6fd2d3ed58e9e2f2691a" + checksum: 10c0/1b8ab39089fddea939f95b67bed9100a7fbc7f54fc4ba805c7eb8890820bbe9f600b692d63f89651b4081efb5a8b6828dbd7416042d3ca0ab921c06c1f9b3f4e + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.12.13": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d + languageName: node + linkType: hard + +"@colors/colors@npm:1.5.0": + version: 1.5.0 + resolution: "@colors/colors@npm:1.5.0" + checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 + languageName: node + linkType: hard + +"@eth-optimism/hardhat-ovm@npm:^0.2.4": + version: 0.2.4 + resolution: "@eth-optimism/hardhat-ovm@npm:0.2.4" + dependencies: + node-fetch: "npm:^2.6.1" + peerDependencies: + ethers: ^5.4.5 + hardhat: ^2.3.0 + checksum: 10c0/66cc4d948ae00d0345e888c4a0a58508f7b354ad044969ec43497ce75b2f3ba4d1eef7dce8b36b1d74afa78e54d06dd7d854acc4e6281e729dc68d74db08a0db + languageName: node + linkType: hard + +"@ethereumjs/rlp@npm:^4.0.1": + version: 4.0.1 + resolution: "@ethereumjs/rlp@npm:4.0.1" + bin: + rlp: bin/rlp + checksum: 10c0/78379f288e9d88c584c2159c725c4a667a9742981d638bad760ed908263e0e36bdbd822c0a902003e0701195fd1cbde7adad621cd97fdfbf552c45e835ce022c + languageName: node + linkType: hard + +"@ethereumjs/rlp@npm:^5.0.2": + version: 5.0.2 + resolution: "@ethereumjs/rlp@npm:5.0.2" + bin: + rlp: bin/rlp.cjs + checksum: 10c0/56162eaee96dd429f0528a9e51b453398546d57f26057b3e188f2aa09efe8bd430502971c54238ca9cc42af41b0a3f137cf67b9e020d52bc83caca043d64911b + languageName: node + linkType: hard + +"@ethereumjs/util@npm:^8.1.0": + version: 8.1.0 + resolution: "@ethereumjs/util@npm:8.1.0" + dependencies: + "@ethereumjs/rlp": "npm:^4.0.1" + ethereum-cryptography: "npm:^2.0.0" + micro-ftch: "npm:^0.3.1" + checksum: 10c0/4e6e0449236f66b53782bab3b387108f0ddc050835bfe1381c67a7c038fea27cb85ab38851d98b700957022f0acb6e455ca0c634249cfcce1a116bad76500160 + languageName: node + linkType: hard + +"@ethereumjs/util@npm:^9.1.0": + version: 9.1.0 + resolution: "@ethereumjs/util@npm:9.1.0" + dependencies: + "@ethereumjs/rlp": "npm:^5.0.2" + ethereum-cryptography: "npm:^2.2.1" + checksum: 10c0/7b55c79d90e55da873037b8283c37b61164f1712b194e2783bdb0a3401ff0999dc9d1404c7051589f71fb79e8aeb6952ec43ede21dd0028d7d9b1c07abcfff27 + languageName: node + linkType: hard + +"@ethersproject/abi@npm:5.8.0, @ethersproject/abi@npm:^5.0.9, @ethersproject/abi@npm:^5.1.2, @ethersproject/abi@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abi@npm:5.8.0" + dependencies: + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/6b759247a2f43ecc1548647d0447d08de1e946dfc7e71bfb014fa2f749c1b76b742a1d37394660ebab02ff8565674b3593fdfa011e16a5adcfc87ca4d85af39c + languageName: node + linkType: hard + +"@ethersproject/abstract-provider@npm:5.8.0, @ethersproject/abstract-provider@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abstract-provider@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/networks": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/web": "npm:^5.8.0" + checksum: 10c0/9c183da1d037b272ff2b03002c3d801088d0534f88985f4983efc5f3ebd59b05f04bc05db97792fe29ddf87eeba3c73416e5699615f183126f85f877ea6c8637 + languageName: node + linkType: hard + +"@ethersproject/abstract-signer@npm:5.8.0, @ethersproject/abstract-signer@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abstract-signer@npm:5.8.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + checksum: 10c0/143f32d7cb0bc7064e45674d4a9dffdb90d6171425d20e8de9dc95765be960534bae7246ead400e6f52346624b66569d9585d790eedd34b0b6b7f481ec331cc2 + languageName: node + linkType: hard + +"@ethersproject/address@npm:5.6.1": + version: 5.6.1 + resolution: "@ethersproject/address@npm:5.6.1" + dependencies: + "@ethersproject/bignumber": "npm:^5.6.2" + "@ethersproject/bytes": "npm:^5.6.1" + "@ethersproject/keccak256": "npm:^5.6.1" + "@ethersproject/logger": "npm:^5.6.0" + "@ethersproject/rlp": "npm:^5.6.1" + checksum: 10c0/7ac29a0abcb9970c6f5f9a2d2e8247d3c433ee9a022861cbf4f8d437f095a5293f3d323b8ec3433df622364071232b227248f1ac04c4ddea353bf18e2e4d76cf + languageName: node + linkType: hard + +"@ethersproject/address@npm:5.8.0, @ethersproject/address@npm:^5.0.2, @ethersproject/address@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/address@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + checksum: 10c0/8bac8a4b567c75c1abc00eeca08c200de1a2d5cf76d595dc04fa4d7bff9ffa5530b2cdfc5e8656cfa8f6fa046de54be47620a092fb429830a8ddde410b9d50bc + languageName: node + linkType: hard + +"@ethersproject/base64@npm:5.8.0, @ethersproject/base64@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/base64@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + checksum: 10c0/60ae6d1e2367d70f4090b717852efe62075442ae59aeac9bb1054fe8306a2de8ef0b0561e7fb4666ecb1f8efa1655d683dd240675c3a25d6fa867245525a63ca + languageName: node + linkType: hard + +"@ethersproject/basex@npm:5.8.0, @ethersproject/basex@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/basex@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + checksum: 10c0/46a94ba9678fc458ab0bee4a0af9f659f1d3f5df5bb98485924fe8ecbd46eda37d81f95f882243d56f0f5efe051b0749163f5056e48ff836c5fba648754d4956 + languageName: node + linkType: hard + +"@ethersproject/bignumber@npm:5.8.0, @ethersproject/bignumber@npm:^5.6.2, @ethersproject/bignumber@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/bignumber@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + bn.js: "npm:^5.2.1" + checksum: 10c0/8e87fa96999d59d0ab4c814c79e3a8354d2ba914dfa78cf9ee688f53110473cec0df0db2aaf9d447e84ab2dbbfca39979abac4f2dac69fef4d080f4cc3e29613 + languageName: node + linkType: hard + +"@ethersproject/bytes@npm:5.8.0, @ethersproject/bytes@npm:^5.6.1, @ethersproject/bytes@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/bytes@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/47ef798f3ab43b95dc74097b2c92365c919308ecabc3e34d9f8bf7f886fa4b99837ba5cf4dc8921baaaafe6899982f96b0e723b3fc49132c061f83d1ca3fed8b + languageName: node + linkType: hard + +"@ethersproject/constants@npm:5.8.0, @ethersproject/constants@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/constants@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + checksum: 10c0/374b3c2c6da24f8fef62e2316eae96faa462826c0774ef588cd7313ae7ddac8eb1bb85a28dad80123148be2ba0821c217c14ecfc18e2e683c72adc734b6248c9 + languageName: node + linkType: hard + +"@ethersproject/contracts@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/contracts@npm:5.8.0" + dependencies: + "@ethersproject/abi": "npm:^5.8.0" + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + checksum: 10c0/49961b92334c4f2fab5f4da8f3119e97c1dc39cc8695e3043931757968213f5e732c00bf896193cf0186dcb33101dcd6efb70690dee0dd2cfbfd3843f55485aa + languageName: node + linkType: hard + +"@ethersproject/hash@npm:5.8.0, @ethersproject/hash@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/hash@npm:5.8.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/72a287d4d70fae716827587339ffb449b8c23ef8728db6f8a661f359f7cb1e5ffba5b693c55e09d4e7162bf56af4a0e98a334784e0706d98102d1a5786241537 + languageName: node + linkType: hard + +"@ethersproject/hdnode@npm:5.8.0, @ethersproject/hdnode@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/hdnode@npm:5.8.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/basex": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/pbkdf2": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + "@ethersproject/signing-key": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/wordlists": "npm:^5.8.0" + checksum: 10c0/da0ac7d60e76a76471be1f4f3bba3f28a24165dc3b63c6930a9ec24481e9f8b23936e5fc96363b3591cdfda4381d4623f25b06898b89bf5530b158cb5ea58fdd + languageName: node + linkType: hard + +"@ethersproject/json-wallets@npm:5.8.0, @ethersproject/json-wallets@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/json-wallets@npm:5.8.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/hdnode": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/pbkdf2": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/random": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + aes-js: "npm:3.0.0" + scrypt-js: "npm:3.0.1" + checksum: 10c0/6c5cac87bdfac9ac47bf6ac25168a85865dc02e398e97f83820568c568a8cb27cf13a3a5d482f71a2534c7d704a3faa46023bb7ebe8737872b376bec1b66c67b + languageName: node + linkType: hard + +"@ethersproject/keccak256@npm:5.8.0, @ethersproject/keccak256@npm:^5.6.1, @ethersproject/keccak256@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/keccak256@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + js-sha3: "npm:0.8.0" + checksum: 10c0/cd93ac6a5baf842313cde7de5e6e2c41feeea800db9e82955f96e7f3462d2ac6a6a29282b1c9e93b84ce7c91eec02347043c249fd037d6051214275bfc7fe99f + languageName: node + linkType: hard + +"@ethersproject/logger@npm:5.8.0, @ethersproject/logger@npm:^5.6.0, @ethersproject/logger@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/logger@npm:5.8.0" + checksum: 10c0/7f39f33e8f254ee681d4778bb71ce3c5de248e1547666f85c43bfbc1c18996c49a31f969f056b66d23012f2420f2d39173107284bc41eb98d0482ace1d06403e + languageName: node + linkType: hard + +"@ethersproject/networks@npm:5.8.0, @ethersproject/networks@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/networks@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/3f23bcc4c3843cc9b7e4b9f34df0a1f230b24dc87d51cdad84552302159a84d7899cd80c8a3d2cf8007b09ac373a5b10407007adde23d4c4881a4d6ee6bc4b9c + languageName: node + linkType: hard + +"@ethersproject/pbkdf2@npm:5.8.0, @ethersproject/pbkdf2@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/pbkdf2@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + checksum: 10c0/0397cf5370cfd568743c3e46ac431f1bd425239baa2691689f1430997d44d310cef5051ea9ee53fabe444f96aced8d6324b41da698e8d7021389dce36251e7e9 + languageName: node + linkType: hard + +"@ethersproject/properties@npm:5.8.0, @ethersproject/properties@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/properties@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/20256d7eed65478a38dabdea4c3980c6591b7b75f8c45089722b032ceb0e1cd3dd6dd60c436cfe259337e6909c28d99528c172d06fc74bbd61be8eb9e68be2e6 + languageName: node + linkType: hard + +"@ethersproject/providers@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/providers@npm:5.8.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/basex": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/networks": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/random": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/web": "npm:^5.8.0" + bech32: "npm:1.1.4" + ws: "npm:8.18.0" + checksum: 10c0/893dba429443bbf0a3eadef850e772ad1c706cf17ae6ae48b73467a23b614a3f461e9004850e24439b5c73d30e9259bc983f0f90a911ba11af749e6384fd355a + languageName: node + linkType: hard + +"@ethersproject/random@npm:5.8.0, @ethersproject/random@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/random@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/e44c010715668fc29383141ae16cd2ec00c34a434d47e23338e740b8c97372515d95d3b809b969eab2055c19e92b985ca591d326fbb71270c26333215f9925d1 + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:5.8.0, @ethersproject/rlp@npm:^5.6.1, @ethersproject/rlp@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/rlp@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/db742ec9c1566d6441242cc2c2ae34c1e5304d48e1fe62bc4e53b1791f219df211e330d2de331e0e4f74482664e205c2e4220e76138bd71f1ec07884e7f5221b + languageName: node + linkType: hard + +"@ethersproject/sha2@npm:5.8.0, @ethersproject/sha2@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/sha2@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + hash.js: "npm:1.1.7" + checksum: 10c0/eab941907b7d40ee8436acaaedee32306ed4de2cb9ab37543bc89b1dd2a78f28c8da21efd848525fa1b04a78575be426cfca28f5392f4d28ce6c84e7c26a9421 + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:5.8.0, @ethersproject/signing-key@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/signing-key@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + bn.js: "npm:^5.2.1" + elliptic: "npm:6.6.1" + hash.js: "npm:1.1.7" + checksum: 10c0/a7ff6cd344b0609737a496b6d5b902cf5528ed5a7ce2c0db5e7b69dc491d1810d1d0cd51dddf9dc74dd562ab4961d76e982f1750359b834c53c202e85e4c8502 + languageName: node + linkType: hard + +"@ethersproject/solidity@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/solidity@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/sha2": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/5b5e0531bcec1d919cfbd261694694c8999ca5c379c1bb276ec779b896d299bb5db8ed7aa5652eb2c7605fe66455832b56ef123dec07f6ddef44231a7aa6fe6c + languageName: node + linkType: hard + +"@ethersproject/strings@npm:5.8.0, @ethersproject/strings@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/strings@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/6db39503c4be130110612b6d593a381c62657e41eebf4f553247ebe394fda32cdf74ff645daee7b7860d209fd02c7e909a95b1f39a2f001c662669b9dfe81d00 + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:5.8.0, @ethersproject/transactions@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/transactions@npm:5.8.0" + dependencies: + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + "@ethersproject/signing-key": "npm:^5.8.0" + checksum: 10c0/dd32f090df5945313aafa8430ce76834479750d6655cb786c3b65ec841c94596b14d3c8c59ee93eed7b4f32f27d321a9b8b43bc6bb51f7e1c6694f82639ffe68 + languageName: node + linkType: hard + +"@ethersproject/units@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/units@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10c0/5f92b8379a58024078fce6a4cbf7323cfd79bc41ef8f0a7bbf8be9c816ce18783140ab0d5c8d34ed615639aef7fc3a2ed255e92809e3558a510c4f0d49e27309 + languageName: node + linkType: hard + +"@ethersproject/wallet@npm:5.8.0": + version: 5.8.0 + resolution: "@ethersproject/wallet@npm:5.8.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/hdnode": "npm:^5.8.0" + "@ethersproject/json-wallets": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/random": "npm:^5.8.0" + "@ethersproject/signing-key": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/wordlists": "npm:^5.8.0" + checksum: 10c0/6da450872dda3d9008bad3ccf8467816a63429241e51c66627647123c0fe5625494c4f6c306e098eb8419cc5702ac017d41f5161af5ff670a41fe5d199883c09 + languageName: node + linkType: hard + +"@ethersproject/web@npm:5.8.0, @ethersproject/web@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/web@npm:5.8.0" + dependencies: + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/e3cd547225638db6e94fcd890001c778d77adb0d4f11a7f8c447e961041678f3fbfaffe77a962c7aa3f6597504232442e7015f2335b1788508a108708a30308a + languageName: node + linkType: hard + +"@ethersproject/wordlists@npm:5.8.0, @ethersproject/wordlists@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/wordlists@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10c0/e230a2ba075006bc3a2538e096003e43ef9ba453317f37a4d99638720487ec447c1fa61a592c80483f8a8ad6466511cf4cf5c49cf84464a1679999171ce311f4 + languageName: node + linkType: hard + +"@fastify/busboy@npm:^2.0.0": + version: 2.1.1 + resolution: "@fastify/busboy@npm:2.1.1" + checksum: 10c0/6f8027a8cba7f8f7b736718b013f5a38c0476eea67034c94a0d3c375e2b114366ad4419e6a6fa7ffc2ef9c6d3e0435d76dd584a7a1cbac23962fda7650b579e3 + languageName: node + linkType: hard + +"@iden3/bigarray@npm:0.0.2": + version: 0.0.2 + resolution: "@iden3/bigarray@npm:0.0.2" + checksum: 10c0/a1c69a30f1bfb7eed0a1066e6a3d80aad3fab4dbb1bae96cf4dc7117ca9f791edc4a023d8cfb0afefbeab4d65f7bf91edfbb0a62e5ecdc8711c98bb329fedbaa + languageName: node + linkType: hard + +"@iden3/binfileutils@npm:0.0.12": + version: 0.0.12 + resolution: "@iden3/binfileutils@npm:0.0.12" + dependencies: + fastfile: "npm:0.0.20" + ffjavascript: "npm:^0.3.0" + checksum: 10c0/33783e2bad7901020bb1ba2236e0172a6f0bced519558466fe17ea2e51226a06d769e869883b1d6fe1abcc459327a77ee96265a52b53c2a964d9b4ef48b2263a + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect-utils@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.0.3": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b + languageName: node + linkType: hard + +"@noble/curves@npm:1.2.0": + version: 1.2.0 + resolution: "@noble/curves@npm:1.2.0" + dependencies: + "@noble/hashes": "npm:1.3.2" + checksum: 10c0/0bac7d1bbfb3c2286910b02598addd33243cb97c3f36f987ecc927a4be8d7d88e0fcb12b0f0ef8a044e7307d1844dd5c49bb724bfa0a79c8ec50ba60768c97f6 + languageName: node + linkType: hard + +"@noble/curves@npm:1.4.2, @noble/curves@npm:~1.4.0": + version: 1.4.2 + resolution: "@noble/curves@npm:1.4.2" + dependencies: + "@noble/hashes": "npm:1.4.0" + checksum: 10c0/65620c895b15d46e8087939db6657b46a1a15cd4e0e4de5cd84b97a0dfe0af85f33a431bb21ac88267e3dc508618245d4cb564213959d66a84d690fe18a63419 + languageName: node + linkType: hard + +"@noble/curves@npm:~1.8.1": + version: 1.8.1 + resolution: "@noble/curves@npm:1.8.1" + dependencies: + "@noble/hashes": "npm:1.7.1" + checksum: 10c0/84902c7af93338373a95d833f77981113e81c48d4bec78f22f63f1f7fdd893bc1d3d7a3ee78f01b9a8ad3dec812a1232866bf2ccbeb2b1560492e5e7d690ab1f + languageName: node + linkType: hard + +"@noble/hashes@npm:1.2.0, @noble/hashes@npm:~1.2.0": + version: 1.2.0 + resolution: "@noble/hashes@npm:1.2.0" + checksum: 10c0/8bd3edb7bb6a9068f806a9a5a208cc2144e42940a21c049d8e9a0c23db08bef5cf1cfd844a7e35489b5ab52c6fa6299352075319e7f531e0996d459c38cfe26a + languageName: node + linkType: hard + +"@noble/hashes@npm:1.3.2": + version: 1.3.2 + resolution: "@noble/hashes@npm:1.3.2" + checksum: 10c0/2482cce3bce6a596626f94ca296e21378e7a5d4c09597cbc46e65ffacc3d64c8df73111f2265444e36a3168208628258bbbaccba2ef24f65f58b2417638a20e7 + languageName: node + linkType: hard + +"@noble/hashes@npm:1.4.0, @noble/hashes@npm:~1.4.0": + version: 1.4.0 + resolution: "@noble/hashes@npm:1.4.0" + checksum: 10c0/8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 + languageName: node + linkType: hard + +"@noble/hashes@npm:1.7.1, @noble/hashes@npm:^1.4.0, @noble/hashes@npm:~1.7.1": + version: 1.7.1 + resolution: "@noble/hashes@npm:1.7.1" + checksum: 10c0/2f8ec0338ccc92b576a0f5c16ab9c017a3a494062f1fbb569ae641c5e7eab32072f9081acaa96b5048c0898f972916c818ea63cbedda707886a4b5ffcfbf94e3 + languageName: node + linkType: hard + +"@noble/secp256k1@npm:1.7.1, @noble/secp256k1@npm:~1.7.0": + version: 1.7.1 + resolution: "@noble/secp256k1@npm:1.7.1" + checksum: 10c0/48091801d39daba75520012027d0ff0b1719338d96033890cfe0d287ad75af00d82769c0194a06e7e4fbd816ae3f204f4a59c9e26f0ad16b429f7e9b5403ccd5 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@nomicfoundation/edr-darwin-arm64@npm:0.10.0": + version: 0.10.0 + resolution: "@nomicfoundation/edr-darwin-arm64@npm:0.10.0" + checksum: 10c0/12bb9f7d3a8282da373f0830a3a6e56e6ba317ebc39a4728bdf094cfb877b83de6401177dce2b91b7357413f77da6ff117111c33ebde4859b4a7be6f3b3720a4 + languageName: node + linkType: hard + +"@nomicfoundation/edr-darwin-x64@npm:0.10.0": + version: 0.10.0 + resolution: "@nomicfoundation/edr-darwin-x64@npm:0.10.0" + checksum: 10c0/42963ed578afd7a71d360c2c9eb27cb0da160136183ff01d51b9bfeb900a32d1a303946311851889bbdbbffd1413339b5d520d4035cd7de19b45e61b93213195 + languageName: node + linkType: hard + +"@nomicfoundation/edr-linux-arm64-gnu@npm:0.10.0": + version: 0.10.0 + resolution: "@nomicfoundation/edr-linux-arm64-gnu@npm:0.10.0" + checksum: 10c0/2432f6592cc36f9fa13fe3bd7dce1fdac7a8ed8fb6697fe71e7efbf47ceda091d435beafcce431faf8be68c8ed23e8704a2eed155733d4ad54fe8dfa65fe2931 + languageName: node + linkType: hard + +"@nomicfoundation/edr-linux-arm64-musl@npm:0.10.0": + version: 0.10.0 + resolution: "@nomicfoundation/edr-linux-arm64-musl@npm:0.10.0" + checksum: 10c0/c1fb79436f97bc2611e97e575de7d7958d47976419258de55e2e2237e4278b2b08f71d7142a24e6acf5098ceb1b7a5b2054c1ab7263151be21c7d2c9df88df71 + languageName: node + linkType: hard + +"@nomicfoundation/edr-linux-x64-gnu@npm:0.10.0": + version: 0.10.0 + resolution: "@nomicfoundation/edr-linux-x64-gnu@npm:0.10.0" + checksum: 10c0/84f89242920d4ee3883fba24e5d1bd2742b4dc6d1545ba731d0213ae59b037f8ea2aa1c515adcb7232b5f53a0e5a61c7cb0bc4de6149dfe355c2466a3757a3f0 + languageName: node + linkType: hard + +"@nomicfoundation/edr-linux-x64-musl@npm:0.10.0": + version: 0.10.0 + resolution: "@nomicfoundation/edr-linux-x64-musl@npm:0.10.0" + checksum: 10c0/449bccb221c200296e94bf2341c35b554014ae1f08ecc61b711cb19de1ec6331ac977eb545fa945b5d0611897331c5135e35f9d40ae7eb581bab1713bfd5a38a + languageName: node + linkType: hard + +"@nomicfoundation/edr-win32-x64-msvc@npm:0.10.0": + version: 0.10.0 + resolution: "@nomicfoundation/edr-win32-x64-msvc@npm:0.10.0" + checksum: 10c0/951f3e930105ea48524df1a96dd331b984240c56b5bce83ea44d09a0c715e288d69b4b9a80876e16d0a92a3f7db3b9dfb96e44d1e0358413a268792ab7299ae3 + languageName: node + linkType: hard + +"@nomicfoundation/edr@npm:^0.10.0": + version: 0.10.0 + resolution: "@nomicfoundation/edr@npm:0.10.0" + dependencies: + "@nomicfoundation/edr-darwin-arm64": "npm:0.10.0" + "@nomicfoundation/edr-darwin-x64": "npm:0.10.0" + "@nomicfoundation/edr-linux-arm64-gnu": "npm:0.10.0" + "@nomicfoundation/edr-linux-arm64-musl": "npm:0.10.0" + "@nomicfoundation/edr-linux-x64-gnu": "npm:0.10.0" + "@nomicfoundation/edr-linux-x64-musl": "npm:0.10.0" + "@nomicfoundation/edr-win32-x64-msvc": "npm:0.10.0" + checksum: 10c0/57c636539e7f13ca045be6e9938f98d3ed620edc55430d31c0e68e7ffe420bfe239655a86c95d5545c4727718f0a407a3a4aac76898d180a6c0e46dae2aa3eae + languageName: node + linkType: hard + +"@nomicfoundation/hardhat-chai-matchers@npm:^2.0.6": + version: 2.0.8 + resolution: "@nomicfoundation/hardhat-chai-matchers@npm:2.0.8" + dependencies: + "@types/chai-as-promised": "npm:^7.1.3" + chai-as-promised: "npm:^7.1.1" + deep-eql: "npm:^4.0.1" + ordinal: "npm:^1.0.3" + peerDependencies: + "@nomicfoundation/hardhat-ethers": ^3.0.0 + chai: ^4.2.0 + ethers: ^6.1.0 + hardhat: ^2.9.4 + checksum: 10c0/51e3ee9ff17319180a5f45108514b33437c004b724c591dc6d7d2e9842e24e2d793aaf94ce5316117475021e67c88228283d20c9f45fb0693dd8f6b61674b4ff + languageName: node + linkType: hard + +"@nomicfoundation/hardhat-ethers@npm:^3.0.5": + version: 3.0.8 + resolution: "@nomicfoundation/hardhat-ethers@npm:3.0.8" + dependencies: + debug: "npm:^4.1.1" + lodash.isequal: "npm:^4.5.0" + peerDependencies: + ethers: ^6.1.0 + hardhat: ^2.0.0 + checksum: 10c0/478b5d9607e7fc50377bec45ecebbf74240719c76aa08c81052d2a2174eee6f422db8cfd3f13fd17a080d8ff1046fac50dfffa3a2e57c9e3ed466932239e4af2 + languageName: node + linkType: hard + +"@nomicfoundation/hardhat-ignition-ethers@npm:^0.15.3": + version: 0.15.11 + resolution: "@nomicfoundation/hardhat-ignition-ethers@npm:0.15.11" + peerDependencies: + "@nomicfoundation/hardhat-ethers": ^3.0.4 + "@nomicfoundation/hardhat-ignition": ^0.15.11 + "@nomicfoundation/ignition-core": ^0.15.11 + ethers: ^6.7.0 + hardhat: ^2.18.0 + checksum: 10c0/20613460258ee316797ff328781e87ff1945967defb4c27f38e1ed25bfef4ac6a6a951c1687216df2169c86568afea0fc171ba27a14ba6876b9263a0653b180b + languageName: node + linkType: hard + +"@nomicfoundation/hardhat-ignition@npm:^0.15.3": + version: 0.15.11 + resolution: "@nomicfoundation/hardhat-ignition@npm:0.15.11" + dependencies: + "@nomicfoundation/ignition-core": "npm:^0.15.11" + "@nomicfoundation/ignition-ui": "npm:^0.15.11" + chalk: "npm:^4.0.0" + debug: "npm:^4.3.2" + fs-extra: "npm:^10.0.0" + json5: "npm:^2.2.3" + prompts: "npm:^2.4.2" + peerDependencies: + "@nomicfoundation/hardhat-verify": ^2.0.1 + hardhat: ^2.18.0 + checksum: 10c0/05248edfb96471990290dd4bf894602d003c09a44a1bab4861beac6ff06ced24ecd1656de287698329ca6999feb01ca3c769b4cc344f981b14ca09f3c0b659c8 + languageName: node + linkType: hard + +"@nomicfoundation/hardhat-network-helpers@npm:^1.0.10": + version: 1.0.12 + resolution: "@nomicfoundation/hardhat-network-helpers@npm:1.0.12" + dependencies: + ethereumjs-util: "npm:^7.1.4" + peerDependencies: + hardhat: ^2.9.5 + checksum: 10c0/93df80bb824fb9146c354f71637d6deee4b7ba19527eee94b4f79064ccbb8e4e45e14d8e558f6e5c2be17d64429faaef07ac8fe12ef11395c549f7b5fc540722 + languageName: node + linkType: hard + +"@nomicfoundation/hardhat-toolbox@npm:^3.0.0": + version: 3.0.0 + resolution: "@nomicfoundation/hardhat-toolbox@npm:3.0.0" + peerDependencies: + "@nomicfoundation/hardhat-chai-matchers": ^2.0.0 + "@nomicfoundation/hardhat-ethers": ^3.0.0 + "@nomicfoundation/hardhat-network-helpers": ^1.0.0 + "@nomicfoundation/hardhat-verify": ^1.0.0 + "@typechain/ethers-v6": ^0.4.0 + "@typechain/hardhat": ^8.0.0 + "@types/chai": ^4.2.0 + "@types/mocha": ">=9.1.0" + "@types/node": ">=12.0.0" + chai: ^4.2.0 + ethers: ^6.4.0 + hardhat: ^2.11.0 + hardhat-gas-reporter: ^1.0.8 + solidity-coverage: ^0.8.1 + ts-node: ">=8.0.0" + typechain: ^8.2.0 + typescript: ">=4.5.0" + checksum: 10c0/6139efdb962c1f590c34990c4678650f3a946a0ab07076c4fc24ea1f7902d8cd629e6ee95e6a7cd3c7a3dbd4a9f415128f576fc3f13fa9483e618eb5558f8cad + languageName: node + linkType: hard + +"@nomicfoundation/hardhat-verify@npm:^2.0.6": + version: 2.0.13 + resolution: "@nomicfoundation/hardhat-verify@npm:2.0.13" + dependencies: + "@ethersproject/abi": "npm:^5.1.2" + "@ethersproject/address": "npm:^5.0.2" + cbor: "npm:^8.1.0" + debug: "npm:^4.1.1" + lodash.clonedeep: "npm:^4.5.0" + picocolors: "npm:^1.1.0" + semver: "npm:^6.3.0" + table: "npm:^6.8.0" + undici: "npm:^5.14.0" + peerDependencies: + hardhat: ^2.0.4 + checksum: 10c0/391b35211646ed9efd91b88229c09c8baaa688caaf4388e077b73230b36cd7f86b04639625b0e8ebdc070166f49494c3bd32834c31ca4800db0936ca6db96ee2 + languageName: node + linkType: hard + +"@nomicfoundation/ignition-core@npm:^0.15.11, @nomicfoundation/ignition-core@npm:^0.15.3": + version: 0.15.11 + resolution: "@nomicfoundation/ignition-core@npm:0.15.11" + dependencies: + "@ethersproject/address": "npm:5.6.1" + "@nomicfoundation/solidity-analyzer": "npm:^0.1.1" + cbor: "npm:^9.0.0" + debug: "npm:^4.3.2" + ethers: "npm:^6.7.0" + fs-extra: "npm:^10.0.0" + immer: "npm:10.0.2" + lodash: "npm:4.17.21" + ndjson: "npm:2.0.0" + checksum: 10c0/39a28a39fa7de37aebde771a2dd9ca9c56474238fdb0c2fd1e7b636e22e66c4f94c8f2d2471921b2ddd2fabcb6c880962b0bb6bedc74f378a0ae8c8ced7ad2da + languageName: node + linkType: hard + +"@nomicfoundation/ignition-ui@npm:^0.15.11": + version: 0.15.11 + resolution: "@nomicfoundation/ignition-ui@npm:0.15.11" + checksum: 10c0/d9eed66965268dd92048aa24ea881513ec9af78d5aea95b670685d6b0ffac0bbb0c6d36e8bc751ca4cf60d7c4d18d94b2a6f5c59ed1253065f59270476d8bf79 + languageName: node + linkType: hard + +"@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.2": + version: 0.1.2 + resolution: "@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.2" + checksum: 10c0/ef3b13bb2133fea6621db98f991036a3a84d2b240160edec50beafa6ce821fe2f0f5cd4aa61adb9685aff60cd0425982ffd15e0b868b7c768e90e26b8135b825 + languageName: node + linkType: hard + +"@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.1.2": + version: 0.1.2 + resolution: "@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.1.2" + checksum: 10c0/3cb6a00cd200b94efd6f59ed626c705c6f773b92ccf8b90471285cd0e81b35f01edb30c1aa5a4633393c2adb8f20fd34e90c51990dc4e30658e8a67c026d16c9 + languageName: node + linkType: hard + +"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.1.2": + version: 0.1.2 + resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.1.2" + checksum: 10c0/cb9725e7bdc3ba9c1feaef96dbf831c1a59c700ca633a9929fd97debdcb5ce06b5d7b4e6dbc076279978707214d01e2cd126d8e3f4cabc5c16525c031a47b95c + languageName: node + linkType: hard + +"@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.1.2": + version: 0.1.2 + resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.1.2" + checksum: 10c0/82a90b1d09ad266ddc510ece2e397f51fdaf29abf7263d2a3a85accddcba2ac24cceb670a3120800611cdcc552eed04919d071e259fdda7564818359ed541f5d + languageName: node + linkType: hard + +"@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.1.2": + version: 0.1.2 + resolution: "@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.1.2" + checksum: 10c0/d1f20d4d55683bd041ead957e5461b2e43a39e959f905e8866de1d65f8d96118e9b861e994604d9002cb7f056be0844e36c241a6bb531c336b399609977c0998 + languageName: node + linkType: hard + +"@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.1.2": + version: 0.1.2 + resolution: "@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.1.2" + checksum: 10c0/6c17f9af3aaf184c0a217cf723076051c502d85e731dbc97f34b838f9ae1b597577abac54a2af49b3fd986b09131c52fa21fd5393b22d05e1ec7fee96a8249c2 + languageName: node + linkType: hard + +"@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.1.2": + version: 0.1.2 + resolution: "@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.1.2" + checksum: 10c0/da198464f5ee0d19b6decdfaa65ee0df3097b8960b8483bb7080931968815a5d60f27191229d47a198955784d763d5996f0b92bfde3551612ad972c160b0b000 + languageName: node + linkType: hard + +"@nomicfoundation/solidity-analyzer@npm:^0.1.0, @nomicfoundation/solidity-analyzer@npm:^0.1.1": + version: 0.1.2 + resolution: "@nomicfoundation/solidity-analyzer@npm:0.1.2" + dependencies: + "@nomicfoundation/solidity-analyzer-darwin-arm64": "npm:0.1.2" + "@nomicfoundation/solidity-analyzer-darwin-x64": "npm:0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "npm:0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "npm:0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "npm:0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "npm:0.1.2" + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "npm:0.1.2" + dependenciesMeta: + "@nomicfoundation/solidity-analyzer-darwin-arm64": + optional: true + "@nomicfoundation/solidity-analyzer-darwin-x64": + optional: true + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": + optional: true + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": + optional: true + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": + optional: true + "@nomicfoundation/solidity-analyzer-linux-x64-musl": + optional: true + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": + optional: true + checksum: 10c0/e4f503e9287e18967535af669ca7e26e2682203c45a34ea85da53122da1dee1278f2b8c76c20c67fadd7c1b1a98eeecffd2cbc136860665e3afa133817c0de54 + languageName: node + linkType: hard + +"@nomiclabs/hardhat-ethers@npm:^2.2.3": + version: 2.2.3 + resolution: "@nomiclabs/hardhat-ethers@npm:2.2.3" + peerDependencies: + ethers: ^5.0.0 + hardhat: ^2.0.0 + checksum: 10c0/cae46d1966108ab02b50fabe7945c8987fa1e9d5d0a7a06f79afc274ff1abc312e8a82375191a341b28571b897c22433d3a2826eb30077ed88d5983d01e381d0 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@openpassport/zk-kit-lean-imt@npm:^0.0.6": + version: 0.0.6 + resolution: "@openpassport/zk-kit-lean-imt@npm:0.0.6" + dependencies: + "@openpassport/zk-kit-utils": "npm:0.0.1" + checksum: 10c0/2cb3f99e216391a325a7050290cccfa12323dc057d7cf4a26baeafe79a34c4ed3013da035fdbe9985395d5a668e37fd81f2b060834b67895bd3f82e7edfe0601 + languageName: node + linkType: hard + +"@openpassport/zk-kit-smt@npm:^0.0.1": + version: 0.0.1 + resolution: "@openpassport/zk-kit-smt@npm:0.0.1" + checksum: 10c0/2d1d6ccd51c1cdf005e71090ac3d5d505ca58f58776bb7bd178c3d6bfdf3e22b69e50816e620f376663b63fa98bf22439c9b38de523de51e018b9e52f097624b + languageName: node + linkType: hard + +"@openpassport/zk-kit-utils@npm:0.0.1": + version: 0.0.1 + resolution: "@openpassport/zk-kit-utils@npm:0.0.1" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10c0/3a9adb279cfd5096c44934bb6c73979f21247eb0119a65f8b5c0bb1f457f5500de761fc627e0bd9e72a7cbf5ca65696c144bfffe3dbd1f1ce37a300c239a8e3f + languageName: node + linkType: hard + +"@openzeppelin/contracts-upgradeable@npm:^5.1.0": + version: 5.3.0 + resolution: "@openzeppelin/contracts-upgradeable@npm:5.3.0" + peerDependencies: + "@openzeppelin/contracts": 5.3.0 + checksum: 10c0/aba3a1903d689a603dda5e021f698e8d7b035b8d469712e8755393e2013297076a88fbc79f20ab1354e69d142f29939ab5d9e310204f79d42ec99eef08f61135 + languageName: node + linkType: hard + +"@openzeppelin/contracts@npm:^5.0.2": + version: 5.3.0 + resolution: "@openzeppelin/contracts@npm:5.3.0" + checksum: 10c0/b8a2d97413c24635c92de4b2a1188fa58ab252515aff38eabce4fa66bd3d8ae1649010d17fccaeb4e266bf8314c8bd92757fedca97bf643b6b98e11dea3fa83d + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@scure/base@npm:~1.1.0, @scure/base@npm:~1.1.6": + version: 1.1.9 + resolution: "@scure/base@npm:1.1.9" + checksum: 10c0/77a06b9a2db8144d22d9bf198338893d77367c51b58c72b99df990c0a11f7cadd066d4102abb15e3ca6798d1529e3765f55c4355742465e49aed7a0c01fe76e8 + languageName: node + linkType: hard + +"@scure/base@npm:~1.2.2": + version: 1.2.4 + resolution: "@scure/base@npm:1.2.4" + checksum: 10c0/469c8aee80d6d6973e1aac6184befa04568f1b4016e40c889025f4a721575db9c1ca0c2ead80613896cce929392740322a18da585a427f157157e797dc0a42a9 + languageName: node + linkType: hard + +"@scure/bip32@npm:1.1.5": + version: 1.1.5 + resolution: "@scure/bip32@npm:1.1.5" + dependencies: + "@noble/hashes": "npm:~1.2.0" + "@noble/secp256k1": "npm:~1.7.0" + "@scure/base": "npm:~1.1.0" + checksum: 10c0/d0521f6de28278e06f2d517307b4de6c9bcb3dbdf9a5844bb57a6e4916a180e4136129ccab295c27bd1196ef77757608255afcd7cf927e03baec4479b3df74fc + languageName: node + linkType: hard + +"@scure/bip32@npm:1.4.0": + version: 1.4.0 + resolution: "@scure/bip32@npm:1.4.0" + dependencies: + "@noble/curves": "npm:~1.4.0" + "@noble/hashes": "npm:~1.4.0" + "@scure/base": "npm:~1.1.6" + checksum: 10c0/6849690d49a3bf1d0ffde9452eb16ab83478c1bc0da7b914f873e2930cd5acf972ee81320e3df1963eb247cf57e76d2d975b5f97093d37c0e3f7326581bf41bd + languageName: node + linkType: hard + +"@scure/bip39@npm:1.1.1": + version: 1.1.1 + resolution: "@scure/bip39@npm:1.1.1" + dependencies: + "@noble/hashes": "npm:~1.2.0" + "@scure/base": "npm:~1.1.0" + checksum: 10c0/821dc9d5be8362a32277390526db064860c2216a079ba51d63def9289c2b290599e93681ebbeebf0e93540799eec35784c1dfcf5167d0b280ef148e5023ce01b + languageName: node + linkType: hard + +"@scure/bip39@npm:1.3.0": + version: 1.3.0 + resolution: "@scure/bip39@npm:1.3.0" + dependencies: + "@noble/hashes": "npm:~1.4.0" + "@scure/base": "npm:~1.1.6" + checksum: 10c0/1ae1545a7384a4d9e33e12d9e9f8824f29b0279eb175b0f0657c0a782c217920054f9a1d28eb316a417dfc6c4e0b700d6fbdc6da160670107426d52fcbe017a8 + languageName: node + linkType: hard + +"@selfxyz/contracts@workspace:.": + version: 0.0.0-use.local + resolution: "@selfxyz/contracts@workspace:." + dependencies: + "@ashpect/smt": "https://github.com/ashpect/smt#main" + "@eth-optimism/hardhat-ovm": "npm:^0.2.4" + "@nomicfoundation/hardhat-chai-matchers": "npm:^2.0.6" + "@nomicfoundation/hardhat-ethers": "npm:^3.0.5" + "@nomicfoundation/hardhat-ignition": "npm:^0.15.3" + "@nomicfoundation/hardhat-ignition-ethers": "npm:^0.15.3" + "@nomicfoundation/hardhat-network-helpers": "npm:^1.0.10" + "@nomicfoundation/hardhat-toolbox": "npm:^3.0.0" + "@nomicfoundation/hardhat-verify": "npm:^2.0.6" + "@nomicfoundation/ignition-core": "npm:^0.15.3" + "@nomiclabs/hardhat-ethers": "npm:^2.2.3" + "@openpassport/zk-kit-lean-imt": "npm:^0.0.6" + "@openpassport/zk-kit-smt": "npm:^0.0.1" + "@openzeppelin/contracts": "npm:^5.0.2" + "@openzeppelin/contracts-upgradeable": "npm:^5.1.0" + "@typechain/ethers-v6": "npm:^0.4.3" + "@typechain/hardhat": "npm:^8.0.3" + "@types/chai": "npm:^4.3.16" + "@types/circomlibjs": "npm:^0.1.6" + "@types/jest": "npm:^29.5.12" + "@types/mocha": "npm:^10.0.6" + "@types/snarkjs": "npm:^0.7.7" + "@zk-kit/imt": "npm:^2.0.0-beta.4" + "@zk-kit/imt.sol": "npm:^2.0.0-beta.12" + "@zk-kit/lean-imt": "npm:^2.0.1" + axios: "npm:^1.6.2" + chai: "npm:^4.4.1" + circomlibjs: "npm:^0.1.7" + dotenv: "npm:^16.3.1" + ethers: "npm:^6.12.1" + hardhat: "npm:^2.22.6" + hardhat-contract-sizer: "npm:^2.10.0" + hardhat-gas-reporter: "npm:^1.0.10" + mocha: "npm:^10.4.0" + mochawesome: "npm:^7.1.3" + node-forge: "npm:^1.3.1" + poseidon-lite: "npm:^0.3.0" + poseidon-solidity: "npm:^0.0.5" + snarkjs: "npm:^0.7.4" + solidity-coverage: "npm:^0.8.14" + ts-node: "npm:^10.9.1" + typechain: "npm:^8.3.2" + typescript: "npm:^5.1.6" + languageName: unknown + linkType: soft + +"@sentry/core@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/core@npm:5.30.0" + dependencies: + "@sentry/hub": "npm:5.30.0" + "@sentry/minimal": "npm:5.30.0" + "@sentry/types": "npm:5.30.0" + "@sentry/utils": "npm:5.30.0" + tslib: "npm:^1.9.3" + checksum: 10c0/6407b9c2a6a56f90c198f5714b3257df24d89d1b4ca6726bd44760d0adabc25798b69fef2c88ccea461c7e79e3c78861aaebfd51fd3cb892aee656c3f7e11801 + languageName: node + linkType: hard + +"@sentry/hub@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/hub@npm:5.30.0" + dependencies: + "@sentry/types": "npm:5.30.0" + "@sentry/utils": "npm:5.30.0" + tslib: "npm:^1.9.3" + checksum: 10c0/386c91d06aa44be0465fc11330d748a113e464d41cd562a9e1d222a682cbcb14e697a3e640953e7a0239997ad8a02b223a0df3d9e1d8816cb823fd3613be3e2f + languageName: node + linkType: hard + +"@sentry/minimal@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/minimal@npm:5.30.0" + dependencies: + "@sentry/hub": "npm:5.30.0" + "@sentry/types": "npm:5.30.0" + tslib: "npm:^1.9.3" + checksum: 10c0/34ec05503de46d01f98c94701475d5d89cc044892c86ccce30e01f62f28344eb23b718e7cf573815e46f30a4ac9da3129bed9b3d20c822938acfb40cbe72437b + languageName: node + linkType: hard + +"@sentry/node@npm:^5.18.1": + version: 5.30.0 + resolution: "@sentry/node@npm:5.30.0" + dependencies: + "@sentry/core": "npm:5.30.0" + "@sentry/hub": "npm:5.30.0" + "@sentry/tracing": "npm:5.30.0" + "@sentry/types": "npm:5.30.0" + "@sentry/utils": "npm:5.30.0" + cookie: "npm:^0.4.1" + https-proxy-agent: "npm:^5.0.0" + lru_map: "npm:^0.3.3" + tslib: "npm:^1.9.3" + checksum: 10c0/c50db7c81ace57cac17692245c2ab3c84a6149183f81d5f2dfd157eaa7b66eb4d6a727dd13a754bb129c96711389eec2944cd94126722ee1d8b11f2b627b830d + languageName: node + linkType: hard + +"@sentry/tracing@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/tracing@npm:5.30.0" + dependencies: + "@sentry/hub": "npm:5.30.0" + "@sentry/minimal": "npm:5.30.0" + "@sentry/types": "npm:5.30.0" + "@sentry/utils": "npm:5.30.0" + tslib: "npm:^1.9.3" + checksum: 10c0/46830265bc54a3203d7d9f0d8d9f2f7d9d2c6a977e07ccdae317fa3ea29c388b904b3bef28f7a0ba9c074845d67feab63c6d3c0ddce9aeb275b6c966253fb415 + languageName: node + linkType: hard + +"@sentry/types@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/types@npm:5.30.0" + checksum: 10c0/99c6e55c0a82c8ca95be2e9dbb35f581b29e4ff7af74b23bc62b690de4e35febfa15868184a2303480ef86babd4fea5273cf3b5ddf4a27685b841a72f13a0c88 + languageName: node + linkType: hard + +"@sentry/utils@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/utils@npm:5.30.0" + dependencies: + "@sentry/types": "npm:5.30.0" + tslib: "npm:^1.9.3" + checksum: 10c0/ca8eebfea7ac7db6d16f6c0b8a66ac62587df12a79ce9d0d8393f4d69880bb8d40d438f9810f7fb107a9880fe0d68bbf797b89cbafd113e89a0829eb06b205f8 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@solidity-parser/parser@npm:^0.14.0": + version: 0.14.5 + resolution: "@solidity-parser/parser@npm:0.14.5" + dependencies: + antlr4ts: "npm:^0.5.0-alpha.4" + checksum: 10c0/d5c689d8925a18e1ceb2f6449a8263915b1676117856109b7793eda8f7dafc975b6ed0d0d73fc08257903cac383484e4c8f8cf47b069621e81ba368c4ea4cf6a + languageName: node + linkType: hard + +"@solidity-parser/parser@npm:^0.19.0": + version: 0.19.0 + resolution: "@solidity-parser/parser@npm:0.19.0" + checksum: 10c0/2f4c885bb32ca95ea41120f0d972437b4191d26aa63ea62b7904d075e1b90f4290996407ef84a46a20f66e4268f41fb07fc0edc7142afc443511e8c74b37c6e9 + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node10@npm:1.0.11" + checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.4 + resolution: "@tsconfig/node16@npm:1.0.4" + checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb + languageName: node + linkType: hard + +"@typechain/ethers-v6@npm:^0.4.3": + version: 0.4.3 + resolution: "@typechain/ethers-v6@npm:0.4.3" + dependencies: + lodash: "npm:^4.17.15" + ts-essentials: "npm:^7.0.1" + peerDependencies: + ethers: 6.x + typechain: ^8.3.1 + typescript: ">=4.7.0" + checksum: 10c0/e66728763916f5b4ce4c9753098e17c1dd17f5913792de9801c79fcbc57b46a52a1f6602ce35be377c7503cc5004b285dab8bd911afe13b057007d5ccf947094 + languageName: node + linkType: hard + +"@typechain/hardhat@npm:^8.0.3": + version: 8.0.3 + resolution: "@typechain/hardhat@npm:8.0.3" + dependencies: + fs-extra: "npm:^9.1.0" + peerDependencies: + "@typechain/ethers-v6": ^0.4.3 + ethers: ^6.1.0 + hardhat: ^2.9.9 + typechain: ^8.3.1 + checksum: 10c0/2b7b8d60e35b0b65884659f14bd6a354c88ec042f9af7d9f43003784ccca9a36bf8193b2cd26859b9b262acc543b1b477306bfb4d314a3de79aacff1136b97ec + languageName: node + linkType: hard + +"@types/bn.js@npm:^5.1.0": + version: 5.1.6 + resolution: "@types/bn.js@npm:5.1.6" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/073d383d87afea513a8183ce34af7bc0a7a798d057c7ae651982b7f30dd7d93f33247323bca3ba39f1f6af146b564aff547b15467bdf9fc922796c17e8426bf6 + languageName: node + linkType: hard + +"@types/chai-as-promised@npm:^7.1.3": + version: 7.1.8 + resolution: "@types/chai-as-promised@npm:7.1.8" + dependencies: + "@types/chai": "npm:*" + checksum: 10c0/c0a19cffe8d3f406b2cb9ba17f5f0efe318b14f27896d807b3199cc2231c16a4b5b6c464fdf2a939214de481de58cffd46c240539d3d4ece18659277d71ccc23 + languageName: node + linkType: hard + +"@types/chai@npm:*": + version: 5.2.1 + resolution: "@types/chai@npm:5.2.1" + dependencies: + "@types/deep-eql": "npm:*" + checksum: 10c0/f8a03c9f8450b7ab8df11f658c4194be17a6316b870490d5ffaf5289a3c0c0591ed6291b2d6551e181887c3eed89d0490744b3e569d9b23cf611b05f93e775b6 + languageName: node + linkType: hard + +"@types/chai@npm:^4.3.16": + version: 4.3.20 + resolution: "@types/chai@npm:4.3.20" + checksum: 10c0/4601189d611752e65018f1ecadac82e94eed29f348e1d5430e5681a60b01e1ecf855d9bcc74ae43b07394751f184f6970fac2b5561fc57a1f36e93a0f5ffb6e8 + languageName: node + linkType: hard + +"@types/circomlibjs@npm:^0.1.6": + version: 0.1.6 + resolution: "@types/circomlibjs@npm:0.1.6" + checksum: 10c0/0ef1901bb6e71fcd29c617fd266d1a06a0056d8665194e236d0e918be60aa459d4d1606bfb65e7eb05f769163e69b3eb0c7b55b941774d672499221b904df277 + languageName: node + linkType: hard + +"@types/concat-stream@npm:^1.6.0": + version: 1.6.1 + resolution: "@types/concat-stream@npm:1.6.1" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/838a0ec89d59a11c425b7728fdd05b17b652086a27fdf5b787778521ccf6d3133d9e9a6e6b803785b28c0a0f7a437582813e37b317ed8100870af836ad49a7a2 + languageName: node + linkType: hard + +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 + languageName: node + linkType: hard + +"@types/form-data@npm:0.0.33": + version: 0.0.33 + resolution: "@types/form-data@npm:0.0.33" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/20bd8f7491d759ce613e35612aef37b3084be43466883ce83e1261905032939bc9e51e470e61bccf6d2f08a39659c44795531bbf66af177176ab0ddbd968e155 + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": + version: 7.2.0 + resolution: "@types/glob@npm:7.2.0" + dependencies: + "@types/minimatch": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/a8eb5d5cb5c48fc58c7ca3ff1e1ddf771ee07ca5043da6e4871e6757b4472e2e73b4cfef2644c38983174a4bc728c73f8da02845c28a1212f98cabd293ecae98 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" + dependencies: + "@types/istanbul-lib-report": "npm:*" + checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee + languageName: node + linkType: hard + +"@types/jest@npm:^29.5.12": + version: 29.5.14 + resolution: "@types/jest@npm:29.5.14" + dependencies: + expect: "npm:^29.0.0" + pretty-format: "npm:^29.0.0" + checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed + languageName: node + linkType: hard + +"@types/lru-cache@npm:^5.1.0": + version: 5.1.1 + resolution: "@types/lru-cache@npm:5.1.1" + checksum: 10c0/1f17ec9b202c01a89337cc5528198a690be6b61a6688242125fbfb7fa17770e453e00e4685021abf5ae605860ca0722209faac5c254b780d0104730bb0b9e354 + languageName: node + linkType: hard + +"@types/minimatch@npm:*": + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 10c0/83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562 + languageName: node + linkType: hard + +"@types/mocha@npm:^10.0.6": + version: 10.0.10 + resolution: "@types/mocha@npm:10.0.10" + checksum: 10c0/d2b8c48138cde6923493e42b38e839695eb42edd04629abe480a8f34c0e3f50dd82a55832c2e8d2b6e6f9e4deb492d7d733e600fbbdd5a0ceccbcfc6844ff9d5 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 22.14.1 + resolution: "@types/node@npm:22.14.1" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/d49c4d00403b1c2348cf0701b505fd636d80aabe18102105998dc62fdd36dcaf911e73c7a868c48c21c1022b825c67b475b65b1222d84b704d8244d152bb7f86 + languageName: node + linkType: hard + +"@types/node@npm:22.7.5": + version: 22.7.5 + resolution: "@types/node@npm:22.7.5" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10c0/cf11f74f1a26053ec58066616e3a8685b6bcd7259bc569738b8f752009f9f0f7f85a1b2d24908e5b0f752482d1e8b6babdf1fbb25758711ec7bb9500bfcd6e60 + languageName: node + linkType: hard + +"@types/node@npm:^10.0.3": + version: 10.17.60 + resolution: "@types/node@npm:10.17.60" + checksum: 10c0/0742294912a6e79786cdee9ed77cff6ee8ff007b55d8e21170fc3e5994ad3a8101fea741898091876f8dc32b0a5ae3d64537b7176799e92da56346028d2cbcd2 + languageName: node + linkType: hard + +"@types/node@npm:^8.0.0": + version: 8.10.66 + resolution: "@types/node@npm:8.10.66" + checksum: 10c0/425e0fca5bad0d6ff14336946a1e3577750dcfbb7449614786d3241ca78ff44e3beb43eace122682de1b9d8e25cf2a0456a0b3e500d78cb55cab68f892e38141 + languageName: node + linkType: hard + +"@types/pbkdf2@npm:^3.0.0": + version: 3.1.2 + resolution: "@types/pbkdf2@npm:3.1.2" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/4f60b0e3c73297f55023b993d3d543212aa7f61c8c0d6a2720f5dbe2cf38e2fe55ff295d550ac048dddbfc3d44c285cfe16126d65c613bd67a57662357e268d9 + languageName: node + linkType: hard + +"@types/prettier@npm:^2.1.1": + version: 2.7.3 + resolution: "@types/prettier@npm:2.7.3" + checksum: 10c0/0960b5c1115bb25e979009d0b44c42cf3d792accf24085e4bfce15aef5794ea042e04e70c2139a2c3387f781f18c89b5706f000ddb089e9a4a2ccb7536a2c5f0 + languageName: node + linkType: hard + +"@types/qs@npm:^6.2.31": + version: 6.9.18 + resolution: "@types/qs@npm:6.9.18" + checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b + languageName: node + linkType: hard + +"@types/secp256k1@npm:^4.0.1": + version: 4.0.6 + resolution: "@types/secp256k1@npm:4.0.6" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/0e391316ae30c218779583b626382a56546ddbefb65f1ff9cf5e078af8a7118f67f3e66e30914399cc6f8710c424d0d8c3f34262ffb1f429c6ad911fd0d0bc26 + languageName: node + linkType: hard + +"@types/snarkjs@npm:^0.7.7": + version: 0.7.9 + resolution: "@types/snarkjs@npm:0.7.9" + checksum: 10c0/efa31acd19d8ae28a08f940a7ae610ee49d81c547cd3ecf4d730949df5f8bc058a04b0fcbb8dad371176826ddd63973ec694855767e441bf866ff1d45668b16c + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/stack-utils@npm:2.0.3" + checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.33 + resolution: "@types/yargs@npm:17.0.33" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b + languageName: node + linkType: hard + +"@zk-kit/imt.sol@npm:^2.0.0-beta.12": + version: 2.0.0-beta.12 + resolution: "@zk-kit/imt.sol@npm:2.0.0-beta.12" + dependencies: + poseidon-solidity: "npm:0.0.5" + checksum: 10c0/8486f6219e506dfa93f99da22196e0255640c256b060bbf0a4de1b5bbf5318a1d30e95a1c6b4e1df734e9169e6f4b7f219b322e8c07af556028122595c81e5cc + languageName: node + linkType: hard + +"@zk-kit/imt@npm:^2.0.0-beta.4": + version: 2.0.0-beta.8 + resolution: "@zk-kit/imt@npm:2.0.0-beta.8" + dependencies: + "@zk-kit/utils": "npm:1.3.0" + checksum: 10c0/5156e5934e13c579ddfca5fb11f6ba0d2f51f7e16f200314910c9861721a9f76d47a98190367df52386e8a1f6c0349c7caf3bfbe8e24e2c1c64041ef62b7d34e + languageName: node + linkType: hard + +"@zk-kit/lean-imt@npm:^2.0.1": + version: 2.2.3 + resolution: "@zk-kit/lean-imt@npm:2.2.3" + dependencies: + "@zk-kit/utils": "npm:1.3.0" + checksum: 10c0/46aefeb9f7d79dee9b944e3943627ff08a7266bc1824230298fa730d542c124fc81aa90cf2205c2bdcfe5d7516ba599f47d594313cc6d33603809de9f4c816e6 + languageName: node + linkType: hard + +"@zk-kit/utils@npm:1.3.0": + version: 1.3.0 + resolution: "@zk-kit/utils@npm:1.3.0" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10c0/e48b6d319eea6247efdc2c7c93140406adf20edc072000ac5e865f7758f653340d310a640603e70940f7e8041fffeb118c4a071618de7dc1d170f6c628195905 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"abbrev@npm:1.0.x": + version: 1.0.9 + resolution: "abbrev@npm:1.0.9" + checksum: 10c0/214632e37c68f71d61d2ee920644a11c7b0cee08ddde96961b02ebe95ad86de0d56bd6762ff337bd9cf6e5c1431ce724babd28c110fce4b20d35f6fa87944d00 + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1": + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 + languageName: node + linkType: hard + +"acorn@npm:^8.11.0, acorn@npm:^8.4.1": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + languageName: node + linkType: hard + +"adm-zip@npm:^0.4.16": + version: 0.4.16 + resolution: "adm-zip@npm:0.4.16" + checksum: 10c0/c56c6e138fd19006155fc716acae14d54e07c267ae19d78c8a8cdca04762bf20170a71a41aa8d8bad2f13b70d4f3e9a191009bafa5280e05a440ee506f871a55 + languageName: node + linkType: hard + +"aes-js@npm:3.0.0": + version: 3.0.0 + resolution: "aes-js@npm:3.0.0" + checksum: 10c0/87dd5b2363534b867db7cef8bc85a90c355460783744877b2db7c8be09740aac5750714f9e00902822f692662bda74cdf40e03fbb5214ffec75c2666666288b8 + languageName: node + linkType: hard + +"aes-js@npm:4.0.0-beta.5": + version: 4.0.0-beta.5 + resolution: "aes-js@npm:4.0.0-beta.5" + checksum: 10c0/444f4eefa1e602cbc4f2a3c644bc990f93fd982b148425fee17634da510586fc09da940dcf8ace1b2d001453c07ff042e55f7a0482b3cc9372bf1ef75479090c + languageName: node + linkType: hard + +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv@npm:^8.0.1": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"amdefine@npm:>=0.0.4": + version: 1.0.1 + resolution: "amdefine@npm:1.0.1" + checksum: 10c0/ba8aa5d4ff5248b2ed067111e72644b36b5b7ae88d9a5a2c4223dddb3bdc9102db67291e0b414f59f12c6479ac6a365886bac72c7965e627cbc732e0962dd1ab + languageName: node + linkType: hard + +"ansi-align@npm:^3.0.0": + version: 3.0.1 + resolution: "ansi-align@npm:3.0.1" + dependencies: + string-width: "npm:^4.1.0" + checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.3.0": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.1 + resolution: "ansi-regex@npm:3.0.1" + checksum: 10c0/d108a7498b8568caf4a46eea4f1784ab4e0dfb2e3f3938c697dee21443d622d765c958f2b7e2b9f6b9e55e2e2af0584eaa9915d51782b89a841c28e744e7a167 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"antlr4ts@npm:^0.5.0-alpha.4": + version: 0.5.0-alpha.4 + resolution: "antlr4ts@npm:0.5.0-alpha.4" + checksum: 10c0/26a43d6769178fdf1b79ed2001f123fd49843e335f9a3687b63c090ab2024632fbac60a73b3f8289044c206edeb5d19c36b02603b018d8eaf3be3ce30136102f + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"array-back@npm:^3.0.1, array-back@npm:^3.1.0": + version: 3.1.0 + resolution: "array-back@npm:3.1.0" + checksum: 10c0/bb1fe86aa8b39c21e73c68c7abf8b05ed939b8951a3b17527217f6a2a84e00e4cfa4fdec823081689c5e216709bf1f214a4f5feeee6726eaff83897fa1a7b8ee + languageName: node + linkType: hard + +"array-back@npm:^4.0.1, array-back@npm:^4.0.2": + version: 4.0.2 + resolution: "array-back@npm:4.0.2" + checksum: 10c0/8beb5b4c9535eab2905d4ff7d16c4d90ee5ca080d2b26b1e637434c0fcfadb3585283524aada753bd5d06bb88a5dac9e175c3a236183741d3d795a69b6678c96 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"array-uniq@npm:1.0.3": + version: 1.0.3 + resolution: "array-uniq@npm:1.0.3" + checksum: 10c0/3acbaf9e6d5faeb1010e2db04ab171b8d265889e46c61762e502979bdc5e55656013726e9a61507de3c82d329a0dc1e8072630a3454b4f2b881cb19ba7fd8aa6 + languageName: node + linkType: hard + +"asap@npm:~2.0.6": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d + languageName: node + linkType: hard + +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 + languageName: node + linkType: hard + +"async@npm:1.x": + version: 1.5.2 + resolution: "async@npm:1.5.2" + checksum: 10c0/9ee84592c393aad1047d1223004317ecc65a9a3f76101e0f4614a0818eac962e666510353400a3c9ea158df540579a293f486f3578e918c5e90a0f5ed52e8aea + languageName: node + linkType: hard + +"async@npm:^3.2.3": + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef + languageName: node + linkType: hard + +"axios@npm:^1.5.1, axios@npm:^1.6.2": + version: 1.8.4 + resolution: "axios@npm:1.8.4" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/450993c2ba975ffccaf0d480b68839a3b2435a5469a71fa2fb0b8a55cdb2c2ae47e609360b9c1e2b2534b73dfd69e2733a1cf9f8215bee0bcd729b72f801b0ce + languageName: node + linkType: hard + +"b4a@npm:^1.0.1": + version: 1.6.7 + resolution: "b4a@npm:1.6.7" + checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base-x@npm:^3.0.2": + version: 3.0.11 + resolution: "base-x@npm:3.0.11" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/4c5b8cd9cef285973b0460934be4fc890eedfd22a8aca527fac3527f041c5d1c912f7b9a6816f19e43e69dc7c29a5deabfa326bd3d6a57ee46af0ad46e3991d5 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"bech32@npm:1.1.4": + version: 1.1.4 + resolution: "bech32@npm:1.1.4" + checksum: 10c0/5f62ca47b8df99ace9c0e0d8deb36a919d91bf40066700aaa9920a45f86bb10eb56d537d559416fd8703aa0fb60dddb642e58f049701e7291df678b2033e5ee5 + languageName: node + linkType: hard + +"bfj@npm:^7.0.2": + version: 7.1.0 + resolution: "bfj@npm:7.1.0" + dependencies: + bluebird: "npm:^3.7.2" + check-types: "npm:^11.2.3" + hoopy: "npm:^0.1.4" + jsonpath: "npm:^1.1.1" + tryer: "npm:^1.0.1" + checksum: 10c0/e5fc6690cd093c06ca6ed7584a2caf0c4a762bc9d9d9cb18efbabc75c973b071a8dad7037c617d0ea4d97b7b439821fea32f7c232ed0be8fa7840533a9643171 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"blake-hash@npm:^2.0.0": + version: 2.0.0 + resolution: "blake-hash@npm:2.0.0" + dependencies: + node-addon-api: "npm:^3.0.0" + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.2.2" + readable-stream: "npm:^3.6.0" + checksum: 10c0/368dc38d3694c925ac1c013f6e35ece9a0a6adb43aa475e97d6babcf829b6be9e4ef879aab2ce1f0e685f5346580e653ead9540a348691423d907504aafe9739 + languageName: node + linkType: hard + +"blake2b-wasm@npm:^2.4.0": + version: 2.4.0 + resolution: "blake2b-wasm@npm:2.4.0" + dependencies: + b4a: "npm:^1.0.1" + nanoassert: "npm:^2.0.0" + checksum: 10c0/0905a47ece466c44541c8abbc94a5441ecb24a3b2622bf1f2e285c1f0f82e2b1899c7bbd70294583cfd99e1276047dd80d7afc7408f3a7c5ebf426b2f2a42f6f + languageName: node + linkType: hard + +"blake2b@npm:^2.1.3": + version: 2.1.4 + resolution: "blake2b@npm:2.1.4" + dependencies: + blake2b-wasm: "npm:^2.4.0" + nanoassert: "npm:^2.0.0" + checksum: 10c0/5276ee175f7cbbb115ee2003cf577687239ee5931f350e7d799b52cd99793cf6946f03a31d8531f643db5e81ca727f18a0dd4206394ee62c65b5dacea1a86bf8 + languageName: node + linkType: hard + +"blakejs@npm:^1.1.0": + version: 1.2.1 + resolution: "blakejs@npm:1.2.1" + checksum: 10c0/c284557ce55b9c70203f59d381f1b85372ef08ee616a90162174d1291a45d3e5e809fdf9edab6e998740012538515152471dc4f1f9dbfa974ba2b9c1f7b9aad7 + languageName: node + linkType: hard + +"bluebird@npm:^3.7.2": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 + languageName: node + linkType: hard + +"bn.js@npm:4.11.6": + version: 4.11.6 + resolution: "bn.js@npm:4.11.6" + checksum: 10c0/e6ee7d3f597f60722cc3361071e23ccf71d3387e166de02381f180f22d2fa79f5dbbdf9e4909e81faaf5da01c16ec6857ddff02678339ce085e2058fd0e405db + languageName: node + linkType: hard + +"bn.js@npm:^4.11.9": + version: 4.12.1 + resolution: "bn.js@npm:4.12.1" + checksum: 10c0/b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 + languageName: node + linkType: hard + +"bn.js@npm:^5.1.2, bn.js@npm:^5.2.0, bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa + languageName: node + linkType: hard + +"boxen@npm:^5.1.2": + version: 5.1.2 + resolution: "boxen@npm:5.1.2" + dependencies: + ansi-align: "npm:^3.0.0" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.1.0" + cli-boxes: "npm:^2.2.1" + string-width: "npm:^4.2.2" + type-fest: "npm:^0.20.2" + widest-line: "npm:^3.1.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/71f31c2eb3dcacd5fce524ae509e0cc90421752e0bfbd0281fd3352871d106c462a0f810c85f2fdb02f3a9fab2d7a84e9718b4999384d651b76104ebe5d2c024 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + +"browser-stdout@npm:^1.3.1": + version: 1.3.1 + resolution: "browser-stdout@npm:1.3.1" + checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 + languageName: node + linkType: hard + +"browserify-aes@npm:^1.2.0": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + dependencies: + buffer-xor: "npm:^1.0.3" + cipher-base: "npm:^1.0.0" + create-hash: "npm:^1.1.0" + evp_bytestokey: "npm:^1.0.3" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/967f2ae60d610b7b252a4cbb55a7a3331c78293c94b4dd9c264d384ca93354c089b3af9c0dd023534efdc74ffbc82510f7ad4399cf82bc37bc07052eea485f18 + languageName: node + linkType: hard + +"bs58@npm:^4.0.0": + version: 4.0.1 + resolution: "bs58@npm:4.0.1" + dependencies: + base-x: "npm:^3.0.2" + checksum: 10c0/613a1b1441e754279a0e3f44d1faeb8c8e838feef81e550efe174ff021dd2e08a4c9ae5805b52dfdde79f97b5c0918c78dd24a0eb726c4a94365f0984a0ffc65 + languageName: node + linkType: hard + +"bs58check@npm:^2.1.2": + version: 2.1.2 + resolution: "bs58check@npm:2.1.2" + dependencies: + bs58: "npm:^4.0.0" + create-hash: "npm:^1.1.0" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/5d33f319f0d7abbe1db786f13f4256c62a076bc8d184965444cb62ca4206b2c92bee58c93bce57150ffbbbe00c48838ac02e6f384e0da8215cac219c0556baa9 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 10c0/fd269d0e0bf71ecac3146187cfc79edc9dbb054e2ee69b4d97dfb857c6d997c33de391696d04bdd669272751fa48e7872a22f3a6c7b07d6c0bc31dbe02a4075c + languageName: node + linkType: hard + +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 + languageName: node + linkType: hard + +"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caseless@npm:^0.12.0, caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: 10c0/ccf64bcb6c0232cdc5b7bd91ddd06e23a4b541f138336d4725233ac538041fb2f29c2e86c3c4a7a61ef990b665348db23a047060b9414c3a6603e9fa61ad4626 + languageName: node + linkType: hard + +"cbor@npm:^8.1.0": + version: 8.1.0 + resolution: "cbor@npm:8.1.0" + dependencies: + nofilter: "npm:^3.1.0" + checksum: 10c0/a836e2e7ea0efb1b9c4e5a4be906c57113d730cc42293a34072e0164ed110bb8ac035dc7dca2e3ebb641bd4b37e00fdbbf09c951aa864b3d4888a6ed8c6243f7 + languageName: node + linkType: hard + +"cbor@npm:^9.0.0": + version: 9.0.2 + resolution: "cbor@npm:9.0.2" + dependencies: + nofilter: "npm:^3.1.0" + checksum: 10c0/709d4378067e663107b3d63a02d123a7b33e28946b4c5cc40c102f2f0ba13b072a79adc4369bb87a4e743399fce45deec30463fc84d363ab7cb39192d0fe5f30 + languageName: node + linkType: hard + +"chai-as-promised@npm:^7.1.1": + version: 7.1.2 + resolution: "chai-as-promised@npm:7.1.2" + dependencies: + check-error: "npm:^1.0.2" + peerDependencies: + chai: ">= 2.1.2 < 6" + checksum: 10c0/ee20ed75296d8cbf828b2f3c9ad64627cee67b1a38b8e906ca59fe788fb6965ddb10f702ae66645ed88f15a905ade4f2d9f8540029e92e2d59b229c9f912273f + languageName: node + linkType: hard + +"chai@npm:^4.4.1": + version: 4.5.0 + resolution: "chai@npm:4.5.0" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.3" + deep-eql: "npm:^4.1.3" + get-func-name: "npm:^2.0.2" + loupe: "npm:^2.3.6" + pathval: "npm:^1.1.1" + type-detect: "npm:^4.1.0" + checksum: 10c0/b8cb596bd1aece1aec659e41a6e479290c7d9bee5b3ad63d2898ad230064e5b47889a3bc367b20100a0853b62e026e2dc514acf25a3c9385f936aa3614d4ab4d + languageName: node + linkType: hard + +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"charenc@npm:>= 0.0.1": + version: 0.0.2 + resolution: "charenc@npm:0.0.2" + checksum: 10c0/a45ec39363a16799d0f9365c8dd0c78e711415113c6f14787a22462ef451f5013efae8a28f1c058f81fc01f2a6a16955f7a5fd0cd56247ce94a45349c89877d8 + languageName: node + linkType: hard + +"check-error@npm:^1.0.2, check-error@npm:^1.0.3": + version: 1.0.3 + resolution: "check-error@npm:1.0.3" + dependencies: + get-func-name: "npm:^2.0.2" + checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 + languageName: node + linkType: hard + +"check-types@npm:^11.2.3": + version: 11.2.3 + resolution: "check-types@npm:11.2.3" + checksum: 10c0/08d17e528b189e0e431689f0f2f0a78f425202f6e5ac93def5c3b8d128eb888a5103fc980d4feb7b2d4248f8114d354c223dff3c0b5ac4b1def526ef441aaf55 + languageName: node + linkType: hard + +"chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chokidar@npm:^4.0.0": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 10c0/8c5fa3830a2bcee2b53c2e5018226f0141db9ec9f7b1e27a5c57db5512332cde8a0beb769bcbaf0d8775a78afbf2bb841928feca4ea6219638a5b088f9884b46 + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.6 + resolution: "cipher-base@npm:1.0.6" + dependencies: + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/f73268e0ee6585800875d9748f2a2377ae7c2c3375cba346f75598ac6f6bc3a25dec56e984a168ced1a862529ffffe615363f750c40349039d96bd30fba0fca8 + languageName: node + linkType: hard + +"circom_runtime@npm:0.1.28": + version: 0.1.28 + resolution: "circom_runtime@npm:0.1.28" + dependencies: + ffjavascript: "npm:0.3.1" + bin: + calcwit: calcwit.js + checksum: 10c0/f2636b3cf553ea37701b527331ff740be7e31d51dc367c7f7bdffb69cf3a0d86c34ce215e4dbc0ad47f9c221c129ab11b111c6814e009c4d469592d73ab3c513 + languageName: node + linkType: hard + +"circomlibjs@npm:^0.1.7": + version: 0.1.7 + resolution: "circomlibjs@npm:0.1.7" + dependencies: + blake-hash: "npm:^2.0.0" + blake2b: "npm:^2.1.3" + ethers: "npm:^5.5.1" + ffjavascript: "npm:^0.2.45" + checksum: 10c0/ce618d8d245b6c834a171c0c3b3ba46b9ca7f47eb21b77b59469d100145cc51e820817450ef14897488b883b6038a0cfd85d43c900be4467c543f079a09617ff + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-boxes@npm:^2.2.1": + version: 2.2.1 + resolution: "cli-boxes@npm:2.2.1" + checksum: 10c0/6111352edbb2f62dbc7bfd58f2d534de507afed7f189f13fa894ce5a48badd94b2aa502fda28f1d7dd5f1eb456e7d4033d09a76660013ef50c7f66e7a034f050 + languageName: node + linkType: hard + +"cli-table3@npm:^0.5.0": + version: 0.5.1 + resolution: "cli-table3@npm:0.5.1" + dependencies: + colors: "npm:^1.1.2" + object-assign: "npm:^4.1.0" + string-width: "npm:^2.1.1" + dependenciesMeta: + colors: + optional: true + checksum: 10c0/659c40ead17539d0665aa9dea85a7650fc161939f9d8bd3842c6cf5da51dc867057d3066fe8c962dafa163da39ce2029357754aee2c8f9513ea7a0810511d1d6 + languageName: node + linkType: hard + +"cli-table3@npm:^0.6.0": + version: 0.6.5 + resolution: "cli-table3@npm:0.6.5" + dependencies: + "@colors/colors": "npm:1.5.0" + string-width: "npm:^4.2.0" + dependenciesMeta: + "@colors/colors": + optional: true + checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"colors@npm:1.4.0, colors@npm:^1.1.2": + version: 1.4.0 + resolution: "colors@npm:1.4.0" + checksum: 10c0/9af357c019da3c5a098a301cf64e3799d27549d8f185d86f79af23069e4f4303110d115da98483519331f6fb71c8568d5688fa1c6523600044fd4a54e97c4efb + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"command-exists@npm:^1.2.8": + version: 1.2.9 + resolution: "command-exists@npm:1.2.9" + checksum: 10c0/75040240062de46cd6cd43e6b3032a8b0494525c89d3962e280dde665103f8cc304a8b313a5aa541b91da2f5a9af75c5959dc3a77893a2726407a5e9a0234c16 + languageName: node + linkType: hard + +"command-line-args@npm:^5.1.1": + version: 5.2.1 + resolution: "command-line-args@npm:5.2.1" + dependencies: + array-back: "npm:^3.1.0" + find-replace: "npm:^3.0.0" + lodash.camelcase: "npm:^4.3.0" + typical: "npm:^4.0.0" + checksum: 10c0/a4f6a23a1e420441bd1e44dee24efd12d2e49af7efe6e21eb32fca4e843ca3d5501ddebad86a4e9d99aa626dd6dcb64c04a43695388be54e3a803dbc326cc89f + languageName: node + linkType: hard + +"command-line-usage@npm:^6.1.0": + version: 6.1.3 + resolution: "command-line-usage@npm:6.1.3" + dependencies: + array-back: "npm:^4.0.2" + chalk: "npm:^2.4.2" + table-layout: "npm:^1.0.2" + typical: "npm:^5.2.0" + checksum: 10c0/23d7577ccb6b6c004e67bb6a9a8cb77282ae7b7507ae92249a9548a39050b7602fef70f124c765000ab23b8f7e0fb7a3352419ab73ea42a2d9ea32f520cdfe9e + languageName: node + linkType: hard + +"commander@npm:^8.1.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.2": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.2.2" + typedarray: "npm:^0.0.6" + checksum: 10c0/2e9864e18282946dabbccb212c5c7cec0702745e3671679eb8291812ca7fd12023f7d8cb36493942a62f770ac96a7f90009dc5c82ad69893438371720fa92617 + languageName: node + linkType: hard + +"cookie@npm:^0.4.1": + version: 0.4.2 + resolution: "cookie@npm:0.4.2" + checksum: 10c0/beab41fbd7c20175e3a2799ba948c1dcc71ef69f23fe14eeeff59fc09f50c517b0f77098db87dbb4c55da802f9d86ee86cdc1cd3efd87760341551838d53fca2 + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: "npm:^1.0.1" + inherits: "npm:^2.0.1" + md5.js: "npm:^1.3.4" + ripemd160: "npm:^2.0.1" + sha.js: "npm:^2.4.0" + checksum: 10c0/d402e60e65e70e5083cb57af96d89567954d0669e90550d7cec58b56d49c4b193d35c43cec8338bc72358198b8cbf2f0cac14775b651e99238e1cf411490f915 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: "npm:^1.0.3" + create-hash: "npm:^1.1.0" + inherits: "npm:^2.0.1" + ripemd160: "npm:^2.0.0" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/24332bab51011652a9a0a6d160eed1e8caa091b802335324ae056b0dcb5acbc9fcf173cf10d128eba8548c3ce98dfa4eadaa01bd02f44a34414baee26b651835 + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"crypt@npm:>= 0.0.1": + version: 0.0.2 + resolution: "crypt@npm:0.0.2" + checksum: 10c0/adbf263441dd801665d5425f044647533f39f4612544071b1471962209d235042fb703c27eea2795c7c53e1dfc242405173003f83cf4f4761a633d11f9653f18 + languageName: node + linkType: hard + +"dateformat@npm:^4.5.1": + version: 4.6.3 + resolution: "dateformat@npm:4.6.3" + checksum: 10c0/e2023b905e8cfe2eb8444fb558562b524807a51cdfe712570f360f873271600b5c94aebffaf11efb285e2c072264a7cf243eadb68f3eba0f8cc85fb86cd25df6 + languageName: node + linkType: hard + +"death@npm:^1.1.0": + version: 1.1.0 + resolution: "death@npm:1.1.0" + checksum: 10c0/4cf8ec37728b99cd18566e605b4c967eedaeeb1533a3003cb88cbc69e6fe1787393b21bfa8c26045222f4e7dd75044eaf6b4c566b67da84ecb81717a7e3ca391 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5": + version: 4.4.0 + resolution: "debug@npm:4.4.0" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de + languageName: node + linkType: hard + +"decamelize@npm:^4.0.0": + version: 4.0.0 + resolution: "decamelize@npm:4.0.0" + checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d + languageName: node + linkType: hard + +"deep-eql@npm:^4.0.1, deep-eql@npm:^4.1.3": + version: 4.1.4 + resolution: "deep-eql@npm:4.1.4" + dependencies: + type-detect: "npm:^4.0.0" + checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 + languageName: node + linkType: hard + +"deep-extend@npm:~0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 + languageName: node + linkType: hard + +"deep-is@npm:~0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 + languageName: node + linkType: hard + +"diff@npm:^5.0.0, diff@npm:^5.2.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 + languageName: node + linkType: hard + +"difflib@npm:^0.2.4": + version: 0.2.4 + resolution: "difflib@npm:0.2.4" + dependencies: + heap: "npm:>= 0.2.0" + checksum: 10c0/4b151f1f6d378b0837ef28f4706d89d05b78f1093253b06c975c621f7ef8b048978588baf9e8f284c64b133d0abb08303b0789519cc91e5180d420cb3bb99c05 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"dotenv@npm:^16.3.1": + version: 16.5.0 + resolution: "dotenv@npm:16.5.0" + checksum: 10c0/5bc94c919fbd955bf0ba44d33922a1e93d1078e64a1db5c30faeded1d996e7a83c55332cb8ea4fae5a9ca4d0be44cbceb95c5811e70f9f095298df09d1997dd9 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"ejs@npm:^3.1.6": + version: 3.1.10 + resolution: "ejs@npm:3.1.10" + dependencies: + jake: "npm:^10.8.5" + bin: + ejs: bin/cli.js + checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 + languageName: node + linkType: hard + +"elliptic@npm:6.6.1, elliptic@npm:^6.5.7": + version: 6.6.1 + resolution: "elliptic@npm:6.6.1" + dependencies: + bn.js: "npm:^4.11.9" + brorand: "npm:^1.1.0" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.1" + inherits: "npm:^2.0.4" + minimalistic-assert: "npm:^1.0.1" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/8b24ef782eec8b472053793ea1e91ae6bee41afffdfcb78a81c0a53b191e715cbe1292aa07165958a9bbe675bd0955142560b1a007ffce7d6c765bcaf951a867 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"enquirer@npm:^2.3.0": + version: 2.4.1 + resolution: "enquirer@npm:2.4.1" + dependencies: + ansi-colors: "npm:^4.1.1" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-html@npm:^1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"escodegen@npm:1.8.x": + version: 1.8.1 + resolution: "escodegen@npm:1.8.1" + dependencies: + esprima: "npm:^2.7.1" + estraverse: "npm:^1.9.1" + esutils: "npm:^2.0.2" + optionator: "npm:^0.8.1" + source-map: "npm:~0.2.0" + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: ./bin/escodegen.js + esgenerate: ./bin/esgenerate.js + checksum: 10c0/ac19704975bb22e20f04d0da8b4586c11e302fd9fb48bbf945c5b9c0fd01dc85ed25975b6eaba733047e9cc7e57a4bb95c39820843d1f8f55daf88be02398d8f + languageName: node + linkType: hard + +"escodegen@npm:^1.8.1": + version: 1.14.3 + resolution: "escodegen@npm:1.14.3" + dependencies: + esprima: "npm:^4.0.1" + estraverse: "npm:^4.2.0" + esutils: "npm:^2.0.2" + optionator: "npm:^0.8.1" + source-map: "npm:~0.6.1" + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 10c0/30d337803e8f44308c90267bf6192399e4b44792497c77a7506b68ab802ba6a48ebbe1ce77b219aba13dfd2de5f5e1c267e35be1ed87b2a9c3315e8b283e302a + languageName: node + linkType: hard + +"esprima@npm:1.2.2": + version: 1.2.2 + resolution: "esprima@npm:1.2.2" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/a5a8fd359651dd8228736d7352eb7636c7765e1ec6ff8fff3f6641622039a9f51fa501969a1a4777ba4187cf9942a8d7e0367dccaff768b782bdb1a71d046abf + languageName: node + linkType: hard + +"esprima@npm:2.7.x, esprima@npm:^2.7.1": + version: 2.7.3 + resolution: "esprima@npm:2.7.3" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/6e1e99f280eed2ecd521ae28217c5f7c7a03fd0a1ac913bffd4a4ba278caf32cb8d9fc01e41d4b4bc904617282873dea297d60e1f93ea20156f29994c348a04f + languageName: node + linkType: hard + +"esprima@npm:^4.0.0, esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"estraverse@npm:^1.9.1": + version: 1.9.3 + resolution: "estraverse@npm:1.9.3" + checksum: 10c0/2477bab0c5cdc7534162fbb16b25282c49f434875227937726692ed105762403e9830324cc97c3ea8bf332fe91122ea321f4d4292aaf50db7a90d857e169719e + languageName: node + linkType: hard + +"estraverse@npm:^4.2.0": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"eth-gas-reporter@npm:^0.2.25": + version: 0.2.27 + resolution: "eth-gas-reporter@npm:0.2.27" + dependencies: + "@solidity-parser/parser": "npm:^0.14.0" + axios: "npm:^1.5.1" + cli-table3: "npm:^0.5.0" + colors: "npm:1.4.0" + ethereum-cryptography: "npm:^1.0.3" + ethers: "npm:^5.7.2" + fs-readdir-recursive: "npm:^1.1.0" + lodash: "npm:^4.17.14" + markdown-table: "npm:^1.1.3" + mocha: "npm:^10.2.0" + req-cwd: "npm:^2.0.0" + sha1: "npm:^1.1.1" + sync-request: "npm:^6.0.0" + peerDependencies: + "@codechecks/client": ^0.1.0 + peerDependenciesMeta: + "@codechecks/client": + optional: true + checksum: 10c0/62a7b8ea41d82731fe91a7741eb2362f08d55e0fece1c12e69effe1684933999961d97d1011037a54063fda20c33a61ef143f04b7ccef36c3002f40975b0415f + languageName: node + linkType: hard + +"ethereum-bloom-filters@npm:^1.0.6": + version: 1.2.0 + resolution: "ethereum-bloom-filters@npm:1.2.0" + dependencies: + "@noble/hashes": "npm:^1.4.0" + checksum: 10c0/7a0ed420cb2e85f621042d78576eb4ddea535a57f3186e314160604b29c37bcd0d3561b03695971e3a96e9c9db402b87de7248a1ac640cbc3dda1b8077cf841f + languageName: node + linkType: hard + +"ethereum-cryptography@npm:^0.1.3": + version: 0.1.3 + resolution: "ethereum-cryptography@npm:0.1.3" + dependencies: + "@types/pbkdf2": "npm:^3.0.0" + "@types/secp256k1": "npm:^4.0.1" + blakejs: "npm:^1.1.0" + browserify-aes: "npm:^1.2.0" + bs58check: "npm:^2.1.2" + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + hash.js: "npm:^1.1.7" + keccak: "npm:^3.0.0" + pbkdf2: "npm:^3.0.17" + randombytes: "npm:^2.1.0" + safe-buffer: "npm:^5.1.2" + scrypt-js: "npm:^3.0.0" + secp256k1: "npm:^4.0.1" + setimmediate: "npm:^1.0.5" + checksum: 10c0/aa36e11fca9d67d67c96e02a98b33bae2e1add20bd11af43feb7f28cdafe0cd3bdbae3bfecc7f2d9ec8f504b10a1c8f7590f5f7fe236560fd8083dd321ad7144 + languageName: node + linkType: hard + +"ethereum-cryptography@npm:^1.0.3": + version: 1.2.0 + resolution: "ethereum-cryptography@npm:1.2.0" + dependencies: + "@noble/hashes": "npm:1.2.0" + "@noble/secp256k1": "npm:1.7.1" + "@scure/bip32": "npm:1.1.5" + "@scure/bip39": "npm:1.1.1" + checksum: 10c0/93e486a4a8b266dc2f274b69252e751345ef47551163371939b01231afb7b519133e2572b5975bb9cb4cc77ac54ccd36002c7c759a72488abeeaf216e4d55b46 + languageName: node + linkType: hard + +"ethereum-cryptography@npm:^2.0.0, ethereum-cryptography@npm:^2.1.2, ethereum-cryptography@npm:^2.2.1": + version: 2.2.1 + resolution: "ethereum-cryptography@npm:2.2.1" + dependencies: + "@noble/curves": "npm:1.4.2" + "@noble/hashes": "npm:1.4.0" + "@scure/bip32": "npm:1.4.0" + "@scure/bip39": "npm:1.3.0" + checksum: 10c0/c6c7626d393980577b57f709878b2eb91f270fe56116044b1d7afb70d5c519cddc0c072e8c05e4a335e05342eb64d9c3ab39d52f78bb75f76ad70817da9645ef + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.1.4": + version: 7.1.5 + resolution: "ethereumjs-util@npm:7.1.5" + dependencies: + "@types/bn.js": "npm:^5.1.0" + bn.js: "npm:^5.1.2" + create-hash: "npm:^1.1.2" + ethereum-cryptography: "npm:^0.1.3" + rlp: "npm:^2.2.4" + checksum: 10c0/8b9487f35ecaa078bf9af6858eba6855fc61c73cc2b90c8c37486fcf94faf4fc1c5cda9758e6769f9ef2658daedaf2c18b366312ac461f8c8a122b392e3041eb + languageName: node + linkType: hard + +"ethers@npm:^5.5.1, ethers@npm:^5.7.2": + version: 5.8.0 + resolution: "ethers@npm:5.8.0" + dependencies: + "@ethersproject/abi": "npm:5.8.0" + "@ethersproject/abstract-provider": "npm:5.8.0" + "@ethersproject/abstract-signer": "npm:5.8.0" + "@ethersproject/address": "npm:5.8.0" + "@ethersproject/base64": "npm:5.8.0" + "@ethersproject/basex": "npm:5.8.0" + "@ethersproject/bignumber": "npm:5.8.0" + "@ethersproject/bytes": "npm:5.8.0" + "@ethersproject/constants": "npm:5.8.0" + "@ethersproject/contracts": "npm:5.8.0" + "@ethersproject/hash": "npm:5.8.0" + "@ethersproject/hdnode": "npm:5.8.0" + "@ethersproject/json-wallets": "npm:5.8.0" + "@ethersproject/keccak256": "npm:5.8.0" + "@ethersproject/logger": "npm:5.8.0" + "@ethersproject/networks": "npm:5.8.0" + "@ethersproject/pbkdf2": "npm:5.8.0" + "@ethersproject/properties": "npm:5.8.0" + "@ethersproject/providers": "npm:5.8.0" + "@ethersproject/random": "npm:5.8.0" + "@ethersproject/rlp": "npm:5.8.0" + "@ethersproject/sha2": "npm:5.8.0" + "@ethersproject/signing-key": "npm:5.8.0" + "@ethersproject/solidity": "npm:5.8.0" + "@ethersproject/strings": "npm:5.8.0" + "@ethersproject/transactions": "npm:5.8.0" + "@ethersproject/units": "npm:5.8.0" + "@ethersproject/wallet": "npm:5.8.0" + "@ethersproject/web": "npm:5.8.0" + "@ethersproject/wordlists": "npm:5.8.0" + checksum: 10c0/8f187bb6af3736fbafcb613d8fb5be31fe7667a1bae480dd0a4c31b597ed47e0693d552adcababcb05111da39a059fac22e44840ce1671b1cc972de22d6d85d9 + languageName: node + linkType: hard + +"ethers@npm:^6.12.1, ethers@npm:^6.7.0": + version: 6.13.5 + resolution: "ethers@npm:6.13.5" + dependencies: + "@adraffy/ens-normalize": "npm:1.10.1" + "@noble/curves": "npm:1.2.0" + "@noble/hashes": "npm:1.3.2" + "@types/node": "npm:22.7.5" + aes-js: "npm:4.0.0-beta.5" + tslib: "npm:2.7.0" + ws: "npm:8.17.1" + checksum: 10c0/64bc7b8907de199392b8a88c15c9a085892919cff7efa2e5326abc7fe5c426001726c51d91e10c74e5fc5e2547188297ce4127f6e52ea42a97ade0b2ae474677 + languageName: node + linkType: hard + +"ethjs-unit@npm:0.1.6": + version: 0.1.6 + resolution: "ethjs-unit@npm:0.1.6" + dependencies: + bn.js: "npm:4.11.6" + number-to-bn: "npm:1.7.0" + checksum: 10c0/0115ddeb4bc932026b9cd259f6eb020a45b38be62e3786526b70e4c5fb0254184bf6e8b7b3f0c8bb80d4d596a73893e386c02221faf203895db7cb9c29b37188 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: "npm:^1.3.4" + node-gyp: "npm:latest" + safe-buffer: "npm:^5.1.1" + checksum: 10c0/77fbe2d94a902a80e9b8f5a73dcd695d9c14899c5e82967a61b1fc6cbbb28c46552d9b127cff47c45fcf684748bdbcfa0a50410349109de87ceb4b199ef6ee99 + languageName: node + linkType: hard + +"expect@npm:^29.0.0": + version: 29.7.0 + resolution: "expect@npm:29.7.0" + dependencies: + "@jest/expect-utils": "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-glob@npm:^3.0.3": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fast-levenshtein@npm:~2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.6 + resolution: "fast-uri@npm:3.0.6" + checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 + languageName: node + linkType: hard + +"fastfile@npm:0.0.20": + version: 0.0.20 + resolution: "fastfile@npm:0.0.20" + checksum: 10c0/ca91f5658eec188c7ba3b910d7d87ed90d4d7ca92852fa14dd8c6d4ae4c2149b8147a30bbcafe727bf12f0ebb25c585a6cf0a112a3957b761ec913f8299fdd4f + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.19.1 + resolution: "fastq@npm:1.19.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + languageName: node + linkType: hard + +"fdir@npm:^6.4.3": + version: 6.4.3 + resolution: "fdir@npm:6.4.3" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/d13c10120e9625adf21d8d80481586200759928c19405a816b77dd28eaeb80e7c59c5def3e2941508045eb06d34eb47fad865ccc8bf98e6ab988bb0ed160fb6f + languageName: node + linkType: hard + +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd + languageName: node + linkType: hard + +"ffjavascript@npm:0.3.0": + version: 0.3.0 + resolution: "ffjavascript@npm:0.3.0" + dependencies: + wasmbuilder: "npm:0.0.16" + wasmcurves: "npm:0.2.2" + web-worker: "npm:1.2.0" + checksum: 10c0/2899db6ab67162eb9a7a052c420d31b0e15c6fd12bc738c48559e0a926649f1d11afe9cfa2611ff13f816b2fd9fa047fb11f6f8682f0dea4f84c4dd9f5dc7c3c + languageName: node + linkType: hard + +"ffjavascript@npm:0.3.1, ffjavascript@npm:^0.3.0": + version: 0.3.1 + resolution: "ffjavascript@npm:0.3.1" + dependencies: + wasmbuilder: "npm:0.0.16" + wasmcurves: "npm:0.2.2" + web-worker: "npm:1.2.0" + checksum: 10c0/6928afe37cdbe9a88a9901a37d0abbdcfa61a8533517cb86e2584bf2701eaa10ce2bfa1d417499042f9b10b79bc058ec0ecc14d3fdc6cb55d21bfcac3d1c4521 + languageName: node + linkType: hard + +"ffjavascript@npm:^0.2.45": + version: 0.2.63 + resolution: "ffjavascript@npm:0.2.63" + dependencies: + wasmbuilder: "npm:0.0.16" + wasmcurves: "npm:0.2.2" + web-worker: "npm:1.2.0" + checksum: 10c0/875f0b52c89ed1822b4da7449efa149f7ed8550ede6c1d0308b2f854e98867a8f1546db3486427b9fd98da1cc236c1b533cfb11e9938b0ab708c5a77da811299 + languageName: node + linkType: hard + +"filelist@npm:^1.0.4": + version: 1.0.4 + resolution: "filelist@npm:1.0.4" + dependencies: + minimatch: "npm:^5.0.1" + checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-replace@npm:^3.0.0": + version: 3.0.0 + resolution: "find-replace@npm:3.0.0" + dependencies: + array-back: "npm:^3.0.1" + checksum: 10c0/fcd1bf7960388c8193c2861bcdc760c18ac14edb4bde062a961915d9a25727b2e8aabf0229e90cc09c753fd557e5a3e5ae61e49cadbe727be89a9e8e49ce7668 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + +"follow-redirects@npm:^1.12.1, follow-redirects@npm:^1.15.6": + version: 1.15.9 + resolution: "follow-redirects@npm:1.15.9" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" + dependencies: + cross-spawn: "npm:^7.0.6" + signal-exit: "npm:^4.0.1" + checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 + languageName: node + linkType: hard + +"form-data@npm:^2.2.0": + version: 2.5.3 + resolution: "form-data@npm:2.5.3" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + mime-types: "npm:^2.1.35" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/48b910745d4fcd403f3d6876e33082a334e712199b8c86c4eb82f6da330a59b859943999d793856758c5ff18ca5261ced4d1062235a14543022d986bd21faa7d + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.2 + resolution: "form-data@npm:4.0.2" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + mime-types: "npm:^2.1.12" + checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c + languageName: node + linkType: hard + +"fp-ts@npm:1.19.3": + version: 1.19.3 + resolution: "fp-ts@npm:1.19.3" + checksum: 10c0/a016cfc98ad5e61564ab2d53a5379bbb8254642b66df13ced47e8c1d8d507abf4588d8bb43530198dfe1907211d8bae8f112cab52ba0ac6ab055da9168a6e260 + languageName: node + linkType: hard + +"fp-ts@npm:^1.0.0": + version: 1.19.5 + resolution: "fp-ts@npm:1.19.5" + checksum: 10c0/2a330fa1779561307740c26a7255fdffeb1ca2d0c7448d4dc094b477b772b0c8f7da1dfc88569b6f13f6958169b63b5df7361e514535b46b2e215bbf03a3722d + languageName: node + linkType: hard + +"fs-extra@npm:^10.0.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e + languageName: node + linkType: hard + +"fs-extra@npm:^7.0.0, fs-extra@npm:^7.0.1": + version: 7.0.1 + resolution: "fs-extra@npm:7.0.1" + dependencies: + graceful-fs: "npm:^4.1.2" + jsonfile: "npm:^4.0.0" + universalify: "npm:^0.1.0" + checksum: 10c0/1943bb2150007e3739921b8d13d4109abdc3cc481e53b97b7ea7f77eda1c3c642e27ae49eac3af074e3496ea02fde30f411ef410c760c70a38b92e656e5da784 + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^4.0.0" + universalify: "npm:^0.1.0" + checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 + languageName: node + linkType: hard + +"fs-extra@npm:^9.1.0": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: "npm:^1.0.0" + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs-readdir-recursive@npm:^1.1.0": + version: 1.1.0 + resolution: "fs-readdir-recursive@npm:1.1.0" + checksum: 10c0/7e190393952143e674b6d1ad4abcafa1b5d3e337fcc21b0cb051079a7140a54617a7df193d562ef9faf21bd7b2148a38601b3d5c16261fa76f278d88dc69989c + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"fsu@npm:^1.1.1": + version: 1.1.1 + resolution: "fsu@npm:1.1.1" + checksum: 10c0/8845f162b69e546dfd113f12dfceff9a9d06ec9710ed7973a69f8d4c6fce3946e4f59a67c6c767c9a2a5f61c94e4a59505791b7b933f849c6407c59277ce86c8 + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": + version: 2.0.2 + resolution: "get-func-name@npm:2.0.2" + checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.3.0": + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + languageName: node + linkType: hard + +"get-port@npm:^3.1.0": + version: 3.2.0 + resolution: "get-port@npm:3.2.0" + checksum: 10c0/1b6c3fe89074be3753d9ddf3d67126ea351ab9890537fe53fefebc2912d1d66fdc112451bbc76d33ae5ceb6ca70be2a91017944e3ee8fb0814ac9b295bf2a5b8 + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"ghost-testrpc@npm:^0.0.2": + version: 0.0.2 + resolution: "ghost-testrpc@npm:0.0.2" + dependencies: + chalk: "npm:^2.4.2" + node-emoji: "npm:^1.10.0" + bin: + testrpc-sc: ./index.js + checksum: 10c0/604efc022dfccda3da38ba5726ea52e5156c232814de440193ed7543dd1bb6a3899942df56ca8943c32fec2692abd9b62eb0fe381c7718b0941b3eb301c75b77 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob@npm:7.1.7": + version: 7.1.7 + resolution: "glob@npm:7.1.7" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.0.4" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/173245e6f9ccf904309eb7ef4a44a11f3bf68e9e341dff5a28b5db0dd7123b7506daf41497f3437a0710f57198187b758c2351eeaabce4d16935e956920da6a4 + languageName: node + linkType: hard + +"glob@npm:^10.2.2": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^5.0.15": + version: 5.0.15 + resolution: "glob@npm:5.0.15" + dependencies: + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:2 || 3" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/ed17b34406bedceb334a1df3502774a089ce822db07585ad2a6851d6040531540ce07407d7da5f0e0bded238114ea50302902f025e551499108076e635fcd9b1 + languageName: node + linkType: hard + +"glob@npm:^7.0.0, glob@npm:^7.1.3": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"glob@npm:^8.1.0": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f + languageName: node + linkType: hard + +"global-modules@npm:^2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: "npm:^3.0.0" + checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: "npm:^1.3.5" + kind-of: "npm:^6.0.2" + which: "npm:^1.3.1" + checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 + languageName: node + linkType: hard + +"globby@npm:^10.0.1": + version: 10.0.2 + resolution: "globby@npm:10.0.2" + dependencies: + "@types/glob": "npm:^7.1.1" + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.0.3" + glob: "npm:^7.1.3" + ignore: "npm:^5.1.1" + merge2: "npm:^1.2.3" + slash: "npm:^3.0.0" + checksum: 10c0/9c610ad47117b9dfbc5b0c6c2408c3b72f89c1b9f91ee14c4dc794794e35768ee0920e2a403b688cfa749f48617c6ba3f3a52df07677ed73d602d4349b68c810 + languageName: node + linkType: hard + +"gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"handlebars@npm:^4.0.1": + version: 4.7.8 + resolution: "handlebars@npm:4.7.8" + dependencies: + minimist: "npm:^1.2.5" + neo-async: "npm:^2.6.2" + source-map: "npm:^0.6.1" + uglify-js: "npm:^3.1.4" + wordwrap: "npm:^1.0.0" + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d + languageName: node + linkType: hard + +"hardhat-contract-sizer@npm:^2.10.0": + version: 2.10.0 + resolution: "hardhat-contract-sizer@npm:2.10.0" + dependencies: + chalk: "npm:^4.0.0" + cli-table3: "npm:^0.6.0" + strip-ansi: "npm:^6.0.0" + peerDependencies: + hardhat: ^2.0.0 + checksum: 10c0/c8bdb3e32c7e5a28bb6a00a2c786d768f471318dc6923c294e2775d69bb12f3c797af38545c8f8603109e293a137a6ba9b511964a35f7bc2356348225ffa2ff7 + languageName: node + linkType: hard + +"hardhat-gas-reporter@npm:^1.0.10": + version: 1.0.10 + resolution: "hardhat-gas-reporter@npm:1.0.10" + dependencies: + array-uniq: "npm:1.0.3" + eth-gas-reporter: "npm:^0.2.25" + sha1: "npm:^1.1.1" + peerDependencies: + hardhat: ^2.0.2 + checksum: 10c0/3711ea331bcbbff4d37057cb3de47a9127011e3ee128c2254a68f3b7f12ab2133965cbcfa3a7ce1bba8461f3b1bda1b175c4814a048c8b06b3ad450001d119d8 + languageName: node + linkType: hard + +"hardhat@npm:^2.22.6": + version: 2.23.0 + resolution: "hardhat@npm:2.23.0" + dependencies: + "@ethereumjs/util": "npm:^9.1.0" + "@ethersproject/abi": "npm:^5.1.2" + "@nomicfoundation/edr": "npm:^0.10.0" + "@nomicfoundation/solidity-analyzer": "npm:^0.1.0" + "@sentry/node": "npm:^5.18.1" + "@types/bn.js": "npm:^5.1.0" + "@types/lru-cache": "npm:^5.1.0" + adm-zip: "npm:^0.4.16" + aggregate-error: "npm:^3.0.0" + ansi-escapes: "npm:^4.3.0" + boxen: "npm:^5.1.2" + chokidar: "npm:^4.0.0" + ci-info: "npm:^2.0.0" + debug: "npm:^4.1.1" + enquirer: "npm:^2.3.0" + env-paths: "npm:^2.2.0" + ethereum-cryptography: "npm:^1.0.3" + find-up: "npm:^5.0.0" + fp-ts: "npm:1.19.3" + fs-extra: "npm:^7.0.1" + immutable: "npm:^4.0.0-rc.12" + io-ts: "npm:1.10.4" + json-stream-stringify: "npm:^3.1.4" + keccak: "npm:^3.0.2" + lodash: "npm:^4.17.11" + micro-eth-signer: "npm:^0.14.0" + mnemonist: "npm:^0.38.0" + mocha: "npm:^10.0.0" + p-map: "npm:^4.0.0" + picocolors: "npm:^1.1.0" + raw-body: "npm:^2.4.1" + resolve: "npm:1.17.0" + semver: "npm:^6.3.0" + solc: "npm:0.8.26" + source-map-support: "npm:^0.5.13" + stacktrace-parser: "npm:^0.1.10" + tinyglobby: "npm:^0.2.6" + tsort: "npm:0.0.1" + undici: "npm:^5.14.0" + uuid: "npm:^8.3.2" + ws: "npm:^7.4.6" + peerDependencies: + ts-node: "*" + typescript: "*" + peerDependenciesMeta: + ts-node: + optional: true + typescript: + optional: true + bin: + hardhat: internal/cli/bootstrap.js + checksum: 10c0/70752d786f1520b768c93d58f78978dc7fc992ade14fbddd635ee1d9d27b9010c3cb78bf0176a6cab0ea9675412bd310d1b8c05143563f5803a5439ae64369b5 + languageName: node + linkType: hard + +"has-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-flag@npm:1.0.0" + checksum: 10c0/d0ad4bebbbc005edccfa1e2c0600c89375be5663d23f49a129e0f817187405748b0b515abfc5b3c209c92692e39bb0481c83c0ee4df69433d6ffd0242183100b + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.1.0 + resolution: "hash-base@npm:3.1.0" + dependencies: + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.6.0" + safe-buffer: "npm:^5.2.0" + checksum: 10c0/663eabcf4173326fbb65a1918a509045590a26cc7e0964b754eef248d281305c6ec9f6b31cb508d02ffca383ab50028180ce5aefe013e942b44a903ac8dc80d0 + languageName: node + linkType: hard + +"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: "npm:^2.0.3" + minimalistic-assert: "npm:^1.0.1" + checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"heap@npm:>= 0.2.0": + version: 0.2.7 + resolution: "heap@npm:0.2.7" + checksum: 10c0/341c5d51ae13dc8346c371a8a69c57c972fcb9a3233090d3dd5ba29d483d6b5b4e75492443cbfeacd46608bb30e6680f646ffb7a6205900221735587d07a79b6 + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + +"hoopy@npm:^0.1.4": + version: 0.1.4 + resolution: "hoopy@npm:0.1.4" + checksum: 10c0/4ef749e1a13d46cae52014b9de452635637086c333fc67245369a1262dee806386354a4ed845d507e59e5a0d3aef55246c0ec66f5bf2908d40eb77e7dff2a254 + languageName: node + linkType: hard + +"http-basic@npm:^8.1.1": + version: 8.1.3 + resolution: "http-basic@npm:8.1.3" + dependencies: + caseless: "npm:^0.12.0" + concat-stream: "npm:^1.6.2" + http-response-object: "npm:^3.0.1" + parse-cache-control: "npm:^1.0.1" + checksum: 10c0/dbc67b943067db7f43d1dd94539f874e6b78614227491c0a5c0acb9b0490467a4ec97247da21eb198f8968a5dc4089160165cb0103045cadb9b47bb844739752 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"http-response-object@npm:^3.0.1": + version: 3.0.2 + resolution: "http-response-object@npm:3.0.2" + dependencies: + "@types/node": "npm:^10.0.3" + checksum: 10c0/f161db99184087798563cb14c48a67eebe9405668a5ed2341faf85d3079a2c00262431df8e0ccbe274dc6415b6729179f12b09f875d13ad33d83401e4b1ed22e + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore@npm:^5.1.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"immer@npm:10.0.2": + version: 10.0.2 + resolution: "immer@npm:10.0.2" + checksum: 10c0/b6c23538cd174a4cadd6f8d92bf0245e2c2a7bdabbd3200a08f1e99bb52e463fb552bb2d025ddd45f4e335390f8bd307e2c813e54a004dd651fe1ec161674e42 + languageName: node + linkType: hard + +"immutable@npm:^4.0.0-rc.12": + version: 4.3.7 + resolution: "immutable@npm:4.3.7" + checksum: 10c0/9b099197081b22f6433003e34929da8ecddbbdc1474cdc8aa3b7669dee4adda349c06143de22def36016d1b6de5322b043eccd7a11db1dad2ca85dad4fff5435 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ini@npm:^1.3.5": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 + languageName: node + linkType: hard + +"io-ts@npm:1.10.4": + version: 1.10.4 + resolution: "io-ts@npm:1.10.4" + dependencies: + fp-ts: "npm:^1.0.0" + checksum: 10c0/9370988a7e17fc23c194115808168ccd1ccf7b7ebe92c39c1cc2fd91c1dc641552a5428bb04fe28c01c826fa4f230e856eb4f7d27c774a1400af3fecf2936ab5 + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-hex-prefixed@npm:1.0.0": + version: 1.0.0 + resolution: "is-hex-prefixed@npm:1.0.0" + checksum: 10c0/767fa481020ae654ab085ca24c63c518705ff36fdfbfc732292dc69092c6f8fdc551f6ce8c5f6ae704b0a19294e6f62be1b4b9859f0e1ac76e3b1b0733599d94 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-plain-obj@npm:^2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jake@npm:^10.8.5": + version: 10.9.2 + resolution: "jake@npm:10.9.2" + dependencies: + async: "npm:^3.2.3" + chalk: "npm:^4.0.2" + filelist: "npm:^1.0.4" + minimatch: "npm:^3.1.2" + bin: + jake: bin/cli.js + checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 + languageName: node + linkType: hard + +"jest-diff@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-matcher-utils@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e + languageName: node + linkType: hard + +"jest-message-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-message-util@npm:29.7.0" + dependencies: + "@babel/code-frame": "npm:^7.12.13" + "@jest/types": "npm:^29.6.3" + "@types/stack-utils": "npm:^2.0.0" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 + languageName: node + linkType: hard + +"jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + graceful-fs: "npm:^4.2.9" + picomatch: "npm:^2.2.3" + checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + languageName: node + linkType: hard + +"js-sha3@npm:0.8.0, js-sha3@npm:^0.8.0": + version: 0.8.0 + resolution: "js-sha3@npm:0.8.0" + checksum: 10c0/43a21dc7967c871bd2c46cb1c2ae97441a97169f324e509f382d43330d8f75cf2c96dba7c806ab08a425765a9c847efdd4bffbac2d99c3a4f3de6c0218f40533 + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:3.x": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-stream-stringify@npm:^3.1.4": + version: 3.1.6 + resolution: "json-stream-stringify@npm:3.1.6" + checksum: 10c0/cb45e65143f4634ebb2dc0732410a942eaf86f88a7938b2f6397f4c6b96a7ba936e74d4d17db48c9221f669153996362b2ff50fe8c7fed8a7548646f98ae1f58 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.6" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"jsonpath@npm:^1.1.1": + version: 1.1.1 + resolution: "jsonpath@npm:1.1.1" + dependencies: + esprima: "npm:1.2.2" + static-eval: "npm:2.0.2" + underscore: "npm:1.12.1" + checksum: 10c0/4fea3f83bcb4df08c32090ba8a0d1a6d26244f6d19c4296f9b58caa01eeb7de0f8347eba40077ceee2f95acc69d032b0b48226d350339063ba580e87983f6dec + languageName: node + linkType: hard + +"jsonschema@npm:^1.2.4": + version: 1.5.0 + resolution: "jsonschema@npm:1.5.0" + checksum: 10c0/c24ddb8d741f02efc0da3ad9b597a275f6b595062903d3edbfaa535c3f9c4c98613df68da5cb6635ed9aeab30d658986fea61d7662fc5b2b92840d5a1e21235e + languageName: node + linkType: hard + +"keccak@npm:^3.0.0, keccak@npm:^3.0.2": + version: 3.0.4 + resolution: "keccak@npm:3.0.4" + dependencies: + node-addon-api: "npm:^2.0.0" + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.2.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/153525c1c1f770beadb8f8897dec2f1d2dcbee11d063fe5f61957a5b236bfd3d2a111ae2727e443aa6a848df5edb98b9ef237c78d56df49087b0ca8a232ca9cd + languageName: node + linkType: hard + +"kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: "npm:~1.1.2" + type-check: "npm:~0.3.2" + checksum: 10c0/e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 + languageName: node + linkType: hard + +"lodash.clonedeep@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.clonedeep@npm:4.5.0" + checksum: 10c0/2caf0e4808f319d761d2939ee0642fa6867a4bbf2cfce43276698828380756b99d4c4fa226d881655e6ac298dd453fe12a5ec8ba49861777759494c534936985 + languageName: node + linkType: hard + +"lodash.isempty@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.isempty@npm:4.4.0" + checksum: 10c0/6c7eaa0802398736809b9e8aed8b8ac1abca9be71788fd719ba9d7f5b4c23e8dc63b7f049df4131713dda30a2fdedc2f655268e9deb8cd5a985dfc934afca194 + languageName: node + linkType: hard + +"lodash.isequal@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.isequal@npm:4.5.0" + checksum: 10c0/dfdb2356db19631a4b445d5f37868a095e2402292d59539a987f134a8778c62a2810c2452d11ae9e6dcac71fc9de40a6fedcb20e2952a15b431ad8b29e50e28f + languageName: node + linkType: hard + +"lodash.isfunction@npm:^3.0.9": + version: 3.0.9 + resolution: "lodash.isfunction@npm:3.0.9" + checksum: 10c0/e88620922f5f104819496884779ca85bfc542efb2946df661ab3e2cd38da5c8375434c6adbedfc76dd3c2b04075d2ba8ec215cfdedf08ddd2e3c3467e8a26ccd + languageName: node + linkType: hard + +"lodash.isobject@npm:^3.0.2": + version: 3.0.2 + resolution: "lodash.isobject@npm:3.0.2" + checksum: 10c0/da4c8480d98b16835b59380b2fbd43c54081acd9466febb788ba77c434384349e0bec162d1c4e89f613f21687b2b6d8384d8a112b80da00c78d28d9915a5cdde + languageName: node + linkType: hard + +"lodash.isstring@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.isstring@npm:4.0.1" + checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 + languageName: node + linkType: hard + +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70 + languageName: node + linkType: hard + +"lodash@npm:4.17.21, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + +"logplease@npm:^1.2.15": + version: 1.2.15 + resolution: "logplease@npm:1.2.15" + checksum: 10c0/e835ce89895c9335460a9b4b3a79f9f4161879f5cd49efc249f8af2a128403e391c177bf55ca7207fd6687aa16e376f9a96ce58dc639acc6b4b8b00d6225323c + languageName: node + linkType: hard + +"loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"loupe@npm:^2.3.6": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: "npm:^2.0.1" + checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru_map@npm:^0.3.3": + version: 0.3.3 + resolution: "lru_map@npm:0.3.3" + checksum: 10c0/d861f14a142a4a74ebf8d3ad57f2e768a5b820db4100ae53eed1a64eb6350912332e6ebc87cb7415ad6d0cd8f3ce6d20beab9a5e6042ccb5996ea0067a220448 + languageName: node + linkType: hard + +"make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"markdown-table@npm:^1.1.3": + version: 1.1.3 + resolution: "markdown-table@npm:1.1.3" + checksum: 10c0/aea6eb998900449d938ce46819630492792dd26ac9737f8b506f98baf88c98b7cc1e69c33b72959e0f8578fc0a4b4b44d740daf2db9d8e92ccf3c3522f749fda + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/b7bd75077f419c8e013fc4d4dada48be71882e37d69a44af65a2f2804b91e253441eb43a0614423a1c91bb830b8140b0dc906bc797245e2e275759584f4efcc5 + languageName: node + linkType: hard + +"memorystream@npm:^0.3.1": + version: 0.3.1 + resolution: "memorystream@npm:0.3.1" + checksum: 10c0/4bd164657711d9747ff5edb0508b2944414da3464b7fe21ac5c67cf35bba975c4b446a0124bd0f9a8be54cfc18faf92e92bd77563a20328b1ccf2ff04e9f39b9 + languageName: node + linkType: hard + +"merge2@npm:^1.2.3, merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micro-eth-signer@npm:^0.14.0": + version: 0.14.0 + resolution: "micro-eth-signer@npm:0.14.0" + dependencies: + "@noble/curves": "npm:~1.8.1" + "@noble/hashes": "npm:~1.7.1" + micro-packed: "npm:~0.7.2" + checksum: 10c0/62c90d54d2b97cb4eaf713c69bc4ceb5903012d0237c26f0966076cfb89c4527de68b395e1bc29e6f237152ce08f7b551fb57b332003518a1331c2c0890fb164 + languageName: node + linkType: hard + +"micro-ftch@npm:^0.3.1": + version: 0.3.1 + resolution: "micro-ftch@npm:0.3.1" + checksum: 10c0/b87d35a52aded13cf2daca8d4eaa84e218722b6f83c75ddd77d74f32cc62e699a672e338e1ee19ceae0de91d19cc24dcc1a7c7d78c81f51042fe55f01b196ed3 + languageName: node + linkType: hard + +"micro-packed@npm:~0.7.2": + version: 0.7.2 + resolution: "micro-packed@npm:0.7.2" + dependencies: + "@scure/base": "npm:~1.2.2" + checksum: 10c0/0671f834b576a51a381ca8e98631459412de37c5265df7d26241a93c252a08a8483bc9d84834b0856476b535c85abd66b2b9437fcd865c19820d3ebf0cfa2e42 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.35": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + +"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist@npm:^1.2.5, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 + languageName: node + linkType: hard + +"mkdirp@npm:0.5.x": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: "npm:^1.2.6" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mnemonist@npm:^0.38.0": + version: 0.38.5 + resolution: "mnemonist@npm:0.38.5" + dependencies: + obliterator: "npm:^2.0.0" + checksum: 10c0/a73a2718f88cd12c3b108ecc530619a1b0f2783d479c7f98e7367375102cc3a28811bab384e17eb731553dc8d7ee9d60283d694a9f676af5f306104e75027d4f + languageName: node + linkType: hard + +"mocha@npm:^10.0.0, mocha@npm:^10.2.0, mocha@npm:^10.4.0": + version: 10.8.2 + resolution: "mocha@npm:10.8.2" + dependencies: + ansi-colors: "npm:^4.1.3" + browser-stdout: "npm:^1.3.1" + chokidar: "npm:^3.5.3" + debug: "npm:^4.3.5" + diff: "npm:^5.2.0" + escape-string-regexp: "npm:^4.0.0" + find-up: "npm:^5.0.0" + glob: "npm:^8.1.0" + he: "npm:^1.2.0" + js-yaml: "npm:^4.1.0" + log-symbols: "npm:^4.1.0" + minimatch: "npm:^5.1.6" + ms: "npm:^2.1.3" + serialize-javascript: "npm:^6.0.2" + strip-json-comments: "npm:^3.1.1" + supports-color: "npm:^8.1.1" + workerpool: "npm:^6.5.1" + yargs: "npm:^16.2.0" + yargs-parser: "npm:^20.2.9" + yargs-unparser: "npm:^2.0.0" + bin: + _mocha: bin/_mocha + mocha: bin/mocha.js + checksum: 10c0/1f786290a32a1c234f66afe2bfcc68aa50fe9c7356506bd39cca267efb0b4714a63a0cb333815578d63785ba2fba058bf576c2512db73997c0cae0d659a88beb + languageName: node + linkType: hard + +"mochawesome-report-generator@npm:^6.2.0": + version: 6.2.0 + resolution: "mochawesome-report-generator@npm:6.2.0" + dependencies: + chalk: "npm:^4.1.2" + dateformat: "npm:^4.5.1" + escape-html: "npm:^1.0.3" + fs-extra: "npm:^10.0.0" + fsu: "npm:^1.1.1" + lodash.isfunction: "npm:^3.0.9" + opener: "npm:^1.5.2" + prop-types: "npm:^15.7.2" + tcomb: "npm:^3.2.17" + tcomb-validation: "npm:^3.3.0" + validator: "npm:^13.6.0" + yargs: "npm:^17.2.1" + bin: + marge: bin/cli.js + checksum: 10c0/77eb60a1c6d595e727b5d4a12b5ff08da0a4b34a7061890060c90b19e644d1302a403040f99cf59ade394bbee4a20b48e87d5f83f94dc4334904f43b33fc9977 + languageName: node + linkType: hard + +"mochawesome@npm:^7.1.3": + version: 7.1.3 + resolution: "mochawesome@npm:7.1.3" + dependencies: + chalk: "npm:^4.1.2" + diff: "npm:^5.0.0" + json-stringify-safe: "npm:^5.0.1" + lodash.isempty: "npm:^4.4.0" + lodash.isfunction: "npm:^3.0.9" + lodash.isobject: "npm:^3.0.2" + lodash.isstring: "npm:^4.0.1" + mochawesome-report-generator: "npm:^6.2.0" + strip-ansi: "npm:^6.0.1" + uuid: "npm:^8.3.2" + peerDependencies: + mocha: ">=7" + checksum: 10c0/908ff730da4c6f911b31fcdac7fedafc5334487b9c577701b305121b1432e6bb2accf7ad365454ee85dcc29e0592f6b468b1636c8c01c3cc76c54bd802c75d87 + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"nanoassert@npm:^2.0.0": + version: 2.0.0 + resolution: "nanoassert@npm:2.0.0" + checksum: 10c0/fb21ce924a1ec8e8fac415a00fdd1c086c08bc185d0377e675b1d379347340fbf4a1523d8d2330e5328a542400cd7122599b6c6e21ce2ea40a9f11d68dfbfa1b + languageName: node + linkType: hard + +"ndjson@npm:2.0.0": + version: 2.0.0 + resolution: "ndjson@npm:2.0.0" + dependencies: + json-stringify-safe: "npm:^5.0.1" + minimist: "npm:^1.2.5" + readable-stream: "npm:^3.6.0" + split2: "npm:^3.0.0" + through2: "npm:^4.0.0" + bin: + ndjson: cli.js + checksum: 10c0/b7f3de5e12e0466cfa3688a3ba6cedec0ab54bd821f1b16926c9ef7017983b131832430061d25dfcb635f65a254b535681eca213c6feb5d1958bee8d35a04cc9 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + languageName: node + linkType: hard + +"node-addon-api@npm:^2.0.0": + version: 2.0.2 + resolution: "node-addon-api@npm:2.0.2" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/ade6c097ba829fa4aee1ca340117bb7f8f29fdae7b777e343a9d5cbd548481d1f0894b7b907d23ce615c70d932e8f96154caed95c3fa935cfe8cf87546510f64 + languageName: node + linkType: hard + +"node-addon-api@npm:^3.0.0": + version: 3.2.1 + resolution: "node-addon-api@npm:3.2.1" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/41f21c9d12318875a2c429befd06070ce367065a3ef02952cfd4ea17ef69fa14012732f510b82b226e99c254da8d671847ea018cad785f839a5366e02dd56302 + languageName: node + linkType: hard + +"node-addon-api@npm:^5.0.0": + version: 5.1.0 + resolution: "node-addon-api@npm:5.1.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/0eb269786124ba6fad9df8007a149e03c199b3e5a3038125dfb3e747c2d5113d406a4e33f4de1ea600aa2339be1f137d55eba1a73ee34e5fff06c52a5c296d1d + languageName: node + linkType: hard + +"node-emoji@npm:^1.10.0": + version: 1.11.0 + resolution: "node-emoji@npm:1.11.0" + dependencies: + lodash: "npm:^4.17.21" + checksum: 10c0/5dac6502dbef087092d041fcc2686d8be61168593b3a9baf964d62652f55a3a9c2277f171b81cccb851ccef33f2d070f45e633fab1fda3264f8e1ae9041c673f + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.1": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + +"node-forge@npm:^1.3.1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 + languageName: node + linkType: hard + +"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.2.2": + version: 4.8.4 + resolution: "node-gyp-build@npm:4.8.4" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 10c0/444e189907ece2081fe60e75368784f7782cfddb554b60123743dfb89509df89f1f29c03bbfa16b3a3e0be3f48799a4783f487da6203245fa5bed239ba7407e1 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + languageName: node + linkType: hard + +"nofilter@npm:^3.1.0": + version: 3.1.0 + resolution: "nofilter@npm:3.1.0" + checksum: 10c0/92459f3864a067b347032263f0b536223cbfc98153913b5dce350cb39c8470bc1813366e41993f22c33cc6400c0f392aa324a4b51e24c22040635c1cdb046499 + languageName: node + linkType: hard + +"nopt@npm:3.x": + version: 3.0.6 + resolution: "nopt@npm:3.0.6" + dependencies: + abbrev: "npm:1" + bin: + nopt: ./bin/nopt.js + checksum: 10c0/f4414223c392dd215910942268d9bdc101ab876400f2c0626b88b718254f5c730dbab5eda58519dc4ea05b681ed8f09c147570ed273ade7fc07757e2e4f12c3d + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"number-to-bn@npm:1.7.0": + version: 1.7.0 + resolution: "number-to-bn@npm:1.7.0" + dependencies: + bn.js: "npm:4.11.6" + strip-hex-prefix: "npm:1.0.0" + checksum: 10c0/83d1540173c4fc60ef4e91e88ed17f2c38418c8e5e62f469d62404527efba48d9c40f364da5c5e6857234a6c1154ff32b3642d80f873ba6cb8d2dd05fb6bc303 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 + languageName: node + linkType: hard + +"obliterator@npm:^2.0.0": + version: 2.0.5 + resolution: "obliterator@npm:2.0.5" + checksum: 10c0/36e67d88271c51aa6412a7d449d6c60ae6387176f94dbc557eea67456bf6ccedbcbcecdb1e56438aa4f4694f68f531b3bf2be87b019e2f69961b144bec124e70 + languageName: node + linkType: hard + +"once@npm:1.x, once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"opener@npm:^1.5.2": + version: 1.5.2 + resolution: "opener@npm:1.5.2" + bin: + opener: bin/opener-bin.js + checksum: 10c0/dd56256ab0cf796585617bc28e06e058adf09211781e70b264c76a1dbe16e90f868c974e5bf5309c93469157c7d14b89c35dc53fe7293b0e40b4d2f92073bc79 + languageName: node + linkType: hard + +"optionator@npm:^0.8.1": + version: 0.8.3 + resolution: "optionator@npm:0.8.3" + dependencies: + deep-is: "npm:~0.1.3" + fast-levenshtein: "npm:~2.0.6" + levn: "npm:~0.3.0" + prelude-ls: "npm:~1.1.2" + type-check: "npm:~0.3.2" + word-wrap: "npm:~1.2.3" + checksum: 10c0/ad7000ea661792b3ec5f8f86aac28895850988926f483b5f308f59f4607dfbe24c05df2d049532ee227c040081f39401a268cf7bbf3301512f74c4d760dc6dd8 + languageName: node + linkType: hard + +"ordinal@npm:^1.0.3": + version: 1.0.3 + resolution: "ordinal@npm:1.0.3" + checksum: 10c0/faa276fc1b1660477fd5c8749323c9715ae4f482c21fb8e67e57d1eb57845ba1b902796ecdcf6405325a8c3b042360970f5dc3b7f8cc7d79e0b2a756ab09174d + languageName: node + linkType: hard + +"os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"parse-cache-control@npm:^1.0.1": + version: 1.0.1 + resolution: "parse-cache-control@npm:1.0.1" + checksum: 10c0/330a0d9e3a22a7b0f6e8a973c0b9f51275642ee28544cd0d546420273946d555d20a5c7b49fca24d68d2e698bae0186f0f41f48d62133d3153c32454db05f2df + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"pathval@npm:^1.1.1": + version: 1.1.1 + resolution: "pathval@npm:1.1.1" + checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.17": + version: 3.1.2 + resolution: "pbkdf2@npm:3.1.2" + dependencies: + create-hash: "npm:^1.1.2" + create-hmac: "npm:^1.1.4" + ripemd160: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/5a30374e87d33fa080a92734d778cf172542cc7e41b96198c4c88763997b62d7850de3fbda5c3111ddf79805ee7c1da7046881c90ac4920b5e324204518b05fd + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf + languageName: node + linkType: hard + +"poseidon-lite@npm:^0.3.0": + version: 0.3.0 + resolution: "poseidon-lite@npm:0.3.0" + checksum: 10c0/03494ea69be0dc3ced055b7f1505ff73848002c68332d52a5cf5f00d1a657693317e1ffc790b84ccaf9a0f5f61bf05e1a453eab60c385c98701a6580edead49c + languageName: node + linkType: hard + +"poseidon-solidity@npm:0.0.5, poseidon-solidity@npm:^0.0.5": + version: 0.0.5 + resolution: "poseidon-solidity@npm:0.0.5" + checksum: 10c0/072e1e1aa8c12bdca0e7a9aee9d9fe2573f06c9dbea8891430d4da299b935195b1a613673e45acfd5cc658e45fa99bd9fd715196c9b7909fd060cdcf22595696 + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: 10c0/7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 + languageName: node + linkType: hard + +"prettier@npm:^2.3.1": + version: 2.8.8 + resolution: "prettier@npm:2.8.8" + bin: + prettier: bin-prettier.js + checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a + languageName: node + linkType: hard + +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"promise@npm:^8.0.0": + version: 8.3.0 + resolution: "promise@npm:8.3.0" + dependencies: + asap: "npm:~2.0.6" + checksum: 10c0/6fccae27a10bcce7442daf090279968086edd2e3f6cebe054b71816403e2526553edf510d13088a4d0f14d7dfa9b9dfb188cab72d6f942e186a4353b6a29c8bf + languageName: node + linkType: hard + +"prompts@npm:^2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"prop-types@npm:^15.7.2": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"qs@npm:^6.4.0": + version: 6.14.0 + resolution: "qs@npm:6.14.0" + dependencies: + side-channel: "npm:^1.1.0" + checksum: 10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"r1csfile@npm:0.0.48": + version: 0.0.48 + resolution: "r1csfile@npm:0.0.48" + dependencies: + "@iden3/bigarray": "npm:0.0.2" + "@iden3/binfileutils": "npm:0.0.12" + fastfile: "npm:0.0.20" + ffjavascript: "npm:0.3.0" + checksum: 10c0/ea33804b4b51838603873fe4b4975b47e87fd9faad196024e49c02f4e87a0957e5cb333b9f2ac351db5372a7948bbf019218822a10f6b867b96aed90248e3e84 + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"raw-body@npm:^2.4.1": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + languageName: node + linkType: hard + +"react-is@npm:^16.13.1": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readable-stream@npm:^2.2.2": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: "npm:^1.1.6" + checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 + languageName: node + linkType: hard + +"recursive-readdir@npm:^2.2.2": + version: 2.2.3 + resolution: "recursive-readdir@npm:2.2.3" + dependencies: + minimatch: "npm:^3.0.5" + checksum: 10c0/d0238f137b03af9cd645e1e0b40ae78b6cda13846e3ca57f626fcb58a66c79ae018a10e926b13b3a460f1285acc946a4e512ea8daa2e35df4b76a105709930d1 + languageName: node + linkType: hard + +"reduce-flatten@npm:^2.0.0": + version: 2.0.0 + resolution: "reduce-flatten@npm:2.0.0" + checksum: 10c0/9275064535bc070a787824c835a4f18394942f8a78f08e69fb500920124ce1c46a287c8d9e565a7ffad8104875a6feda14efa8e951e8e4585370b8ff007b0abd + languageName: node + linkType: hard + +"req-cwd@npm:^2.0.0": + version: 2.0.0 + resolution: "req-cwd@npm:2.0.0" + dependencies: + req-from: "npm:^2.0.0" + checksum: 10c0/9cefc80353594b07d1a31d7ee4e4b5c7252f054f0fda7d5caf038c1cb5aa4b322acb422de7e18533734e8557f5769c2318f3ee9256e2e4f4e359b9b776c7ed1a + languageName: node + linkType: hard + +"req-from@npm:^2.0.0": + version: 2.0.0 + resolution: "req-from@npm:2.0.0" + dependencies: + resolve-from: "npm:^3.0.0" + checksum: 10c0/84aa6b4f7291675d9443ac156139841c7c1ae7eccf080f3b344972d6470170b0c32682656c560763b330d00e133196bcfdb1fcb4c5031f59ecbe80dea4dd1c82 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"resolve-from@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-from@npm:3.0.0" + checksum: 10c0/24affcf8e81f4c62f0dcabc774afe0e19c1f38e34e43daac0ddb409d79435fc3037f612b0cc129178b8c220442c3babd673e88e870d27215c99454566e770ebc + languageName: node + linkType: hard + +"resolve@npm:1.1.x": + version: 1.1.7 + resolution: "resolve@npm:1.1.7" + checksum: 10c0/f66dcad51854fca283fa68e9c11445c2117d7963b9ced6c43171784987df3bed6fb16c4af2bf6f07c02ace94a4f4ebe158d13780b6e14d60944478c860208245 + languageName: node + linkType: hard + +"resolve@npm:1.17.0": + version: 1.17.0 + resolution: "resolve@npm:1.17.0" + dependencies: + path-parse: "npm:^1.0.6" + checksum: 10c0/4e6c76cc1a7b08bff637b092ce035d7901465067915605bc5a23ac0c10fe42ec205fc209d5d5f7a5f27f37ce71d687def7f656bbb003631cd46a8374f55ec73d + languageName: node + linkType: hard + +"resolve@npm:^1.1.6": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A1.1.x#optional!builtin": + version: 1.1.7 + resolution: "resolve@patch:resolve@npm%3A1.1.7#optional!builtin::version=1.1.7&hash=3bafbf" + checksum: 10c0/f4f1471423d600a10944785222fa7250237ed8c98aa6b1e1f4dc0bb3dbfbcafcaac69a2ed23cd1f6f485ed23e7c939894ac1978284e4163754fade8a05358823 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A1.17.0#optional!builtin": + version: 1.17.0 + resolution: "resolve@patch:resolve@npm%3A1.17.0#optional!builtin::version=1.17.0&hash=c3c19d" + dependencies: + path-parse: "npm:^1.0.6" + checksum: 10c0/e072e52be3c3dbfd086761115db4a5136753e7aefc0e665e66e7307ddcd9d6b740274516055c74aee44921625e95993f03570450aa310b8d73b1c9daa056c4cd + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + checksum: 10c0/f6f0df78817e78287c766687aed4d5accbebc308a8e7e673fb085b9977473c1f139f0c5335d353f172a915bb288098430755d2ad3c4f30612f4dd0c901cd2c3a + languageName: node + linkType: hard + +"rlp@npm:^2.2.4": + version: 2.2.7 + resolution: "rlp@npm:2.2.7" + dependencies: + bn.js: "npm:^5.2.0" + bin: + rlp: bin/rlp + checksum: 10c0/166c449f4bc794d47f8e337bf0ffbcfdb26c33109030aac4b6e5a33a91fa85783f2290addeb7b3c89d6d9b90c8276e719494d193129bed0a60a2d4a6fd658277 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sc-istanbul@npm:^0.4.5": + version: 0.4.6 + resolution: "sc-istanbul@npm:0.4.6" + dependencies: + abbrev: "npm:1.0.x" + async: "npm:1.x" + escodegen: "npm:1.8.x" + esprima: "npm:2.7.x" + glob: "npm:^5.0.15" + handlebars: "npm:^4.0.1" + js-yaml: "npm:3.x" + mkdirp: "npm:0.5.x" + nopt: "npm:3.x" + once: "npm:1.x" + resolve: "npm:1.1.x" + supports-color: "npm:^3.1.0" + which: "npm:^1.1.1" + wordwrap: "npm:^1.0.0" + bin: + istanbul: lib/cli.js + checksum: 10c0/3eba8f6b7ba423fb03fdd67e72b0a71c71aa1dbd117692f3225003320dd45adf03cd32dd1739bd347aa58c690ca8f719fd8ae70cefe0fc06433fac4725668942 + languageName: node + linkType: hard + +"scrypt-js@npm:3.0.1, scrypt-js@npm:^3.0.0": + version: 3.0.1 + resolution: "scrypt-js@npm:3.0.1" + checksum: 10c0/e2941e1c8b5c84c7f3732b0153fee624f5329fc4e772a06270ee337d4d2df4174b8abb5e6ad53804a29f53890ecbc78f3775a319323568c0313040c0e55f5b10 + languageName: node + linkType: hard + +"secp256k1@npm:^4.0.1": + version: 4.0.4 + resolution: "secp256k1@npm:4.0.4" + dependencies: + elliptic: "npm:^6.5.7" + node-addon-api: "npm:^5.0.0" + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.2.0" + checksum: 10c0/cf7a74343566d4774c64332c07fc2caf983c80507f63be5c653ff2205242143d6320c50ee4d793e2b714a56540a79e65a8f0056e343b25b0cdfed878bc473fd8 + languageName: node + linkType: hard + +"semver@npm:^5.5.0": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 + languageName: node + linkType: hard + +"semver@npm:^6.3.0": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.4, semver@npm:^7.3.5": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.2": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.5": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + bin: + sha.js: ./bin.js + checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 + languageName: node + linkType: hard + +"sha1@npm:^1.1.1": + version: 1.1.1 + resolution: "sha1@npm:1.1.1" + dependencies: + charenc: "npm:>= 0.0.1" + crypt: "npm:>= 0.0.1" + checksum: 10c0/1bb36c89c112c741c265cca66712f883ae01d5c55b71aec80635fe2ad5d0c976a1a8a994dda774ae9f93b2da99fd111238758a8bf985adc400bd86f0e4452865 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shelljs@npm:^0.8.3": + version: 0.8.5 + resolution: "shelljs@npm:0.8.5" + dependencies: + glob: "npm:^7.0.0" + interpret: "npm:^1.0.0" + rechoir: "npm:^0.6.2" + bin: + shjs: bin/shjs + checksum: 10c0/feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"snarkjs@npm:^0.7.4": + version: 0.7.5 + resolution: "snarkjs@npm:0.7.5" + dependencies: + "@iden3/binfileutils": "npm:0.0.12" + bfj: "npm:^7.0.2" + blake2b-wasm: "npm:^2.4.0" + circom_runtime: "npm:0.1.28" + ejs: "npm:^3.1.6" + fastfile: "npm:0.0.20" + ffjavascript: "npm:0.3.1" + js-sha3: "npm:^0.8.0" + logplease: "npm:^1.2.15" + r1csfile: "npm:0.0.48" + bin: + snarkjs: build/cli.cjs + checksum: 10c0/bc9eb1dac9c5248a4952635edc015185c5f9f268f6d2d29b32934e0b08bc284caaeba7fbc6d712ecff8a4e17c66433ba6b2f2ab5d1a6bb4704c30110fb18e9aa + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 + languageName: node + linkType: hard + +"solc@npm:0.8.26": + version: 0.8.26 + resolution: "solc@npm:0.8.26" + dependencies: + command-exists: "npm:^1.2.8" + commander: "npm:^8.1.0" + follow-redirects: "npm:^1.12.1" + js-sha3: "npm:0.8.0" + memorystream: "npm:^0.3.1" + semver: "npm:^5.5.0" + tmp: "npm:0.0.33" + bin: + solcjs: solc.js + checksum: 10c0/1eea35da99c228d0dc1d831c29f7819e7921b67824c889a5e5f2e471a2ef5856a15fabc0b5de067f5ba994fa36fb5a563361963646fe98dad58a0e4fa17c8b2d + languageName: node + linkType: hard + +"solidity-coverage@npm:^0.8.14": + version: 0.8.14 + resolution: "solidity-coverage@npm:0.8.14" + dependencies: + "@ethersproject/abi": "npm:^5.0.9" + "@solidity-parser/parser": "npm:^0.19.0" + chalk: "npm:^2.4.2" + death: "npm:^1.1.0" + difflib: "npm:^0.2.4" + fs-extra: "npm:^8.1.0" + ghost-testrpc: "npm:^0.0.2" + global-modules: "npm:^2.0.0" + globby: "npm:^10.0.1" + jsonschema: "npm:^1.2.4" + lodash: "npm:^4.17.21" + mocha: "npm:^10.2.0" + node-emoji: "npm:^1.10.0" + pify: "npm:^4.0.1" + recursive-readdir: "npm:^2.2.2" + sc-istanbul: "npm:^0.4.5" + semver: "npm:^7.3.4" + shelljs: "npm:^0.8.3" + web3-utils: "npm:^1.3.6" + peerDependencies: + hardhat: ^2.11.0 + bin: + solidity-coverage: plugins/bin.js + checksum: 10c0/7a971d3c5bee6aff341188720a72c7544521c1afbde36593e4933ba230d46530ece1db8e6394d6283a13918fd7f05ab37a0d75e6a0a52d965a2fdff672d3a7a6 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.13": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"source-map@npm:~0.2.0": + version: 0.2.0 + resolution: "source-map@npm:0.2.0" + dependencies: + amdefine: "npm:>=0.0.4" + checksum: 10c0/24ac0df484721203e7c98faaa2a56cc73d7e8b8468a03459dd98e09b84421056c456dbfea1bf4f292142c3b88c160574f648cbc83e8fe772cf0b3342f0bba68d + languageName: node + linkType: hard + +"split2@npm:^3.0.0": + version: 3.2.2 + resolution: "split2@npm:3.2.2" + dependencies: + readable-stream: "npm:^3.0.0" + checksum: 10c0/2dad5603c52b353939befa3e2f108f6e3aff42b204ad0f5f16dd12fd7c2beab48d117184ce6f7c8854f9ee5ffec6faae70d243711dd7d143a9f635b4a285de4e + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.6 + resolution: "stack-utils@npm:2.0.6" + dependencies: + escape-string-regexp: "npm:^2.0.0" + checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a + languageName: node + linkType: hard + +"stacktrace-parser@npm:^0.1.10": + version: 0.1.11 + resolution: "stacktrace-parser@npm:0.1.11" + dependencies: + type-fest: "npm:^0.7.1" + checksum: 10c0/4633d9afe8cd2f6c7fb2cebdee3cc8de7fd5f6f9736645fd08c0f66872a303061ce9cc0ccf46f4216dc94a7941b56e331012398dc0024dc25e46b5eb5d4ff018 + languageName: node + linkType: hard + +"static-eval@npm:2.0.2": + version: 2.0.2 + resolution: "static-eval@npm:2.0.2" + dependencies: + escodegen: "npm:^1.8.1" + checksum: 10c0/9bc1114ea5ba2a6978664907c4dd3fde6f58767274f6cb4fbfb11ba3a73cb6e74dc11e89ec4a7bf1472a587c1f976fcd4ab8fe9aae1651f5e576f097745d48ff + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"string-format@npm:^2.0.0": + version: 2.0.0 + resolution: "string-format@npm:2.0.0" + checksum: 10c0/7bca13ba9f942f635c74d637da5e9e375435cbd428f35eeef28c3a30f81d4e63b95ff2c6cca907d897dd3951bbf52e03e3b945a0e9681358e33bd67222436538 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^2.1.1": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: "npm:^2.0.0" + strip-ansi: "npm:^4.0.0" + checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: "npm:^3.0.0" + checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-hex-prefix@npm:1.0.0": + version: 1.0.0 + resolution: "strip-hex-prefix@npm:1.0.0" + dependencies: + is-hex-prefixed: "npm:1.0.0" + checksum: 10c0/ec9a48c334c2ba4afff2e8efebb42c3ab5439f0e1ec2b8525e184eabef7fecade7aee444af802b1be55d2df6da5b58c55166c32f8461cc7559b401137ad51851 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"supports-color@npm:^3.1.0": + version: 3.2.3 + resolution: "supports-color@npm:3.2.3" + dependencies: + has-flag: "npm:^1.0.0" + checksum: 10c0/d39a57dbd75c3b5740654f8ec16aaf7203b8d12b8a51314507bed590c9081120805f105b4ce741db13105e6f842ac09700e4bd665b9ffc46eb0b34ba54720bd3 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"sync-request@npm:^6.0.0": + version: 6.1.0 + resolution: "sync-request@npm:6.1.0" + dependencies: + http-response-object: "npm:^3.0.1" + sync-rpc: "npm:^1.2.1" + then-request: "npm:^6.0.0" + checksum: 10c0/02b31c5d543933ce8cc2cdfa7dd7b278e2645eb54299d56f3bc9c778de3130301370f25d54ecc3f6b8b2c7bfb034daabd2b866e0c18badbde26404513212c1f5 + languageName: node + linkType: hard + +"sync-rpc@npm:^1.2.1": + version: 1.3.6 + resolution: "sync-rpc@npm:1.3.6" + dependencies: + get-port: "npm:^3.1.0" + checksum: 10c0/2abaa0e6482fe8b72e29af1f7d5f484fac5a8ea0132969bf370f59b044c4f2eb109f95b222cb06e037f89b42b374a2918e5f90aff5fb7cf3e146d8088c56f6db + languageName: node + linkType: hard + +"table-layout@npm:^1.0.2": + version: 1.0.2 + resolution: "table-layout@npm:1.0.2" + dependencies: + array-back: "npm:^4.0.1" + deep-extend: "npm:~0.6.0" + typical: "npm:^5.2.0" + wordwrapjs: "npm:^4.0.0" + checksum: 10c0/c1d16d5ba2199571606ff574a5c91cff77f14e8477746e191e7dfd294da03e61af4e8004f1f6f783da9582e1365f38d3c469980428998750d558bf29462cc6c3 + languageName: node + linkType: hard + +"table@npm:^6.8.0": + version: 6.9.0 + resolution: "table@npm:6.9.0" + dependencies: + ajv: "npm:^8.0.1" + lodash.truncate: "npm:^4.4.2" + slice-ansi: "npm:^4.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"tcomb-validation@npm:^3.3.0": + version: 3.4.1 + resolution: "tcomb-validation@npm:3.4.1" + dependencies: + tcomb: "npm:^3.0.0" + checksum: 10c0/6baca3a32f7fb1680f271df1d12d7c3e597244978842ee9fda4cd594a7b257df4f5875de22f0f77192ad743eab6dcfe375f4e8e2370ae41dcaf3eaecb61b9ecd + languageName: node + linkType: hard + +"tcomb@npm:^3.0.0, tcomb@npm:^3.2.17": + version: 3.2.29 + resolution: "tcomb@npm:3.2.29" + checksum: 10c0/f109144df5164e17e6571ba9863b8c111b291ba73418ca43b29c12adae3f18760f75ae1ffe37b471c4da1be8c43cc64630ad92fafa0b321e5e7d4571afdf5cdb + languageName: node + linkType: hard + +"then-request@npm:^6.0.0": + version: 6.0.2 + resolution: "then-request@npm:6.0.2" + dependencies: + "@types/concat-stream": "npm:^1.6.0" + "@types/form-data": "npm:0.0.33" + "@types/node": "npm:^8.0.0" + "@types/qs": "npm:^6.2.31" + caseless: "npm:~0.12.0" + concat-stream: "npm:^1.6.0" + form-data: "npm:^2.2.0" + http-basic: "npm:^8.1.1" + http-response-object: "npm:^3.0.1" + promise: "npm:^8.0.0" + qs: "npm:^6.4.0" + checksum: 10c0/9d2998c3470d6aa5b49993612be40627c57a89534cff5bbcc1d57f18457c14675cf3f59310816a1f85fdd40fa66feb64c63c5b76fb2163221f57223609c47949 + languageName: node + linkType: hard + +"through2@npm:^4.0.0": + version: 4.0.2 + resolution: "through2@npm:4.0.2" + dependencies: + readable-stream: "npm:3" + checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.6": + version: 0.2.12 + resolution: "tinyglobby@npm:0.2.12" + dependencies: + fdir: "npm:^6.4.3" + picomatch: "npm:^4.0.2" + checksum: 10c0/7c9be4fd3625630e262dcb19015302aad3b4ba7fc620f269313e688f2161ea8724d6cb4444baab5ef2826eb6bed72647b169a33ec8eea37501832a2526ff540f + languageName: node + linkType: hard + +"tmp@npm:0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: "npm:~1.0.2" + checksum: 10c0/69863947b8c29cabad43fe0ce65cec5bb4b481d15d4b4b21e036b060b3edbf3bc7a5541de1bacb437bb3f7c4538f669752627fdf9b4aaf034cebd172ba373408 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + +"tryer@npm:^1.0.1": + version: 1.0.1 + resolution: "tryer@npm:1.0.1" + checksum: 10c0/19070409a0009dc26127636cc14d2415e9cf8b1dc07b29694e57ea8bb5ea1bded012c0e792f6235b46e31189a7b866841668b3850867ff7eac1a6b55332c960d + languageName: node + linkType: hard + +"ts-command-line-args@npm:^2.2.0": + version: 2.5.1 + resolution: "ts-command-line-args@npm:2.5.1" + dependencies: + chalk: "npm:^4.1.0" + command-line-args: "npm:^5.1.1" + command-line-usage: "npm:^6.1.0" + string-format: "npm:^2.0.0" + bin: + write-markdown: dist/write-markdown.js + checksum: 10c0/affb43fd4e17b496b6fd195888c7a80e6d7fe54f121501926bb2376f2167c238f7fa8f2e2d98bf2498ff883240d9f914e3558701807f40dca882616a8fd763b1 + languageName: node + linkType: hard + +"ts-essentials@npm:^7.0.1": + version: 7.0.3 + resolution: "ts-essentials@npm:7.0.3" + peerDependencies: + typescript: ">=3.7.0" + checksum: 10c0/ea1919534ec6ce4ca4d9cb0ff1ab8e053509237da8d4298762ab3bfba4e78ca5649a599ce78a5c7c2624f3a7a971f62b265b7b0c3c881336e4fa6acaf6f37544 + languageName: node + linkType: hard + +"ts-node@npm:^10.9.1": + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" + dependencies: + "@cspotcode/source-map-support": "npm:^0.8.0" + "@tsconfig/node10": "npm:^1.0.7" + "@tsconfig/node12": "npm:^1.0.7" + "@tsconfig/node14": "npm:^1.0.0" + "@tsconfig/node16": "npm:^1.0.2" + acorn: "npm:^8.4.1" + acorn-walk: "npm:^8.1.1" + arg: "npm:^4.1.0" + create-require: "npm:^1.1.0" + diff: "npm:^4.0.1" + make-error: "npm:^1.1.1" + v8-compile-cache-lib: "npm:^3.0.1" + yn: "npm:3.1.1" + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 + languageName: node + linkType: hard + +"tslib@npm:2.7.0": + version: 2.7.0 + resolution: "tslib@npm:2.7.0" + checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 + languageName: node + linkType: hard + +"tslib@npm:^1.9.3": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 + languageName: node + linkType: hard + +"tsort@npm:0.0.1": + version: 0.0.1 + resolution: "tsort@npm:0.0.1" + checksum: 10c0/ea3d034ab341dd9282c972710496e98539408d77f1cd476ad0551a9731f40586b65ab917b39745f902bf32037a3161eee3821405f6ab15bcd2ce4cc0a52d1da6 + languageName: node + linkType: hard + +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: "npm:~1.1.2" + checksum: 10c0/776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 + languageName: node + linkType: hard + +"type-detect@npm:^4.0.0, type-detect@npm:^4.1.0": + version: 4.1.0 + resolution: "type-detect@npm:4.1.0" + checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-fest@npm:^0.7.1": + version: 0.7.1 + resolution: "type-fest@npm:0.7.1" + checksum: 10c0/ce6b5ef806a76bf08d0daa78d65e61f24d9a0380bd1f1df36ffb61f84d14a0985c3a921923cf4b97831278cb6fa9bf1b89c751df09407e0510b14e8c081e4e0f + languageName: node + linkType: hard + +"typechain@npm:^8.3.2": + version: 8.3.2 + resolution: "typechain@npm:8.3.2" + dependencies: + "@types/prettier": "npm:^2.1.1" + debug: "npm:^4.3.1" + fs-extra: "npm:^7.0.0" + glob: "npm:7.1.7" + js-sha3: "npm:^0.8.0" + lodash: "npm:^4.17.15" + mkdirp: "npm:^1.0.4" + prettier: "npm:^2.3.1" + ts-command-line-args: "npm:^2.2.0" + ts-essentials: "npm:^7.0.1" + peerDependencies: + typescript: ">=4.3.0" + bin: + typechain: dist/cli/cli.js + checksum: 10c0/1ea660cc7c699c6ac68da67b76454eb4e9395c54666d924ca67f983ae8eb5b5e7dab0a576beb55dbfad75ea784a3f68cb1ca019d332293b7291731c156ead5b5 + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 + languageName: node + linkType: hard + +"typescript@npm:^5.1.6": + version: 5.8.3 + resolution: "typescript@npm:5.8.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.1.6#optional!builtin": + version: 5.8.3 + resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=8c6c40" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/92ea03509e06598948559ddcdd8a4ae5a7ab475766d5589f1b796f5731b3d631a4c7ddfb86a3bd44d58d10102b132cd4b4994dda9b63e6273c66d77d6a271dbd + languageName: node + linkType: hard + +"typical@npm:^4.0.0": + version: 4.0.0 + resolution: "typical@npm:4.0.0" + checksum: 10c0/f300b198fb9fe743859b75ec761d53c382723dc178bbce4957d9cb754f2878a44ce17dc0b6a5156c52be1065449271f63754ba594dac225b80ce3aa39f9241ed + languageName: node + linkType: hard + +"typical@npm:^5.2.0": + version: 5.2.0 + resolution: "typical@npm:5.2.0" + checksum: 10c0/1cceaa20d4b77a02ab8eccfe4a20500729431aecc1e1b7dc70c0e726e7966efdca3bf0b4bee285555b751647e37818fd99154ea73f74b5c29adc95d3c13f5973 + languageName: node + linkType: hard + +"uglify-js@npm:^3.1.4": + version: 3.19.3 + resolution: "uglify-js@npm:3.19.3" + bin: + uglifyjs: bin/uglifyjs + checksum: 10c0/83b0a90eca35f778e07cad9622b80c448b6aad457c9ff8e568afed978212b42930a95f9e1be943a1ffa4258a3340fbb899f41461131c05bb1d0a9c303aed8479 + languageName: node + linkType: hard + +"underscore@npm:1.12.1": + version: 1.12.1 + resolution: "underscore@npm:1.12.1" + checksum: 10c0/00f392357e363353ac485e7c156b749505087e31ff4fdad22e04ebd2f94a56fbc554cd41a6722e3895a818466cf298b1cae93ff6211d102d373a9b50db63bfd0 + languageName: node + linkType: hard + +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + +"undici@npm:^5.14.0": + version: 5.29.0 + resolution: "undici@npm:5.29.0" + dependencies: + "@fastify/busboy": "npm:^2.0.0" + checksum: 10c0/e4e4d631ca54ee0ad82d2e90e7798fa00a106e27e6c880687e445cc2f13b4bc87c5eba2a88c266c3eecffb18f26e227b778412da74a23acc374fca7caccec49b + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"universalify@npm:^0.1.0": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"unpipe@npm:1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"utf8@npm:3.0.0": + version: 3.0.0 + resolution: "utf8@npm:3.0.0" + checksum: 10c0/675d008bab65fc463ce718d5cae8fd4c063540f269e4f25afebce643098439d53e7164bb1f193e0c3852825c7e3e32fbd8641163d19a618dbb53f1f09acb0d5a + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + +"v8-compile-cache-lib@npm:^3.0.1": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 + languageName: node + linkType: hard + +"validator@npm:^13.6.0": + version: 13.15.0 + resolution: "validator@npm:13.15.0" + checksum: 10c0/0f13fd7031ac575e8d7828431da8ef5859bac6a38ee65e1d7fdd367dbf1c3d94d95182aecc3183f7fa7a30ff4474bf864d1aff54707620227a2cdbfd36d894c2 + languageName: node + linkType: hard + +"wasmbuilder@npm:0.0.16": + version: 0.0.16 + resolution: "wasmbuilder@npm:0.0.16" + checksum: 10c0/9e7e25c0b281fb83b272ba628b2f94c3e5ac7a3a488149be3548c52fa7c4502a76339bf2eb6a92e8f23b46da429dda69fe15e794b55c05ba769fe60ff74c73f3 + languageName: node + linkType: hard + +"wasmcurves@npm:0.2.2": + version: 0.2.2 + resolution: "wasmcurves@npm:0.2.2" + dependencies: + wasmbuilder: "npm:0.0.16" + checksum: 10c0/9ee35e3a333f04f5c1233ad3a59401f20cc1074a4c219a0545337e5ca78a962da4e04155f28edd205b0d52fbcd121d2b0bac4489b011affd0c68dfb7ae37cdab + languageName: node + linkType: hard + +"web-worker@npm:1.2.0": + version: 1.2.0 + resolution: "web-worker@npm:1.2.0" + checksum: 10c0/2bec036cd4784148e2f135207c62facf4457a0f2b205d6728013b9f0d7c62404dced95fcd849478387e10c8ae636d665600bd0d99d80b18c3bb2a7f045aa20d8 + languageName: node + linkType: hard + +"web3-utils@npm:^1.3.6": + version: 1.10.4 + resolution: "web3-utils@npm:1.10.4" + dependencies: + "@ethereumjs/util": "npm:^8.1.0" + bn.js: "npm:^5.2.1" + ethereum-bloom-filters: "npm:^1.0.6" + ethereum-cryptography: "npm:^2.1.2" + ethjs-unit: "npm:0.1.6" + number-to-bn: "npm:1.7.0" + randombytes: "npm:^2.1.0" + utf8: "npm:3.0.0" + checksum: 10c0/fbd5c8ec71e944e9e66e3436dbd4446927c3edc95f81928723f9ac137e0d821c5cbb92dba0ed5bbac766f919f919c9d8e316e459c51d876d5188321642676677 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + +"which@npm:^1.1.1, which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"widest-line@npm:^3.1.0": + version: 3.1.0 + resolution: "widest-line@npm:3.1.0" + dependencies: + string-width: "npm:^4.0.0" + checksum: 10c0/b1e623adcfb9df35350dd7fc61295d6d4a1eaa65a406ba39c4b8360045b614af95ad10e05abf704936ed022569be438c4bfa02d6d031863c4166a238c301119f + languageName: node + linkType: hard + +"word-wrap@npm:~1.2.3": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"wordwrap@npm:^1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 + languageName: node + linkType: hard + +"wordwrapjs@npm:^4.0.0": + version: 4.0.1 + resolution: "wordwrapjs@npm:4.0.1" + dependencies: + reduce-flatten: "npm:^2.0.0" + typical: "npm:^5.2.0" + checksum: 10c0/4cc43eb0f6adb7214d427e68918357a9df483815efbb4c59beb30972714b1804ede2a551b1dfd2234c0bd413c6f07d6daa6522d1c53f43f89a376d815fbf3c43 + languageName: node + linkType: hard + +"workerpool@npm:^6.5.1": + version: 6.5.1 + resolution: "workerpool@npm:6.5.1" + checksum: 10c0/58e8e969782292cb3a7bfba823f1179a7615250a0cefb4841d5166234db1880a3d0fe83a31dd8d648329ec92c2d0cd1890ad9ec9e53674bb36ca43e9753cdeac + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"ws@npm:8.17.1": + version: 8.17.1 + resolution: "ws@npm:8.17.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe + languageName: node + linkType: hard + +"ws@npm:8.18.0": + version: 8.18.0 + resolution: "ws@npm:8.18.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + languageName: node + linkType: hard + +"ws@npm:^7.4.6": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs-unparser@npm:^2.0.0": + version: 2.0.0 + resolution: "yargs-unparser@npm:2.0.0" + dependencies: + camelcase: "npm:^6.0.0" + decamelize: "npm:^4.0.0" + flat: "npm:^5.0.2" + is-plain-obj: "npm:^2.1.0" + checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 + languageName: node + linkType: hard + +"yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.0" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 + languageName: node + linkType: hard + +"yargs@npm:^17.2.1": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard From 7ff89d5b16978ef63e08bfd4a5c0ed4c87189553 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com> Date: Fri, 16 May 2025 12:05:18 -0400 Subject: [PATCH 32/49] Fix deeplink 2 (#560) * fix deeplink * fix deeplink * yarn nice --- app/src/screens/prove/ProveScreen.tsx | 14 ++++++-------- app/src/utils/deeplinks.ts | 5 ++--- app/src/utils/proving/provingMachine.ts | 4 +--- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/app/src/screens/prove/ProveScreen.tsx b/app/src/screens/prove/ProveScreen.tsx index 0061b39e1..545abd6bd 100644 --- a/app/src/screens/prove/ProveScreen.tsx +++ b/app/src/screens/prove/ProveScreen.tsx @@ -37,7 +37,7 @@ const ProveScreen: React.FC = () => { const { navigate } = useNavigation(); const isFocused = useIsFocused(); const selectedApp = useSelfAppStore(state => state.selfApp); - const selectedAppRef = useRef(selectedApp); + const selectedAppRef = useRef(null); const [hasScrolledToBottom, setHasScrolledToBottom] = useState(false); const [scrollViewContentHeight, setScrollViewContentHeight] = useState(0); @@ -84,16 +84,14 @@ const ProveScreen: React.FC = () => { }, [isContentShorterThanScrollView]); useEffect(() => { - if ( - !isFocused || - !selectedApp || - selectedAppRef.current?.sessionId === selectedApp.sessionId - ) { + if (!isFocused || !selectedApp) { return; // Avoid unnecessary updates or processing when not focused } + if (selectedAppRef.current?.sessionId !== selectedApp.sessionId) { + console.log('[ProveScreen] Selected app updated:', selectedApp); + provingStore.init('disclose'); + } selectedAppRef.current = selectedApp; - console.log('[ProveScreen] Selected app updated:', selectedApp); - provingStore.init('disclose'); }, [selectedApp, isFocused]); const disclosureOptions = useMemo(() => { diff --git a/app/src/utils/deeplinks.ts b/app/src/utils/deeplinks.ts index be7e20af1..39e92fb11 100644 --- a/app/src/utils/deeplinks.ts +++ b/app/src/utils/deeplinks.ts @@ -30,6 +30,7 @@ const handleUrl = (uri: string) => { try { const selfAppJson = JSON.parse(selfAppStr); useSelfAppStore.getState().setSelfApp(selfAppJson); + useSelfAppStore.getState().startAppListener(selfAppJson.sessionId); navigationRef.navigate('ProveScreen'); return; @@ -37,9 +38,7 @@ const handleUrl = (uri: string) => { console.error('Error parsing selfApp:', error); navigationRef.navigate('QRCodeTrouble'); } - } - - if (sessionId && typeof sessionId === 'string') { + } else if (sessionId && typeof sessionId === 'string') { useSelfAppStore.getState().cleanSelfApp(); useSelfAppStore.getState().startAppListener(sessionId); navigationRef.navigate('ProveScreen'); diff --git a/app/src/utils/proving/provingMachine.ts b/app/src/utils/proving/provingMachine.ts index a487ada3b..d32ee1c7a 100644 --- a/app/src/utils/proving/provingMachine.ts +++ b/app/src/utils/proving/provingMachine.ts @@ -343,9 +343,7 @@ export const useProvingStore = create((set, get) => { typeof message === 'string' ? JSON.parse(message) : message; console.log('Received status update with status:', data.status); if (data.status === 3 || data.status === 5) { - console.error( - 'Proof generation/verification failed (status 3 or 5).', - ); + console.log('Proof generation/verification failed (status 3 or 5).'); set({ error_code: data.error_code, reason: data.reason }); actor!.send({ type: 'PROVE_FAILURE' }); socket?.disconnect(); From 9ed51fd722341594d3bf391ecc74f525aa941235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Seshanth=2ES=F0=9F=90=BA?= <35675963+seshanthS@users.noreply.github.com> Date: Fri, 16 May 2025 21:58:36 +0530 Subject: [PATCH 33/49] feat: Use vision for MRZ scanning (SEL-47) (#557) * feat: Use vision for MRZ scanning * modify label to position the smartphone during the OCR scan --------- Co-authored-by: turnoffthiscomputer --- app/ios/CameraView.swift | 83 +++++++++++++++++ app/ios/LiveMRZScannerView.swift | 123 +++++++++++++++++++++++++ app/ios/MRZScanner.swift | 51 ++++++++++ app/ios/PassportOCRViewManager.swift | 26 +++--- app/ios/Self.xcodeproj/project.pbxproj | 12 +++ 5 files changed, 280 insertions(+), 15 deletions(-) create mode 100644 app/ios/CameraView.swift create mode 100644 app/ios/LiveMRZScannerView.swift create mode 100644 app/ios/MRZScanner.swift diff --git a/app/ios/CameraView.swift b/app/ios/CameraView.swift new file mode 100644 index 000000000..96052de22 --- /dev/null +++ b/app/ios/CameraView.swift @@ -0,0 +1,83 @@ +// CameraView.swift +// SwiftUI camera preview with frame capture callback + +import SwiftUI +import AVFoundation + +struct CameraView: UIViewControllerRepresentable { + var frameHandler: (UIImage) -> Void + var captureInterval: TimeInterval = 0.5 // seconds + + func makeUIViewController(context: Context) -> CameraViewController { + let controller = CameraViewController() + controller.frameHandler = frameHandler + controller.captureInterval = captureInterval + return controller + } + + func updateUIViewController(_ uiViewController: CameraViewController, context: Context) {} +} + +class CameraViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDelegate { + var frameHandler: ((UIImage) -> Void)? + var captureInterval: TimeInterval = 0.5 + private let session = AVCaptureSession() + private let videoOutput = AVCaptureVideoDataOutput() + private var lastCaptureTime = Date(timeIntervalSince1970: 0) + private var previewLayer: AVCaptureVideoPreviewLayer? + + override func viewDidLoad() { + super.viewDidLoad() + setupCamera() + } + + private func setupCamera() { + session.beginConfiguration() + guard let device = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back), + let input = try? AVCaptureDeviceInput(device: device) else { return } + if session.canAddInput(input) { session.addInput(input) } + videoOutput.setSampleBufferDelegate(self, queue: DispatchQueue(label: "camera.frame.queue")) + if session.canAddOutput(videoOutput) { session.addOutput(videoOutput) } + session.commitConfiguration() + previewLayer = AVCaptureVideoPreviewLayer(session: session) + previewLayer?.videoGravity = .resizeAspectFill + previewLayer?.frame = view.bounds + if let previewLayer = previewLayer { + view.layer.addSublayer(previewLayer) + } + session.startRunning() + } + + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + previewLayer?.frame = view.bounds + } + + func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) { + let now = Date() + guard now.timeIntervalSince(lastCaptureTime) >= captureInterval else { return } + lastCaptureTime = now + guard let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return } + let ciImage = CIImage(cvPixelBuffer: imageBuffer) + let context = CIContext() + if let cgImage = context.createCGImage(ciImage, from: ciImage.extent) { + let originalImage = UIImage(cgImage: cgImage, scale: UIScreen.main.scale, orientation: .right) + // Rotate to .up orientation + let uprightImage = originalImage.fixedOrientation() + DispatchQueue.main.async { [weak self] in + self?.frameHandler?(uprightImage) + } + } + } +} + +extension UIImage { + func fixedOrientation() -> UIImage { + if imageOrientation == .up { return self } + UIGraphicsBeginImageContextWithOptions(size, false, scale) + draw(in: CGRect(origin: .zero, size: size)) + let normalizedImage = UIGraphicsGetImageFromCurrentImageContext() ?? self + UIGraphicsEndImageContext() + return normalizedImage + } +} \ No newline at end of file diff --git a/app/ios/LiveMRZScannerView.swift b/app/ios/LiveMRZScannerView.swift new file mode 100644 index 000000000..034cf4044 --- /dev/null +++ b/app/ios/LiveMRZScannerView.swift @@ -0,0 +1,123 @@ +// LiveMRZScannerView.swift + +import SwiftUI +import QKMRZParser + +struct LiveMRZScannerView: View { + @State private var recognizedText: String = "" + @State private var lastMRZDetection: Date = Date() + @State private var parsedMRZ: QKMRZResult? = nil + @State private var scanComplete: Bool = false + var onScanComplete: ((QKMRZResult) -> Void)? = nil + var onScanResultAsDict: (([String: Any]) -> Void)? = nil + + func singleCorrectDocumentNumberInMRZ(result: String, docNumber: String, parser: QKMRZParser) -> QKMRZResult? { + let replacements: [Character: [Character]] = [ + "0": ["O"], "O": ["0"], + "1": ["I"], "I": ["1"], + "2": ["Z"], "Z": ["2"], + "8": ["B"], "B": ["8"] + ] + let lines = result.components(separatedBy: "\n") + guard lines.count >= 2 else { return nil } + for (i, char) in docNumber.enumerated() { + if let subs = replacements[char] { + for sub in subs { + var chars = Array(docNumber) + chars[i] = sub + let candidate = String(chars) + if let range = lines[1].range(of: docNumber) { + var newLine = lines[1] + let start = newLine.distance(from: newLine.startIndex, to: range.lowerBound) + var lineChars = Array(newLine) + let docNumChars = Array(candidate) + for j in 0.. [String: Any] { + return [ + "documentType": result.documentType, + "countryCode": result.countryCode, + "surnames": result.surnames, + "givenNames": result.givenNames, + "documentNumber": result.documentNumber, + "nationalityCountryCode": result.nationalityCountryCode, + "dateOfBirth": result.birthdate?.description ?? "", + "sex": result.sex ?? "", + "expiryDate": result.expiryDate?.description ?? "", + "personalNumber": result.personalNumber, + "personalNumber2": result.personalNumber2 ?? "", + "isDocumentNumberValid": result.isDocumentNumberValid, + "isBirthdateValid": result.isBirthdateValid, + "isExpiryDateValid": result.isExpiryDateValid, + "isPersonalNumberValid": result.isPersonalNumberValid ?? false, + "allCheckDigitsValid": result.allCheckDigitsValid + ] + } + + var body: some View { + ZStack(alignment: .bottom) { + CameraView { image in + // print("[LiveMRZScannerView] CameraView frame received. Size: \(image.size), Orientation: \(image.imageOrientation.rawValue)") + if scanComplete { return } + MRZScanner.scan(image: image) { result, boxes in + recognizedText = result + lastMRZDetection = Date() + let parser = QKMRZParser(ocrCorrection: false) + if let mrzResult = parser.parse(mrzString: result) { + let doc = mrzResult; + if doc.allCheckDigitsValid == true && !scanComplete { + parsedMRZ = mrzResult + scanComplete = true + onScanComplete?(mrzResult) + onScanResultAsDict?(mapVisionResultToDictionary(mrzResult)) + } else if doc.isDocumentNumberValid == false && !scanComplete { + if let correctedResult = singleCorrectDocumentNumberInMRZ(result: result, docNumber: doc.documentNumber, parser: parser) { + let correctedDoc = correctedResult + if correctedDoc.allCheckDigitsValid == true { + parsedMRZ = correctedResult + scanComplete = true + onScanComplete?(correctedResult) + onScanResultAsDict?(mapVisionResultToDictionary(correctedResult)) + } + } + } + } else { + if !scanComplete { + parsedMRZ = nil + } + } + } + } + + VStack { + if !scanComplete { + Text("Position the camera 30-40cm away from the passport for best results") + .font(.footnote) + .padding() + .background(Color.black.opacity(0.7)) + .foregroundColor(.white) + .cornerRadius(8) + .padding(.bottom, 40) + } + } + } + } +} diff --git a/app/ios/MRZScanner.swift b/app/ios/MRZScanner.swift new file mode 100644 index 000000000..f493ff99a --- /dev/null +++ b/app/ios/MRZScanner.swift @@ -0,0 +1,51 @@ +// +// MRZScanner.swift + +import Vision +import UIKit + +struct MRZScanner { + static func scan(image: UIImage, completion: @escaping (String, [CGRect]) -> Void) { + guard let cgImage = image.cgImage else { + completion("Image not valid", []) + return + } + + let request = VNRecognizeTextRequest { (request, error) in + guard let observations = request.results as? [VNRecognizedTextObservation] else { + completion("No text found", []) + return + } + + var mrzLines: [String] = [] + var boxes: [CGRect] = [] + for obs in observations { + // if let text = obs.topCandidates(1).first?.string, text.contains("<") { + // mrzLines.append(text) + if let candidate = obs.topCandidates(1).first, candidate.string.contains("<") { + mrzLines.append(candidate.string) + boxes.append(obs.boundingBox) // Normalized coordinates + // Log confidence for each character +// for (i, char) in candidate.string.enumerated() { +// if let box = try? candidate.boundingBox(for: candidate.string.index(candidate.string.startIndex, offsetBy: i)..? + private var hostingController: UIHostingController? override init(frame: CGRect) { super.init(frame: frame) @@ -33,22 +31,20 @@ class PassportOCRView: UIView { } private func initializeScanner() { - var scannerView = QKMRZScannerViewRepresentable() - scannerView.onScanResult = { [weak self] scanResult in - let resultDict: [String: Any] = [ - "documentNumber": scanResult.documentNumber, - "expiryDate": scanResult.expiryDate?.description ?? "", - "birthDate": scanResult.birthdate?.description ?? "", - ] - self?.onPassportRead?(["data": resultDict]) - } - + let scannerView = LiveMRZScannerView( + onScanResultAsDict: { [weak self] resultDict in + self?.onPassportRead?([ + "data": [ + "documentNumber": resultDict["documentNumber"] as? String ?? "", + "expiryDate": resultDict["expiryDate"] as? String ?? "", + "birthDate": resultDict["dateOfBirth"] as? String ?? "" + ]]) + } + ) let hostingController = UIHostingController(rootView: scannerView) hostingController.view.backgroundColor = .clear hostingController.view.translatesAutoresizingMaskIntoConstraints = false addSubview(hostingController.view) - - self.scannerView = scannerView self.hostingController = hostingController } diff --git a/app/ios/Self.xcodeproj/project.pbxproj b/app/ios/Self.xcodeproj/project.pbxproj index 9d6a0318b..71323e0b1 100644 --- a/app/ios/Self.xcodeproj/project.pbxproj +++ b/app/ios/Self.xcodeproj/project.pbxproj @@ -38,6 +38,9 @@ A109328F471241A5A931D524 /* Inter-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = 070CF9E82E3E45DAB6BBA375 /* Inter-Light.otf */; }; AE6147EC2DC95A8D00445C0F /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */; }; B0885FC3EE2A41A1AA97EEC0 /* Inter-LightItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = F4AE10DA498844DF8BF01948 /* Inter-LightItalic.otf */; }; + BF1044812DD53540009B3688 /* LiveMRZScannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044802DD53540009B3688 /* LiveMRZScannerView.swift */; }; + BF1044832DD5354F009B3688 /* CameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044822DD5354F009B3688 /* CameraView.swift */; }; + BF1044852DD53570009B3688 /* MRZScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044842DD53570009B3688 /* MRZScanner.swift */; }; C9F1B4F4F38F49EF8723594E /* Inter-MediumItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 06064B357139453EB2788C18 /* Inter-MediumItalic.otf */; }; CB116B311D63491FA54CCEE1 /* Inter-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = DD642F4F3A114B43A22296D7 /* Inter-Thin.otf */; }; CC02892C62AE4BB5B7F769EA /* Inter-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = 15C30A8C4A6C42558DC9D78B /* Inter-Medium.otf */; }; @@ -115,6 +118,9 @@ 9BF744D9A73A4BAC96EC569A /* DINOT-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "DINOT-Medium.otf"; path = "../src/assets/fonts/DINOT-Medium.otf"; sourceTree = ""; }; AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "GoogleService-Info.plist"; sourceTree = ""; }; B4E7218406B64A95BCE0DFE4 /* slkscrb.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = slkscrb.ttf; path = "../node_modules/@tamagui/font-silkscreen/files/slkscrb.ttf"; sourceTree = ""; }; + BF1044802DD53540009B3688 /* LiveMRZScannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveMRZScannerView.swift; sourceTree = ""; }; + BF1044822DD5354F009B3688 /* CameraView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraView.swift; sourceTree = ""; }; + BF1044842DD53570009B3688 /* MRZScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MRZScanner.swift; sourceTree = ""; }; C56F122245594D6DA9B7570A /* slkscr.woff */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = slkscr.woff; path = "../node_modules/@tamagui/font-silkscreen/files/slkscr.woff"; sourceTree = ""; }; CA67A75B161A05334E3E9402 /* Pods-OpenPassport.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenPassport.debug.xcconfig"; path = "Target Support Files/Pods-OpenPassport/Pods-OpenPassport.debug.xcconfig"; sourceTree = ""; }; CBF96649C103ADB7297A6A7F /* Pods_Self.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Self.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -146,6 +152,9 @@ 13B07FAE1A68108700A75B9A /* OpenPassport */ = { isa = PBXGroup; children = ( + BF1044842DD53570009B3688 /* MRZScanner.swift */, + BF1044822DD5354F009B3688 /* CameraView.swift */, + BF1044802DD53540009B3688 /* LiveMRZScannerView.swift */, AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */, E9F9A99A2D57FE2900E1362E /* PassportOCRViewManager.m */, E9F9A99B2D57FE2900E1362E /* PassportOCRViewManager.swift */, @@ -470,10 +479,12 @@ 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, 1686F0DE2C500F4F00841CDE /* QRScannerViewController.swift in Sources */, 1686F0E02C500FBD00841CDE /* QRScannerBridge.m in Sources */, + BF1044832DD5354F009B3688 /* CameraView.swift in Sources */, 1686F0DC2C500F3800841CDE /* QRScannerBridge.swift in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, 905B70072A72774000AFA232 /* PassportReader.m in Sources */, 16E6646E2B8D292500FDD6A0 /* QKMRZScannerViewRepresentable.swift in Sources */, + BF1044852DD53570009B3688 /* MRZScanner.swift in Sources */, 165E76BF2B8DC53A0000FA90 /* MRZScannerModule.m in Sources */, 905B70052A72767900AFA232 /* PassportReader.swift in Sources */, 165E76C32B8DC8370000FA90 /* ScannerHostingController.swift in Sources */, @@ -482,6 +493,7 @@ 1648EB782CC9564D003BEA7D /* LottieView.swift in Sources */, 164FD9672D569A640067E63B /* QRCodeScannerViewManager.swift in Sources */, 165E76BD2B8DC4A00000FA90 /* MRZScannerModule.swift in Sources */, + BF1044812DD53540009B3688 /* LiveMRZScannerView.swift in Sources */, 164FD9692D569C1F0067E63B /* QRCodeScannerViewManager.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; From 3f3db3c8dad6e6fd33fc501f2c4ef1bd391ef139 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Fri, 16 May 2025 11:45:56 -0500 Subject: [PATCH 34/49] SEL-255: improved loading screen with estimated wait times (#550) * create new loading screen and rename static to misc * fix route * save wip loading screen * save wip animation * save static wip design * continue * splash * add a loading screen text helper * add test for loading screen text * save wip. almost there * update haptic logic * better feedback and add dev scren * save current work * update text logic and tests * load passport metadata in loading screen * simplify and fix tests * test for additional exponents * add new animation * rename file * consolidate ui useEffect and fix loading screen layout * fix current state * remove mockPassportFlow param * merge new loading screen and new notification logic * simplify * update lock * use passportMetadata instead of metadata * save simplification * update loading text based on pr feedback and tests --- app/ios/Podfile.lock | 2 +- app/src/assets/animations/loading/prove.json | 1 + app/src/hooks/useModal.ts | 2 +- app/src/images/icons/close-warning.svg | 3 + app/src/navigation/index.tsx | 4 +- app/src/navigation/{static.tsx => misc.tsx} | 18 +- app/src/navigation/prove.ts | 8 - app/src/screens/dev/DevHapticFeedback.tsx | 21 +- app/src/screens/dev/MockDataScreen.tsx | 4 +- .../screens/dev/MockDataScreenDeepLink.tsx | 4 +- .../screens/{static => misc}/LaunchScreen.tsx | 0 app/src/screens/misc/LoadingScreen.tsx | 302 ++++++++++++++++++ .../screens/{static => misc}/ModalScreen.tsx | 0 .../screens/{static => misc}/SplashScreen.tsx | 0 .../screens/prove/ConfirmBelongingScreen.tsx | 16 +- app/src/screens/static/LoadingScreen.tsx | 110 ------- app/src/utils/colors.ts | 2 + app/src/utils/haptic.ts | 129 ++++++-- app/src/utils/proving/provingMachine.ts | 28 +- .../utils/proving/stateLoadingScreenText.ts | 145 +++++++++ .../proving/stateLoadingScreenText.test.ts | 244 ++++++++++++++ 21 files changed, 860 insertions(+), 183 deletions(-) create mode 100644 app/src/assets/animations/loading/prove.json create mode 100644 app/src/images/icons/close-warning.svg rename app/src/navigation/{static.tsx => misc.tsx} (61%) rename app/src/screens/{static => misc}/LaunchScreen.tsx (100%) create mode 100644 app/src/screens/misc/LoadingScreen.tsx rename app/src/screens/{static => misc}/ModalScreen.tsx (100%) rename app/src/screens/{static => misc}/SplashScreen.tsx (100%) delete mode 100644 app/src/screens/static/LoadingScreen.tsx create mode 100644 app/src/utils/proving/stateLoadingScreenText.ts create mode 100644 app/tests/utils/proving/stateLoadingScreenText.test.ts diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 15470aee9..51b568942 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -2137,7 +2137,7 @@ SPEC CHECKSUMS: PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 QKMRZParser: 6b419b6f07d6bff6b50429b97de10846dc902c29 QKMRZScanner: cf2348fd6ce441e758328da4adf231ef2b51d769 - RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 + RCT-Folly: 34124ae2e667a0e5f0ea378db071d27548124321 RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1 RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205 diff --git a/app/src/assets/animations/loading/prove.json b/app/src/assets/animations/loading/prove.json new file mode 100644 index 000000000..fea316188 --- /dev/null +++ b/app/src/assets/animations/loading/prove.json @@ -0,0 +1 @@ +{"assets":[{"id":"32","layers":[{"ind":31,"ty":4,"parent":30,"ks":{},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[49.5,48]},"r":{"a":0,"k":0},"s":{"a":0,"k":[99,96]}},{"ty":"fl","c":{"a":0,"k":[0,0,0]},"o":{"a":0,"k":100}}]},{"ind":30,"ty":3,"ks":{},"ip":0,"op":193,"st":0}]},{"id":"36","layers":[{"ind":34,"ty":0,"parent":29,"ks":{},"w":99,"h":96,"ip":0,"op":193,"st":0,"refId":"32"},{"ind":35,"ty":4,"parent":29,"ks":{"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":96.66,"s":[0],"h":1},{"t":96.66,"s":[100],"h":1},{"t":192,"s":[100],"h":1}]}},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[54.45,52.8]},"r":{"a":0,"k":0},"s":{"a":0,"k":[128.9,125.6]}},{"ty":"fl","c":{"a":0,"k":[0,0,0]},"o":{"a":0,"k":100}}]},{"ind":29,"ty":3,"ks":{"p":{"a":0,"k":[10,10]}},"ip":0,"op":193,"st":0}]},{"id":"19","layers":[{"ind":18,"ty":4,"parent":17,"ks":{},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":1,"k":[{"t":0,"s":[68.943,0],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":96.66,"s":[68.943,68.943],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":192,"s":[68.943,68.943],"h":1}]},"r":{"a":0,"k":0},"s":{"a":1,"k":[{"t":0,"s":[137.886,0],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":96.66,"s":[137.886,137.886],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":192,"s":[137.886,137.886],"h":1}]}},{"ty":"fl","c":{"a":0,"k":[0,0,0]},"o":{"a":0,"k":100}}]},{"ind":17,"ty":3,"parent":16,"ks":{"a":{"a":1,"k":[{"t":0,"s":[68.943,0],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":96.66,"s":[68.943,68.943],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":192,"s":[68.943,68.943],"h":1}]},"p":{"a":0,"k":[49.5,48]},"r":{"a":0,"k":-45}},"ip":0,"op":193,"st":0},{"ind":16,"ty":3,"ks":{"p":{"a":0,"k":[97,99]}},"ip":0,"op":193,"st":0}]},{"id":"23","layers":[{"ind":21,"ty":0,"parent":15,"ks":{"a":{"a":0,"k":[97,99]}},"w":293,"h":294,"ip":0,"op":193,"st":0,"refId":"19"},{"ind":22,"ty":4,"parent":15,"ks":{"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":96.66,"s":[0],"h":1},{"t":96.66,"s":[100],"h":1},{"t":192,"s":[100],"h":1}]}},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[49.5,48]},"r":{"a":0,"k":0},"s":{"a":0,"k":[118.8,115.2]}},{"ty":"fl","c":{"a":0,"k":[0,0,0]},"o":{"a":0,"k":100}}]},{"ind":15,"ty":3,"ks":{"p":{"a":0,"k":[97,99]}},"ip":0,"op":193,"st":0}]},{"id":"9","layers":[{"ind":8,"ty":4,"ks":{},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[40.5,40]},"r":{"a":0,"k":0},"s":{"a":0,"k":[81,80]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":193,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,6.08],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[6.08,0],[0,0],[0,0]],"v":[[79.54,30.32],[79.54,60.45],[60.97,79],[10.43,79],[30.58,58.87],[48.75,58.87],[59.76,47.87],[59.76,30.32]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0.29,-5.81],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[-5.89,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[70.57,1],[51.16,20.39],[32.25,20.39],[21.26,30.82],[21.24,31.38],[21.24,49.6],[1.46,49.6],[1.46,19.55],[20.03,1]]}}},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"lc":1,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":2}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"12","layers":[{"ind":11,"ty":0,"parent":7,"ks":{},"w":81,"h":80,"ip":0,"op":193,"st":0,"refId":"9"},{"ind":7,"ty":3,"ks":{"s":{"a":0,"k":[122.22,120]}},"ip":0,"op":193,"st":0}]},{"id":"26","layers":[{"ind":25,"ty":0,"td":1,"parent":6,"ks":{"a":{"a":0,"k":[97,99]}},"w":390,"h":393,"ip":0,"op":193,"st":0,"refId":"23"},{"ind":14,"ty":0,"tt":1,"parent":6,"ks":{"a":{"a":0,"k":[49.5,48]},"o":{"a":0,"k":90},"p":{"a":0,"k":[49.5,48]},"s":{"a":1,"k":[{"t":0,"s":[120,120],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":96.66,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":192,"s":[100,100],"h":1}]}},"w":100,"h":96,"ip":0,"op":193,"st":0,"refId":"12"},{"ind":6,"ty":3,"parent":5,"ks":{},"ip":0,"op":193,"st":0},{"ind":5,"ty":3,"ks":{"p":{"a":0,"k":[10,10]}},"ip":0,"op":193,"st":0}]},{"id":"39","layers":[{"ind":38,"ty":0,"td":1,"parent":4,"ks":{"a":{"a":0,"k":[10,10]}},"w":129,"h":126,"ip":0,"op":193,"st":0,"refId":"36"},{"ind":28,"ty":0,"tt":1,"parent":4,"ks":{"a":{"a":0,"k":[10,10]}},"w":119,"h":116,"ip":0,"op":193,"st":0,"refId":"26"},{"ind":4,"ty":3,"ks":{"p":{"a":0,"k":[10,10]}},"ip":0,"op":193,"st":0}]},{"id":"43","layers":[{"ind":41,"ty":0,"ks":{"a":{"a":0,"k":[10,10]},"p":{"a":0,"k":[27.118,27.118]}},"w":129,"h":126,"ip":0,"op":193,"st":0,"refId":"39"},{"ind":42,"ty":4,"ks":{},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[86.568,84.918]},"r":{"a":0,"k":0},"s":{"a":0,"k":[173.137,169.837]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]}]},{"id":"46","layers":[{"ind":45,"ty":0,"parent":3,"ks":{"p":{"a":0,"k":[-27.118,-27.118]}},"ef":[{"ty":29,"ef":[{"ty":0,"nm":"","v":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":96.66,"s":[0],"i":{"x":0.958,"y":0.69},"o":{"x":0.78,"y":0}},{"t":192,"s":[28.53],"h":1}]}},{"ty":7,"nm":"","v":{"a":0,"k":1}},{"ty":7,"nm":"","v":{"a":0,"k":0}}]}],"w":173.1366,"h":169.8366,"ip":0,"op":193,"st":0,"refId":"43"},{"ind":3,"ty":3,"ks":{"p":{"a":0,"k":[28,28]}},"ip":0,"op":193,"st":0}]},{"id":"53","layers":[{"ind":52,"ty":4,"ks":{},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[40,40]},"r":{"a":0,"k":0},"s":{"a":0,"k":[80,80]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":193,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,-3.85],[0,0],[-3.86,0],[0,0],[0,3.85],[0,0],[3.86,0]],"o":[[0,0],[-3.86,0],[0,0],[0,3.85],[0,0],[3.86,0],[0,0],[0,-3.85],[0,0]],"v":[[30.01,23.02],[30,23.02],[23.02,30],[23.02,30],[30,36.98],[30.01,36.98],[36.99,30],[36.99,30],[30.01,23.02]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"56","layers":[{"ind":55,"ty":0,"parent":51,"ks":{},"w":80,"h":80,"ip":0,"op":193,"st":0,"refId":"53"},{"ind":51,"ty":3,"ks":{"s":{"a":0,"k":[121.25,120]}},"ip":0,"op":193,"st":0}]},{"id":"60","layers":[{"ind":58,"ty":0,"ks":{"a":{"a":0,"k":[48.5,48]},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":97.28,"s":[0],"i":{"x":0,"y":1},"o":{"x":0,"y":0}},{"t":145.28,"s":[100],"h":1},{"t":192,"s":[100],"h":1}]},"p":{"a":0,"k":[74.374,73.874]},"s":{"a":1,"k":[{"t":0,"s":[50,50],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":97.278,"s":[50,50],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":145.278,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":192,"s":[100,100],"h":1}]}},"w":97,"h":96,"ip":0,"op":193,"st":0,"refId":"56"},{"ind":59,"ty":4,"ks":{},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[74.374,73.874]},"r":{"a":0,"k":0},"s":{"a":0,"k":[148.748,147.748]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]}]},{"id":"63","layers":[{"ind":62,"ty":0,"parent":50,"ks":{"p":{"a":0,"k":[-25.874,-25.874]}},"ef":[{"ty":29,"ef":[{"ty":0,"nm":"","v":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":145.278,"s":[0],"i":{"x":0.937,"y":0.406},"o":{"x":0.769,"y":0}},{"t":192,"s":[43.12],"h":1}]}},{"ty":7,"nm":"","v":{"a":0,"k":1}},{"ty":7,"nm":"","v":{"a":0,"k":0}}]}],"w":148.748,"h":147.748,"ip":0,"op":193,"st":0,"refId":"60"},{"ind":50,"ty":3,"ks":{"p":{"a":0,"k":[26,26]}},"ip":0,"op":193,"st":0}]},{"id":"70","layers":[{"ind":69,"ty":4,"ks":{},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[40,40]},"r":{"a":0,"k":0},"s":{"a":0,"k":[80,80]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":193,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,-3.85],[0,0],[-3.86,0],[0,0],[0,3.85],[0,0],[3.86,0]],"o":[[0,0],[-3.86,0],[0,0],[0,3.85],[0,0],[3.86,0],[0,0],[0,-3.85],[0,0]],"v":[[30.01,23.02],[30,23.02],[23.02,30],[23.02,30],[30,36.98],[30.01,36.98],[36.99,30],[36.99,30],[30.01,23.02]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"73","layers":[{"ind":72,"ty":0,"parent":68,"ks":{},"w":80,"h":80,"ip":0,"op":193,"st":0,"refId":"70"},{"ind":68,"ty":3,"ks":{"s":{"a":0,"k":[121.25,120]}},"ip":0,"op":193,"st":0}]},{"id":"77","layers":[{"ind":75,"ty":0,"ks":{"a":{"a":0,"k":[48.5,48]},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":1.28,"s":[0],"i":{"x":0,"y":1},"o":{"x":0,"y":0}},{"t":49.28,"s":[100],"h":1},{"t":192,"s":[100],"h":1}]},"p":{"a":0,"k":[88.5,88]},"s":{"a":1,"k":[{"t":0,"s":[50,50],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":1.278,"s":[50,50],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":49.278,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":192,"s":[100,100],"h":1}]}},"w":97,"h":96,"ip":0,"op":193,"st":0,"refId":"73"},{"ind":76,"ty":4,"ks":{},"ip":0,"op":193,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[88.5,88]},"r":{"a":0,"k":0},"s":{"a":0,"k":[177,176]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]}]},{"id":"80","layers":[{"ind":79,"ty":0,"parent":67,"ks":{"p":{"a":0,"k":[-40,-40]}},"ef":[{"ty":29,"ef":[{"ty":0,"nm":"","v":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":49.278,"s":[0],"i":{"x":0.806,"y":0.515},"o":{"x":0.494,"y":0.001}},{"t":73.278,"s":[3.88],"i":{"x":0.715,"y":0.528},"o":{"x":0.375,"y":0.22}},{"t":85.278,"s":[12.19],"i":{"x":0.675,"y":0.522},"o":{"x":0.307,"y":0.21}},{"t":91.278,"s":[22.29],"i":{"x":0.965,"y":0.589},"o":{"x":0.735,"y":0.246}},{"t":97.278,"s":[66.67],"h":1},{"t":192,"s":[66.67],"h":1}]}},{"ty":7,"nm":"","v":{"a":0,"k":1}},{"ty":7,"nm":"","v":{"a":0,"k":0}}]}],"w":177,"h":176,"ip":0,"op":193,"st":0,"refId":"77"},{"ind":67,"ty":3,"ks":{"p":{"a":0,"k":[41,41]}},"ip":0,"op":193,"st":0}]}],"fr":60,"h":112,"ip":0,"layers":[{"ind":48,"ty":0,"parent":2,"ks":{"a":{"a":0,"k":[28,28]},"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":96.66,"s":[100],"i":{"x":0.956,"y":0.677},"o":{"x":0.772,"y":0}},{"t":192,"s":[14.4],"h":1}]}},"w":175,"h":171,"ip":0,"op":193,"st":0,"refId":"46"},{"ind":2,"ty":3,"parent":1,"ks":{"p":{"a":0,"k":[7,8]}},"ip":0,"op":193,"st":0},{"ind":65,"ty":0,"parent":49,"ks":{"a":{"a":0,"k":[74.5,74]},"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":145.28,"s":[100],"i":{"x":0.936,"y":0.626},"o":{"x":0.72,"y":0}},{"t":192,"s":[21.4],"h":1}]},"p":{"a":0,"k":[48.5,48]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":145.278,"s":[100,100],"i":{"x":[0.936,0.936],"y":[0.626,0.626]},"o":{"x":[0.72,0.72],"y":[0,0]}},{"t":192,"s":[60.72,60.72],"h":1}]}},"w":149,"h":148,"ip":0,"op":193,"st":0,"refId":"63"},{"ind":49,"ty":3,"parent":1,"ks":{"p":{"a":0,"k":[8,8]}},"ip":0,"op":193,"st":0},{"ind":82,"ty":0,"parent":66,"ks":{"a":{"a":0,"k":[89.5,89]},"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":49.28,"s":[100],"i":{"x":1,"y":1},"o":{"x":1,"y":0}},{"t":97.28,"s":[0],"h":1},{"t":192,"s":[0],"h":1}]},"p":{"a":0,"k":[48.5,48]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":49.278,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[1,1],"y":[0,0]}},{"t":97.278,"s":[50,50],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":192,"s":[50,50],"h":1}]}},"w":178,"h":177,"ip":0,"op":193,"st":0,"refId":"80"},{"ind":66,"ty":3,"parent":1,"ks":{"p":{"a":0,"k":[8,8]}},"ip":0,"op":193,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":193,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":193,"st":0}],"meta":{"g":"https://jitter.video"},"op":192,"v":"5.7.4","w":112} \ No newline at end of file diff --git a/app/src/hooks/useModal.ts b/app/src/hooks/useModal.ts index 0cd97deb5..e8990a49c 100644 --- a/app/src/hooks/useModal.ts +++ b/app/src/hooks/useModal.ts @@ -1,7 +1,7 @@ import { useNavigation } from '@react-navigation/native'; import { useCallback, useState } from 'react'; -import { ModalParams } from '../screens/static/ModalScreen'; +import { ModalParams } from '../screens/misc/ModalScreen'; export const useModal = (params: ModalParams) => { const [visible, setVisible] = useState(false); diff --git a/app/src/images/icons/close-warning.svg b/app/src/images/icons/close-warning.svg new file mode 100644 index 000000000..d545556a8 --- /dev/null +++ b/app/src/images/icons/close-warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/app/src/navigation/index.tsx b/app/src/navigation/index.tsx index a2f914ba5..5aa53ed83 100644 --- a/app/src/navigation/index.tsx +++ b/app/src/navigation/index.tsx @@ -17,14 +17,14 @@ import { setupUniversalLinkListenerInNavigation } from '../utils/deeplinks'; import { getAesopScreens } from './aesop'; import devScreens from './dev'; import homeScreens from './home'; +import miscScreens from './misc'; import passportScreens from './passport'; import proveScreens from './prove'; import recoveryScreens from './recovery'; import settingsScreens from './settings'; -import staticScreens from './static'; export const navigationScreens = { - ...staticScreens, + ...miscScreens, ...passportScreens, ...homeScreens, ...proveScreens, diff --git a/app/src/navigation/static.tsx b/app/src/navigation/misc.tsx similarity index 61% rename from app/src/navigation/static.tsx rename to app/src/navigation/misc.tsx index 6d1613eee..8ec08aa63 100644 --- a/app/src/navigation/static.tsx +++ b/app/src/navigation/misc.tsx @@ -2,12 +2,13 @@ import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import React from 'react'; import { StatusBar } from 'react-native'; -import LaunchScreen from '../screens/static/LaunchScreen'; -import ModalScreen from '../screens/static/ModalScreen'; -import SplashScreen from '../screens/static/SplashScreen'; +import LaunchScreen from '../screens/misc/LaunchScreen'; +import LoadingScreen from '../screens/misc/LoadingScreen'; +import ModalScreen from '../screens/misc/ModalScreen'; +import SplashScreen from '../screens/misc/SplashScreen'; import { black } from '../utils/colors'; -const staticScreens = { +const miscScreens = { Launch: { screen: LaunchScreen, options: { @@ -15,6 +16,13 @@ const staticScreens = { gestureEnabled: false, }, }, + LoadingScreen: { + screen: LoadingScreen, + options: { + headerShown: false, + navigationBarColor: black, + } as NativeStackNavigationOptions, + }, Modal: { screen: ModalScreen, options: { @@ -34,4 +42,4 @@ const staticScreens = { }, }; -export default staticScreens; +export default miscScreens; diff --git a/app/src/navigation/prove.ts b/app/src/navigation/prove.ts index 5e2348885..2e0d8cb83 100644 --- a/app/src/navigation/prove.ts +++ b/app/src/navigation/prove.ts @@ -5,7 +5,6 @@ import ProofRequestStatusScreen from '../screens/prove/ProofRequestStatusScreen' import ProveScreen from '../screens/prove/ProveScreen'; import QRCodeTroubleScreen from '../screens/prove/QRCodeTroubleScreen'; import QRCodeViewFinderScreen from '../screens/prove/ViewFinderScreen'; -import LoadingScreen from '../screens/static/LoadingScreen'; import { black, white } from '../utils/colors'; const proveScreens = { @@ -15,13 +14,6 @@ const proveScreens = { headerShown: false, } as NativeStackNavigationOptions, }, - LoadingScreen: { - screen: LoadingScreen, - options: { - headerShown: false, - navigationBarColor: black, - } as NativeStackNavigationOptions, - }, ProofRequestStatusScreen: { screen: ProofRequestStatusScreen, options: { diff --git a/app/src/screens/dev/DevHapticFeedback.tsx b/app/src/screens/dev/DevHapticFeedback.tsx index b7e43c240..94dec202b 100644 --- a/app/src/screens/dev/DevHapticFeedback.tsx +++ b/app/src/screens/dev/DevHapticFeedback.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState } from 'react'; import { StyleSheet } from 'react-native'; import { Button, ScrollView, styled } from 'tamagui'; @@ -8,6 +8,7 @@ import { feedbackUnsuccessful, impactLight, impactMedium, + loadingScreenProgress, notificationError, notificationSuccess, notificationWarning, @@ -24,11 +25,27 @@ const StyledButton = styled(Button, { color: '#fff', fontSize: 16, fontWeight: 'bold', + pointerEvents: 'auto', + touchAction: 'manipulation', }); const DevHapticFeedback = () => { + const [loadingProgressEnabled, setLoadingProgressEnabled] = useState(true); + return ( - + + { + loadingScreenProgress(loadingProgressEnabled); + setLoadingProgressEnabled(!loadingProgressEnabled); + }} + > + Loading Screen Progress {loadingProgressEnabled ? '(OFF)' : '(ON)'} + Feedback Unsuccessful diff --git a/app/src/screens/dev/MockDataScreen.tsx b/app/src/screens/dev/MockDataScreen.tsx index 2c0ee25ea..046abdc59 100644 --- a/app/src/screens/dev/MockDataScreen.tsx +++ b/app/src/screens/dev/MockDataScreen.tsx @@ -240,9 +240,7 @@ const MockDataScreen: React.FC = ({}) => { let parsedMockData = initPassportDataParsing(rawMockData, skiPem); await storePassportData(parsedMockData); - navigation.navigate('ConfirmBelongingScreen', { - mockPassportFlow: true, - }); + navigation.navigate('ConfirmBelongingScreen', {}); } catch (error) { console.error('Error during mock data generation:', error); } finally { diff --git a/app/src/screens/dev/MockDataScreenDeepLink.tsx b/app/src/screens/dev/MockDataScreenDeepLink.tsx index d0fc21967..bc8ef8c69 100644 --- a/app/src/screens/dev/MockDataScreenDeepLink.tsx +++ b/app/src/screens/dev/MockDataScreenDeepLink.tsx @@ -66,9 +66,7 @@ const MockDataScreenDeepLink: React.FC = () => { }; const passportData = genMockIdDoc(idDocInput); await storePassportData(passportData); - navigation.navigate('ConfirmBelongingScreen', { - mockPassportFlow: true, - }); + navigation.navigate('ConfirmBelongingScreen', {}); useUserStore.getState().clearDeepLinkUserDetails(); }, [navigation]); diff --git a/app/src/screens/static/LaunchScreen.tsx b/app/src/screens/misc/LaunchScreen.tsx similarity index 100% rename from app/src/screens/static/LaunchScreen.tsx rename to app/src/screens/misc/LaunchScreen.tsx diff --git a/app/src/screens/misc/LoadingScreen.tsx b/app/src/screens/misc/LoadingScreen.tsx new file mode 100644 index 000000000..749779265 --- /dev/null +++ b/app/src/screens/misc/LoadingScreen.tsx @@ -0,0 +1,302 @@ +import { StaticScreenProps, useIsFocused } from '@react-navigation/native'; +import LottieView from 'lottie-react-native'; +import React, { useEffect, useState } from 'react'; +import { StyleSheet, View } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; +import { Text, YStack } from 'tamagui'; + +import { PassportData } from '../../../../common/src/utils/types'; +import failAnimation from '../../assets/animations/loading/fail.json'; +import proveLoadingAnimation from '../../assets/animations/loading/prove.json'; +import successAnimation from '../../assets/animations/loading/success.json'; +import CloseWarningIcon from '../../images/icons/close-warning.svg'; +import { loadPassportDataAndSecret } from '../../stores/passportDataProvider'; +import { black, slate400, white, zinc500, zinc900 } from '../../utils/colors'; +import { advercase, dinot } from '../../utils/fonts'; +import { loadingScreenProgress } from '../../utils/haptic'; +import { + getStateMessage, + setupNotifications, +} from '../../utils/notifications/notificationService'; +import { + ProvingStateType, + useProvingStore, +} from '../../utils/proving/provingMachine'; +import { getLoadingScreenText } from '../../utils/proving/stateLoadingScreenText'; + +type LoadingScreenProps = StaticScreenProps<{}>; + +const LoadingScreen: React.FC = ({}) => { + // Animation states + const [animationSource, setAnimationSource] = useState( + proveLoadingAnimation, + ); + + // Passport data state + const [passportData, setPassportData] = useState(null); + + // Loading text state + const [loadingText, setLoadingText] = useState<{ + actionText: string; + estimatedTime: string; + }>({ + actionText: '', + estimatedTime: '', + }); + + // Get current state from proving machine, default to 'idle' if undefined + const currentState = useProvingStore(state => state.currentState) ?? 'idle'; + const fcmToken = useProvingStore(state => state.fcmToken); + const isFocused = useIsFocused(); + const { bottom } = useSafeAreaInsets(); + + // Define all terminal states that should stop animations and haptics + const terminalStates: ProvingStateType[] = [ + 'completed', + 'error', + 'failure', + 'passport_not_supported', + 'account_recovery_choice', + 'passport_data_not_found', + ]; + + // States where it's safe to close the app + const safeToCloseStates = ['proving', 'post_proving', 'completed']; + const canCloseApp = safeToCloseStates.includes(currentState); + + // Initialize notifications and load passport data + useEffect(() => { + let isMounted = true; + + const initialize = async () => { + if (!isFocused) return; + + // Setup notifications + const unsubscribe = setupNotifications(); + + // Load passport data if not already loaded + if (!passportData) { + try { + const result = await loadPassportDataAndSecret(); + if (result && isMounted) { + const { passportData: _passportData } = JSON.parse(result); + setPassportData(_passportData); + } + } catch (error) { + console.error('Error loading passport data:', error); + } + } + + return () => { + if (typeof unsubscribe === 'function') { + unsubscribe(); + } + }; + }; + + initialize(); + + return () => { + isMounted = false; + }; + }, [isFocused]); // Only depend on isFocused + + // Handle UI updates and haptic feedback based on state changes + useEffect(() => { + // Stop haptics if screen is not focused + if (!isFocused) { + loadingScreenProgress(false); + return; + } + + console.log('[LoadingScreen] Current proving state:', currentState); + console.log('[LoadingScreen] FCM token available:', !!fcmToken); + + // Update UI if passport data is available + if (passportData?.passportMetadata) { + // Update loading text based on current state + const { actionText, estimatedTime } = getLoadingScreenText( + currentState as ProvingStateType, + passportData?.passportMetadata, + ); + setLoadingText({ actionText, estimatedTime }); + + // Update animation based on state + switch (currentState) { + case 'completed': + setAnimationSource(successAnimation); + break; + case 'error': + case 'failure': + case 'passport_not_supported': + case 'account_recovery_choice': + case 'passport_data_not_found': + setAnimationSource(failAnimation); + break; + default: + setAnimationSource(proveLoadingAnimation); + } + } + + // Stop haptics if we're in a terminal state + if (terminalStates.includes(currentState as ProvingStateType)) { + loadingScreenProgress(false); + return; + } + + // Start haptic feedback for non-terminal states + loadingScreenProgress(true); + + // Cleanup on unmount or state change + return () => { + loadingScreenProgress(false); + }; + }, [currentState, isFocused, fcmToken, passportData?.passportMetadata]); + + // Determine if animation should loop based on terminal states + const shouldLoopAnimation = !terminalStates.includes( + currentState as ProvingStateType, + ); + + return ( + + + + + + {loadingText.actionText} + + + + + ESTIMATED TIME: + + {loadingText.estimatedTime} + + + + + + + + {canCloseApp + ? 'You can now safely close the app' + : 'Closing the app will cancel this process'} + + + {getStateMessage(currentState)} + + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + position: 'relative', + backgroundColor: black, + justifyContent: 'center', + alignItems: 'center', + }, + card: { + width: '92%', + borderRadius: 16, + paddingVertical: 20, + alignItems: 'center', + backgroundColor: zinc900, + shadowColor: black, + shadowOffset: { width: 0, height: 4 }, + shadowOpacity: 0.2, + shadowRadius: 12, + elevation: 8, + }, + title: { + color: white, + fontSize: 24, + fontFamily: advercase, + textAlign: 'center', + letterSpacing: 1, + fontWeight: '100', + marginVertical: 30, + }, + animation: { + width: 60, + height: 60, + marginTop: 30, + marginBottom: 0, + }, + animationAndTitleGroup: { + alignItems: 'center', + }, + estimatedTimeSection: { + width: '100%', + alignItems: 'center', + }, + estimatedTimeBorder: { + width: '100%', + height: 1, + backgroundColor: '#232329', + }, + estimatedTimeRow: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + width: '100%', + textTransform: 'uppercase', + marginTop: 18, + }, + estimatedTimeLabel: { + color: slate400, + marginRight: 8, + fontSize: 11, + letterSpacing: 0.44, + fontFamily: dinot, + }, + estimatedTimeValue: { + color: white, + fontSize: 11, + letterSpacing: 0.44, + fontFamily: dinot, + }, + warningSection: { + position: 'absolute', + bottom: 40, + left: 0, + right: 0, + alignItems: 'center', + justifyContent: 'center', + }, + warningText: { + color: slate400, + fontSize: 11, + paddingTop: 16, + letterSpacing: 0.44, + textTransform: 'uppercase', + fontFamily: dinot, + textAlign: 'center', + }, + stateMessage: { + color: slate400, + fontSize: 14, + paddingTop: 8, + textAlign: 'center', + }, +}); + +export default LoadingScreen; diff --git a/app/src/screens/static/ModalScreen.tsx b/app/src/screens/misc/ModalScreen.tsx similarity index 100% rename from app/src/screens/static/ModalScreen.tsx rename to app/src/screens/misc/ModalScreen.tsx diff --git a/app/src/screens/static/SplashScreen.tsx b/app/src/screens/misc/SplashScreen.tsx similarity index 100% rename from app/src/screens/static/SplashScreen.tsx rename to app/src/screens/misc/SplashScreen.tsx diff --git a/app/src/screens/prove/ConfirmBelongingScreen.tsx b/app/src/screens/prove/ConfirmBelongingScreen.tsx index a60a4a51c..0eb416568 100644 --- a/app/src/screens/prove/ConfirmBelongingScreen.tsx +++ b/app/src/screens/prove/ConfirmBelongingScreen.tsx @@ -18,21 +18,11 @@ import { import { useProvingStore } from '../../utils/proving/provingMachine'; import { styles } from './ProofRequestStatusScreen'; -type ConfirmBelongingScreenProps = StaticScreenProps< - | { - mockPassportFlow?: boolean; - } - | undefined ->; +type ConfirmBelongingScreenProps = StaticScreenProps<{}>; -const ConfirmBelongingScreen: React.FC = ({ - route, -}) => { - const mockPassportFlow = route.params?.mockPassportFlow; +const ConfirmBelongingScreen: React.FC = ({}) => { const navigate = useHapticNavigation('LoadingScreen', { - params: { - mockPassportFlow, - }, + params: {}, }); const provingStore = useProvingStore(); const [_requestingPermission, setRequestingPermission] = useState(false); diff --git a/app/src/screens/static/LoadingScreen.tsx b/app/src/screens/static/LoadingScreen.tsx deleted file mode 100644 index 33d5f360e..000000000 --- a/app/src/screens/static/LoadingScreen.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import { StaticScreenProps, useIsFocused } from '@react-navigation/native'; -import LottieView from 'lottie-react-native'; -import React, { useEffect, useState } from 'react'; -import { StyleSheet, View } from 'react-native'; -import { Text } from 'tamagui'; - -import failAnimation from '../../assets/animations/loading/fail.json'; -import miscAnimation from '../../assets/animations/loading/misc.json'; -import successAnimation from '../../assets/animations/loading/success.json'; -import { - getStateMessage, - setupNotifications, -} from '../../utils/notifications/notificationService'; -import { useProvingStore } from '../../utils/proving/provingMachine'; - -type LoadingScreenProps = StaticScreenProps<{}>; - -const LoadingScreen: React.FC = ({}) => { - const [animationSource, setAnimationSource] = useState(miscAnimation); - const currentState = useProvingStore(state => state.currentState); - const fcmToken = useProvingStore(state => state.fcmToken); - const isFocused = useIsFocused(); - - // Initialize notifications when component mounts - useEffect(() => { - if (isFocused) { - const unsubscribe = setupNotifications(); - return () => { - if (typeof unsubscribe === 'function') { - unsubscribe(); - } - }; - } - }, [isFocused]); - - // Monitor the state of the proving machine - useEffect(() => { - if (isFocused) { - console.log('[LoadingScreen] Current proving state:', currentState); - console.log('[LoadingScreen] FCM token available:', !!fcmToken); - } - - if (currentState === 'completed') { - setAnimationSource(successAnimation); - } else if (currentState === 'error' || currentState === 'failure') { - setAnimationSource(failAnimation); - } else { - setAnimationSource(miscAnimation); - } - }, [currentState, isFocused, fcmToken]); - - // Determine if we should show the "you can close the app" message - // Show the message after the payload has been sent (when state is proving or later) - const canCloseApp = ['proving', 'post_proving', 'completed'].includes( - currentState, - ); - - return ( - - - - - This operation can take few minutes. - - {!canCloseApp ? ( - - Please don't close the app. - - ) : ( - - You can now safely close the app. - - )} - - {getStateMessage(currentState)} - - - - ); -}; - -const styles = StyleSheet.create({ - container: { - flex: 1, - position: 'relative', - }, - animation: { - position: 'absolute', - top: 0, - left: 0, - right: 0, - bottom: 0, - }, - textContainer: { - position: 'absolute', - bottom: 40, - left: 0, - right: 0, - padding: 16, - }, -}); - -export default LoadingScreen; diff --git a/app/src/utils/colors.ts b/app/src/utils/colors.ts index 135c58553..3df4998a0 100644 --- a/app/src/utils/colors.ts +++ b/app/src/utils/colors.ts @@ -23,6 +23,8 @@ export const neutral400 = '#A3A3A3'; export const neutral700 = '#404040'; export const zinc400 = '#A1A1AA'; +export const zinc500 = '#71717A'; +export const zinc900 = '#18181B'; export const blue100 = '#DBEAFE'; export const blue600 = '#2563EB'; export const blue700 = '#1D4ED8'; diff --git a/app/src/utils/haptic.ts b/app/src/utils/haptic.ts index 0f9a45307..92fc06519 100644 --- a/app/src/utils/haptic.ts +++ b/app/src/utils/haptic.ts @@ -24,6 +24,9 @@ const defaultOptions: HapticOptions = { increaseIosIntensity: true, }; +// Keep track of the loading screen interval +let loadingScreenInterval: NodeJS.Timeout | null = null; + /** * Haptic actions */ @@ -38,81 +41,141 @@ export const cancelTap = selectionChange; export const confirmTap = impactMedium; // Custom feedback events + +export const loadingScreenProgress = (shouldVibrate: boolean = true) => { + // Clear any existing interval + if (loadingScreenInterval) { + clearInterval(loadingScreenInterval); + loadingScreenInterval = null; + } + + // If we shouldn't vibrate, just stop here + if (!shouldVibrate) { + Vibration.cancel(); + return; + } + + // Function to trigger the haptic feedback + const triggerHaptic = () => { + if (Platform.OS === 'android') { + // Pattern: [delay, duration, delay, duration, ...] + // First heavy impact at 500ms + // Then three light impacts at 750ms intervals + triggerFeedback('custom', { + pattern: [ + 500, + 100, // Heavy impact + 750, + 50, // First light impact + 750, + 50, // Second light impact + 750, + 50, // Third light impact + ], + }); + } else { + setTimeout(() => { + triggerFeedback('impactHeavy'); + }, 750); + setTimeout(() => { + feedbackProgress(); + }, 750); + } + }; + + // Trigger immediately + triggerHaptic(); + + // Set up interval for continuous feedback + // Total pattern duration (2950ms) + 1 second pause (1000ms) = 3950ms + loadingScreenInterval = setInterval(triggerHaptic, 4000); +}; + // consistent light feedback at a steady interval export const feedbackProgress = () => { if (Platform.OS === 'android') { + // Pattern: [delay, duration, delay, duration, ...] + // Three light impacts at 750ms intervals triggerFeedback('custom', { - pattern: [0, 50, 450, 50, 450, 50], + pattern: [ + 0, + 50, // First light impact + 750, + 50, // Second light impact + 750, + 50, // Third light impact + ], }); return; } + // Match the timing of the light impacts in the Android pattern setTimeout(() => { - triggerFeedback('impactLight', { - increaseIosIntensity: false, - }); - }, 500); + triggerFeedback('impactLight'); + }, 750); // First light impact setTimeout(() => { - triggerFeedback('impactLight', { - increaseIosIntensity: false, - }); - }, 1000); + triggerFeedback('impactLight'); + }, 1500); // Second light impact (750ms after first) setTimeout(() => { - triggerFeedback('impactLight', { - increaseIosIntensity: false, - }); - }, 1500); + triggerFeedback('impactLight'); + }, 2250); // Third light impact (750ms after second) }; // light -> medium -> heavy intensity in sequence export const feedbackSuccess = () => { if (Platform.OS === 'android') { + // Pattern: [delay, duration, delay, duration, ...] + // Increasing intensity sequence: light -> medium -> heavy triggerFeedback('custom', { - pattern: [500, 50, 200, 100, 150, 150], + pattern: [ + 500, + 50, // Initial delay, then light impact + 200, + 100, // Medium impact + 150, + 150, // Heavy impact + ], }); return; } setTimeout(() => { - triggerFeedback('impactLight', { - increaseIosIntensity: false, - }); + triggerFeedback('impactLight'); }, 500); setTimeout(() => { - triggerFeedback('impactMedium', { - increaseIosIntensity: false, - }); + triggerFeedback('impactMedium'); }, 750); setTimeout(() => { - triggerFeedback('impactHeavy', { - increaseIosIntensity: false, - }); + triggerFeedback('impactHeavy'); }, 1000); }; // heavy -> medium -> light intensity in sequence export const feedbackUnsuccessful = () => { if (Platform.OS === 'android') { + // Pattern: [delay, duration, delay, duration, ...] + // Decreasing intensity sequence: heavy -> medium -> light triggerFeedback('custom', { - pattern: [500, 150, 100, 100, 150, 50], + pattern: [ + 500, + 150, // Initial delay, then heavy impact + 100, + 100, // Medium impact + 150, + 50, // Light impact + ], }); return; } setTimeout(() => { - triggerFeedback('impactHeavy', { - increaseIosIntensity: false, - }); + triggerFeedback('impactHeavy'); }, 500); setTimeout(() => { - triggerFeedback('impactMedium', { - increaseIosIntensity: false, - }); + triggerFeedback('impactMedium'); }, 750); setTimeout(() => { - triggerFeedback('impactLight', { - increaseIosIntensity: false, - }); + triggerFeedback('impactLight'); }, 1000); }; diff --git a/app/src/utils/proving/provingMachine.ts b/app/src/utils/proving/provingMachine.ts index d32ee1c7a..9311eecb9 100644 --- a/app/src/utils/proving/provingMachine.ts +++ b/app/src/utils/proving/provingMachine.ts @@ -109,8 +109,32 @@ const provingMachine = createMachine({ export type provingMachineCircuitType = 'register' | 'dsc' | 'disclose'; +export type ProvingStateType = + // Initial states + | 'idle' + | undefined + // Data preparation states + | 'fetching_data' + | 'validating_document' + // Connection states + | 'init_tee_connexion' + | 'listening_for_status' + // Proving states + | 'ready_to_prove' + | 'proving' + | 'post_proving' + // Success state + | 'completed' + // Error states + | 'error' + | 'failure' + // Special case states + | 'passport_not_supported' + | 'account_recovery_choice' + | 'passport_data_not_found'; + interface ProvingState { - currentState: string; + currentState: ProvingStateType; attestation: any; serverPublicKey: string | null; sharedKey: Buffer | null; @@ -154,7 +178,7 @@ export const useProvingStore = create((set, get) => { function setupActorSubscriptions(newActor: AnyActorRef) { newActor.subscribe((state: any) => { console.log(`State transition: ${state.value}`); - set({ currentState: state.value as string }); + set({ currentState: state.value as ProvingStateType }); if (state.value === 'fetching_data') { get().startFetchingData(); diff --git a/app/src/utils/proving/stateLoadingScreenText.ts b/app/src/utils/proving/stateLoadingScreenText.ts new file mode 100644 index 000000000..9dbc03c4d --- /dev/null +++ b/app/src/utils/proving/stateLoadingScreenText.ts @@ -0,0 +1,145 @@ +import { ProvingStateType } from './provingMachine'; + +interface LoadingScreenText { + actionText: string; + estimatedTime: string; +} + +export interface PassportMetadata { + signatureAlgorithm: string; + curveOrExponent: string; +} + +export function getProvingTimeEstimate( + metadata: PassportMetadata | undefined, + type: 'dsc' | 'register', +): string { + if (!metadata) return '30 - 90 SECONDS'; + + const algorithm = metadata.signatureAlgorithm; + const curveOrExponent = metadata.curveOrExponent; + + // RSA algorithms + if (algorithm?.toLowerCase().includes('rsa')) { + if (algorithm?.toLowerCase().includes('pss')) { + return type === 'dsc' ? '3 SECONDS' : '6 SECONDS'; + } + return type === 'dsc' ? '2 SECONDS' : '4 SECONDS'; + } + + // ECDSA algorithms + if (algorithm?.toLowerCase().includes('ecdsa')) { + // Check bit size from curve name + if ( + curveOrExponent?.toLowerCase().includes('224') || + curveOrExponent?.toLowerCase().includes('256') + ) { + return type === 'dsc' ? '25 SECONDS' : '50 SECONDS'; + } + if (curveOrExponent?.toLowerCase().includes('384')) { + return type === 'dsc' ? '45 SECONDS' : '90 SECONDS'; + } + if (curveOrExponent?.includes('512') || curveOrExponent?.includes('521')) { + return type === 'dsc' ? '100 SECONDS' : '200 SECONDS'; + } + } + + // Default case + return '30 - 90 SECONDS'; +} + +export function getLoadingScreenText( + state: ProvingStateType, + metadata: PassportMetadata, + type: 'dsc' | 'register' = 'register', +): LoadingScreenText { + switch (state) { + // Initial states + case 'idle': + return { + actionText: 'Initializing...', + estimatedTime: '1 - 5 SECONDS', + }; + + // Data preparation states + case 'fetching_data': + return { + actionText: 'Reading current state of the registry', + estimatedTime: '5 - 10 SECONDS', + }; + case 'validating_document': + return { + actionText: 'Validating passport', + estimatedTime: '5 - 10 SECONDS', + }; + + // Connection states + case 'init_tee_connexion': + return { + actionText: 'Establishing secure connection', + estimatedTime: '5 - 10 SECONDS', + }; + case 'listening_for_status': + return { + actionText: 'Waiting for verification', + estimatedTime: '10 - 30 SECONDS', + }; + + // Proving states + case 'ready_to_prove': + return { + actionText: 'Ready to verify', + estimatedTime: '1 - 3 SECONDS', + }; + case 'proving': + return { + actionText: 'Generating ZK proof', + estimatedTime: metadata + ? getProvingTimeEstimate(metadata, type) + : '30 - 90 SECONDS', + }; + case 'post_proving': + return { + actionText: 'Finalizing verification', + estimatedTime: '5 - 10 SECONDS', + }; + + // Success state + case 'completed': + return { + actionText: 'Verified', + estimatedTime: '1 - 3 SECONDS', + }; + + // Error states + case 'error': + case 'failure': + return { + actionText: 'Verification failed', + estimatedTime: '1 - 3 SECONDS', + }; + + // Special case states + case 'passport_not_supported': + return { + actionText: 'Unsupported passport', + estimatedTime: '1 - 3 SECONDS', + }; + case 'account_recovery_choice': + return { + actionText: 'Account recovery needed', + estimatedTime: '1 - 3 SECONDS', + }; + case 'passport_data_not_found': + return { + actionText: 'Passport data not found', + estimatedTime: '1 - 3 SECONDS', + }; + + default: + return { + actionText: 'Verifying', + estimatedTime: '10 - 30 SECONDS', + }; + } +} diff --git a/app/tests/utils/proving/stateLoadingScreenText.test.ts b/app/tests/utils/proving/stateLoadingScreenText.test.ts new file mode 100644 index 000000000..0b371f205 --- /dev/null +++ b/app/tests/utils/proving/stateLoadingScreenText.test.ts @@ -0,0 +1,244 @@ +import { ProvingStateType } from '../../../src/utils/proving/provingMachine'; +import { + getLoadingScreenText, + getProvingTimeEstimate, + PassportMetadata, +} from '../../../src/utils/proving/stateLoadingScreenText'; + +describe('stateLoadingScreenText', () => { + // Default metadata for basic tests + const defaultMetadata: PassportMetadata = { + signatureAlgorithm: 'RSA', + curveOrExponent: '', + }; + + // Helper function to test a state has a response + const testStateHasResponse = (state: ProvingStateType) => { + it(`should return a response for ${state} state`, () => { + const result = getLoadingScreenText(state, defaultMetadata); + expect(result).toBeDefined(); + expect(result.actionText).toBeDefined(); + expect(result.actionText.length).toBeGreaterThan(0); + expect(result.estimatedTime).toBeDefined(); + expect(result.estimatedTime.length).toBeGreaterThan(0); + }); + }; + + // Test all possible states + const states: ProvingStateType[] = [ + 'account_recovery_choice', + 'completed', + 'error', + 'failure', + 'fetching_data', + 'idle', + 'init_tee_connexion', + 'listening_for_status', + 'passport_data_not_found', + 'passport_not_supported', + 'post_proving', + 'proving', + 'ready_to_prove', + 'validating_document', + ]; + + describe('All states should have a response', () => { + states.forEach(state => { + testStateHasResponse(state); + }); + }); + + // Test edge cases + describe('Edge cases', () => { + it('should handle undefined state', () => { + const result = getLoadingScreenText( + undefined as ProvingStateType, + defaultMetadata, + ); + expect(result).toBeDefined(); + expect(result.actionText).toBeDefined(); + expect(result.estimatedTime).toBeDefined(); + }); + + it('should handle unknown state', () => { + const result = getLoadingScreenText( + 'unknown' as ProvingStateType, + defaultMetadata, + ); + expect(result).toBeDefined(); + expect(result.actionText).toBeDefined(); + expect(result.estimatedTime).toBeDefined(); + }); + + it('should handle undefined metadata', () => { + const result = getLoadingScreenText( + 'proving', + undefined as unknown as PassportMetadata, + ); + expect(result).toBeDefined(); + expect(result.actionText).toBeDefined(); + expect(result.estimatedTime).toBe('30 - 90 SECONDS'); // Should use default time estimate + }); + }); + + describe('getLoadingScreenText with passport metadata', () => { + const rsaMetadata: PassportMetadata = { + signatureAlgorithm: 'RSA', + curveOrExponent: '', + }; + + it('should use algorithm information to estimate proving time', () => { + const result = getLoadingScreenText('proving', rsaMetadata); + + // Should use RSA (4 SECONDS) + expect(result.estimatedTime).toBe('4 SECONDS'); + }); + }); + + describe('getProvingTimeEstimate', () => { + it('should return default time when metadata is undefined', () => { + const result = getProvingTimeEstimate(undefined, 'register'); + expect(result).toBe('30 - 90 SECONDS'); + }); + + describe('RSA algorithms', () => { + it.each([ + ['RSA', '65537', 'register', '4 SECONDS'], // Common RSA exponent + ['RSA', '3', 'register', '4 SECONDS'], // Another common RSA exponent + ['RSA', '65537', 'dsc', '2 SECONDS'], // DSC proof + ['RSA', '3', 'dsc', '2 SECONDS'], // DSC proof + ])( + 'should return correct time for %s with exponent %s and type %s', + (algorithm, exponent, type, expectedTime) => { + const metadata: PassportMetadata = { + signatureAlgorithm: algorithm, + curveOrExponent: exponent, + }; + + const result = getProvingTimeEstimate( + metadata, + type as 'dsc' | 'register', + ); + expect(result).toBe(expectedTime); + }, + ); + + it.each([ + ['RSAPSS', '65537', 'register', '6 SECONDS'], + ['RSAPSS', '3', 'register', '6 SECONDS'], + ['RSAPSS', '65537', 'dsc', '3 SECONDS'], + ['RSAPSS', '3', 'dsc', '3 SECONDS'], + ])( + 'should return correct time for %s with exponent %s and type %s', + (algorithm, exponent, type, expectedTime) => { + const metadata: PassportMetadata = { + signatureAlgorithm: algorithm, + curveOrExponent: exponent, + }; + + const result = getProvingTimeEstimate( + metadata, + type as 'dsc' | 'register', + ); + expect(result).toBe(expectedTime); + }, + ); + }); + + describe('ECDSA curves', () => { + it.each([ + ['secp224r1', 'register', '50 SECONDS'], + ['brainpoolP224r1', 'register', '50 SECONDS'], + ['secp224r1', 'dsc', '25 SECONDS'], + ['brainpoolP224r1', 'dsc', '25 SECONDS'], + ])( + 'should return correct time for 224-bit curve %s with type %s', + (curve, type, expectedTime) => { + const metadata: PassportMetadata = { + signatureAlgorithm: 'ECDSA', + curveOrExponent: curve, + }; + + const result = getProvingTimeEstimate( + metadata, + type as 'dsc' | 'register', + ); + expect(result).toBe(expectedTime); + }, + ); + + it.each([ + ['secp256r1', 'register', '50 SECONDS'], + ['brainpoolP256r1', 'register', '50 SECONDS'], + ['secp256r1', 'dsc', '25 SECONDS'], + ['brainpoolP256r1', 'dsc', '25 SECONDS'], + ])( + 'should return correct time for 256-bit curve %s with type %s', + (curve, type, expectedTime) => { + const metadata: PassportMetadata = { + signatureAlgorithm: 'ECDSA', + curveOrExponent: curve, + }; + + const result = getProvingTimeEstimate( + metadata, + type as 'dsc' | 'register', + ); + expect(result).toBe(expectedTime); + }, + ); + + it.each([ + ['secp384r1', 'register', '90 SECONDS'], + ['brainpoolP384r1', 'register', '90 SECONDS'], + ['secp384r1', 'dsc', '45 SECONDS'], + ['brainpoolP384r1', 'dsc', '45 SECONDS'], + ])( + 'should return correct time for 384-bit curve %s with type %s', + (curve, type, expectedTime) => { + const metadata: PassportMetadata = { + signatureAlgorithm: 'ECDSA', + curveOrExponent: curve, + }; + + const result = getProvingTimeEstimate( + metadata, + type as 'dsc' | 'register', + ); + expect(result).toBe(expectedTime); + }, + ); + + it.each([ + ['secp521r1', 'register', '200 SECONDS'], + ['brainpoolP512r1', 'register', '200 SECONDS'], + ['secp521r1', 'dsc', '100 SECONDS'], + ['brainpoolP512r1', 'dsc', '100 SECONDS'], + ])( + 'should return correct time for 512/521-bit curve %s with type %s', + (curve, type, expectedTime) => { + const metadata: PassportMetadata = { + signatureAlgorithm: 'ECDSA', + curveOrExponent: curve, + }; + + const result = getProvingTimeEstimate( + metadata, + type as 'dsc' | 'register', + ); + expect(result).toBe(expectedTime); + }, + ); + }); + + it('should return default time when algorithm is not recognized', () => { + const metadata: PassportMetadata = { + signatureAlgorithm: 'UNKNOWN_ALGORITHM', + curveOrExponent: '', + }; + + const result = getProvingTimeEstimate(metadata, 'register'); + expect(result).toBe('30 - 90 SECONDS'); + }); + }); +}); From e059f06e842d58cef9fb912885419e2b7d788c6e Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Fri, 16 May 2025 15:15:35 -0500 Subject: [PATCH 35/49] Bump v2.5.1: ios 122; android 60 (#561) * increment build to 120 * bump builds for 2.5.1. ios 121; android 60 * clean up logic * upgrade react native firebase for privacy manifests --- app/android/app/build.gradle | 2 +- app/ios/OpenPassport/PrivacyInfo.xcprivacy | 2 +- app/ios/Podfile | 26 ++--- app/ios/Podfile.lock | 98 +++++++++---------- app/ios/Self.xcodeproj/project.pbxproj | 4 +- app/package.json | 4 +- app/src/screens/misc/LoadingScreen.tsx | 2 +- ...creenText.ts => loadingScreenStateText.ts} | 15 ++- ...test.ts => loadingScreenStateText.test.ts} | 4 +- app/yarn.lock | 22 ++--- 10 files changed, 88 insertions(+), 91 deletions(-) rename app/src/utils/proving/{stateLoadingScreenText.ts => loadingScreenStateText.ts} (89%) rename app/tests/utils/proving/{stateLoadingScreenText.test.ts => loadingScreenStateText.test.ts} (99%) diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index 6ece7e10c..8209f2bd6 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -86,7 +86,7 @@ android { applicationId "com.proofofpassportapp" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 59 + versionCode 60 versionName "2.5.1" externalNativeBuild { cmake { diff --git a/app/ios/OpenPassport/PrivacyInfo.xcprivacy b/app/ios/OpenPassport/PrivacyInfo.xcprivacy index 2fadae776..189b6316a 100644 --- a/app/ios/OpenPassport/PrivacyInfo.xcprivacy +++ b/app/ios/OpenPassport/PrivacyInfo.xcprivacy @@ -9,8 +9,8 @@ NSPrivacyAccessedAPICategoryUserDefaults NSPrivacyAccessedAPITypeReasons - 1C8F.1 CA92.1 + 1C8F.1 C56D.1 diff --git a/app/ios/Podfile b/app/ios/Podfile index dd2cc753b..9b8244498 100755 --- a/app/ios/Podfile +++ b/app/ios/Podfile @@ -1,5 +1,5 @@ use_frameworks! -require 'tmpdir' +require "tmpdir" # Resolve react_native_pods.rb with node to allow for hoisting require Pod::Executable.execute_command("node", ["-p", @@ -10,11 +10,11 @@ require Pod::Executable.execute_command("node", ["-p", project "Self.xcodeproj" -platform :ios, '15.0' if !ENV['ACT'] +platform :ios, "15.0" if !ENV["ACT"] prepare_react_native_project! -flipper_enabled = ENV['NO_FLIPPER'] != "1" -flipper_config = { 'Flipper' => flipper_enabled ? '~> 0.125.0' : nil } +flipper_enabled = ENV["NO_FLIPPER"] != "1" +flipper_config = { "Flipper" => flipper_enabled ? "~> 0.125.0" : nil } linkage = ENV["USE_FRAMEWORKS"] if linkage != nil @@ -36,21 +36,21 @@ target "Self" do :path => config[:reactNativePath], :hermes_enabled => false, # An absolute path to your application root. - :app_path => "#{Pod::Config.instance.installation_root}/.." + :app_path => "#{Pod::Config.instance.installation_root}/..", # Flipper設定は削除 ) pod "Sentry", :modular_headers => true pod "SentryPrivate", :modular_headers => true - pod 'Firebase', :modular_headers => true - pod 'FirebaseCore', :modular_headers => true - pod 'FirebaseCoreInternal', :modular_headers => true - pod 'GoogleUtilities', :modular_headers => true - pod 'FirebaseMessaging' + pod "Firebase", :modular_headers => true + pod "FirebaseCore", :modular_headers => true + pod "FirebaseCoreInternal", :modular_headers => true + pod "GoogleUtilities", :modular_headers => true + pod "FirebaseMessaging" if flipper_enabled - pod 'RCT-Folly', :podspec => "#{config[:reactNativePath]}/third-party-podspecs/RCT-Folly.podspec" + pod "RCT-Folly", :podspec => "#{config[:reactNativePath]}/third-party-podspecs/RCT-Folly.podspec" end post_install do |installer| @@ -109,7 +109,7 @@ target "Self" do # update QKCutoutView.swift to hide OCR border qkCutoutView = "Pods/QKMRZScanner/QKMRZScanner/QKCutoutView.swift" - if File.exist?(qkCutoutView) + if File.exist?(qkCutoutView) && File.writable?(qkCutoutView) text = File.read(qkCutoutView) # Only modify if the line is not already commented if text.match?(/^\s*[^\/]*addBorderAroundCutout\s*\(\s*\)/) @@ -124,7 +124,7 @@ target "Self" do # Disable code signing for Pod targets to avoid conflicts with main app signing installer.pods_project.targets.each do |target| target.build_configurations.each do |config| - config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' + config.build_settings["CODE_SIGNING_ALLOWED"] = "NO" end end end diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 51b568942..5fb38750c 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -8,39 +8,39 @@ PODS: - boost (1.84.0) - DoubleConversion (1.1.6) - FBLazyVector (0.75.4) - - Firebase (10.20.0): - - Firebase/Core (= 10.20.0) - - Firebase/Core (10.20.0): + - Firebase (10.24.0): + - Firebase/Core (= 10.24.0) + - Firebase/Core (10.24.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 10.20.0) - - Firebase/CoreOnly (10.20.0): - - FirebaseCore (= 10.20.0) - - Firebase/Messaging (10.20.0): + - FirebaseAnalytics (~> 10.24.0) + - Firebase/CoreOnly (10.24.0): + - FirebaseCore (= 10.24.0) + - Firebase/Messaging (10.24.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 10.20.0) - - FirebaseAnalytics (10.20.0): - - FirebaseAnalytics/AdIdSupport (= 10.20.0) + - FirebaseMessaging (~> 10.24.0) + - FirebaseAnalytics (10.24.0): + - FirebaseAnalytics/AdIdSupport (= 10.24.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseAnalytics/AdIdSupport (10.20.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseAnalytics/AdIdSupport (10.24.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - - GoogleAppMeasurement (= 10.20.0) + - GoogleAppMeasurement (= 10.24.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseCore (10.20.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseCore (10.24.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.12) - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreExtension (10.20.0): + - FirebaseCoreExtension (10.29.0): - FirebaseCore (~> 10.0) - FirebaseCoreInternal (10.29.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" @@ -49,7 +49,7 @@ PODS: - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - - FirebaseMessaging (10.20.0): + - FirebaseMessaging (10.24.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.3) @@ -57,29 +57,29 @@ PODS: - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - - nanopb (< 2.30910.0, >= 2.30908.0) + - nanopb (< 2.30911.0, >= 2.30908.0) - fmt (9.1.0) - glog (0.3.5) - - GoogleAppMeasurement (10.20.0): - - GoogleAppMeasurement/AdIdSupport (= 10.20.0) + - GoogleAppMeasurement (10.24.0): + - GoogleAppMeasurement/AdIdSupport (= 10.24.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (10.20.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 10.20.0) + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleAppMeasurement/AdIdSupport (10.24.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 10.24.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (10.20.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleAppMeasurement/WithoutAdIdSupport (10.24.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) + - nanopb (< 2.30911.0, >= 2.30908.0) - GoogleDataTransport (9.4.1): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30911.0, >= 2.30908.0) @@ -159,11 +159,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - nanopb (2.30909.1): - - nanopb/decode (= 2.30909.1) - - nanopb/encode (= 2.30909.1) - - nanopb/decode (2.30909.1) - - nanopb/encode (2.30909.1) + - nanopb (2.30910.0): + - nanopb/decode (= 2.30910.0) + - nanopb/encode (= 2.30910.0) + - nanopb/decode (2.30910.0) + - nanopb/encode (2.30910.0) - NFCPassportReader (2.1.1): - OpenSSL-Universal (= 1.1.1900) - OpenSSL-Universal (1.1.1900) @@ -1682,12 +1682,12 @@ PODS: - React-Core - RNDeviceInfo (14.0.4): - React-Core - - RNFBApp (18.9.0): - - Firebase/CoreOnly (= 10.20.0) + - RNFBApp (19.3.0): + - Firebase/CoreOnly (= 10.24.0) - React-Core - - RNFBMessaging (18.9.0): - - Firebase/Messaging (= 10.20.0) - - FirebaseCoreExtension (= 10.20.0) + - RNFBMessaging (19.3.0): + - Firebase/Messaging (= 10.24.0) + - FirebaseCoreExtension - React-Core - RNFBApp - RNGestureHandler (2.24.0): @@ -1788,9 +1788,9 @@ PODS: - segment-analytics-react-native (2.20.3): - React-Core - sovran-react-native - - Sentry (8.49.2): - - Sentry/Core (= 8.49.2) - - Sentry/Core (8.49.2) + - Sentry (8.50.2): + - Sentry/Core (= 8.50.2) + - Sentry/Core (8.50.2) - Sentry/HybridSDK (8.48.0) - SentryPrivate (8.21.0) - SocketRocket (0.7.0) @@ -2114,16 +2114,16 @@ SPEC CHECKSUMS: boost: 4cb898d0bf20404aab1850c656dcea009429d6c1 DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 FBLazyVector: 430e10366de01d1e3d57374500b1b150fe482e6d - Firebase: 10c8cb12fb7ad2ae0c09ffc86cd9c1ab392a0031 - FirebaseAnalytics: a2731bf3670747ce8f65368b118d18aa8e368246 - FirebaseCore: 28045c1560a2600d284b9c45a904fe322dc890b6 - FirebaseCoreExtension: 0659f035b88c5a7a15a9763c48c2e6ca8c0a2977 + Firebase: 91fefd38712feb9186ea8996af6cbdef41473442 + FirebaseAnalytics: b5efc493eb0f40ec560b04a472e3e1a15d39ca13 + FirebaseCore: 11dc8a16dfb7c5e3c3f45ba0e191a33ac4f50894 + FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd - FirebaseMessaging: 06c414a21b122396a26847c523d5c370f8325df5 + FirebaseMessaging: 4d52717dd820707cc4eadec5eb981b4832ec8d5d fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 glog: 69ef571f3de08433d766d614c73a9838a06bf7eb - GoogleAppMeasurement: bb3c564c3efb933136af0e94899e0a46167466a8 + GoogleAppMeasurement: f3abf08495ef2cba7829f15318c373b8d9226491 GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 @@ -2131,7 +2131,7 @@ SPEC CHECKSUMS: GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 lottie-ios: a881093fab623c467d3bce374367755c272bdd59 lottie-react-native: 3ffec00c889acded6057766c99adf8eaced7790c - nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 + nanopb: 438bc412db1928dac798aa6fd75726007be04262 NFCPassportReader: e931c61c189e08a4b4afa0ed4014af19eab2f129 OpenSSL-Universal: 84efb8a29841f2764ac5403e0c4119a28b713346 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 @@ -2202,8 +2202,8 @@ SPEC CHECKSUMS: RNCAsyncStorage: af7b591318005069c3795076addc83a4dd5c0a2e RNCClipboard: 4abb037e8fe3b98a952564c9e0474f91c492df6d RNDeviceInfo: d863506092aef7e7af3a1c350c913d867d795047 - RNFBApp: 20bfba7e2a61a959518c1d57e5d48817c62ed3f6 - RNFBMessaging: 48579eec1f6ffaed4038b67426d7076963ab9401 + RNFBApp: 4097f75673f8b42a7cd1ba17e6ea85a94b45e4d1 + RNFBMessaging: 92325b0d5619ac90ef023a23cfd16fd3b91d0a88 RNGestureHandler: 9c3877d98d4584891b69d16ebca855ac46507f4d RNGoogleSignin: b8760528f2a7cbe157ecfdcc13bdb7d2745c9389 RNKeychain: bbe2f6d5cc008920324acb49ef86ccc03d3b38e4 @@ -2221,6 +2221,6 @@ SPEC CHECKSUMS: SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178 -PODFILE CHECKSUM: 92a3feee42b02b97fbe3c56db97e6a79cc92f2c1 +PODFILE CHECKSUM: 4c1f9edcbeb4d0ce27f59c7f64ba1f803e06511d COCOAPODS: 1.16.2 diff --git a/app/ios/Self.xcodeproj/project.pbxproj b/app/ios/Self.xcodeproj/project.pbxproj index 71323e0b1..521e45870 100644 --- a/app/ios/Self.xcodeproj/project.pbxproj +++ b/app/ios/Self.xcodeproj/project.pbxproj @@ -511,7 +511,7 @@ CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassportDebug.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 119; + CURRENT_PROJECT_VERSION = 122; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; ENABLE_BITCODE = NO; @@ -649,7 +649,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassport.entitlements; - CURRENT_PROJECT_VERSION = 119; + CURRENT_PROJECT_VERSION = 122; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; FRAMEWORK_SEARCH_PATHS = ( diff --git a/app/package.json b/app/package.json index c99c292da..f476f30aa 100644 --- a/app/package.json +++ b/app/package.json @@ -50,8 +50,8 @@ "@react-native-async-storage/async-storage": "^2.1.1", "@react-native-clipboard/clipboard": "1.13.2", "@react-native-community/netinfo": "^11.4.1", - "@react-native-firebase/app": "^18.7.3", - "@react-native-firebase/messaging": "^18.7.3", + "@react-native-firebase/app": "^19.0.1", + "@react-native-firebase/messaging": "^19.0.1", "@react-native-google-signin/google-signin": "^13.1.0", "@react-navigation/native": "^7.0.14", "@react-navigation/native-stack": "^7.2.0", diff --git a/app/src/screens/misc/LoadingScreen.tsx b/app/src/screens/misc/LoadingScreen.tsx index 749779265..f8de28869 100644 --- a/app/src/screens/misc/LoadingScreen.tsx +++ b/app/src/screens/misc/LoadingScreen.tsx @@ -18,11 +18,11 @@ import { getStateMessage, setupNotifications, } from '../../utils/notifications/notificationService'; +import { getLoadingScreenText } from '../../utils/proving/loadingScreenStateText'; import { ProvingStateType, useProvingStore, } from '../../utils/proving/provingMachine'; -import { getLoadingScreenText } from '../../utils/proving/stateLoadingScreenText'; type LoadingScreenProps = StaticScreenProps<{}>; diff --git a/app/src/utils/proving/stateLoadingScreenText.ts b/app/src/utils/proving/loadingScreenStateText.ts similarity index 89% rename from app/src/utils/proving/stateLoadingScreenText.ts rename to app/src/utils/proving/loadingScreenStateText.ts index 9dbc03c4d..d36114112 100644 --- a/app/src/utils/proving/stateLoadingScreenText.ts +++ b/app/src/utils/proving/loadingScreenStateText.ts @@ -16,27 +16,24 @@ export function getProvingTimeEstimate( ): string { if (!metadata) return '30 - 90 SECONDS'; - const algorithm = metadata.signatureAlgorithm; + const algorithm = metadata.signatureAlgorithm?.toLowerCase(); const curveOrExponent = metadata.curveOrExponent; // RSA algorithms - if (algorithm?.toLowerCase().includes('rsa')) { - if (algorithm?.toLowerCase().includes('pss')) { + if (algorithm?.includes('rsa')) { + if (algorithm?.includes('pss')) { return type === 'dsc' ? '3 SECONDS' : '6 SECONDS'; } return type === 'dsc' ? '2 SECONDS' : '4 SECONDS'; } // ECDSA algorithms - if (algorithm?.toLowerCase().includes('ecdsa')) { + if (algorithm?.includes('ecdsa')) { // Check bit size from curve name - if ( - curveOrExponent?.toLowerCase().includes('224') || - curveOrExponent?.toLowerCase().includes('256') - ) { + if (curveOrExponent?.includes('224') || curveOrExponent?.includes('256')) { return type === 'dsc' ? '25 SECONDS' : '50 SECONDS'; } - if (curveOrExponent?.toLowerCase().includes('384')) { + if (curveOrExponent?.includes('384')) { return type === 'dsc' ? '45 SECONDS' : '90 SECONDS'; } if (curveOrExponent?.includes('512') || curveOrExponent?.includes('521')) { diff --git a/app/tests/utils/proving/stateLoadingScreenText.test.ts b/app/tests/utils/proving/loadingScreenStateText.test.ts similarity index 99% rename from app/tests/utils/proving/stateLoadingScreenText.test.ts rename to app/tests/utils/proving/loadingScreenStateText.test.ts index 0b371f205..1a69c8e7d 100644 --- a/app/tests/utils/proving/stateLoadingScreenText.test.ts +++ b/app/tests/utils/proving/loadingScreenStateText.test.ts @@ -1,9 +1,9 @@ -import { ProvingStateType } from '../../../src/utils/proving/provingMachine'; import { getLoadingScreenText, getProvingTimeEstimate, PassportMetadata, -} from '../../../src/utils/proving/stateLoadingScreenText'; +} from '../../../src/utils/proving/loadingScreenStateText'; +import { ProvingStateType } from '../../../src/utils/proving/provingMachine'; describe('stateLoadingScreenText', () => { // Default metadata for basic tests diff --git a/app/yarn.lock b/app/yarn.lock index 55362c537..0b4318448 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -2232,9 +2232,9 @@ __metadata: languageName: node linkType: hard -"@react-native-firebase/app@npm:^18.7.3": - version: 18.9.0 - resolution: "@react-native-firebase/app@npm:18.9.0" +"@react-native-firebase/app@npm:^19.0.1": + version: 19.3.0 + resolution: "@react-native-firebase/app@npm:19.3.0" dependencies: opencollective-postinstall: "npm:^2.0.3" superstruct: "npm:^0.6.2" @@ -2245,20 +2245,20 @@ __metadata: peerDependenciesMeta: expo: optional: true - checksum: 10c0/8780772cf9d778709903db20d039472b57f8dd7b694f9fb0e2439c9135916125114cf871fba1a571161dbd4b08de729336924b9fa36c4742e83e0bccf3b98ac7 + checksum: 10c0/3c20b94935ca03407aa1ad159938c8d7dc2e129f8bd2ebb6089698ff05431c6c286ee320d61b7c225c82eb89e9eb0b995399f01d181ac7e1e78150de32515214 languageName: node linkType: hard -"@react-native-firebase/messaging@npm:^18.7.3": - version: 18.9.0 - resolution: "@react-native-firebase/messaging@npm:18.9.0" +"@react-native-firebase/messaging@npm:^19.0.1": + version: 19.3.0 + resolution: "@react-native-firebase/messaging@npm:19.3.0" peerDependencies: - "@react-native-firebase/app": 18.9.0 + "@react-native-firebase/app": 19.3.0 expo: ">=47.0.0" peerDependenciesMeta: expo: optional: true - checksum: 10c0/7935210c73a79eb17c36a99c6e66d90dff36109d77f9b9dc8fc0108998c41f2d1e3d6780f2ae64dff267bcc18f761a0c6d68638c7deebe2a4fa4cc5905158ca0 + checksum: 10c0/57c0a86074b9827b699262857ac329e49c92b942bf2c8cf3fca5c42d21a7ea8f556a6901606929dba1f47bdf1a8c121576ae5db658244af328eedce1941224ac languageName: node linkType: hard @@ -12100,8 +12100,8 @@ __metadata: "@react-native-clipboard/clipboard": "npm:1.13.2" "@react-native-community/cli": "npm:^14.1.1" "@react-native-community/netinfo": "npm:^11.4.1" - "@react-native-firebase/app": "npm:^18.7.3" - "@react-native-firebase/messaging": "npm:^18.7.3" + "@react-native-firebase/app": "npm:^19.0.1" + "@react-native-firebase/messaging": "npm:^19.0.1" "@react-native-google-signin/google-signin": "npm:^13.1.0" "@react-native/babel-preset": "npm:0.75.4" "@react-native/eslint-config": "npm:0.75.4" From 5c7caeafcd829b86ab64603944a888bbef87b4f8 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 19 May 2025 11:39:39 -0500 Subject: [PATCH 36/49] update react native keychain to fix could not recover issue (#564) --- app/ios/Podfile.lock | 23 +++++++++++++++++++++-- app/package.json | 2 +- app/yarn.lock | 10 +++++----- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 5fb38750c..1845ddb38 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -1714,8 +1714,27 @@ PODS: - RNGoogleSignin (13.2.0): - GoogleSignIn (~> 7.1) - React-Core - - RNKeychain (8.2.0): + - RNKeychain (10.0.0): + - DoubleConversion + - glog + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - RNLocalize (3.4.1): - React-Core - RNReactNativeHapticFeedback (2.3.3): @@ -2206,7 +2225,7 @@ SPEC CHECKSUMS: RNFBMessaging: 92325b0d5619ac90ef023a23cfd16fd3b91d0a88 RNGestureHandler: 9c3877d98d4584891b69d16ebca855ac46507f4d RNGoogleSignin: b8760528f2a7cbe157ecfdcc13bdb7d2745c9389 - RNKeychain: bbe2f6d5cc008920324acb49ef86ccc03d3b38e4 + RNKeychain: 4990d9be2916c60f9ed4f8c484fcd7ced4828b86 RNLocalize: 15463c4d79c7da45230064b4adcf5e9bb984667e RNReactNativeHapticFeedback: e19b9b2e2ecf5593de8c4ef1496e1e31ae227514 RNScreens: b7e8d29c6be98f478bc3fb4a97cc770aa9ba7509 diff --git a/app/package.json b/app/package.json index f476f30aa..512fb0d6a 100644 --- a/app/package.json +++ b/app/package.json @@ -88,7 +88,7 @@ "react-native-gesture-handler": "^2.22.1", "react-native-get-random-values": "^1.11.0", "react-native-haptic-feedback": "^2.3.3", - "react-native-keychain": "^8.2.0", + "react-native-keychain": "^10.0.0", "react-native-localize": "^3.4.1", "react-native-nfc-manager": "^3.15.1", "react-native-passport-reader": "^1.0.3", diff --git a/app/yarn.lock b/app/yarn.lock index 0b4318448..2ffff942e 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -12164,7 +12164,7 @@ __metadata: react-native-gesture-handler: "npm:^2.22.1" react-native-get-random-values: "npm:^1.11.0" react-native-haptic-feedback: "npm:^2.3.3" - react-native-keychain: "npm:^8.2.0" + react-native-keychain: "npm:^10.0.0" react-native-localize: "npm:^3.4.1" react-native-nfc-manager: "npm:^3.15.1" react-native-passport-reader: "npm:^1.0.3" @@ -12830,10 +12830,10 @@ __metadata: languageName: node linkType: hard -"react-native-keychain@npm:^8.2.0": - version: 8.2.0 - resolution: "react-native-keychain@npm:8.2.0" - checksum: 10c0/7c32335f673c60bd64576bd21b087cdf601087f1588296367546b5fca15aa83be86723d5414ea90667ebc251237918853f65147de7f8df0707b228e6a13ab829 +"react-native-keychain@npm:^10.0.0": + version: 10.0.0 + resolution: "react-native-keychain@npm:10.0.0" + checksum: 10c0/a632ad27e58264506d2b373d329a867f042fb014e8a78db3a63031e953d61b5c98066eed1be238ee6c186d3f213d0efaa2a26526fb3a1d36a624c4460e982230 languageName: node linkType: hard From b6da665a115780c9ed11b8c4c6e16780aa06012d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Seshanth=2ES=F0=9F=90=BA?= <35675963+seshanthS@users.noreply.github.com> Date: Tue, 20 May 2025 20:57:20 +0530 Subject: [PATCH 37/49] fix: update ocr corrections (#563) --- app/ios/LiveMRZScannerView.swift | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/ios/LiveMRZScannerView.swift b/app/ios/LiveMRZScannerView.swift index 034cf4044..67b05c843 100644 --- a/app/ios/LiveMRZScannerView.swift +++ b/app/ios/LiveMRZScannerView.swift @@ -13,10 +13,16 @@ struct LiveMRZScannerView: View { func singleCorrectDocumentNumberInMRZ(result: String, docNumber: String, parser: QKMRZParser) -> QKMRZResult? { let replacements: [Character: [Character]] = [ - "0": ["O"], "O": ["0"], - "1": ["I"], "I": ["1"], - "2": ["Z"], "Z": ["2"], - "8": ["B"], "B": ["8"] + // "0": ["O", "D"], + // "1": ["I"], + "O": ["0"], + "D": ["0"], + "I": ["1"], + "L": ["1"], + "S": ["5"], + "G": ["6"], + // "2": ["Z"], "Z": ["2"], + // "8": ["B"], "B": ["8"] ] let lines = result.components(separatedBy: "\n") guard lines.count >= 2 else { return nil } @@ -109,7 +115,7 @@ struct LiveMRZScannerView: View { VStack { if !scanComplete { - Text("Position the camera 30-40cm away from the passport for best results") + Text("Align the animation with the MRZ on the passport.") .font(.footnote) .padding() .background(Color.black.opacity(0.7)) From 6c5ff79c6616320badf832285c14266b74681dc1 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Tue, 20 May 2025 12:54:18 -0500 Subject: [PATCH 38/49] Chore: Polish proof history to prep for release (#566) * clean up nav and home boundaries, passport data screen insets * migrate proof history screen out of settings * minor clean up * save wip * add new ibm plex mono font and clean up proof detail screen * remove test data * remove extra loading screen text * remove unnecessary ceil --- app/src/assets/fonts/IBMPlexMono-Regular.otf | Bin 0 -> 82328 bytes app/src/components/NavBar/DefaultNavBar.tsx | 3 +- app/src/components/NavBar/HomeNavBar.tsx | 11 +- app/src/navigation/home.ts | 16 ++ app/src/navigation/settings.ts | 15 -- app/src/screens/home/HomeScreen.tsx | 4 +- .../ProofHistoryDetailScreen.tsx | 56 +++-- .../{settings => home}/ProofHistoryScreen.tsx | 202 ++++++++++-------- app/src/screens/misc/LoadingScreen.tsx | 8 +- .../settings/PassportDataInfoScreen.tsx | 17 +- app/src/screens/settings/SettingsScreen.tsx | 5 +- app/src/utils/constants.ts | 1 + app/src/utils/fonts.ts | 1 + 13 files changed, 199 insertions(+), 140 deletions(-) create mode 100644 app/src/assets/fonts/IBMPlexMono-Regular.otf rename app/src/screens/{settings => home}/ProofHistoryDetailScreen.tsx (84%) rename app/src/screens/{settings => home}/ProofHistoryScreen.tsx (65%) create mode 100644 app/src/utils/constants.ts diff --git a/app/src/assets/fonts/IBMPlexMono-Regular.otf b/app/src/assets/fonts/IBMPlexMono-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..e5b6bfed7a43c85006feae87acb008e214c30a52 GIT binary patch literal 82328 zcmbTe2S8Lu7ce?=ckf-;3rkscDeD&Ou^??JVxwEIVQ)y4wiKx<_KLlW#@>60y^D#7 zT`X84iP(}DV-jODgSi;rxp!8?H$6#eF!>J0a8icQU*8jd3eE z#_D*4%f#o5oH-7O31~v7C8PX^zcrLauEcM91e%fZ3{s%B*1QZEP^dL8uh)i!{BUbM zhj?VM<`t+nDz@frp#Fk2Z;SlUEo+`f?wGUY?T|AzTJ!d30rs)xRmcOMrFkIA8CO~J z81lbb^9)ks_tv}&IWf-Gyc~HjjjVYVX_)rbJcrzvSdamh+XA11nG9Nz;=|U~r~Om%^3!v&O;W3R&p$xgW=hXD zC725G5|UH067n)lIU_#O&XlGvF%>0bo03!VOfd-w*-(|90x+e@ z*qr>V1WQVGT0uc>+cs^Ai;KMy0Z^6%$15o(tKNh3#4NFm6Kgy>XS2~pg18f zMP$K}o|KZE4|Eo0i--!+QcQii#F%>KrexE`F|plBw*IQk|c@}(k%&z zmK0NQdO;cpCMvYIDWRaP$x26lQeJv)LB3ahy2UFeFSSk2sF?r#BtJbX7a&=3ic|8E z67o|_3I9=(nr}(SPXn^E3$qe|?lCEOIk}bu5O%$a1Ph2OJE5RHsFeIMDFp>}Ppr-J z(^Ip<3N5J#dFdeXa2Qz@;LbE6Cod}>g`*sli$8 zdtYel4S)V9 zQd&iv#Q;4Iq>v1`bP2B)$U8@>`5>)ifHWE;myR+4izxj>_!F^YB9V$-@LZIn3FI!~ zG)ZvsAdP{tSVLQ-LvKoFUCUU&l`qjMYA9RMegSB?EouXQ#nPV_V51aeL7ENFMS8q| zlN{(Nj+g)Jkq&*bKDOx#t*DHnBnaXN>jSwF(6bnziE{j)1q-xHl4udfk|@tY38y%& zME#^mZTo;eVxZg;Xcg%;p*qMhpFj|K|MwX20m{UW3Dr^dDc%p%BuFw%m&R!#e2a97 zniA=tBPI&;(Ob$FfYeO?l1D!9BI-UDdgKE}ahzHp6}6rU67C6f$Nc~5(-~kC13q!Q zj*;LcLM{o$L~CipWdTlcjHE)F5zs0Ja^i?ff>xruL|(*sDvleGDsgs-Jw}4OsoYaR z%URGi0iKK0drIv@xKs`ni2_kCB1}&ftTDVb*_$*b50k;v(A3oQnaSJaXKHJTFby~5nns&un%0{(nYNhr znD(0vnU0%Ina+5sJ++<rj=AZZP-@ShiyqRD|wS~Db1hiU$)=50A z!+Y^n{5Rt!@pOXuhPfw0GVUW!O@SvQZy;|X_m(HhGvs;l1@a2{ckHVQyUHU2qp(lgI^22ai`_TN<45dB~y&n2KdGojo{uVw|J+ynsL#^T=_fYnW(q51D!k%Uw{LOzf=fS3jhKE{&9wfnM>Vu*OsSjcvm>>8*7<#|* zyVg~25UT8n5L?a;lc&I#ya^Cq!sl<;P&i`f2YZj}%uS|}dBp(j^dIxLIPN}_WR5VT zoyC$YLbgG+Nw!6{OYR8cu!9_SWzuITs{$NN*%qvq*p7aSx%&Uu2K7rH@~jK1Wm`d? zb{}eJ%KAeceE#zv+fc;yp;*d>(Q3><^UyGuWrJb<2BD!S4lP5A zQ5nqW-eBE|V7AUdgXG||!+e#)UXFwPlnu<^60i<)d)gM_17w z=naf20sVvCV*_@>I@|#LjeT(lHsc^1ii6Q2+z}_^IGlhJ@n}2@m*CmxGM0vd@9+_D0aXn zuofT38hjo%#9w0*K84-!H`o)O#jf}QZiFx6X7~zjjz5DL-U3(PR`?ojiLc|<_y+dE zH*p(WiGA=b?2Y~K9qf-E;tu#84#3s8J^mec$1iaY{0jHNf50sI6Zgh{;lB6{?t@?B zSX_&T;=l1={1y*llsJP?;8gq`4`*y~I>X@+j15j>w77`zz+;#Oj0sO<8sf=}C!U1+ z%xPu@GoLxe zoPbs06tkY$$edwTF)NsT%yH%|bCkKwEM|UUw#Yc+hr_sj`@Yz!MtF0f=&2>`IFhtyk-tCzcRa+ zznDV|VGheMQ!bM+U&`dnSIoD}EoLE82CLN+ucnGWVI~%#X}w<{7h<`Hk7l{LbuQUNU=`H_SoiGBcB@VU93AGus$9Jc`laLdF#r z<5F}1&q9~*Qgj>6O77z2=pJ5yzQxPX9XN-%ju)Yucrm(#m!L|#5Z%B#Fvh#E4AvbE z)>8%E50?1=R^o%0$6sI@d=4A&msk%gZCm^Rx5LkIXZ!+p#lPZi_%|Gbf5Bbw4>%nE zgd_1Y9EE?z(fCIk!N_nD!{QXi4qF%%&So5N4&#V(8GD??=1+#5P7^@^u|RmCkg!85vUZ+M62Y3zz5im4xoeR5ZaCo zqa(7mvW_xunUBn0W|jrW0%bw6U|EQ)ovgjAgDgxIE{g<9+*j657A1?8b&++Jb(Qs! zb(8gGnxgsWbF@y@Q`TM9Llz@%DsPTBES`>8hqe3(jL z@)%ef=7ZG->jyiM0n#WC$HOAD2A41mz-!$O9$^|fi@t=Bu@c6~2s8%PlC7|!Y=d=# zt{-2CYX@-ny|ik`v8!AztCjs@wOw{#x$Nbvh4#&D2{V5->FJNgmJ zU1}UbjEH5i_|4f#1qCA(6f*JKMn1<53mxoa=k4Uea^cn627mv_!h_J`4i_N#;Rk2< zj+pEun+)(_RdoOznLy`$FhY8xK`{O^VU-<+romWU0aDzK_Ms!_H2NA{LATHo^c(sM zG{a+OSZz$O!nDDGux>=c%p8D+z#5m1bHOT%$J6i}ycjgG9wf6D)~!=8voFJ{^DV41 zKf-K&jRjayZ5cJ=!FV#wnKn!SSlI}$ssz{(u~i+2NT;?K-m84I4N zQPv9PTa>JiEMAr+8zY+`ns&D;g_WDtr~~6yb`lir$KWis6b8iY!HeqC_!S zF;g*Lu~e~6u|u&>aaeIu@ulL5;+EpR;*sK+;&;Vgigz}08{Wp*#@)tf)50derjt#C zO;4MCHbZSj*ksuh*p%2zwkfrlWwX$x%w~hl9-D(U$8El`xny(Q=8nx{n;&d`v3X_l z))v{?+q&2qZ5!LRwDq+Ow(VpaZQH}PpY2fFB-;$zT-zes$+o4o3v5@~ZnfQGyWjSx z?HSu|Y_Hhfvb}Hn$o4neH@3A(tW+rNlxn4i(o@-7*+v=UH$?81OJ*A>=-*IJ2yL{otK^2uAN;syI8vfyEMCE zyYY6@?3UQAwA*0!h22rR^LE$lZrgol_r&hG-CKKPudr9yYwR1?H?sG&54P`Y-_yRo z{V@Av`%L>h`_c9j?Pu68vtMn$$$qE(e*0tg<@V?8ui4+W|IYr2{VV&oDx|Vkd8j;9 z%~fqw0jl<@2vs*#tZI-dUX`lKRu!tos-~!BsTQi1tJbQvs1B)4s=iWPQr%G9Q&p>e zRQ;-Ytr8p<2U`b62UiD!LlcKq4t@@89YP&CJM?tu?=Z|E*&)**&tbH~M28s;^Bk5s zta8}su*2aChocT>9KLb5>QL!WDb({jbnggd&daJ zZjP~zgB;@>QysG%3mwNgPH~*&xX^LA<66fpj=LQXI-YR+(($6>b;rAo4;+7ReBt<~ z1(GePPd%yJ3VrG=JdPMUrz6w<<7jbv$MOi$@w#9ALn4_aOW83e$K<3 zQ=LaTk8z&jJllD(^J?cU&U>AYIG=UC>|E(w<^0(BXXlsB#Q7gJtF}|C)gEe3b#rwa zb%46PIzrt|9jhLsj#sCuv(<&_vFa)6S?Y!A-*VT8`57a-X zU#S07|LuZZY+M{%v@Uv=#x5;gd|iTFI=Mu<^l<6tGSnr>CBtQ;%P5x#F4JA+x-4;7 z>9WCPyURY8BQB?1zIM6da?9nu%OjU(F2B3{D=*YFx=jl0IAX{Pbgm^JM*;hL_R z-kO1$;hGVeEKPx?L^D}4Q?o!*rdgxetl6bGpgFENtGS@5(A?2{uX(EZMe|DYR*SR> ztxBuWHqbWGw$S=$gR~vBQQGd>zS<$$L~Xh@S6i$dubrlyqg|~1T)SSoO}kfnSbIu) zPJ3B3Z`wE7T34B?($&e;&DH4I)U~y%ziWtVm}?i;UakXN<6Ki*Ew1^l zV_YY>mb%V&UFN#lb(8B(*Zr=?T+3b0yIym>?fRYT6W8aif4J7TzIWr??A=`4bZ!mZ zK6CSS3v}z?7U>q_*2itITZ&tb+bFjQZqwc7x-D^A>9)abyW2juBW|bNzIMCfcF(Qa z?MJs?-Cny1?u@&wyQ90SyQh0gcYpT|?%mu6x~I4oxKD9k7%5I{FI`UY$=x_zEP5L+38k5h1u!whRK^IJ~Z*AiCIj1eWb+Ok5>Bm(N_xM z8wE;WLT+we&Zv};g$b7IoB}Deq~zyInbf=#ct4RR?@&s3 zs6QoZUQ3>;~=QY3!X2b2+OfwE&Qh)mVX)~Bf;-2$)w>OqUDR|pHNU$7D&Aq}%4r3G`n zW}%-HBI-Y>4=psf{*y3TNJx=LOQPRN380sxI@u&8=M*F)!HdFzWa&{d=naOgB-IqD zCgo!bN*C2aSQxw;6?L3Kg+iZEeT7j4hf}qMQw4`p1&528_4YLfr%EVN>nKTu7nxb0 zT9KC2k2q;F%1OP(A1dm)SZh9Zq~)~4guJvm9O-pKHbR{CK9S+#oPZ=aowAco*-4jF zn4XcIA&E_**)Nb5GV0)E)}uKSCVWb^B_SJTwMFV>k>qEo*Tw?mWlPVprDxgoo@FP9 zw>scmXBvP>&8bJJI5mMpD%|j>oU}riPI-k{mW0BB97=YM^wLy(pu9y= z$w$!s5mY&mR4WnIgeo<{+LF$`h`>AvAiSsrJ?GUUHD9XFPfAIKcc}^ab@Irs*GQC^ zPhb?-Ie1B)oM^Gmy8_Tifdo+!s*gycw@-jyVLgULBjghqNy&%|EUeFPA!WGGI_$(* zSSTs0@FU-ml$$8ZTclMAl>JDNeQ%!#(M&=j8aPP8X%bp2F;-m1Q1J(&Q7l=A(RELt zhfidbd9+kd3v|3k1&@)SjQKbeL+eo^GiNMMBYC_Qf5BD9PcJkZ|i9vkqX9WN)9KsAvgAbR8wp^@dIKN1UBuq;#%p)TN#j zqq=--B~cbGE=@2+g1S)3x=_lxNCTrw*DhTp30S}DKz6H#H%4j_Bk>(mzaB94ke>CB zp7p5rEHXQ_XB}16xfD(%5gysI{;=&y3F}!mPkVkGuMw2`NGc|2F#1GBP)SBo5n8R4 zG+yDEwIv+`5dpCheX$aKvGwTdBh~k@&eJ}1jQ6S6NRnJ|WM7bWUkQS!C0`$rCYYDL z{pvAD%|oPhdIt2X&tN~wU_UDPe&R^(CyBq`M?NFz_=%z{MOwM0;))d6g_$TV4?Yp% zRDu#U4iUivBt{0*F)-l6yc{6Szd?0Rpd-vn|3UTUB^``WL4zeIgFgwxvyi zx4#c%+lR6(dFN0``SkgePigA_4=JBMlrbO5m=EQI&M|+VPf4dMqQB3lD)OP6_)yY) zDCs_wR$rPrRbOVRsM^wRFc z+uzrU{!>v&PK39=WDOyy^J&GpdJ~CGb$>IZGnf(|MM(*^R#Gy}ls_|VLT!V;nKCAM zHQxT=l<8pFJ%AD|xjNqd!IUA%h@f%KW=lz5x1l9#qL-u|H!bSMQaZGNC11ueNR-u_Wm z&{X5n-pSiv+O$DJpG8qINgFDtq$EYr1RN`o2(wj^R;sDq&6Geh)w`LB&`e1Rvx<;H zk@kE5ns%2qV!#-MDJ@2zTdJf8supjGHkejMQGCHxC0U!$XWmw=(k9+kty0NLTL+Le zeHK8aD=myrNvW3BN6;z-CM`|g{@zrc(t-*ls~TzdU|NzqFn~hE>TOjcCD7ZdMoLR0 z#U4nXNoyFWkv@|gE>NSj0|hO)W}rq2T3YQujaJZBHPS?K=|HUXSrmmSxqDDa`HP}S zfVDdnxi{5=w^e3Tjo!4Sx3#5JjaHe_XJJ+XtwhkuKoPC4cc3UiNUS9h5tKv>kcb!{ z5j#L43d`3!h;|4P^#>&pEhM7eA)!!$D3l-yC5S=^qELc@rNbULQ4u$hUScYq>qx0| zt|R88a~&xop6iGi@mxnrrE?uIN6&S{oOG@uW+ceT**S1$HpNR!MaWVrK^AioWGN#; z7BeDbDU~3LISN_KNsz^i$eoX5vLKO|^pU0(lq4p7q&Wp8iAf*HJU~g*0wj{ee54r$ zB~clWh+`EJQ74c{(hQ{MK7rEmLGClC6(q>YzliOT)|8 zhaT;ONo$vHm^5~L!|173m^VdB4}p9nd*bUOdGC-={(`NEq)Q)ZbOKC@PqGByD^mXG z0g;bnI(*IE61Qe)enUwj*DTouC`mBQ-V#i+G>)NCf@zkgZHCuwVz}X;1vRe;Tt4TEbT<4oU~7sa%nj^nNmh#@52UHYWblc?ax0H zq@HyfU#VeTQG!%g{8wWU*9SOs<6hTPLQh33{zRjmu)V}GZ7yX$?xbny!}+?{s{YY{ z^i(2G%1NY1xjLM*D4sJ)If?lCIneKL5v-_Wss5w3rIJ+_bv^2^NucUbN=1?Ty0&$! zevn9A?+-PS;H54fYU)7NaZ%T=uC9)iy1M_?_ajXo5Y&@%UC%mNMV7rKFV@$auCd1CJr zGc5RZmH5*n_}Nr)ek=G{PL2hRWS|lbjo}woNeQ{qZ;zlNB`+^0&+GsHkHdPvFMbj% zxQBQ<#~0$?26lHGxhqBH0kx`Vz)kJ0aNSNI>eBh?u0;sn86 zxHy~ycW|=cHqu47>-iJhL2_bDaKFY6ZZCF*`-=VGZp|dPW4H(I4IYF0ftQ%qvSx5Q zEmu}5+bG*EE0+cV$Fp2}XxUcz0<5V#|kFP|k}F5e{IB|j!FmtT?Jmp_7g?Jwm- z{tqi>dDfZrV4JXU>@@Zqdxiap{ReKm1i?L*K3p1?$Bl)%Ez7wb+(E9K`=0xe`;B`e z-Dh!D=-@U>YekSEOcA5#s~D!z=_boQ#m_b&HkmftZH~d+lXr0Aq#4{e z>18_-?v|{!-C%p#_O9(uwlzuzr9s(9>8}h?#whzKla*=8eB~tNeC1N*D&=3bdGi&=$!97(fP3R z3%H5UPd!7uNBzLX4(<~4b{XuF>5}WR%w?m?4wsWIk6r$BAsU^=A8rMV&}70rfDM{2 zHQ#6+YZ=xkG8Q#BJ+=|^w-B!5ma69gH$?XojZU4)ib$4-ZfXzJn0uQ0 zNcS=BrS8kzH@WY2KjD56-m*V&f8qYdgYj_iXyEaghuI_4qr1l-j}(uQ9^*V_!h81h z9@{;>@Hpvl-s7gn_wcs;Pmh0ewmN5>PIGYO+Rerlip?c!6BA2{M;gW{My@PAXdpeb z|Ko{jLS;>5B|p2O#<7CeoY@#aI)tUMs&z$VNG18kSJye!^uv@4TaCFE32~Qqv`IYq@cq;?&`-&kckL;QIGU2sZHA;*}+9 z*REW-c5TVZ;^LB$VgtWbe^>wXe1Ab^AO<}zxaE=NdR}vjTdA*|_^yYP;WcDeg|LfL z4OzG`^`ed!I=wl|XX%GoM&^z-?n)Y==WE()t7?{q1kT`ip`26IT+?3H3mNZvu#dTK z$Pkvy{Afj z;fi42u*;x+BMoPh*yCFcZM&}f_Goe^<3NE?2yHs|ZDmv+YNl5gdh6APTIkhEz@g-N zH#%0ZaXY(X|LQ&4JhqS8G|(VmuCZVotDmA5;t!A2YXm@i*g}8^0;C+>Apl`4uZh|f zAapoU$dWb0?_)uw9lvbi^5x5xEnhxy+4%7jCyqDp@yC8PkQ*UFwL);Z8O~>I%-?=i zZ{P(^A()1HgY@}RWc=yb#m=j1F4XqB#2?$SdCO`ek7w7sknu$|!){I}=Kn3MEd6?+ znMPm)k3(5NmkcPA9oa50#Di63=sW8zd)YC?C6fwuV~Q57$~5xw|26WoX`uO64Okb< z|42+m!YPP}=f2&0^16}#V$sgcM?A`h?vCgUKOD_B97<<5uiW(c4&9!0qemL2Dhi55 zCm7NO?csR!^%_S~uIV5QWM^<4$UuK$VS_o6TsyC~(2y1EqVICwZr}RNMk87B)|L(7 z)XjMkr6qqWDlYH1eE;yU)&}856{%Jbr-)ku3P_3@SZII&Ri)0TX)6sc;crg8Bf6WV zTe}E7K@SfcJ-yyApHpY3UHEn*4qh;BQ(V}0;C|JWeagt^tjNIkgYeHDf1rm0xHli~LtGytEbyo0iu;9H$FN4`g zf+~omm{$n0p8b6d{H2V3yTWyXbH}E<&>>WC7e>K|SE#Dhl~r$hXlffNgrx0_NGyrn z{wGN?)HDjL4O9ra=|O_4;5z*Q(HUw26(Zx`OwbUwN8kKG{85Ppm4ZyGX~(wanh9O~1wRmR0P$-^y0R@fGOe~9 z%kL}OvT47^>G*veJI0R~n7k!#-vq-91<$TpyK?Dz-Kup{$Luun#G(n?14H&qKC6n` zn|ibo#-L(hi_%#Mr_7Is3}#gm*KHiT2ZWP$gEYQb<01|_OvaK1GBQ?pr6CRYWkva) zr|J0F#GY&+_Pq1?N5$k0PntY^LxT7>&ZGqa8<6xBG4kql>13>icfMMk11*G6w*`07 zfmduBvwqmHF@@O%9_E%zQ2b9zIrx8C%8LElF7GsMJr}+q$&;NvE^k(et|V{Hf^o*A zH{k_aW7%#y_h(n=RGM#3ovgSt{9wjddRSII@Iw;C5Iwys;ffB(ACIfki< zoTAam2BDRl7bjn1Y4Y(f`FLsaHD*=Dp&N=a*&&&QqlfE;7p^{$X)M|~w1DNgK+?2$ z_n5Mg^WEnwHZEMTY{MSnOa{6Iae`5>umZyqAN|^;+g@EU^52}B#Y)!H-Un?+mfI*=ZcXHF(CbOSB5>T`^hG=N9A3R+p|N!3%2}&){2Oge zOvQ0M|Lp9=XE!g5h%yMB6j41!L>TyKr}K+Q@Tu#kc~TBzvcqlSPDb%tXRu#QDH}W5 zqiEEmyzJuTpHDEPB(kGc>?k~|){891pmty@S6s@IU0-8hG5W9u_WG5Xg>ee!&RR>UT+AcLYg9$$S(PCt~<Z8boVBta((dw^ryqD%bRz@Uy zn!a?kmY-1h)~WdE8|SL(;x+o>YW2GtP1sm+_z^rks0|&y)aZ8sfW>_(Q`f|F8|Atm01hj z7brH)U%g_(aTtQz+mYZngYrgKKsg6A>xErSGLD_(M$>^fx z7F~Q6^iA8-fPGcv>$62iN9;82AvQN!DdNUtB^f6x=nA~8NS{sJ z6`21?Leh!Bj~*X7HE-6m7T^#Z-Y%}&83))gqsB}s(v2RsXnCHI*9rFR!WxEs5ql}e z2sT+mOnROp9jb{P8BIn95<8)Tk)H#T>am9JKhBcX*CV)M7-?&mQ4_1-J@rSy_5126 z59?H4VNEpYQR^u5fI&S>uM(#rn1Wg`1wz_o()#wZizNH;(v8F;M*LRp zM}IS=tDfJ!apU&w`5Uvc^7FHJO-0R7GPc5BFO=8ZkFLG%ub14jVK+%yu`^#yZW0HM zAfc4yFZTO}*nQLQBCj~MeZ#S1+Y5#n_+sa?w~0>t&ub!j?7MCxJrpqIz(ZiR*-Rgg|(67^i*BE0lSXt zHBGOt(DO(4?mc=mb#Gi;YHA#>7?uSDsNQ;4yz}N%w-rQozWgZ<#wJ%ZHWMzAUgt>Y zdAziew5ue2ugZw$1kJ@0d%s<6oX3T4J(WHf|!z z&MHWoe&0135LXnNYbfPT6(nx$sS6o2pkI-(JcB*HX4B5oy3^Y&zQ+DB3PBOmztLx3 z4Y*@maZ%HM)ULC}&lMLAZ>lt$3FP`(26r`()ipty3wwsOGNucCcPpOnId;LI^3tpK zbtapHZ#3T@J@n<#tj!6_jPn)hecmbXpjX1gtdVgZeUB!5Zy-bEP+KB4PtprXXNjk{ zL%=tll7wqAa`&y1=Hae^-8UI;?IIC+A^p1GL>d+w$4Af9Pt-3tNgU>#zO(y|d-yK4 zdtS!C0G%M~-&FD6qmmtZz|kwp_(4J_U{z5o32jLq?jBo;gM5g!cHt8(-O zRqESI^y(kt^g@6TaJMOOzIArjrCrAPX0FNL0WEsPt=*eu7}}RjICwt0T1Of`cuX1^ z)whMTuQXo$EnB>W76xtA6T-fTJ=q>q zu29!pUVHTT0}q13ZVJ3Xn8a1TV>M(U@l~i_-#eZfX-rf^3{C4`5PZoU4H-ikLzf$e zGrJj+72V=3kp>kBbH4s?47oG&p}LZshLy6-({G99$GE$KextF|a<=)Z%mWua?w23@ z`SGc=f%^^LoMx{L?RY?t>4b*fT?7}u!|jN^!1(QW_Ib&k)M$^uzJr?v#_p=v{m=xnQMM`eLpkevzwv93jO=r_LeUVwId;HbmE9J@C;uec)d3k8b-mND*&iCEZ z2`+iQ02uLEqK z+yUuPx)wdI{%G7-ZJ}YaV{x-P<@(IJrpi!R}$qe$}glp%pdvDhNlE&g6UI+_*~p><-%wB6u9w=rBoE&z|GkS9iry(T;BRs2XUFxb$;3dG5rZ=+BF)w7Ncm*V*|nQ@ z8&@lK7jN#@uXtp-VYDKB?Z~qRb$pFU{y(0n*4@*P{7-8j*$@M@A!8p1-~t-?ry%AqavHYZuu2K1*`GNfihRiu z*|H0_h}?rXN8S-M24T^=9@Sh8DBnmz1^!xTh0ISzTw>CWF;A{*OHT@gMw&o+yPfv z!fO=qa@B8P{c5-?wB{ZOUkB?|2lVRry?XV!$*b3m-=R~rEn|l* zid%8kqx|T$?|wX%n!V9*<|KP&aP$r@onYrTu(2Tjv$%4i@w*A^@u^3~_4DWvn-db; zXWN;fi$EaBEM^Q*Rs{LTHJ_Sxh@2#gb7*z;iRpImiK1iP5~zBYpWle=HD zoQ>jo)yA@uIlr1%){pa(^1UD*A#UPNXh|!MIDvvZhzAS|Cu1bp70i7v8rV%Y6ju+W zb%JrxDIu+kfourVeE+sbFgP!>P6?g4d*84pzc_g4OONv8Bb_3WlZTBploztQm#MfBw8b$TEX7r@x}Av z!A|${{{G#2if2t1dpEbunl0$@kjKelfFhCts&(V!q}Rl(Oj+k-Bbhj!^hEp8)>6Jt++ITX77_ewd zz`R4gnVut#deAqyQAsWoR_ z5y}tgRW%#56~Y8KxyjcnNP&K#p0CnYapa4d)9eCnoDjzfuK`quLinQgG&`MJLE>2Q zIuN|PFlSkL`khuX0@OWmj14!?11%V#~dvHWc`m*ymRVcI(VTz#F zQ~>1i+WTP9MZloOa{j{Q<0poa{9sOKD5SBy2psd+p3uPB(1D#NbP$iN-n^Dht+=Xp z@ftEvTuwsXH4w%q_{TEx+uOk!p>dR;5Qa=LCWxw5imEzP2zuCp1pbj11YOVXaS@Ay)14)2!{1IsZ_SdGw}_z?Kyof8s; zFg8R%#Dp)tT)0Zw!fjo+X3eUv?~r9~Z8>jo{40oC|GR=NJ#q4+EW>n?Nc<~nn}-p9 z{wv}o?f?==7+a+fAjyj*%>^IW_Q7O7wsPGT<9fxGl6Av|l@#R~3Kh94i;fw1NzqLz z)a9U@H5&E0-LM%S5B# zi-_(7X?y|`pUb4x6jjy8#3|)94tO|Kig+yoans`01F6PP5X1-!^Hb0__1Km@?*C>F_2$Fg})U7Uf+Y~ zT1=ZY@6@5kj|QJ$RU)(H(WE@uU;nxOI_!<%kjPUXbGnHhHp$$|LkAY0*Zs9;sNiDc z73cRB_BSRd`llB3gwyt*N+K^JRh6W$67%#d;;tS}-lv?IMo-?gSNWuaY{~dBaB5yu zv}7w^bom77P>xB}1sSR0lQRv1wjmo!HYrrZ4Qwn+&hvta%97_=N<=<-G~@)F!bKO6 zUN>tR!U?J~PnJ~TAF9bN@X5n?5CZ6&EC(S}@sqw7wI)YA4&1zu=UyzFQ#vTY-+Xci zubB2?-kd{&9{Ha*$&*eM#H|8ftjPrtpC-Al>Hm60A)N?CZqs`pN6CtAL@E!2L>oV3)w!eGd!EYl38g7cY$&L3A5oVS;spbnPJM__Xm8 z(hY)3H0i{XHVT-}w^)@pMr*~FLl^=n;28*ov$zzaF3zZ-I|RhQvmo%Q4W7e8C?klu z0f92`at4ASK^zGPaszL9ArJ#ZNP;jK5Jdw*Wk8e(F+@Ztg#ASjodQBnphAo?F~q5W z*T4`_Neqr#f*^DQg1Dv-LIUDk4Mh-13BqrP5qFayJ}`vnMG(6LLM=g@3wVJnMnKzv z&}IaI9nfq90UjVC240OJ$}Gx-fD;Hp5ka&N2+{hG~dU6=E7O5Jw8atf21@(@cq$AjVe)Z^@Ye z8Cr^%wsMGPfgT{HBSzJj0ogu6Oqd#8qBH#=@)u$T$k9{8fEafoW*A1hFax64gCI%} z+KZSZ1fejPWLpSk#bh(+3&f0+K{ywP4a0zH4q&DjLxdP+v;)M5VP;}<1T(WSI)<3J zb`Z~s`J6$=5wjYh6Np)Z(MimJQcfcX4}|6-W)p&U`pjk}M8;zF$xu0B4k{2dK8u)> z7=4ME(+HhI%o#NV;$UuJ2$sU!mO;Q2=34||PMG^oAcPhIAls4bbR!5&B72O{8iY0? z+0*k78AZMep@|4h#%MZ%O9T)%3qoT-3>7p9$#)|Nr6S+MK*$e>%q9P#9fGm&n^vAA zUO{LG0Y775^o<5+JAj#A(610GDiA`kgg{W90eB^Zs@f01d!9ubICfTt{;Vf-_h)Og3DWAe$>&57!L#LYR(I5U?puo+ZzfkCkteKa)R~{|SLM zqSzViV)g_l=W@AqTnz-c7^8S^lVJ0etvkH>FSb3QY^jV>9^qa2cKlhpMs|nnL+snz zceD?+kFbxn?`q%OKHh$${Q~<%_Dk&#+h4MOVPC7VQ#DhCs5+?ns1j8pA;`i})e{Gm zL!85IhaVk{5CCDYV}(<=Qyjd`pYF8S=^g|hNOT^p_E8U3|K^hDvP!G527H$O z+2^0_|Lmt0&Mlg?7~En~i_Isp;_MOvF$n_G8jo!xpt>$9!D^0Ii1^P2Cq&}*aDp*D_f!rQEEbGXg#ZQgpzygj^q zy}Ni1_b&Ec;Qh0YgU@F^y?rb`Q+-zXtnqo_8|a(syV-Z2?@8Z>eypFu&&Mysucu$4 zUzXn}zXg6@``z>V-JkXE?4Ra8$N#GTUH_M6TXQpWKl51gGV^}(b@Sf=ZUF%S{Q`0W zRs~cBybDwZ>I0hvb_nbrXbGGexGL~OkVnv@pmjlKg02Pq9c&Y<3yujM5j;0|TX1>s z!?u>TrENF2J>T|W+h0RGL%c$|hQx;KZf9;cwq04f!|kfuJG2jI-=%$4`$_HBwLj7R zV*BqqC_4mo7|~&FhvOaYba>g(xuajlK^;pvZs@qZ;};!obgb_9wv$sQLnq%((Ve<< zO71kO(}GS_onD5rp&p^;(5TR?&SE}zakq%`b9=X4vQQfIWBTl}s4 zV)WYRe>yvKZqhla^YqTEJ0I(Or;EIczDrV-?@; zyPoORsN4K*d%9J2dm7U;#vIc*W@5~WnDUsam_NI#yASVP)O~*U=RLR{>K@a3Ebg(l zr=q8S&$yl?JvaCKx#wTKn)Zt9)w9=#UK4xG>$R=dyhz4!IL()*`a zKGrw3M{NJtxY!A?i()s&o{X)CeG>b+kE&1OJ^_9D_9^HyqtB{7U-Ws^*U-0Z-;sT< z^!>FT*H7PXQopDDhxO0te`A1Zfa8D$1DX!#HemZe?ZC)^eFtU^Tt4u?Kr-mFLA?hp z7<6dR@j-V6Jsb3V(2K#`;F!Vv2md^z*O1sDmLa=_R1Oh_b{kqU^ybia!@3Vk95!>< z?YPEq(Q%n^o8xZ9eIHjF_s?+0;k}118NPb>?%|h)-;H;UZyui>zdHV8{OS0!@mJ%2 zj{hb8*Z7wS%@XD&yiE`inI`v@cmDKyGuhMjBp=k@#zJo)- z;pvmoZ>Rs0p~=Y0D9bpIi8E!Hy3Fv*ftiCdb22AqF38-K`OKoXgjz~1dn`{ae`dL6 zxo7!g`DJBim;e@ynE;WKhZWlHbNMV<(TDHTKasZk*e= zfN`D1^%<8ju5jGSaht}Y@lNASaUr(@|(0W3*37HdSPdGH;)`UMN z>LzxbXqh;F;@*juC&?#;OiGd@&nA({c9R=U_MSX!@|?*>CO@5GH^n?<(3Jcs zv#0Eta%sxzsr=M{sc}OWTwNmxh=2F3l*-FP&Su zt@L1NdFiFn+ojJ-|0u1U=`d3}(>SxmO!Lgpnb9+2XAYm4Ix~Cb)R`M*?wI+-%+oWk z&8(XFbmng}-_26Ya-P*>R?At@vyx_wowZ@s{#oZ{-I(?5te`Sxn%&wmO>m0i|P3E+p6Fq0}oZLBM<}94EW6tq8*XR5;S2ovXZiBf#bKB1i zo7;bG{M`Jxi{~DidwVXKC!6O!FKXU^c_ZeHo>w|=$-K?;4$M0-uWH_#`P%u7=ljiX zKRA9uXmfl|xm>h{XD&>}lB#Wj~hvRQ9aw=d$Nz zzm&Zw`?c)1vfs;Imc1%_UG`U5P1)be?Ux5HUordq+vex-&hs_?=Vd#!HM`!ftKG$& zf0wLz+q}mAU2}!1u@Y`^kU3TAu`QJ9lW=`%EL@*D*+Q>sqJ#?|WM`FnD7+Wg)k>+h zsCTv2tIp}4SCO5M)MKA(tE%CO&Pno_UOZuhSVJdC+Pn4_^+cz`KcyGM z#;JPs>xr9`>gN*|7mS>r{Sn5*qk5B{<;2VJ)E;HFD9kM_;r=+H)Xvo zeX$abqH7YbPPm{~e@9%jBuaVs_;_WFgW}8WTMwNWuY`L~1Q%Wi?2(y1bQHX3JTWbM zS1(=c$jqb?;|!44`OwReOJ?7+(^ES z7jI3dU$j!f6~0eSc1S~IghBNsyxtg9rM`YoThpLIFq3?)s{G1J!;7kLPC&!DM;9BX z6Rl9fsrOA)swP~kX>kqza-VFtFH6*`W|K6%?BhA%$8DaXZkx9djzE^`;q8QaRG?CQ zGz=tht)^cwzFcFGkw3MhJDef6<3a^Xh%gRrE`^YBp>R2@El0Z7E@xGaC>*su#KDk@kIQN*rTup#z_-56W!y<*2+K(PQ8s<0q}vMPuWjT)ngdd=p> zeE)gRq9)Iqy#Mol@9`hUe^_?r?sNC6otJQ@v`$CLmDs~lNob8(tk^?6(xI{9RH!^r zS}OKW3+Q061Job-oKskz?_~AjTL_Y`H-kWo*+KZ#qZt=|)sR8EJ2c?~%9*TlIVlf1 z-UU3>{2Z1KCajuM+V!2EFTqJwRh2Y6Xxcn@#)oOM6 zjxGq*L~zfR*JI^`rK+9Ap^XrKAz5&$E8ElONPWa5hk?IuJ{L`WerEg_uxi}8!p~U_ObtcDHu7^uONJG^W zJ}gC)QRMJewknS1m{IQU&& zKv$y=7|>7drQUtxN^+|L$U>E_&6-Ux=8hL`?LK#*(C{!exT$Hb)V`l@M?WK*%|-}~ z)e#c^*xk1D86sW~K#_XFza`hC@yzjxcr&7W~hpcBd~5 zRQ1^d`uw%`)z(|MaQ|iAj--SVR}yNcGU%Xn>(MLJm>Mj^AB;JE+mLrtfJ&~X=mB$T6f~&kDAVEIH6 zk5rrND=|BfiQeebCTyrHYhF^7zBMk(*4OTp_>*a^^wZVEr%$g2)G;oQ>hubz&A-zs z-m*{6b)c;-w9D!!+%6r#2IOK%-jLY7ccQ>sus@ULXFDerbuOgCg`JCZziLwZCQx^f zp7u;^vIhn0p5KnTaKqyI#?#EcVc&TAeAD7W_uJv9NB3)!h@JtpU77Tt5j8PpJJ#^O zkPoi8<@)(wez_jf0$lT!{{3qh>8Ydcd4qmuvZ0Zlefi9zN0*1Rhemq)enT2)!?Ddw zH?qsRL5)`Z^whk;EA}m`T(=HWSj8ewaw@uf?%Gk~>hFfJCQa+J+RVNZ*@-0PKnT=? z&>NA={vSI6pIQG6)z7xS@$k1-zdft~5ekjbALAVU4dC$a966G6_#?sLpL)#5>N_^+ zaFOgyuW&$ST`Vlj>c{Mj)KYHmNNz8Gr4H1g+ON!wxmByeIKQAiPIj#dzH*0tO^j+2$Ma`rhaE7nt!%%rc-zvQyIspFhT1_5 z`G)>~-k9&R)Dhsmp2Xyiamix7>WG>W8^*pm-h+I}0c+RD26VvM%~ES++pF#m9Ui%; zep&39NDi68Z>bM5U%JvK?K9cemHoPQ9%D=%DqPxgHZI$6`&_6GmTs3$fvusS-U3oj zC)PS!TesQHYW;`p9%9`dV6FA!{?kMH?ANvlZEPzucSj0enT~Z+Alv-JpRdfM5N&0m z&@02d`O56uua42XT|RUcUc`sAz-nsNE3kI6p(nBA{Rd#lCv~TC1}COWArI~I)X(vG z{h5cJJbue^S4S{siCr!oqOD#Jtlm$tdaJT+qSnNuEb5+RuXcOrK<9b;zAbu&Md{k; zK6C0cWZZx;+M?VdP-0f8BUbk3=6S-AgNOH}7@j5csLxk+pYC-$hn+|W?wuo6u$c~K(n7Oy@6}BW@N?|f471yji{l~ z>{zR39ACltSL2>PzZ%?D3Q;^&*^{y=W?fpP+zj@OxU|c%_VfFcTP%8)G{CeE zN}GD@tm|6o+Q~CXSB`}Z*=D?XRJc5?N1}(Jdb5tzx*zC!BG{yh{WfS^vktCqS&hlb zxGP)VI`I50Xw_ZYb1C_xk-TwS4GIql?}?e{m`1uJg5chmW}lLqf15nB9n^lodiJHr z8jd6f>7eyE1mA$IB@LfCe!Mk*=jkF z+`7DFjaYrpYAl5vyvhDW1C7vrY)Py10b`F9o06sCL&p;14o|@1t0M)4O$atR?UeZ+ zYOL_TU(5K*TD_MfvQ}l1L}&oLm)OtO(^s<768hRchMY6BzZE9DU7|m!P;ZyA|D2vF zR8`?pU0TKUh9KExjWpdMh<9hpy6)!?{;gu2hCOCWo&)`;4%O44Htdk(gfM6F%6pXu z@#u;V!O%Kd5iqg>X|KZm2?j`CF%J_%aWOb4|pflSn1gYilc1deppzRZM<_z~{_YPXnd#v_%*rj%Qm0Hc*ODZ|ZgN z<7EtidJ}yEy$PP!OlF#`KY)}pupyEiKS`2RQj~$jpX6gty}|;a zKb3X+(LPh#145_i!F^j8S_hxJjkQ>k6+_}`BQ5MznyHFUj zRlPdLnTDaXPxD_F>Fz+Oc8va|^wYMVQ^?tsq-M97j#U8Q=0tu?%h(=w$zr$@hYQne zsX>QIifTYE-^TT!L~VY? zQ@J8zbCC&6YqQp@kE@d{V@|GvYC=ZpQyZFHLIILcxkf)@Ika(YEU`8<@Kml5iX)-m zDMnDsm}1?6%jjgYgSvtl^(idWx`jehSo9w*5{k9O-Y`2nwJz6pqtJI-SZFtj{vDCj zSEjkt`pO!TBf#>x8^Y}@5}DQ-`R@oq{hu|e>j zOS{%?+r8hk_t25(Tdt|n`Ekbsumkf^DS=Fsn&3O>#hU1ej8sN!Xk~%Mu_!-kC{FGDG=)y12H`$xx}BqMH&=o#+19 zQcpLt?N&v1A)bC<=}6!-_Y#e`^osvy|9xgm<{|u}%FrM&sa5nvSK?p&8hE8~qdtLE ztHk$tXu9OMUGBl!>QxXJQ!kYUvi1V`vnTr4U%l!R-*iCe z^f8l6i^U`1q1y)-nxc@ZR{{%6D=+D{%QV7eJLtTwn5qy6b>Nc(FKSgi;l9SCtkUCU zPfo0!**eDTd@p}cK8?hGx+m()mHPNe7y2AAu9kE;*$2*CPIJxdf0cc5*w|&e&}ql8 z1D9MAVvpusJ~MN|5#xoc!s-6qw)#Qcu6egwfqVO383TRx_^wZe=lL^g_N1e2KxM7$}^L$co1#U_n#O#WV~_Ss=2G? zuI#$4Vzb@Dqp!JM*mwNQ0pofwMK>-@ol)`r~w1?Hu-?Hv4 zdAIkL^%0vRvhvkxb6c;MwW++xX?x<&*J$yzpA+rBPknTYGE$+mwOvmwVBny`zCH*R zQ94}YTELD>#|E)MFs9H^3sa&aQ@+JktC*4`Qhwo2_+j=;G5Sl0(wTP(4+?RUhaBl@sMW&pxis#Tk}a(BPi>Xqq?W9uGQ@=ZIX{Oecl z+_~PTrE#j%vPYlR#-zb# zaIc&-Z~jcE>ARh`e|3c_Tqcjp4pdids;Aix&$Eb-hitY)(_Ba=Eqegvk9<}?pX%db znWw;Xadf1c7Ka&m<)s9@5j;UFsP&#NX(o;*K&JQ$?Re1EBU2uR7|V<=%e& zyzT8;wc2{steNZe%#`NnH}pbM(&-Dy$*24K`w#8!XL16MGus|~B^L)up~kZI?o8Fl zQ!J2&j+&{~N|Q|%Cjqqx1X2a;Y8b z(}nu52yi5)P}og!y-8tH?YFAw4)lpjj!0i>Jec9!h|Rq-eJw^{)L50yR8gdAEKHvx zo&>*-+;6h4#XT5Gs&bQ6)WX2S;3cM#Tk4-m%(A8bROBU=y|||$OBA`G82-cy?4ZT7 zPyhVl-W8RGGdDDZKix~!Yk5A^!kp-|TF*XKUE`o$p=>=Hp_YffC>v2)J|&EL&{NDj z>cO50I72e-XV{}t9n@;nS6_VU$&2kKzs-W*tXZvk8%B+fJvz>GeC+6>L52py>sFs` zN}eqwZ`pD;!Ep4zfKdlcp@*VJT{bw;Ug&peSF{v84X6H@tUnEJ!-li|9jQMXj(rgc zxLS{TjP_oZVQhN*eFmznr(j!-;5H0`Jf0(1qJymVW%-HP(*BX!(m@^iM1S!jYf9Rm zet6=4sA<1`q&=~w7x6?*F+E6rnfa2yTbxhjaT=pOeP-!|juOph<6+C7s1?D&qG5`9 zOf6@NQ75qemt`_$tjI{kKU-(irV{<_xVThwMwBoVR-D5OqeFLY8)@1$a>SM)2Cv}Y zuIP+#;WX^JPZ^?*Pn~hhG~?KbS!WC^*zx}^qZ3+1!*A&mei7(ECYvv2Q$>MVWHJ{q z@fV!3y}uRMfsQm^Y|knRtVKt15d*#zoVKdDW&Gf+`a+2jg$Pjg=06XlQg5~bii;o8 z6mHe4-n0T*h^73e3DU6;VF7aC2Tc7BjO9}Aj*{xFmgrGJfZ%~=)=Rk0ORpuY;icF9 zki3w-;DrVV#k|m7LNi`yEny)qw6?%P998ekQp|q(Lg9b?C=#k!w3IJkKYej@>Bi_-50B9Ux*Nw!-J=H-8$lU($!FEg4)l`?jiXmk41WbKIvdAc5&j7$a`mhY%yRKh zSR+y!wx8i2W;3Rl+85Wi9e4G#xpYuR)xdg7oJX%uBInPCa|VmUWueD4Z?oWKhqjxwx{nc4#yyMAfKL!brFp;Gaso{Xg?p*yTxoI zX0>w)%}KG}kf*i=dD4KK_17-OKH6qlCDuK7d1$ub+4Y+wkkI>P-JZb%8qR>Y%lGZM`d_Z6+&OIOaZKnqB5YW9L%^8m5>u=MzQ*Ubabj0;CA+>i>NoW7&D@Rb zqBMT;m}%ptNB6F{bK|xRJ2sb_BvrfG;f-;QwVVFr{_u{b8B&AbMvXj-^n>)|;Gr{6 z4=tf)*N$AFktGAKIG@X;x|yd_9;fI|MXHnOxjz5k4RSK+KC>gIaW`7F9M_#W84<^v z4tCEsmWu4TUVZ(8bdqfpbWV1cF*itO^%HeJ+I18WQ2Kh2q&sIfoHhnw1~DD%DR{xY zs+(SS+HUxQgK?(cB&3U5cksl?wc~<~?h>*F&mT9!_#0G=ud!i0(IIBl3EG!aH!JF4 ziqg{t=JBRViV<5pnL5*#bz)hCCEr!NGCC-xnSp)T;9KUw8a%271MzQ)ODNF9=CCpJ zsZ5_`P(FlBg)|>5*mztljvZOEX}`(Lk*AHf$=UCi50iyW z6UMB84#Aj(b0(O4NcJ0fn>h<3hfeF^y1#c<79JbBEhOz|#R+M>FEn0L?$>UWCHCcvcGXx7S5_SsbLD3k5n@mG^pB*wr;@U_ z7)y;(yDh_$?z(a=Z#(m2GquaM&w}pvM`N50M})57qkO9n#8bW`iYSpc`DD+WdaKYH_}2w%ycZr`R9jY z@8cqV%*9e#VYPHJDkky1>*i$}zk?#WubG92x|g%h&ODdk`s(VLqPz=ZdY>?+#tNAO zJD&f>0At@qtbD+>fm;TcTKPN&FLC9}6*FhJc8loWD+2xF6q%#mx@DhxkG@PHmwOI$ zgbDf-Y%YckdAU^1^``-MnX<v-8P%Ys$Uq2A-|+{8k;A zqig+`7G#Vt?pY$R%~FRoLD9iUetj#(b;=4RhlSh3oB>OSPow>;)a)apUXZG*cYR_!%Qm3 zmDM@U>~8lm&SF*3yp1GoTeM@zuJ0=Cx4P-KZvJlRCX-)jZp4bIKg?KP>4ustEdSw$ z@7F+soV|hpg!KB*o#dm&KBWtViD%|qHKUs?q))$}PGNjB0H?=I<{@1JYTzs8bj3S+ZyUKToppt0(?2$<)*LuBdyxZsJxs zU*Gf=_{WxJ(Q^8iSjd(O^c5{dN|C)-tfy=o?e@52$CT))9Lrt^$x+6rDU_SFGmUEA za=vIG)BSC^w{mrJBT4TV!K6vb&U!e{()Bth6ScJ#W@hE@an`UV^ses-{F$28&SsGYNiyAB*bIk@lmJy#|h z8`3Z#d(XinaPdFun~A+1<{hXG!eNX0FFnmUD`gxS?Pm&+{Kk&%gtOx|d8a>2r#VyY z_wloRlj^R&p59AbLvtW1UCI^+?4r1o7Cts-?)>Mhd*~5D9D8x ziS$W+I#n{MOIt&kp<%DFy^KxOnQcV>(m1`*0l&nHIK1V<5W zTq$XEHSKzG(p38g_vrgP2elrV^m%H8IoT(vjX$g7M|If0mWY?e1s~{aV2(bmA(S(k zTa)9>xC56C;-Kf7pnmC zhYf`e>Qp+WH$!K@SNIX;@9Bc=nL5&}oYM2&Ku;M@o#p!Y$2t_!Sgqzj^Igo(yJq_b z_h~P7!)63FV?*(`Yl)9{n=;aSipw{BziG4U=I=Kx+hn|!-bs8sxo4ugfh}U+2KXkn zz(4lWebM@R@Je9_QD!zFAi!8?UaJ%hK}oIaGIA+lhY~AY=89u zCE;4u13N~lxcygQ*@g|vHX5jA=3A;^ddYf97b*JW)SV-?4Z)rfes$zEpM8~fk|cB$ zr&kr0FPQ)Rd;@FQlvRN2xXTqLzZzuPl%o$gJ}&Q-CgXO$`WOt+)!#2$Wt?7mU%z1f z^5qLnr)ZKu&V8V2666bsF?N-s&L=2`Zy?$H!{`n9?G2l+=+6HGyug`NRHQ+gX( z_K&@Dck!92{ds_CbFRM6$?%+Kw!TPsOkZ#Tt2)|Tf@?E$57aA=jG0T<_()&}Hq@SIRO#pf zb+k4mV$Af3mh|;~2X&cM!=p;{xtTeObK@pNP25;+HO~Fg#Xi(lO20I^ z=MN@!-iI!VUO}PW0Cw@AuS5!GF*aS2dIdE5z5~^BA)IM#ipYS=12ldJ~T=s z-$FiFeVg!!`{9|oG-csZ^$@{FdU0N;|KW*K>#pV>&9nvczCr=5gG9ayx$4bq>W}0O zJKb#9DUzyJTcO?DXRGn}J7 z+G+ajJHKCWmJ^%9s-hm8qcGne4D)?fRrGPh+S0wdbKYj`9})^<|Au@Cs{xw% zcN-Y`*;y!5v+K?$I~eZ;z>+ioCZa3@>So_&GJ!hDy65zkeDz(p>K8I{J2K>&V{s_U z(IAsGKx+JaiPV$m=;1{~LJ{vwBqS)G*>zHr+<@^h zi|gv;k$ByrYlUPXNYx67LXc+uJ~p))isB8~2{~?SWrw=o9aT~LWUk=XB6(+PrH56i zg*0TJiJ*lP9S(Rkl%s*B*#O{dz-dfW^Xn<$N=85yHA|vqJUNZe9A?p7QZHobfyO5O z4H{dfA^+dd*zTi&msj=QKl{Eyn_N|Xkq+#U#_}RH+5>OD zlDGC6qn>Dv^gun(UVB*s-4RPpZ;*X{WqGbe7Z3>z*QiLSxDJcNFT{|a*;QAsx+(Dr z(g0)%=ood7q&HGD*7ZjG{6%bLHI!m&!~ybn(pa9O?)eDqhzf=!bN$(N$>$o&4Xl-F z@jAcBM9^}I{;sjis;K}Yv0*QQ>id_bZ0nO5ZP6W9JIqyJyWVt(q{~B%F- zMqM6r0~ld-u9|Dnrh3xDD84RsTY%4j_U&nlQ1Mul&O2xi@1P-(_(kcT+GVJh{=6d47isvoa4H<%SYC*(`0ecN^j))+ z?mJGkcx!;|^sxnsQ@rvby+pzId{_m4$+j5T{sIzdTM;}BUlHidhRHYnt~FoSA!{?` z<9g7tU_ICxWYP8D-Lso_&)~NB#Rq&Ii7Z8!7loL`Ne`!CH8?evX^l0$EruPFr9{C@ z`8eHe3HM{Vf2}D+_dQyJZ1pG(Ylle;Mj96csQMMXDG2MHCOH_)%n@?J}khx-5se40MJtK&_d2Ll*Lv@ zPvx2t`;azTGU*fDWtulvpK&=l^)N2}x;ahDRLP~(u%PHpkPU)M1C{d2tktb*^to|g zw!YDT8_!ISq-U`=if%$Z8n_e()JT1@c#(PtxR798XY)nP_1foX(5A1`Q+xrZ!s>Jb z-O>KNlKN$?q&`P?85#{XURWgOg*CG-(%12wxNG9J$(t+T%655t+}N0r^}19%Ip9Us z)xg-U(akC?`A&!*)8|}s1N+LO8Z6#9U#tdIE`AK|gE#J|P4AnE08`TNoe3PW>Pl55 zqu>pBK%xHWx3aDRInXh5oRX35`~ek*hkr+v^#AXu2~eodeyqfi(p;&oq&`;q&{g!W zg6l;_!Sc%T;)lAQP?$??s_%vbyxTKyYjM6`R{3{S(-TKQ8r0|uUSijKsGEW03s=8$ zs#ez0ljQMBS>pNhr8^4Y*9++IcT2uh7T%Z^*FtK3$H*wyK+&tq!dYc%$L|znz+q7Q zf0;=-=ytsWFyg^IyHhTk&K|vVZpYc~rz?^yyFuLH`TQF)?%%a)^(NzrrGnSUVZ-`s z*a=1mcUI_afIl4m2kM3R@&XPWn^7=>iX$HCO3-lUY^n(;meHp};B6ZRw{sn|iyvAU z1@p1orLu<62DJ`90n-#dGqql4q1x9+M4}Yg4!wwdV4mF|e(c#wIE#J2#4Q(eKO#v* zR-ab3;UA5oPBUomPu4x>Ex4>oZFnc)ctfR>Gt1U8*-Q0aA!oo~fseChr46j7f!xsH zg3o(8G~b?0LQ`(4|xpVdJC}ic5=t_k7xuxfEC=RG(@pgvhMZ?*@h0*RoxJYG*k}L zIO*YCa?bsmM2pnpp2~B6q1P~T;xWPzKsE{Ca7(%$ZP+;lvSzuy4M3i4_?c3P(9Eb_))odY;Wzxi+KgW zR9_O8SeB4DP1ZG{O6mnS1^CK0H5+~nlnOvo>~j)p!nQ&Kn|dmL#Fq-cpy(FT6t=J$ z3e#FLo;;eM*753QcMet6J=qy8U6iadF9LWBRkoI|g_QIKXq^CxW}Pgkwf;l(WO{Bms)5t z|3RYB*1>w6^$j%?bZ@+m3A*0_b}G;xlk^{h-tr))E0A%*7-yS|C#^?p1?iHv;Y-zT zf46g!ugJL=Vw$Oqu`PlY{;qeI*(&PspvTHNXO3Eo;{mmeA%FrJF3&Onm-`ivfY|v7b+lwc3~HlFLv&tc}>F zi)afyw7zhI%ooXk&jCn?hd9d2Q)OLswZFB|K&>$;Jk}Wke+9!o5^<}^joqrpCB=|> zP%`3Bp#wSVP9UO(%DOsSz^$a^4Mt6rNYMOa1cLXvaPe+WW?frjMz}h4gGWMTJ>3TMe8ihJSmoxOrSI)b3bHW z2oG9#$xcu(sp(4{WbD3+GbqTmZM!M!0(H5N;sZX8DqO3TLF8YL@$2 zgZLeUli-ERD$C0Xb=gQ+yRLejQ`{U#5fR{fJucKmAYv(-?uU#V5au}4qsz)&s7B#1 zw9(py)FnBgEWD}JfWuI}P5~(70A&m;3y-$8_vYz2AzrwSqSuv$GdK0ld#d1;@_48| z^^OpB^5XRCh6&28=_zB*o6H3Rj&^M=93I|pdk^X+x7*(BNQlX&sX#xd!}Vv5MMgxK z*j#p6n74cJ!6UBJN-nMDIAr98J>e!OotzfdPhLH4j4S$x_u~JT<$oLlPFojFqvC0W zx>R&vl^pd7_KgbIH>%W;mx80gv3`BCb!S#8x;v9$Vzx%n<%G++JM+=VhBAlUSuWcK z)HWV|U=3n0d79;WfXyXulywIeVw}}V{NPNKAMkxS0Q>SO93Y5{LS#kC=jSHhZm=CXS~_CW z>#l8x!;m5XDVD-305(OLakmK#K5&T;c@)eDf43KjrHp z0KU1j9$QdP=Ju&CVVK%SrrJpqnMw7`_OC2-9g=Nd7qAoeNUS}ZCUo2?ks)cMhbdgD z(_;wmNIQ4DDN>_XxiF@2_Dp5UIum)(WFenDqk7cF409-(dc`M@x~GM4#$zvV+%lYB z<=@GDa(7{_ZlK*OmwYu!e0};#!Gn{1-C!G3X<^N_dr7q>aI*Zn+hufN~$_U#R67&c7$*j44ZPt;;_gfEtz&k6*=)V;;Y7EI(lQK-Pg} zD!FAis9*P0HYP*F@E*!e)S&F5#96Jo%O8-KI3A*Am+bJHcAK+VBAb&>WIsvhR@c~2 zs@oesPI0pBG#uSj{s(shbFJ0g&^ zHTZ7XNFEl{Us3(eT|qfuC_T1-1#$>s!>x9;P<9CpmdEJ5jE*>@|M8pZS!;On0>FNH zY?(#Tv;MopY`c1i(`m5zt-;w*57cEGw;c`|{wqfLWw53IQRvh}vGJoGTh?)Y)H(|o zX=qJUB)$hMHG>`cFtR!Ci*hZL$7MH%;YhLXzm_>%=iEn)8YOR0_}8wqY|hqQ>?Z4G zHMOWicS{<^x)b$Kv~fh-5yXudgnfo}pmAq4CJ8bt_T?BSj0OSjf)3^Q$H! zFYi}g?#H~BZhU0jZPBjQwx0e=s!|zOFp}HLz;1NfqG+ebW6L;79>Mp$WW$_-H1SYBGP4E3;~ zZ`Ay$Jcd;PXz7Vy+)5X|YhMjH_(hY4m-14Ww^lNrt~_iM2oxl(j=i;eEu`gBfS2Bo zign4*hW(#-6{%9^*~hDcjVgj&INL-Xn`OGk@3o-D(0T-xeonav+|IAFAYMS2@RWzi z8G&O|)l;bg)(cF=(U~3%a1o>HAH8Q(0aD0J+)weaLxgq^!9o_oT6+bE!!kH5#yJzFb3L7Ifn@1TS3jZZ{a}wgzEz z(4a`F2H_3ot{`1xas#;`ZHMTFvsF-DU5aiXV-)(?XuGyrX`M55>S33^c;(rxQF5;V z3~JJ;5VaW13NhAU@0I#u6nR!>GkJ|d@U=AL>_mkP{8Od++sf_T2G={aUCf`LdoHGbu#AeB;?Q82FwRjNdof7cDqFc$i*0?gp zL=G)2LtcQO(V@hJ{tr1RIqU^3rJ@{G1hVBtPN}y9tOkw4S5h#7&pFiPOlPcnMxj`K zEiWk;r+T)M)$zaY(+2uxjK*lzK9}FebrHyc5B$BwhjF)MjKy^v5WKv=ipjr=ZFn=m z#zV^!dCPbGKDQ0No^$X@3PSmKYvs8Aeqn`NtgKZM(}4@|J>^E+)lCL6#MyqbZn6&M zG1f*N@>*>?|1P?_^+DNf^MijB6q8Fz(Oq3D6cd7CTIuGq2==@lis6&sYVprtas7KO z9X!F?;?NZp(x}{@A%fK{S!o@pTvJvKIKljHbC~3u^HHzAO!xWBYQ$$2E{1>%Mo<`^T8+T_uK>(m zKDQcSDDd1o0#79ql|==MFdoT37H$ON0!*$(+T@~n#H zuck0Qx3ud0$)gd{4!16GM|M8dpnn=)K@M)>6aF(i6W!7Yr6u*`x-$O&U~Ka*z>)qZbQ9hzK0oTpDIfzr$7TdJ z*b#n5iMCEFqXKfQf);mSA3sN~m4eI)>9K+((JF5s5z+ z>mm@bl+E^2&MRlZRrsW=(1liCca%z=$w)~(l9S59n_3fUq2%+RSgsZyrHtWa;nCKo z-bnvE6Tw?3dP`X_bF;uit4G)Lsmg_8GsZ<3*>d2>%!^)fI@Xoyv6=e*Bexv{Cu}(|X4a2h zHFSWhkMgI!`v0yHOd!Fkjlr!JKr)^~#dC^vsp!BeIo9DHue1q#n+N<498aCu4-VJ^ zaKnztx}3FmCJngXNOX+ zMWWd2b|1?H&&)b%B?kNq4(F@Ii&f9cWg|1yO}LNXPH&!9ivM}0?sl^X@e*_ug$U4VsEg_cxT4{?%jsZy@mDVtHpDvXs)f3 zE42H4_D7Z(G{aYN*kk(>h13%q|7$L0))E^+eKW*(i>RfU?Uh(7Pxd*R&Za+re5RFY zl^Gt-x<4Ry6WK}Re&Ye4es+{z)9l*-qO=ZsY)L^ec|^ZZ^3}88u4~vz>vH&2tpsW< zxwBp%3 z%cd50GTc>X%{qb&zUe|kA6arv#AsE45Ytz2M9c0H_u@eR{*z& zT2ZKQztpCY3mp<5gKK)48>v{I22R#wnw?X6!JB5Y$;_(@d9mUGD&|)rX#Vn{v)yR; znRW{vNo+~q2|(_GH?_6&VK|XmljHDf3Yj3tVNQQwKzKiUmnjh!Y=$GIbd8a<4Zz}M z)xHz9XFeK6LeWbGgSfQk zEGzCU5Ab7|ne?v$hxe}X1|4#vZrismU$xb^Vu{dp)X)(ju0e6*p@BGg>V~~B=F>4p zOwY5|=TaS4^>1BzI(f>OnhKSrU?(S)cNXYU@PSR}Uvc_1=#k%Wz88$4;xPrfRD@Td z;RXM8jKllyy?7fg+PZ89KY;M@fU3yGhpb>-wl3F?4+ch#Z;SWh-}fY9rXZ%QFF)ks zJ^C>h?^rF0--2y@`yukrU96?ic5zF=bV{Di6Q!Z_Dir+aG`3y1zo|m)@j=C$Z3UNu z8ruq92eq$VLeodedlgzk&!#H)El*uT`Fke{(YRHEKX9uCj{V538miq5f$YXo^JL27 zcfp~WBmhC+L*(88TRj3nd{*(GhLz=fPIG?B$$}4=OP!E;AiwJS+U}Yf@e!riE|AYM;dp`4_MQjXcG;q$bNqWF^! z#p;7OMd8b3Qu3dJN%}KI&=O1lAkeW(Q0q~ciGQ?>YDZvc1Ik6<08SRQ)HHB-N>J4Z zT+J!!CK@Q@QVU>sGx zToAt-1m=B?di0U~d3CkJc^7qcuE_dX9k};B7W~dZP@8?HXT>6Usz-tLZ`nU_15Cu`bN9PgO@cs0Wx%U+N?Ro92~}AYlW4C8$n0r6b#lw6nCF zutZ|~r>zPDQ3$;=ZrP_5pUlq7K3VJlFFnJ46Mgp#eD%r|0F2IOZ@+$X1_pdaH>v8t zs=g6McN&(-l=V{4<IL)M@AmcoUNgz+KCr1l~Kp)#t z)8G#ILAjn;Pc8pAv-E7o$6O1R>nZ=|P^QrAay8SesT{#Dt_&p3`1CDQyj#|P&c1Hb zcUb4~0K(WxU1JjorZUYpRLqx{$2?fr&20|m>@`<5?x*Tx1hi8l|HR)+FQvS=gqIJK zdIDOqt5l_1uf{OfNu#!@R42{(t%YV6b}H1pe(ORz#OLwZ57LIkwfKR<>!~-_9y^id znjdtfsgZ4k8>1kAmcjr)_Zo;q{Y?>4|FH4BjjTD8q#+h*f($YH!-tqAOG7418pv%P z;3|eTn4R-1w63rxs-TNV=~ny*AW(Ka)2rGlvFy2=ddHPMsehk+!JIvta4%m_8~E1J znB0sIJcGV*kt}g>_wp_e@->D^K7j*T8n>1@>OF!kJ>p1kCN${9`Qgn?0aDA}{WWws zNUQA0fB|VOXO@bfXEW96nfCV{&_)=p!IR$e+tKNXrl5;LK<~gw9SqI-MkmHb?<&}0 zid_pktlf!MEUqPOE;Hx4EyMcsGhXQ@9NZg!>_|tHI}511>o3%< zw7dj}*gqrAE`U18*4qxtWTyo($9d&1fb%;m-xGV$KpL!U*}gtnR=atXc3UUo+sxEH zgBqHh)#`;_g%D>cvhHQlmSe}$TpxCdXNp_bVI4z^SBDF6ht40c7)qkY4g{iG|4|dW zz@n=YnP4*cH-2Y?E-{&*Z-99Pi`JuNT8-k}3w?R%%w*N=;+{IedJ^)}jY7`G*u z0T$Tw4ioEn^=}?(%p4^o?TL*}HrzTt#Md-lYTvtm6JsNvB2@M?tzUc7D5*_Akf(3& zBR4{gJwk+bF?R?5XmA<_d{i!50X}N3NE=lXc9;d+#C|Kbm9`SwSZab{%|s0LHf;Qv;>1aVqZrN3hT*5dHi<(w=G zirPElsNs5Mk2wm3!I%QKp;_E7Hy;u$jRo$2B#|1jS;8}s)u7Rnk4)cO=4W~1rl@G3 zX9QJj2xKr0Q6Z^aQ3l^CYTc!77KeQY)9oDRrkTMnB88ZAT5OyB`fPwnG0xZ(=` z`riN+f5hX}#I9UU&JhM;^2q%*x#v}IqQFFb@Wg2P%2WbR@B5DzCu4ReBUJ#t&uK8?Td-qH=2EAY#_0(CXNO^fYzj&YVDg`5{xF5 z=3y;Eq3AYsUk`+X`*2}Sp3UAcooOD8^kO6DiA>i_Q)IaR4e3nl#d$aNEdq0X11!OB z@i`Xb`qJ9sZ5OrnddU*+?G6|M_dxF!MxYYofD4#vUtj^L2tUyQY!N&ym2OfSaNXkW zJPvDsA}#B30AI6cgxn0#+`0WlNIHAA8)Q4DSpk}z-R|Yx(`A0{XEoL64r+IccH;`G ztxdHq1`&t+5OHv?DJ}QPIWfD=oG`A2QPoW~aH{=#@4OW}6I|3tb(0rxoeXN=`yVt1 zZhxTF_Q8!W2LB>8nyXJfa`eIubZGDo2S?v9T-$f#^j3bQnB{+)7xE=YtAMfN2lXdE z883Jo987)+_i2S{la-lSu<_lGeK(7S!IZbR8t}fx_w{dr*{(W)*WX*~j`t0nmZO`Y z?i~Tuu31{HFVQIh;p6+Gc&(=J@gent*N65=x*3VwfRuV?689zC z*g`XLYBzSFsV8Ai0Z6ME9jPXc&+_mBNQQmT?V$D9=}1`@R$NH=8%{;Jpb)G|`&I?j zy7nLKKhd-VDwdNvk~>=|vI=*aL5V!W(R<)ov+2B)8gn8i_w4Wv#*tFHL4&=}16tMo z=z9ybEzHHSCjmkGeIPkl=sVQn;6jVgofu=mWN zEW`6Fo$H$xaM&Ljt3V4c;r6pT)c%eR;Ds2X@iZPF<+o|hGf5Zoi;N^#S0B<`K^oQH z3uemirrFY5`GqSketna=WZD-OV*Wd1x+IEcqjtyaHQ}?l(REY#M&AcCP8raoB97*# zfZkzl&}78PiXA`rPdN)*ip94S4D)2H*H3Eu~ehSs(JZt+MchuT< z9CrMrj1D4rQ-Z)m{Js+aVnhvGZj&VzU$a&`&w_8m{`fDT#4Q|mk zxcR;1tTuk+U5qP0b4B-ZpMr;SveS_F$lCA~iI)sc>xEHK7^jy16R(aqr6*+Qrzvw~ z3y5Qv>q?(JhbEuqPA(5C+7Q^9a=*agzDt>J@BkRbKNndGIuLeg@~$!`?z^|`i@{~^ zU`1F>`@jdF=EPm=SZa8mf*=Ix%pFv+KUi;(9SX1A&EMF``>+@nz45>SQ*!b#vZu4~ zGD|@cVDTVCb>K4Ve2TI;Ap4n>TLGMI^_izF3EvhUnEH(u?_VU73ukm>k@-`g|h* z(d){b8?dV2yE}mVSfowUNkI5$YX$JUz*g}eK*Kyy8*8J#I!FCG|IZo^dYfayWlQ!FsFk{)eY=MjGKh^~wEO z-G(;g(j+th2M13h*pg~LerlNLbOx;I0-6U`daYe(43_lQklHPUKS{Bm^ddaYlD-!g z3`ONo^i*ECPf;%HpB=FYzYly|K!=JQ9=iZWR0dvBbW?3JXw^$TEvwy8?jdZuZ3{?` zTi2|nq-SlJOYhcgMwxDn7E+>)UM@0_kN{mc(@Zwgn`VZ?=)ZS;CNvs#IVIfKZnV(m zXhLgp;rPTuHL2_OIoLVl?%ypU?;>4{>WtFMUrGklO?=;E0I_`;(v_`WY-+{#)8uCF z{O(iMUF@f9=jzyQRNj!|*nRu~@-mUPL|z9D+_-UIJo7R#Z;5%0AKxA4O%6?^QOYTo zRPp42Z3+8K5b8{aCLH-H?31MSlrGGuEbJ7g06P6+JAUI}bjVYl@a~ z&mOyJgk?0}VB=BHb(hC5wWoLiKt?FS?nZkO7Q&Oat%!2ZsDl2lIoS`KsQ%BalVS19 z?L0?OQJ;UXDu(rIQ*HqFpIBbPn3EgQO{Ai6nn7n%<*v;tTT?MLSduh<#s=-0dybQy z*xoL4^`){)u)#uOb2wQ_!@L0~e#u4>7&y@gGx-3Sv`oBXCZ$kQToLNvG_M0!%9E&f z3hNDIHJ*UY)RY>zsydCjrKS5syPHuSg(?L1r!M~S%)xu$lp!OGi@{G`mdWzDoj^_T z?A2ZQ_l|}&FxHg(=M0)U$p~q$&D!g~+ED$2eHQvNqhKZ#O)fK3;x=H|zs+Pj{0ngQ ze{>n$RoO%l87yM0^f&%@|Kd%WQ@c(Rm1Vb=K?+~IOxC&fQuS`i0^Z{QuPkDNZfn66 zPtYGt6`bnLZqitsQEP8gKLD-lwcY)CizCSJCl8mKw{M8XHNlIGT_>~IXXW#J)~VfZ zX;k$g98l>rO?bp`U6}SrOoO5UnL{!-bVVkY`hDCQSvlc?0zH zVNQ)#c)~#zD%HzlmAH7J4^0qqN!p{g@um8 zXY7y>au<#G=2LeTeImYKZFdjbJ>$@lN=`^sWJv&i)5H58=1hbD>YT|oqw>yL<^N#Tf-R(0(wro!!cAMa zA;QH2$~tMst{p$@HAL-QF#CW>cW>sAsQE_?dk<~cxY0B(L{Y0b7AFBx#WZcov_+E) z;gi;G9uLsftz*L1jWSFg6FGOTiNvIM;284#DU&?So0S8~4|I9ahrAB|Pjl}97uC`I zjo-2b@5KegB?{bKtceXf*u{#Xu~#e+vA5W9?$k49=AJos=8V(Wk7E#cAn0fE&<(|& zmeY>tmIDn7#@eI{SbHqGzGC*TnD&*dTWPc{2}@0bGpo}vO34^(cj46X#a|(+J*VAQ zIHf*q?uNBH!@gKHq_WenT3b$_F*nL$yN=bLWCM%_{>3!#=PE_WzX}oXKj;Fp`zSFq zk#A=-#hO%qmys3A{Bzo|?<}_JeBVATS%ox$<*mo4mt|rlD=oezZxcHM?@%_jJ{Hts z5GB7#><;{DLM;Zxgd667HP)3$3RhD&j_Zrb!@0#+iN(1C|51f zw^vfTX%1HWO{2KA#oPfKj)k%YHH|oHk)s`$)lv2M1M8*_KTY{~oge8eyt8B~-@$9k zm}S?kcFeNu8jjth9Sc|xf!SRNEve$R9|zi&FNvMMg43hPkQ=nxfq%QwxZ zskLv*hxbS;uAq5z?M~Kh(wwoHq#TZ5HK0pD^UgvmTWk-(6@R@!^IMG;-IP18iTrFX znR#}lS-#r3@2rz{rs0g9a>tEw*fJjX=Bb>g*Vr>?{uIy7v`1K&p`B6C1@NV59^M+z zI6OL>es-g?)ebXLHKXkOuS&7-u<7~`R#TgD8o_?dx_VpI3r(?KTDW)5+GDi&S=Htl zj#H7$GTzU4Ez6pq|A4@6o$Gy47f+5kU0}mC7J!|I*Mhg`XV=)@vJ6g|`_WM6h22}O zGa-}}iH9v4!`wO6C{lHGy)Rokg1gU}K6%!=VTP^Ug`crA{`Q_@*B5*+`@IE@`KQfu zrcIhNG0X^WR05_m<8GE<_1As+{s*g_!CQuJ%N%^sTX(Wuynp9og_a|@?=2cNyc=lGW3TQT}Rc8u!+z}ntL0j0C${V<%~><7LAfW@CQ z;vvjYC}ThLBki@jd|t$+8`WTd*}_bjE>^{Pmz7r793Jeq7TN3&YpYeZRvq1a@Cb(i zX^+;x{`FE?2zGoesb?8(w6;Sza}WDm*g1QaF@70LjAh(smb;rez4?jb!X}S($k)QK zUIBJO>ao`{u3X;iY_JJ-tOj(d9A;QL+{Y<7IJ6wq;Zu0}#5w)ObQ11XYQdo$^#KvI zMwCCh;}!9G-QW)k?bO>wLnFXu-(bl&J>ZCUhGuDromyqICYZDsnN3)TcE&h=gPlKP z`3V{Uyih5*lWZo0J18#x6LQ<~7}l!K@-Sz4m^+qgY(>(^QOifpFFeo6^0QSqUS)d& zTp6n%D2>FNWptb$)>q`SN5E9wJYAS>jezO8Toniwps~=R$~e-4+$KH99q2)BLk|)h zUeUc1g55cucEOE93BLZ3F-SN$WhHLoM;Qx>i5e)Dwvx9=3D zJkne&0fJp)bkWV2vz5Dj3nN6~@>h&fB-iy}jm_WWRB41gT^_k^hSAg9rJlCjuxHGjnc1lV3si3M@mm>?cAji|4b)SmIY(^L{HBG#ccYn&-^vk zA7Au)@@1=@1rG4LMk^dJAAFDWMYP`XTJ{wZ@cyXCfpB*L%RH3}+3e~SSs(40_Se{` z{np}$)@k*+k-IT@RgPsJ!bZWateX8ai~Pd!*qCYVxN4(E8wAsdU56i;u+*#WNnNpW zH>`fGD^v-F#h~u#$|9Q@k!@KfvzDE)jFBJON&l0E|F!6vuQ&UVD*()ByBjPJt6+|VeBVYH4-LRtqrAmn zFa@X8Hy%@XW04q(dO(MEM)AJ_jM|vk<1VQTnn?)ky-!nfKec3E7Ti%DdoWmh5=SUmXG7FaZGL1N7X~B_if4PWqQWhI?>b+BJC@rL< z6>a<0YM)rwq^w%7CT#u6Nn=U&8nq>L^7gQ`8y7EK>>SQ&DtZlwbVWI+3I;%rrY8*AmR~RiW>~&Hp20$#tS@A;ewmR2hEAC< z0y5b}V=t5(poIN5=zI=Y7Oz;daCKP5Qj*E)d*{LUP;w2s7-)3`ADpWx)|W?T&(K{a zo3-+&uKwfU;TNi_Rv5txXBkiGv%{n7W(Rv`L{&GsfgJ0wx5(ctjI&y4S(PAz$lw-6ftA| zgS5D+jf!?G``x0-yV=3t=2f_{Sge%yDcK;YP0~MtV3fsTNkLa20}5|q?8lbzy?ejg zJggW6k3PD0!4e#+VXX5oIP#dErTcMpp6T>2DDwhlL05NLw$I)C;kt!>2zf*qFmd3! zJ>T`eKfLlSO1hL&urzDzZb53w6t1RZu@(%lf4zC&j$%~HVkXuEYm?~p+#IW8*R!(P zZ)R3fF)kWpe32ePqlo))*=!shQakARu;wmF^t{^dq8~rT3*3m$X7Ti1UkARwhjmpf z1#3mK#E;JJyoaI})r`LHpD+rtiebNIonY3D&PJQeUn^72vRc?|yyL+21q--5 zcM0;`I4;jMDUZ49>~9P^Yqa*$`5%6a3Fe@*^yEWf+bzaNIu1Qpn+}1lb0vonWG&Sv zuG0WVr@h0V4WTnTKf55N>gQ#4GlbQ1Tg(qGRJL>-I=atfXDwrQ6MlAQQ?|S;mH<`4 ziIjBqCcC_!Nk^HqUu5Oa>^rjW3_k?$vi-+BXR&%Qe|May(Y-O&oY?j>{?WPL)MoUq zQ_fS?Q>nWSA5Kk(bHrKWMklm!Fv+y)gN2Ko3t1~=vUTDIlUL!GjvMJL70G^fLe|@` z8}{^4>_ViqMDeYCzP@LkZ=@PxXN*n=wB~@wo?)+WoE~7uC!9x@%!fYTzT-&f$!>e9 z*G%lub-d$XlKInxscZIz?OHvuKXjgbM-FE38oQj%Z2Muww*YgWX?Yr7TBhrt-`Cg^ zhFRYYJJWcGBI()bqHaDd>y@#;0|vY&7(EY6H7{MdV#$`U^fkj0poUEtHmq~EQK{>b z9Nls7`N!J^o)7yvjL!FP`hPJGS%C;cvrk{+yJn2htv77LK+w?O8jzNNA-4?e00!Ox*^r-s_xqOq+g@ z3fYVovN$_uK45%eCM*W#F_!(BeBR;^3#HVJD7@0f_AlY*aioit!@m(UjbyM5zeLvb=)w~;BEoC~a* zR;TRUyL!w3#}w;;kz=~S7^x}vN#~)dTb+xnTi2$hr>`B|*D=Z3cj)NOXt*b=uBIQp zq)ht@)|mF+a)x#B)PBlOcw*YWXNgpBLT<~j6?Yjr)=G~FQsoAM+WyX3Z{r9n_x>m85B3*e zk59HfiEh7_xz}SkS6h5+?S#|k3bM``d%g>ME!_K=fBM<|qAr}oM|tvA|6J;Xun-)|oQD!2x6nUdCd0HmR7eF8LRf@mLnqEdgK5na z@YEkDFl{V)#sCDbMhy2-<)_(i?Ai6@p22Gp7Sb9vPKAWYgNJnwZMP@khJ$ql^Yj|M zVx98?>$=nx+qb8VecLhB`u6Cty&Ohaj4_EwIYPll;v=7(x%6G=wJry0*6ti1+kAJ= zV_&TKWbG2i{8{5;J9Lk3T{xT7u=g6aYAa5j-MVJg_U&s%^~Ffhci5<25M|PbjApwI ztb(|daXPrL5TgV)7TC$;NSrx1nUygz>_m(aI7AR^L7@&2WB5--xCRvNruO0~>!`7J zJdf9(;Lk6PyoovX$uw3cV;$md&h+Fk-J1ii~uSy})puyoW%P^On42BDj>7)g} zE3m|!D9fz~gq)#KBIomFk4M{La3a~!W(uBC0p`);-0WX^PFcKnGT0V@ENn5z!WMxn z>P_}!u`SS-&OT3xVWJ9W)#a4RWa|+r2B+|X^C@_}I+SdLCpc@Zq@h&7#PWIQLLqvv zHOA4g8ba)1^|1#Y0g%iaM-@t>J5_621y2x2rdtnCXMJ@&+Nut7qeNXotiu6WCPfJyO)+`+++6|oSZZF)HE}*xhysctPgg{`e!_NEVEfo z&7U)~K{JDbcVP&A^1|F%)8fpA&1JRy%ErBB4Q9@n ze+ntXc0Yo85~jehI6ZuR+{{_cE>HowAYJ3$g=Vv6#?42%kf$KZcf*0>9bEEG9m*V> z0F;(i^>*i7bLM`Bg0|1;=F(RgOVVIW;gsGDJ8UQ*!?~(|2)IOF6`Rw|Xpexe;qz2? zkZ-cvZ@Xq}(*0b;f>Y*eD7FPTht`8v~5c*S3j3qpR9!e3SVQQv6EDRMk{G+3cU>@tv(W6&> z*j_CPhf9Ey=YnhIUPK?*#_N^0MRD`0g zyeR8eC@LzaSsFLra`WbiEoYrBt09+t6N@0*A?>4)de`Mj_Be9QDEhJUD0tQL-?Dqz^69GhEXZhXwC%8_o^c?KYW61#R@iIQmLbk-tp$UZNI2)NTEiVsIrF5C{PP|6~i0- z%=u%E&$rH|} z8Ao3{v9s`Sb3q)r!sBnE;{)lx;LuGh<&eU<#(I$r3BL3+*@bUnMz{~#SZ|FDO;FfV zyNeBtwdCwFz2v%QcsJvEYw)(*u02} z^oKyn^AN}ge;M0YZExN61Qf0_3fFzH#vy*O=DxWYA|FC{D1sm;L}wHtr~CT|1c-kh zf!;@;LJAh7RMLP_T!XYGu+0ZOp#qDo{A#@7j;W)JQ`|l4C}VL=Pv6npJ;`l~C} zUzI5DcNCUv4^G{jbJe9^h4dSam@`ladcvdj_C~#mQs7yC4;2tLg~~c!0YjmvMux>U z&U1~jvH(QN*vyNY;wn%?Dd7sv*r&N;P>TL+v^JJPqAK}4!BCkZiZ|3ckQAZVKZ~xQW~G9f!2PlUC%8xd9@;p?Q|#X=SZrgJCJMrZdBT-MI021C;fxe3 zny0ryp*Ab-3a+inc4Y*JYYFbL8L4y9tk8OB+ZBXH?Jcsy{WN^%S*}yFxD|=cLqORdJ)1ceVn{fzJx8c`hN zpFyN}NAs|YhZfWUF0s<|lP?jeOS_EH7M2m~y`rA};yG$q8jU~!jBwwz4M%{iXY1Iy z1VxWSFJBjH`Rxpbob~7ozDJ%;g~#aO>(Ijy09WhzfD`Y6Amtf8?_k7qfh~+4rb`-z zN_r%-c(A^UINO2|^Vy@l3M=jz2~MMWuACefnll+k7oqP_gwtScba&iiC+*ZPwbhDy zYK|!ubwXcIX?Q@$-C(!hVqAFAgy9qgUIx$tqcn^63>GdAC+^{+#5t6OMv*2iBN;4{ zlM@SUvCScGgvYWZ8YGY*+N}sC$z^HOn95pdvoyU4A3i7odS)_3>d)i2r^fyklVh^D zOe_XNTyYvUJh{18WepXzdn(3r^wtdzcn)}Ka_M_e?JB4r@AZ3(3{M?rVL$~@xF=;u z72T_#sCRPdm}APx0kcw(_87@T00;F(kR2SnhZ5#}+>8#q8@hv^N7$hog87M@OTD{pLiOfd&(UPZYv@nXOW@Wp`a8|!&gywvE0l8)iW?SQzOVbUMD9kn&% z35#kB`IKLMg{!aVN>6UA=*e{Db~IKz;oJvtb&&j?B{o)`CDK*6X?SA=2=YLvlJf{3 zvlM-mY&j!4^aVTTuFy%$)k5$yey z!Ah7iux9o>t{Z52awL3nio=I|O_BD+xNCqrz|NPSRm$`1Exo`_{gD9Kn-vo@Qyz97JZpk#-8qL=8sSSX5KZy&gLb zb-70T{K&(cZU-e$8~h0$bRU-S8+^cn;C)J&vSU>g9s{ny(?AO77zTpEo~}+uHo(Hs zJ%|YTbiFbJrApApm4jqM)@HD=GZSLlb3Ny0%^ieUHH>)4tcp7bXIkrY;596UA!D-U zsQ>33QE4hoy=o?lGSzvI_W$a19q;1s+w^an5i_8=1{|1zvgz-_dqXOT?^ku@ii5agEy zV-WfYR!`AOJuCC_VLEy?Yc0YUfhMyVdiG?+JqDBJHcUb^ZU!sypvZKOfskd_&7Cb{ zO2e{k;vo^c+@LF(q)knUn>s%kCji+ZbiJkqYc(KPR$h8V5P5Jq&?XsnlRzGX1AUr< zJi3kp79xl|29YO{s1w1-gT)tTnsh?w%wcn_uzNoLeU8cA>Q;v4GD}!u_j%`53Hblh; zBI9hLqC`}TfYn!V{(1R|+t1$6Fjebt-{LVA8v#Qs;-NG0qRv__bt7O35-C|^Bc_EG zfkh&%#hOUBCRrXs_(P)6)Fn4~nesQLE3@<)gNQoQl{xwipV>;>li5mfMW)PsUz|e3 zpWqZC=t^z{pXCqFv*y2OXvS~5XiRY%Ngxj{ce@9_!sIItGRfVwFS7oMwMVoVEy6wF zmUSR`;2buKDg64C-i{>K(l@ZTg_chu~t7(?wV zo+Xd9*dpLHMJ&xac>M}kE;m@TFzWiP>ys8n)rh)2Y4WWaQ8gA#zI*}4!3Vm}Hr4QQ z*<^>1T+7JFsRg0>4f95J!XEd7<;>g-YxaeHXx%pS8DG^jl%bskrT!a#4_J$u;X`4qutC@=d?6eVjta+xbHZieTTvAK#R6hsF;siKf7O;Us1nOevy7res%mB`?c`v z;Mc`3$?tu?^?sZE4*A{kdz>#O-`n{n=S$7EG2iWckFb?6LFuCmRFak5%8!bn2C7BX za%x32N^PKyQrD@M)T?T?`oO=Se{uh+{@wli`p@;>;eW;duK#`ipZ%ZbSM!JFFPT3w ze~bLR^AF8GHvg>ri}QbyKRy5D{9ot)$tKzg*&=O?ZQX67Y!hs=Y%6U$ZHH~=ZC~3S z*?tSK1QZG=8c;f*RzPe(n}EcCfdS(KW(O<|SRL?LKt{lkfKvh20v-f>7w}WSZ-My& z3j~G*mI{mxY!uiwFd=Y2;E2HFz{!E{1uhKyIB;9w?!dIbF9VMUo(;Sn_)Xx`AR)*< zs8CQu&>KOKLDhpA2DJ=|59%E>G-!O#^q~1c%Y#R*JM z!%3Q0L5Jg!^A~N}x&1K5!9?>HYj>?b8}`-9Cuyp=hO)YAMs1_^<&vzxg@c<;Y{Jfc zbpY*u#ExVY$DCcpF=u3+{P?8f1ypWxx}Z8xv3U(rsaUX`c}Be!+`ckSZ7BMkoghI(G@D8HF~wWCS@? z>*-znVw@eVF$w*eI&Ap1fKM;`s#Zzpj1N|i%qpL57Ex4@?8V7MB35p+O2^k&RZZ9yjYoyL*#q~&5T%CP~-TVR8JyaGx1N7tiJC*O8>!rpjDaP8CU;uu4ZW3kpLID6FY}d8%aa+3#WGRDEHPOJzZdZ7255 zr|wbI9GsUOHocnhn(^B7n=H(sM_W}0hMSx}T8*hWE;|kma;X2v4vtE;qitkW^KDr3 zRfcL#m7lStzI6JN8k{*zQ#V4(LCQ~cKjuQvrmCAEs6d^i<{qi5+Rs>E@oEEhOj}f} zkaZZ}UsOG7sbLWS)fFx4(3x>$x>sGxl2zDA$YNjL1B0^(v?)`KWo2>#jWSlW8#h3! zo)k&g1QSA+YJ_`6n-=?2OZIPOJ8aP8F>aK1!=^=zM1BxyXsS%}dz$B~bSBP*xmxfE zoQSjW11L*bR5Q}C?hJ**i_Y0BEDnkR^3-_ z?dRy)&YZCG*pTcnR{Z82R@8~Xlv=IBgh7Mbg;sZU!^g##yZe52#LTd_Z8s#+QQHzd z;IloOR;=E<#EDgNH`fpC=`>oibi4X5<_~-ZVEpGd&2GqVwbuBuXSK4WIU8)QYx&Y> z{ZYSVW7kY8?AvhK#(1j`?Nps$zN=Qj{1VH3<24&5^*K-^s8>Sta2IAlBP`c4PW|L~ zbgcmnJ@58rY?5<23o*u9)QJlxFJ8QG;o`-U7fzfw8Ozkv;IsOo5SQ_tmEG2@<|{en zV%a6DaXZIqt^)(r>ff6KR`G=nE0Wa5zB92N8V_RGqMR!@088yYY*U&u&6>7m)1EzR zVEm?wwac&p-5n}l%QMZhnj;wNQ&hGz8*4Jz=d#|KEwyJGpGRA5u*}o&f+0jDcJDOG zF++WMC5{S}FV~%_HTrKn;qdO~I@W>7D)wV#J^gI*w&81?-<~v@T2$5!3#InD_tR{v zlttwq4pMTig6Hj*_HRG-#eg+EKEQ$>)#!JUmAm-Oah801(m6gzpJIEl8?KDdUi)+FaAqlraz$IwH&D`zMcDqyh3hhWu=!}5?lEZR2T zuVNn`9c6?r9O^PcK`7Eef-JC#5sii0Dsx{{(BZyAPxI(>a@9xB{Xj3IV(lrm$^b)1FxXgV}1Ski_RxzY&925%wl5l>ZR-8FtL zPVl3j@r4G5s##gToNmVvpM@zt>$^UK(CVbqtlBZw^sIR1HrtmipJ5yAy{$&cuZ!T- z7V+p8d|i$%_lxmHiF%zI4{{t$G#^@fVDs6qN0~4sGs0@@YiVcurdle-HK`oc`uKgm zeta1>yZShrt-2>a4q>f6*Nj%i{+i9MVbkw2J6pzzoHUBCQ9t7B0vn3+(rImKJ!Or) zS7uL{+y0YsmpOA6)890l=7-o&uZXk@UZ4dpXelvMA3?kLu_Y3Q!a5-F|6%u}4F@)e zIIlsz2NCH;TKbvOT|aA)Fm}w4WSIS1!19?{mHkF9%S5Af#=GW43s)@N5VmdYsQ%8G z*1p4s_v|%h_4;wN+_!Ja<^gB$hPv1B%gR;Tb*k4Wz5ChpwV$kC=6HYBm|7jXRA^B+ z+j3^-}p%+buu_&=`$SoME{?Kv@ zMyy$W%a`sJ=K7W)ImMHWzUFr=<@I{za+dNr^>Cfc`VP^Hn`10rVnMbFW5vZk?azYl zu%IfNHyfrW=58O`AAfdgUy8Hq>ZBp&#Gymq?H$&8=!ZLoI+NCS9chkF`7G`+HmCcJ z07%eOpZV0p4aK0UYO~>ImgrFbWKmkh)<@&qHI|*KsLZTEHZp4}H!?5k5!v!1#TI;) zi6KA3YHdSQ9?1bCIj8#@PCYBX8DmdoUw?EoW z8)x1zKKTfu*Y^95usAsotqnxt(j%PKsQw!xe(K)ktJXW0jn>9nhb$kp*P(ipv{3PS zm9#1=jujg9*}R;3)(UU+s9Sr`o%ln3#`!JGX>Qnf z!evKAc7@z5A!=-4u>qM^O# zfT+JHwugAfTw~kbx3E$gJ@TDzs?rLid$CxdRaa4GYHUnB(6r85+9(J^x`v`B?hBd&fE#b2PFR zYl)o=wzfk%_HP_ky2a`H&X4s1pIKSSiof8LvWU{E_tT>1t1Dg~^f8KFU%2G5)(DTx zre9TAqRXgf;Rm!8F`CD+=8(2<6bW879-#~$nCQDc>Z9kVJD06o<6L50Gk#^yp5v2- zIVM<#Elb+zP!FzLv)Q@Ax;bf0`}Rr0`a8y2`>z~!(4p#uC)s~FdVmdKLs}gu@_L(Y z#+y@}r9s*fE`0V^jS`i(eY$%^SP7N3LOp$9#YZPAKI&hsbynHRi(GHB(ta`LQ9b@K zk$;W^VKZE?SRx;(j{aZ>Fm2PiIt-Pn(ECGYum0(*GU&$Z&|c%=ZBw#UEbKEyi@gj#WZ3~ z4Yym>+yg;&Ee8K_>ZHrI?AZM#gF(AP0tC0^x)jkl{U`>xJ#ZnS1> zU46{KB2?Ho7L5ui8WiR#_}hk+Yi67Gi@4_lcTKE@!BWFM*};d^nfz$O)3;P)f*ILz z4Kp+QA#8fBXK9NqvFb}poK>R>4EN!abQPJLPWOWoXqa3VIJO8lh@yMut4YyIZ%k>Os9WQ^{g9$8c-1Y0rV#c^>ObHunEz?2Zb-;cSv}Q>z@S%Y>28L ziXmcA;1Xg9;8J2);PPT6;3{Gh;5e~4a0{_LaA&bAaCdPj@N#h#@F(I<;LpXqz-i(! z;1i+?_`LWK_>uSn@J}N065V1B@b41xl1fRXfg`0z;EGaZ;Hpwp;Ap8Da1E&@a6PFW za096kaIA!qNX?{Xz%8T}!0jcJN9rbZ1Aa^D0h}oH0q!UD10Ey|0Uj!i03I!k1|B1g z0Zx{Zfu~5*f#*nbftO0Ci?l{s1H4h%2)tR^2E127jifYbA8>}00en=-1U@631^!C< z3i!TsANV`zJK!hM6X0jkGvFNQcR@7SOyPoTa+o54Yn$Q(8T1weMHnPp737AEo3|4R zCXO9GNQfAeFmi}cLoiX3J%8>ECDxB^6Co7v`XDBMB0&7<89#OD%8vqmv{(QoNI_5csnBo@t@}xPA%(gKMy@T zF+H4DL!cgy{w0QS?BuvM$K^Q=<+v)xRXA?WaRZLaa!jMSD3;_niQ`fnpW?VC$99e@ z5*DWN>-rqW61Mzg`4#^D=%FZ&m@IrD;zO7?Q=BU<5SNOn;#zSNeE#`w3S$4$-%RB5 zs^46c;?KVYDA}uiOHuBB`b$L(U-esy`v3X22{d`t&qF~fBT{FPtV;Mk92K9-8J=-N`&;(3>E7ts3RrT>R;9eMqGSR~dG z>x)ewH?)HrFZK}o01pBT7srSb@sY6|u6@5g;w*6?P`Ni|+=aJKL{CxTBd?_DKPJhg+56|lg zYSIGv-4yR3#e29KgxWOm*5W2ys>eg5-3KyHAMsb7AC-5W_lkU|yi-As^Im_-YYTCQ zWa9V>8ZYQtbaGss<4BH6aa@+LFiWD4WjQX-{cCd^%5eh6r8$0`hiSsGo#ToeM{!(< z~&$E7)L&QqAl@q64ShF@zOzrk@V_YddTLD+QEbPB0?M;yU{Pty*exKLWC z08B3ZD&R-8zK0$VO<3H>@w<|a>!P@pkdng`0sfZ+$en@}S1MAqLY^%kdIb4;8 zZ2LN-+G9xXxNugeDx4QC3bpZ>`=(G&xFtLgnhM_vkA&9355iAEdq}=dg-*h+kbmPL z{|Z7^Q4*~}Pca{4;eL>X!-avO0}}CY$iiiWB*?-QgmGdev67H1Ru!uY6U3Tg17V8T z2-5LvE*-xQu4pNIAYw6&uz+|?SO`fuURVT4xu>uMAJqp5DdG@uys%E3AkGkWiSLQ? zgbeWm@gpHqTqG_LPJw4u2-tH2nfe@L>J37c_^G%}xGHXke0>Y@^=<)&m_W+@8dCN_ z;l6kXviA3owNDC9#M9y#;VJm(g7B+&QM@SV_+WocaEmv@uZ7>m2jEC6N#ddku6!)o z#GmmgKM>scE0zGb#b;tLq;g5LOD4%*43%tBs8~!2mx_uNNKO}{rAksIvAR@EswUQe zY+ggGDM2AN(t-vY-JOlt!(A9l5Ip0VLP9X?Bw&2-KhU>!XDIB#@quE zhp8y$9yUJr2m>t^aeA0gXFt?ZK~D<6Y$6DC4HgQbFNJ_Mg&~!P3E@~m;t-rdgir)D zDuy0g0#te(^eBaXTSh30eiw;;S3#%XjcpwC627iJ2lglyq1=9j-z9V&*6jUp9~$f+N9=;Kdf0C3d6P zAt>2P>Mixb>~N4YSQ-LO93~ByMt~Q`U`{w4GrzsyvrN$OJ8;x9&kPQH6b_oH;FSR3 zHKCMP8g=O`b`iUx$GN~+7(4_;>}2gO+o6R5N|nU z@I?Uf4MTgELEA=S6m5Xfvn58&E<%FPR~Rge5XO3Qqd6ZfI0^@!lmt&y5~>MxgoZ+# z&`Ril@w%tbPZ%PM6vlbOn?cDS&`|?dy$%klEL0cj3XOzj7@0d_sZyfQUwB&>C5#u6 z6A}iElpb>YgyUy~Wr<^j;{u6^gNMqY92e!dG{==VuEBBrUPIm(1`QcCSpIwt?ZiRy=N#|j_)Cs6 z5p}qHhT|-buX22g)tgUOr;f&=Ka<9Ixki3&%S-{(|F-alMDXZ9dBJDUQ!`e1+qi9N)vpKyN4- zNB+4>qcny8XRe4oO*y<8lVs(Qul^p}c$imXK4ZanNvU~iM0zC=;$eklhHA9v9&EfR))6Zj3_ z0%B2)>0MGl4B%ove2tVZb8{mSFO9)@*_!7rwIX=O0 zCa@hEUc&o0{+#1&9B<@!J#dJyn&aghFXVV0$Fn%5mf|{x{{btUhOfo}Jj^RFvAzg| z`U@g>1@e|4f`3E{-a^%c7`(e$;T_on?~Yu zZ$K{{qF*3NPsyC+8coq$-*b;p++QHN;W?)wxmUgSSNQun_g-q~@s~Py-F{wooY$S> zbyK`9Q4{HrHkrGNy)Ly4`JeZ?-f~E1y!SLuqUXMFnVxdUwIDMHf?3`oXUON}d-AWI zaHdCsWVQ(=$WUD%6B)RJpqG0mnxJ_`?FmcfNc6!e!n+`7S)^7#*eTq^g5OHu=s-v! zrSZnD0qGzPQb;`B)&n3Jj6?WY!Uw`qxjg7MN~k4Q;BIZX5_jv!Rk&MMuEyOMxdwOZ z$u+rKU#`pD20VU}H-3`fiJv5R;wK57_(_5%ev;scpCowVCqe4S)hNpqd5X2=s@$#1 z?`I=l+yG`BVPnkNiL(#FwMJp~uNw!%}K!{N-dk36cxQ!E!;_4h`^Yav`~} z9EvAB|K^D(H$nduuX@Kc^ydhu~MA$rqoJmBejz{O7T)xsi)Lm8Yqpz zGIW%a`X1+3e{e!4-iBO0HI;*ECBRe?IN0I# z!-s2tys`G69-cQTrGqICC@FbqdHtWZ-Tw+TN#7EVvEt7o1+}k&`AKz@ts$iN#^Cl6 zph7Hoz9ifx;QZI&HUZY(1Q0OK zss|3C`)c?J@NK|DNvLl_+{a>GgdF+vhQMZiCqRpU_QY0;uLK!$)KbE0n8CjbE)x;L zPs|VfO8|dMiDE|{gWkIM-U%708pd9VeH6N^Oz5&sKp$}m`iL`v3-7OU&}&@~vY^|# z1l`sZ;VWNSVn^ijZ)=P)@mkBKAd{U_&4lvtc`lU-y@TrJ$FC#!wLj`engvK!rotvo zP`G{}fIrKRXa49%(O~d7;v69qbNZ!180PgULOAJi1x?%~?h+iB-yap6nAhJHA~3hV zClnEX6n_+oVpi`b6vND3#mp5nH-(~4c{CVQjv4?DZI1juqz>u}3Xtqd96+tqfXW6s z`D0!#m_k4$Pf2A{gegKWaf+CwPC^8rKA;xhEkHZ(bpyCf0p!v%a(e;>0J;JC16l#1 z0OU_;P<#seCV;}f4(JMq0XP7)0aXF*0Zu?CKw|*Ki}yk`xRfrHBMv}e#{e1v$e*55 zSf5)C*M$M}tT><;AQTV;r~sgFKA^nodHsvRrTS6X$S>M^T@$Vks4kR0#V0yZy(m1n zR2RCYyz2m#mhxb^|cBIfe|&!-%oQTavz0s*rCa{%uEz5{#!C z6t4<^>g&?b-msz4zo&`%xGQPvxh30=lMjN_v6v{NIGv@}x&R@V^OEA76S3 zt_g@%e*~%{g`;{=pZsrt+UiyDeC6=DMbKW~BF=z+3Dj=A05rb%fcTlxY4sP-6MlJt z_?hmhuKxteBOJj$3HwH#a5h}OnFs!gHcj!o4< zic1g*hygSK&@)Ou0YLfFJ@EwbDCJ)jP}U2SEHv7Id#|aSKA<{Kx$;62+!LKC9^U28fA>DG z0GDJLYF{5vJo5Loa{*lYc+%(k`WKa#(k1$kOY!mpXj~wEp|TLrSVnD3K=q-#eD@K! zwgZ*{mH<`(76Cp4qWE&yQ(h#uq; z4Se@>P5sJuPp&Tvh4;mY#C0VA(T(_mKm$HPoI<$W3b*+&B^ zr*PDJ50|d3hc0r#AKi`IDay=$>fH!+G1w*KVBVdE)xg_%|+A zQFVGw>0Sq%@RUQM{*83$*_PK z$4wA~-*fW#bw)Y { { barStyle={'light-content'} padding={16} justifyContent="space-between" - paddingTop={Math.max(insets.top, 20)} + paddingTop={Math.max(insets.top, 15) + extraYPadding} > @@ -32,11 +33,7 @@ export const HomeNavBar = (props: NativeStackHeaderProps) => { // disable icon click for now onPress={() => { buttonTap(); - // props.navigation.navigate('Activity'); - return false; - }} - style={{ - opacity: 0, + props.navigation.navigate('ProofHistory'); }} /> diff --git a/app/src/navigation/home.ts b/app/src/navigation/home.ts index 97f3bdba9..943df6db5 100644 --- a/app/src/navigation/home.ts +++ b/app/src/navigation/home.ts @@ -3,6 +3,8 @@ import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import { HomeNavBar } from '../components/NavBar'; import DisclaimerScreen from '../screens/home/DisclaimerScreen'; import HomeScreen from '../screens/home/HomeScreen'; +import ProofHistoryDetailScreen from '../screens/home/ProofHistoryDetailScreen'; +import ProofHistoryScreen from '../screens/home/ProofHistoryScreen'; import { black } from '../utils/colors'; const homeScreens = { @@ -22,6 +24,20 @@ const homeScreens = { presentation: 'card', } as NativeStackNavigationOptions, }, + ProofHistory: { + screen: ProofHistoryScreen, + options: { + title: 'Approved Requests', + navigationBarColor: black, + headerBackTitle: 'close', + }, + }, + ProofHistoryDetail: { + screen: ProofHistoryDetailScreen, + options: { + title: 'Approval', + }, + }, }; export default homeScreens; diff --git a/app/src/navigation/settings.ts b/app/src/navigation/settings.ts index 4885371df..9d6d276a5 100644 --- a/app/src/navigation/settings.ts +++ b/app/src/navigation/settings.ts @@ -2,8 +2,6 @@ import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import CloudBackupScreen from '../screens/settings/CloudBackupScreen'; import PassportDataInfoScreen from '../screens/settings/PassportDataInfoScreen'; -import ProofHistoryDetailScreen from '../screens/settings/ProofHistoryDetailScreen'; -import ProofHistoryScreen from '../screens/settings/ProofHistoryScreen'; import SettingsScreen from '../screens/settings/SettingsScreen'; import ShowRecoveryPhraseScreen from '../screens/settings/ShowRecoveryPhraseScreen'; import { black, slate300, white } from '../utils/colors'; @@ -30,19 +28,6 @@ const settingsScreens = { }, } as NativeStackNavigationOptions, }, - ProofHistory: { - screen: ProofHistoryScreen, - options: { - title: 'Approved Requests', - navigationBarColor: black, - }, - }, - ProofHistoryDetail: { - screen: ProofHistoryDetailScreen, - options: { - title: 'Approval', - }, - }, Settings: { screen: SettingsScreen, options: { diff --git a/app/src/screens/home/HomeScreen.tsx b/app/src/screens/home/HomeScreen.tsx index 36fd9bb25..e88844a7f 100644 --- a/app/src/screens/home/HomeScreen.tsx +++ b/app/src/screens/home/HomeScreen.tsx @@ -20,7 +20,7 @@ import { slate800, white, } from '../../utils/colors'; - +import { extraYPadding } from '../../utils/constants'; const ScanButton = styled(Button, { borderRadius: 20, width: 90, @@ -54,7 +54,7 @@ const HomeScreen: React.FC = () => { jc="space-between" flex={1} paddingHorizontal={20} - paddingBottom={bottom} + paddingBottom={bottom + extraYPadding} > diff --git a/app/src/screens/settings/ProofHistoryDetailScreen.tsx b/app/src/screens/home/ProofHistoryDetailScreen.tsx similarity index 84% rename from app/src/screens/settings/ProofHistoryDetailScreen.tsx rename to app/src/screens/home/ProofHistoryDetailScreen.tsx index 7837daf0a..7c5cfc43f 100644 --- a/app/src/screens/settings/ProofHistoryDetailScreen.tsx +++ b/app/src/screens/home/ProofHistoryDetailScreen.tsx @@ -15,7 +15,9 @@ import { slate700, white, zinc400, + zinc500, } from '../../utils/colors'; +import { advercase, dinot, plexMono } from '../../utils/fonts'; type ProofHistoryDetailScreenProps = { route: { @@ -87,6 +89,7 @@ const ProofHistoryDetailScreen: React.FC = ({ return result; }, [data.disclosures]); + // TODO: fix timestamp format const formattedDate = useMemo(() => { return new Date(data.timestamp).toLocaleString('en-US', { month: 'long', @@ -146,6 +149,7 @@ const ProofHistoryDetailScreen: React.FC = ({ paddingBottom={20} > + {/* TODO: add background gradient */} {logoSource && ( = ({ objectFit="contain" /> )} - + {data.appName} - + {data.appName} @@ -168,10 +183,12 @@ const ProofHistoryDetailScreen: React.FC = ({ color={zinc400} fontSize={16} textAlign="center" - fontWeight="500" + fontWeight={500} + fontFamily={dinot} > - {data.appName} was granted access to the following information - from your verified Passport. + {data.appName} was granted access to + the following information from your verified{' '} + Passport. @@ -183,10 +200,21 @@ const ProofHistoryDetailScreen: React.FC = ({ > - + {proofStatus} - + {formattedDate} @@ -231,7 +259,9 @@ const ProofHistoryDetailScreen: React.FC = ({ {isEthereumAddress ? 'CONNECTED WALLET ADDRESS' @@ -257,7 +287,7 @@ const ProofHistoryDetailScreen: React.FC = ({ key={index} backgroundColor={slate100} paddingVertical={16} - paddingHorizontal={20} + paddingHorizontal={10} borderRadius={12} alignItems="center" > @@ -276,12 +306,14 @@ const ProofHistoryDetailScreen: React.FC = ({ color={slate700} fontSize={12} flex={1} - fontWeight="500" - letterSpacing={0.4} + fontWeight={500} + letterSpacing={0.48} + fontFamily={dinot} + textTransform={'uppercase'} > {disclosure} - + ))} diff --git a/app/src/screens/settings/ProofHistoryScreen.tsx b/app/src/screens/home/ProofHistoryScreen.tsx similarity index 65% rename from app/src/screens/settings/ProofHistoryScreen.tsx rename to app/src/screens/home/ProofHistoryScreen.tsx index 1e77ae869..be83d4a51 100644 --- a/app/src/screens/settings/ProofHistoryScreen.tsx +++ b/app/src/screens/home/ProofHistoryScreen.tsx @@ -7,6 +7,7 @@ import { SectionList, StyleSheet, } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { Card, Image, Text, View, XStack, YStack } from 'tamagui'; import { BodyText } from '../../components/typography/BodyText'; @@ -19,10 +20,13 @@ import { blue100, blue600, slate50, + slate200, slate300, slate500, white, } from '../../utils/colors'; +import { extraYPadding } from '../../utils/constants'; +import { dinot } from '../../utils/fonts'; type Section = { title: string; @@ -50,6 +54,7 @@ const ProofHistoryScreen: React.FC = () => { } = useProofHistoryStore(); const [refreshing, setRefreshing] = useState(false); const navigation = useNavigation(); + const { bottom } = useSafeAreaInsets(); useEffect(() => { initDatabase(); @@ -167,114 +172,131 @@ const ProofHistoryScreen: React.FC = () => { return sections; }, [proofHistory, getTimePeriod]); - const renderItem = useCallback(({ item }: { item: ProofHistory }) => { - try { - const disclosures = JSON.parse(item.disclosures); - const logoSource = item.logoBase64 - ? { - uri: - item.logoBase64.startsWith('data:') || - item.logoBase64.startsWith('http') - ? item.logoBase64 - : `data:image/png;base64,${item.logoBase64}`, - } - : null; - - const disclosureCount = Object.values(disclosures).filter( - value => value, - ).length; - - return ( - - - - navigation.navigate('ProofHistoryDetail', { data: item }) - } - > - - {logoSource && ( - - )} - - - {item.appName} - - - {formatDate(item.timestamp)} - - - {(item.endpointType === 'staging_celo' || - item.endpointType === 'celo') && ( + const renderItem = useCallback( + ({ + item, + index, + section, + }: { + item: ProofHistory; + index: number; + section: Section; + }) => { + try { + const disclosures = JSON.parse(item.disclosures); + const logoSource = item.logoBase64 + ? { + uri: + item.logoBase64.startsWith('data:') || + item.logoBase64.startsWith('http') + ? item.logoBase64 + : `data:image/png;base64,${item.logoBase64}`, + } + : null; + + const disclosureCount = Object.values(disclosures).filter( + value => value, + ).length; + + const borderRadiusSize = 16; + const isFirstItem = index === 0; + const isLastItem = index === section.data.length - 1; + + return ( + + + + navigation.navigate('ProofHistoryDetail', { data: item }) + } + > + + {logoSource && ( + + )} + + + {item.appName} + + + {formatDate(item.timestamp)} + + + {(item.endpointType === 'staging_celo' || + item.endpointType === 'celo') && ( + + + + )} - + + {disclosureCount} + + - )} - - - {disclosureCount} - - - - - - - ); - } catch (e) { - console.error('Error rendering item:', e, item); - return null; - } - }, []); + + + + ); + } catch (e) { + console.error('Error rendering item:', e, item); + return null; + } + }, + [], + ); const renderSectionHeader = useCallback( ({ section }: { section: Section }) => { return ( {section.title.toUpperCase()} @@ -328,7 +350,7 @@ const ProofHistoryScreen: React.FC = () => { }, [isLoading, refreshing]); return ( - + { windowSize={10} removeClippedSubviews={true} /> - + ); }; diff --git a/app/src/screens/misc/LoadingScreen.tsx b/app/src/screens/misc/LoadingScreen.tsx index f8de28869..9dfb652af 100644 --- a/app/src/screens/misc/LoadingScreen.tsx +++ b/app/src/screens/misc/LoadingScreen.tsx @@ -14,10 +14,7 @@ import { loadPassportDataAndSecret } from '../../stores/passportDataProvider'; import { black, slate400, white, zinc500, zinc900 } from '../../utils/colors'; import { advercase, dinot } from '../../utils/fonts'; import { loadingScreenProgress } from '../../utils/haptic'; -import { - getStateMessage, - setupNotifications, -} from '../../utils/notifications/notificationService'; +import { setupNotifications } from '../../utils/notifications/notificationService'; import { getLoadingScreenText } from '../../utils/proving/loadingScreenStateText'; import { ProvingStateType, @@ -197,9 +194,6 @@ const LoadingScreen: React.FC = ({}) => { ? 'You can now safely close the app' : 'Closing the app will cancel this process'} - - {getStateMessage(currentState)} - diff --git a/app/src/screens/settings/PassportDataInfoScreen.tsx b/app/src/screens/settings/PassportDataInfoScreen.tsx index 70eaa87fd..74fb7d67f 100644 --- a/app/src/screens/settings/PassportDataInfoScreen.tsx +++ b/app/src/screens/settings/PassportDataInfoScreen.tsx @@ -1,11 +1,13 @@ import { useFocusEffect } from '@react-navigation/native'; import React, { useCallback, useState } from 'react'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { ScrollView, Separator, XStack, YStack } from 'tamagui'; import { PassportMetadata } from '../../../../common/src/utils/passports/passport_parsing/parsePassportData'; import { Caption } from '../../components/typography/Caption'; import { usePassport } from '../../stores/passportDataProvider'; import { black, slate200, white } from '../../utils/colors'; +import { extraYPadding } from '../../utils/constants'; // TODO clarify if we need more/less keys to be displayed const dataKeysToLabels: Record< @@ -55,6 +57,7 @@ interface PassportDataInfoScreenProps {} const PassportDataInfoScreen: React.FC = ({}) => { const { getData } = usePassport(); const [metadata, setMetadata] = useState(null); + const { bottom } = useSafeAreaInsets(); const loadData = useCallback(async () => { if (metadata) { @@ -76,8 +79,14 @@ const PassportDataInfoScreen: React.FC = ({}) => { }); return ( - - + + {Object.entries(dataKeysToLabels).map(([key, label]) => ( = ({}) => { } /> ))} - - + + ); }; diff --git a/app/src/screens/settings/SettingsScreen.tsx b/app/src/screens/settings/SettingsScreen.tsx index 9f9ee6b79..07068cf39 100644 --- a/app/src/screens/settings/SettingsScreen.tsx +++ b/app/src/screens/settings/SettingsScreen.tsx @@ -36,6 +36,7 @@ import { slate800, white, } from '../../utils/colors'; +import { extraYPadding } from '../../utils/constants'; import { impactLight } from '../../utils/haptic'; interface SettingsScreenProps {} @@ -64,7 +65,6 @@ const goToStore = () => { const routes = [ [Data, 'View passport info', 'PassportDataInfo'], - [Data, 'Proof history', 'ProofHistory'], [Lock, 'Reveal recovery phrase', 'ShowRecoveryPhrase'], [Cloud, 'Cloud backup', 'CloudBackupSettings'], [Feedback, 'Send feeback', 'email_feedback'], @@ -196,7 +196,8 @@ ${deviceInfo.map(([k, v]) => `${k}=${v}`).join('; ')} gap={20} jc="space-between" height={'100%'} - padding={20} + paddingHorizontal={20} + paddingBottom={bottom + extraYPadding} borderTopLeftRadius={30} borderTopRightRadius={30} > diff --git a/app/src/utils/constants.ts b/app/src/utils/constants.ts new file mode 100644 index 000000000..19d75ec66 --- /dev/null +++ b/app/src/utils/constants.ts @@ -0,0 +1 @@ +export const extraYPadding = 15; diff --git a/app/src/utils/fonts.ts b/app/src/utils/fonts.ts index 0d05065b8..5b4a42452 100644 --- a/app/src/utils/fonts.ts +++ b/app/src/utils/fonts.ts @@ -1,2 +1,3 @@ export const advercase = 'Advercase-Regular'; export const dinot = 'DINOT-Medium'; +export const plexMono = 'IBMPlexMono-Regular'; From 5fa10dba79d48831bbdc676cbaf94ea04a594c2d Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Tue, 20 May 2025 13:27:30 -0500 Subject: [PATCH 39/49] Bump v2.5.1; ios 123; android 62 (#565) * bump to build 61 * bump ios version * update version --- app/android/app/build.gradle | 2 +- app/ios/Self.xcodeproj/project.pbxproj | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index 8209f2bd6..0b6e2a2bc 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -86,7 +86,7 @@ android { applicationId "com.proofofpassportapp" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 60 + versionCode 62 versionName "2.5.1" externalNativeBuild { cmake { diff --git a/app/ios/Self.xcodeproj/project.pbxproj b/app/ios/Self.xcodeproj/project.pbxproj index 521e45870..897935cbb 100644 --- a/app/ios/Self.xcodeproj/project.pbxproj +++ b/app/ios/Self.xcodeproj/project.pbxproj @@ -511,7 +511,7 @@ CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassportDebug.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 122; + CURRENT_PROJECT_VERSION = 123; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; ENABLE_BITCODE = NO; @@ -649,7 +649,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassport.entitlements; - CURRENT_PROJECT_VERSION = 122; + CURRENT_PROJECT_VERSION = 123; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; FRAMEWORK_SEARCH_PATHS = ( From 5a3bd28e7b37f10c4828f32edf962155a279b9ea Mon Sep 17 00:00:00 2001 From: Kevin Lin <86810837+kevinsslin@users.noreply.github.com> Date: Fri, 23 May 2025 14:52:59 +0800 Subject: [PATCH 40/49] Feature/add prettier formatter (#568) * Add Prettier configuration and ignore files for code formatting - Created .prettierignore to exclude specific directories and files from formatting. - Added .prettierrc.yml with custom settings for print width and trailing commas. - Updated package.json to include Prettier and its Solidity plugin as dependencies, along with scripts for formatting and checking code. * Run prettier formatting --- contracts/.prettierignore | 17 + contracts/.prettierrc.yml | 8 + contracts/README.md | 138 +- .../contracts/IdentityVerificationHub.sol | 2 +- .../IdentityVerificationHubImplV1.sol | 312 +- .../abstract/SelfVerificationRoot.sol | 29 +- .../contracts/constants/CircuitConstants.sol | 31 +- contracts/contracts/example/Airdrop.sol | 33 +- .../contracts/example/SelfPassportERC721.sol | 22 +- .../interfaces/IDscCircuitVerifier.sol | 5 +- .../interfaces/IIdentityRegistryV1.sol | 39 +- .../interfaces/IIdentityVerificationHubV1.sol | 58 +- .../interfaces/IPassportAirdropRoot.sol | 4 +- .../interfaces/IRegisterCircuitVerifier.sol | 5 +- .../interfaces/ISelfVerificationRoot.sol | 10 +- .../IVcAndDiscloseCircuitVerifier.sol | 5 +- .../libraries/CircuitAttributeHandler.sol | 28 +- contracts/contracts/libraries/Formatter.sol | 67 +- .../libraries/SelfCircuitLibrary.sol | 36 +- .../contracts/registry/IdentityRegistry.sol | 2 +- .../registry/IdentityRegistryImplV1.sol | 344 +- contracts/contracts/sdk/VerifyAll.sol | 70 +- .../tests/testCircuitAttributeHandler.sol | 15 +- contracts/contracts/tests/testFormatter.sol | 8 +- contracts/contracts/tests/testImplRoot.sol | 5 +- .../testUpgradedIdentityRegistryImplV1.sol | 186 +- ...tUpgradedIdentityVerificationHubImplV1.sol | 62 +- contracts/contracts/upgradeable/ImplRoot.sol | 13 +- contracts/contracts/upgradeable/ProxyRoot.sol | 2 +- contracts/contracts/utils/PCR0Manager.sol | 4 +- .../disclose/Verifier_vc_and_disclose.sol | 167 +- ...erifier_dsc_sha1_ecdsa_brainpoolP256r1.sol | 53 +- .../dsc/Verifier_dsc_sha1_ecdsa_secp256r1.sol | 53 +- .../dsc/Verifier_dsc_sha1_rsa_65537_4096.sol | 53 +- ...ifier_dsc_sha256_ecdsa_brainpoolP256r1.sol | 53 +- ...ifier_dsc_sha256_ecdsa_brainpoolP384r1.sol | 53 +- .../Verifier_dsc_sha256_ecdsa_secp256r1.sol | 53 +- .../Verifier_dsc_sha256_ecdsa_secp384r1.sol | 53 +- .../Verifier_dsc_sha256_ecdsa_secp521r1.sol | 53 +- .../Verifier_dsc_sha256_rsa_65537_4096.sol | 53 +- .../Verifier_dsc_sha256_rsapss_3_32_3072.sol | 53 +- ...rifier_dsc_sha256_rsapss_65537_32_3072.sol | 53 +- ...rifier_dsc_sha256_rsapss_65537_32_4096.sol | 53 +- ...ifier_dsc_sha384_ecdsa_brainpoolP384r1.sol | 53 +- ...ifier_dsc_sha384_ecdsa_brainpoolP512r1.sol | 53 +- .../Verifier_dsc_sha384_ecdsa_secp384r1.sol | 53 +- ...ifier_dsc_sha512_ecdsa_brainpoolP512r1.sol | 53 +- .../Verifier_dsc_sha512_ecdsa_secp521r1.sol | 53 +- .../Verifier_dsc_sha512_rsa_65537_4096.sol | 53 +- ...rifier_dsc_sha512_rsapss_65537_64_4096.sol | 53 +- ...r_sha1_sha1_sha1_ecdsa_brainpoolP224r1.sol | 59 +- ...egister_sha1_sha1_sha1_ecdsa_secp256r1.sol | 59 +- ...register_sha1_sha1_sha1_rsa_65537_4096.sol | 59 +- ...ster_sha1_sha256_sha256_rsa_65537_4096.sol | 59 +- ...24_sha224_sha224_ecdsa_brainpoolP224r1.sol | 59 +- ...r_sha256_sha224_sha224_ecdsa_secp224r1.sol | 59 +- ...56_sha256_sha256_ecdsa_brainpoolP256r1.sol | 59 +- ...56_sha256_sha256_ecdsa_brainpoolP384r1.sol | 59 +- ...r_sha256_sha256_sha256_ecdsa_secp256r1.sol | 59 +- ...r_sha256_sha256_sha256_ecdsa_secp384r1.sol | 59 +- ...gister_sha256_sha256_sha256_rsa_3_4096.sol | 59 +- ...er_sha256_sha256_sha256_rsa_65537_4096.sol | 59 +- ..._sha256_sha256_sha256_rsapss_3_32_2048.sol | 59 +- ...256_sha256_sha256_rsapss_65537_32_2048.sol | 59 +- ...256_sha256_sha256_rsapss_65537_32_3072.sol | 59 +- ...256_sha256_sha256_rsapss_65537_64_2048.sol | 59 +- ...84_sha384_sha384_ecdsa_brainpoolP384r1.sol | 59 +- ...84_sha384_sha384_ecdsa_brainpoolP512r1.sol | 59 +- ...r_sha384_sha384_sha384_ecdsa_secp384r1.sol | 59 +- ...384_sha384_sha384_rsapss_65537_48_2048.sol | 59 +- ...er_sha512_sha512_sha256_rsa_65537_4096.sol | 59 +- ...12_sha512_sha512_ecdsa_brainpoolP512r1.sol | 59 +- ...r_sha512_sha512_sha512_ecdsa_secp521r1.sol | 59 +- ...er_sha512_sha512_sha512_rsa_65537_4096.sol | 59 +- ...512_sha512_sha512_rsapss_65537_64_2048.sol | 59 +- contracts/hardhat.config.ts | 24 +- ...rifier_dsc_sha1_ecdsa_brainpoolP256r1.json | 2 +- ...iers#Verifier_dsc_sha1_rsa_65537_4096.json | 2 +- ...fier_dsc_sha256_ecdsa_brainpoolP256r1.json | 2 +- ...fier_dsc_sha256_ecdsa_brainpoolP384r1.json | 2 +- ...s#Verifier_dsc_sha256_ecdsa_secp256r1.json | 2 +- ...s#Verifier_dsc_sha256_ecdsa_secp384r1.json | 2 +- ...rs#Verifier_dsc_sha256_rsa_65537_4096.json | 2 +- ...#Verifier_dsc_sha256_rsapss_3_32_3072.json | 2 +- ...ifier_dsc_sha256_rsapss_65537_32_3072.json | 2 +- ...ifier_dsc_sha256_rsapss_65537_32_4096.json | 2 +- ...fier_dsc_sha384_ecdsa_brainpoolP384r1.json | 2 +- ...s#Verifier_dsc_sha384_ecdsa_secp384r1.json | 2 +- ...rs#Verifier_dsc_sha512_rsa_65537_4096.json | 2 +- ...ifier_dsc_sha512_rsapss_65537_64_4096.json | 2 +- ..._sha1_sha1_sha1_ecdsa_brainpoolP224r1.json | 2 +- ...egister_sha1_sha1_sha1_rsa_65537_4096.json | 2 +- ...ter_sha1_sha256_sha256_rsa_65537_4096.json | 2 +- ...4_sha224_sha224_ecdsa_brainpoolP224r1.json | 2 +- ..._sha256_sha224_sha224_ecdsa_secp224r1.json | 2 +- ...6_sha256_sha256_ecdsa_brainpoolP256r1.json | 2 +- ...6_sha256_sha256_ecdsa_brainpoolP384r1.json | 2 +- ..._sha256_sha256_sha256_ecdsa_secp256r1.json | 2 +- ..._sha256_sha256_sha256_ecdsa_secp384r1.json | 2 +- ...ister_sha256_sha256_sha256_rsa_3_4096.json | 2 +- ...r_sha256_sha256_sha256_rsa_65537_4096.json | 2 +- ...sha256_sha256_sha256_rsapss_3_32_2048.json | 2 +- ...56_sha256_sha256_rsapss_65537_32_2048.json | 2 +- ...56_sha256_sha256_rsapss_65537_32_3072.json | 2 +- ...4_sha384_sha384_ecdsa_brainpoolP384r1.json | 2 +- ..._sha384_sha384_sha384_ecdsa_secp384r1.json | 2 +- ...84_sha384_sha384_rsapss_65537_48_2048.json | 2 +- ...r_sha512_sha512_sha512_rsa_65537_4096.json | 2 +- ...12_sha512_sha512_rsapss_65537_64_2048.json | 2 +- ...AllVerifiers#Verifier_vc_and_disclose.json | 2 +- .../DeployHub#IdentityVerificationHub.json | 2 +- ...ployHub#IdentityVerificationHubImplV1.json | 2 +- ...DeployRegistryModule#IdentityRegistry.json | 2 +- ...RegistryModule#IdentityRegistryImplV1.json | 2 +- .../DeployRegistryModule#PoseidonT3.json | 2 +- .../artifacts/DeployVerifyAll#VerifyAll.json | 2 +- ...gistryCscaRoot#IdentityRegistryImplV1.json | 2 +- ...ateRegistryHub#IdentityRegistryImplV1.json | 2 +- ...gistryOfacRoot#IdentityRegistryImplV1.json | 2 +- .../ignition/modules/deployAllVerifiers.ts | 31 +- contracts/ignition/modules/deployHub.ts | 61 +- .../modules/deployNewHubAndUpgrade.ts | 41 +- .../modules/deployNewRegistryAndUpgrade.ts | 41 +- contracts/ignition/modules/deployPCR0.ts | 14 +- contracts/ignition/modules/deployRegistry.ts | 49 +- contracts/ignition/modules/deployVerifiers.ts | 63 +- contracts/ignition/modules/deployVerifyAll.ts | 18 +- .../ignition/modules/scripts/updatePCR0.ts | 54 +- .../modules/scripts/updateRegistryCscaRoot.ts | 3 +- .../modules/scripts/updateRegistryHub.ts | 1 - .../modules/scripts/updateRegistryOfacRoot.ts | 11 +- .../scripts/updateVerifyAllAddresses.ts | 20 +- contracts/package.json | 6 +- contracts/scripts/deleteDscKeyCommitment.ts | 145 +- contracts/scripts/findErrorSignature.ts | 70 +- contracts/scripts/setDscKeyCommitment.ts | 56 +- contracts/scripts/setVerifiers.ts | 184 +- contracts/test/example/airdrop.test.ts | 1281 +- .../commitmentRegistration.test.ts | 806 +- contracts/test/integration/endToEnd.test.ts | 442 +- .../test/integration/vcAndDisclose.test.ts | 1472 +- contracts/test/integration/verifyAll.test.ts | 1050 +- contracts/test/sdk/sdkCore.test.ts | 4 +- .../test/unit/CircuitAttributeHandler.test.ts | 352 +- contracts/test/unit/IdentityRegistry.test.ts | 1846 +-- .../test/unit/IdentityVerificationHub.test.ts | 964 +- contracts/test/unit/ImplRoot.test.ts | 168 +- contracts/test/unit/PCR0Manager.test.ts | 58 +- contracts/test/unit/formatter.test.ts | 819 +- contracts/test/utils/constants.ts | 10 +- contracts/test/utils/deployment.ts | 299 +- contracts/test/utils/example/balance-tree.ts | 37 +- contracts/test/utils/example/merkle-tree.ts | 86 +- contracts/test/utils/formatter.ts | 534 +- contracts/test/utils/generateProof.ts | 493 +- .../utils/pubkeys/serialized_csca_tree.json | 91 +- .../utils/pubkeys/serialized_dsc_tree.json | 2 +- contracts/test/utils/smt.json | 2 +- contracts/test/utils/types.ts | 81 +- contracts/test/utils/utils.ts | 40 +- contracts/tsconfig.json | 2 +- contracts/yarn.lock | 11617 +++++++--------- 162 files changed, 12482 insertions(+), 15261 deletions(-) create mode 100644 contracts/.prettierignore create mode 100644 contracts/.prettierrc.yml diff --git a/contracts/.prettierignore b/contracts/.prettierignore new file mode 100644 index 000000000..2a779608e --- /dev/null +++ b/contracts/.prettierignore @@ -0,0 +1,17 @@ +# directories +broadcast +cache +coverage +node_modules +out + +# files +*.env +*.log +.DS_Store +.pnp.* +bun.lockb +lcov.info +package-lock.json +pnpm-lock.yaml +yarn.lock \ No newline at end of file diff --git a/contracts/.prettierrc.yml b/contracts/.prettierrc.yml new file mode 100644 index 000000000..c174e34c5 --- /dev/null +++ b/contracts/.prettierrc.yml @@ -0,0 +1,8 @@ +printWidth: 120 +trailingComma: "all" +overrides: + - files: "*.md" + options: + proseWrap: "always" +plugins: + - prettier-plugin-solidity diff --git a/contracts/README.md b/contracts/README.md index 8f7c1ddf8..976634d9c 100644 --- a/contracts/README.md +++ b/contracts/README.md @@ -7,11 +7,14 @@ This is the implementation of contracts for verification and management of ident ## ⚠️Cautions⚠️ When you do the upgrade, be careful with this storage patterns + - You can not change the order in which the contract state variables are declared, nor their type. -Pls see this page for more details: https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#modifying-your-contracts +Pls see this page for more details: +https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#modifying-your-contracts ## Integration Guide + In the npm package, you'll find the following directory structure: ```bash @@ -26,7 +29,7 @@ In the npm package, you'll find the following directory structure: │ ├── IIdentityRegistryV1.sol │ ├── IIdentityVerificationHubV1.sol │ ├── IPassportAirdropRoot.sol -│ ├── IRegisterCircuitVerifier.sol +│ ├── IRegisterCircuitVerifier.sol │ ├── ISelfVerificationRoot.sol │ └── IVcAndDiscloseCircuitVerifier.sol └── libraries @@ -37,53 +40,60 @@ In the npm package, you'll find the following directory structure: If you want to integrate SelfVerificationRoot.sol into your contract, you should also import these files. ```solidity -import {SelfVerificationRoot} from "@selfxyz/contracts/contracts/abstract/SelfVerificationRoot.sol"; +import { SelfVerificationRoot } from "@selfxyz/contracts/contracts/abstract/SelfVerificationRoot.sol"; -import {IVcAndDiscloseCircuitVerifier} from "@selfxyz/contracts/contracts/interfaces/IVcAndDiscloseCircuitVerifier.sol"; +import { + IVcAndDiscloseCircuitVerifier +} from "@selfxyz/contracts/contracts/interfaces/IVcAndDiscloseCircuitVerifier.sol"; -import {IIdentityVerificationHubV1} from "@selfxyz/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol"; +import { IIdentityVerificationHubV1 } from "@selfxyz/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol"; -import {CircuitConstants} from "@selfxyz/contracts/contracts/constants/CircuitConstants.sol"; +import { CircuitConstants } from "@selfxyz/contracts/contracts/constants/CircuitConstants.sol"; ``` -And override verifySelfProof function and write your own logic. -You can take a look at these examples. +And override verifySelfProof function and write your own logic. You can take a look at these examples. + - [Airdrop](https://github.com/selfxyz/self/blob/main/contracts/contracts/example/Airdrop.sol) - [HappyBirthday](https://github.com/selfxyz/happy-birthday/blob/main/contracts/contracts/HappyBirthday.sol) In the verifySelfProof function, you should add these validations + - Mandatory - - scope validation - - attestation id validation + - scope validation + - attestation id validation - Optional - - nullifier validation - - user id validation - - age verification with olderThan - - forbidden countries validation - - ofac validation + - nullifier validation + - user id validation + - age verification with olderThan + - forbidden countries validation + - ofac validation Also, if you want to play with some attributes in the passport, you should import these libraries. -``` solidity -import {CircuitAttributeHandler} from "@selfxyz/contracts/contracts/libraries/CircuitAttributeHandler.sol"; -import {Formatter} from "@selfxyz/contracts/contracts/libraries/Formatter.sol"; + +```solidity +import { CircuitAttributeHandler } from "@selfxyz/contracts/contracts/libraries/CircuitAttributeHandler.sol"; +import { Formatter } from "@selfxyz/contracts/contracts/libraries/Formatter.sol"; ``` -CircuitAttributeHandler is the library to extract readable attributes in the passport from public signals. -The formatter is responsible for converting other data included in the public signals. -Use it when you want to validate information related to birthdays or the time when the proof was generated. +CircuitAttributeHandler is the library to extract readable attributes in the passport from public signals. The formatter +is responsible for converting other data included in the public signals. Use it when you want to validate information +related to birthdays or the time when the proof was generated. As an example, please refer to the following contract. + - [HappyBirthday](https://github.com/selfxyz/happy-birthday/blob/main/contracts/contracts/HappyBirthday.sol) - [getReadableRevealedData function in the hub contract](https://github.com/selfxyz/self/blob/bdcf9537b01570b2197ae378815adbcc9c8747e8/contracts/contracts/IdentityVerificationHubImplV1.sol#L313-L357) ## Building Contracts 1. Install dependencies: + ```bash yarn install ``` 2. Compile the contracts: + ```bash yarn run compile ``` @@ -91,21 +101,25 @@ yarn run compile ## Deployments 1. Deploy verifiers + ```bash yarn run deploy:allverifiers:celo ``` 2. Deploy registry proxy and impl + ```bash yarn run deploy:registry:celo ``` 3. Deploy hub proxy and impl + ```bash yarn run deploy:hub:celo ``` 4. Update csca, ofac and hub address in registry + ```bash yarn run update:cscaroot:celo yarn run update:ofacroot:celo @@ -115,11 +129,11 @@ yarn run update:hub:celo ## Testing When you compile the circuits, make sure you set the build flag to true for these circuits: + - register_sha256_sha256_sha256_rsa_65537_4096 - dsc_sha256_rsa_65537_4096 -- vc_and_disclose -Go to ../circuits/scripts/build/ and change false to true for these circuits. -Then you can run the following command to see the coverage. +- vc_and_disclose Go to ../circuits/scripts/build/ and change false to true for these circuits. Then you can run the + following command to see the coverage. ```shell cd ../circuits @@ -130,45 +144,45 @@ yarn run test:coverage:local ## Deployed Contract Addresses -| Contract | Address | -|----------|---------| -| Verifier_dsc_sha1_ecdsa_brainpoolP256r1 | 0xE7B4A70fc1d96D3Fb6577206c932eF1e634Cf2d0 | -| Verifier_dsc_sha1_rsa_65537_4096 | 0x19E25a5772df0D7D6Db59D94a4d6FBd7098a3012 | -| Verifier_dsc_sha256_ecdsa_brainpoolP256r1 | 0x1F3afAe85992B1B8CF6946B091225dAF8307675d | -| Verifier_dsc_sha256_ecdsa_brainpoolP384r1 | 0x52A6EF39655D662A8Cf8eB56CD853883fe43eb2b | -| Verifier_dsc_sha256_ecdsa_secp256r1 | 0x643735Cd44F8b2BDa47b4a7962c8BDf12E6CDdf8 | -| Verifier_dsc_sha256_ecdsa_secp384r1 | 0x00F0D1A32Def293DAB78100A6569ebb4EC035F82 | -| Verifier_dsc_sha256_rsa_65537_4096 | 0x711e655c43410fB985c4EDB48E9bCBdDb770368d | -| Verifier_dsc_sha256_rsapss_3_32_3072 | 0xDAFF470e561F3f96C7410AeF02196913E981fF1B | -| Verifier_dsc_sha256_rsapss_65537_32_3072 | 0x07B6C2FFB098B131eAD104396d399177014ae15f | -| Verifier_dsc_sha256_rsapss_65537_32_4096 | 0xFBDDADb864b24B2c4336081A22f41D04E7b35DA9 | -| Verifier_dsc_sha384_ecdsa_brainpoolP384r1 | 0x6a40dfa6f99FA178aB6cc88928Bf30661e917A76 | -| Verifier_dsc_sha384_ecdsa_secp384r1 | 0x1719430107E66717d8b34d4190838dfABAf810e6 | -| Verifier_dsc_sha512_rsa_65537_4096 | 0xf5eE920d6D50a8A83C22f548bf406fCBcD558751 | -| Verifier_dsc_sha512_rsapss_65537_64_4096 | 0x5438C4ebFD8Fcce6eb54542e3A5C192B22227f70 | -| Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 | 0x8588e473428cf415F10AC96CAa701F6Cd1C8641F | -| Verifier_register_sha1_sha1_sha1_rsa_65537_4096 | 0x15fd0d58cfF9DaA4A60105c0DAC73659530BB7f7 | -| Verifier_register_sha1_sha256_sha256_rsa_65537_4096 | 0xaC5166A01Aee75A10703177896122F4d6e3836d1 | +| Contract | Address | +| ------------------------------------------------------------ | ------------------------------------------ | +| Verifier_dsc_sha1_ecdsa_brainpoolP256r1 | 0xE7B4A70fc1d96D3Fb6577206c932eF1e634Cf2d0 | +| Verifier_dsc_sha1_rsa_65537_4096 | 0x19E25a5772df0D7D6Db59D94a4d6FBd7098a3012 | +| Verifier_dsc_sha256_ecdsa_brainpoolP256r1 | 0x1F3afAe85992B1B8CF6946B091225dAF8307675d | +| Verifier_dsc_sha256_ecdsa_brainpoolP384r1 | 0x52A6EF39655D662A8Cf8eB56CD853883fe43eb2b | +| Verifier_dsc_sha256_ecdsa_secp256r1 | 0x643735Cd44F8b2BDa47b4a7962c8BDf12E6CDdf8 | +| Verifier_dsc_sha256_ecdsa_secp384r1 | 0x00F0D1A32Def293DAB78100A6569ebb4EC035F82 | +| Verifier_dsc_sha256_rsa_65537_4096 | 0x711e655c43410fB985c4EDB48E9bCBdDb770368d | +| Verifier_dsc_sha256_rsapss_3_32_3072 | 0xDAFF470e561F3f96C7410AeF02196913E981fF1B | +| Verifier_dsc_sha256_rsapss_65537_32_3072 | 0x07B6C2FFB098B131eAD104396d399177014ae15f | +| Verifier_dsc_sha256_rsapss_65537_32_4096 | 0xFBDDADb864b24B2c4336081A22f41D04E7b35DA9 | +| Verifier_dsc_sha384_ecdsa_brainpoolP384r1 | 0x6a40dfa6f99FA178aB6cc88928Bf30661e917A76 | +| Verifier_dsc_sha384_ecdsa_secp384r1 | 0x1719430107E66717d8b34d4190838dfABAf810e6 | +| Verifier_dsc_sha512_rsa_65537_4096 | 0xf5eE920d6D50a8A83C22f548bf406fCBcD558751 | +| Verifier_dsc_sha512_rsapss_65537_64_4096 | 0x5438C4ebFD8Fcce6eb54542e3A5C192B22227f70 | +| Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 | 0x8588e473428cf415F10AC96CAa701F6Cd1C8641F | +| Verifier_register_sha1_sha1_sha1_rsa_65537_4096 | 0x15fd0d58cfF9DaA4A60105c0DAC73659530BB7f7 | +| Verifier_register_sha1_sha256_sha256_rsa_65537_4096 | 0xaC5166A01Aee75A10703177896122F4d6e3836d1 | | Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1 | 0x7d9b7D2A95541b50CECDB44d82c0570a818111Ac | -| Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 | 0x48cEc90de8d746efD316968Ea65417e74C6A1a74 | +| Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 | 0x48cEc90de8d746efD316968Ea65417e74C6A1a74 | | Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1 | 0x9C5Af0FC9A32b457e300905929A05356D3C0DB25 | | Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1 | 0x5286E20745A0d4C35E6D97832D56e30A28303BD6 | -| Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 | 0xaC861bf9FC8B44ccbAde8E2A39C851bbCf38c392 | -| Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 | 0x03FCc979cf2d69275647095E4079A3389F24525D | -| Verifier_register_sha256_sha256_sha256_rsa_3_4096 | 0xbE036B26317F013D2c6cB092Aa1fa903220be846 | -| Verifier_register_sha256_sha256_sha256_rsa_65537_4096 | 0xE80537B3399bd405e40136D08e24c250397c09F1 | -| Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 | 0xe063BD3188341B2D17d96cE38FD31584147d3219 | -| Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 | 0xe93Be9382868f30150cAF77793aF384905c2C7E4 | -| Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 | 0xD39E5eAfb6d266E3c4AC8255578F23a514fd8B36 | +| Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 | 0xaC861bf9FC8B44ccbAde8E2A39C851bbCf38c392 | +| Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 | 0x03FCc979cf2d69275647095E4079A3389F24525D | +| Verifier_register_sha256_sha256_sha256_rsa_3_4096 | 0xbE036B26317F013D2c6cB092Aa1fa903220be846 | +| Verifier_register_sha256_sha256_sha256_rsa_65537_4096 | 0xE80537B3399bd405e40136D08e24c250397c09F1 | +| Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 | 0xe063BD3188341B2D17d96cE38FD31584147d3219 | +| Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 | 0xe93Be9382868f30150cAF77793aF384905c2C7E4 | +| Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 | 0xD39E5eAfb6d266E3c4AC8255578F23a514fd8B36 | | Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1 | 0xd2F65a76A10f5E0e7aE9d18826ab463f4CEb33C9 | -| Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 | 0xC33E6A04b7296A3062Cf438C33dc8D8157c3916d | -| Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 | 0xa7A5A581C2Eb8dF39f486e9ABBc4898546D70C3e | -| Verifier_register_sha512_sha512_sha512_rsa_65537_4096 | 0x6C88A6Afc38cA2859e157532b1b872EcC1ED0424 | -| Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 | 0x04A1D0d51Bc078CB137088424b2ec569699dd7A5 | -| Verifier_vc_and_disclose | 0x44d314c2F9b3690735808d26d17dFCc9F906A9B4 | -| PoseidonT3 | 0xF134707a4C4a3a76b8410fC0294d620A7c341581 | -| IdentityRegistryImplV1 | 0xC473d5F784e424A70Bf7aCf887E33448E64F8798 | -| IdentityRegistry | 0x37F5CB8cB1f6B00aa768D8aA99F1A9289802A968 | -| IdentityVerificationHubImplV1 | 0x85FD004B2312a6703F1ce293242Dc15B719772b1 | -| IdentityVerificationHub | 0x77117D60eaB7C044e785D68edB6C7E0e134970Ea | -| VerifyAll | 0xe6D61680A6ED381bb5A0dB5cF4E9Cc933cF43915 | \ No newline at end of file +| Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 | 0xC33E6A04b7296A3062Cf438C33dc8D8157c3916d | +| Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 | 0xa7A5A581C2Eb8dF39f486e9ABBc4898546D70C3e | +| Verifier_register_sha512_sha512_sha512_rsa_65537_4096 | 0x6C88A6Afc38cA2859e157532b1b872EcC1ED0424 | +| Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 | 0x04A1D0d51Bc078CB137088424b2ec569699dd7A5 | +| Verifier_vc_and_disclose | 0x44d314c2F9b3690735808d26d17dFCc9F906A9B4 | +| PoseidonT3 | 0xF134707a4C4a3a76b8410fC0294d620A7c341581 | +| IdentityRegistryImplV1 | 0xC473d5F784e424A70Bf7aCf887E33448E64F8798 | +| IdentityRegistry | 0x37F5CB8cB1f6B00aa768D8aA99F1A9289802A968 | +| IdentityVerificationHubImplV1 | 0x85FD004B2312a6703F1ce293242Dc15B719772b1 | +| IdentityVerificationHub | 0x77117D60eaB7C044e785D68edB6C7E0e134970Ea | +| VerifyAll | 0xe6D61680A6ED381bb5A0dB5cF4E9Cc933cF43915 | diff --git a/contracts/contracts/IdentityVerificationHub.sol b/contracts/contracts/IdentityVerificationHub.sol index 6422c0bc1..8cc1fe957 100644 --- a/contracts/contracts/IdentityVerificationHub.sol +++ b/contracts/contracts/IdentityVerificationHub.sol @@ -16,4 +16,4 @@ contract IdentityVerificationHub is ProxyRoot { * @param _data The initialization data to be executed in the context of the implementation contract. */ constructor(address _logic, bytes memory _data) ProxyRoot(_logic, _data) {} -} \ No newline at end of file +} diff --git a/contracts/contracts/IdentityVerificationHubImplV1.sol b/contracts/contracts/IdentityVerificationHubImplV1.sol index d4e2202e1..708537636 100644 --- a/contracts/contracts/IdentityVerificationHubImplV1.sol +++ b/contracts/contracts/IdentityVerificationHubImplV1.sol @@ -17,25 +17,25 @@ import {ImplRoot} from "./upgradeable/ImplRoot.sol"; /** * @notice ⚠️ CRITICAL STORAGE LAYOUT WARNING ⚠️ * ============================================= - * + * * This contract uses the UUPS upgradeable pattern which makes storage layout EXTREMELY SENSITIVE. - * + * * 🚫 NEVER MODIFY OR REORDER existing storage variables * 🚫 NEVER INSERT new variables between existing ones * 🚫 NEVER CHANGE THE TYPE of existing variables - * + * * ✅ New storage variables MUST be added in one of these two ways ONLY: * 1. At the END of the storage layout * 2. In a new V2 contract that inherits from this V1 - * + * * Examples of forbidden changes: * - Changing uint256 to uint128 * - Changing bytes32 to bytes * - Changing array type to mapping - * + * * For more detailed information about forbidden changes, please refer to: * https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#modifying-your-contracts - * + * * ⚠️ VIOLATION OF THESE RULES WILL CAUSE CATASTROPHIC STORAGE COLLISIONS IN FUTURE UPGRADES ⚠️ * ============================================= */ @@ -45,13 +45,11 @@ import {ImplRoot} from "./upgradeable/ImplRoot.sol"; * @notice Storage contract for IdentityVerificationHubImplV1. * @dev Inherits from ImplRoot to include upgradeability functionality. */ -abstract contract IdentityVerificationHubStorageV1 is - ImplRoot -{ +abstract contract IdentityVerificationHubStorageV1 is ImplRoot { // ==================================================== // Storage Variables // ==================================================== - + /// @notice Address of the Identity Registry. address internal _registry; @@ -70,10 +68,7 @@ abstract contract IdentityVerificationHubStorageV1 is * @notice Implementation contract for the Identity Verification Hub. * @dev Provides functions for registering commitments and verifying groth16 proofs and inclusion proofs. */ -contract IdentityVerificationHubImplV1 is - IdentityVerificationHubStorageV1, - IIdentityVerificationHubV1 -{ +contract IdentityVerificationHubImplV1 is IdentityVerificationHubStorageV1, IIdentityVerificationHubV1 { using Formatter for uint256; uint256 constant MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH = 40; @@ -92,7 +87,7 @@ contract IdentityVerificationHubImplV1 is * @param dscCircuitVerifiers Array of DSC circuit verifier addresses. */ event HubInitialized( - address registry, + address registry, address vcAndDiscloseCircuitVerifier, uint256[] registerCircuitVerifierIds, address[] registerCircuitVerifiers, @@ -129,51 +124,51 @@ contract IdentityVerificationHubImplV1 is /// @notice Thrown when the lengths of provided arrays do not match. /// @dev Used when initializing or updating arrays that must have equal length. error LENGTH_MISMATCH(); - + /// @notice Thrown when no verifier is set for a given signature type. /// @dev Indicates that the mapping lookup for the verifier returned the zero address. error NO_VERIFIER_SET(); - + /// @notice Thrown when the current date in the proof is not within the valid range. /// @dev Ensures that the provided proof's date is within one day of the expected start time. error CURRENT_DATE_NOT_IN_VALID_RANGE(); - + /// @notice Thrown when the 'older than' attribute in the proof is invalid. /// @dev The 'older than' value derived from the proof does not match the expected criteria. error INVALID_OLDER_THAN(); - + /// @notice Thrown when the provided forbidden countries list is invalid. /// @dev The forbidden countries list in the proof does not match the expected packed data. error INVALID_FORBIDDEN_COUNTRIES(); - + /// @notice Thrown when the OFAC check fails. /// @dev Indicates that the proof did not satisfy the required OFAC conditions. error INVALID_OFAC(); - + /// @notice Thrown when the register circuit proof is invalid. /// @dev The register circuit verifier did not validate the provided proof. error INVALID_REGISTER_PROOF(); - + /// @notice Thrown when the DSC circuit proof is invalid. /// @dev The DSC circuit verifier did not validate the provided proof. error INVALID_DSC_PROOF(); - + /// @notice Thrown when the VC and Disclose proof is invalid. /// @dev The VC and Disclose circuit verifier did not validate the provided proof. error INVALID_VC_AND_DISCLOSE_PROOF(); - + /// @notice Thrown when the provided commitment root is invalid. /// @dev Used in proofs to ensure that the commitment root matches the expected value in the registry. error INVALID_COMMITMENT_ROOT(); - + /// @notice Thrown when the provided OFAC root is invalid. /// @dev Indicates that the OFAC root from the proof does not match the expected OFAC root. error INVALID_OFAC_ROOT(); - + /// @notice Thrown when the provided CSCA root is invalid. /// @dev Indicates that the CSCA root from the DSC proof does not match the expected CSCA root. error INVALID_CSCA_ROOT(); - + /// @notice Thrown when the revealed data type is invalid or not supported. /// @dev Raised during the processing of revealed data if it does not match any supported type. error INVALID_REVEALED_DATA_TYPE(); @@ -228,7 +223,7 @@ contract IdentityVerificationHubImplV1 is _sigTypeToDscCircuitVerifiers[dscCircuitVerifierIds[i]] = dscCircuitVerifierAddresses[i]; } emit HubInitialized( - registryAddress, + registryAddress, vcAndDiscloseCircuitVerifierAddress, registerCircuitVerifierIds, registerCircuitVerifierAddresses, @@ -245,13 +240,7 @@ contract IdentityVerificationHubImplV1 is * @notice Retrieves the registry address. * @return The address of the Identity Registry. */ - function registry() - external - virtual - onlyProxy - view - returns (address) - { + function registry() external view virtual onlyProxy returns (address) { return _registry; } @@ -259,13 +248,7 @@ contract IdentityVerificationHubImplV1 is * @notice Retrieves the VC and Disclose circuit verifier address. * @return The address of the VC and Disclose circuit verifier. */ - function vcAndDiscloseCircuitVerifier() - external - virtual - onlyProxy - view - returns (address) - { + function vcAndDiscloseCircuitVerifier() external view virtual onlyProxy returns (address) { return _vcAndDiscloseCircuitVerifier; } @@ -274,15 +257,7 @@ contract IdentityVerificationHubImplV1 is * @param typeId The signature type identifier. * @return The register circuit verifier address. */ - function sigTypeToRegisterCircuitVerifiers( - uint256 typeId - ) - external - virtual - onlyProxy - view - returns (address) - { + function sigTypeToRegisterCircuitVerifiers(uint256 typeId) external view virtual onlyProxy returns (address) { return _sigTypeToRegisterCircuitVerifiers[typeId]; } @@ -291,15 +266,7 @@ contract IdentityVerificationHubImplV1 is * @param typeId The signature type identifier. * @return The DSC circuit verifier address. */ - function sigTypeToDscCircuitVerifiers( - uint256 typeId - ) - external - virtual - onlyProxy - view - returns (address) - { + function sigTypeToDscCircuitVerifiers(uint256 typeId) external view virtual onlyProxy returns (address) { return _sigTypeToDscCircuitVerifiers[typeId]; } @@ -313,16 +280,8 @@ contract IdentityVerificationHubImplV1 is function getReadableRevealedData( uint256[3] memory revealedDataPacked, RevealedDataType[] memory types - ) - external - virtual - onlyProxy - view - returns (ReadableRevealedData memory) - { - bytes memory charcodes = Formatter.fieldElementsToBytes( - revealedDataPacked - ); + ) external view virtual onlyProxy returns (ReadableRevealedData memory) { + bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); ReadableRevealedData memory attrs; @@ -363,13 +322,7 @@ contract IdentityVerificationHubImplV1 is */ function getReadableForbiddenCountries( uint256[4] memory forbiddenCountriesListPacked - ) - external - virtual - onlyProxy - view - returns (string[MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH] memory) - { + ) external view virtual onlyProxy returns (string[MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH] memory) { return Formatter.extractForbiddenCountriesFromPacked(forbiddenCountriesListPacked); } @@ -381,26 +334,28 @@ contract IdentityVerificationHubImplV1 is */ function verifyVcAndDisclose( VcAndDiscloseHubProof memory proof - ) - external - virtual - view - onlyProxy - returns (VcAndDiscloseVerificationResult memory) - { + ) external view virtual onlyProxy returns (VcAndDiscloseVerificationResult memory) { VcAndDiscloseVerificationResult memory result; - + result.identityCommitmentRoot = _verifyVcAndDiscloseProof(proof); for (uint256 i = 0; i < 3; i++) { - result.revealedDataPacked[i] = proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i]; + result.revealedDataPacked[i] = proof.vcAndDiscloseProof.pubSignals[ + CircuitConstants.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i + ]; } for (uint256 i = 0; i < 4; i++) { - result.forbiddenCountriesListPacked[i] = proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX + i]; + result.forbiddenCountriesListPacked[i] = proof.vcAndDiscloseProof.pubSignals[ + CircuitConstants.VC_AND_DISCLOSE_FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX + i + ]; } result.nullifier = proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_NULLIFIER_INDEX]; - result.attestationId = proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX]; - result.userIdentifier = proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX]; + result.attestationId = proof.vcAndDiscloseProof.pubSignals[ + CircuitConstants.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX + ]; + result.userIdentifier = proof.vcAndDiscloseProof.pubSignals[ + CircuitConstants.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX + ]; result.scope = proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_SCOPE_INDEX]; return result; } @@ -418,11 +373,7 @@ contract IdentityVerificationHubImplV1 is function registerPassportCommitment( uint256 registerCircuitVerifierId, IRegisterCircuitVerifier.RegisterCircuitProof memory registerCircuitProof - ) - external - virtual - onlyProxy - { + ) external virtual onlyProxy { _verifyPassportRegisterProof(registerCircuitVerifierId, registerCircuitProof); IIdentityRegistryV1(_registry).registerCommitment( AttestationId.E_PASSPORT, @@ -440,18 +391,13 @@ contract IdentityVerificationHubImplV1 is function registerDscKeyCommitment( uint256 dscCircuitVerifierId, IDscCircuitVerifier.DscCircuitProof memory dscCircuitProof - ) - external - virtual - onlyProxy - { + ) external virtual onlyProxy { _verifyPassportDscProof(dscCircuitVerifierId, dscCircuitProof); IIdentityRegistryV1(_registry).registerDscKeyCommitment( dscCircuitProof.pubSignals[CircuitConstants.DSC_TREE_LEAF_INDEX] ); } - // ==================================================== // External Functions - Only Owner // ==================================================== @@ -460,14 +406,7 @@ contract IdentityVerificationHubImplV1 is * @notice Updates the registry address. * @param registryAddress The new registry address. */ - function updateRegistry( - address registryAddress - ) - external - virtual - onlyProxy - onlyOwner - { + function updateRegistry(address registryAddress) external virtual onlyProxy onlyOwner { _registry = registryAddress; emit RegistryUpdated(registryAddress); } @@ -478,12 +417,7 @@ contract IdentityVerificationHubImplV1 is */ function updateVcAndDiscloseCircuit( address vcAndDiscloseCircuitVerifierAddress - ) - external - virtual - onlyProxy - onlyOwner - { + ) external virtual onlyProxy onlyOwner { _vcAndDiscloseCircuitVerifier = vcAndDiscloseCircuitVerifierAddress; emit VcAndDiscloseCircuitUpdated(vcAndDiscloseCircuitVerifierAddress); } @@ -494,14 +428,9 @@ contract IdentityVerificationHubImplV1 is * @param verifierAddress The new register circuit verifier address. */ function updateRegisterCircuitVerifier( - uint256 typeId, + uint256 typeId, address verifierAddress - ) - external - virtual - onlyProxy - onlyOwner - { + ) external virtual onlyProxy onlyOwner { _sigTypeToRegisterCircuitVerifiers[typeId] = verifierAddress; emit RegisterCircuitVerifierUpdated(typeId, verifierAddress); } @@ -511,15 +440,7 @@ contract IdentityVerificationHubImplV1 is * @param typeId The signature type identifier. * @param verifierAddress The new DSC circuit verifier address. */ - function updateDscVerifier( - uint256 typeId, - address verifierAddress - ) - external - virtual - onlyProxy - onlyOwner - { + function updateDscVerifier(uint256 typeId, address verifierAddress) external virtual onlyProxy onlyOwner { _sigTypeToDscCircuitVerifiers[typeId] = verifierAddress; emit DscCircuitVerifierUpdated(typeId, verifierAddress); } @@ -532,12 +453,7 @@ contract IdentityVerificationHubImplV1 is function batchUpdateRegisterCircuitVerifiers( uint256[] calldata typeIds, address[] calldata verifierAddresses - ) - external - virtual - onlyProxy - onlyOwner - { + ) external virtual onlyProxy onlyOwner { if (typeIds.length != verifierAddresses.length) { revert LENGTH_MISMATCH(); } @@ -555,12 +471,7 @@ contract IdentityVerificationHubImplV1 is function batchUpdateDscCircuitVerifiers( uint256[] calldata typeIds, address[] calldata verifierAddresses - ) - external - virtual - onlyProxy - onlyOwner - { + ) external virtual onlyProxy onlyOwner { if (typeIds.length != verifierAddresses.length) { revert LENGTH_MISMATCH(); } @@ -582,13 +493,13 @@ contract IdentityVerificationHubImplV1 is */ function _verifyVcAndDiscloseProof( VcAndDiscloseHubProof memory proof - ) - internal - view - returns (uint256 identityCommitmentRoot) - { + ) internal view returns (uint256 identityCommitmentRoot) { // verify identity commitment root - if (!IIdentityRegistryV1(_registry).checkIdentityCommitmentRoot(proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX])) { + if ( + !IIdentityRegistryV1(_registry).checkIdentityCommitmentRoot( + proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX] + ) + ) { revert INVALID_COMMITMENT_ROOT(); } @@ -599,7 +510,7 @@ contract IdentityVerificationHubImplV1 is } uint currentTimestamp = Formatter.proofDateToUnixTimestamp(dateNum); - if( + if ( currentTimestamp < _getStartOfDayTimestamp() - 1 days + 1 || currentTimestamp > _getStartOfDayTimestamp() + 1 days - 1 ) { @@ -609,34 +520,48 @@ contract IdentityVerificationHubImplV1 is // verify attributes uint256[3] memory revealedDataPacked; for (uint256 i = 0; i < 3; i++) { - revealedDataPacked[i] = proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i]; + revealedDataPacked[i] = proof.vcAndDiscloseProof.pubSignals[ + CircuitConstants.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i + ]; } if (proof.olderThanEnabled) { - if (!CircuitAttributeHandler.compareOlderThan(Formatter.fieldElementsToBytes(revealedDataPacked), proof.olderThan)) { + if ( + !CircuitAttributeHandler.compareOlderThan( + Formatter.fieldElementsToBytes(revealedDataPacked), + proof.olderThan + ) + ) { revert INVALID_OLDER_THAN(); } } if (proof.ofacEnabled[0] || proof.ofacEnabled[1] || proof.ofacEnabled[2]) { - if (!CircuitAttributeHandler.compareOfac( - Formatter.fieldElementsToBytes(revealedDataPacked), - proof.ofacEnabled[0], - proof.ofacEnabled[1], - proof.ofacEnabled[2] - )) { + if ( + !CircuitAttributeHandler.compareOfac( + Formatter.fieldElementsToBytes(revealedDataPacked), + proof.ofacEnabled[0], + proof.ofacEnabled[1], + proof.ofacEnabled[2] + ) + ) { revert INVALID_OFAC(); } - if (!IIdentityRegistryV1(_registry).checkOfacRoots( - proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_PASSPORT_NO_SMT_ROOT_INDEX], - proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_NAME_DOB_SMT_ROOT_INDEX], - proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX] - )) { + if ( + !IIdentityRegistryV1(_registry).checkOfacRoots( + proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_PASSPORT_NO_SMT_ROOT_INDEX], + proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_NAME_DOB_SMT_ROOT_INDEX], + proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX] + ) + ) { revert INVALID_OFAC_ROOT(); } } if (proof.forbiddenCountriesEnabled) { for (uint256 i = 0; i < 4; i++) { if ( - proof.forbiddenCountriesListPacked[i] != proof.vcAndDiscloseProof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX + i] + proof.forbiddenCountriesListPacked[i] != + proof.vcAndDiscloseProof.pubSignals[ + CircuitConstants.VC_AND_DISCLOSE_FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX + i + ] ) { revert INVALID_FORBIDDEN_COUNTRIES(); } @@ -644,7 +569,14 @@ contract IdentityVerificationHubImplV1 is } // verify the proof using the VC and Disclose circuit verifier - if (!IVcAndDiscloseCircuitVerifier(_vcAndDiscloseCircuitVerifier).verifyProof(proof.vcAndDiscloseProof.a, proof.vcAndDiscloseProof.b, proof.vcAndDiscloseProof.c, proof.vcAndDiscloseProof.pubSignals)) { + if ( + !IVcAndDiscloseCircuitVerifier(_vcAndDiscloseCircuitVerifier).verifyProof( + proof.vcAndDiscloseProof.a, + proof.vcAndDiscloseProof.b, + proof.vcAndDiscloseProof.c, + proof.vcAndDiscloseProof.pubSignals + ) + ) { revert INVALID_VC_AND_DISCLOSE_PROOF(); } @@ -660,25 +592,28 @@ contract IdentityVerificationHubImplV1 is function _verifyPassportRegisterProof( uint256 registerCircuitVerifierId, IRegisterCircuitVerifier.RegisterCircuitProof memory registerCircuitProof - ) - internal - view - { + ) internal view { address verifier = _sigTypeToRegisterCircuitVerifiers[registerCircuitVerifierId]; if (verifier == address(0)) { revert NO_VERIFIER_SET(); } - if (!IIdentityRegistryV1(_registry).checkDscKeyCommitmentMerkleRoot(registerCircuitProof.pubSignals[CircuitConstants.REGISTER_MERKLE_ROOT_INDEX])) { + if ( + !IIdentityRegistryV1(_registry).checkDscKeyCommitmentMerkleRoot( + registerCircuitProof.pubSignals[CircuitConstants.REGISTER_MERKLE_ROOT_INDEX] + ) + ) { revert INVALID_COMMITMENT_ROOT(); } - if(!IRegisterCircuitVerifier(verifier).verifyProof( - registerCircuitProof.a, - registerCircuitProof.b, - registerCircuitProof.c, - registerCircuitProof.pubSignals - )) { + if ( + !IRegisterCircuitVerifier(verifier).verifyProof( + registerCircuitProof.a, + registerCircuitProof.b, + registerCircuitProof.c, + registerCircuitProof.pubSignals + ) + ) { revert INVALID_REGISTER_PROOF(); } } @@ -692,25 +627,28 @@ contract IdentityVerificationHubImplV1 is function _verifyPassportDscProof( uint256 dscCircuitVerifierId, IDscCircuitVerifier.DscCircuitProof memory dscCircuitProof - ) - internal - view - { + ) internal view { address verifier = _sigTypeToDscCircuitVerifiers[dscCircuitVerifierId]; if (verifier == address(0)) { revert NO_VERIFIER_SET(); } - if (!IIdentityRegistryV1(_registry).checkCscaRoot(dscCircuitProof.pubSignals[CircuitConstants.DSC_CSCA_ROOT_INDEX])) { + if ( + !IIdentityRegistryV1(_registry).checkCscaRoot( + dscCircuitProof.pubSignals[CircuitConstants.DSC_CSCA_ROOT_INDEX] + ) + ) { revert INVALID_CSCA_ROOT(); } - if(!IDscCircuitVerifier(verifier).verifyProof( - dscCircuitProof.a, - dscCircuitProof.b, - dscCircuitProof.c, - dscCircuitProof.pubSignals - )) { + if ( + !IDscCircuitVerifier(verifier).verifyProof( + dscCircuitProof.a, + dscCircuitProof.b, + dscCircuitProof.c, + dscCircuitProof.pubSignals + ) + ) { revert INVALID_DSC_PROOF(); } } @@ -723,4 +661,4 @@ contract IdentityVerificationHubImplV1 is function _getStartOfDayTimestamp() internal view returns (uint256) { return block.timestamp - (block.timestamp % 1 days); } -} \ No newline at end of file +} diff --git a/contracts/contracts/abstract/SelfVerificationRoot.sol b/contracts/contracts/abstract/SelfVerificationRoot.sol index 5968a6525..000d8bd24 100644 --- a/contracts/contracts/abstract/SelfVerificationRoot.sol +++ b/contracts/contracts/abstract/SelfVerificationRoot.sol @@ -13,7 +13,6 @@ import {AttestationId} from "../constants/AttestationId.sol"; * @dev Provides base functionality for verifying and disclosing identity credentials */ abstract contract SelfVerificationRoot is ISelfVerificationRoot { - // ==================================================== // Storage Variables // ==================================================== @@ -40,7 +39,8 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { // Make CircuitConstants available to inheriting contracts uint256 internal constant REVEALED_DATA_PACKED_INDEX = CircuitConstants.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX; - uint256 internal constant FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX = CircuitConstants.VC_AND_DISCLOSE_FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX; + uint256 internal constant FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX = + CircuitConstants.VC_AND_DISCLOSE_FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX; uint256 internal constant NULLIFIER_INDEX = CircuitConstants.VC_AND_DISCLOSE_NULLIFIER_INDEX; uint256 internal constant ATTESTATION_ID_INDEX = CircuitConstants.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX; uint256 internal constant MERKLE_ROOT_INDEX = CircuitConstants.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX; @@ -75,11 +75,7 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { * @param scope The expected proof scope for user registration. * @param attestationIds The expected attestation identifiers required in proofs. */ - constructor( - address identityVerificationHub, - uint256 scope, - uint256[] memory attestationIds - ) { + constructor(address identityVerificationHub, uint256 scope, uint256[] memory attestationIds) { _identityVerificationHub = IIdentityVerificationHubV1(identityVerificationHub); _scope = scope; for (uint256 i = 0; i < attestationIds.length; i++) { @@ -92,12 +88,10 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { * @dev Used to set or update verification parameters after contract deployment * @param verificationConfig The new verification configuration to apply */ - function _setVerificationConfig( - ISelfVerificationRoot.VerificationConfig memory verificationConfig - ) internal { + function _setVerificationConfig(ISelfVerificationRoot.VerificationConfig memory verificationConfig) internal { _verificationConfig = verificationConfig; } - + /** * @notice Returns the current verification configuration * @dev Used to retrieve the current verification settings @@ -140,7 +134,9 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { * @param pubSignals The proof's public signals * @return revealedDataPacked Array of the three packed revealed data values */ - function getRevealedDataPacked(uint256[21] memory pubSignals) internal pure returns (uint256[3] memory revealedDataPacked) { + function getRevealedDataPacked( + uint256[21] memory pubSignals + ) internal pure returns (uint256[3] memory revealedDataPacked) { revealedDataPacked[0] = pubSignals[REVEALED_DATA_PACKED_INDEX]; revealedDataPacked[1] = pubSignals[REVEALED_DATA_PACKED_INDEX + 1]; revealedDataPacked[2] = pubSignals[REVEALED_DATA_PACKED_INDEX + 2]; @@ -152,12 +148,7 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { * @dev Validates scope and attestation ID before performing verification through the identity hub * @param proof The proof data for verification and disclosure */ - function verifySelfProof( - ISelfVerificationRoot.DiscloseCircuitProof memory proof - ) - public - virtual - { + function verifySelfProof(ISelfVerificationRoot.DiscloseCircuitProof memory proof) public virtual { if (_scope != proof.pubSignals[CircuitConstants.VC_AND_DISCLOSE_SCOPE_INDEX]) { revert InvalidScope(); } @@ -182,4 +173,4 @@ abstract contract SelfVerificationRoot is ISelfVerificationRoot { }) ); } -} \ No newline at end of file +} diff --git a/contracts/contracts/constants/CircuitConstants.sol b/contracts/contracts/constants/CircuitConstants.sol index 79f2f83fd..ec3c23ba1 100644 --- a/contracts/contracts/constants/CircuitConstants.sol +++ b/contracts/contracts/constants/CircuitConstants.sol @@ -8,74 +8,73 @@ pragma solidity 0.8.28; * @dev These indices map directly to specific data fields in the corresponding circuits proofs. */ library CircuitConstants { - // --------------------------- // Register Circuit Constants // --------------------------- - + /** * @notice Index to access the nullifier in the register circuit public signals. */ uint256 constant REGISTER_NULLIFIER_INDEX = 0; - + /** * @notice Index to access the commitment in the register circuit public signals. */ uint256 constant REGISTER_COMMITMENT_INDEX = 1; - + /** * @notice Index to access the Merkle root in the register circuit public signals. */ uint256 constant REGISTER_MERKLE_ROOT_INDEX = 2; - + // --------------------------- // DSC Circuit Constants // --------------------------- - + /** * @notice Index to access the tree leaf in the DSC circuit public signals. */ uint256 constant DSC_TREE_LEAF_INDEX = 0; - + /** * @notice Index to access the CSCA root in the DSC circuit public signals. */ uint256 constant DSC_CSCA_ROOT_INDEX = 1; - + // ------------------------------------- // VC and Disclose Circuit Constants // ------------------------------------- - + /** * @notice Index to access the packed revealed data in the VC and Disclose circuit public signals. */ uint256 constant VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX = 0; - + /** * @notice Index to access the forbidden countries list (packed) in the VC and Disclose circuit public signals. */ uint256 constant VC_AND_DISCLOSE_FORBIDDEN_COUNTRIES_LIST_PACKED_INDEX = 3; - + /** * @notice Index to access the nullifier in the VC and Disclose circuit public signals. */ uint256 constant VC_AND_DISCLOSE_NULLIFIER_INDEX = 7; - + /** * @notice Index to access the attestation ID in the VC and Disclose circuit public signals. */ uint256 constant VC_AND_DISCLOSE_ATTESTATION_ID_INDEX = 8; - + /** * @notice Index to access the Merkle root in the VC and Disclose circuit public signals. */ uint256 constant VC_AND_DISCLOSE_MERKLE_ROOT_INDEX = 9; - + /** * @notice Index to access the current date in the VC and Disclose circuit public signals. */ uint256 constant VC_AND_DISCLOSE_CURRENT_DATE_INDEX = 10; - + /** * @notice Index to access the passport number SMT root in the VC and Disclose circuit public signals. */ @@ -100,4 +99,4 @@ library CircuitConstants { * @notice Index to access the user identifier in the VC and Disclose circuit public signals. */ uint256 constant VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX = 20; -} \ No newline at end of file +} diff --git a/contracts/contracts/example/Airdrop.sol b/contracts/contracts/example/Airdrop.sol index e62fe0d54..7b05ad545 100644 --- a/contracts/contracts/example/Airdrop.sol +++ b/contracts/contracts/example/Airdrop.sol @@ -95,20 +95,13 @@ contract Airdrop is SelfVerificationRoot, Ownable { * @param _token The address of the ERC20 token for airdrop. */ constructor( - address _identityVerificationHub, - uint256 _scope, + address _identityVerificationHub, + uint256 _scope, uint256[] memory _attestationIds, address _token - ) - SelfVerificationRoot( - _identityVerificationHub, - _scope, - _attestationIds - ) - Ownable(_msgSender()) - { + ) SelfVerificationRoot(_identityVerificationHub, _scope, _attestationIds) Ownable(_msgSender()) { token = IERC20(_token); - } + } // ==================================================== // External/Public Functions @@ -170,7 +163,7 @@ contract Airdrop is SelfVerificationRoot, Ownable { */ function openRegistration() external onlyOwner { isRegistrationOpen = true; - emit RegistrationOpen(); + emit RegistrationOpen(); } /** @@ -205,13 +198,7 @@ contract Airdrop is SelfVerificationRoot, Ownable { * @dev Reverts if the registration phase is not open. * @param proof The VC and Disclose proof data used to verify and register the user. */ - function verifySelfProof( - ISelfVerificationRoot.DiscloseCircuitProof memory proof - ) - public - override - { - + function verifySelfProof(ISelfVerificationRoot.DiscloseCircuitProof memory proof) public override { if (!isRegistrationOpen) { revert RegistrationNotOpen(); } @@ -219,7 +206,7 @@ contract Airdrop is SelfVerificationRoot, Ownable { if (_nullifiers[proof.pubSignals[NULLIFIER_INDEX]] != 0) { revert RegisteredNullifier(); } - + if (proof.pubSignals[USER_IDENTIFIER_INDEX] == 0) { revert InvalidUserIdentifier(); } @@ -283,11 +270,7 @@ contract Airdrop is SelfVerificationRoot, Ownable { * @param amount The amount of tokens to be claimed. * @param merkleProof The Merkle proof verifying the claim. */ - function claim( - uint256 index, - uint256 amount, - bytes32[] memory merkleProof - ) external { + function claim(uint256 index, uint256 amount, bytes32[] memory merkleProof) external { if (isRegistrationOpen) { revert RegistrationNotClosed(); } diff --git a/contracts/contracts/example/SelfPassportERC721.sol b/contracts/contracts/example/SelfPassportERC721.sol index d823b266e..dce8a6684 100644 --- a/contracts/contracts/example/SelfPassportERC721.sol +++ b/contracts/contracts/example/SelfPassportERC721.sol @@ -32,18 +32,14 @@ contract SelfPassportERC721 is SelfVerificationRoot, ERC721, Ownable { // Events // ==================================================== - event PassportNFTMinted( - uint256 indexed tokenId, - address indexed owner, - SelfCircuitLibrary.PassportData attributes - ); + event PassportNFTMinted(uint256 indexed tokenId, address indexed owner, SelfCircuitLibrary.PassportData attributes); /// @notice Emitted when the scope is updated event ScopeUpdated(uint256 newScope); - + /// @notice Emitted when a new attestation ID is added event AttestationIdAdded(uint256 attestationId); - + /// @notice Emitted when an attestation ID is removed event AttestationIdRemoved(uint256 attestationId); @@ -73,11 +69,7 @@ contract SelfPassportERC721 is SelfVerificationRoot, ERC721, Ownable { uint256[] memory attestationIds, string memory name, string memory symbol - ) - SelfVerificationRoot(identityVerificationHub, scope, attestationIds) - ERC721(name, symbol) - Ownable(_msgSender()) - {} + ) SelfVerificationRoot(identityVerificationHub, scope, attestationIds) ERC721(name, symbol) Ownable(_msgSender()) {} // ==================================================== // External/Public Functions @@ -128,9 +120,7 @@ contract SelfPassportERC721 is SelfVerificationRoot, ERC721, Ownable { * @notice Verifies a self-proof and mints an NFT with passport attributes * @param proof The VC and Disclose proof data used to verify and register the user */ - function verifySelfProof( - ISelfVerificationRoot.DiscloseCircuitProof memory proof - ) public override { + function verifySelfProof(ISelfVerificationRoot.DiscloseCircuitProof memory proof) public override { if (_usedNullifiers[proof.pubSignals[NULLIFIER_INDEX]]) { revert NullifierAlreadyUsed(); } @@ -213,4 +203,4 @@ contract SelfPassportERC721 is SelfVerificationRoot, ERC721, Ownable { function _exists(uint256 tokenId) internal view returns (bool) { return _ownerOf(tokenId) != address(0); } -} \ No newline at end of file +} diff --git a/contracts/contracts/interfaces/IDscCircuitVerifier.sol b/contracts/contracts/interfaces/IDscCircuitVerifier.sol index 5923f04bc..88f48ea92 100644 --- a/contracts/contracts/interfaces/IDscCircuitVerifier.sol +++ b/contracts/contracts/interfaces/IDscCircuitVerifier.sol @@ -7,7 +7,6 @@ pragma solidity 0.8.28; * @dev This interface defines the structure of a DSC circuit proof and exposes a function to verify such proofs. */ interface IDscCircuitVerifier { - /** * @notice Represents a DSC circuit proof. * @param a An array of two unsigned integers representing the proof component 'a'. @@ -31,10 +30,10 @@ interface IDscCircuitVerifier { * @param _pubSignals The public signals associated with the proof. * @return A boolean value indicating whether the provided proof is valid (true) or not (false). */ - function verifyProof ( + function verifyProof( uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals ) external view returns (bool); -} \ No newline at end of file +} diff --git a/contracts/contracts/interfaces/IIdentityRegistryV1.sol b/contracts/contracts/interfaces/IIdentityRegistryV1.sol index fad5eb599..8b01f2c8e 100644 --- a/contracts/contracts/interfaces/IIdentityRegistryV1.sol +++ b/contracts/contracts/interfaces/IIdentityRegistryV1.sol @@ -20,19 +20,14 @@ interface IIdentityRegistryV1 { * @param nullifier The nullifier to check. * @return True if the nullifier is registered; otherwise, false. */ - function nullifiers( - bytes32 attestationId, - uint256 nullifier - ) external view returns (bool); + function nullifiers(bytes32 attestationId, uint256 nullifier) external view returns (bool); /** * @notice Checks whether a DSC key commitment is registered. * @param commitment The DSC key commitment to check. * @return True if the commitment is registered, false otherwise. */ - function isRegisteredDscKeyCommitment( - uint256 commitment - ) external view returns (bool); + function isRegisteredDscKeyCommitment(uint256 commitment) external view returns (bool); /** * @notice Retrieves the timestamp at which a given Merkle tree root was created. @@ -46,9 +41,7 @@ interface IIdentityRegistryV1 { * @param root The Merkle tree root to check. * @return True if the root exists in the tree, false otherwise. */ - function checkIdentityCommitmentRoot( - uint256 root - ) external view returns (bool); + function checkIdentityCommitmentRoot(uint256 root) external view returns (bool); /** * @notice Retrieves the total number of identity commitments in the Merkle tree. @@ -67,9 +60,7 @@ interface IIdentityRegistryV1 { * @param commitment The identity commitment to locate. * @return The index position of the provided commitment. */ - function getIdentityCommitmentIndex( - uint256 commitment - ) external view returns (uint256); + function getIdentityCommitmentIndex(uint256 commitment) external view returns (uint256); /** * @notice Retrieves the current passport number OFAC root. @@ -113,9 +104,7 @@ interface IIdentityRegistryV1 { * @param root The CSCA root to verify. * @return True if the given root equals the stored CSCA root, otherwise false. */ - function checkCscaRoot( - uint256 root - ) external view returns (bool); + function checkCscaRoot(uint256 root) external view returns (bool); /** * @notice Retrieves the current Merkle root of the DSC key commitments. @@ -128,9 +117,7 @@ interface IIdentityRegistryV1 { * @param root The root to check. * @return True if it matches the current root, false otherwise. */ - function checkDscKeyCommitmentMerkleRoot( - uint256 root - ) external view returns (bool); + function checkDscKeyCommitmentMerkleRoot(uint256 root) external view returns (bool); /** * @notice Retrieves the total number of DSC key commitments in the Merkle tree. @@ -143,9 +130,7 @@ interface IIdentityRegistryV1 { * @param commitment The DSC key commitment to locate. * @return The index of the provided commitment. */ - function getDscKeyCommitmentIndex( - uint256 commitment - ) external view returns (uint256); + function getDscKeyCommitmentIndex(uint256 commitment) external view returns (uint256); /** * @notice Registers a new identity commitment. @@ -154,18 +139,12 @@ interface IIdentityRegistryV1 { * @param nullifier A unique nullifier to prevent double registration. * @param commitment The identity commitment to register. */ - function registerCommitment( - bytes32 attestationId, - uint256 nullifier, - uint256 commitment - ) external; + function registerCommitment(bytes32 attestationId, uint256 nullifier, uint256 commitment) external; /** * @notice Registers a new DSC key commitment. * @dev Must be called by the identity verification hub. Reverts if the DSC key commitment is already registered. * @param dscCommitment The DSC key commitment to register. */ - function registerDscKeyCommitment( - uint256 dscCommitment - ) external; + function registerDscKeyCommitment(uint256 dscCommitment) external; } diff --git a/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol b/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol index 913595049..b30fdcc09 100644 --- a/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol +++ b/contracts/contracts/interfaces/IIdentityVerificationHubV1.sol @@ -12,22 +12,21 @@ import {CircuitConstants} from "../constants/CircuitConstants.sol"; * @dev Defines data structures and external functions for verifying proofs and recovering human-readable data. */ interface IIdentityVerificationHubV1 { - /** * @notice Enum representing types of data that may be revealed. */ enum RevealedDataType { - ISSUING_STATE, // The issuing state of the passport. - NAME, // The full name of the passport holder. - PASSPORT_NUMBER, // The passport number. - NATIONALITY, // The nationality. - DATE_OF_BIRTH, // The date of birth. - GENDER, // The gender. - EXPIRY_DATE, // The passport expiry date. - OLDER_THAN, // The "older than" age verification value. - PASSPORT_NO_OFAC, // The passport number OFAC status. + ISSUING_STATE, // The issuing state of the passport. + NAME, // The full name of the passport holder. + PASSPORT_NUMBER, // The passport number. + NATIONALITY, // The nationality. + DATE_OF_BIRTH, // The date of birth. + GENDER, // The gender. + EXPIRY_DATE, // The passport expiry date. + OLDER_THAN, // The "older than" age verification value. + PASSPORT_NO_OFAC, // The passport number OFAC status. NAME_AND_DOB_OFAC, // The name and date of birth OFAC verification result. - NAME_AND_YOB_OFAC // The name and year of birth OFAC verification result. + NAME_AND_YOB_OFAC // The name and year of birth OFAC verification result. } /** @@ -104,10 +103,7 @@ interface IIdentityVerificationHubV1 { */ function verifyVcAndDisclose( VcAndDiscloseHubProof memory proof - ) - external - view - returns (VcAndDiscloseVerificationResult memory result); + ) external view returns (VcAndDiscloseVerificationResult memory result); /** * @notice Converts packed revealed data into a human-readable format. @@ -119,10 +115,7 @@ interface IIdentityVerificationHubV1 { function getReadableRevealedData( uint256[3] memory revealedDataPacked, RevealedDataType[] memory types - ) - external - view - returns (ReadableRevealedData memory readableData); + ) external view returns (ReadableRevealedData memory readableData); /** * @notice Retrieves a human-readable list of forbidden countries. @@ -132,10 +125,7 @@ interface IIdentityVerificationHubV1 { */ function getReadableForbiddenCountries( uint256[4] memory forbiddenCountriesListPacked - ) - external - view - returns (string[40] memory forbiddenCountries); + ) external view returns (string[40] memory forbiddenCountries); /** * @notice Registers a passport commitment using a register circuit proof. @@ -146,8 +136,7 @@ interface IIdentityVerificationHubV1 { function registerPassportCommitment( uint256 registerCircuitVerifierId, IRegisterCircuitVerifier.RegisterCircuitProof memory registerCircuitProof - ) - external; + ) external; /** * @notice Registers a DSC key commitment using a DSC circuit proof. @@ -158,8 +147,7 @@ interface IIdentityVerificationHubV1 { function registerDscKeyCommitment( uint256 dscCircuitVerifierId, IDscCircuitVerifier.DscCircuitProof memory dscCircuitProof - ) - external; + ) external; /** * @notice Returns the address of the Identity Registry. @@ -178,22 +166,12 @@ interface IIdentityVerificationHubV1 { * @param typeId The signature type identifier. * @return verifier The address of the register circuit verifier. */ - function sigTypeToRegisterCircuitVerifiers( - uint256 typeId - ) - external - view - returns (address verifier); + function sigTypeToRegisterCircuitVerifiers(uint256 typeId) external view returns (address verifier); /** * @notice Retrieves the DSC circuit verifier for a given signature type. * @param typeId The signature type identifier. * @return verifier The address of the DSC circuit verifier. */ - function sigTypeToDscCircuitVerifiers( - uint256 typeId - ) - external - view - returns (address verifier); -} \ No newline at end of file + function sigTypeToDscCircuitVerifiers(uint256 typeId) external view returns (address verifier); +} diff --git a/contracts/contracts/interfaces/IPassportAirdropRoot.sol b/contracts/contracts/interfaces/IPassportAirdropRoot.sol index 90f705cee..61e40464a 100644 --- a/contracts/contracts/interfaces/IPassportAirdropRoot.sol +++ b/contracts/contracts/interfaces/IPassportAirdropRoot.sol @@ -8,7 +8,6 @@ pragma solidity 0.8.28; * the verification process during passport airdrop registration. */ interface IPassportAirdropRoot { - /** * @notice Configuration settings for the verification process. * @dev These settings determine which attributes are enabled for verification and the expected values. @@ -25,5 +24,4 @@ interface IPassportAirdropRoot { uint256[4] forbiddenCountriesListPacked; bool[3] ofacEnabled; } - -} \ No newline at end of file +} diff --git a/contracts/contracts/interfaces/IRegisterCircuitVerifier.sol b/contracts/contracts/interfaces/IRegisterCircuitVerifier.sol index c8422609a..f9f1e2127 100644 --- a/contracts/contracts/interfaces/IRegisterCircuitVerifier.sol +++ b/contracts/contracts/interfaces/IRegisterCircuitVerifier.sol @@ -6,7 +6,6 @@ pragma solidity 0.8.28; * @dev This interface defines the structure of a register circuit proof and exposes a function to verify such proofs. */ interface IRegisterCircuitVerifier { - /** * @notice Represents a register circuit proof. * @dev This structure encapsulates the required proof elements. @@ -31,10 +30,10 @@ interface IRegisterCircuitVerifier { * @param pubSignals The public signals associated with the proof. * @return isValid A boolean value indicating whether the provided proof is valid (true) or not (false). */ - function verifyProof ( + function verifyProof( uint[2] calldata a, uint[2][2] calldata b, uint[2] calldata c, uint[3] calldata pubSignals ) external view returns (bool isValid); -} \ No newline at end of file +} diff --git a/contracts/contracts/interfaces/ISelfVerificationRoot.sol b/contracts/contracts/interfaces/ISelfVerificationRoot.sol index 98f834822..ada96371d 100644 --- a/contracts/contracts/interfaces/ISelfVerificationRoot.sol +++ b/contracts/contracts/interfaces/ISelfVerificationRoot.sol @@ -4,7 +4,6 @@ pragma solidity 0.8.28; import {IVcAndDiscloseCircuitVerifier} from "./IVcAndDiscloseCircuitVerifier.sol"; interface ISelfVerificationRoot { - struct VerificationConfig { bool olderThanEnabled; uint256 olderThan; @@ -19,13 +18,10 @@ interface ISelfVerificationRoot { uint256[2] c; uint256[21] pubSignals; } - + /** * @notice Verifies a self-proof * @param proof The proof data for verification and disclosure */ - function verifySelfProof( - DiscloseCircuitProof memory proof - ) external; - -} \ No newline at end of file + function verifySelfProof(DiscloseCircuitProof memory proof) external; +} diff --git a/contracts/contracts/interfaces/IVcAndDiscloseCircuitVerifier.sol b/contracts/contracts/interfaces/IVcAndDiscloseCircuitVerifier.sol index 4be86fdc6..cf347f1a5 100644 --- a/contracts/contracts/interfaces/IVcAndDiscloseCircuitVerifier.sol +++ b/contracts/contracts/interfaces/IVcAndDiscloseCircuitVerifier.sol @@ -7,7 +7,6 @@ pragma solidity 0.8.28; * @dev This interface defines the structure of a VC and Disclose proof and a function to verify such proofs. */ interface IVcAndDiscloseCircuitVerifier { - /** * @notice Represents a VC and Disclose proof. * @param a An array of two unsigned integers representing the proof component 'a'. @@ -31,10 +30,10 @@ interface IVcAndDiscloseCircuitVerifier { * @param pubSignals The public signals associated with the proof. * @return A boolean value indicating whether the proof is valid (true) or not (false). */ - function verifyProof ( + function verifyProof( uint[2] calldata a, uint[2][2] calldata b, uint[2] calldata c, uint[21] calldata pubSignals ) external view returns (bool); -} \ No newline at end of file +} diff --git a/contracts/contracts/libraries/CircuitAttributeHandler.sol b/contracts/contracts/libraries/CircuitAttributeHandler.sol index 9d4cfd0e8..ffa8e4f3d 100644 --- a/contracts/contracts/libraries/CircuitAttributeHandler.sol +++ b/contracts/contracts/libraries/CircuitAttributeHandler.sol @@ -10,7 +10,6 @@ import {Formatter} from "./Formatter.sol"; * @dev Utilizes the Formatter library for converting and formatting specific fields. */ library CircuitAttributeHandler { - /** * @dev Reverts when the provided character codes array does not contain enough data to extract an attribute. */ @@ -114,8 +113,10 @@ library CircuitAttributeHandler { * @return The extracted age as a uint256. */ function getOlderThan(bytes memory charcodes) internal pure returns (uint256) { - return Formatter.numAsciiToUint(uint8(charcodes[OLDER_THAN_START])) * 10 - + Formatter.numAsciiToUint(uint8(charcodes[OLDER_THAN_START + 1])); + return + Formatter.numAsciiToUint(uint8(charcodes[OLDER_THAN_START])) * + 10 + + Formatter.numAsciiToUint(uint8(charcodes[OLDER_THAN_START + 1])); } /** @@ -161,9 +162,10 @@ library CircuitAttributeHandler { bool checkNameAndDob, bool checkNameAndYob ) internal pure returns (bool) { - return (!checkPassportNo || getPassportNoOfac(charcodes) == 1) && - (!checkNameAndDob || getNameAndDobOfac(charcodes) == 1) && - (!checkNameAndYob || getNameAndYobOfac(charcodes) == 1); + return + (!checkPassportNo || getPassportNoOfac(charcodes) == 1) && + (!checkNameAndDob || getNameAndDobOfac(charcodes) == 1) && + (!checkNameAndYob || getNameAndYobOfac(charcodes) == 1); } /** @@ -172,10 +174,7 @@ library CircuitAttributeHandler { * @param olderThan The threshold value to compare against. * @return True if the extracted age is greater than or equal to the threshold, false otherwise. */ - function compareOlderThan( - bytes memory charcodes, - uint256 olderThan - ) internal pure returns (bool) { + function compareOlderThan(bytes memory charcodes, uint256 olderThan) internal pure returns (bool) { return getOlderThan(charcodes) >= olderThan; } @@ -187,7 +186,11 @@ library CircuitAttributeHandler { * @param end The ending index (inclusive) of the attribute in the byte array. * @return The extracted attribute as a string. */ - function extractStringAttribute(bytes memory charcodes, uint256 start, uint256 end) internal pure returns (string memory) { + function extractStringAttribute( + bytes memory charcodes, + uint256 start, + uint256 end + ) internal pure returns (string memory) { if (charcodes.length <= end) { revert INSUFFICIENT_CHARCODE_LEN(); } @@ -197,5 +200,4 @@ library CircuitAttributeHandler { } return string(attributeBytes); } - -} \ No newline at end of file +} diff --git a/contracts/contracts/libraries/Formatter.sol b/contracts/contracts/libraries/Formatter.sol index fb572eb62..372e336b6 100644 --- a/contracts/contracts/libraries/Formatter.sol +++ b/contracts/contracts/libraries/Formatter.sol @@ -23,9 +23,7 @@ library Formatter { * @param input The input string structured as "lastName< '1' || (dateBytes[2] == '1' && dateBytes[3] > '2')) { + if (dateBytes[2] > "1" || (dateBytes[2] == "1" && dateBytes[3] > "2")) { revert InvalidMonthRange(); } - if (dateBytes[4] > '3' || (dateBytes[4] == '3' && dateBytes[5] > '1')) { + if (dateBytes[4] > "3" || (dateBytes[4] == "3" && dateBytes[5] > "1")) { revert InvalidDayRange(); } @@ -109,9 +102,7 @@ library Formatter { * @param publicSignals An array of three unsigned integers representing field elements. * @return bytesArray A bytes array of total length 93 that encodes the three field elements. */ - function fieldElementsToBytes( - uint256[3] memory publicSignals - ) internal pure returns (bytes memory) { + function fieldElementsToBytes(uint256[3] memory publicSignals) internal pure returns (bytes memory) { if ( publicSignals[0] >= SNARK_SCALAR_FIELD || publicSignals[1] >= SNARK_SCALAR_FIELD || @@ -142,13 +133,7 @@ library Formatter { */ function extractForbiddenCountriesFromPacked( uint256[4] memory publicSignals - ) - internal - pure - returns ( - string[MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH] memory forbiddenCountries - ) - { + ) internal pure returns (string[MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH] memory forbiddenCountries) { for (uint256 i = 0; i < 4; i++) { if (publicSignals[i] >= SNARK_SCALAR_FIELD) { revert InvalidFieldElement(); @@ -187,30 +172,25 @@ library Formatter { } return forbiddenCountries; - } /** * @notice Converts an array of 6 numerical values representing a date into a Unix timestamp. - * @dev Each element in the dateNum array is taken modulo 10, converted to its ASCII digit, - * and concatenated to form a date string in YYMMDD format. This string is then converted + * @dev Each element in the dateNum array is taken modulo 10, converted to its ASCII digit, + * and concatenated to form a date string in YYMMDD format. This string is then converted * into a Unix timestamp using dateToUnixTimestamp. * @param dateNum An array of 6 unsigned integers representing a date in YYMMDD format. * @return timestamp The Unix timestamp corresponding to the provided date. */ - function proofDateToUnixTimestamp( - uint256[6] memory dateNum - ) internal pure returns (uint256) { + function proofDateToUnixTimestamp(uint256[6] memory dateNum) internal pure returns (uint256) { for (uint256 i = 0; i < 6; i++) { - if (dateNum[i] > 9) { - revert InvalidDateDigit(); + if (dateNum[i] > 9) { + revert InvalidDateDigit(); } } string memory date = ""; for (uint256 i = 0; i < 6; i++) { - date = string( - abi.encodePacked(date, bytes1(uint8(48 + (dateNum[i] % 10)))) - ); + date = string(abi.encodePacked(date, bytes1(uint8(48 + (dateNum[i] % 10))))); } uint256 currentTimestamp = dateToUnixTimestamp(date); return currentTimestamp; @@ -224,19 +204,17 @@ library Formatter { * @param date A 6-character string representing the date in YYMMDD format. * @return timestamp The Unix timestamp corresponding to the input date. */ - function dateToUnixTimestamp( - string memory date - ) internal pure returns (uint256) { + function dateToUnixTimestamp(string memory date) internal pure returns (uint256) { bytes memory dateBytes = bytes(date); if (dateBytes.length != 6) { revert InvalidDateLength(); } - if (dateBytes[2] > '1' || (dateBytes[2] == '1' && dateBytes[3] > '2')) { + if (dateBytes[2] > "1" || (dateBytes[2] == "1" && dateBytes[3] > "2")) { revert InvalidMonthRange(); } - if (dateBytes[4] > '3' || (dateBytes[4] == '3' && dateBytes[5] > '1')) { + if (dateBytes[4] > "3" || (dateBytes[4] == "3" && dateBytes[5] > "1")) { revert InvalidDayRange(); } @@ -255,11 +233,7 @@ library Formatter { * @param endIndex The ending index of the substring (exclusive). * @return The resulting substring. */ - function substring( - string memory str, - uint startIndex, - uint endIndex - ) internal pure returns (string memory) { + function substring(string memory str, uint startIndex, uint endIndex) internal pure returns (string memory) { bytes memory strBytes = bytes(str); bytes memory result = new bytes(endIndex - startIndex); @@ -300,11 +274,7 @@ library Formatter { * @param day The day of the month. * @return timestamp The Unix timestamp corresponding to the given date. */ - function toTimestamp( - uint256 year, - uint256 month, - uint256 day - ) internal pure returns (uint timestamp) { + function toTimestamp(uint256 year, uint256 month, uint256 day) internal pure returns (uint timestamp) { uint16 i; if (year < 1970 || year > 2100) { @@ -377,5 +347,4 @@ library Formatter { return true; } } - } diff --git a/contracts/contracts/libraries/SelfCircuitLibrary.sol b/contracts/contracts/libraries/SelfCircuitLibrary.sol index e14da577d..3e71e19c8 100644 --- a/contracts/contracts/libraries/SelfCircuitLibrary.sol +++ b/contracts/contracts/libraries/SelfCircuitLibrary.sol @@ -34,20 +34,21 @@ library SelfCircuitLibrary { */ function extractPassportData(uint256[3] memory revealedDataPacked) internal pure returns (PassportData memory) { bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); - - return PassportData({ - issuingState: CircuitAttributeHandler.getIssuingState(charcodes), - name: CircuitAttributeHandler.getName(charcodes), - passportNumber: CircuitAttributeHandler.getPassportNumber(charcodes), - nationality: CircuitAttributeHandler.getNationality(charcodes), - dateOfBirth: CircuitAttributeHandler.getDateOfBirth(charcodes), - gender: CircuitAttributeHandler.getGender(charcodes), - expiryDate: CircuitAttributeHandler.getExpiryDate(charcodes), - olderThan: CircuitAttributeHandler.getOlderThan(charcodes), - passportNoOfac: CircuitAttributeHandler.getPassportNoOfac(charcodes) == 1, - nameAndDobOfac: CircuitAttributeHandler.getNameAndDobOfac(charcodes) == 1, - nameAndYobOfac: CircuitAttributeHandler.getNameAndYobOfac(charcodes) == 1 - }); + + return + PassportData({ + issuingState: CircuitAttributeHandler.getIssuingState(charcodes), + name: CircuitAttributeHandler.getName(charcodes), + passportNumber: CircuitAttributeHandler.getPassportNumber(charcodes), + nationality: CircuitAttributeHandler.getNationality(charcodes), + dateOfBirth: CircuitAttributeHandler.getDateOfBirth(charcodes), + gender: CircuitAttributeHandler.getGender(charcodes), + expiryDate: CircuitAttributeHandler.getExpiryDate(charcodes), + olderThan: CircuitAttributeHandler.getOlderThan(charcodes), + passportNoOfac: CircuitAttributeHandler.getPassportNoOfac(charcodes) == 1, + nameAndDobOfac: CircuitAttributeHandler.getNameAndDobOfac(charcodes) == 1, + nameAndYobOfac: CircuitAttributeHandler.getNameAndYobOfac(charcodes) == 1 + }); } /** @@ -186,12 +187,7 @@ library SelfCircuitLibrary { bool checkNameAndYob ) internal pure returns (bool) { bytes memory charcodes = Formatter.fieldElementsToBytes(revealedDataPacked); - return CircuitAttributeHandler.compareOfac( - charcodes, - checkPassportNo, - checkNameAndDob, - checkNameAndYob - ); + return CircuitAttributeHandler.compareOfac(charcodes, checkPassportNo, checkNameAndDob, checkNameAndYob); } /** diff --git a/contracts/contracts/registry/IdentityRegistry.sol b/contracts/contracts/registry/IdentityRegistry.sol index 2681ea55a..bf8a0128a 100644 --- a/contracts/contracts/registry/IdentityRegistry.sol +++ b/contracts/contracts/registry/IdentityRegistry.sol @@ -16,4 +16,4 @@ contract IdentityRegistry is ProxyRoot { * @param _data The initialization data passed to the implementation during deployment. */ constructor(address _logic, bytes memory _data) ProxyRoot(_logic, _data) {} -} \ No newline at end of file +} diff --git a/contracts/contracts/registry/IdentityRegistryImplV1.sol b/contracts/contracts/registry/IdentityRegistryImplV1.sol index 60a1c0e11..f452fa36c 100644 --- a/contracts/contracts/registry/IdentityRegistryImplV1.sol +++ b/contracts/contracts/registry/IdentityRegistryImplV1.sol @@ -4,34 +4,34 @@ pragma solidity 0.8.28; import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; import {Ownable2StepUpgradeable} from "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; -import { InternalLeanIMT, LeanIMTData } from "@zk-kit/imt.sol/internal/InternalLeanIMT.sol"; +import {InternalLeanIMT, LeanIMTData} from "@zk-kit/imt.sol/internal/InternalLeanIMT.sol"; import {IIdentityRegistryV1} from "../interfaces/IIdentityRegistryV1.sol"; import {IIdentityVerificationHubV1} from "../interfaces/IIdentityVerificationHubV1.sol"; import {ImplRoot} from "../upgradeable/ImplRoot.sol"; /** * @notice ⚠️ CRITICAL STORAGE LAYOUT WARNING ⚠️ * ============================================= - * + * * This contract uses the UUPS upgradeable pattern which makes storage layout EXTREMELY SENSITIVE. - * + * * 🚫 NEVER MODIFY OR REORDER existing storage variables * 🚫 NEVER INSERT new variables between existing ones * 🚫 NEVER CHANGE THE TYPE of existing variables - * + * * ✅ New storage variables MUST be added in one of these two ways ONLY: * 1. At the END of the storage layout * 2. In a new V2 contract that inherits from this V1 * ✅ It is safe to rename variables (e.g., changing 'variable' to 'oldVariable') * as long as the type and order remain the same - * + * * Examples of forbidden changes: * - Changing uint256 to uint128 * - Changing bytes32 to bytes * - Changing array type to mapping - * + * * For more detailed information about forbidden changes, please refer to: * https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#modifying-your-contracts - * + * * ⚠️ VIOLATION OF THESE RULES WILL CAUSE CATASTROPHIC STORAGE COLLISIONS IN FUTURE UPGRADES ⚠️ * ============================================= */ @@ -41,9 +41,7 @@ import {ImplRoot} from "../upgradeable/ImplRoot.sol"; * @dev Abstract contract for storage layout of IdentityRegistryImplV1. * Inherits from ImplRoot to provide upgradeable functionality. */ -abstract contract IdentityRegistryStorageV1 is - ImplRoot -{ +abstract contract IdentityRegistryStorageV1 is ImplRoot { // ==================================================== // Storage Variables // ==================================================== @@ -85,10 +83,7 @@ abstract contract IdentityRegistryStorageV1 is * @notice Provides functions to register and manage identity commitments using a Merkle tree structure. * @dev Inherits from IdentityRegistryStorageV1 and implements IIdentityRegistryV1. */ -contract IdentityRegistryImplV1 is - IdentityRegistryStorageV1, - IIdentityRegistryV1 -{ +contract IdentityRegistryImplV1 is IdentityRegistryStorageV1, IIdentityRegistryV1 { using InternalLeanIMT for LeanIMTData; // ==================================================== @@ -108,11 +103,25 @@ contract IdentityRegistryImplV1 is /// @notice Emitted when the name and year of birth OFAC root is updated. event NameAndYobOfacRootUpdated(uint256 nameAndYobOfacRoot); /// @notice Emitted when an identity commitment is successfully registered. - event CommitmentRegistered(bytes32 indexed attestationId, uint256 indexed nullifier, uint256 indexed commitment, uint256 timestamp, uint256 imtRoot, uint256 imtIndex); + event CommitmentRegistered( + bytes32 indexed attestationId, + uint256 indexed nullifier, + uint256 indexed commitment, + uint256 timestamp, + uint256 imtRoot, + uint256 imtIndex + ); /// @notice Emitted when a DSC key commitment is successfully registered. event DscKeyCommitmentRegistered(uint256 indexed commitment, uint256 timestamp, uint256 imtRoot, uint256 imtIndex); /// @notice Emitted when a identity commitment is added by dev team. - event DevCommitmentRegistered(bytes32 indexed attestationId, uint256 indexed nullifier, uint256 indexed commitment, uint256 timestamp, uint256 imtRoot, uint256 imtIndex); + event DevCommitmentRegistered( + bytes32 indexed attestationId, + uint256 indexed nullifier, + uint256 indexed commitment, + uint256 timestamp, + uint256 imtRoot, + uint256 imtIndex + ); /// @notice Emitted when a identity commitment is updated by dev team. event DevCommitmentUpdated(uint256 indexed oldLeaf, uint256 indexed newLeaf, uint256 imtRoot, uint256 timestamp); /// @notice Emitted when a identity commitment is removed by dev team. @@ -138,7 +147,7 @@ contract IdentityRegistryImplV1 is error ONLY_HUB_CAN_ACCESS(); /// @notice Thrown when attempting to register a commitment that has already been registered. error REGISTERED_COMMITMENT(); - + // ==================================================== // Modifiers // ==================================================== @@ -164,7 +173,7 @@ contract IdentityRegistryImplV1 is constructor() { _disableInitializers(); } - + // ==================================================== // Initializer // ==================================================== @@ -173,12 +182,7 @@ contract IdentityRegistryImplV1 is * @dev Sets the hub address and initializes the UUPS upgradeable feature. * @param _hub The address of the identity verification hub. */ - function initialize( - address _hub - ) - external - initializer - { + function initialize(address _hub) external initializer { __ImplRoot_init(); _hub = _hub; emit RegistryInitialized(_hub); @@ -192,13 +196,7 @@ contract IdentityRegistryImplV1 is * @notice Retrieves the hub address. * @return The current identity verification hub address. */ - function hub() - external - virtual - onlyProxy - view - returns (address) - { + function hub() external view virtual onlyProxy returns (address) { return _hub; } @@ -208,16 +206,7 @@ contract IdentityRegistryImplV1 is * @param nullifier The nullifier to be checked. * @return True if the nullifier has been registered, false otherwise. */ - function nullifiers( - bytes32 attestationId, - uint256 nullifier - ) - external - virtual - onlyProxy - view - returns (bool) - { + function nullifiers(bytes32 attestationId, uint256 nullifier) external view virtual onlyProxy returns (bool) { return _nullifiers[attestationId][nullifier]; } @@ -226,15 +215,7 @@ contract IdentityRegistryImplV1 is * @param commitment The DSC key commitment. * @return True if the DSC key commitment is registered, false otherwise. */ - function isRegisteredDscKeyCommitment( - uint256 commitment - ) - external - virtual - onlyProxy - view - returns (bool) - { + function isRegisteredDscKeyCommitment(uint256 commitment) external view virtual onlyProxy returns (bool) { return _isRegisteredDscKeyCommitment[commitment]; } @@ -243,15 +224,7 @@ contract IdentityRegistryImplV1 is * @param root The Merkle tree root. * @return The timestamp corresponding to the given root. */ - function rootTimestamps( - uint256 root - ) - external - virtual - onlyProxy - view - returns (uint256) - { + function rootTimestamps(uint256 root) external view virtual onlyProxy returns (uint256) { return _rootTimestamps[root]; } @@ -260,14 +233,7 @@ contract IdentityRegistryImplV1 is * @param root The Merkle tree root. * @return True if the root exists, false otherwise. */ - function checkIdentityCommitmentRoot( - uint256 root - ) - external - onlyProxy - view - returns (bool) - { + function checkIdentityCommitmentRoot(uint256 root) external view onlyProxy returns (bool) { return _rootTimestamps[root] != 0; } @@ -275,12 +241,7 @@ contract IdentityRegistryImplV1 is * @notice Retrieves the number of identity commitments in the Merkle tree. * @return The size of the identity commitment Merkle tree. */ - function getIdentityCommitmentMerkleTreeSize() - external - onlyProxy - view - returns (uint256) - { + function getIdentityCommitmentMerkleTreeSize() external view onlyProxy returns (uint256) { return _identityCommitmentIMT.size; } @@ -288,12 +249,7 @@ contract IdentityRegistryImplV1 is * @notice Retrieves the current Merkle root of the identity commitments. * @return The current identity commitment Merkle root. */ - function getIdentityCommitmentMerkleRoot() - external - onlyProxy - view - returns (uint256) - { + function getIdentityCommitmentMerkleRoot() external view onlyProxy returns (uint256) { return _identityCommitmentIMT._root(); } @@ -302,14 +258,7 @@ contract IdentityRegistryImplV1 is * @param commitment The identity commitment to locate. * @return The index of the provided commitment within the Merkle tree. */ - function getIdentityCommitmentIndex( - uint256 commitment - ) - external - onlyProxy - view - returns (uint256) - { + function getIdentityCommitmentIndex(uint256 commitment) external view onlyProxy returns (uint256) { return _identityCommitmentIMT._indexOf(commitment); } @@ -317,12 +266,7 @@ contract IdentityRegistryImplV1 is * @notice Retrieves the current passport number OFAC root. * @return The stored passport number OFAC root. */ - function getPassportNoOfacRoot() - external - onlyProxy - view - returns (uint256) - { + function getPassportNoOfacRoot() external view onlyProxy returns (uint256) { return _passportNoOfacRoot; } @@ -330,12 +274,7 @@ contract IdentityRegistryImplV1 is * @notice Retrieves the current name and date of birth OFAC root. * @return The stored name and date of birth OFAC root. */ - function getNameAndDobOfacRoot() - external - onlyProxy - view - returns (uint256) - { + function getNameAndDobOfacRoot() external view onlyProxy returns (uint256) { return _nameAndDobOfacRoot; } @@ -343,12 +282,7 @@ contract IdentityRegistryImplV1 is * @notice Retrieves the current name and year of birth OFAC root. * @return The stored name and year of birth OFAC root. */ - function getNameAndYobOfacRoot() - external - onlyProxy - view - returns (uint256) - { + function getNameAndYobOfacRoot() external view onlyProxy returns (uint256) { return _nameAndYobOfacRoot; } @@ -363,27 +297,18 @@ contract IdentityRegistryImplV1 is uint256 passportNoRoot, uint256 nameAndDobRoot, uint256 nameAndYobRoot - ) - external - onlyProxy - view - returns (bool) - { - return _passportNoOfacRoot == passportNoRoot - && _nameAndDobOfacRoot == nameAndDobRoot - && _nameAndYobOfacRoot == nameAndYobRoot; + ) external view onlyProxy returns (bool) { + return + _passportNoOfacRoot == passportNoRoot && + _nameAndDobOfacRoot == nameAndDobRoot && + _nameAndYobOfacRoot == nameAndYobRoot; } /** * @notice Retrieves the current CSCA root. * @return The stored CSCA root. */ - function getCscaRoot() - external - onlyProxy - view - returns (uint256) - { + function getCscaRoot() external view onlyProxy returns (uint256) { return _cscaRoot; } @@ -392,14 +317,7 @@ contract IdentityRegistryImplV1 is * @param root The CSCA root to validate. * @return True if the provided root is equal to the stored CSCA root, false otherwise. */ - function checkCscaRoot( - uint256 root - ) - external - onlyProxy - view - returns (bool) - { + function checkCscaRoot(uint256 root) external view onlyProxy returns (bool) { return _cscaRoot == root; } @@ -407,12 +325,7 @@ contract IdentityRegistryImplV1 is * @notice Retrieves the current Merkle root of the DSC key commitments. * @return The current DSC key commitment Merkle root. */ - function getDscKeyCommitmentMerkleRoot() - external - onlyProxy - view - returns (uint256) - { + function getDscKeyCommitmentMerkleRoot() external view onlyProxy returns (uint256) { return _dscKeyCommitmentIMT._root(); } @@ -421,14 +334,7 @@ contract IdentityRegistryImplV1 is * @param root The root to validate. * @return True if the roots match, false otherwise. */ - function checkDscKeyCommitmentMerkleRoot( - uint256 root - ) - external - onlyProxy - view - returns (bool) - { + function checkDscKeyCommitmentMerkleRoot(uint256 root) external view onlyProxy returns (bool) { return _dscKeyCommitmentIMT._root() == root; } @@ -436,12 +342,7 @@ contract IdentityRegistryImplV1 is * @notice Retrieves the number of DSC key commitments in the Merkle tree. * @return The DSC key commitment Merkle tree size. */ - function getDscKeyCommitmentTreeSize() - external - onlyProxy - view - returns (uint256) - { + function getDscKeyCommitmentTreeSize() external view onlyProxy returns (uint256) { return _dscKeyCommitmentIMT.size; } @@ -450,14 +351,7 @@ contract IdentityRegistryImplV1 is * @param commitment The DSC key commitment to locate. * @return The index of the provided commitment within the DSC key commitment Merkle tree. */ - function getDscKeyCommitmentIndex( - uint256 commitment - ) - external - onlyProxy - view - returns (uint256) - { + function getDscKeyCommitmentIndex(uint256 commitment) external view onlyProxy returns (uint256) { return _dscKeyCommitmentIMT._indexOf(commitment); } @@ -476,11 +370,7 @@ contract IdentityRegistryImplV1 is bytes32 attestationId, uint256 nullifier, uint256 commitment - ) - external - onlyProxy - onlyHub - { + ) external onlyProxy onlyHub { if (_nullifiers[attestationId][nullifier]) revert REGISTERED_COMMITMENT(); _nullifiers[attestationId][nullifier] = true; @@ -495,13 +385,7 @@ contract IdentityRegistryImplV1 is * @dev Caller must be the hub. Reverts if the commitment has already been registered. * @param dscCommitment The DSC key commitment to register. */ - function registerDscKeyCommitment( - uint256 dscCommitment - ) - external - onlyProxy - onlyHub - { + function registerDscKeyCommitment(uint256 dscCommitment) external onlyProxy onlyHub { if (_isRegisteredDscKeyCommitment[dscCommitment]) revert REGISTERED_COMMITMENT(); _isRegisteredDscKeyCommitment[dscCommitment] = true; @@ -509,7 +393,7 @@ contract IdentityRegistryImplV1 is uint256 imt_root = _addCommitment(_dscKeyCommitmentIMT, dscCommitment); emit DscKeyCommitmentRegistered(dscCommitment, block.timestamp, imt_root, index); } - + // ==================================================== // External Functions - Only Owner // ==================================================== @@ -519,13 +403,7 @@ contract IdentityRegistryImplV1 is * @dev Callable only via a proxy and restricted to the contract owner. * @param newHubAddress The new address of the hub. */ - function updateHub( - address newHubAddress - ) - external - onlyProxy - onlyOwner - { + function updateHub(address newHubAddress) external onlyProxy onlyOwner { _hub = newHubAddress; emit HubUpdated(newHubAddress); } @@ -535,13 +413,7 @@ contract IdentityRegistryImplV1 is * @dev Callable only via a proxy and restricted to the contract owner. * @param newPassportNoOfacRoot The new passport number OFAC root value. */ - function updatePassportNoOfacRoot( - uint256 newPassportNoOfacRoot - ) - external - onlyProxy - onlyOwner - { + function updatePassportNoOfacRoot(uint256 newPassportNoOfacRoot) external onlyProxy onlyOwner { _passportNoOfacRoot = newPassportNoOfacRoot; emit PassportNoOfacRootUpdated(newPassportNoOfacRoot); } @@ -551,13 +423,7 @@ contract IdentityRegistryImplV1 is * @dev Callable only via a proxy and restricted to the contract owner. * @param newNameAndDobOfacRoot The new name and date of birth OFAC root value. */ - function updateNameAndDobOfacRoot( - uint256 newNameAndDobOfacRoot - ) - external - onlyProxy - onlyOwner - { + function updateNameAndDobOfacRoot(uint256 newNameAndDobOfacRoot) external onlyProxy onlyOwner { _nameAndDobOfacRoot = newNameAndDobOfacRoot; emit NameAndDobOfacRootUpdated(newNameAndDobOfacRoot); } @@ -567,13 +433,7 @@ contract IdentityRegistryImplV1 is * @dev Callable only via a proxy and restricted to the contract owner. * @param newNameAndYobOfacRoot The new name and year of birth OFAC root value. */ - function updateNameAndYobOfacRoot( - uint256 newNameAndYobOfacRoot - ) - external - onlyProxy - onlyOwner - { + function updateNameAndYobOfacRoot(uint256 newNameAndYobOfacRoot) external onlyProxy onlyOwner { _nameAndYobOfacRoot = newNameAndYobOfacRoot; emit NameAndYobOfacRootUpdated(newNameAndYobOfacRoot); } @@ -583,18 +443,11 @@ contract IdentityRegistryImplV1 is * @dev Callable only via a proxy and restricted to the contract owner. * @param newCscaRoot The new CSCA root value. */ - function updateCscaRoot( - uint256 newCscaRoot - ) - external - onlyProxy - onlyOwner - { + function updateCscaRoot(uint256 newCscaRoot) external onlyProxy onlyOwner { _cscaRoot = newCscaRoot; emit CscaRootUpdated(newCscaRoot); } - /** * @notice (DEV) Force-adds an identity commitment. * @dev Callable only by the owner for testing or administration. @@ -606,11 +459,7 @@ contract IdentityRegistryImplV1 is bytes32 attestationId, uint256 nullifier, uint256 commitment - ) - external - onlyProxy - onlyOwner - { + ) external onlyProxy onlyOwner { _nullifiers[attestationId][nullifier] = true; uint256 imt_root = _addCommitment(_identityCommitmentIMT, commitment); _rootTimestamps[imt_root] = block.timestamp; @@ -629,11 +478,7 @@ contract IdentityRegistryImplV1 is uint256 oldLeaf, uint256 newLeaf, uint256[] calldata siblingNodes - ) - external - onlyProxy - onlyOwner - { + ) external onlyProxy onlyOwner { uint256 imt_root = _updateCommitment(_identityCommitmentIMT, oldLeaf, newLeaf, siblingNodes); _rootTimestamps[imt_root] = block.timestamp; emit DevCommitmentUpdated(oldLeaf, newLeaf, imt_root, block.timestamp); @@ -645,31 +490,18 @@ contract IdentityRegistryImplV1 is * @param oldLeaf The identity commitment to remove. * @param siblingNodes An array of sibling nodes for Merkle proof generation. */ - function devRemoveCommitment( - uint256 oldLeaf, - uint256[] calldata siblingNodes - ) - external - onlyProxy - onlyOwner - { + function devRemoveCommitment(uint256 oldLeaf, uint256[] calldata siblingNodes) external onlyProxy onlyOwner { uint256 imt_root = _removeCommitment(_identityCommitmentIMT, oldLeaf, siblingNodes); _rootTimestamps[imt_root] = block.timestamp; emit DevCommitmentRemoved(oldLeaf, imt_root, block.timestamp); } - + /** * @notice (DEV) Force-adds a DSC key commitment. * @dev Callable only by the owner for testing or administration. * @param dscCommitment The DSC key commitment to add. */ - function devAddDscKeyCommitment( - uint256 dscCommitment - ) - external - onlyProxy - onlyOwner - { + function devAddDscKeyCommitment(uint256 dscCommitment) external onlyProxy onlyOwner { _isRegisteredDscKeyCommitment[dscCommitment] = true; uint256 imt_root = _addCommitment(_dscKeyCommitmentIMT, dscCommitment); uint256 index = _dscKeyCommitmentIMT._indexOf(dscCommitment); @@ -687,11 +519,7 @@ contract IdentityRegistryImplV1 is uint256 oldLeaf, uint256 newLeaf, uint256[] calldata siblingNodes - ) - external - onlyProxy - onlyOwner - { + ) external onlyProxy onlyOwner { uint256 imt_root = _updateCommitment(_dscKeyCommitmentIMT, oldLeaf, newLeaf, siblingNodes); emit DevDscKeyCommitmentUpdated(oldLeaf, newLeaf, imt_root); } @@ -702,14 +530,7 @@ contract IdentityRegistryImplV1 is * @param oldLeaf The DSC key commitment to remove. * @param siblingNodes An array of sibling nodes for Merkle proof generation. */ - function devRemoveDscKeyCommitment( - uint256 oldLeaf, - uint256[] calldata siblingNodes - ) - external - onlyProxy - onlyOwner - { + function devRemoveDscKeyCommitment(uint256 oldLeaf, uint256[] calldata siblingNodes) external onlyProxy onlyOwner { uint256 imt_root = _removeCommitment(_dscKeyCommitmentIMT, oldLeaf, siblingNodes); emit DevDscKeyCommitmentRemoved(oldLeaf, imt_root); } @@ -725,11 +546,7 @@ contract IdentityRegistryImplV1 is bytes32 attestationId, uint256 nullifier, bool state - ) - external - onlyProxy - onlyOwner - { + ) external onlyProxy onlyOwner { _nullifiers[attestationId][nullifier] = state; emit DevNullifierStateChanged(attestationId, nullifier, state); } @@ -740,14 +557,7 @@ contract IdentityRegistryImplV1 is * @param dscCommitment The DSC key commitment. * @param state The new state of the DSC key commitment (true for registered, false for not registered). */ - function devChangeDscKeyCommitmentState( - uint256 dscCommitment, - bool state - ) - external - onlyProxy - onlyOwner - { + function devChangeDscKeyCommitmentState(uint256 dscCommitment, bool state) external onlyProxy onlyOwner { _isRegisteredDscKeyCommitment[dscCommitment] = state; emit DevDscKeyCommitmentStateChanged(dscCommitment, state); } @@ -763,13 +573,7 @@ contract IdentityRegistryImplV1 is * @param commitment The commitment to add. * @return imt_root The new Merkle tree root after insertion. */ - function _addCommitment( - LeanIMTData storage imt, - uint256 commitment - ) - internal - returns(uint256 imt_root) - { + function _addCommitment(LeanIMTData storage imt, uint256 commitment) internal returns (uint256 imt_root) { imt_root = imt._insert(commitment); } @@ -787,10 +591,7 @@ contract IdentityRegistryImplV1 is uint256 oldLeaf, uint256 newLeaf, uint256[] calldata siblingNodes - ) - internal - returns(uint256 imt_root) - { + ) internal returns (uint256 imt_root) { imt_root = imt._update(oldLeaf, newLeaf, siblingNodes); } @@ -806,10 +607,7 @@ contract IdentityRegistryImplV1 is LeanIMTData storage imt, uint256 oldLeaf, uint256[] calldata siblingNodes - ) - internal - returns(uint256 imt_root) - { + ) internal returns (uint256 imt_root) { imt_root = imt._remove(oldLeaf, siblingNodes); } -} \ No newline at end of file +} diff --git a/contracts/contracts/sdk/VerifyAll.sol b/contracts/contracts/sdk/VerifyAll.sol index 0d855f560..c239e7aab 100644 --- a/contracts/contracts/sdk/VerifyAll.sol +++ b/contracts/contracts/sdk/VerifyAll.sol @@ -10,17 +10,13 @@ import {CircuitConstants} from "../constants/CircuitConstants.sol"; /// @notice A contract for verifying identity proofs and revealing selected data /// @dev This contract interacts with IdentityVerificationHub and IdentityRegistry contract VerifyAll is Ownable { - IIdentityVerificationHubV1 public hub; IIdentityRegistryV1 public registry; /// @notice Initializes the contract with hub and registry addresses /// @param hubAddress The address of the IdentityVerificationHub contract /// @param registryAddress The address of the IdentityRegistry contract - constructor( - address hubAddress, - address registryAddress - ) Ownable(msg.sender) { + constructor(address hubAddress, address registryAddress) Ownable(msg.sender) { hub = IIdentityVerificationHubV1(hubAddress); registry = IIdentityRegistryV1(registryAddress); } @@ -31,22 +27,15 @@ contract VerifyAll is Ownable { /// @param types Array of data types to reveal /// @return readableData The revealed data in readable format /// @return success Whether the verification was successful - function verifyAll ( + function verifyAll( uint256 targetRootTimestamp, IIdentityVerificationHubV1.VcAndDiscloseHubProof memory proof, IIdentityVerificationHubV1.RevealedDataType[] memory types - ) - external - view - returns ( - IIdentityVerificationHubV1.ReadableRevealedData memory, - bool, - string memory - ) - { - + ) external view returns (IIdentityVerificationHubV1.ReadableRevealedData memory, bool, string memory) { IIdentityVerificationHubV1.VcAndDiscloseVerificationResult memory result; - try hub.verifyVcAndDisclose(proof) returns (IIdentityVerificationHubV1.VcAndDiscloseVerificationResult memory _result) { + try hub.verifyVcAndDisclose(proof) returns ( + IIdentityVerificationHubV1.VcAndDiscloseVerificationResult memory _result + ) { result = _result; } catch (bytes memory lowLevelData) { string memory errorCode; @@ -71,25 +60,8 @@ contract VerifyAll is Ownable { errorCode = "INVALID_VC_AND_DISCLOSE_PROOF"; } } - IIdentityVerificationHubV1.ReadableRevealedData memory emptyData = IIdentityVerificationHubV1.ReadableRevealedData({ - issuingState: "", - name: new string[](0), - passportNumber: "", - nationality: "", - dateOfBirth: "", - gender: "", - expiryDate: "", - olderThan: 0, - passportNoOfac: 1, - nameAndDobOfac: 1, - nameAndYobOfac: 1 - }); - return (emptyData, false, errorCode); - } - - if (targetRootTimestamp != 0) { - if (registry.rootTimestamps(result.identityCommitmentRoot) != targetRootTimestamp) { - IIdentityVerificationHubV1.ReadableRevealedData memory emptyData = IIdentityVerificationHubV1.ReadableRevealedData({ + IIdentityVerificationHubV1.ReadableRevealedData memory emptyData = IIdentityVerificationHubV1 + .ReadableRevealedData({ issuingState: "", name: new string[](0), passportNumber: "", @@ -102,12 +74,33 @@ contract VerifyAll is Ownable { nameAndDobOfac: 1, nameAndYobOfac: 1 }); + return (emptyData, false, errorCode); + } + if (targetRootTimestamp != 0) { + if (registry.rootTimestamps(result.identityCommitmentRoot) != targetRootTimestamp) { + IIdentityVerificationHubV1.ReadableRevealedData memory emptyData = IIdentityVerificationHubV1 + .ReadableRevealedData({ + issuingState: "", + name: new string[](0), + passportNumber: "", + nationality: "", + dateOfBirth: "", + gender: "", + expiryDate: "", + olderThan: 0, + passportNoOfac: 1, + nameAndDobOfac: 1, + nameAndYobOfac: 1 + }); return (emptyData, false, "INVALID_TIMESTAMP"); } } uint256[3] memory revealedDataPacked = result.revealedDataPacked; - IIdentityVerificationHubV1.ReadableRevealedData memory readableData = hub.getReadableRevealedData(revealedDataPacked, types); + IIdentityVerificationHubV1.ReadableRevealedData memory readableData = hub.getReadableRevealedData( + revealedDataPacked, + types + ); return (readableData, true, ""); } @@ -125,5 +118,4 @@ contract VerifyAll is Ownable { function setRegistry(address registryAddress) external onlyOwner { registry = IIdentityRegistryV1(registryAddress); } - -} \ No newline at end of file +} diff --git a/contracts/contracts/tests/testCircuitAttributeHandler.sol b/contracts/contracts/tests/testCircuitAttributeHandler.sol index 25a84a67b..6a60a037a 100644 --- a/contracts/contracts/tests/testCircuitAttributeHandler.sol +++ b/contracts/contracts/tests/testCircuitAttributeHandler.sol @@ -58,15 +58,14 @@ contract TestCircuitAttributeHandler { bool checkNameAndDob, bool checkNameAndYob ) external pure returns (bool) { - return CircuitAttributeHandler.compareOfac( - charcodes, - checkPassportNo, - checkNameAndDob, - checkNameAndYob - ); + return CircuitAttributeHandler.compareOfac(charcodes, checkPassportNo, checkNameAndDob, checkNameAndYob); } - function testExtractStringAttribute(bytes memory charcodes, uint256 start, uint256 end) external pure returns (string memory) { + function testExtractStringAttribute( + bytes memory charcodes, + uint256 start, + uint256 end + ) external pure returns (string memory) { return CircuitAttributeHandler.extractStringAttribute(charcodes, start, end); } -} \ No newline at end of file +} diff --git a/contracts/contracts/tests/testFormatter.sol b/contracts/contracts/tests/testFormatter.sol index a41f7f31f..b1ef74e81 100644 --- a/contracts/contracts/tests/testFormatter.sol +++ b/contracts/contracts/tests/testFormatter.sol @@ -20,11 +20,9 @@ contract TestFormatter { return Formatter.fieldElementsToBytes(publicSignals); } - function testExtractForbiddenCountriesFromPacked(uint256[4] memory publicSignals) - external - pure - returns (string[40] memory) - { + function testExtractForbiddenCountriesFromPacked( + uint256[4] memory publicSignals + ) external pure returns (string[40] memory) { return Formatter.extractForbiddenCountriesFromPacked(publicSignals); } diff --git a/contracts/contracts/tests/testImplRoot.sol b/contracts/contracts/tests/testImplRoot.sol index 46406cd60..d8b16a9cb 100644 --- a/contracts/contracts/tests/testImplRoot.sol +++ b/contracts/contracts/tests/testImplRoot.sol @@ -4,16 +4,15 @@ pragma solidity 0.8.28; import {ImplRoot} from "../../contracts/upgradeable/ImplRoot.sol"; contract MockImplRoot is ImplRoot { - function exposed__ImplRoot_init() external { __ImplRoot_init(); } - function exposed__Ownable_init(address initialOwner) external initializer() { + function exposed__Ownable_init(address initialOwner) external initializer { __Ownable_init(initialOwner); } function exposed_authorizeUpgrade(address newImplementation) external { _authorizeUpgrade(newImplementation); } -} \ No newline at end of file +} diff --git a/contracts/contracts/tests/testUpgradedIdentityRegistryImplV1.sol b/contracts/contracts/tests/testUpgradedIdentityRegistryImplV1.sol index 726a112b8..4344e8983 100644 --- a/contracts/contracts/tests/testUpgradedIdentityRegistryImplV1.sol +++ b/contracts/contracts/tests/testUpgradedIdentityRegistryImplV1.sol @@ -2,15 +2,14 @@ pragma solidity 0.8.28; import {IdentityRegistryStorageV1} from "../registry/IdentityRegistryImplV1.sol"; -import { InternalLeanIMT, LeanIMTData } from "@zk-kit/imt.sol/internal/InternalLeanIMT.sol"; +import {InternalLeanIMT, LeanIMTData} from "@zk-kit/imt.sol/internal/InternalLeanIMT.sol"; /** * @title IdentityRegistryStorageV1 * @dev Abstract contract for storage layout of IdentityRegistryImplV1. * Inherits from ImplRoot to provide upgradeable functionality. */ -abstract contract UpgradedIdentityRegistryStorageV1 -{ +abstract contract UpgradedIdentityRegistryStorageV1 { bool internal _isTest; } @@ -19,12 +18,9 @@ abstract contract UpgradedIdentityRegistryStorageV1 * @notice Provides functions to register and manage identity commitments using a Merkle tree structure. * @dev Inherits from IdentityRegistryStorageV1 and implements IIdentityRegistryV1. */ -contract testUpgradedIdentityRegistryImplV1 is - IdentityRegistryStorageV1, - UpgradedIdentityRegistryStorageV1 -{ +contract testUpgradedIdentityRegistryImplV1 is IdentityRegistryStorageV1, UpgradedIdentityRegistryStorageV1 { using InternalLeanIMT for LeanIMTData; - + // ==================================================== // Events // ==================================================== @@ -45,7 +41,7 @@ contract testUpgradedIdentityRegistryImplV1 is constructor() { _disableInitializers(); } - + // ==================================================== // Initializer // ==================================================== @@ -54,12 +50,7 @@ contract testUpgradedIdentityRegistryImplV1 is * @dev Sets the hub address and initializes the UUPS upgradeable feature. * @param isTestInput The address of the identity verification hub. */ - function initialize( - bool isTestInput - ) - external - reinitializer(2) - { + function initialize(bool isTestInput) external reinitializer(2) { __ImplRoot_init(); _isTest = isTestInput; emit TestRegistryInitialized(); @@ -69,127 +60,51 @@ contract testUpgradedIdentityRegistryImplV1 is // External Functions - View & Checks // ==================================================== - function isTest() - external - virtual - onlyProxy - view - returns (bool) - { + function isTest() external view virtual onlyProxy returns (bool) { return _isTest; } - function hub() - external - virtual - onlyProxy - view - returns (address) - { + function hub() external view virtual onlyProxy returns (address) { return _hub; } - function nullifiers( - bytes32 attestationId, - uint256 nullifier - ) - external - virtual - onlyProxy - view - returns (bool) - { + function nullifiers(bytes32 attestationId, uint256 nullifier) external view virtual onlyProxy returns (bool) { return _nullifiers[attestationId][nullifier]; } - function isRegisteredDscKeyCommitment( - uint256 commitment - ) - external - virtual - onlyProxy - view - returns (bool) - { + function isRegisteredDscKeyCommitment(uint256 commitment) external view virtual onlyProxy returns (bool) { return _isRegisteredDscKeyCommitment[commitment]; } - function rootTimestamps( - uint256 root - ) - external - virtual - onlyProxy - view - returns (uint256) - { + function rootTimestamps(uint256 root) external view virtual onlyProxy returns (uint256) { return _rootTimestamps[root]; } - function checkIdentityCommitmentRoot( - uint256 root - ) - external - onlyProxy - view - returns (bool) - { + function checkIdentityCommitmentRoot(uint256 root) external view onlyProxy returns (bool) { return _rootTimestamps[root] != 0; } - function getIdentityCommitmentMerkleTreeSize() - external - onlyProxy - view - returns (uint256) - { + function getIdentityCommitmentMerkleTreeSize() external view onlyProxy returns (uint256) { return _identityCommitmentIMT.size; } - function getIdentityCommitmentMerkleRoot() - external - onlyProxy - view - returns (uint256) - { + function getIdentityCommitmentMerkleRoot() external view onlyProxy returns (uint256) { return _identityCommitmentIMT._root(); } - function getIdentityCommitmentIndex( - uint256 commitment - ) - external - onlyProxy - view - returns (uint256) - { + function getIdentityCommitmentIndex(uint256 commitment) external view onlyProxy returns (uint256) { return _identityCommitmentIMT._indexOf(commitment); } - function getPassportNoOfacRoot() - external - onlyProxy - view - returns (uint256) - { + function getPassportNoOfacRoot() external view onlyProxy returns (uint256) { return _passportNoOfacRoot; } - function getNameAndDobOfacRoot() - external - onlyProxy - view - returns (uint256) - { + function getNameAndDobOfacRoot() external view onlyProxy returns (uint256) { return _nameAndDobOfacRoot; } - function getNameAndYobOfacRoot() - external - onlyProxy - view - returns (uint256) - { + function getNameAndYobOfacRoot() external view onlyProxy returns (uint256) { return _nameAndYobOfacRoot; } @@ -197,75 +112,34 @@ contract testUpgradedIdentityRegistryImplV1 is uint256 passportNoRoot, uint256 nameAndDobRoot, uint256 nameAndYobRoot - ) - external - onlyProxy - view - returns (bool) - { - return _passportNoOfacRoot == passportNoRoot - && _nameAndDobOfacRoot == nameAndDobRoot - && _nameAndYobOfacRoot == nameAndYobRoot; + ) external view onlyProxy returns (bool) { + return + _passportNoOfacRoot == passportNoRoot && + _nameAndDobOfacRoot == nameAndDobRoot && + _nameAndYobOfacRoot == nameAndYobRoot; } - function getCscaRoot() - external - onlyProxy - view - returns (uint256) - { + function getCscaRoot() external view onlyProxy returns (uint256) { return _cscaRoot; } - function checkCscaRoot( - uint256 root - ) - external - onlyProxy - view - returns (bool) - { + function checkCscaRoot(uint256 root) external view onlyProxy returns (bool) { return _cscaRoot == root; } - function getDscKeyCommitmentMerkleRoot() - external - onlyProxy - view - returns (uint256) - { + function getDscKeyCommitmentMerkleRoot() external view onlyProxy returns (uint256) { return _dscKeyCommitmentIMT._root(); } - function checkDscKeyCommitmentMerkleRoot( - uint256 root - ) - external - onlyProxy - view - returns (bool) - { + function checkDscKeyCommitmentMerkleRoot(uint256 root) external view onlyProxy returns (bool) { return _dscKeyCommitmentIMT._root() == root; } - function getDscKeyCommitmentTreeSize() - external - onlyProxy - view - returns (uint256) - { + function getDscKeyCommitmentTreeSize() external view onlyProxy returns (uint256) { return _dscKeyCommitmentIMT.size; } - function getDscKeyCommitmentIndex( - uint256 commitment - ) - external - onlyProxy - view - returns (uint256) - { + function getDscKeyCommitmentIndex(uint256 commitment) external view onlyProxy returns (uint256) { return _dscKeyCommitmentIMT._indexOf(commitment); } - -} \ No newline at end of file +} diff --git a/contracts/contracts/tests/testUpgradedIdentityVerificationHubImplV1.sol b/contracts/contracts/tests/testUpgradedIdentityVerificationHubImplV1.sol index 1b3cd81d9..99f765279 100644 --- a/contracts/contracts/tests/testUpgradedIdentityVerificationHubImplV1.sol +++ b/contracts/contracts/tests/testUpgradedIdentityVerificationHubImplV1.sol @@ -3,8 +3,7 @@ pragma solidity 0.8.28; import {IdentityVerificationHubStorageV1} from "../IdentityVerificationHubImplV1.sol"; -abstract contract UpgradedIdentityVerificationHubStorageV1 -{ +abstract contract UpgradedIdentityVerificationHubStorageV1 { bool internal _isTest; } @@ -13,11 +12,10 @@ abstract contract UpgradedIdentityVerificationHubStorageV1 * @notice Implementation contract for the Identity Verification Hub. * @dev Provides functions for registering commitments and verifying groth16 proofs and inclusion proofs. */ -contract testUpgradedIdentityVerificationHubImplV1 is +contract testUpgradedIdentityVerificationHubImplV1 is IdentityVerificationHubStorageV1, UpgradedIdentityVerificationHubStorageV1 { - // ==================================================== // Events // ==================================================== @@ -48,12 +46,7 @@ contract testUpgradedIdentityVerificationHubImplV1 is * @dev Sets the registry, VC and Disclose circuit verifier address, register circuit verifiers, and DSC circuit verifiers. * @param isTestInput Boolean value which shows it is test or not */ - function initialize( - bool isTestInput - ) - external - reinitializer(3) - { + function initialize(bool isTestInput) external reinitializer(3) { __ImplRoot_init(); _isTest = isTestInput; emit TestHubInitialized(); @@ -63,58 +56,23 @@ contract testUpgradedIdentityVerificationHubImplV1 is // External View Functions // ==================================================== - function isTest() - external - virtual - onlyProxy - view - returns (bool) - { + function isTest() external view virtual onlyProxy returns (bool) { return _isTest; } - function registry() - external - virtual - onlyProxy - view - returns (address) - { + function registry() external view virtual onlyProxy returns (address) { return _registry; } - function vcAndDiscloseCircuitVerifier() - external - virtual - onlyProxy - view - returns (address) - { + function vcAndDiscloseCircuitVerifier() external view virtual onlyProxy returns (address) { return _vcAndDiscloseCircuitVerifier; } - - function sigTypeToRegisterCircuitVerifiers( - uint256 typeId - ) - external - virtual - onlyProxy - view - returns (address) - { + + function sigTypeToRegisterCircuitVerifiers(uint256 typeId) external view virtual onlyProxy returns (address) { return _sigTypeToRegisterCircuitVerifiers[typeId]; } - function sigTypeToDscCircuitVerifiers( - uint256 typeId - ) - external - virtual - onlyProxy - view - returns (address) - { + function sigTypeToDscCircuitVerifiers(uint256 typeId) external view virtual onlyProxy returns (address) { return _sigTypeToDscCircuitVerifiers[typeId]; } - -} \ No newline at end of file +} diff --git a/contracts/contracts/upgradeable/ImplRoot.sol b/contracts/contracts/upgradeable/ImplRoot.sol index 12c6ebfc6..cad1bd214 100644 --- a/contracts/contracts/upgradeable/ImplRoot.sol +++ b/contracts/contracts/upgradeable/ImplRoot.sol @@ -11,10 +11,9 @@ import {Ownable2StepUpgradeable} from "@openzeppelin/contracts-upgradeable/acces * Serves as a base for upgradeable implementations. */ abstract contract ImplRoot is UUPSUpgradeable, Ownable2StepUpgradeable { - // Reserved storage space to allow for layout changes in the future. uint256[50] private __gap; - + /** * @dev Initializes the contract by setting the deployer as the initial owner and initializing * the UUPS proxy functionality. @@ -27,18 +26,12 @@ abstract contract ImplRoot is UUPSUpgradeable, Ownable2StepUpgradeable { } /** - * @dev Authorizes an upgrade to a new implementation. + * @dev Authorizes an upgrade to a new implementation. * Requirements: * - Must be called through a proxy. * - Caller must be the contract owner. * * @param newImplementation The address of the new implementation contract. */ - function _authorizeUpgrade(address newImplementation) - internal - virtual - override - onlyProxy - onlyOwner - {} + function _authorizeUpgrade(address newImplementation) internal virtual override onlyProxy onlyOwner {} } diff --git a/contracts/contracts/upgradeable/ProxyRoot.sol b/contracts/contracts/upgradeable/ProxyRoot.sol index 1ca98f2e9..94de15809 100644 --- a/contracts/contracts/upgradeable/ProxyRoot.sol +++ b/contracts/contracts/upgradeable/ProxyRoot.sol @@ -15,4 +15,4 @@ contract ProxyRoot is ERC1967Proxy { * @param _data The initialization calldata to be passed to the implementation contract. */ constructor(address _logic, bytes memory _data) ERC1967Proxy(_logic, _data) {} -} \ No newline at end of file +} diff --git a/contracts/contracts/utils/PCR0Manager.sol b/contracts/contracts/utils/PCR0Manager.sol index e00b4ab81..b9e326bc1 100644 --- a/contracts/contracts/utils/PCR0Manager.sol +++ b/contracts/contracts/utils/PCR0Manager.sol @@ -56,9 +56,7 @@ contract PCR0Manager is Ownable { * @param pcr0 The PCR0 value (must be exactly 48 bytes). * @return exists True if the PCR0 entry is set, false otherwise. */ - function isPCR0Set( - bytes calldata pcr0 - ) external view returns (bool exists) { + function isPCR0Set(bytes calldata pcr0) external view returns (bool exists) { require(pcr0.length == 48, "PCR0 must be 48 bytes"); bytes32 key = keccak256(pcr0); return pcr0Mapping[key]; diff --git a/contracts/contracts/verifiers/disclose/Verifier_vc_and_disclose.sol b/contracts/contracts/verifiers/disclose/Verifier_vc_and_disclose.sol index 4ae22dfeb..afb23580f 100644 --- a/contracts/contracts/verifiers/disclose/Verifier_vc_and_disclose.sol +++ b/contracts/contracts/verifiers/disclose/Verifier_vc_and_disclose.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_vc_and_disclose { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,81 +42,84 @@ contract Verifier_vc_and_disclose { uint256 constant deltay1 = 11327385974519668968032322736085307141713806429709421661182708424466117238997; uint256 constant deltay2 = 10012305292867396754099447814288164358641801402945324446509796861150789568449; - uint256 constant IC0x = 5645809423132108234526155064520926563161700247800213537205723921444703247217; uint256 constant IC0y = 19273662370473753554670561090991166814029325379251212873103161241607581584566; - + uint256 constant IC1x = 1797669655256453130371220220781770764170539267531220862021381942885591828064; uint256 constant IC1y = 7001586812758904198735882543207168343594801214486108350714954778228545102578; - + uint256 constant IC2x = 16151498656936517849109903512557528108224465357388552905088955276567940069352; uint256 constant IC2y = 21290383973737261995392203381388245229530591066391887542266051339172122980610; - + uint256 constant IC3x = 13594306613618663328469180492848909213054943576045786330757072453957461211429; uint256 constant IC3y = 17106191422608317011071228510210313119098258902423951406450677354622457559954; - + uint256 constant IC4x = 10540562137042439306820327362182488961461252811713311037793556389563213988367; uint256 constant IC4y = 13390475227407915257414653696902926958379562466610252657969000491800379839832; - + uint256 constant IC5x = 14047770242565207987849727178067237797960577221760083987091292937338321362192; uint256 constant IC5y = 4607949095956681151208754684340954434065140599773002127904735754740923457290; - + uint256 constant IC6x = 533605635141604091468837890450980097899976907187175033882725759869648895139; uint256 constant IC6y = 5121343922882143859016572020277997629769211588320816684559275427523086391260; - + uint256 constant IC7x = 20950810023595074636645188401126777396931698429970632510329364260508114254649; uint256 constant IC7y = 15363004416976419598006096303962722739509622870059250392680729963552585027821; - + uint256 constant IC8x = 21141369375300299590026264437282327654307650673045833038665014396619386405360; uint256 constant IC8y = 13568060724977289928853639950012597657294256347073414147013319159524409681097; - + uint256 constant IC9x = 12070388761580959399164669209709461362321643934983690375125147552128464963953; uint256 constant IC9y = 13122752493285998578654222539640165097582774244857666169217998263040175338511; - + uint256 constant IC10x = 3155043394395334396684505740101602478801121319174204325455833353483450426603; uint256 constant IC10y = 4001903316495741471727515697485538626849994288595198286197670853000376952608; - + uint256 constant IC11x = 11580817845413390940484294910470637940735781669534450285058891649231298055438; uint256 constant IC11y = 11745932694467884175811632165252866594271326601859010100723177984958589451650; - + uint256 constant IC12x = 2881070016945796223001080172114503185514285867729144217331063554991484954126; uint256 constant IC12y = 14167304337176286668786874852785788018624401891816801704956527547500195848883; - + uint256 constant IC13x = 18883405056778717265600091502443498671078474036444505009504491224347768060512; uint256 constant IC13y = 14812978301212555409657902542346841425786957827465950093762300162318026670295; - + uint256 constant IC14x = 6577157458950343654298030929658788314638268827611749219037795310784295524862; uint256 constant IC14y = 8429244719525290744211189219610479430815666050697340325468837559505312383856; - + uint256 constant IC15x = 16374040167465027877148927308323868423523506482577951143585975183285308096400; uint256 constant IC15y = 19848062855727074979497070827222518475377208981773894131613945308293152037386; - + uint256 constant IC16x = 5369066939278676378968646518060321291123419641615507226693819438606229259727; uint256 constant IC16y = 16729550092204417517172374565729920596490405185877796985933449527255634235308; - + uint256 constant IC17x = 14649963317278229594447647740414141466603479012579221101904384047636220514768; uint256 constant IC17y = 14247491789479084970737272226075028063019925997471420682570205007884944759477; - + uint256 constant IC18x = 11902572680644837317532839083230381253517912078611490650871537384207738042092; uint256 constant IC18y = 20016771317149607035640286896673339585314902815531231665552693497445627584165; - + uint256 constant IC19x = 13662298766996950339241997202544532479906071787308616133742838930447382591478; uint256 constant IC19y = 20739438792451670425639845258461859578645504245239453508387345820702014104428; - + uint256 constant IC20x = 11743378744218879600087835709388165328591499404152675849147563493614332998904; uint256 constant IC20y = 4541034768018638352186080395830990298417361588467317129716290912950603785160; - + uint256 constant IC21x = 11482551398584236834849590479781862497389279604940066814152820783286286153167; uint256 constant IC21y = 12585642819692696296358219602072676911890723261269077558436703827603489236308; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[21] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[21] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -124,7 +127,7 @@ contract Verifier_vc_and_disclose { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -159,49 +162,48 @@ contract Verifier_vc_and_disclose { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - + g1_mulAccC(_pVk, IC4x, IC4y, calldataload(add(pubSignals, 96))) - + g1_mulAccC(_pVk, IC5x, IC5y, calldataload(add(pubSignals, 128))) - + g1_mulAccC(_pVk, IC6x, IC6y, calldataload(add(pubSignals, 160))) - + g1_mulAccC(_pVk, IC7x, IC7y, calldataload(add(pubSignals, 192))) - + g1_mulAccC(_pVk, IC8x, IC8y, calldataload(add(pubSignals, 224))) - + g1_mulAccC(_pVk, IC9x, IC9y, calldataload(add(pubSignals, 256))) - + g1_mulAccC(_pVk, IC10x, IC10y, calldataload(add(pubSignals, 288))) - + g1_mulAccC(_pVk, IC11x, IC11y, calldataload(add(pubSignals, 320))) - + g1_mulAccC(_pVk, IC12x, IC12y, calldataload(add(pubSignals, 352))) - + g1_mulAccC(_pVk, IC13x, IC13y, calldataload(add(pubSignals, 384))) - + g1_mulAccC(_pVk, IC14x, IC14y, calldataload(add(pubSignals, 416))) - + g1_mulAccC(_pVk, IC15x, IC15y, calldataload(add(pubSignals, 448))) - + g1_mulAccC(_pVk, IC16x, IC16y, calldataload(add(pubSignals, 480))) - + g1_mulAccC(_pVk, IC17x, IC17y, calldataload(add(pubSignals, 512))) - + g1_mulAccC(_pVk, IC18x, IC18y, calldataload(add(pubSignals, 544))) - + g1_mulAccC(_pVk, IC19x, IC19y, calldataload(add(pubSignals, 576))) - + g1_mulAccC(_pVk, IC20x, IC20y, calldataload(add(pubSignals, 608))) - + g1_mulAccC(_pVk, IC21x, IC21y, calldataload(add(pubSignals, 640))) - // -A mstore(_pPairing, calldataload(pA)) @@ -227,7 +229,6 @@ contract Verifier_vc_and_disclose { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -244,7 +245,6 @@ contract Verifier_vc_and_disclose { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -254,55 +254,54 @@ contract Verifier_vc_and_disclose { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - + checkField(calldataload(add(_pubSignals, 96))) - + checkField(calldataload(add(_pubSignals, 128))) - + checkField(calldataload(add(_pubSignals, 160))) - + checkField(calldataload(add(_pubSignals, 192))) - + checkField(calldataload(add(_pubSignals, 224))) - + checkField(calldataload(add(_pubSignals, 256))) - + checkField(calldataload(add(_pubSignals, 288))) - + checkField(calldataload(add(_pubSignals, 320))) - + checkField(calldataload(add(_pubSignals, 352))) - + checkField(calldataload(add(_pubSignals, 384))) - + checkField(calldataload(add(_pubSignals, 416))) - + checkField(calldataload(add(_pubSignals, 448))) - + checkField(calldataload(add(_pubSignals, 480))) - + checkField(calldataload(add(_pubSignals, 512))) - + checkField(calldataload(add(_pubSignals, 544))) - + checkField(calldataload(add(_pubSignals, 576))) - + checkField(calldataload(add(_pubSignals, 608))) - + checkField(calldataload(add(_pubSignals, 640))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_ecdsa_brainpoolP256r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_ecdsa_brainpoolP256r1.sol index 3be1640da..f8a57fb3a 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_ecdsa_brainpoolP256r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_ecdsa_brainpoolP256r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha1_ecdsa_brainpoolP256r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha1_ecdsa_brainpoolP256r1 { uint256 constant deltay1 = 17358074359516820567886963253083730754218121289514382698389644314857108532365; uint256 constant deltay2 = 17847472407947487752691527368222893047739716651050784182328983734421006293675; - uint256 constant IC0x = 5393250947825600017034594097684527686937701214367414304055479197751874088030; uint256 constant IC0y = 12743141085881515208211444893873526784081968137100496383444454251322551211985; - + uint256 constant IC1x = 10514854796363697297569362261835279316630400942002767803921572203129303152326; uint256 constant IC1y = 1925130313540533490506552085039235567072217015193498811482669066605751206996; - + uint256 constant IC2x = 13643299466840868611336555216971795865784486256260896870186827756722920150974; uint256 constant IC2y = 20031729898069918506238105181470744579329641989307020151184529733341690802885; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha1_ecdsa_brainpoolP256r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha1_ecdsa_brainpoolP256r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha1_ecdsa_brainpoolP256r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha1_ecdsa_brainpoolP256r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha1_ecdsa_brainpoolP256r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_ecdsa_secp256r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_ecdsa_secp256r1.sol index 0dd3f550e..5501bf5ef 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_ecdsa_secp256r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_ecdsa_secp256r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha1_ecdsa_secp256r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; + uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; + uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; + uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; + uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; + uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha1_ecdsa_secp256r1 { uint256 constant deltay1 = 3390456600443455506302148812517000321496337766593349757273547140119846451145; uint256 constant deltay2 = 2683709453415812541600943744993443543337313128850472580051355886800639784468; - uint256 constant IC0x = 12675676047730170209192964659628979792421583884835081061924340503292148118580; uint256 constant IC0y = 8005429490912458496906425839158171340037163354900427604245368710533256420277; - + uint256 constant IC1x = 13193321346355881915958099639943008897517981868830729558074615648670520439544; uint256 constant IC1y = 17870182800722312867297093464655968487190506046659071779290715428562669992693; - + uint256 constant IC2x = 3886285320844557718123920951668542008337481352970679360571120460620571049685; uint256 constant IC2y = 17415151548883447323439745357012235200330074749013787777992538418692677126646; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha1_ecdsa_secp256r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha1_ecdsa_secp256r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha1_ecdsa_secp256r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha1_ecdsa_secp256r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha1_ecdsa_secp256r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_rsa_65537_4096.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_rsa_65537_4096.sol index a961cdcef..2d1fb8fb2 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_rsa_65537_4096.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha1_rsa_65537_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha1_rsa_65537_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha1_rsa_65537_4096 { uint256 constant deltay1 = 12386861633939357897311726220181767463730553921920146231142618441123850504498; uint256 constant deltay2 = 20674470883201731689984003870617302131050815771343007030459371218911924891868; - uint256 constant IC0x = 19441255926750545468944197116731261414848766598030018894405396352503089003164; uint256 constant IC0y = 15758814426349860038201583006832227885235721848718900437115777674827804990280; - + uint256 constant IC1x = 10417978209792236210293888779006003847323452503588218449033164070712168975609; uint256 constant IC1y = 10346660830455043902305284201555484334037542391965487678647332366643675343646; - + uint256 constant IC2x = 4394258923847165352620826784124810658800222064222876328666862381090940769588; uint256 constant IC2y = 19075507518746698810956333568507654968578908476359054856477836730424433683865; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha1_rsa_65537_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha1_rsa_65537_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha1_rsa_65537_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha1_rsa_65537_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha1_rsa_65537_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_brainpoolP256r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_brainpoolP256r1.sol index 727635033..5dcddcf3e 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_brainpoolP256r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_brainpoolP256r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_ecdsa_brainpoolP256r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP256r1 { uint256 constant deltay1 = 10676263205742724055795903745183410124676856230246162639796185570871828571842; uint256 constant deltay2 = 5765951428532505799282159403858152905631348236021397710413408355430143979177; - uint256 constant IC0x = 15367206121839955762011823176432875107209278826038812451160502020912672517809; uint256 constant IC0y = 21041512010143355829864892490387365789381441587680866631795817779631552157379; - + uint256 constant IC1x = 13491594000860333403409728050591279594321593348934521148282685322678157005802; uint256 constant IC1y = 111168464183420135602775825900785322345837453044710078090288369588249275324; - + uint256 constant IC2x = 13658331438879300214497268120729163368666540297060972204419000979008026097718; uint256 constant IC2y = 20379908478303656704441112836919060185289193632233027919281111997672857211682; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP256r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP256r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP256r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP256r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP256r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_brainpoolP384r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_brainpoolP384r1.sol index 463f4fe00..3ddd63133 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_brainpoolP384r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_brainpoolP384r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_ecdsa_brainpoolP384r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP384r1 { uint256 constant deltay1 = 6889184159765420951789007505474196844250709203374834149407655944002134144724; uint256 constant deltay2 = 1966263721788283447467356361246921957144249784577408980069297668772679638312; - uint256 constant IC0x = 659580088998578070030981389513074306430378313664542931151252973393681626386; uint256 constant IC0y = 15847497078695440584225276689193018348032687730924578011825150388408764804768; - + uint256 constant IC1x = 21193150887587401583734730471147635346010384352640028637879272340826407561623; uint256 constant IC1y = 4335578117508572478842733173142116229350958709149315332942355277584504377334; - + uint256 constant IC2x = 19337579933634766979148936619938139523936041901664035344355521113670520489071; uint256 constant IC2y = 20973272345953147783510881552260259207464823597684557274545396051166816559680; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP384r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP384r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP384r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP384r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_ecdsa_brainpoolP384r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp256r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp256r1.sol index 01553c565..a751b9d3f 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp256r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp256r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_ecdsa_secp256r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_ecdsa_secp256r1 { uint256 constant deltay1 = 1379990108520784981499684190353513521686894359798300105485844449527113172532; uint256 constant deltay2 = 16032227002624596941901664869778919446531437354171143943844739013887015790377; - uint256 constant IC0x = 12230279487075355588146232877411380641395694907111257837299763475907667270301; uint256 constant IC0y = 6665239488894449502473370954745820351617517323389685182308103006269196795762; - + uint256 constant IC1x = 13491594000860333403409728050591279594321593348934521148282685322678157005802; uint256 constant IC1y = 111168464183420135602775825900785322345837453044710078090288369588249275324; - + uint256 constant IC2x = 13658331438879300214497268120729163368666540297060972204419000979008026097718; uint256 constant IC2y = 20379908478303656704441112836919060185289193632233027919281111997672857211682; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_ecdsa_secp256r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_ecdsa_secp256r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_ecdsa_secp256r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_ecdsa_secp256r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_ecdsa_secp256r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp384r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp384r1.sol index 2d9d62cbc..202a2404e 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp384r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp384r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_ecdsa_secp384r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_ecdsa_secp384r1 { uint256 constant deltay1 = 13512628501729381786391242403503084146555269333604181607408712699616544867996; uint256 constant deltay2 = 16722612627662957493583650570582460390230415127323126464445453467663398955195; - uint256 constant IC0x = 18191126408084701504224562638938466976633511856094029564921061288421096529536; uint256 constant IC0y = 7874170387655554596704243322916448411301165813842964589259974876466852751248; - + uint256 constant IC1x = 21193150887587401583734730471147635346010384352640028637879272340826407561623; uint256 constant IC1y = 4335578117508572478842733173142116229350958709149315332942355277584504377334; - + uint256 constant IC2x = 19337579933634766979148936619938139523936041901664035344355521113670520489071; uint256 constant IC2y = 20973272345953147783510881552260259207464823597684557274545396051166816559680; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_ecdsa_secp384r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_ecdsa_secp384r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_ecdsa_secp384r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_ecdsa_secp384r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_ecdsa_secp384r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp521r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp521r1.sol index eb0f01cac..2075c1baa 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp521r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_ecdsa_secp521r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_ecdsa_secp521r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; + uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; + uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; + uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; + uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; + uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_ecdsa_secp521r1 { uint256 constant deltay1 = 968125866770846796808710939585846643817058108093372960570701629910784318864; uint256 constant deltay2 = 12216864206212511235315976798082889872627544441390643890886155153587471762186; - uint256 constant IC0x = 11198407869990430604822080005647844132231169087019364625207841772083886082756; uint256 constant IC0y = 13774799428851210074159336555321647634507660666641475242236156913076712041741; - + uint256 constant IC1x = 18127585251129548982798743775509646040146824771883849376184488771237227369472; uint256 constant IC1y = 12012396820154965172043684747339519822260284246794442681353248417864489833145; - + uint256 constant IC2x = 7608609333225637846753797474786477234041135378858688651993341996547239218662; uint256 constant IC2y = 13036970020621774119816858757427303597665775583602766779799942821487978394693; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_ecdsa_secp521r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_ecdsa_secp521r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_ecdsa_secp521r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_ecdsa_secp521r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_ecdsa_secp521r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsa_65537_4096.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsa_65537_4096.sol index 2c94f3d25..b1f92fe5d 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsa_65537_4096.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsa_65537_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_rsa_65537_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_rsa_65537_4096 { uint256 constant deltay1 = 661501627404154996169608794002694935021757801103289852114117015566911946329; uint256 constant deltay2 = 16567452430156862387837146752441453364293918383742739848718397860115822800064; - uint256 constant IC0x = 16241005142482247661355611805985713223142625546320321652729411817292725880336; uint256 constant IC0y = 3849621357564233957000975509069645451659363466776730319973246136787524980317; - + uint256 constant IC1x = 8352778648791263369503966033632779420798087559812079395669202372333678178104; uint256 constant IC1y = 5637663102630412183678496048776811555521187255440600874467344574229490812411; - + uint256 constant IC2x = 17687125118780526381226454443022323594075307431677202777564475001260807144360; uint256 constant IC2y = 14674940982284194393439442374112009934497090740281796410892352815734408931543; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_rsa_65537_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_rsa_65537_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_rsa_65537_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_rsa_65537_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_rsa_65537_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_3_32_3072.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_3_32_3072.sol index 334dda34c..6c392ee2b 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_3_32_3072.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_3_32_3072.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_rsapss_3_32_3072 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_rsapss_3_32_3072 { uint256 constant deltay1 = 232140573053947840553411220443388261235372949489202414188606995434296840450; uint256 constant deltay2 = 8130092547923778131965928343347244161930368940161259856055262342565208619784; - uint256 constant IC0x = 12620464585052290819007856763660336208940278196659572856453355517783047375742; uint256 constant IC0y = 3390602569146793076585074263480269117585089933082768513956969996350087851372; - + uint256 constant IC1x = 2185708085199591083273326716936718570815950593570414890234854265905865839474; uint256 constant IC1y = 10862432198472964463816618245757112732031601535229097320367073608750311929625; - + uint256 constant IC2x = 2489498112724333902281234525518992117856181811211455677336589248443139008958; uint256 constant IC2y = 10377122056032769734282101693368444643449184346801692898595672266480707718599; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_rsapss_3_32_3072 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_rsapss_3_32_3072 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_rsapss_3_32_3072 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_rsapss_3_32_3072 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_rsapss_3_32_3072 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_65537_32_3072.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_65537_32_3072.sol index c94fd1d3e..3eec300e5 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_65537_32_3072.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_65537_32_3072.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_rsapss_65537_32_3072 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_rsapss_65537_32_3072 { uint256 constant deltay1 = 3452760924868488115787557603097061457224840730939685141249091937251492206223; uint256 constant deltay2 = 9423633604022314255524124098880883774245557038013638234906364773514027500607; - uint256 constant IC0x = 14813474503207570046610982310967746269243544059234641765135216737888053804829; uint256 constant IC0y = 9154691151039599375957188306571890456577516100636751566387645654267738411601; - + uint256 constant IC1x = 2764163313266009072057146860312810475115611108192406932118003881831423836973; uint256 constant IC1y = 19545020101052691117141309405141028493539208082424764278036823972884259054640; - + uint256 constant IC2x = 10526229662163874368857932991034397082279427227544621549031532129140736236429; uint256 constant IC2y = 3011706903789493036487088756766963655549402409867173019894262834743320055985; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_rsapss_65537_32_3072 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_rsapss_65537_32_3072 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_rsapss_65537_32_3072 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_rsapss_65537_32_3072 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_rsapss_65537_32_3072 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_65537_32_4096.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_65537_32_4096.sol index 8b647a6f8..9ae28766d 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_65537_32_4096.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsapss_65537_32_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha256_rsapss_65537_32_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha256_rsapss_65537_32_4096 { uint256 constant deltay1 = 2589398613433727282285672702070166671377906963271015685181070150452765350638; uint256 constant deltay2 = 4549130548838856553572072257366600539979637374865368325817346592762994580325; - uint256 constant IC0x = 10777640084867471361146393097597090893654888869164898377029432359502626112469; uint256 constant IC0y = 20494567130868896678721094122076931742895456629840331660690065277736751914622; - + uint256 constant IC1x = 19201556443158676692189491419176576922349056990514229299010675855554920668808; uint256 constant IC1y = 8587660010847902995115369419819188141349854489350537948452533797376571629024; - + uint256 constant IC2x = 4784178454546895061300143369090412817442880785841947337501409752122515197376; uint256 constant IC2y = 9279502414267368124275170396046179750616701209127504670483264465302019374739; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha256_rsapss_65537_32_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha256_rsapss_65537_32_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha256_rsapss_65537_32_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha256_rsapss_65537_32_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha256_rsapss_65537_32_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_brainpoolP384r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_brainpoolP384r1.sol index 8ed30881d..f4cd8f662 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_brainpoolP384r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_brainpoolP384r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha384_ecdsa_brainpoolP384r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP384r1 { uint256 constant deltay1 = 2069564818639872727764109028571692796079865136168643667520460726036679827340; uint256 constant deltay2 = 10931236091611661445812279018578580556292434706798406928566475215591616175333; - uint256 constant IC0x = 3078796548910792124867521966471565765478476660809266356296707871992775959653; uint256 constant IC0y = 6800666731786189648626735200695616790848337999099082477128772951414448347754; - + uint256 constant IC1x = 16251623726618682507268092714405322890177547973127006480412505399660459049309; uint256 constant IC1y = 1325569571213494511088961273289087278348163148790504942193097805327290721900; - + uint256 constant IC2x = 6135759906556602512033221677791515863312102500467760742997691814407836834208; uint256 constant IC2y = 8340907402047374494050668129923237269291489014758614848102437858941083505729; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP384r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP384r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP384r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP384r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP384r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_brainpoolP512r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_brainpoolP512r1.sol index 6957d4086..c36d067fb 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_brainpoolP512r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_brainpoolP512r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha384_ecdsa_brainpoolP512r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP512r1 { uint256 constant deltay1 = 16047974943909860300676356846359424106067013301701903269259394127906204387924; uint256 constant deltay2 = 19121513428213240116044362882588137076351549644308466259528321350439646572263; - uint256 constant IC0x = 7873767668004917131331802256306079363018497214917800406656003818258696939352; uint256 constant IC0y = 14912976041983106474346819001420266588695308519687724079672778493226556096333; - + uint256 constant IC1x = 4852604638607648213334720160588381103064185393513751826938979884897144830675; uint256 constant IC1y = 3477474541202451761549969552535751441286210351780330568982051126043768194976; - + uint256 constant IC2x = 8747441738906818716672964476834702185117504770235935488924766630345322944183; uint256 constant IC2y = 18164498138633665708832988193754261643195939997946514564956248753295561758554; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP512r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP512r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP512r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP512r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha384_ecdsa_brainpoolP512r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_secp384r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_secp384r1.sol index e8d1711f9..6a9868032 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_secp384r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha384_ecdsa_secp384r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha384_ecdsa_secp384r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha384_ecdsa_secp384r1 { uint256 constant deltay1 = 3439375804488391682047032793111742890384740981260877667704217117698837635540; uint256 constant deltay2 = 10922495998532240778177754781915017080119363533174316459909222472814843353831; - uint256 constant IC0x = 15428527398346470570204225423347884116167911703577531010770592316532112978289; uint256 constant IC0y = 11394444257441940827867166510282185266944605704751191013112365153909119560219; - + uint256 constant IC1x = 16251623726618682507268092714405322890177547973127006480412505399660459049309; uint256 constant IC1y = 1325569571213494511088961273289087278348163148790504942193097805327290721900; - + uint256 constant IC2x = 6135759906556602512033221677791515863312102500467760742997691814407836834208; uint256 constant IC2y = 8340907402047374494050668129923237269291489014758614848102437858941083505729; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha384_ecdsa_secp384r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha384_ecdsa_secp384r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha384_ecdsa_secp384r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha384_ecdsa_secp384r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha384_ecdsa_secp384r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_ecdsa_brainpoolP512r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_ecdsa_brainpoolP512r1.sol index d950eba0d..c77667e31 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_ecdsa_brainpoolP512r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_ecdsa_brainpoolP512r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha512_ecdsa_brainpoolP512r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; + uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; + uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; + uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; + uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; + uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha512_ecdsa_brainpoolP512r1 { uint256 constant deltay1 = 12369278861826334826775785697613986489421427981532861159941565055302380388435; uint256 constant deltay2 = 268218501938740843576755870688043856015430017503150289273886004818951340211; - uint256 constant IC0x = 2854580057122758363137747486193301686434303619633504875611831707366593193268; uint256 constant IC0y = 161152799478229153815090373143900568223205432805517132728553706296506229632; - + uint256 constant IC1x = 10581328066353360672004779124451298057967563611528666503152999442178364250207; uint256 constant IC1y = 21070158555862491580937045217249443996037523854845662139952858528560360285345; - + uint256 constant IC2x = 6535621112246865230629050883801747388199012560026269297051551123854305849670; uint256 constant IC2y = 12613639586408767324115549737218218464694013359987071410410390868145511841392; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha512_ecdsa_brainpoolP512r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha512_ecdsa_brainpoolP512r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha512_ecdsa_brainpoolP512r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha512_ecdsa_brainpoolP512r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha512_ecdsa_brainpoolP512r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_ecdsa_secp521r1.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_ecdsa_secp521r1.sol index dcdf521a9..13ad03b77 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_ecdsa_secp521r1.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_ecdsa_secp521r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha512_ecdsa_secp521r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; + uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; + uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; + uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; + uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; + uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha512_ecdsa_secp521r1 { uint256 constant deltay1 = 12112251966035714986038310379728868813344813567575772425184620994375435183493; uint256 constant deltay2 = 541069664758689108623530630690631010640418421812375414721343442872115937402; - uint256 constant IC0x = 136910311248568363820473562407939112717019551412068446334589064796761238234; uint256 constant IC0y = 14761093221964254612087739097195844172438739963995752455378640347842923505631; - + uint256 constant IC1x = 14447863318056301271860386878687738607655490531247166798405604042500135631279; uint256 constant IC1y = 11446576007344781410709246372588846223796059093966566576749323356136248268666; - + uint256 constant IC2x = 14358689694998711607953028013988003416714328323807188343803787983254880315583; uint256 constant IC2y = 11617460142005906950398539783051988683143041496653951656062385487051296621592; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha512_ecdsa_secp521r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha512_ecdsa_secp521r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha512_ecdsa_secp521r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha512_ecdsa_secp521r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha512_ecdsa_secp521r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_rsa_65537_4096.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_rsa_65537_4096.sol index de2bcc411..a174f9b03 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_rsa_65537_4096.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_rsa_65537_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha512_rsa_65537_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha512_rsa_65537_4096 { uint256 constant deltay1 = 21428515931464385620730182368968406916666024874675101194599111378408011047428; uint256 constant deltay2 = 1558724681363422124783587676312168410700012697885378202020602107711575601861; - uint256 constant IC0x = 8095362675719160713631337478379784798399194783598795655898223841598252282668; uint256 constant IC0y = 6439154585539636799954577345503253289769574438600314903172693070772761377678; - + uint256 constant IC1x = 13684650490658552646080842421267275883804013486458038403093889479842575945955; uint256 constant IC1y = 1175990068401163295765503425210475666399945678130089394509100947713002365508; - + uint256 constant IC2x = 3599149666568952753127446987051032893129278914420714886060131651834276339909; uint256 constant IC2y = 15474376648113943403208232183870381739764572044602735134638863326991559807772; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha512_rsa_65537_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha512_rsa_65537_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha512_rsa_65537_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha512_rsa_65537_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha512_rsa_65537_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_rsapss_65537_64_4096.sol b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_rsapss_65537_64_4096.sol index 7380d46c9..c98eb65d6 100644 --- a/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_rsapss_65537_64_4096.sol +++ b/contracts/contracts/verifiers/dsc/Verifier_dsc_sha512_rsapss_65537_64_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_dsc_sha512_rsapss_65537_64_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,24 +42,27 @@ contract Verifier_dsc_sha512_rsapss_65537_64_4096 { uint256 constant deltay1 = 14143847869780845305359522342602190877307021059040613866307785597405878613945; uint256 constant deltay2 = 11794579662045030403362807154209218712532002665441792443688263863248294733806; - uint256 constant IC0x = 9696026138342026395279592597616245033004914829363120240538663976676310016503; uint256 constant IC0y = 1041019786294196872070965112981064093687515225465385286539234086481491269678; - + uint256 constant IC1x = 14805748700580410078435159536377520731405877412990087045642402017205296139722; uint256 constant IC1y = 7465807272236732895023727447789825478319979043512228376237998245795981843304; - + uint256 constant IC2x = 10054837955581817730135713476914697791847601592942603989577247562800734740144; uint256 constant IC2y = 20016446798323781782121888846141370599179508808492367607695725852906963635076; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[2] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[2] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -67,7 +70,7 @@ contract Verifier_dsc_sha512_rsapss_65537_64_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -102,11 +105,10 @@ contract Verifier_dsc_sha512_rsapss_65537_64_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - // -A mstore(_pPairing, calldataload(pA)) @@ -132,7 +134,6 @@ contract Verifier_dsc_sha512_rsapss_65537_64_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -149,7 +150,6 @@ contract Verifier_dsc_sha512_rsapss_65537_64_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -159,17 +159,16 @@ contract Verifier_dsc_sha512_rsapss_65537_64_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1.sol index 445d4cbda..4b7818d92 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 { uint256 constant deltay1 = 18031898897154963414025141677622297401219665295749636217410864667281772000433; uint256 constant deltay2 = 21831540883730035301413733264718453236289248639488942882934948388586980962845; - uint256 constant IC0x = 19509572610092207288670808612793005292427088225084923989481790232834691421218; uint256 constant IC0y = 20981186445151391222764194225178707477545220084289882124966253025319330386716; - + uint256 constant IC1x = 19182868664324342013994173700755113757073855114423320637389181899716317837862; uint256 constant IC1y = 10122562937387529919092448092464314996344932396258314984541895784551115051381; - + uint256 constant IC2x = 10533989471740012078622118641855823945796164902442393083239425014935431072350; uint256 constant IC2y = 15136304145342409661923495077385049808129199590110451861747150066840788933500; - + uint256 constant IC3x = 11911512511832804727234578540995600437810078524965709720308124945378582921495; uint256 constant IC3y = 20562189586897282263315939558507913305487143843850828495916004211153189021293; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1.sol index d4601687b..d6507dc57 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; + uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; + uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; + uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; + uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; + uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1 { uint256 constant deltay1 = 9448382163867444066295328702218988975263374023667830442650604436203430718782; uint256 constant deltay2 = 3390587171884285909512991075541156150549390244719272045010214315075006407592; - uint256 constant IC0x = 16450632745264405183134879933548836357522771992781381371437352893044233134089; uint256 constant IC0y = 7406049893990952623098067634432868719037604070795933670159207846811098380152; - + uint256 constant IC1x = 4075022984801759765447880624616192959710270854476152884516923249069298970582; uint256 constant IC1y = 14465812661698088247096862482473992600825819637978412422678744038701325119175; - + uint256 constant IC2x = 19289177891812149972501122063055652003517902958032564042988169989187140669996; uint256 constant IC2y = 10334018884410138890108998996556287264542627150879424783840832054620221289103; - + uint256 constant IC3x = 3590539162724376220252043367439687121476794060909776981340467603542696454783; uint256 constant IC3y = 9817658469812892944717716328749390598728625285115805840044120011595137437624; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_rsa_65537_4096.sol b/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_rsa_65537_4096.sol index fb7d9e3ec..add18d40a 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_rsa_65537_4096.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha1_sha1_sha1_rsa_65537_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha1_sha1_sha1_rsa_65537_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha1_sha1_sha1_rsa_65537_4096 { uint256 constant deltay1 = 3665741634116606936489770677276959138129221741447229704587025783098245795085; uint256 constant deltay2 = 403539896334743856854319107138699105727408472499380778544123756001283833378; - uint256 constant IC0x = 20756451814539478249751219749430622694437886828255681030901283599531849607563; uint256 constant IC0y = 10515539338155791301560829975566985059585726032052087045959182102863044641627; - + uint256 constant IC1x = 5564562197397048598304370220394023178331361146076885262417117982817842490041; uint256 constant IC1y = 21154894302210965834465964743301723963246603449126626144265792369420471462519; - + uint256 constant IC2x = 5154501633986159218953427977257472970741782604514502453840876964136990001633; uint256 constant IC2y = 19590373510789635565294072443053760642652305250438676594604265975940768004868; - + uint256 constant IC3x = 21371077966007684491944419706317642834377204594723191303711655277642289355259; uint256 constant IC3y = 6514391881814533347944634607795370652611541523264920880959575958638411648255; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha1_sha1_sha1_rsa_65537_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha1_sha1_sha1_rsa_65537_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha1_sha1_sha1_rsa_65537_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha1_sha1_sha1_rsa_65537_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha1_sha1_sha1_rsa_65537_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha1_sha256_sha256_rsa_65537_4096.sol b/contracts/contracts/verifiers/register/Verifier_register_sha1_sha256_sha256_rsa_65537_4096.sol index ee7878e0a..41de29230 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha1_sha256_sha256_rsa_65537_4096.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha1_sha256_sha256_rsa_65537_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha1_sha256_sha256_rsa_65537_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha1_sha256_sha256_rsa_65537_4096 { uint256 constant deltay1 = 12314715100513663962818487492216029300388813419191267519828806049674208132775; uint256 constant deltay2 = 10470523697438015174056330463148535375729117776768240109864817806935384204557; - uint256 constant IC0x = 12361539322653261021360066647549205546373574859480447523007571711209362191471; uint256 constant IC0y = 3753815764472092148426692365780053324411980063589958862133181479142352994780; - + uint256 constant IC1x = 3709054380359458917683749937455535515552184103494415469844634615037922334277; uint256 constant IC1y = 18869808402305674549249558018924643540300060650305983217549705382983624154036; - + uint256 constant IC2x = 10089734822789836697306478964054100296820394610692316618549792183242300594248; uint256 constant IC2y = 19142665716389800648424629453855173684881049467838144090381524444628188050819; - + uint256 constant IC3x = 1197590734606895962055154260828783141953061515173288377871991535662924617440; uint256 constant IC3y = 18942239486191169122929828442458072434935876596191455341626876659481393360346; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha1_sha256_sha256_rsa_65537_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha1_sha256_sha256_rsa_65537_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha1_sha256_sha256_rsa_65537_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha1_sha256_sha256_rsa_65537_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha1_sha256_sha256_rsa_65537_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1.sol index dd0ea2a15..5d1526b02 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1 { uint256 constant deltay1 = 6309979045282778302942056209768770834937974278704411556356240326005027775108; uint256 constant deltay2 = 14431014253712863614953101637194770902839088329362669949449976361594501871386; - uint256 constant IC0x = 7049014070845704797398804006160076365072552113538832823116300666708052900140; uint256 constant IC0y = 21442947750272735435847899362570529914949459321795987895055133600218265935805; - + uint256 constant IC1x = 14901800930595596475270981859969729449383998844699559546884267481312938883311; uint256 constant IC1y = 9987788914424712886677784716028005253285100122737999127155336189056960500739; - + uint256 constant IC2x = 11756261084070810905424247204044768982420231764336482808042196914833073264631; uint256 constant IC2y = 7774075862985643190224001482395218841088131833338894022590565319270858939292; - + uint256 constant IC3x = 2664951959234114136071060711363539347386341588709135442596514957836669271965; uint256 constant IC3y = 13235160485529120155109991361721968247548273207835323315920567269912250240966; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1.sol index 24cceab2a..1390a5210 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 { uint256 constant deltay1 = 17922238729206820258777005538508696344640087041630861737277811527798956341174; uint256 constant deltay2 = 19343082958961494620437916048299672564753840210138542937948538284994282503556; - uint256 constant IC0x = 12521316718902993678296712934793473287690901468560324816920939082278543579014; uint256 constant IC0y = 8478119979955946440850520514866248107612719142562088893016150154822941492437; - + uint256 constant IC1x = 13615912043916642509268214012096038019187485190244568897732400669313161534289; uint256 constant IC1y = 2336242490526310607723367151056544341055507559641317319268595423467469490750; - + uint256 constant IC2x = 9964738432662011999730790618200441879694942263940840066881287946030548535213; uint256 constant IC2y = 10987920816797829909921115383190287198265145438505477799853266284042683798189; - + uint256 constant IC3x = 20913259597347413901976782093989664830906159344929838301034406870827489688402; uint256 constant IC3y = 3901488944428160131651382851952512860695104361610472292838012573652157077746; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1.sol index f66e098a7..dbc4737b9 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1 { uint256 constant deltay1 = 13063167950997764554295715260649179775160121935115344843116270981460011515045; uint256 constant deltay2 = 10894079596870145113454476183498886773244865923585175354140797804801878633159; - uint256 constant IC0x = 8762998664314077566541074231125849912115544729350659715286518613692697344232; uint256 constant IC0y = 14001271104843473296871506767615367200344646326139246066177383985774884134036; - + uint256 constant IC1x = 18871746441291522433040172141199512517094020757638974169303451068805040108549; uint256 constant IC1y = 17481909845792025147795640059339300039909930587789741160089790055330297800629; - + uint256 constant IC2x = 17228496737134183162953404839083447494368305553814570677263820008304107136716; uint256 constant IC2y = 9169963094691275955348042974261987888722303177930700221830198485340995306823; - + uint256 constant IC3x = 12489076924452947445650770949126936558633478532726739743575890534382634119788; uint256 constant IC3y = 19184068330904123630217755441256337303398437062402964032554713882869223121187; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1.sol index 755957073..3c1d45b23 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1 { uint256 constant deltay1 = 9264189429064603261584419178333938947647064896232842698148291477622205695991; uint256 constant deltay2 = 6456822800838506843976332735258220771655353543944505822268251880234958843589; - uint256 constant IC0x = 14329212318534927524909414573593840658332088808690549054063025133267761199977; uint256 constant IC0y = 6891575372982448157919314834426319637097322770954014095842802433794534683954; - + uint256 constant IC1x = 6088631761012793873872011176735311073044507020987158847792817166607547457190; uint256 constant IC1y = 5408178364023472781923470165151349921464641576197451679609061964630375727986; - + uint256 constant IC2x = 6554153663186353117117323926287388052308499874096390122598444026717953829298; uint256 constant IC2y = 20014754935043826097713376341913960822206666748023316988734720703049024153643; - + uint256 constant IC3x = 4770022706913284022426246361926495635078904750741043214268956075109086834012; uint256 constant IC3y = 15234126863934255697594075887866757176470841009005326054002736760043901137869; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1.sol index 4a5df5365..f5cc150b3 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 { uint256 constant deltay1 = 20799323163784559718261914492858317118523130378150092434435613338572110196932; uint256 constant deltay2 = 14990446910847906685728734892794375678795805883652589172884763012806420930819; - uint256 constant IC0x = 15279862456791935189899436182918029011971810980820636137503798281596332644431; uint256 constant IC0y = 5875594256869355615925003865805275481889149778767531026103030843188849163042; - + uint256 constant IC1x = 18871746441291522433040172141199512517094020757638974169303451068805040108549; uint256 constant IC1y = 17481909845792025147795640059339300039909930587789741160089790055330297800629; - + uint256 constant IC2x = 17228496737134183162953404839083447494368305553814570677263820008304107136716; uint256 constant IC2y = 9169963094691275955348042974261987888722303177930700221830198485340995306823; - + uint256 constant IC3x = 12489076924452947445650770949126936558633478532726739743575890534382634119788; uint256 constant IC3y = 19184068330904123630217755441256337303398437062402964032554713882869223121187; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1.sol index f65b0c574..e367ed37b 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 { uint256 constant deltay1 = 20268971577229545954706935167010616285735836507513920429223288718088929943995; uint256 constant deltay2 = 21144325406167384882393518756777912265383436408998666310107848365852496419102; - uint256 constant IC0x = 9442411342865165006604779210847282499145964678682843678247134860374634735655; uint256 constant IC0y = 19908889975223200197374227870824078479476658997752221093587493678364256098150; - + uint256 constant IC1x = 6088631761012793873872011176735311073044507020987158847792817166607547457190; uint256 constant IC1y = 5408178364023472781923470165151349921464641576197451679609061964630375727986; - + uint256 constant IC2x = 6554153663186353117117323926287388052308499874096390122598444026717953829298; uint256 constant IC2y = 20014754935043826097713376341913960822206666748023316988734720703049024153643; - + uint256 constant IC3x = 4770022706913284022426246361926495635078904750741043214268956075109086834012; uint256 constant IC3y = 15234126863934255697594075887866757176470841009005326054002736760043901137869; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsa_3_4096.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsa_3_4096.sol index f6e7d3651..17c87cc2e 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsa_3_4096.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsa_3_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_rsa_3_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_rsa_3_4096 { uint256 constant deltay1 = 16912060044718566958760186965832621985233174684202860901065771441595930661; uint256 constant deltay2 = 6990904920712329146370660837771595296060103589737805809718454732421937412911; - uint256 constant IC0x = 7147662374664978178528564902578191592241162703662598471403516878430958623540; uint256 constant IC0y = 20742545882978583745317608766583437072418450203393459898749008422742542408017; - + uint256 constant IC1x = 9192682958180330653299680478108990424077007761308196481987732759178070723926; uint256 constant IC1y = 13396666106360654883543908851938863985071523120160676247159633698209155563479; - + uint256 constant IC2x = 6895822624458243572446580093854034736053731337197123582953927396132522058301; uint256 constant IC2y = 9993027976932326188466065715608423961865557719995555109630364303141289309356; - + uint256 constant IC3x = 5040162780305494203626900935364986325906575444438264986007662724745613060233; uint256 constant IC3y = 3489728127071850413957238637352781132171576211336681477809188287120783210919; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_rsa_3_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_rsa_3_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_rsa_3_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_rsa_3_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_rsa_3_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsa_65537_4096.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsa_65537_4096.sol index 76d8a7b02..40c30e5b6 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsa_65537_4096.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsa_65537_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_rsa_65537_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_rsa_65537_4096 { uint256 constant deltay1 = 21774177102224165726668027860055379505695373535738271243426634930654955477900; uint256 constant deltay2 = 1048058787444696992441125463798305262557229676029701658299423124050556506165; - uint256 constant IC0x = 4203584187689189016146966776511744493003920506375581844626620523492362207984; uint256 constant IC0y = 9052081284249212023426781620778265204219325827617666210271990635080730218503; - + uint256 constant IC1x = 13074598523964145739549141836158998379234075559961766611764278518366452344199; uint256 constant IC1y = 10574946580048122671154557143146482135525368491045320079433812034618713679906; - + uint256 constant IC2x = 8617884471336852633122267689376629797397308765303690336656658481685741540059; uint256 constant IC2y = 20631244058132553562802645570277735937116738303508211566192819335710819938477; - + uint256 constant IC3x = 5708146574768159438095373888198192859966167122713346603306758508855474255629; uint256 constant IC3y = 7392468767845842343202171561885901283557240289513003767394888152058209685110; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_rsa_65537_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_rsa_65537_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_rsa_65537_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_rsa_65537_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_rsa_65537_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048.sol index f94ebfe1d..794288f2f 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 { uint256 constant deltay1 = 8857763070540994305951412539908926535830206116302473035781309933327417423895; uint256 constant deltay2 = 16039701702536735810439617038019650947776334461700333220779823591886420216383; - uint256 constant IC0x = 19023325689133548863703657224526039088381457377965323696245245439046610747144; uint256 constant IC0y = 18495120018510107318032766424788517531904003435620141063237139509825730519; - + uint256 constant IC1x = 18985635296364488899674404550197255533176668637350249569852209375402957384741; uint256 constant IC1y = 19738244818915278631711381555832692619494549146724799413410724728543642147258; - + uint256 constant IC2x = 3002127292353804733044565638602073044927799592862051013730858399863968866622; uint256 constant IC2y = 4483501688591264533407403607502557548973798360232097931151340430370493422091; - + uint256 constant IC3x = 1024972951926569974358687494937065172122524805144782023419355129238334286556; uint256 constant IC3y = 15440423366153868217034969510027375825542972135674805344487214674699015498714; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048.sol index d3c83d1ae..9ab62ed94 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 { uint256 constant deltay1 = 17855601415401520282357849469203244544868276435666994083788576252104715952889; uint256 constant deltay2 = 20700679607291376795241183042865543121940947546969076159179984252908604602623; - uint256 constant IC0x = 20650047058132213809662993089573414062005281673402818277748734247805350329312; uint256 constant IC0y = 8346431023551893201844483416096699802966095060511235070842889654340760885421; - + uint256 constant IC1x = 7156410243573370394042301961056447253334717941858266973944146684898929245329; uint256 constant IC1y = 3699089582581324597988193826202058432407833050241834739012624424831081782602; - + uint256 constant IC2x = 2102432397976399927648624749864021001283764118575077597316445921690395783696; uint256 constant IC2y = 16798169764499804754174865854060008887348825062558798204836592546740414897120; - + uint256 constant IC3x = 17317044777633640299119455114281927115644331466688145265926488556620349221911; uint256 constant IC3y = 8772760877485816523867159264654349840312402751202686541010425679352093361796; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072.sol index cdb919fd3..9667c81fb 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 { uint256 constant deltay1 = 10335149737728562397961334902612175311030426856662020462832946982440475945403; uint256 constant deltay2 = 7725990003319491530270603256668676379344028381959299917586866031204349994841; - uint256 constant IC0x = 20273694991424696222089865695164764916021146867149536913591135292403542949895; uint256 constant IC0y = 12236098091629357084243416615405919483831387116612844842890607315845386223990; - + uint256 constant IC1x = 3562596969439552152612863105993299993130242993116017407051019998781015796603; uint256 constant IC1y = 21370152915257594517912410264059417212917743259603839376553415912319254855041; - + uint256 constant IC2x = 800746440784437703194280344050632892561863930250405038991072199550652220340; uint256 constant IC2y = 16621268396065904604338789414080301832939699450530232311671162312190575013762; - + uint256 constant IC3x = 12127347857146364994262050450136225135590745112775230995746041695314807204647; uint256 constant IC3y = 12605180488335893175829332325219421676947049720195349132644638356539735606902; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048.sol b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048.sol index 989c68d7c..b969d4442 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; + uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; + uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; + uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; + uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; + uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048 { uint256 constant deltay1 = 21417331860517620213853557801012932528265294825667483000398760394460342854150; uint256 constant deltay2 = 3521621565182312756026882025146971753553266652119142711524309069960835034217; - uint256 constant IC0x = 2650232139950799889519964811076582312005955772764804225189429907947120413540; uint256 constant IC0y = 657051112223451016707929555981496025456893729703484208440844641832356601238; - + uint256 constant IC1x = 8081229243468095616978100904972155801431572800975147543193820670895547157174; uint256 constant IC1y = 6616464201431027550515942297910935246754200163796742864613342027126029777305; - + uint256 constant IC2x = 1424093314374585694236524334500673650332535238237396379331013965340772391298; uint256 constant IC2y = 17279524849721986212308069874853781724901647454904174566414611247779877579068; - + uint256 constant IC3x = 20322713313159424926274301577889437312884792230033252132502625130351424539432; uint256 constant IC3y = 1436142875889436717857447601847861561066309444586720002288236204838004201424; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1.sol index 60ea1d786..a48fd6db3 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1 { uint256 constant deltay1 = 2655964634947877199609996494191289594643875256682371211458883798917414765294; uint256 constant deltay2 = 6529830897474966572891697442914666184318854305774824529178321388222091805665; - uint256 constant IC0x = 14180127463576949511430389406985338707938226442458612272287141032641097433282; uint256 constant IC0y = 18520340001081201681341628889445882751413799061044855626444262669475231575998; - + uint256 constant IC1x = 4782359555423830141545707732871586569509309022786994020772279813916620676975; uint256 constant IC1y = 17341614882131225913344839704562691368602450866829959398461536604420641889440; - + uint256 constant IC2x = 12285354976663994516736760739963050694859226668742478417214500732084758641227; uint256 constant IC2y = 486008383723396168189793352768808154423191912311770952673873594493222775388; - + uint256 constant IC3x = 15983604734716803811176175475868936955531879564011132812169690299787697608343; uint256 constant IC3y = 5433234915278424150573590364928224011999313701986627480961475623393357074963; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1.sol index b21267240..29aff0280 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1 { uint256 constant deltay1 = 14873387777512603238202291899184271790755514580527473327518246092956340721506; uint256 constant deltay2 = 14390611362883461355955787694696658528915413320294561035084608364017878919822; - uint256 constant IC0x = 8735192185444852843909796464662622311966954494624979798830494437573487040586; uint256 constant IC0y = 6050735154878376107549186154135524222506843051956047858431384872560380356975; - + uint256 constant IC1x = 5483196628939056089826409818400143037210780641446014927489547989787587699201; uint256 constant IC1y = 1171374649921067872693612253412870791859793815073010265752227736881757200924; - + uint256 constant IC2x = 16482995488537871424875041705348410284861593053282641089562844970643442627513; uint256 constant IC2y = 19176167821727984438488135935030091689049819304751596160342283375278346324312; - + uint256 constant IC3x = 15777780268455716462763947803251713833182250613008125174940265570223026085835; uint256 constant IC3y = 4875711447580581709474407572392202914066259658604550614725631006355405476979; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1.sol index 2c2fda44b..cfc51f317 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 { uint256 constant deltay1 = 5455169250604385419795219345075582044299579949122066670985590123551840944964; uint256 constant deltay2 = 10104015913070532250676370268025611554945382148400238036849663790115734541142; - uint256 constant IC0x = 7908093383721926775469240343078448363521575177109101592873710160262939359547; uint256 constant IC0y = 15740067290358963763952194191806517899082061979771944799240661001956270328137; - + uint256 constant IC1x = 4782359555423830141545707732871586569509309022786994020772279813916620676975; uint256 constant IC1y = 17341614882131225913344839704562691368602450866829959398461536604420641889440; - + uint256 constant IC2x = 12285354976663994516736760739963050694859226668742478417214500732084758641227; uint256 constant IC2y = 486008383723396168189793352768808154423191912311770952673873594493222775388; - + uint256 constant IC3x = 15983604734716803811176175475868936955531879564011132812169690299787697608343; uint256 constant IC3y = 5433234915278424150573590364928224011999313701986627480961475623393357074963; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048.sol b/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048.sol index bad4936b6..354d19c69 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 { uint256 constant deltay1 = 8782002948712706591692122892777769887858927924877222024302273449842068580687; uint256 constant deltay2 = 9352362274075683037351887254389845200972649164871915897438615446650841042777; - uint256 constant IC0x = 8544184508155231574977970852113755830620175462799939787804984445958495214999; uint256 constant IC0y = 18216913274830099676167841484944957272042369395734546840643108051729478468281; - + uint256 constant IC1x = 10980199056049801743192649744994203635958903017565289920643967426312426794443; uint256 constant IC1y = 15490465054471261396901238896985420634259128432564942043840378682425378426794; - + uint256 constant IC2x = 17991114514556254760956637236919015140729691076666899294137242499474421858730; uint256 constant IC2y = 14343060817456455801476227206111331196064201128326993909630396514088526624247; - + uint256 constant IC3x = 17925609596845562960145662666722247162134174553832555607981758300339142868368; uint256 constant IC3y = 1711339344858919485507118159910992082861313712569300995440460052671927530290; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha256_rsa_65537_4096.sol b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha256_rsa_65537_4096.sol index bbb1e2092..f2d152948 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha256_rsa_65537_4096.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha256_rsa_65537_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha512_sha512_sha256_rsa_65537_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; + uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; + uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; + uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; + uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; + uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha512_sha512_sha256_rsa_65537_4096 { uint256 constant deltay1 = 11939697202187053508707510976290905199551499409672263761474391291658710514837; uint256 constant deltay2 = 7404233723661255839394438230729423120454040735018080878441518168933906765047; - uint256 constant IC0x = 1522312918359803988788512091755329622787453581365817416344334969305501826763; uint256 constant IC0y = 15103489129488920195567010010842048345426549759697537037237072176139672140741; - + uint256 constant IC1x = 3426092119649827904350580206849100879401424367721771401042697577618459121414; uint256 constant IC1y = 16770031840381000483094812067973347788614663626630281022545549244984270312425; - + uint256 constant IC2x = 18280226729999019912132031662127608679245235959717434252183320707840972425160; uint256 constant IC2y = 20341823113799900095011353295654597790475315229418008642852414296590357768541; - + uint256 constant IC3x = 9284316895527342666880616834392865785293585993469843715065175921767468731647; uint256 constant IC3y = 12546994336269880385565077660652394363324080564977267049945074848375882704903; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha512_sha512_sha256_rsa_65537_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha512_sha512_sha256_rsa_65537_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha512_sha512_sha256_rsa_65537_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha512_sha512_sha256_rsa_65537_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha512_sha512_sha256_rsa_65537_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1.sol index f8680eaed..80fc84907 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1 { uint256 constant deltay1 = 18166959287221332415767368018929503078315106563710994156348604460979714762741; uint256 constant deltay2 = 14908064929580417939168737694833933618386052899840219036224614307551672747916; - uint256 constant IC0x = 18710498748220767227705003302977305323071337506522987320895689013754828757421; uint256 constant IC0y = 16102011319913061201700546418800139175766194462922175370869548963760320631597; - + uint256 constant IC1x = 19286529769583304814784702520019126192803570206401018970719909847974158324329; uint256 constant IC1y = 1155242236517285926726013444715647056857111823469336078757282575745236301050; - + uint256 constant IC2x = 7121483107375013561864881366222242761945265932327408281758084321102607697296; uint256 constant IC2y = 13210769923775439019992165720378141251278877718479947970068953633811830722237; - + uint256 constant IC3x = 6342858539600635210736844370527058585508847306654018171123849143234084040487; uint256 constant IC3y = 8189602452833790560637976876815510209304393905453779032446627471985274992928; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1.sol b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1.sol index a7cc2cb4b..c6e713490 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; + uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; + uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; + uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; + uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; + uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1 { uint256 constant deltay1 = 6418076645836420671059748997176292536327596475671797721341469567563945325034; uint256 constant deltay2 = 20047489905314554657229962814302565457277706277614625796219965705986733016400; - uint256 constant IC0x = 8213850473044923644372922865138955448896302402477327581557948020399125562390; uint256 constant IC0y = 7127144729850972239443830705584255154725231438062233874024536757991585918868; - + uint256 constant IC1x = 10748168300188027468131455001498882971501504192679851740673356495856022514072; uint256 constant IC1y = 19801403303372828407610128930377585605726313318856894500339976951193111704908; - + uint256 constant IC2x = 6379168317026520771879080773176084752194625610970132261699911666872334176519; uint256 constant IC2y = 14383832051031881193464421156619185396407821282167818109735802801005284536097; - + uint256 constant IC3x = 2412093987228821900950564577698223430910769162690133525007020355167634696396; uint256 constant IC3y = 19260582347247453329893161917118325457388005792864770063050983236893723593026; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_rsa_65537_4096.sol b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_rsa_65537_4096.sol index d64440b66..8c1f41ae9 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_rsa_65537_4096.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_rsa_65537_4096.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha512_sha512_sha512_rsa_65537_4096 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha512_sha512_sha512_rsa_65537_4096 { uint256 constant deltay1 = 8016323471157868097210555378021863771129239692256048285686953910097496901175; uint256 constant deltay2 = 1268442858174232798041320890040058302231282153658837795419767784404409812927; - uint256 constant IC0x = 788662153977020047487908440060519636608025586441517269900106807901228230078; uint256 constant IC0y = 20904598284048198472069371874145875403624827652749070067699932239193561364800; - + uint256 constant IC1x = 14855648460653108120707360034038773413341508672497258605770970338353104122533; uint256 constant IC1y = 10477699502316868257932599344091340226650405097060039939070557829893958206158; - + uint256 constant IC2x = 21221660522342547061103299874152131091872142905705749263521892331758174595305; uint256 constant IC2y = 10193500598764315366119442003401504739042508551394841743160496081766477687236; - + uint256 constant IC3x = 16582908753421460384147547461147864816075691546275678778406809963905097757166; uint256 constant IC3y = 6430293998872124339560152168701504895975370254752408653634784744388236898330; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha512_sha512_sha512_rsa_65537_4096 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha512_sha512_sha512_rsa_65537_4096 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha512_sha512_sha512_rsa_65537_4096 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha512_sha512_sha512_rsa_65537_4096 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha512_sha512_sha512_rsa_65537_4096 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048.sol b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048.sol index 3d83f5c67..0c64ba265 100644 --- a/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048.sol +++ b/contracts/contracts/verifiers/register/Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048.sol @@ -22,17 +22,17 @@ pragma solidity >=0.7.0 <0.9.0; contract Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 { // Scalar field size - uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617; // Base field size - uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; - uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; - uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; - uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; - uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; - uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -42,27 +42,30 @@ contract Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 { uint256 constant deltay1 = 15928828060852996611567735126472583606210784067107216934749365960478255705284; uint256 constant deltay2 = 15523148677555090064002432817799049564835503366137479497726812725171445608393; - uint256 constant IC0x = 14970850053554520917871936978877373592008600599218183137399879767770614013397; uint256 constant IC0y = 4687518326098445506883764869131479730374051909081414100859780026635333412365; - + uint256 constant IC1x = 17519057430506274242660579323180660749957185840602314174101027004838762615614; uint256 constant IC1y = 20397105842066396737305711806336931478294098770396616144906441129648732795777; - + uint256 constant IC2x = 6492307408333236038748486132440948568538670079804654188433284307660596875120; uint256 constant IC2y = 13945884713404707015556782895314768293480859303445594848713737511334691582597; - + uint256 constant IC3x = 6401225548848035306725692880264920393627384820763938963945560767378047631985; uint256 constant IC3y = 3976547394444563928321174757780585113046713922808426955124252186710066806205; - - + // Memory data uint16 constant pVk = 0; uint16 constant pPairing = 128; uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[3] calldata _pubSignals) public view returns (bool) { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[3] calldata _pubSignals + ) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -70,7 +73,7 @@ contract Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 { return(0, 0x20) } } - + // G1 function to multiply a G1 value(x,y) to value in an address function g1_mulAccC(pR, x, y, s) { let success @@ -105,13 +108,12 @@ contract Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 { mstore(add(_pVk, 32), IC0y) // Compute the linear combination vk_x - + g1_mulAccC(_pVk, IC1x, IC1y, calldataload(add(pubSignals, 0))) - + g1_mulAccC(_pVk, IC2x, IC2y, calldataload(add(pubSignals, 32))) - + g1_mulAccC(_pVk, IC3x, IC3y, calldataload(add(pubSignals, 64))) - // -A mstore(_pPairing, calldataload(pA)) @@ -137,7 +139,6 @@ contract Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 { mstore(add(_pPairing, 384), mload(add(pMem, pVk))) mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32)))) - // gamma2 mstore(add(_pPairing, 448), gammax1) mstore(add(_pPairing, 480), gammax2) @@ -154,7 +155,6 @@ contract Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 { mstore(add(_pPairing, 704), deltay1) mstore(add(_pPairing, 736), deltay2) - let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20) isOk := and(success, mload(_pPairing)) @@ -164,19 +164,18 @@ contract Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048 { mstore(0x40, add(pMem, pLastMem)) // Validate that all evaluations ∈ F - + checkField(calldataload(add(_pubSignals, 0))) - + checkField(calldataload(add(_pubSignals, 32))) - + checkField(calldataload(add(_pubSignals, 64))) - // Validate all evaluations let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) mstore(0, isValid) - return(0, 0x20) - } - } - } + return(0, 0x20) + } + } +} diff --git a/contracts/hardhat.config.ts b/contracts/hardhat.config.ts index aea15bfb4..8fb58b899 100644 --- a/contracts/hardhat.config.ts +++ b/contracts/hardhat.config.ts @@ -3,7 +3,7 @@ import "@nomicfoundation/hardhat-toolbox"; require("dotenv").config(); import "hardhat-contract-sizer"; import "@nomicfoundation/hardhat-ignition-ethers"; -import 'solidity-coverage'; +import "solidity-coverage"; import "hardhat-gas-reporter"; import "hardhat-contract-sizer"; @@ -15,11 +15,11 @@ const config: HardhatUserConfig = { enabled: true, runs: 200, details: { - yul: true - } + yul: true, + }, }, metadata: { - bytecodeHash: "none" + bytecodeHash: "none", }, viaIR: false, }, @@ -31,7 +31,7 @@ const config: HardhatUserConfig = { sources: "./contracts", tests: "./test", cache: "./cache", - artifacts: "./artifacts" + artifacts: "./artifacts", }, defaultNetwork: "hardhat", networks: { @@ -40,8 +40,8 @@ const config: HardhatUserConfig = { url: "http://127.0.0.1:8545", accounts: { mnemonic: "test test test test test test test test test test test test", - count: 20 - } + count: 20, + }, }, mainnet: { chainId: 1, @@ -81,11 +81,11 @@ const config: HardhatUserConfig = { chainId: 42220, urls: { apiURL: "https://api.celoscan.io/api", - browserURL: "https://celoscan.io" - } - } - ] - } + browserURL: "https://celoscan.io", + }, + }, + ], + }, }; export default config; diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha1_ecdsa_brainpoolP256r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha1_ecdsa_brainpoolP256r1.json index 1c1d5fb26..113a8e58e 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha1_ecdsa_brainpoolP256r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha1_ecdsa_brainpoolP256r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f0bec78cbe0f6133772dd9fe085d9dd3fe06b79128a4204a396d053c0cc1aec5e85527f1c2c5cbcf2c354d79854abeee367a58bff9a096dd75466f1f181b639023a97d160208601526000608086018661019a87357f044195cbffa3d2fccbaebb7b69c8b2d7d511410758fec2b1b6dcef03c00884547f173f3268d7b2e73bebf2be4cb4782a22f43ae3c868a5bae3c0c5831c1b1f36c684610092565b6101ea60208801357f2c498ead77e28b6041204d3a1a16d63621c68cc54cb7847bbdb41f2f956932c57f1e29d576fb137572f34dc148fa70bfd40f45febdeeaa1c80f182a59fe880d7be84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f0e7187c83b883d666f6eda41c38a6ec9708bb6ffe322b6377daa09d837d5a2566102808201527f052be60b1ec3b8c10de8111531a8bbce0240a6a7b727a3bf4ba74384db45eea96102a08201527f26605269c8ba64a6e3ae3e9e7b69c3fbd0d119ac28165a1a7cc7a01d8ea9ec8d6102c08201527f27754fb84c3e7f891f6a94c0c5cea6e3e48d93ea3ab81354c1e8f5144b479aab6102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha1_rsa_65537_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha1_rsa_65537_4096.json index 92cc7b71c..06229f99d 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha1_rsa_65537_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha1_rsa_65537_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f2afb5c649b1d2f5fb8a0bfa87e5bcf2abc3f08f2c41b2e4e195ab8adae68fa9c85527f22d72c41fa430e45b04cafcd0e901dd1fbcfb29840c9964a1b526626a3205b4860208601526000608086018661019a87357f16e000a3e9fc369fa7b959aab9b57528cfcde33f4946266a52cfedb2cbf12b1e7f17085de088ee7b3f50814d40baca4fc9880b9fc21faebe489ef8cc8149648cf984610092565b6101ea60208801357f2a2c5aca29027a9200b37327ec09269f6c560e8dbca8b0c4fa0e08f2e375ad997f09b70ffa47cce0ec62c20fadf329da3f1aabc0d2fa0164c01ff0ee1f4db1d53484610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f1d2b197a77b7a5f2784d06e25f2f08a2929dc5271561df785dfc306cbe6af2b86102808201527f2f91134f504a6faa1f3cda007a35af131cf1f28bd99d0d30fb4eeaff6e9c1b546102a08201527f1b62b7199a6c90e7f098361c1a81711a89af829ca43bd2676291de017b7249326102c08201527f2db555f99f2e32d022a48d4f3c88b959b2a672d1d08f6fc9292a7cfe693cb0dc6102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_brainpoolP256r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_brainpoolP256r1.json index db80b8696..24ecb4fce 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_brainpoolP256r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_brainpoolP256r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051e565b610057565b604051901515815260200160405180910390f35b60006104c9565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f21f987caa8fc6b0458cca9e08e5839f043d056bb1361e8231468ba3fa809aeb185527f2e8512e1ad88e096152861b89512450de08373a801c6d48fbd908a2c2d2356c360208601526000608086018661019987357e3eeb4b82d8824374b0a34f847752dbfc9a33df478d15db6a7d86592b87abbc7f1dd3f8ba8174ae05309882c15e2cbfd24f5d9d41572dea2ae41cb81f75b953ea84610092565b6101e960208801357f2d0e9e92c81deaca1da22d9db7bb0d3d155891821d632ee7413676b6527713227f1e325775cfeb5795a7b3c8df141b535fb3963754c240ce07506f22215dccb83684610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f23b7105d4435bcbf03afdad62401c7814153ba3ca486e73b089ce6ea55695cac6102808201527f1a32e76d3e5e4b8d57a6052828e5e248ea5c14fd46a84c1cc3cfcce298ab24ff6102a08201527f179a8d037db1562537237028fdb629c98bbff78e3a75fd31a041a649065066c26102c08201527f0cbf69b1086411da88cecaa28a54e2ba08b1dfe0b0a38c0043f559b2d4e96ea96102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e1600084013561005e565b6104ee602084013561005e565b6104fb818486888a6100fd565b90508060005260206000f35b806040810183101561051857600080fd5b92915050565b600080600080610140858703121561053557600080fd5b61053f8686610507565b935060c085018681111561055257600080fd5b6040860193506105628782610507565b925050610573866101008701610507565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_brainpoolP384r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_brainpoolP384r1.json index 2b92f58f8..ae007500c 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_brainpoolP384r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_brainpoolP384r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f01754f213ad71c49da99fc1e49fea1a850d87c3c9ee6d5b9d36d5fa74de0b51285527f23095d905f7ba9de0f28ac759bfa781ed7214ef85884768358abf41866e72ea060208601526000608086018661019a87357f0995d9aa33d61d7c4f6a6872712997ecb58c2cc6e674e0222645262ab982cff67f2edae5f83f3211961a78460756d5bbf1c85885e34a96a0eadbcb83ba3857e99784610092565b6101ea60208801357f2e5e7393db44c6bbc965dfa8dc4eadf0d9b15d0829499c21c2c26f60271ee2407f2ac0aeb04adfcbc3ba9fa944c50ece8fc93b09514760e330598b21a79ca5446f84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f24dcb30d85389b93be1e42802e1fa5508168533e23b8b5e77f9b2a6333f480d06102808201527f1ae9a3802accd860801fb690caab706392ca2782c4a54fe3d63448dd27725e816102a08201527f0f3b23da96115eb676b6706c4c39133d2edb0721a02f842538fe13961cdcf6d46102c08201527f0458dda6e8453bbc314b77c8b12b6d9f7183f6721c3c3b316b03a7adcabfdd286102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_secp256r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_secp256r1.json index 615b9ca61..27b58c7a2 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_secp256r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_secp256r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051e565b610057565b604051901515815260200160405180910390f35b60006104c9565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f1b0a17c6fb19b6902b30e6e27bff687b3919c92e24bb24cd45c858445aff9a9d85527f0ebc64511482baae3e57366927fb4c883714d44e94153dba260d73aeb42cff7260208601526000608086018661019987357e3eeb4b82d8824374b0a34f847752dbfc9a33df478d15db6a7d86592b87abbc7f1dd3f8ba8174ae05309882c15e2cbfd24f5d9d41572dea2ae41cb81f75b953ea84610092565b6101e960208801357f2d0e9e92c81deaca1da22d9db7bb0d3d155891821d632ee7413676b6527713227f1e325775cfeb5795a7b3c8df141b535fb3963754c240ce07506f22215dccb83684610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f1dc2fc8ed50b9a3f450e3652357c991195d70bffab1abefa4f3deb7bed09b4cf6102808201527f2b27ed08f687f299fd9b80b41073897c10c2421048190e6d3910055a9616eac66102a08201527f030d0bf5fbf001fc27a335972949bf3549eebf4f557c7da714c7bf02fa67c6346102c08201527f2371eb3e12d2488503151d1bb6e5b9b2b4c3b1313593df526f06d9fc4fb827296102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e1600084013561005e565b6104ee602084013561005e565b6104fb818486888a6100fd565b90508060005260206000f35b806040810183101561051857600080fd5b92915050565b600080600080610140858703121561053557600080fd5b61053f8686610507565b935060c085018681111561055257600080fd5b6040860193506105628782610507565b925050610573866101008701610507565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_secp384r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_secp384r1.json index f0bf71f4f..f3e82c771 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_secp384r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_ecdsa_secp384r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f2837d00b9ba5fd245ebce840daab0edce8888be6c2e2870eefadcdd6a4919e8085527f11689f5c55a3967ffa8a7e3af54e2465687800f35b1310db892737d366f1679060208601526000608086018661019a87357f0995d9aa33d61d7c4f6a6872712997ecb58c2cc6e674e0222645262ab982cff67f2edae5f83f3211961a78460756d5bbf1c85885e34a96a0eadbcb83ba3857e99784610092565b6101ea60208801357f2e5e7393db44c6bbc965dfa8dc4eadf0d9b15d0829499c21c2c26f60271ee2407f2ac0aeb04adfcbc3ba9fa944c50ece8fc93b09514760e330598b21a79ca5446f84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f09b680e631103016d63f9e4cc12c405e3b36e36280712fddfcb17b3d58b100056102808201527f0fe2597e2bf44b17d6796acc28aad738d1f7df4efe8ce8c2a9a29dff136463d36102a08201527f1ddfe06f8174c12cdcedb87ddeadea5f982454d2934ba121614d2ea18d76c69c6102c08201527f24f8a9d0241267a5c6eed16a2683512742ce00a509e0ab596adcfcf722d968bb6102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsa_65537_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsa_65537_4096.json index 36721e531..e3d5f006d 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsa_65537_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsa_65537_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f23e81549adac679446c0fc590ece112cc8b284df009de7a280d316af618e061085527f0882cef82c4665b16e8b8c7f7267e07a6c9f1b2acef279d753e6160125090e5d60208601526000608086018661019a87357f0c76cde28ecc2612bf776aa1892fc14c1c8a1aa5bcb59eb54a077907e539c5fb7f1277815364eef58f4c3c8e4476e8223f20b6d704fd1ac7396a7d87a7f5752f3884610092565b6101ea60208801357f2071b8e5864e712df885b7519012eade4a323f71533266680a5c765c994ce8d77f271a8edcc91c3da3d5470d64d8929ba474cc855e9ecc578bdbb1c6211835c3a884610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f25b9301eac23122d20e4bc9680461f9d7222ed33a0e4786878ba7fb496aa8d5b6102808201527f14d6654a528626884431ab9d62412f693c03231b2f00d266a0cb277581a24a1b6102a08201527f0176658b0cf24e80e64c6208a745e1fb18b8c9c30cf0cbbe5e014cab93023e596102c08201527f24a0d8848d35117103b9241c453237ec0dfa3ef9c71b1122b7c9501db961ecc06102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_3_32_3072.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_3_32_3072.json index 2c96f40af..56d67e7e0 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_3_32_3072.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_3_32_3072.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051e565b610057565b604051901515815260200160405180910390f35b60006104c9565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f1be6ee08a2538c00b92d7a2c4ed89ed1d14dd7fe1d02581b8cb781c3d0d38b7e85527f077f03570a47d52544a86d5e052560abf86a5539ebd07c47f56bd09d50796d6c60208601526000608086018661019a87357f1803eb33385294bbd35c582d4ae804a000ca601c64930ca523566a23400ff7197f04d51122bb77b7bacebc25f6f6ebf1f7d6ec0a6bd695e580080c7000de84537284610092565b6101ea60208801357f16f13e319113ceddfe6d9011025e0f7f32ee1410821d8892ec4b6fb5ffa84dc77f058101891e50a8dca0af3a3056c2457ecf73ad53f01bee569d2d6c1ed920a9be84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f0a4f8efbbf1fb74bce226880ba54f91c862899ebe43e64cf3b48090356bc924b6102808201527f1a1f404c94199e60e8a2d7017a57734f3e33b1a14dcfe2b16fedc06ee970e8136102a08201527e83630c69f927c9e3ab6782991c11a277756118c75e7fb27bf338fe0fbc11026102c08201527f11f97824d81b6cc5b3c1115dcdfc6b706cda76f7cf6f47c29655354079357b086102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e1600084013561005e565b6104ee602084013561005e565b6104fb818486888a6100fd565b90508060005260206000f35b806040810183101561051857600080fd5b92915050565b600080600080610140858703121561053557600080fd5b61053f8686610507565b935060c085018681111561055257600080fd5b6040860193506105628782610507565b925050610573866101008701610507565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_65537_32_3072.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_65537_32_3072.json index bc28800ed..3374a5455 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_65537_32_3072.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_65537_32_3072.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f20c02123674aff76635a38fc11be2493f9843f379a1e27f09d8dec9675acbf1d85527f143d5f1f40344ac57f3756c3d0fc54bb345af00489d29d493da58b57ad2f525160208601526000608086018661019a87357f2b3616dfbdc869420bc05e130185c80940edde5148a0df2b5b7d6f8186a0a4307f061c7603a17614c0e3097b0df048a106216d8b2816c4239fd792d79b4bb0832d84610092565b6101ea60208801357f06a890d1b74e3d140971cc01afe5fbb48c5588fe4db14576b9d76a80505110b17f1745a2861080db7212b26d96201197bb73068a3e96e3c99d41e29b6b57739b8d84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f0575f478b09b885ad2702f2da5f174bfaa948d620b4df21c319fdb3dd19209ab6102808201527f0caa5105e92e2b4c0e2dc13b16c1312b17fba6b44b20b18f4c664ace4024ca9b6102a08201527f07a23184980040b84274e85e29faf9f59e1ac5bd59ebd19e10ae75b42435968f6102c08201527f14d5966d4236636b457b1f14aec40e1d4e73226cd4f53a9d214f2c667b3c843f6102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_65537_32_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_65537_32_4096.json index 6a38ea51c..b11635ed7 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_65537_32_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha256_rsapss_65537_32_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f17d3ed98ed46849e453ee76c5f5a1005357365890a111a09b2636e3abb3f43d585527f2d4f8390933008e25b657ed542af9e208c6fb63511d6be7fb9fa518441dede7e60208601526000608086018661019a87357f12fc717d528effd38fcfb69659d9dca5585919de2ee946796d7aaaaee2a65de07f2a73b2209e0b34d41e5e38aeb80bca640782420eb31f5473e98c5ee9c24d5e8884610092565b6101ea60208801357f148403224d9e0e1d735f41def6a69d82fb4e657caf6a3a8c40c200c846b3fe937f0a93bfc17ef4575e3be9be149e4b945283f0fcb8256ef27a4238c3620ecf0dc084610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f268775de994dac26824f614d0d06a9eb66be0d9512dd79f529738d7fee5b8fa96102808201527f2574a1b38ed6f08cc70dd75147111c4e4417aea7094a1f0cf37255c2574d0e066102a08201527f05b98c34a2a2ee250c22add5b96bee1b7d0ed0f9ff445cff8cb7dcf9e4bd5aee6102c08201527f0a0eb7761ece087fc49df6d63c9818869da39fcd9cdd242639f99103c7475b656102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha384_ecdsa_brainpoolP384r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha384_ecdsa_brainpoolP384r1.json index d3ae15da6..d76bd9edc 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha384_ecdsa_brainpoolP384r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha384_ecdsa_brainpoolP384r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f06ce897ef59809b8d067d6674d26906940519258bb183a965ea9aafe47fbe46585527f0f090a7cb402b9be77c71bf8e3e6f9c6fe212aef35976d976f778bafe2f45a6a60208601526000608086018661019a87357f02ee3eec112cede6c5ca155b4eea1660f24448d740f65f400f5c9c4b9971e66c7f23ee17d2dab47c612e6b1f545adab5c72e3bd3ad36057aa09cc336ff2e33c15d84610092565b6101ea60208801357f1270c94a61400d94509717cd834e82d3400335df6cf132c04b64c849cedad4417f0d90b78fd86ccedda619f8df6b10f66710b777123e02ae73598bcbca39d099a084610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f0f40d920cb63e8428f2fad880b13a80b7bfc0cc9e3f18cfd1a7554d68778e2016102808201527f01d118dc46c44079a4ef02a4738b922f3e49cd6e363ef8342d9d2a98e2a131ec6102a08201527f049355098ba2d117bc5ed50d431f149513fb570b5581f92dd68dd15a5c131f8c6102c08201527f182adc4174cb08675de8e6416d4dd418d0720f37f12e0907b4487e7c331a5ce56102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha384_ecdsa_secp384r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha384_ecdsa_secp384r1.json index 03f38bb87..76e925c8c 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha384_ecdsa_secp384r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha384_ecdsa_secp384r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f221c3caf384f61ee972d6a1fd637d46574ab585360e2f7bf7ef4354f3337717185527f193106e33bd2dafd3d408c33185c05405fbd067f58fc94979082fdfaf24aaa1b60208601526000608086018661019a87357f02ee3eec112cede6c5ca155b4eea1660f24448d740f65f400f5c9c4b9971e66c7f23ee17d2dab47c612e6b1f545adab5c72e3bd3ad36057aa09cc336ff2e33c15d84610092565b6101ea60208801357f1270c94a61400d94509717cd834e82d3400335df6cf132c04b64c849cedad4417f0d90b78fd86ccedda619f8df6b10f66710b777123e02ae73598bcbca39d099a084610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f2bc70c375d7ddb422778251f323a25b2fcdb645d5c8774b424f6587c83e9fc466102808201527f0b29895e434c3d97b937ad3e0f9b1f5aea337fe020d34b4d0be3db795b4afe836102a08201527f079a9e22e2a589a7e4a468814a2f8d3c819d4bc5d58ed922a20b38785c8ae1d46102c08201527f1825e9e562da6c1439f3c114204b31cf32f1c77cfe111c31701e3a95dfdf5ae76102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha512_rsa_65537_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha512_rsa_65537_4096.json index bf1ac482e..4a0897022 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha512_rsa_65537_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha512_rsa_65537_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f11e5d01a49c95eda097034f83a5bba9492e527628bb971321ea00c6bd8f0732c85527f0e3c6eadf06956c449c2850ad406b373b59e6c8065131ca1bed940d79635bb8e60208601526000608086018661019a87357f02999637f2d80cd32e022ceac7b1e4f061ff2b699701507264ff1fefbb78e2447f1e413cd9b317e638208a96176798b44860afba6157728ff17a26d729fed010e384610092565b6101ea60208801357f22362fd26991c36a75f775ae83cb868984f06bdc3523cdd81aa227f6a2e5d31c7f07f50be8ce08c6b458679b6bbfa38748fba88d155c964582ad1177053341e0c584610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f11c4637fe4f146251ada6a35741bfd7a729af8b711c54b7e4700456282cfb4e26102808201527f095bcfd8eeb8345b1c9c92d3dc4e4df40282df6c2a34ab3505c3d8f9e5ac2b536102a08201527f2f601c36ee502e8c8b511e8d1e7e3ccb6da973a5d892da8d088c8f088a61a2046102c08201527f037234f7c0dfcd97286b440d4ecfb8fd2da71290ec389387083e8b5ec90cb2c56102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha512_rsapss_65537_64_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha512_rsapss_65537_64_4096.json index 7efa8592e..767a250dd 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha512_rsapss_65537_64_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_dsc_sha512_rsapss_65537_64_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f5c9d69e14610030575b600080fd5b61004361003e36600461051f565b610057565b604051901515815260200160405180910390f35b60006104ca565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f156fc19de548d3d22ead836defb375446db63d7a9f4e5c7d6209001918c261f785527f024d3241f16ed4ca6d2c18d6dba9b4c5124947381c0769f7878b3c2b174e182e60208601526000608086018661019a87357f10817f468a4f607a850766f7bfd9ec33db63cd6177ad453514cd912e4a9a5b687f20bbc1bd750e6fd6f3e56587b3dd1f5437c18514112e21519542b5327d2d8dca84610092565b6101ea60208801357f2c40e84bcae15aeb3fd1f2ec4c27f0a977ff41af77e05ec7cc0cdfdf839c8b847f163ad62be3dd35f2b160a6e326d3f2984fe24ea57796e5f4ffabb0dd80e91eb084610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f18f842be3d5a1226e0c1f623441df7a8dbef39df8dfd08f47285e7fe2a51e1206102808201527f026f8c1484f30595e9e58524b67bb5090c19721aae73998cc98625893592b6f86102a08201527f1f45225b2139746d80561080ae9ca6e8569bd04eaa0f45ba71d689800508f7b96102c08201527f1a137eda45b594929e47381acbec7cef1b7cfeb3ee1b282f028db35e0b8367ee6102e08201526020816103008360086107d05a03fa9051169695505050505050565b60405161038081016040526104e2600084013561005e565b6104ef602084013561005e565b6104fc818486888a6100fd565b90508060005260206000f35b806040810183101561051957600080fd5b92915050565b600080600080610140858703121561053657600080fd5b6105408686610508565b935060c085018681111561055357600080fd5b6040860193506105638782610508565b925050610574866101008701610508565b90509295919450925056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1.json index be9566d23..951b754eb 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha1_sha1_ecdsa_brainpoolP224r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f2b2206db39f34bb32da9a3a5f30aec6920df207226b4af6bebf67a4ff7a5d42285527f2e62ee421c5a2c7cae54d4e0bc49d45c2560efc1908554f04620596d08b6131c60208601526000608086018661019a87357f16612ae714ae3b6dae203c9894bb4c0f79dfb5bd82d6359cfa5e80a25bd2d1757f2a691e70601ac559be237212064acd248a3d747b98b25c7ad536f79f6ef27a2684610092565b6101ea60208801357f2176d834588612a6c047186c48ef8c4d87ee32c2a99d1533ae6c5c3a25b61b7c7f174a06d966071b42ec2ba6f452f7cb0b07b798409a6867b599eeb9afa7d6ca5e84610092565b61023a60408801357f2d75c970df8a328f4e3ee8634883770e2cefae46dafc6bf5edf04427b71d266d7f1a55ad5aba92e8bb0b869360f65d6f3fad1e0345d38e783159324f2cde13011784610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f2019b03477df84d03fa8234a3b69d44ed4d6bff3ade433e7d6920f00334f67a26102808201527f06918ce2e7d0587258348d4b76cf7247e2c4d4aacfd53ed28c3f1c4f28a23b956102a08201527f27ddb16efaa058efa58efa8282468bb7780055206dbc85ded8ed9e6c12b434b16102c08201527f304436d93fc88614c0a91c8074c5330049cd71aa63ea1eca6e7cb8894c20f21d6102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha1_sha1_rsa_65537_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha1_sha1_rsa_65537_4096.json index fae17cb90..adde79553 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha1_sha1_rsa_65537_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha1_sha1_rsa_65537_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057b565b610057565b604051901515815260200160405180910390f35b6000610519565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f2de3bc435e8efb05924e74395dc95564dd2edb97b96b6f02916b24212510e98b85527f173f9597e8a914c6fc1030a749e0976b5bb93d2f88ab3d565b4af833d917835b60208601526000608086018661019a87357f2ec53ef0a1083db4b3aaa197f57833cc256612df597a05eb6f602b65d0996a777f0c4d6e3b48e0aff7183bf6e3ec56dc473e265be32e40a72e8484bad9e1bdeab984610092565b6101ea60208801357f2b4fc22b3470f36a1b1755e70443222384d02f94c948341b4d3297d18f76fb047f0b655833a52528c19ab59a628c961ffb2cd080e1ef1a353712b582ab314bc9e184610092565b61023a60408801357f0e6703e05c329367b49c8696a62a085fb31965b1a1cf91cab87a7a2e6d740cff7f2f3f99fa6223f762b62d1094ec94fc89f59befa01944079dd73ab812770599fb84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f2bc188a649e5e487719b907b85746577ab47ff716926f4979ae8bf570973aa856102808201527f210e7b95b8c8d91c89be6cceca4ab15bf03eb1df3455b63fa6333b087a68ac4c6102a08201527f081abc7a2934db3cc5cd6cefd2782cd13f77ea77260f5c5a64ec4553c3724d0d6102c08201527ee4653ea7c3713c79adde88be2c1e9ef5244d9a8f946fb90af7e8c0ea187e226102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610531600084013561005e565b61053e602084013561005e565b61054b604084013561005e565b610558818486888a6100fd565b90508060005260206000f35b806040810183101561057557600080fd5b92915050565b600080600080610160858703121561059257600080fd5b61059c8686610564565b935060c08501868111156105af57600080fd5b6040860193506105bf8782610564565b92505085610160860111156105d357600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha256_sha256_rsa_65537_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha256_sha256_rsa_65537_4096.json index f642e4c0c..456b41c15 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha256_sha256_rsa_65537_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha1_sha256_sha256_rsa_65537_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057b565b610057565b604051901515815260200160405180910390f35b6000610519565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f1b546220e020b3422d41613cd683fa0d619653b99f10adcbc62bcc581fc0746f85527f084c959d38a5570f3ee255c48ba00f2520f0886bd535764bb07e52eb21cbc1dc60208601526000608086018661019a87357f29b7eedde199db606114176b5725a9287849d12c8e2ae3101d7d42f9e799dbb47f0833401935690e4d3d797d331320d42cf1b23808cc7f4c6aeb01fbffe84b564584610092565b6101ea60208801357f2a525d662869b2a7d839f7c4f296ecf0d0b5a85c4f74d494a4b7a8e37b96b5837f164e9668a28d794cbd14f13b8609a1a5fa7f496c651cbb5e4e1ca82df60c184884610092565b61023a60408801357f29e0ed781988d6d8226db399f9b6b5b1f649861785030244bb5c0cd76e15edda7f02a5cff530276e262bedfde1d549dc19da46acedeeaa89d90d415140a19cd6e084610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527e958d19c2d113e5b27fcd633ab5d2fcc9ea51d3e8e7c9a3346951fc394ca0426102808201527f014fd8dc3de74841d42adfdafae45e551d2fa66f56aa82e2710f89a67db26ecc6102a08201527f1b39e1b9f2a89f9e042e443d670b2573c41823d35df0ef2dd69517d0f74ebea76102c08201527f17261b3cfe9b25e24f3ad460aa128033f1a3fbde14f910e8989a4fdad20d250d6102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610531600084013561005e565b61053e602084013561005e565b61054b604084013561005e565b610558818486888a6100fd565b90508060005260206000f35b806040810183101561057557600080fd5b92915050565b600080600080610160858703121561059257600080fd5b61059c8686610564565b935060c08501868111156105af57600080fd5b6040860193506105bf8782610564565b92505085610160860111156105d357600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1.json index 3ce00936f..b90fe961b 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha224_sha224_sha224_ecdsa_brainpoolP224r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f0f9599bf7a878a20a1d84032cb07c60c81ffa57ac05ec10c04e8368ec6f7792c85527f2f684740d7809f043e236bfc599a8579fc421fd960291867b6312e578a83dfbd60208601526000608086018661019a87357f1614e360bb44c18e3f0ed5d2557a5cfa384337f422b09ac822378f9bff6d14037f20f21ed4ae4c019634ceb0a42274b84a3f29653e73734bc8d5074b201f56f8ef84610092565b6101ea60208801357f112ff89411a7ffbc8857262d4b8289d615b54260a807b3a10c21ff896c72db9c7f19fdced738a2486f751293a0498bc8ef009da6e994aa944a33a9a0b615be57f784610092565b61023a60408801357f1d42d5dac8584c15b86abca94e006fc1e4eac57e5e6d41c50868c163e4b14fc67f05e44f31fc1a537a0f539adf82f43a248e65b4a49c29801be50bd74c1509bf9d84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f0728d08e0bf7e19af8e193f0bd6a06cf126001b43cda966f5c232b184cf1435e6102808201527f2e98da41503f8b6a4130fdc42f8d08be9c28bb87b4cd2cc33926556badc459706102a08201527f0df35252daceaf077522242c66e07b80ecf9cca3e4dfb053be5d76cbb58822846102c08201527f1fe7aa244e27e13fefd56b7b2693b5ae52374b144c9d42a3a75564576722371a6102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1.json index 04c7464dd..a03d6f6af 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha224_sha224_ecdsa_secp224r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f1baed069e2754b3d56f75ec537a6b3a88ef8b297218e39ab823b99bcccd4578685527f12be7223c259f51ec0f5342e55659df025bb5cf826a0e570b1fa35a2451d44d560208601526000608086018661019a87357f052a44322750af73f0a00e842708f3fcba6c99152b5c2115fbbbbb21d8834a3e7f1e1a554701513719623151bcfdd599dc429a1b08358135da32812de99bf49b5184610092565b6101ea60208801357f184af15ac4f2b910627c533b9fb0818959934a2999ee92a3b0758209c819d2ad7f1607d792d81e52d4ea7aa17f0165b3b678691976f21bc027cccd3b59fdb847ad84610092565b61023a60408801357f08a02a1be52685f0157aa3e7fd34d6d5a50f3403b245b59918a23e894e3218f27f2e3c7c474b460e8bc6fc8ac0716b46cb796d83db27c95c1454d262de9165fb5284610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f14d4332d103bb22d3844b7710ba0cee3af4dc4aa90cf6c6a2e038ac7f85509836102808201527f2f393a17ff2b191d589ccda68226a972776036553322f014d3845b425e65bbae6102a08201527f279fa0ad48dd0594f15622237c1dc18a1ce9189c15a4200edfce37497cf9b7b66102c08201527f2ac3cc06d8abb80e4bd7f9c9d24eebf188f76fdbc4247ed87f0bacd5d411bd846102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1.json index 4269ac268..2ccb22a00 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f135fae7570ff384e2323625f5d8576e1391113010185394bf443a13c8e78f8e885527f1ef47048feca5426f3db879e84088d0858b8f769e48d3cfccdd71eb56e299c9460208601526000608086018661019a87357f26a6690b41fbc0d5b70dfb0809f5a2d72b4ccc21e1c990ae84bfaa923611e7b57f29b907abbe15c590dc780fab9220c1985c350771045203749e77ddaf4aa8f40584610092565b6101ea60208801357f144603e31fc2188de3bf989a8a7ffafb9bb4eb5d2840db7be591d19ae57dc5477f2616fbcca50f2d361c747a1972898c79f8011b173ba605634c4c7ebc5e0926cc84610092565b61023a60408801357f2a69cc427b629d647eb6a6fd6192bc4a1c11896f8531b9b37d5937d815afe1237f1b9c91297225fd2f3d9e7b032e096cac898ecbdccffb511bd49166d65029b26c84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f0bf0c49198beeed4209357118b2b93add067976963a674ebaf2fb1b93ab0ca7d6102808201527f072c8c0f0c01b0cf9c3c3223314fefdc78511a00f77907336749e4cbc5867f816102a08201527f1ce17db51cefff7f15cb8d5fc85322debc6c03ab3165230cbda104a602e3fca56102c08201527f1815d49e77c7b212a352cc337816b332adc3ac0b4e85ad9b7e7542d8e303aac76102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1.json index cc84366d9..7f3cb7d34 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP384r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f1fae0bf8aa0634a90d6e7f8318963130f77bbf4c245949df26ce9ad3a54f7b6985527f0f3c7e519d2a29179523e920a00c7db15aff38221c5e2bfbe24b4b4ae94a353260208601526000608086018661019a87357f0bf4eba484bcbea030bf3e7dcfcf906b7deb56ae8dbbc4bab40e59cea07303727f0d760b1fc5ae8866df0955790ca5a5ad95e3873acf399665b80f7c037bed5ea684610092565b6101ea60208801357f2c3ff329187d2945353be4843812e648883df75c2dc6477f88bbcb7e7fd8282b7f0e7d84fecce7e04d50c7962a3232dc515b20a89dc715dd5a1e3bf83e6c43a9b284610092565b61023a60408801357f21ae35d2a3fcab8dee88911d0244996771078fc1177bd6e7fce270c14ff5b3cd7f0a8bbcb7a24ec08c5bb90ce13b7e1192db0e0534326b13fd77c4eee77126ad5c84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f0d9aea9d829b751d2bfe98621d84908edeba485175f56ff720f8044ad26fcf856102808201527f0796633687dd49b17b8d02f553682527a3fd169a0f674d687281ebf872393ff66102a08201527f147b586c1d3c1761b75150fe158f464c056820a4f1a678b9c0e22ecdf39bc7f76102c08201527f0e466ea477ba839747ad58c1709f8d808ee6875ef73ddb62dc14149b2619eec56102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1.json index 2436ee54e..616110301 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_secp256r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f21c8187e105c0d319d92f2eb54b77cabdbdbdb9280c30b52f8af5bc8093f984f85527f0cfd77ef90b33e255f8ea7c6eb4b546cd3a34c65295fb5b7bd67fb4103943b2260208601526000608086018661019a87357f26a6690b41fbc0d5b70dfb0809f5a2d72b4ccc21e1c990ae84bfaa923611e7b57f29b907abbe15c590dc780fab9220c1985c350771045203749e77ddaf4aa8f40584610092565b6101ea60208801357f144603e31fc2188de3bf989a8a7ffafb9bb4eb5d2840db7be591d19ae57dc5477f2616fbcca50f2d361c747a1972898c79f8011b173ba605634c4c7ebc5e0926cc84610092565b61023a60408801357f2a69cc427b629d647eb6a6fd6192bc4a1c11896f8531b9b37d5937d815afe1237f1b9c91297225fd2f3d9e7b032e096cac898ecbdccffb511bd49166d65029b26c84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f2dd7c8b2d6f0ca40a81cf4cefb4972e5cc65738c1cb681c6c477db9e4a21ec3e6102808201527f031d951d0d7baaf2ef68ef0bad035371b893bb805698ac27c815ff0f8b74f3c46102a08201527f2dfbffee17aad54ac198444736d242db636f94863b2c04d52421c9a3abd870c46102c08201527f21244ad2d52c07efef181ede715dbbddffdf4609efba5b55d6adb2617b9b21036102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1.json index 7256dd41b..abd50dd9d 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_ecdsa_secp384r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f14e037264d81c619deedc34d63047e265b470e145d085523fc483c8eac9d282785527f2c04084b7e9c2a2e6e3d6eea40802c23628e89f1ddfb430f41ec34fabe33d76660208601526000608086018661019a87357f0bf4eba484bcbea030bf3e7dcfcf906b7deb56ae8dbbc4bab40e59cea07303727f0d760b1fc5ae8866df0955790ca5a5ad95e3873acf399665b80f7c037bed5ea684610092565b6101ea60208801357f2c3ff329187d2945353be4843812e648883df75c2dc6477f88bbcb7e7fd8282b7f0e7d84fecce7e04d50c7962a3232dc515b20a89dc715dd5a1e3bf83e6c43a9b284610092565b61023a60408801357f21ae35d2a3fcab8dee88911d0244996771078fc1177bd6e7fce270c14ff5b3cd7f0a8bbcb7a24ec08c5bb90ce13b7e1192db0e0534326b13fd77c4eee77126ad5c84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f19e27f87d314e78d31f71a9fe0fab5f31d5e2f2634e338ce7befd28f145608a06102808201527f204ac63b93e59ae6bdbe4f881a01c070bbc3ceffc0844de89f51b9036afbe8cb6102a08201527f2ccfd4d46c7686a8e88d913e96671b2cc3df920548b749d9aa8fddb39d2221bb6102c08201527f2ebf439a7ca708a971f3e47df95a4163a077965b33f62990e76b7865542ad91e6102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsa_3_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsa_3_4096.json index 88d76ccda..62d27e1d2 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsa_3_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsa_3_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057b565b610057565b604051901515815260200160405180910390f35b6000610519565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f0fcd6efc6e731cb6d0fbaae9f0a03df2a046769086e8b76b181b0b4ea6259b3485527f2ddbdd6bb35aa93a72a3bb80ebb89f075611f9563022d1167105a42cd11a595160208601526000608086018661019a87357f1d9e3e8b3445910366e678ba2250e7118d75d87af52f159cd2291562d300bfd77f1452dfc9b2b1633f4a0d2ccab5243bd3e1cab2d9feb364216eba6da95ffc0d5684610092565b6101ea60208801357f1617da785c3be043858c733c89643863d10c97bf491b4802eae7c4461c53b4ac7f0f3ee5b4ed4950681ce80559d961c07c603ebca01ee4288ba0f2eac7db10623d84610092565b61023a60408801357f07b71dba54e4eb48b124c84751decc746cda907340c1ee357784e5e3da3479a77f0b24a18bda0c41f4267a929cf90432f552095d1472560da6667805ca161ca88984610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f188ba6675c2574a87aac36e318cb5891ded3cd30931c282c44858eb9f2259c256102808201527f26c03e8df327bc4c2fc54f448014071b398dc1447354950eda44711b3aa0384e6102a08201527e0992672bdffedcd0c918a1a46cc6fd3570044755b344d511f856698324d8256102c08201527f0f74b6434eca19c7a11c57e981e10cf6eb649f01c7d418d7c403ce34ec86bb2f6102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610531600084013561005e565b61053e602084013561005e565b61054b604084013561005e565b610558818486888a6100fd565b90508060005260206000f35b806040810183101561057557600080fd5b92915050565b600080600080610160858703121561059257600080fd5b61059c8686610564565b935060c08501868111156105af57600080fd5b6040860193506105bf8782610564565b92505085610160860111156105d357600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsa_65537_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsa_65537_4096.json index 795236ba2..3a7baaa69 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsa_65537_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsa_65537_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057b565b610057565b604051901515815260200160405180910390f35b6000610519565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f094b24f33d3516061c9093df9c0638df5a24d34eb977f6b0b82305a62810c2f085527f14034be3c2b677100f37e86fba87db9af6ae4abb8c7e79dbb1ba06f90d13100760208601526000608086018661019a87357f17613528faa349d536bccc4d22abb972fe559f5902bc91fada0fced38d43a8227f1ce7f5e4a0e9a129be6be864ccadd5ade1d6d62bb9505f551e8c4c9ed420658784610092565b6101ea60208801357f2d9cdecd914d4e2a02e6ca41d131b7a2ff9b7a2c9d1752c10ac9ed427ef6f0ad7f130d8cbcdeb5e03abe1e82d86aafb1d1611e7fec6198b79a60496f97a5f992db84610092565b61023a60408801357f1057fd32397e60a54f6e0b7410c0929ee24c2064bea1707fcbfac6e50c66ce767f0c9eb24bd770143343588174b3259a95f477d7719826e1d2ed159570c3eff70d84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527ead415589a3022f1db607827817be3455d7b4462fecbe1ebe21e10ae76004036102808201527f14382b5a3648d75356785e2c5ae00d2c7d8c69818665c1e076e26ec0d7485ceb6102a08201527f3023bf5c5657629a8cbf81abb3bcddf63d873bf5dc29ba8dc8509007eee89b8c6102c08201527f02512e2501b8513b22d883e67180834dbbc742d5c0510c414033a46ae76450356102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610531600084013561005e565b61053e602084013561005e565b61054b604084013561005e565b610558818486888a6100fd565b90508060005260206000f35b806040810183101561057557600080fd5b92915050565b600080600080610160858703121561059257600080fd5b61059c8686610564565b935060c08501868111156105af57600080fd5b6040860193506105bf8782610564565b92505085610160860111156105d357600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048.json index fe78a86dd..d913f236a 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_3_32_2048.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057b565b610057565b604051901515815260200160405180910390f35b6000610519565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f2a0ed21e86d200a9c489c4a19892a57dc09283ac8ab9cf85fcc5107293f27f0885527e0a77c6211a0a624ccfe808ec1809e93f5c92c54b15ff8988821411691b77d760208601526000608086018661019987357f2ba3735edc67025554b859dae8ead80672681830b6293c2065314f0ba7a859ba7f29f97d2028eadbeff4d64296b9dc37b0606234bdb9f07036c0ad0866c96aac2584610092565b6101e960208801357f09e99270663f2e9c1d6bd65dc2f7e611a079125c60f342f4fd9af3d0e4dfda0b7f06a324d22df0a2ea9be4f025cd264840c974ad4cdd9956b9e4e884bebb63a13e84610092565b61023960408801357f2222f84d3086cfeb1b04c04f279a0c948aa3222e5decc79f182b499cc4512bda7f02441d37c69713d959a6a3f596618069c6eb8a8578a7eb5702005ad2ab512adc84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f2d688667a5e6b336287cf014a11f3790142b9970400f3abd0c60a41ca901e4086102808201527f2f304c0d91449f290fd6154ac2817c39c90a45451ad4e6aa89b3e38f1e3bf5566102a08201527f139550f4a0361a8b14104badfcc5be6a24b3a6ac4c11477bd4f6ed5461b938176102c08201527f237626421a376345550077369de1c73ab9746b5df11ac6c561f5a0b4c1c48a3f6102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610531600084013561005e565b61053e602084013561005e565b61054b604084013561005e565b610558818486888a6100fd565b90508060005260206000f35b806040810183101561057557600080fd5b92915050565b600080600080610160858703121561059257600080fd5b61059c8686610564565b935060c08501868111156105af57600080fd5b6040860193506105bf8782610564565b92505085610160860111156105d357600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048.json index f3a19956a..39db191a3 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_65537_32_2048.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f2da7832f999f4d0a3adfa896a3f7a6098ca38a362fddf54f33bae6911c543be085527f1273e99ce372c3ce45d8041ed02e1877c191e096eb58314730de819b1b97d8ad60208601526000608086018661019a87357f082d9c4a510909a37c988a017a531c74ea8efd0e5ac7332e3cf166e840201d4a7f0fd26278ec4ce1d62fddbbc60f3bd6c759f67b8689327648c95eac25ef777c9184610092565b6101ea60208801357f25236d5a1b94f22f04a2496c57c52f8774d19da63d1cac50d664252e0f4edbe07f04a5ef3fd1dd794934761d3799bab13b920581528468ffd82cbfe8e5013eb21084610092565b61023a60408801357f136534ea0d848b2f8bab088aaa35b1b78dcd7272d183f6cbd9472f83c9c646847f2649199a02604c196c04cbd1304e8df2eadfae4873d988dabe842fb180ecac1784610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f027bc4189fa5ef287719808db902322ea67aed811d05e27a37216c8585e8b2d96102808201527f09082dfcbe66e369d6b8063fcd0827677230a9b324504486901ff9023567e2a56102a08201527f2779e989f13accb06963944e6ece8912ea2193f18254095bba3f0994525a62f96102c08201527f2dc42b613a4db9b2421f31262d7c82a4f67b55a308077eaa31ca1041fed1b8ff6102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072.json index edd858bda..b570a372c 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha256_sha256_sha256_rsapss_65537_32_3072.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f2cd2813597f1bf4a3ea39147057247331035448bdadf6afa486a0e7eae78800785527f1b0d62d704d428ef85ba8ebef66d0a2bffa69ea3d209a4e8af101ba9c69e417660208601526000608086018661019a87357f2f3f13f2581322b430446c0041ab3fd81caad7ca9b9ef6aeb00ec9566fe8fd817f07e05bc1ea26dd99da55575cc59cc567e66dabd31486864ebe43913f68af2b7b84610092565b6101ea60208801357f24bf4df5ab4cd3d96c76cb80ec5aa40fb75a27fc0c8f39176e35458db96c6f827f01c534d83ba508c8e799bed586ea9a4cb1282668b362401d5a4c491ca66d83b484610092565b61023a60408801357f1bde4781fa85e704bdcbd317784328d2c62ba8166758e356f2b160231e0d06767f1acfd5eca1eda0cd575e0465755ac072bf91e46348790e1376d2e6180b29ab2784610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f064049ae3b13c49cb938b3f3c5a0333a095609d8748a74eadcd50703ae35f1336102808201527f0dee86f19a4d934380ada0c2026dad9ce18abaf2fff06104007393d2240158f06102a08201527f16d97cc9c12c558e9ad138afce9cb0ac7cea53773a843489132679d572d9e9bb6102c08201527f1114c16067954cdf5ffa632423fcc6ede1b6d91b733de26f15ec953bbcb767596102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1.json index a796f0eca..1c635d5df 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP384r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f1f59aaf00de76bb461f001c6e6603de1e0f8e669b5cbe1473b205888417500c285527f28f2241672c58b2db83fa4642ba9cc338ff1b624be09b57d3bae516388342fbe60208601526000608086018661019a87357f26570195d627441a27ec05249efe2f836ee5585c9b38b40ea8b56f0f18179ca07f0a92b836c71bd33ec838c5387cd489b86e7ab0786d8878bb9ada32af6f72df6f84610092565b6101ea60208801357f0113122cdca719756836b08d40a63fdaec4f6848a2c64a5d83ca4fd5312bea5c7f1b2943b66d9ec8cb086b9ec042d8306fa19192472d2544a2153de2a935e5fa4b84610092565b61023a60408801357f0c031a1ba8a75df053a46bcf5c01145e7bd630d8ab3824ef146ef98fbd4e12137f23566651ebf3531af5ccdb19d1ebecbdf3a7a6c675129bc5f8e2e67782c2569784610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f1bede8a8b33b25432dc8058eb6d57f71d60768d87861c7a95be96ebcf8b587416102808201527f2a70d08dcbe4be48d876661d05dc16b820899824fe237675a641b232b095a8f46102a08201527f05df3903997d60fbb15511fe8bbd712008318ecfe5e1dbec37aeac2f2729c2ee6102c08201527f0e6fc0d947543cbe534883413ebaf1217fef3f292e76b9b52fb39203f0eec3e16102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1.json index db732f6a5..72ee990bd 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_ecdsa_secp384r1.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f117bd27e30ed283f7f1cefb57f0a7ad5d602d339211c2f7d9f587063511d393b85527f22cc8ff80e6be17930639a72e13afb6467b88e189c37e1af4b83554ada74c94960208601526000608086018661019a87357f26570195d627441a27ec05249efe2f836ee5585c9b38b40ea8b56f0f18179ca07f0a92b836c71bd33ec838c5387cd489b86e7ab0786d8878bb9ada32af6f72df6f84610092565b6101ea60208801357f0113122cdca719756836b08d40a63fdaec4f6848a2c64a5d83ca4fd5312bea5c7f1b2943b66d9ec8cb086b9ec042d8306fa19192472d2544a2153de2a935e5fa4b84610092565b61023a60408801357f0c031a1ba8a75df053a46bcf5c01145e7bd630d8ab3824ef146ef98fbd4e12137f23566651ebf3531af5ccdb19d1ebecbdf3a7a6c675129bc5f8e2e67782c2569784610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f17f51d3778a4bc71d8a286bda09ce09b4e4356fe8fa7f54aa8035e6bd3e8d69a6102808201527f0e2964d91b21bfd1df18f675e923f10e604b71908fd826eedd0a8761f749e3b26102a08201527f0c0f84315fb31c9238e5ef1c525b5e194b651817890070673f28fc51719643446102c08201527f1656ab9bb6cbd991957cfc592082c15a7c9b8f0529fa7961a5370ab884e9d3566102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048.json index aa0c138bc..5989a59c3 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha384_sha384_sha384_rsapss_65537_48_2048.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f12e3d6494d759914c9f6ecdea73fdfedb122e933587213b0f020b3f2679d1d9785527f28466853a7c7bb5db628bff8c61f7ee3b842151816901f684fc45ee6f81a42b960208601526000608086018661019a87357f223f4ae2920e7e3c3504210b9c4136cbedf3a2377fe6bb335c6676740a5d4faa7f1846928abea61049be6a21089d89fbebf7dd2f9e27061c3054b086538abcadcb84610092565b6101ea60208801357f1fb5e27e09b5f00fb08db31868b9c5778aaa799406877c4e9bd52672d24935f77f27c69c2626b0fb21c99d5bd50670854b674ae4129f84a097988b8067ea6641aa84610092565b61023a60408801357f03c895703d17914e27de3c516c88dcb07c0056b8faf910ed9420fab407f5b3327f27a18915b6e397efa0d321b8035e2e58299340065c31cba198b0450da63f3d9084610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f19ab6f84f0c6351221f4c0767850473e1ba2b54a27ad45b14a4165de7c9f042b6102808201527f1e80d512fcf2bf6b8efab6609949c86177f8e7b8646d217612dd0443c2bbd80b6102a08201527f136a700186f6bcf6284125c63c219dba3bac5260dbd985526dd70e38795a694f6102c08201527f14ad3fdcb45fb294bd94d8b59fe8ac13fdfa3826363b46b603842ee4184d8f596102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha512_sha512_sha512_rsa_65537_4096.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha512_sha512_sha512_rsa_65537_4096.json index cfb884d3d..547850b0f 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha512_sha512_sha512_rsa_65537_4096.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha512_sha512_sha512_rsa_65537_4096.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f01be5df11f9b0b3190590074a46e44ee3476b1274d55e01c305408be1a99e5be85527f2e3795555412de984ea7d75c440cf507bf250156bb12ff0cfae5658499d7f94060208601526000608086018661019a87357f172a2af263f6ab35c462c61f850cac9276bd4365b26e697c8fdc87eac3b102ce7f20d7ffc26d52e85ef2362f5f8cef16a7ebebf814959ac65b73bbd7de959d72a584610092565b6101ea60208801357f1689511f2e0277090abd13a68b927a02cbe51db9aa80f9a3008696d9785369c47f2eeb08c15f6b80b74515ef531d20237c42297a90cae5d49e6010128c31afe8e984610092565b61023a60408801357f0e376adc8371647d15e4fd3707a31ca5e016486a35458514f3dedb74081f701a7f24a997ff71dddcd59832b1f2ea4621daf54640860286cea37e75c833851571ee84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f039ba9f2b45abbb50261b38c099a7dbcb83e9f0f72374f896a2c3ef8b7cbfa3e6102808201527f122430dad3a9861cdc47ca7921c9992a07722f056d6f75caa28ad4d1ecc32a816102a08201527f11b9140b404dcb40aebef9a6b926ec4aeac81cf59d715384a9ea2e72930e06376102c08201527f02cde9c8836b2a68675711d91ec91a1d7e206201addbf134ae78bb4e597a87bf6102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048.json index 6234d1c25..f10c4196b 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_register_sha512_sha512_sha512_rsapss_65537_64_2048.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806311479fea14610030575b600080fd5b61004361003e36600461057c565b610057565b604051901515815260200160405180910390f35b600061051a565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f2119336aff237f850a11997c4a88c0408960ead2ad7f7a95cea665cdbbc51dd585527f0a5d0a9610f5572c427cc8ec29d07c2ebfaaed7e2a5eb60bc15f91e83b70260d60208601526000608086018661019a87357f2d185a5074c6417811e6e59d5a03aebfd983b301ea825ba937dbd5fa768473817f26bb6f63c13a9a25e14af96c514bc1ed2c9d772e57dac523037b82fd62dd933e84610092565b6101ea60208801357f1ed5174d8eb0bc2420cc4783f0c653a3d729e8ba104cd967907a9f0403a1b2857f0e5a8409b620602a84d74cba3725fc26f302b71b05740c1559822cece8708f7084610092565b61023a60408801357f08caa5648a2c47b4ec8010be40ab7afb0d2f506a4df4aa7c96712a3343eb3dbd7f0e26f71bc6f9979382c054602c8a3dd256194959b570d7dd0007cfb3502c027184610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f114501e1125b9e154423749ea8d56cec2a5d792979c230ea5ec280af71f9468f6102808201527f26a02d4019d0c1de308c6fe7a40555a56e2888df754eddd932862922c2416b3b6102a08201527f233765ae2a63aa2ce7f2b6c69d5659067a3b83b2100e75d7448cc1ac3f976cc46102c08201527f2251ca718739da52af12957e28b84785e99f96f921623ce193d55dd49940afc96102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610532600084013561005e565b61053f602084013561005e565b61054c604084013561005e565b610559818486888a6100fd565b90508060005260206000f35b806040810183101561057657600080fd5b92915050565b600080600080610160858703121561059357600080fd5b61059d8686610565565b935060c08501868111156105b057600080fd5b6040860193506105c08782610565565b92505085610160860111156105d457600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_vc_and_disclose.json b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_vc_and_disclose.json index e04f8cadb..887f129fb 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_vc_and_disclose.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployAllVerifiers#Verifier_vc_and_disclose.json @@ -42,4 +42,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80635debc07e14610030575b600080fd5b61004361003e366004610c20565b610057565b604051901515815260200160405180910390f35b6000610ac7565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f0c7b6a3660fffedea810d100419840ffe9877ea02d702ec987536d9caa871b7185527f2a9c819e1bbc23a9574066d043d0a61acbbdeb0b37c868954d8b783f5bc5ccb660208601526000608086018661019a87357f0f7ac1f8b45edfc6d6ebe3f65055215b3f79db84a88dd93b4bb1cff0975d22f27f03f971e96bfbfbf32c462ebd7f36de750b270e82e7857a043ab7a6929224466084610092565b6101ea60208801357f2f11ee27dbdc6294075d9d0f0ee77469f7d1de9b607f00ee49a0f2c7711bf1027f23b56c9d9c7d362c0be2843972a84debcc32c1e777dd823e91ea5ec3c45277e884610092565b61023a60408801357f25d1c2e0654ffd7bb011575bf431ad1896ea12a8ebf568ce94978281f9153b927f1e0e1ad90e3f1a41482b90d4fce214c589d5fc470ab5fc0b785629df9bfff92584610092565b61028a60608801357f1d9abd8abdc52c3ed53debf8f9e59b398c43137057c83f4149372936f114d5587f174dbf2b1aad5a81f642e6dec0ac45e0ea98f76c4f08f0f64479b90850fec20f84610092565b6102da60808801357f0a3001bb49ab5649dbe3f074f51b318894a51f129f7d44059d43c701fb0d5f0a7f1f0ec195df25809520d3a7a22b7b98fa50c81ccf3889041bf3701bd20e83dd1084610092565b61032a60a08801357f0b5293f3c91009653796620495aea86ae0457b062d27caee77c22f4501ca17dc7f012e02950a019c09e8cae185126c463b1604ba63789b181615d679e946cffca384610092565b61037a60c08801357f21f72700c3ce7e1da2c8194da49747f3c70069f7f8fe8268b9fb66f7837010ed7f2e51bcfe0397299fa16ae452b3b4ccd90849027a276ccb154cebdf81fa1e7b3984610092565b6103ca60e08801357f1dff400ef09acb5e398b98839eff95e9ef7379f8080f71f9cd9d50b11b1324c97f2ebd974d354ba69299f96c7d110d875bb0a328304aeb4ddb2081b906f00241f084610092565b61041b6101008801357f1d0336f69ed5e3db622473df73cb5bf205c4cc8bd9d225e0225feb558b71740f7f1aaf99125b3fed9ea702c5ab59c1d1bd0d4ef0092984e6338433e1a12d35c97184610092565b61046c6101208801357f08d8ff3bf5c4211d20a7f7632e7137ab2a01a3ee6e1b569c8bf3175424ad27207f06f9b0f7a44af82885651d3b7d67c1952b70dc195b0198ece2057187d141a4eb84610092565b6104bd6101408801357f19f7f659f57468ea191ad526a211c8facf37c0fc8ccf5d646012d95030023d827f199a82b7d26d48252f4e74affdc9f7cf2fb82088a2d8c70866273499668d4d0e84610092565b61050e6101608801357f1f5268fbdc743cc3302b821568b4605a51ceb5d009093aa1dbd03b5059c1a2b37f065ea0ba462fa6d53bf11d684ff325d100b5c8b2e726612289bdfc24af15e60e84610092565b61055f6101808801357f20bfd93e3fa23b5608b628db05764df4bb4a69e7612173e72b54e5df72b800d77f29bfa0e5d343f5c30fae7917a2a1eb9b5f7471460e31c72e75b343d16b3cfa6084610092565b6105b06101a08801357f12a2c88f97d727de2046d299b6c49da5ac6cc5f296a518ac957664b2585583707f0e8a8a0901fe0b5ad095a0c7933cac462d14255da1869cc0c9e7ace0f94cd9fe84610092565b6106016101c08801357f2be19b003ca7b6ed568b8b90fbb03851143f59998d562e92f5522feb1ce2da0a7f243360d901f4cf9314f474827cd16c961e31921a92002a845be926215d93ff9084610092565b6106526101e08801357f24fc96fd009bf036d874076e234bfdecf2265573fcdbfa0eab9bd5008e034fac7f0bdec8c125709c319330fea6fae7a62fb322f12db7b91ef8593e021c3d7d45cf84610092565b6106a36102008801357f1f7fcb69c627b84e00c4a04aafd76219736f054c61ea9152180da4c3d5315ab57f206395dc701c83864ececc403425044d239d028f8608e926065d0807f90091d084610092565b6106f46102208801357f2c411750dd602d5480c51c4bb27c950557f69c9951b31f1cbf3e91801f85dea57f1a509e0df5e492a8da41c08e2cf259485f477e02498a689849aeeec0239d76ec84610092565b6107456102408801357f2dda1b3b4ec37d4e96af06b6c50c11ca9c629fd59212164e1eba22de3232e36c7f1e34964a30d48210d3452cca93cf07dd552184697cff4093b6fdf36b2877b7f684610092565b6107966102608801357f0a0a2274eb9255311e8d0a8589822697a18c6cabead6162fb224e187789ca3c87f19f6844eadd893a3e81ebd83fdc81a8a8e9e5000102a6f6a010507a99d90f4f884610092565b6107e76102808801357f1bd338ad9253cebe7c1e924e5b90aee30ea4665dfe0db5b5821c5e68bd2725547f1962e4cebb6cf097414cae000a90d1be7cac768b4c69e2622b1ec32e7ec9f5cf84610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c760c08201527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a18230260e08201527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101008201527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101208201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101408201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc81829610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f094dc7dd033b0e65adb3353cc4eb1a4b57e24feec3dfbbbb09582969a37121ca6102808201527f0ba767e9c428d635a11b16b404a8b468f093dcac01892c5334d12e2ab74dbfa66102a08201527f190b12c1476bbfb8d9177993523ca6d9aeb85db0f09e2651bd801a7ece5520d56102c08201527f1622c393bfa6da47e4a94ecc6a82785822dff1f0a472af922d5786b2fcb307c16102e08201526020816103008360086107d05a03fa9051169695505050505050565b6040516103808101604052610adf600084013561005e565b610aec602084013561005e565b610af9604084013561005e565b610b06606084013561005e565b610b13608084013561005e565b610b2060a084013561005e565b610b2d60c084013561005e565b610b3a60e084013561005e565b610b4861010084013561005e565b610b5661012084013561005e565b610b6461014084013561005e565b610b7261016084013561005e565b610b8061018084013561005e565b610b8e6101a084013561005e565b610b9c6101c084013561005e565b610baa6101e084013561005e565b610bb861020084013561005e565b610bc661022084013561005e565b610bd461024084013561005e565b610be261026084013561005e565b610bf061028084013561005e565b610bfd818486888a6100fd565b90508060005260206000f35b8060408101831015610c1a57600080fd5b92915050565b6000806000806103a08587031215610c3757600080fd5b610c418686610c09565b935060c0850186811115610c5457600080fd5b604086019350610c648782610c09565b925050856103a086011115610c7857600080fd5b5091949093509091610100019056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHub.json b/contracts/ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHub.json index 80bcbe9c9..75564a772 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHub.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHub.json @@ -73,4 +73,4 @@ "deployedBytecode": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHubImplV1.json b/contracts/ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHubImplV1.json index 044067a87..16b460fac 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHubImplV1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHubImplV1.json @@ -951,4 +951,4 @@ "deployedBytecode": "0x60806040526004361061014b5760003560e01c806379ba5097116100b6578063e30c39781161006f578063e30c3978146103b7578063e42208af146103cc578063e6db96b7146103ec578063f015f5791461040c578063f2fde38b1461042c578063f559df131461044c57600080fd5b806379ba5097146102e05780637b103999146102f55780638da5cb5b1461030a578063a02592d81461031f578063ad3cb1cc1461034c578063d1ea63a21461038a57600080fd5b806330aec59e1161010857806330aec59e146102405780633d098d8b146102605780634f1ef2861461028057806352d1902d14610293578063715018a6146102b65780637798200a146102cb57600080fd5b806304fcccd1146101505780630ae1b2c0146101725780631a5da6c814610192578063253f254b146101b25780632b26ef50146101d25780632ee85c3e14610208575b600080fd5b34801561015c57600080fd5b5061017061016b3660046131a2565b61046c565b005b34801561017e57600080fd5b5061017061018d36600461323f565b6104fb565b34801561019e57600080fd5b506101706101ad36600461323f565b610560565b3480156101be57600080fd5b506101706101cd36600461325a565b6105be565b3480156101de57600080fd5b506101f26101ed3660046132a9565b610635565b6040516101ff9190613404565b60405180910390f35b34801561021457600080fd5b50610228610223366004613511565b610889565b6040516001600160a01b0390911681526020016101ff565b34801561024c57600080fd5b5061017061025b36600461325a565b6108b2565b34801561026c57600080fd5b5061017061027b36600461352a565b610921565b61017061028e3660046135a0565b61096b565b34801561029f57600080fd5b506102a861098a565b6040519081526020016101ff565b3480156102c257600080fd5b506101706109a7565b3480156102d757600080fd5b506102286109bb565b3480156102ec57600080fd5b506101706109d5565b34801561030157600080fd5b50610228610a22565b34801561031657600080fd5b50610228610a3c565b34801561032b57600080fd5b5061033f61033a36600461367a565b610a71565b6040516101ff9190613696565b34801561035857600080fd5b5061037d604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101ff91906136db565b34801561039657600080fd5b506103aa6103a53660046137ab565b610a8a565b6040516101ff91906138a5565b3480156103c357600080fd5b50610228610ba5565b3480156103d857600080fd5b506102286103e7366004613511565b610bce565b3480156103f857600080fd5b506101706104073660046139e5565b610bf4565b34801561041857600080fd5b50610170610427366004613b0c565b610eb5565b34801561043857600080fd5b5061017061044736600461323f565b610ff6565b34801561045857600080fd5b50610170610467366004613b0c565b61107b565b6104746111b5565b61047e828261125a565b60325460608201518051602090910151604051634d42ea0560e11b815260016004820152602481019290925260448201526001600160a01b0390911690639a85d40a906064015b600060405180830381600087803b1580156104df57600080fd5b505af11580156104f3573d6000803e3d6000fd5b505050505050565b6105036111b5565b61050b6113ca565b603380546001600160a01b0319166001600160a01b0383169081179091556040519081527f668ec257b00a7e1390c2dc2aed8dc1530b91cd9e36167e4991d705cd3d2fe65e906020015b60405180910390a150565b6105686111b5565b6105706113ca565b603280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610555565b6105c66111b5565b6105ce6113ca565b60008281526034602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251858152918201527f2bdbcbf49383457c270bf05734cc8d74acb8a5788f0dc6384a715680f6a4dbcf91015b60405180910390a15050565b61063d612eeb565b6106456111b5565b6000610650846113fc565b905061065a612eeb565b60005b845181101561087e57600085828151811061067a5761067a613b7b565b602002602001015190506000600a81111561069757610697613b91565b81600a8111156106a9576106a9613b91565b036106be576106b784611555565b8352610875565b600181600a8111156106d2576106d2613b91565b036106ea576106e084611564565b6020840152610875565b600281600a8111156106fe576106fe613b91565b036107165761070c8461157b565b6040840152610875565b600381600a81111561072a5761072a613b91565b03610742576107388461158a565b6060840152610875565b600481600a81111561075657610756613b91565b0361076e5761076484611599565b6080840152610875565b600581600a81111561078257610782613b91565b0361079a57610790846115b0565b60a0840152610875565b600681600a8111156107ae576107ae613b91565b036107c6576107bc846115be565b60c0840152610875565b600781600a8111156107da576107da613b91565b036107f2576107e8846115d0565b60e0840152610875565b600881600a81111561080657610806613b91565b0361081f576108148461162a565b610100840152610875565b600981600a81111561083357610833613b91565b0361084c576108418461164d565b610120840152610875565b600a81600a81111561086057610860613b91565b036108755761086e8461166c565b6101408401525b5060010161065d565b509150505b92915050565b60006108936111b5565b506000818152603560205260409020546001600160a01b03165b919050565b6108ba6111b5565b6108c26113ca565b60008281526035602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251858152918201527f02c7aeb52f414fb9b4dfa6100f38185b5e12b184349218c18700bc39423bedc99101610629565b6109296111b5565b610933828261167b565b6032546060820151516040516322292bed60e11b815260048101919091526001600160a01b039091169063445257da906024016104c5565b6109736111b5565b61097c826117e5565b61098682826117f5565b5050565b60006109946118b2565b50600080516020613fba83398151915290565b6109af6113ca565b6109b960006118fb565b565b60006109c56111b5565b506033546001600160a01b031690565b33806109df610ba5565b6001600160a01b031614610a165760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b610a1f816118fb565b50565b6000610a2c6111b5565b506032546001600160a01b031690565b6000807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b610a79612f45565b610a816111b5565b61088382611933565b610a92612f6d565b610a9a6111b5565b610aa2612f6d565b610aab83611bac565b608082015260005b6003811015610b085760a084015160600151610ad0826000613bbd565b60158110610ae057610ae0613b7b565b60200201518260a001518260038110610afb57610afb613b7b565b6020020152600101610ab3565b5060005b6004811015610b615760a084015160600151610b29826003613bbd565b60158110610b3957610b39613b7b565b60200201518260c001518260048110610b5457610b54613b7b565b6020020152600101610b0c565b5060a092909201805160609081015160e001518482015281518101516101000151845281518101516102800151604085015290510151610260015160208301525090565b6000807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610a61565b6000610bd86111b5565b506000908152603460205260409020546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015610c395750825b90506000826001600160401b03166001148015610c555750303b155b905081158015610c63575080155b15610c815760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610cab57845460ff60401b1916600160401b1785555b610cb3612014565b603280546001600160a01b03808e166001600160a01b03199283161790925560338054928d16929091169190911790558751895114610d055760405163899ef10d60e01b815260040160405180910390fd5b8551875114610d275760405163899ef10d60e01b815260040160405180910390fd5b60005b8951811015610da357888181518110610d4557610d45613b7b565b6020026020010151603460008c8481518110610d6357610d63613b7b565b602090810291909101810151825281019190915260400160002080546001600160a01b0319166001600160a01b0392909216919091179055600101610d2a565b5060005b8751811015610e2057868181518110610dc257610dc2613b7b565b6020026020010151603560008a8481518110610de057610de0613b7b565b602090810291909101810151825281019190915260400160002080546001600160a01b0319166001600160a01b0392909216919091179055600101610da7565b507f5a70813cf1b6cd11d1164e9788f7d124185bf692c3197538d52d6067953d318f8b8b8b8b8b8b604051610e5a96959493929190613c47565b60405180910390a18315610ea857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b610ebd6111b5565b610ec56113ca565b828114610ee55760405163899ef10d60e01b815260040160405180910390fd5b60005b83811015610fef57828282818110610f0257610f02613b7b565b9050602002016020810190610f17919061323f565b60356000878785818110610f2d57610f2d613b7b565b90506020020135815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055507f02c7aeb52f414fb9b4dfa6100f38185b5e12b184349218c18700bc39423bedc9858583818110610f9957610f99613b7b565b90506020020135848484818110610fb257610fb2613b7b565b9050602002016020810190610fc7919061323f565b604080519283526001600160a01b0390911660208301520160405180910390a1600101610ee8565b5050505050565b610ffe6113ca565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255611042610a3c565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b6110836111b5565b61108b6113ca565b8281146110ab5760405163899ef10d60e01b815260040160405180910390fd5b60005b83811015610fef578282828181106110c8576110c8613b7b565b90506020020160208101906110dd919061323f565b603460008787858181106110f3576110f3613b7b565b90506020020135815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055507f2bdbcbf49383457c270bf05734cc8d74acb8a5788f0dc6384a715680f6a4dbcf85858381811061115f5761115f613b7b565b9050602002013584848481811061117857611178613b7b565b905060200201602081019061118d919061323f565b604080519283526001600160a01b0390911660208301520160405180910390a16001016110ae565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061123c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611230600080516020613fba833981519152546001600160a01b031690565b6001600160a01b031614155b156109b95760405163703e46dd60e11b815260040160405180910390fd5b6000828152603460205260409020546001600160a01b031680611290576040516347393fa360e11b815260040160405180910390fd5b60325460608301516040908101519051639fc1e42360e01b815260048101919091526001600160a01b0390911690639fc1e42390602401602060405180830381865afa1580156112e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113089190613cba565b61132557604051635290660160e01b815260040160405180910390fd5b806001600160a01b03166311479fea83600001518460200151856040015186606001516040518563ffffffff1660e01b81526004016113679493929190613d28565b602060405180830381865afa158015611384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a89190613cba565b6113c557604051639003ac4d60e01b815260040160405180910390fd5b505050565b336113d3610a3c565b6001600160a01b0316146109b95760405163118cdaa760e01b8152336004820152602401610a0d565b8051606090600080516020613fda83398151915211158061142f57506020820151600080516020613fda83398151915211155b8061144c57506040820151600080516020613fda83398151915211155b1561146a57604051633ae4ed6b60e01b815260040160405180910390fd5b60408051606081018252601f80825260208201819052818301528151605d808252608082019093529091600091906020820181803683370190505090506000805b600381101561154b5760008682600381106114c8576114c8613b7b565b6020020151905060005b8583600381106114e4576114e4613b7b565b602002015160ff168160ff161015611541578160ff1660f81b85858061150990613d5f565b96508151811061151b5761151b613b7b565b60200101906001600160f81b031916908160001a90535060089190911c906001016114d2565b50506001016114ab565b5090949350505050565b6060610883826002600461202d565b6060610883611576836005602b61202d565b612124565b606061088382602c603461202d565b6060610883826036603861202d565b60606108836115ab836039603e61202d565b61233a565b60606108838260408061202d565b60606108836115ab836041604661202d565b60006115ff826115e260586001613bbd565b815181106115f2576115f2613b7b565b016020015160f81c61250d565b611615836058815181106115f2576115f2613b7b565b61162090600a613d78565b6108839190613bbd565b600081605a8151811061163f5761163f613b7b565b016020015160f81c92915050565b60008161165c605a6001613bbd565b8151811061163f5761163f613b7b565b60008161165c605a6002613bbd565b6000828152603560205260409020546001600160a01b0316806116b1576040516347393fa360e11b815260040160405180910390fd5b603254606083015160200151604051631465ff7f60e01b815260048101919091526001600160a01b0390911690631465ff7f90602401602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117289190613cba565b611745576040516328a52b4f60e21b815260040160405180910390fd5b806001600160a01b031663f5c9d69e83600001518460200151856040015186606001516040518563ffffffff1660e01b81526004016117879493929190613d8f565b602060405180830381865afa1580156117a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c89190613cba565b6113c5576040516335436ebb60e11b815260040160405180910390fd5b6117ed6111b5565b610a1f6113ca565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561184f575060408051601f3d908101601f1916820190925261184c91810190613dc6565b60015b61187757604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610a0d565b600080516020613fba83398151915281146118a857604051632a87526960e21b815260048101829052602401610a0d565b6113c5838361251a565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109b95760405163703e46dd60e11b815260040160405180910390fd5b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b031916815561098682612570565b61193b612f45565b60005b600481101561199357600080516020613fda83398151915283826004811061196857611968613b7b565b60200201511061198b57604051633ae4ed6b60e01b815260040160405180910390fd5b60010161193e565b5060005b6028811015611ba65760006119ad826003613d78565b905060206119bc826002613bbd565b1015611a285760006119cf826008613d78565b855160405190821c60e881901b6001600160e81b031916602083015291925062ffffff91821690602301604051602081830303815290604052868660288110611a1a57611a1a613b7b565b602002015250611b9d915050565b6020811015611b1b576000611a3e826020613ddf565b90506000611a4d826003613ddf565b90506000611a5c846008613d78565b905060006001611a6d856008613d78565b6001901b611a7b9190613ddf565b8851909150821c81166000806001611a94876008613d78565b6001901b611aa29190613ddf565b60208c0151909150821c8116600084611abc8a6008613d78565b83901b17905080604051602001611ae6919060e89190911b6001600160e81b031916815260030190565b6040516020818303038152906040528c8c60288110611b0757611b07613b7b565b602002015250611b9d975050505050505050565b6000611b28602083613ddf565b90506000611b37826008613d78565b905062ffffff600081838960016020020151901c16905080604051602001611b72919060e89190911b6001600160e81b031916815260030190565b604051602081830303815290604052878760288110611b9357611b93613b7b565b6020020152505050505b50600101611997565b50919050565b60325460a0820151606001516101200151604051631fa0bd9b60e31b815260048101919091526000916001600160a01b03169063fd05ecd890602401602060405180830381865afa158015611c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c299190613cba565b611c4657604051635290660160e01b815260040160405180910390fd5b611c4e612fb5565b60005b6006811015611ca25760a084015160600151611c6e82600a613bbd565b60158110611c7e57611c7e613b7b565b6020020151828260068110611c9557611c95613b7b565b6020020152600101611c51565b506000611cae826125e1565b905062015180611cbc6126ba565b611cc69190613ddf565b611cd1906001613bbd565b811080611cfd57506001611ce36126ba565b611cf09062015180613bbd565b611cfa9190613ddf565b81115b15611d1b5760405163ed8cf9ff60e01b815260040160405180910390fd5b611d23612fd3565b60005b6003811015611d775760a086015160600151611d43826000613bbd565b60158110611d5357611d53613b7b565b6020020151828260038110611d6a57611d6a613b7b565b6020020152600101611d26565b50845115611db257611d95611d8b826113fc565b86602001516126d8565b611db25760405163f0e539b960e01b815260040160405180910390fd5b60808501515180611dc857506080850151602001515b80611dd857506080850151604001515b15611ed757611e03611de9826113fc565b6080870151805160208201516040909201519091906126ed565b611e20576040516371b125ed60e01b815260040160405180910390fd5b60325460a0860151606001516102008101516102208201516102409092015160405163935fc12160e01b81526004810192909252602482019290925260448101919091526001600160a01b039091169063935fc12190606401602060405180830381865afa158015611e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eba9190613cba565b611ed757604051630e71e9e560e11b815260040160405180910390fd5b846040015115611f595760005b6004811015611f575760a086015160600151611f01826003613bbd565b60158110611f1157611f11613b7b565b602002015186606001518260048110611f2c57611f2c613b7b565b602002015114611f4f57604051632fc86c4760e21b815260040160405180910390fd5b600101611ee4565b505b60335460a0860151805160208201516040808401516060909401519051632ef5e03f60e11b81526001600160a01b0390951694635debc07e94611fa29493929091600401613df2565b602060405180830381865afa158015611fbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe39190613cba565b61200057604051636a69bd3d60e11b815260040160405180910390fd5b5050505060a0015160600151610120015190565b61201c612745565b6120253361278e565b6109b961279f565b6060818451116120505760405163fe9a439f60e01b815260040160405180910390fd5b600061205c8484613ddf565b612067906001613bbd565b6001600160401b0381111561207e5761207e61302e565b6040519080825280601f01601f1916602001820160405280156120a8576020820181803683370190505b509050835b838111612119578581815181106120c6576120c6613b7b565b01602001516001600160f81b031916826120e08784613ddf565b815181106120f0576120f0613b7b565b60200101906001600160f81b031916908160001a9053508061211181613d5f565b9150506120ad565b5090505b9392505050565b6040805160028082526060828101909352839183918291600091816020015b606081526020019060019003908161214357905050905060005b845181108015612192575084818151811061217a5761217a613b7b565b6020910101516001600160f81b031916600f60fa1b14155b156121ea57828582815181106121aa576121aa613b7b565b602001015160f81c60f81b6040516020016121c6929190613e4f565b604051602081830303815290604052925080806121e290613d5f565b91505061215d565b6121f5600282613bbd565b90505b84518110156122f25784818151811061221357612213613b7b565b01602001516001600160f81b031916600f60fa1b0361229f578451612239826001613bbd565b10801561227457508461224d826001613bbd565b8151811061225d5761225d613b7b565b6020910101516001600160f81b031916600f60fa1b145b6122f257836040516020016122899190613e7e565b60405160208183030381529060405293506122e0565b838582815181106122b2576122b2613b7b565b602001015160f81c60f81b6040516020016122ce929190613e4f565b60405160208183030381529060405293505b806122ea81613d5f565b9150506121f8565b838260008151811061230657612306613b7b565b6020026020010181905250828260018151811061232557612325613b7b565b60209081029190910101525095945050505050565b805160609082906006146123615760405163b337595360e01b815260040160405180910390fd5b603160f81b8160028151811061237957612379613b7b565b01602001516001600160f81b03191611806123e85750806002815181106123a2576123a2613b7b565b6020910101516001600160f81b031916603160f81b1480156123e85750601960f91b816003815181106123d7576123d7613b7b565b01602001516001600160f81b031916115b15612406576040516304bcc4f160e31b815260040160405180910390fd5b603360f81b8160048151811061241e5761241e613b7b565b01602001516001600160f81b031916118061248d57508060048151811061244757612447613b7b565b6020910101516001600160f81b031916603360f81b14801561248d5750603160f81b8160058151811061247c5761247c613b7b565b01602001516001600160f81b031916115b156124ab57604051638930acef60e01b815260040160405180910390fd5b60006124ba84600060026127a7565b905060006124cb85600260046127a7565b905060006124dc86600460066127a7565b90508082846040516020016124f393929190613ea3565b604051602081830303815290604052945050505050919050565b6000610883603083613ddf565b61252382612869565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115612568576113c582826128ce565b61098661293b565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000805b600681101561262e57600983826006811061260257612602613b7b565b60200201511115612626576040516305ebe05560e21b815260040160405180910390fd5b6001016125e5565b50604080516020810190915260008082525b60068110156126a65781600a85836006811061265e5761265e613b7b565b602002015161266d9190613f02565b612678906030613bbd565b60f81b60405160200161268c929190613e4f565b60408051601f198184030181529190529150600101612640565b5060006126b28261295a565b949350505050565b60006126c96201518042613f02565b6126d39042613ddf565b905090565b6000816126e4846115d0565b10159392505050565b600083158061270457506127008561162a565b6001145b80156127205750821580612720575061271c8561164d565b6001145b801561273c575081158061273c57506127388561166c565b6001145b95945050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166109b957604051631afcd79f60e31b815260040160405180910390fd5b612796612745565b610a1f81612b2d565b6109b9612745565b60608360006127b68585613ddf565b6001600160401b038111156127cd576127cd61302e565b6040519080825280601f01601f1916602001820160405280156127f7576020820181803683370190505b509050845b8481101561285f5782818151811061281657612816613b7b565b01602001516001600160f81b031916826128308884613ddf565b8151811061284057612840613b7b565b60200101906001600160f81b031916908160001a9053506001016127fc565b5095945050505050565b806001600160a01b03163b60000361289f57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610a0d565b600080516020613fba83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516128eb9190613f24565b600060405180830381855af49150503d8060008114612926576040519150601f19603f3d011682016040523d82523d6000602084013e61292b565b606091505b509150915061273c858383612b5f565b34156109b95760405163b398979f60e01b815260040160405180910390fd5b805160009082906006146129815760405163b337595360e01b815260040160405180910390fd5b603160f81b8160028151811061299957612999613b7b565b01602001516001600160f81b0319161180612a085750806002815181106129c2576129c2613b7b565b6020910101516001600160f81b031916603160f81b148015612a085750601960f91b816003815181106129f7576129f7613b7b565b01602001516001600160f81b031916115b15612a26576040516304bcc4f160e31b815260040160405180910390fd5b603360f81b81600481518110612a3e57612a3e613b7b565b01602001516001600160f81b0319161180612aad575080600481518110612a6757612a67613b7b565b6020910101516001600160f81b031916603360f81b148015612aad5750603160f81b81600581518110612a9c57612a9c613b7b565b01602001516001600160f81b031916115b15612acb57604051638930acef60e01b815260040160405180910390fd5b6000612ae2612add85600060026127a7565b612bbb565b612aee906107d0613bbd565b90506000612b02612add86600260046127a7565b90506000612b16612add87600460066127a7565b9050612b23838383612c34565b9695505050505050565b612b35612745565b6001600160a01b038116610a1657604051631e4fbdf760e01b815260006004820152602401610a0d565b606082612b7457612b6f82612e40565b61211d565b8151158015612b8b57506001600160a01b0384163b155b15612bb457604051639996b31560e01b81526001600160a01b0385166004820152602401610a0d565b508061211d565b805160009082908203612bd15750600092915050565b60008060005b8351811015612c2b576030848281518110612bf457612bf4613b7b565b0160200151612c06919060f81c613f40565b60ff16925082612c1783600a613d78565b612c219190613bbd565b9150600101612bd7565b50949350505050565b6000806107b2851080612c48575061083485115b15612c66576040516305bd032560e21b815260040160405180910390fd5b6001841080612c755750600c84115b15612c93576040516304bcc4f160e31b815260040160405180910390fd5b506107b25b848161ffff161015612cee57612cb18161ffff16612e69565b15612ccb57612cc46301e2850083613bbd565b9150612cdc565b612cd96301e1338083613bbd565b91505b80612ce681613f59565b915050612c98565b612cf6612ff1565b601f8152612d0386612e69565b15612d1457601d6020820152612d1c565b601c60208201525b601f60408201819052601e606083018190526080830182905260a0830181905260c0830182905260e08301829052610100830181905261012083018290526101408301526101608201526001841080612d97575080612d7c600187613ddf565b600c8110612d8c57612d8c613b7b565b602002015160ff1684115b15612db557604051638930acef60e01b815260040160405180910390fd5b600191505b848261ffff161015612e1e5780612dd2600184613f7a565b61ffff16600c8110612de657612de6613b7b565b6020020151612dfb9060ff1662015180613f94565b612e0a9062ffffff1684613bbd565b925081612e1681613f59565b925050612dba565b612e29600185613ddf565b612e369062015180613d78565b612b239084613bbd565b805115612e505780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b60006107b2821080612e7c575061083482115b15612e9a576040516305bd032560e21b815260040160405180910390fd5b612ea5600483613f02565b15612eb257506000919050565b612ebd606483613f02565b15612eca57506001919050565b612ed661019083613f02565b15612ee357506000919050565b506001919050565b60405180610160016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081525090565b6040518061050001604052806028905b6060815260200190600190039081612f555790505090565b6040518060e001604052806000815260200160008152602001600081526020016000815260200160008152602001612fa3612fd3565b8152602001612fb0613010565b905290565b6040518060c001604052806006906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b604051806101800160405280600c906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156130665761306661302e565b60405290565b60405160c081016001600160401b03811182821017156130665761306661302e565b604051601f8201601f191681016001600160401b03811182821017156130b6576130b661302e565b604052919050565b600082601f8301126130cf57600080fd5b60006130db604061308e565b90508060408401858111156130ef57600080fd5b845b818110156131095780358352602092830192016130f1565b509195945050505050565b600082601f83011261312557600080fd5b60406131308161308e565b80608085018681111561314257600080fd5b855b818110156131655761315688826130be565b84526020909301928401613144565b50909695505050505050565b600082601f83011261318257600080fd5b600061318e606061308e565b90508060608401858111156130ef57600080fd5b6000808284036101808112156131b757600080fd5b83359250610160601f19820112156131ce57600080fd5b506131d7613044565b6131e485602086016130be565b81526131f38560608601613114565b60208201526132058560e086016130be565b6040820152613218856101208601613171565b6060820152809150509250929050565b80356001600160a01b03811681146108ad57600080fd5b60006020828403121561325157600080fd5b61211d82613228565b6000806040838503121561326d57600080fd5b8235915061327d60208401613228565b90509250929050565b60006001600160401b0382111561329f5761329f61302e565b5060051b60200190565b600080608083850312156132bc57600080fd5b6132c68484613171565b915060608301356001600160401b038111156132e157600080fd5b8301601f810185136132f257600080fd5b803561330561330082613286565b61308e565b8082825260208201915060208360051b85010192508783111561332757600080fd5b6020840193505b82841015613356578335600b811061334557600080fd5b82526020938401939091019061332e565b809450505050509250929050565b60005b8381101561337f578181015183820152602001613367565b50506000910152565b600081518084526133a0816020860160208601613364565b601f01601f19169290920160200192915050565b600082825180855260208501945060208160051b8301016020850160005b8381101561316557601f198584030188526133ee838351613388565b60209889019890935091909101906001016133d2565b60208152600082516101606020840152613422610180840182613388565b90506020840151601f1984830301604085015261343f82826133b4565b9150506040840151601f1984830301606085015261345d8282613388565b9150506060840151601f1984830301608085015261347b8282613388565b9150506080840151601f198483030160a08501526134998282613388565b91505060a0840151601f198483030160c08501526134b78282613388565b91505060c0840151601f198483030160e08501526134d58282613388565b91505060e08401516101008401526101008401516101208401526101208401516101408401526101408401516101608401528091505092915050565b60006020828403121561352357600080fd5b5035919050565b60008082840361016081121561353f57600080fd5b83359250610140601f198201121561355657600080fd5b5061355f613044565b61356c85602086016130be565b815261357b8560608601613114565b602082015261358d8560e086016130be565b60408201526132188561012086016130be565b600080604083850312156135b357600080fd5b6135bc83613228565b915060208301356001600160401b038111156135d757600080fd5b8301601f810185136135e857600080fd5b80356001600160401b038111156136015761360161302e565b613614601f8201601f191660200161308e565b81815286602083850101111561362957600080fd5b816020840160208301376000602083830101528093505050509250929050565b600082601f83011261365a57600080fd5b6000613666608061308e565b90508060808401858111156130ef57600080fd5b60006080828403121561368c57600080fd5b61211d8383613649565b6020808252600090610520830190830184835b602881101561310957601f198685030183526136c6848351613388565b935060209283019291909101906001016136a9565b60208152600061211d6020830184613388565b8015158114610a1f57600080fd5b60006103a0828403121561370f57600080fd5b613717613044565b905061372383836130be565b81526137328360408401613114565b60208201526137448360c084016130be565b604082015260008361011f84011261375a578081fd5b806102a06137678161308e565b9150508091506103a084018581111561377f57600080fd5b61010085015b8181101561379d578035845260209384019301613785565b505060608301525092915050565b60006104e08284031280156137bf57600080fd5b5060006137ca61306c565b83356137d5816136ee565b81526020848101359082015260408401356137ef816136ee565b60408201526138018560608601613649565b60608201528460ff850112613814578182fd5b61381e606061308e565b80610140860187811115613830578485fd5b60e0870194505b8085101561385b57843561384a816136ee565b835260209485019490920191613837565b81608085015261386b88826136fc565b60a085015250919695505050505050565b8060005b600381101561389f578151845260209384019390910190600101613880565b50505050565b600061018082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516138ec60a084018261387c565b5060c0830151610100830160005b60048110156139195782518252602092830192909101906001016138fa565b50505092915050565b600082601f83011261393357600080fd5b813561394161330082613286565b8082825260208201915060208360051b86010192508583111561396357600080fd5b602085015b8381101561285f578035835260209283019201613968565b600082601f83011261399157600080fd5b813561399f61330082613286565b8082825260208201915060208360051b8601019250858311156139c157600080fd5b602085015b8381101561285f576139d781613228565b8352602092830192016139c6565b60008060008060008060c087890312156139fe57600080fd5b613a0787613228565b9550613a1560208801613228565b945060408701356001600160401b03811115613a3057600080fd5b613a3c89828a01613922565b94505060608701356001600160401b03811115613a5857600080fd5b613a6489828a01613980565b93505060808701356001600160401b03811115613a8057600080fd5b613a8c89828a01613922565b92505060a08701356001600160401b03811115613aa857600080fd5b613ab489828a01613980565b9150509295509295509295565b60008083601f840112613ad357600080fd5b5081356001600160401b03811115613aea57600080fd5b6020830191508360208260051b8501011115613b0557600080fd5b9250929050565b60008060008060408587031215613b2257600080fd5b84356001600160401b03811115613b3857600080fd5b613b4487828801613ac1565b90955093505060208501356001600160401b03811115613b6357600080fd5b613b6f87828801613ac1565b95989497509550505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561088357610883613ba7565b600081518084526020840193506020830160005b82811015613c02578151865260209586019590910190600101613be4565b5093949350505050565b600081518084526020840193506020830160005b82811015613c025781516001600160a01b0316865260209586019590910190600101613c20565b6001600160a01b0387811682528616602082015260c060408201819052600090613c7390830187613bd0565b8281036060840152613c858187613c0c565b90508281036080840152613c998186613bd0565b905082810360a0840152613cad8185613c0c565b9998505050505050505050565b600060208284031215613ccc57600080fd5b815161211d816136ee565b8060005b600281101561389f578151845260209384019390910190600101613cdb565b8060005b600281101561389f57613d12848351613cd7565b6040939093019260209190910190600101613cfe565b6101608101613d378287613cd7565b613d446040830186613cfa565b613d5160c0830185613cd7565b61273c61010083018461387c565b600060018201613d7157613d71613ba7565b5060010190565b808202811582820484141761088357610883613ba7565b6101408101613d9e8287613cd7565b613dab6040830186613cfa565b613db860c0830185613cd7565b61273c610100830184613cd7565b600060208284031215613dd857600080fd5b5051919050565b8181038181111561088357610883613ba7565b6103a08101613e018287613cd7565b613e0e6040830186613cfa565b613e1b60c0830185613cd7565b61010082018360005b6015811015613e43578151835260209283019290910190600101613e24565b50505095945050505050565b60008351613e61818460208801613364565b6001600160f81b0319939093169190920190815260010192915050565b60008251613e90818460208701613364565b600160fd1b920191825250600101919050565b60008451613eb5818460208901613364565b602d60f81b9083019081528451613ed3816001840160208901613364565b602d60f81b600192909101918201528351613ef5816002840160208801613364565b0160020195945050505050565b600082613f1f57634e487b7160e01b600052601260045260246000fd5b500690565b60008251613f36818460208701613364565b9190910192915050565b60ff828116828216039081111561088357610883613ba7565b600061ffff821661ffff8103613f7157613f71613ba7565b60010192915050565b61ffff828116828216039081111561088357610883613ba7565b62ffffff8181168382160290811690818114613fb257613fb2613ba7565b509291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#IdentityRegistry.json b/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#IdentityRegistry.json index 9599eda86..70f36c6b8 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#IdentityRegistry.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#IdentityRegistry.json @@ -73,4 +73,4 @@ "deployedBytecode": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#IdentityRegistryImplV1.json b/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#IdentityRegistryImplV1.json index 46936740d..626215e7e 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#IdentityRegistryImplV1.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#IdentityRegistryImplV1.json @@ -1284,4 +1284,4 @@ ] } } -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#PoseidonT3.json b/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#PoseidonT3.json index f7931deb2..551bff1bf 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#PoseidonT3.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployRegistryModule#PoseidonT3.json @@ -27,4 +27,4 @@ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063561558fe1461003a575b600080fd5b61004d610048366004614066565b61005f565b60405190815260200160405180910390f35b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2b90bba00fca0589f617e7dcbfe82e0df706ab640ceb247b791a93b74e36736d7f101071f0032379b697315876690f053d148d4e109f5fb065c8aacc55a0f89bfa7f19a3fc0a56702bf417ba7fee3802593fa644470307043f7773279cd71d25d5e07ef1445235f2148c5986587169fc1bcd887b08d4d00868df5696fff40956e8648460805106017f08dff3487e8ac99e1f29a058d0fa80b930c728730b7ab36ce879f3890ecf73f58560a05106018582830986838883840909925086828309905086828883840909915086868309876000805160206141278339815191528509017f5151bcc773d05d360fc9c923795441a9618605f30e31f2b8f087d1575b9c613b01905086858309876000805160206141878339815191528509017f547424ff6c2e186923faa2cf5794c8cd2b5d3e8f151620ffda4a15b70cc05b3f0187858409886000805160206141078339815191528609017f23dc61092dc247151d38da17703c1ccb157f035575fe333d62fda4d2a5ae1bf5018883800989848b83840909935089838409905089838b83840909925089828309905089828b838409099150898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f28813dcaebaeaa828a376df87af4a63bc8b7bf27ad49c6298ef7b387bf28526d019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f2727673b2ccbc903f181bf38e1c1d40d2033865200c352bc150928adddf9cb78019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f234ec45ca27727c2e74abd2b2a1494cd6efbd43e340587d6b8fb9e31e65cc63201945089818209935089818b86870909905089868709935089868b86870909955089858609935089858b868709099450898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f15b52534031ae18f7f862cb2cf7cf760ab10a8150a337b1ccd99ff6e8797d428019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f0dc8fad6d9e4b35f5ed9a3d186b79ce38e0e8a8d1b58b132d701d4eecf68d1f6019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f1bcd95ffc211fbca600f705fad3fb567ea4eb378f62e1fec97805518a47e4d9c01915089848509905089848b83840909935089838409905089838b83840909925089828309905089828b838409099150898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f10520b0ab721cadfe9eff81b016fc34dc76da36c2578937817cb978d069de559019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f1f6d48149b8e7f7d9b257d8ed5fbbaf42932498075fed0ace88a9eb81f5627f6019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f1d9655f652309014d29e00ef35a2089bfff8dc1c816f0dc9ca34bdb5460c870501945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f04df5a56ff95bcafb051f7b1cd43a99ba731ff67e47032058fe3d4185697cc7d019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f0672d995f8fff640151b3d290cedaf148690a10a8c8424a7f6ec282b6e4be828019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f099952b414884454b21200d7ffafdd5f0c9a9dcc06f2708e9fc1d8209b5c75b901915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f052cba2255dfd00c7c483143ba8d469448e43586a9b4cd9183fd0e843a6b9fa6019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f0b8badee690adb8eb0bd74712b7999af82de55707251ad7716077cb93c464ddc019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f119b1590f13307af5a1ee651020c07c749c15d60683a8050b963d0a8e4b2bdd101945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f03150b7cd6d5d17b2529d36be0f67b832c4acfc884ef4ee5ce15be0bfb4a8d09019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f2cc6182c5e14546e3cf1951f173912355374efb83d80898abe69cb317c9ea565019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017e5032551e6378c450cfe129a404b3764218cadedac14e2b92d2cd73111bf0f901915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f233237e3289baa34bb147e972ebcb9516469c399fcc069fb88f9da2cc28276b5019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f05c8f4f4ebd4a6e3c980d31674bfbe6323037f21b34ae5a4e80c2d4c24d60280019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f0a7b1db13042d396ba05d818a319f25252bcf35ef3aeed91ee1f09b2590fc65b01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f2a73b71f9b210cf5b14296572c9d32dbf156e2b086ff47dc5df542365a404ec0019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f1ac9b0417abcc9a1935107e9ffc91dc3ec18f2c4dbe7f22976a760bb5c50c460019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f12c0339ae08374823fabb076707ef479269f3e4d6cb104349015ee046dc93fc001915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f0b7475b102a165ad7f5b18db4e1e704f52900aa3253baac68246682e56e9a28e019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f037c2849e191ca3edb1c5e49f6e8b8917c843e379366f2ea32ab3aa88d7f8448019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f05a6811f8556f014e92674661e217e9bd5206c5c93a07dc145fdb176a716346f01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f29a795e7d98028946e947b75d54e9f044076e87a7b2883b47b675ef5f38bd66e019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f20439a0c84b322eb45a3857afc18f5826e8c7382c8a1585c507be199981fd22f019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f2e0ba8d94d9ecf4a94ec2050c7371ff1bb50f27799a84b6d4a2a6f2a0982c88701915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f143fd115ce08fb27ca38eb7cce822b4517822cd2109048d2e6d0ddcca17d71c8019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f0c64cbecb1c734b857968dbbdcf813cdf8611659323dbcbfc84323623be9caf1019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f028a305847c683f646fca925c163ff5ae74f348d62c2b670f1426cef9403da5301945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f2e4ef510ff0b6fda5fa940ab4c4380f26a6bcb64d89427b824d6755b5db9e30c019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017e81c95bc43384e663d79270c956ce3b8925b4f6d033b078b96384f50579400e019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f2ed5f0c91cbd9749187e2fade687e05ee2491b349c039a0bba8a9f4023a0bb3801915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f30509991f88da3504bbf374ed5aae2f03448a22c76234c8c990f01f33a735206019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f1c3f20fd55409a53221b7c4d49a356b9f0a1119fb2067b41a7529094424ec6ad019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f10b4e7f3ab5df003049514459b6e18eec46bb2213e8e131e170887b47ddcb96c01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f2a1982979c3ff7f43ddd543d891c2abddd80f804c077d775039aa3502e43adef019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f1c74ee64f15e1db6feddbead56d6d55dba431ebc396c9af95cad0f1315bd5c91019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f07533ec850ba7f98eab9303cace01b4b9e4f2e8b82708cfa9c2fe45a0ae146a001915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f21576b438e500449a151e4eeaf17b154285c68f42d42c1808a11abf3764c0750019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f2f17c0559b8fe79608ad5ca193d62f10bce8384c815f0906743d6930836d4a9e019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f2d477e3862d07708a79e8aae946170bc9775a4201318474ae665b0b1b7e2730e01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f162f5243967064c390e095577984f291afba2266c38f5abcd89be0f5b2747eab019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f2b4cb233ede9ba48264ecd2c8ae50d1ad7a8596a87f29f8a7777a70092393311019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f2c8fbcb2dd8573dc1dbaf8f4622854776db2eece6d85c4cf4254e7c35e03b07a01915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f1d6f347725e4816af2ff453f0cd56b199e1b61e9f601e9ade5e88db870949da9019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f204b0c397f4ebe71ebc2d8b3df5b913df9e6ac02b68d31324cd49af5c4565529019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f0c4cb9dc3c4fd8174f1149b3c63c3c2f9ecb827cd7dc25534ff8fb75bc79c50201945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f174ad61a1448c899a25416474f4930301e5c49475279e0639a616ddc45bc7b54019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f1a96177bcf4d8d89f759df4ec2f3cde2eaaa28c177cc0fa13a9816d49a38d2ef019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f066d04b24331d71cd0ef8054bc60c4ff05202c126a233c1a8242ace360b8a30a01915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f2a4c4fc6ec0b0cf52195782871c6dd3b381cc65f72e02ad527037a62aa1bd804019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f13ab2d136ccf37d447e9f2e14a7cedc95e727f8446f6d9d7e55afc01219fd649019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f1121552fca26061619d24d843dc82769c1b04fcec26f55194c2e3e869acc6a9a01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017eef653322b13d6c889bc81715c37d77a6cd267d595c4a8909a5546c7c97cff1019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f0e25483e45a665208b261d8ba74051e6400c776d652595d9845aca35d8a397d3019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f29f536dcb9dd7682245264659e15d88e395ac3d4dde92d8c46448db979eeba8901915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f2a56ef9f2c53febadfda33575dbdbd885a124e2780bbea170e456baace0fa5be019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f1c8361c78eb5cf5decfb7a2d17b5c409f2ae2999a46762e8ee416240a8cb9af1019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f151aff5f38b20a0fc0473089aaf0206b83e8e68a764507bfd3d0ab4be74319c501945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f04c6187e41ed881dc1b239c88f7f9d43a9f52fc8c8b6cdd1e76e47615b51f100019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f13b37bd80f4d27fb10d84331f6fb6d534b81c61ed15776449e801b7ddc9c2967019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f01a5c536273c2d9df578bfbd32c17b7a2ce3664c2a52032c9321ceb1c4e8a8e401915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f2ab3561834ca73835ad05f5d7acb950b4a9a2c666b9726da832239065b7c3b02019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f1d4d8ec291e720db200fe6d686c0d613acaf6af4e95d3bf69f7ed516a597b646019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f041294d2cc484d228f5784fe7919fd2bb925351240a04b711514c9c80b65af1d01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f154ac98e01708c611c4fa715991f004898f57939d126e392042971dd90e81fc6019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f0b339d8acca7d4f83eedd84093aef51050b3684c88f8b0b04524563bc6ea4da4019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f0955e49e6610c94254a4f84cfbab344598f0e71eaff4a7dd81ed95b50839c82e01915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f06746a6156eba54426b9e22206f15abca9a6f41e6f535c6f3525401ea0654626019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f0f18f5a0ecd1423c496f3820c549c27838e5790e2bd0a196ac917c7ff32077fb019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f04f6eeca1751f7308ac59eff5beb261e4bb563583ede7bc92a738223d6f76e1301945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f2b56973364c4c4f5c1a3ec4da3cdce038811eb116fb3e45bc1768d26fc0b3758019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f123769dd49d5b054dcd76b89804b1bcb8e1392b385716a5d83feb65d437f29ef019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f2147b424fc48c80a88ee52b91169aacea989f6446471150994257b2fb01c63e901915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f0fdc1f58548b85701a6c5505ea332a29647e6f34ad4243c2ea54ad897cebe54d019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f12373a8251fea004df68abcf0f7786d4bceff28c5dbbe0c3944f685cc0a0b1f2019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f21e4f4ea5f35f85bad7ea52ff742c9e8a642756b6af44203dd8a1f35c1a9003501945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f16243916d69d2ca3dfb4722224d4c462b57366492f45e90d8a81934f1bc3b147019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f1efbe46dd7a578b4f66f9adbc88b4378abc21566e1a0453ca13a4159cac04ac2019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f07ea5e8537cf5dd08886020e23a7f387d468d5525be66f853b672cc96a88969a01915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f05a8c4f9968b8aa3b7b478a30f9a5b63650f19a75e7ce11ca9fe16c0b76c00bc019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f20f057712cc21654fbfe59bd345e8dac3f7818c701b9c7882d9d57b72a32e83f019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f04a12ededa9dfd689672f8c67fee31636dcd8e88d01d49019bd90b33eb33db6901945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f27e88d8c15f37dcee44f1e5425a51decbd136ce5091a6767e49ec9544ccd101a019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f2feed17b84285ed9b8a5c8c5e95a41f66e096619a7703223176c41ee433de4d1019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f1ed7cc76edf45c7c404241420f729cf394e5942911312a0d6972b8bd53aff2b801915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f15742e99b9bfa323157ff8c586f5660eac6783476144cdcadf2874be45466b1a019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f1aac285387f65e82c895fc6887ddf40577107454c6ec0317284f033f27d0c785019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f25851c3c845d4790f9ddadbdb6057357832e2e7a49775f71ec75a96554d67c7701945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f15a5821565cc2ec2ce78457db197edf353b7ebba2c5523370ddccc3d9f146a67019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f2411d57a4813b9980efa7e31a1db5966dcf64f36044277502f15485f28c71727019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017e2e6f8d6520cd4713e335b8c0b6d2e647e9a98e12f4cd2558828b5ef6cb4c9b01915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f2ff7bc8f4380cde997da00b616b0fcd1af8f0e91e2fe1ed7398834609e0315d2019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017eb9831b948525595ee02724471bcd182e9521f6b7bb68f1e93be4febb0d3cbe019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f0a2f53768b8ebf6a86913b0e57c04e011ca408648a4743a87d77adbf0c9c351201945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017e248156142fd0373a479f91ff239e960f599ff7e94be69b7f2a290305e1198d019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f171d5620b87bfb1328cf8c02ab3f0c9a397196aa6a542c2350eb512a2b2bcda9019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f170a4f55536f7dc970087c7c10d6fad760c952172dd54dd99d1045e4ec34a80801915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f29aba33f799fe66c2ef3134aea04336ecc37e38c1cd211ba482eca17e2dbfae1019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f1e9bc179a4fdd758fdd1bb1945088d47e70d114a03f6a0e8b5ba650369e64973019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f1dd269799b660fad58f7f4892dfb0b5afeaad869a9c4b44f9c9e1c43bdaf8f0901945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f22cdbc8b70117ad1401181d02e15459e7ccd426fe869c7c95d1dd2cb0f24af38019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f0ef042e454771c533a9f57a55c503fcefd3150f52ed94a7cd5ba93b9c7dacefd019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f11609e06ad6c8fe2f287f3036037e8851318e8b08a0359a03b304ffca62e828401915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f1166d9e554616dba9e753eea427c17b7fecd58c076dfe42708b08f5b783aa9af019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f2de52989431a859593413026354413db177fbf4cd2ac0b56f855a888357ee466019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f3006eb4ffc7a85819a6da492f3a8ac1df51aee5b17b8e89d74bf01cf5f71e9ad01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f2af41fbb61ba8a80fdcf6fff9e3f6f422993fe8f0a4639f962344c8225145086019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f119e684de476155fe5a6b41a8ebc85db8718ab27889e85e781b214bace4827c3019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f1835b786e2e8925e188bea59ae363537b51248c23828f047cff784b97b3fd80001915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f28201a34c594dfa34d794996c6433a20d152bac2a7905c926c40e285ab32eeb6019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f083efd7a27d1751094e80fefaf78b000864c82eb571187724a761f88c22cc4e7019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f0b6f88a3577199526158e61ceea27be811c16df7774dd8519e079564f61fd13b01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f0ec868e6d15e51d9644f66e1d6471a94589511ca00d29e1014390e6ee4254f5b019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f2af33e3f866771271ac0c9b3ed2e1142ecd3e74b939cd40d00d937ab84c98591019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f0b520211f904b5e7d09b5d961c6ace7734568c547dd6858b364ce5e47951f17801915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f0b2d722d0919a1aad8db58f10062a92ea0c56ac4270e822cca228620188a1d40019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f1f790d4d7f8cf094d980ceb37c2453e957b54a9991ca38bbe0061d1ed6e562d4019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f0171eb95dfbf7d1eaea97cd385f780150885c16235a2a6a8da92ceb01e50423301945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f0c2d0e3b5fd57549329bf6885da66b9b790b40defd2c8650762305381b168873019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f1162fb28689c27154e5a8228b4e72b377cbcafa589e283c35d3803054407a18d019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f2f1459b65dee441b64ad386a91e8310f282c5a92a89e19921623ef8249711bc001915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f1e6ff3216b688c3d996d74367d5cd4c1bc489d46754eb712c243f70d1b53cfbb019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f01ca8be73832b8d0681487d27d157802d741a6f36cdc2a0576881f9326478875019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f1f7735706ffe9fc586f976d5bdf223dc680286080b10cea00b9b5de315f9650e01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f2522b60f4ea3307640a0c2dce041fba921ac10a3d5f096ef4745ca838285f019019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f23f0bee001b1029d5255075ddc957f833418cad4f52b6c3f8ce16c235572575b019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f2bc1ae8b8ddbb81fcaac2d44555ed5685d142633e9df905f66d9401093082d5901915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f0f9406b8296564a37304507b8dba3ed162371273a07b1fc98011fcd6ad72205f019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f2360a8eb0cc7defa67b72998de90714e17e75b174a52ee4acb126c8cd995f0a8019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f15871a5cddead976804c803cbaef255eb4815a5e96df8b006dcbbc2767f8894801945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f193a56766998ee9e0a8652dd2f3b1da0362f4f54f72379544f957ccdeefb420f019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f2a394a43934f86982f9be56ff4fab1703b2e63c8ad334834e4309805e777ae0f019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f1859954cfeb8695f3e8b635dcb345192892cd11223443ba7b4166e8876c0d14201915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f04e1181763050e58013444dbcb99f1902b11bc25d90bbdca408d3819f4fed32b019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f0fdb253dee83869d40c335ea64de8c5bb10eb82db08b5e8b1f5e5552bfd05f23019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f058cbe8a9a5027bdaa4efb623adead6275f08686f1c08984a9d7c5bae9b4f1c001945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f1382edce9971e186497eadb1aeb1f52b23b4b83bef023ab0d15228b4cceca59a019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f03464990f045c6ee0819ca51fd11b0be7f61b8eb99f14b77e1e6634601d9e8b5019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f23f7bfc8720dc296fff33b41f98ff83c6fcab4605db2eb5aaa5bc137aeb70a5801915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f0a59a158e3eec2117e6e94e7f0e9decf18c3ffd5e1531a9219636158bbaf62f2019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f06ec54c80381c052b58bf23b312ffd3ce2c4eba065420af8f4c23ed0075fd07b019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f118872dc832e0eb5476b56648e867ec8b09340f7a7bcb1b4962f0ff9ed1f9d0101945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f13d69fa127d834165ad5c7cba7ad59ed52e0b0f0e42d7fea95e1906b520921b1019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f169a177f63ea681270b1c6877a73d21bde143942fb71dc55fd8a49f19f10c77b019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f04ef51591c6ead97ef42f287adce40d93abeb032b922f66ffb7e9a5a7450544d01915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f256e175a1dc079390ecd7ca703fb2e3b19ec61805d4f03ced5f45ee6dd0f69ec019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f30102d28636abd5fe5f2af412ff6004f75cc360d3205dd2da002813d3e2ceeb2019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f10998e42dfcd3bbf1c0714bc73eb1bf40443a3fa99bef4a31fd31be182fcc79201945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f193edd8e9fcf3d7625fa7d24b598a1d89f3362eaf4d582efecad76f879e36860019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f18168afd34f2d915d0368ce80b7b3347d1c7a561ce611425f2664d7aa51f0b5d019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f29383c01ebd3b6ab0c017656ebe658b6a328ec77bc33626e29e2e95b33ea611101915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f10646d2f2603de39a1f4ae5e7771a64a702db6e86fb76ab600bf573f9010c711019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f0beb5e07d1b27145f575f1395a55bf132f90c25b40da7b3864d0242dcb1117fb019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f16d685252078c133dc0d3ecad62b5c8830f95bb2e54b59abdffbf018d96fa33601945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f0a6abd1d833938f33c74154e0404b4b40a555bbbec21ddfafd672dd62047f01a019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f1a679f5d36eb7b5c8ea12a4c2dedc8feb12dffeec450317270a6f19b34cf1860019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f0980fb233bd456c23974d50e0ebfde4726a423eada4e8f6ffbc7592e3f1b93d601915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f161b42232e61b84cbf1810af93a38fc0cece3d5628c9282003ebacb5c312c72b019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f0ada10a90c7f0520950f7d47a60d5e6a493f09787f1564e5d09203db47de1a0b019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f1a730d372310ba82320345a29ac4238ed3f07a8a2b4e121bb50ddb9af407f45101945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f2c8120f268ef054f817064c369dda7ea908377feaba5c4dffbda10ef58e8c556019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f1c7c8824f758753fa57c00789c684217b930e95313bcb73e6e7b8649a4968f70019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f2cd9ed31f5f8691c8e39e4077a74faa0f400ad8b491eb3f7b47b27fa3fd1cf7701915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f23ff4f9d46813457cf60d92f57618399a5e022ac321ca550854ae23918a22eea019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f09945a5d147a4f66ceece6405dddd9d0af5a2c5103529407dff1ea58f180426d019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f188d9c528025d4c2b67660c6b771b90f7c7da6eaa29d3f268a6dd223ec6fc63001945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f3050e37996596b7f81f68311431d8734dba7d926d3633595e0c0d8ddf4f0f47f019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f15af1169396830a91600ca8102c35c426ceae5461e3f95d89d829518d30afd78019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f1da6d09885432ea9a06d9f37f873d985dae933e351466b2904284da3320d8acc01915089848509905089848b838409099350898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f2796ea90d269af29f5f8acf33921124e4e4fad3dbe658945e546ee411ddaa9cb019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f202d7dd1da0f6b4b0325c8b3307742f01e15612ec8e9304a7cb0319e01d32d60019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f096d6790d05bb759156a952ba263d672a2d7f9c788f4c831a29dace4c0f8be5f01945089818209935089818b868709099050898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f054efa1f65b0fce283808965275d877b438da23ce5b13e1963798cb1447d25a4019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f1b162f83d917e93edb3308c29802deb9d8aa690113b2e14864ccf6e18e4165f1019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f21e5241e12564dd6fd9f1cdd2a0de39eedfefc1466cc568ec5ceb745a0506edc01915089848509905089848b83840909935089838409905089838b83840909925089828309905089828b838409099150898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f1cfb5662e8cf5ac9226a80ee17b36abecb73ab5f87e161927b4349e10e4bdf08019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f0f21177e302a771bbae6d8d1ecb373b62c99af346220ac0129c53f666eb24100019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f1671522374606992affb0dd7f71b12bec4236aede6290546bcef7e1f515c232001945089818209935089818b86870909905089868709935089868b86870909955089858609935089858b868709099450898986098a60008051602061412783398151915288098b600080516020614167833981519152840901017f0fa3ec5b9488259c2eb4cf24501bfad9be2ec9e42c5cc8ccd419d2a692cad870019350898886098a60008051602061418783398151915288098b6000805160206140e7833981519152840901017f193c0e04e0bd298357cb266c1506080ed36edce85c648cc085e8c57b1ab54bba019250898786098a60008051602061410783398151915288098b600080516020614147833981519152840901017f102adf8ef74735a27e9128306dcbc3c99f6f7291cd406578ce14ea2adaba68f801915089848509905089848b83840909935089838409905089838b83840909925089828309905089828b838409099150898983098a60008051602061412783398151915285098b600080516020614167833981519152870901017f0fe0af7858e49859e2a54d6f1ad945b1316aa24bfbdd23ae40a6d0cb70c3eab1019050898883098a60008051602061418783398151915285098b6000805160206140e7833981519152870901017f216f6717bbc7dedb08536a2220843f4e2da5f1daa9ebdefde8a5ea7344798d22019550898783098a60008051602061410783398151915285098b600080516020614147833981519152870901017f1da55cc900f0d21f4a3e694391918a1b3c23b2ac773c6b3ef88e2e422832516101945089818209935089818b86870909905089868709935089868b86870909955089858609935089858b868709099450898a8a87098b60008051602061412783398151915289098c600080516020614167833981519152850901010660005260206000f35b634e487b7160e01b600052604160045260246000fd5b60006040828403121561407857600080fd5b82601f83011261408757600080fd5b6040516040810181811067ffffffffffffffff821117156140aa576140aa614050565b80604052508060408401858111156140c157600080fd5b845b818110156140db5780358352602092830192016140c3565b50919594505050505056fe2969f27eed31a480b9c36c764379dbca2cc8fdd1415c3dded62940bcde0bd771176cc029695ad02582a70eff08a6fd99d057e12e58e7d7b6b16cdfabc8ee291116ed41e13bb9c0c66ae119424fddbcbc9314dc9fdbdeea55d6c64543dc4903e0143021ec686a3f330d5f9e654638065ce6cd79e28c5b3753326244ee65a1b1a7109b7f411ba0e4c9b2b70caf5c36a7b194be7c11ad24378bfedb68592ba8118b2e2419f9ec02ec394c9871c832963dc1b89d743c8c7b964029b2311687b1fe23a164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/DeployVerifyAll#VerifyAll.json b/contracts/ignition/deployments/prod/artifacts/DeployVerifyAll#VerifyAll.json index d726c9018..bfbb985b2 100644 --- a/contracts/ignition/deployments/prod/artifacts/DeployVerifyAll#VerifyAll.json +++ b/contracts/ignition/deployments/prod/artifacts/DeployVerifyAll#VerifyAll.json @@ -300,4 +300,4 @@ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80637cd0cf6e1161005b5780637cd0cf6e146100ed5780638da5cb5b1461010f578063a91ee0dc14610120578063f2fde38b1461013357600080fd5b806331962cdc1461008d578063365a86fc146100a2578063715018a6146100d25780637b103999146100da575b600080fd5b6100a061009b36600461093f565b610146565b005b6001546100b5906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a0610170565b6002546100b5906001600160a01b031681565b6101006100fb366004610cdf565b610184565b6040516100c993929190610e64565b6000546001600160a01b03166100b5565b6100a061012e36600461093f565b6107d1565b6100a061014136600461093f565b6107fb565b61014e61083e565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61017861083e565b610182600061086b565b565b6101e160405180610160016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081525090565b600060606101ed6108bb565b6001546040516368f531d160e11b81526001600160a01b039091169063d1ea63a29061021d90899060040161106b565b61018060405180830381865afa925050508015610257575060408051601f3d908101601f1916820190925261025491810190611170565b60015b6105a6573d808015610285576040519150601f19603f3d011682016040523d82523d6000602084013e61028a565b606091505b50606060048251106104c457602082015163ad6f99ff60e01b6001600160e01b03198216016102f0576040518060400160405280601781526020017f494e56414c49445f434f4d4d49544d454e545f524f4f5400000000000000000081525091506104c2565b631273060160e01b6001600160e01b0319821601610345576040518060400160405280601f81526020017f43555252454e545f444154455f4e4f545f494e5f56414c49445f52414e47450081525091506104c2565b630f1ac64760e01b6001600160e01b031982160161038f576040518060400160405280601281526020017124a72b20a624a22fa7a62222a92faa2420a760711b81525091506104c2565b638e4eda1360e01b6001600160e01b03198216016103d3576040518060400160405280600c81526020016b494e56414c49445f4f46414360a01b81525091506104c2565b63718e161b60e11b6001600160e01b031982160161041c57604051806040016040528060118152602001701253959053125117d3d19050d7d493d3d5607a1b81525091506104c2565b63103793b960e21b6001600160e01b0319821601610471576040518060400160405280601b81526020017f494e56414c49445f464f5242494444454e5f434f554e5452494553000000000081525091506104c2565b63159642c360e11b6001600160e01b03198216016104c2576040518060400160405280601d81526020017f494e56414c49445f56435f414e445f444953434c4f53455f50524f4f4600000081525091505b505b604080516101808101825260006101608201818152825282518181526020818101909452909282019083610508565b60608152602001906001900390816104f35790505b5081526020016040518060200160405280600081525081526020016040518060200160405280600081525081526020016040518060200160405280600081525081526020016040518060200160405280600081525081526020016040518060200160405280600081525081526020016000815260200160018152602001600181526020016001815250905080600083965096509650505050506107c8565b9050861561072f57600254608082015160405163ede12d9f60e01b8152600481019190915288916001600160a01b03169063ede12d9f90602401602060405180830381865afa1580156105fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062191906111f6565b1461072f5760408051610180810182526000610160820181815282528251818152602081810190945290928201908361066a565b60608152602001906001900390816106555790505b50815260200160405180602001604052806000815250815260200160405180602001604052806000815250815260200160405180602001604052806000815250815260200160405180602001604052806000815250815260200160405180602001604052806000815250815260200160008152602001600181526020016001815260200160018152509050806000604051806040016040528060118152602001700494e56414c49445f54494d455354414d5607c1b81525094509450945050506107c8565b60a08101516001546040516302b26ef560e41b81526000916001600160a01b031690632b26ef50906107679085908b9060040161120f565b600060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107ac919081019061137e565b6040805160208101909152600081529096506001955093505050505b93509350939050565b6107d961083e565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61080361083e565b6001600160a01b03811661083257604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61083b8161086b565b50565b6000546001600160a01b031633146101825760405163118cdaa760e01b8152336004820152602401610829565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016108f1610903565b81526020016108fe610921565b905290565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b60006020828403121561095157600080fd5b81356001600160a01b038116811461096857600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156109a7576109a761096f565b60405290565b60405160c081016001600160401b03811182821017156109a7576109a761096f565b60405160e081016001600160401b03811182821017156109a7576109a761096f565b60405161016081016001600160401b03811182821017156109a7576109a761096f565b604051601f8201601f191681016001600160401b0381118282101715610a3c57610a3c61096f565b604052919050565b80358015158114610a5457600080fd5b919050565b6000610a656080610a14565b9050806080830184811115610a7957600080fd5b835b81811015610a93578035835260209283019201610a7b565b50505092915050565b600082601f830112610aad57600080fd5b610ab76060610a14565b806060840185811115610ac957600080fd5b845b81811015610aea57610adc81610a44565b845260209384019301610acb565b509095945050505050565b600082601f830112610b0657600080fd5b6000610b126040610a14565b9050806040840185811115610b2657600080fd5b845b81811015610b40578035835260209283019201610b28565b509195945050505050565b600082601f830112610b5c57600080fd5b60006102a0610b6a81610a14565b915083018185821115610b7c57600080fd5b845b82811015610b40578035825260209182019101610b7e565b60006103a08284031215610ba957600080fd5b610bb1610985565b9050610bbd8383610af5565b815282605f830112610bce57600080fd5b6040610bd981610a14565b8060c0850186811115610beb57600080fd5b8386015b81811015610c1057610c018882610af5565b84526020909301928401610bef565b50816020860152610c218782610af5565b8486015250505050610c37836101008401610b4b565b606082015292915050565b60006001600160401b03821115610c5b57610c5b61096f565b5060051b60200190565b600082601f830112610c7657600080fd5b8135610c89610c8482610c42565b610a14565b8082825260208201915060208360051b860101925085831115610cab57600080fd5b602085015b83811015610cd5578035600b8110610cc757600080fd5b835260209283019201610cb0565b5095945050505050565b6000806000838503610520811215610cf657600080fd5b843593506104e0601f1982011215610d0d57600080fd5b50610d166109ad565b610d2260208601610a44565b815260408501356020820152610d3a60608601610a44565b604082015285609f860112610d4e57600080fd5b610d5b8660808701610a59565b6060820152610d6e866101008701610a9c565b6080820152610d81866101608701610b96565b60a082015291506105008401356001600160401b03811115610da257600080fd5b610dae86828701610c65565b9150509250925092565b60005b83811015610dd3578181015183820152602001610dbb565b50506000910152565b60008151808452610df4816020860160208601610db8565b601f01601f19169290920160200192915050565b600082825180855260208501945060208160051b8301016020850160005b83811015610e5857601f19858403018852610e42838351610ddc565b6020988901989093509190910190600101610e26565b50909695505050505050565b60608152600084516101606060840152610e826101c0840182610ddc565b90506020860151605f19848303016080850152610e9f8282610e08565b9150506040860151605f198483030160a0850152610ebd8282610ddc565b9150506060860151605f198483030160c0850152610edb8282610ddc565b9150506080860151605f198483030160e0850152610ef98282610ddc565b91505060a0860151605f1984830301610100850152610f188282610ddc565b91505060c0860151605f1984830301610120850152610f378282610ddc565b91505060e08601516101408401526101008601516101608401526101208601516101808401526101408601516101a0840152610f77602084018615159052565b8281036040840152610f898185610ddc565b9695505050505050565b8060005b6003811015610fb85781511515845260209384019390910190600101610f97565b50505050565b8060005b6002811015610fb8578151845260209384019390910190600101610fc2565b610fec828251610fbe565b60208101516040830160005b60028110156110225761100c828451610fbe565b6020929092019160409190910190600101610ff8565b505050604081015161103760c0840182610fbe565b506060810151610100830160005b6015811015611064578251825260209283019290910190600101611045565b5050505050565b60006104e0820190508251151582526020830151602083015260408301511515604083015260608301516060830160005b60048110156110bb57825182526020928301929091019060010161109c565b50505060808301516110d060e0840182610f93565b5060a08301516110e4610140840182610fe1565b5092915050565b60006110f76060610a14565b905080606083018481111561110b57600080fd5b835b81811015610a9357805183526020928301920161110d565b600082601f83011261113657600080fd5b60006111426080610a14565b905080608084018581111561115657600080fd5b845b81811015610b40578051835260209283019201611158565b600061018082840312801561118457600080fd5b50600061118f6109cf565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260bf840185136111c9578182fd5b6111d68560a086016110eb565b60a08201526111e9856101008601611125565b60c0820152949350505050565b60006020828403121561120857600080fd5b5051919050565b6000608082018285835b6003811015611238578151835260209283019290910190600101611219565b50506080606085015250835190819052602084019060a084019060005b81811015610e58578351600b811061127d57634e487b7160e01b600052602160045260246000fd5b835260209384019390920191600101611255565b600082601f8301126112a257600080fd5b81516001600160401b038111156112bb576112bb61096f565b6112ce601f8201601f1916602001610a14565b8181528460208386010111156112e357600080fd5b6112f4826020830160208701610db8565b949350505050565b600082601f83011261130d57600080fd5b815161131b610c8482610c42565b8082825260208201915060208360051b86010192508583111561133d57600080fd5b602085015b83811015610cd55780516001600160401b0381111561136057600080fd5b61136f886020838a0101611291565b84525060209283019201611342565b60006020828403121561139057600080fd5b81516001600160401b038111156113a657600080fd5b820161016081850312156113b957600080fd5b6113c16109f1565b81516001600160401b038111156113d757600080fd5b6113e386828501611291565b82525060208201516001600160401b038111156113ff57600080fd5b61140b868285016112fc565b60208301525060408201516001600160401b0381111561142a57600080fd5b61143686828501611291565b60408301525060608201516001600160401b0381111561145557600080fd5b61146186828501611291565b60608301525060808201516001600160401b0381111561148057600080fd5b61148c86828501611291565b60808301525060a08201516001600160401b038111156114ab57600080fd5b6114b786828501611291565b60a08301525060c08201516001600160401b038111156114d657600080fd5b6114e286828501611291565b60c08301525060e08281015190820152610100808301519082015261012080830151908201526101409182015191810191909152939250505056fea164736f6c634300081c000a", "linkReferences": {}, "deployedLinkReferences": {} -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/UpdateRegistryCscaRoot#IdentityRegistryImplV1.json b/contracts/ignition/deployments/prod/artifacts/UpdateRegistryCscaRoot#IdentityRegistryImplV1.json index 46936740d..626215e7e 100644 --- a/contracts/ignition/deployments/prod/artifacts/UpdateRegistryCscaRoot#IdentityRegistryImplV1.json +++ b/contracts/ignition/deployments/prod/artifacts/UpdateRegistryCscaRoot#IdentityRegistryImplV1.json @@ -1284,4 +1284,4 @@ ] } } -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/UpdateRegistryHub#IdentityRegistryImplV1.json b/contracts/ignition/deployments/prod/artifacts/UpdateRegistryHub#IdentityRegistryImplV1.json index 46936740d..626215e7e 100644 --- a/contracts/ignition/deployments/prod/artifacts/UpdateRegistryHub#IdentityRegistryImplV1.json +++ b/contracts/ignition/deployments/prod/artifacts/UpdateRegistryHub#IdentityRegistryImplV1.json @@ -1284,4 +1284,4 @@ ] } } -} \ No newline at end of file +} diff --git a/contracts/ignition/deployments/prod/artifacts/UpdateRegistryOfacRoot#IdentityRegistryImplV1.json b/contracts/ignition/deployments/prod/artifacts/UpdateRegistryOfacRoot#IdentityRegistryImplV1.json index 46936740d..626215e7e 100644 --- a/contracts/ignition/deployments/prod/artifacts/UpdateRegistryOfacRoot#IdentityRegistryImplV1.json +++ b/contracts/ignition/deployments/prod/artifacts/UpdateRegistryOfacRoot#IdentityRegistryImplV1.json @@ -1284,4 +1284,4 @@ ] } } -} \ No newline at end of file +} diff --git a/contracts/ignition/modules/deployAllVerifiers.ts b/contracts/ignition/modules/deployAllVerifiers.ts index 9c1daa000..d2874f452 100644 --- a/contracts/ignition/modules/deployAllVerifiers.ts +++ b/contracts/ignition/modules/deployAllVerifiers.ts @@ -1,23 +1,20 @@ import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; -import { - DEPLOYED_CIRCUITS_REGISTER, - DEPLOYED_CIRCUITS_DSC -} from "../../../common/src/constants/constants"; +import { DEPLOYED_CIRCUITS_REGISTER, DEPLOYED_CIRCUITS_DSC } from "../../../common/src/constants/constants"; export default buildModule("DeployAllVerifiers", (m) => { - const deployedContracts: Record = {}; + const deployedContracts: Record = {}; - deployedContracts.vcAndDiscloseVerifier = m.contract("Verifier_vc_and_disclose"); - - DEPLOYED_CIRCUITS_REGISTER.forEach(circuit => { - const contractName = `Verifier_${circuit}`; - deployedContracts[circuit] = m.contract(contractName); - }); + deployedContracts.vcAndDiscloseVerifier = m.contract("Verifier_vc_and_disclose"); - DEPLOYED_CIRCUITS_DSC.forEach(circuit => { - const contractName = `Verifier_${circuit}`; - deployedContracts[circuit] = m.contract(contractName); - }); + DEPLOYED_CIRCUITS_REGISTER.forEach((circuit) => { + const contractName = `Verifier_${circuit}`; + deployedContracts[circuit] = m.contract(contractName); + }); - return deployedContracts; -}); \ No newline at end of file + DEPLOYED_CIRCUITS_DSC.forEach((circuit) => { + const contractName = `Verifier_${circuit}`; + deployedContracts[circuit] = m.contract(contractName); + }); + + return deployedContracts; +}); diff --git a/contracts/ignition/modules/deployHub.ts b/contracts/ignition/modules/deployHub.ts index 5e4f78302..2fae9f30e 100644 --- a/contracts/ignition/modules/deployHub.ts +++ b/contracts/ignition/modules/deployHub.ts @@ -5,38 +5,35 @@ import fs from "fs"; import path from "path"; function getHubInitializeData() { - const hubArtifact = artifacts.readArtifactSync("IdentityVerificationHubImplV1"); - return new ethers.Interface(hubArtifact.abi); + const hubArtifact = artifacts.readArtifactSync("IdentityVerificationHubImplV1"); + return new ethers.Interface(hubArtifact.abi); } export default buildModule("DeployHub", (m) => { - const networkName = hre.network.config.chainId; - - const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`); - const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); - - const registryAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"]; - const vcAndDiscloseVerifierAddress = deployedAddresses["DeployAllVerifiers#Verifier_vc_and_disclose"]; - - const identityVerificationHubImpl = m.contract("IdentityVerificationHubImplV1"); - - const hubInterface = getHubInitializeData(); - const initializeData = hubInterface.encodeFunctionData("initialize", [ - registryAddress, - vcAndDiscloseVerifierAddress, - [], - [], - [], - [] - ]); - - const hub = m.contract("IdentityVerificationHub", [ - identityVerificationHubImpl, - initializeData - ]); - - return { - hub, - identityVerificationHubImpl, - }; -}); \ No newline at end of file + const networkName = hre.network.config.chainId; + + const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`); + const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); + + const registryAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"]; + const vcAndDiscloseVerifierAddress = deployedAddresses["DeployAllVerifiers#Verifier_vc_and_disclose"]; + + const identityVerificationHubImpl = m.contract("IdentityVerificationHubImplV1"); + + const hubInterface = getHubInitializeData(); + const initializeData = hubInterface.encodeFunctionData("initialize", [ + registryAddress, + vcAndDiscloseVerifierAddress, + [], + [], + [], + [], + ]); + + const hub = m.contract("IdentityVerificationHub", [identityVerificationHubImpl, initializeData]); + + return { + hub, + identityVerificationHubImpl, + }; +}); diff --git a/contracts/ignition/modules/deployNewHubAndUpgrade.ts b/contracts/ignition/modules/deployNewHubAndUpgrade.ts index 8ec44bf25..213177aef 100644 --- a/contracts/ignition/modules/deployNewHubAndUpgrade.ts +++ b/contracts/ignition/modules/deployNewHubAndUpgrade.ts @@ -5,37 +5,32 @@ import fs from "fs"; import path from "path"; function getTestHubInitializeData() { - const hubArtifact = artifacts.readArtifactSync("testUpgradedIdentityVerificationHubImplV1"); - return new ethers.Interface(hubArtifact.abi); + const hubArtifact = artifacts.readArtifactSync("testUpgradedIdentityVerificationHubImplV1"); + return new ethers.Interface(hubArtifact.abi); } export default buildModule("DeployNewHubAndUpgrade", (m) => { - const networkName = hre.network.config.chainId; + const networkName = hre.network.config.chainId; - const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`); - const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); + const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`); + const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); - const hubProxyAddress = deployedAddresses["DeployHub#IdentityVerificationHub"]; - if (!hubProxyAddress) { - throw new Error("Hub proxy address not found in deployed_addresses.json"); - } + const hubProxyAddress = deployedAddresses["DeployHub#IdentityVerificationHub"]; + if (!hubProxyAddress) { + throw new Error("Hub proxy address not found in deployed_addresses.json"); + } - const newHubImpl = m.contract("testUpgradedIdentityVerificationHubImplV1"); + const newHubImpl = m.contract("testUpgradedIdentityVerificationHubImplV1"); - const testHubInterface = getTestHubInitializeData(); - const initializeData = testHubInterface.encodeFunctionData("initialize", [ - true - ]); + const testHubInterface = getTestHubInitializeData(); + const initializeData = testHubInterface.encodeFunctionData("initialize", [true]); - const hubProxy = m.contractAt("IdentityVerificationHubImplV1", hubProxyAddress); + const hubProxy = m.contractAt("IdentityVerificationHubImplV1", hubProxyAddress); - m.call(hubProxy, "upgradeToAndCall", [ - newHubImpl, - initializeData - ]); + m.call(hubProxy, "upgradeToAndCall", [newHubImpl, initializeData]); - return { - newHubImpl, - hubProxy - }; + return { + newHubImpl, + hubProxy, + }; }); diff --git a/contracts/ignition/modules/deployNewRegistryAndUpgrade.ts b/contracts/ignition/modules/deployNewRegistryAndUpgrade.ts index eb4e8b3d0..5e2fc153d 100644 --- a/contracts/ignition/modules/deployNewRegistryAndUpgrade.ts +++ b/contracts/ignition/modules/deployNewRegistryAndUpgrade.ts @@ -5,37 +5,32 @@ import fs from "fs"; import path from "path"; function getTestRegistryInitializeData() { - const registryArtifact = artifacts.readArtifactSync("testUpgradedIdentityRegistryImplV1"); - return new ethers.Interface(registryArtifact.abi); + const registryArtifact = artifacts.readArtifactSync("testUpgradedIdentityRegistryImplV1"); + return new ethers.Interface(registryArtifact.abi); } export default buildModule("DeployNewHubAndUpgrade", (m) => { - const networkName = hre.network.config.chainId; + const networkName = hre.network.config.chainId; - const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`); - const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); + const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`); + const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); - const registryProxyAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"]; - if (!registryProxyAddress) { - throw new Error("Registry proxy address not found in deployed_addresses.json"); - } + const registryProxyAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"]; + if (!registryProxyAddress) { + throw new Error("Registry proxy address not found in deployed_addresses.json"); + } - const newRegistryImpl = m.contract("testUpgradedIdentityVerificationHubImplV1"); + const newRegistryImpl = m.contract("testUpgradedIdentityVerificationHubImplV1"); - const testRegistryInterface = getTestRegistryInitializeData(); - const initializeData = testRegistryInterface.encodeFunctionData("initialize", [ - true - ]); + const testRegistryInterface = getTestRegistryInitializeData(); + const initializeData = testRegistryInterface.encodeFunctionData("initialize", [true]); - const registryProxy = m.contractAt("IdentityRegistryImplV1", registryProxyAddress); + const registryProxy = m.contractAt("IdentityRegistryImplV1", registryProxyAddress); - m.call(registryProxy, "upgradeToAndCall", [ - newRegistryImpl, - initializeData - ]); + m.call(registryProxy, "upgradeToAndCall", [newRegistryImpl, initializeData]); - return { - newRegistryImpl, - registryProxy - }; + return { + newRegistryImpl, + registryProxy, + }; }); diff --git a/contracts/ignition/modules/deployPCR0.ts b/contracts/ignition/modules/deployPCR0.ts index 73000c565..1f3cce752 100644 --- a/contracts/ignition/modules/deployPCR0.ts +++ b/contracts/ignition/modules/deployPCR0.ts @@ -4,12 +4,12 @@ import fs from "fs"; import path from "path"; export default buildModule("DeployPCR0", (m) => { - const networkName = hre.network.config.chainId; + const networkName = hre.network.config.chainId; - // Deploy the PCR0Manager contract (implementation from PCR0.sol) - const pcr0Manager = m.contract("PCR0Manager"); + // Deploy the PCR0Manager contract (implementation from PCR0.sol) + const pcr0Manager = m.contract("PCR0Manager"); - return { - pcr0Manager, - }; -}); \ No newline at end of file + return { + pcr0Manager, + }; +}); diff --git a/contracts/ignition/modules/deployRegistry.ts b/contracts/ignition/modules/deployRegistry.ts index a9e430464..eb7455322 100644 --- a/contracts/ignition/modules/deployRegistry.ts +++ b/contracts/ignition/modules/deployRegistry.ts @@ -3,34 +3,31 @@ import { artifacts } from "hardhat"; import { ethers } from "ethers"; export default buildModule("DeployRegistryModule", (m) => { - // Deploy PoseidonT3 - const poseidonT3 = m.library("PoseidonT3"); - - // Deploy IdentityRegistryImplV1 - const identityRegistryImpl = m.contract("IdentityRegistryImplV1", [], { - libraries: { PoseidonT3: poseidonT3 }, - }); + // Deploy PoseidonT3 + const poseidonT3 = m.library("PoseidonT3"); - // Deploy registry with temporary hub address - const registryInterface = getRegistryInitializeData(); - const registryInitData = registryInterface.encodeFunctionData("initialize", [ - "0x0000000000000000000000000000000000000000" - ]); - const registry = m.contract("IdentityRegistry", [ - identityRegistryImpl, - registryInitData - ]); + // Deploy IdentityRegistryImplV1 + const identityRegistryImpl = m.contract("IdentityRegistryImplV1", [], { + libraries: { PoseidonT3: poseidonT3 }, + }); - // Return deployed contracts - return { - poseidonT3, - identityRegistryImpl, - registry - }; + // Deploy registry with temporary hub address + const registryInterface = getRegistryInitializeData(); + const registryInitData = registryInterface.encodeFunctionData("initialize", [ + "0x0000000000000000000000000000000000000000", + ]); + const registry = m.contract("IdentityRegistry", [identityRegistryImpl, registryInitData]); + + // Return deployed contracts + return { + poseidonT3, + identityRegistryImpl, + registry, + }; }); function getRegistryInitializeData() { - const registryArtifact = artifacts.readArtifactSync("IdentityRegistryImplV1"); - const registryInterface = new ethers.Interface(registryArtifact.abi); - return registryInterface; -} \ No newline at end of file + const registryArtifact = artifacts.readArtifactSync("IdentityRegistryImplV1"); + const registryInterface = new ethers.Interface(registryArtifact.abi); + return registryInterface; +} diff --git a/contracts/ignition/modules/deployVerifiers.ts b/contracts/ignition/modules/deployVerifiers.ts index a72e75704..1412462bf 100644 --- a/contracts/ignition/modules/deployVerifiers.ts +++ b/contracts/ignition/modules/deployVerifiers.ts @@ -1,37 +1,36 @@ import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; export default buildModule("DeployVerifiers", (m) => { - - // const vcAndDiscloseVerifier = m.contract("Verifier_vc_and_disclose"); - - // const registerVerifier = m.contract("Verifier_register_sha1_sha256_sha256_rsa_65537_4096"); - // const registerVerifier2 = m.contract("Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1"); - // const registerVerifier3 = m.contract("Verifier_register_sha256_sha256_sha256_rsa_65537_4096"); - const verifier1 = m.contract("Verifier_dsc_sha1_ecdsa_secp256r1"); - const verifier2 = m.contract("Verifier_dsc_sha256_ecdsa_secp521r1"); - const verifier3 = m.contract("Verifier_dsc_sha384_ecdsa_brainpoolP512r1"); - const verifier4= m.contract("Verifier_dsc_sha512_ecdsa_brainpoolP512r1"); - const verifier5 = m.contract("Verifier_dsc_sha512_ecdsa_secp521r1"); - const verifier6 = m.contract("Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1"); - const verifier7 = m.contract("Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048"); - const verifier8 = m.contract("Verifier_register_sha512_sha512_sha256_rsa_65537_4096"); - const verifier9 = m.contract("Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1"); - const verifier10 = m.contract("Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1"); - const verifier11 = m.contract("Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1"); + // const vcAndDiscloseVerifier = m.contract("Verifier_vc_and_disclose"); - // const dscVerifier = m.contract("Verifier_dsc_sha256_rsa_65537_4096"); + // const registerVerifier = m.contract("Verifier_register_sha1_sha256_sha256_rsa_65537_4096"); + // const registerVerifier2 = m.contract("Verifier_register_sha256_sha256_sha256_ecdsa_brainpoolP256r1"); + // const registerVerifier3 = m.contract("Verifier_register_sha256_sha256_sha256_rsa_65537_4096"); + const verifier1 = m.contract("Verifier_dsc_sha1_ecdsa_secp256r1"); + const verifier2 = m.contract("Verifier_dsc_sha256_ecdsa_secp521r1"); + const verifier3 = m.contract("Verifier_dsc_sha384_ecdsa_brainpoolP512r1"); + const verifier4 = m.contract("Verifier_dsc_sha512_ecdsa_brainpoolP512r1"); + const verifier5 = m.contract("Verifier_dsc_sha512_ecdsa_secp521r1"); + const verifier6 = m.contract("Verifier_register_sha1_sha1_sha1_ecdsa_secp256r1"); + const verifier7 = m.contract("Verifier_register_sha256_sha256_sha256_rsapss_65537_64_2048"); + const verifier8 = m.contract("Verifier_register_sha512_sha512_sha256_rsa_65537_4096"); + const verifier9 = m.contract("Verifier_register_sha512_sha512_sha512_ecdsa_secp521r1"); + const verifier10 = m.contract("Verifier_register_sha512_sha512_sha512_ecdsa_brainpoolP512r1"); + const verifier11 = m.contract("Verifier_register_sha384_sha384_sha384_ecdsa_brainpoolP512r1"); - return { - verifier1, - verifier2, - verifier3, - verifier4, - verifier5, - verifier6, - verifier7, - verifier8, - verifier9, - verifier10, - verifier11 - }; -}); \ No newline at end of file + // const dscVerifier = m.contract("Verifier_dsc_sha256_rsa_65537_4096"); + + return { + verifier1, + verifier2, + verifier3, + verifier4, + verifier5, + verifier6, + verifier7, + verifier8, + verifier9, + verifier10, + verifier11, + }; +}); diff --git a/contracts/ignition/modules/deployVerifyAll.ts b/contracts/ignition/modules/deployVerifyAll.ts index 5263eec43..55e8ca5e4 100644 --- a/contracts/ignition/modules/deployVerifyAll.ts +++ b/contracts/ignition/modules/deployVerifyAll.ts @@ -4,15 +4,15 @@ import fs from "fs"; import path from "path"; export default buildModule("DeployVerifyAll", (m) => { - const networkName = hre.network.config.chainId; + const networkName = hre.network.config.chainId; - const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`); - const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); - const hubAddress = deployedAddresses["DeployHub#IdentityVerificationHub"]; - const registryAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"]; + const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`); + const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); + const hubAddress = deployedAddresses["DeployHub#IdentityVerificationHub"]; + const registryAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"]; - const verifyAll = m.contract("VerifyAll", [hubAddress, registryAddress]); - return { - verifyAll, - }; + const verifyAll = m.contract("VerifyAll", [hubAddress, registryAddress]); + return { + verifyAll, + }; }); diff --git a/contracts/ignition/modules/scripts/updatePCR0.ts b/contracts/ignition/modules/scripts/updatePCR0.ts index 14a97ca39..c0ab53426 100644 --- a/contracts/ignition/modules/scripts/updatePCR0.ts +++ b/contracts/ignition/modules/scripts/updatePCR0.ts @@ -5,36 +5,36 @@ import path from "path"; import { ethers } from "ethers"; export default buildModule("UpdatePCR0", (m) => { - const networkName = hre.network.config.chainId; - const journalPath = path.join(__dirname, "../../deployments", `chain-${networkName}`, "journal.jsonl"); + const networkName = hre.network.config.chainId; + const journalPath = path.join(__dirname, "../../deployments", `chain-${networkName}`, "journal.jsonl"); - // Read and parse the journal file - const journal = fs.readFileSync(journalPath, "utf8") - .split('\n') - .filter(Boolean) - .map(line => JSON.parse(line)); + // Read and parse the journal file + const journal = fs + .readFileSync(journalPath, "utf8") + .split("\n") + .filter(Boolean) + .map((line) => JSON.parse(line)); - // Find the deployment result entry - const deploymentResult = journal.find(entry => - entry.type === "DEPLOYMENT_EXECUTION_STATE_COMPLETE" && - entry.futureId === "DeployPCR0#PCR0Manager" - ); + // Find the deployment result entry + const deploymentResult = journal.find( + (entry) => entry.type === "DEPLOYMENT_EXECUTION_STATE_COMPLETE" && entry.futureId === "DeployPCR0#PCR0Manager", + ); - if (!deploymentResult?.result?.address) { - throw new Error("PCR0Manager address not found in journal. Please deploy PCR0Manager first."); - } + if (!deploymentResult?.result?.address) { + throw new Error("PCR0Manager address not found in journal. Please deploy PCR0Manager first."); + } - const pcr0Address = deploymentResult.result.address; - const pcr0Manager = m.contractAt("PCR0Manager", pcr0Address); - const pcr0Hash = "002991b83537ca49d9cfcd3375d9148151121470eef8e84cac087d789af9d200bcc6582fb53e0e273aeddc83943c4def"; - if (pcr0Hash.length !== 96) { - throw new Error(`Invalid PCR0 hash length: expected 96 hex characters, got ${pcr0Hash.length}`); - } - const pcr0Bytes = "0x" + pcr0Hash; - // Create a zero-filled hex string + const pcr0Address = deploymentResult.result.address; + const pcr0Manager = m.contractAt("PCR0Manager", pcr0Address); + const pcr0Hash = "002991b83537ca49d9cfcd3375d9148151121470eef8e84cac087d789af9d200bcc6582fb53e0e273aeddc83943c4def"; + if (pcr0Hash.length !== 96) { + throw new Error(`Invalid PCR0 hash length: expected 96 hex characters, got ${pcr0Hash.length}`); + } + const pcr0Bytes = "0x" + pcr0Hash; + // Create a zero-filled hex string - // Add the zero PCR0 value - m.call(pcr0Manager, "addPCR0", [pcr0Bytes]); + // Add the zero PCR0 value + m.call(pcr0Manager, "addPCR0", [pcr0Bytes]); - return {}; -}); \ No newline at end of file + return {}; +}); diff --git a/contracts/ignition/modules/scripts/updateRegistryCscaRoot.ts b/contracts/ignition/modules/scripts/updateRegistryCscaRoot.ts index 056d3f335..6b3666476 100644 --- a/contracts/ignition/modules/scripts/updateRegistryCscaRoot.ts +++ b/contracts/ignition/modules/scripts/updateRegistryCscaRoot.ts @@ -6,7 +6,6 @@ import { getCscaTreeRoot } from "../../../../common/src/utils/trees"; import serialized_csca_tree from "../../../../common/pubkeys/serialized_csca_tree.json"; module.exports = buildModule("UpdateRegistryCscaRoot", (m) => { - const networkName = hre.network.config.chainId; const deployedAddressesPath = path.join(__dirname, `../../deployments/chain-${networkName}/deployed_addresses.json`); @@ -20,4 +19,4 @@ module.exports = buildModule("UpdateRegistryCscaRoot", (m) => { console.log("Merkle root", merkleRoot); m.call(deployedRegistryInstance, "updateCscaRoot", [merkleRoot]); return { deployedRegistryInstance }; -}); \ No newline at end of file +}); diff --git a/contracts/ignition/modules/scripts/updateRegistryHub.ts b/contracts/ignition/modules/scripts/updateRegistryHub.ts index bfe64338f..87b8c451c 100644 --- a/contracts/ignition/modules/scripts/updateRegistryHub.ts +++ b/contracts/ignition/modules/scripts/updateRegistryHub.ts @@ -4,7 +4,6 @@ import fs from "fs"; import path from "path"; module.exports = buildModule("UpdateRegistryHub", (m) => { - const networkName = hre.network.config.chainId; const deployedAddressesPath = path.join(__dirname, `../../deployments/chain-${networkName}/deployed_addresses.json`); diff --git a/contracts/ignition/modules/scripts/updateRegistryOfacRoot.ts b/contracts/ignition/modules/scripts/updateRegistryOfacRoot.ts index 2c34c85cd..0f8ab3904 100644 --- a/contracts/ignition/modules/scripts/updateRegistryOfacRoot.ts +++ b/contracts/ignition/modules/scripts/updateRegistryOfacRoot.ts @@ -5,7 +5,6 @@ import path from "path"; import { getSMTs } from "../../../test/utils/generateProof"; module.exports = buildModule("UpdateRegistryOfacRoot", (m) => { - const networkName = hre.network.config.chainId; const deployedAddressesPath = path.join(__dirname, `../../deployments/chain-${networkName}/deployed_addresses.json`); @@ -15,15 +14,11 @@ module.exports = buildModule("UpdateRegistryOfacRoot", (m) => { const deployedRegistryInstance = m.contractAt("IdentityRegistryImplV1", registryAddress); console.log("Deployed registry instance", deployedRegistryInstance); - - const { - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt - } = getSMTs(); + + const { passportNo_smt, nameAndDob_smt, nameAndYob_smt } = getSMTs(); m.call(deployedRegistryInstance, "updatePassportNoOfacRoot", [passportNo_smt.root]); m.call(deployedRegistryInstance, "updateNameAndDobOfacRoot", [nameAndDob_smt.root]); m.call(deployedRegistryInstance, "updateNameAndYobOfacRoot", [nameAndYob_smt.root]); return { deployedRegistryInstance }; -}); \ No newline at end of file +}); diff --git a/contracts/ignition/modules/scripts/updateVerifyAllAddresses.ts b/contracts/ignition/modules/scripts/updateVerifyAllAddresses.ts index 0d63b8f46..28ff9efe3 100644 --- a/contracts/ignition/modules/scripts/updateVerifyAllAddresses.ts +++ b/contracts/ignition/modules/scripts/updateVerifyAllAddresses.ts @@ -4,18 +4,18 @@ import fs from "fs"; import path from "path"; module.exports = buildModule("UpdateVerifyAllAddresses", (m) => { -// const networkName = hre.network.config.chainId; + // const networkName = hre.network.config.chainId; -// const deployedAddressesPath = path.join(__dirname, `../../deployments/chain-${networkName}/deployed_addresses.json`); -// const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); + // const deployedAddressesPath = path.join(__dirname, `../../deployments/chain-${networkName}/deployed_addresses.json`); + // const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8")); // Get the addresses from the deployed_addresses.json file -// const verifyAllAddress = deployedAddresses["DeployVerifyAllModule#VerifyAll"]; -// const hubAddress = deployedAddresses["DeployHubModule#IdentityVerificationHub"]; -// const registryAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"]; -const verifyAllAddress = "0x03237E7b4c2b1AdEBdBC33d91478Eaef05D0fF85"; -const hubAddress = "0x3e2487a250e2A7b56c7ef5307Fb591Cc8C83623D"; -const registryAddress = "0xD961B67B35739cCF16326B087C9aD2c0095cCc4E"; + // const verifyAllAddress = deployedAddresses["DeployVerifyAllModule#VerifyAll"]; + // const hubAddress = deployedAddresses["DeployHubModule#IdentityVerificationHub"]; + // const registryAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"]; + const verifyAllAddress = "0x03237E7b4c2b1AdEBdBC33d91478Eaef05D0fF85"; + const hubAddress = "0x3e2487a250e2A7b56c7ef5307Fb591Cc8C83623D"; + const registryAddress = "0xD961B67B35739cCF16326B087C9aD2c0095cCc4E"; // Get the deployed VerifyAll contract instance const deployedVerifyAllInstance = m.contractAt("VerifyAll", verifyAllAddress); @@ -26,4 +26,4 @@ const registryAddress = "0xD961B67B35739cCF16326B087C9aD2c0095cCc4E"; m.call(deployedVerifyAllInstance, "setRegistry", [registryAddress]); return { deployedVerifyAllInstance }; -}); \ No newline at end of file +}); diff --git a/contracts/package.json b/contracts/package.json index 3e271ce39..50c35e5e3 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -65,7 +65,9 @@ "update:hub:celo": "npx hardhat ignition deploy ignition/modules/scripts/updateRegistryHub.ts --network celo --verify", "update:ofacroot:celo": "npx hardhat ignition deploy ignition/modules/scripts/updateRegistryOfacRoot.ts --network celo --verify", "deploy:pcr0:celo": "npx hardhat ignition deploy ignition/modules/deployPCR0.ts --network celo --verify", - "update:pcr0:celo": "PCR0_ACTION=add PCR0_KEY=123 npx hardhat ignition deploy ignition/modules/scripts/updatePCR0.ts --network celo --reset" + "update:pcr0:celo": "PCR0_ACTION=add PCR0_KEY=123 npx hardhat ignition deploy ignition/modules/scripts/updatePCR0.ts --network celo --reset", + "prettier:write": "prettier --write '**/*.{json,md,yml,sol,ts}'", + "prettier:check": "prettier --list-different '**/*.{json,md,yml,sol,ts}'" }, "dependencies": { "@ashpect/smt": "https://github.com/ashpect/smt#main", @@ -109,6 +111,8 @@ "hardhat": "^2.22.6", "hardhat-gas-reporter": "^1.0.10", "mochawesome": "^7.1.3", + "prettier": "3.5.3", + "prettier-plugin-solidity": "^2.0.0", "solidity-coverage": "^0.8.14", "ts-node": "^10.9.1", "typechain": "^8.3.2", diff --git a/contracts/scripts/deleteDscKeyCommitment.ts b/contracts/scripts/deleteDscKeyCommitment.ts index fa48ccd67..11994e6bb 100644 --- a/contracts/scripts/deleteDscKeyCommitment.ts +++ b/contracts/scripts/deleteDscKeyCommitment.ts @@ -41,84 +41,87 @@ const dscTree = new LeanIMT(hashFunction); // Function to initialize the tree with all commitments function initializeTree() { - console.log("Initializing DSC tree..."); - // The first array in serialized_dsc_tree[0] contains the leaf nodes - for (let i = 0; i < serialized_dsc_tree[0].length; i++) { - dscTree.insert(BigInt(serialized_dsc_tree[0][i])); - } - console.log(`Initialized DSC tree with ${dscTree.size} commitments. Root: ${dscTree.root}`); + console.log("Initializing DSC tree..."); + // The first array in serialized_dsc_tree[0] contains the leaf nodes + for (let i = 0; i < serialized_dsc_tree[0].length; i++) { + dscTree.insert(BigInt(serialized_dsc_tree[0][i])); + } + console.log(`Initialized DSC tree with ${dscTree.size} commitments. Root: ${dscTree.root}`); } async function main() { - try { - // Set up connection to blockchain - const provider = new ethers.JsonRpcProvider(process.env.RPC_URL as string); - const wallet = new ethers.Wallet(process.env.PRIVATE_KEY as string, provider); - - // Load the registry contract - const registryAbiFile = fs.readFileSync(path.join(__dirname, "../ignition/deployments/chain-11155111/artifacts/DeployRegistryModule#IdentityRegistryImplV1.json"), "utf-8"); - const registryAbi = JSON.parse(registryAbiFile).abi; - const registryAddress = "0xD961B67B35739cCF16326B087C9aD2c0095cCc4E"; // Update with your contract address - const registry = new ethers.Contract(registryAddress, registryAbi, wallet); - - // Initialize our tree with all the DSC key commitments - initializeTree(); - - // Get all commitments to delete - const commitments = serialized_dsc_tree[0]; - console.log(`Total commitments to delete: ${commitments.length}`); - - // Delete each commitment one by one - for (let i = 0; i < commitments.length; i++) { - try { - const commitment = BigInt(commitments[i]); - console.log(`Processing commitment ${i+1}/${commitments.length}: ${commitment.toString()}`); - - // Find the index of the commitment in the tree - const index = dscTree.indexOf(commitment); - if (index === -1) { - console.warn(`Commitment ${commitment.toString()} not found in the tree, skipping...`); - continue; - } - - // Generate the proof for the current commitment - const { siblings } = dscTree.generateProof(index); - - // Convert siblings to string array for contract call - const siblingNodes = siblings.map(s => s.toString()); - - // Call the contract to remove the commitment - console.log(`Removing commitment from contract...`); - const tx = await registry.devRemoveDscKeyCommitment( - commitment.toString(), - siblingNodes - ); - - console.log(`Transaction sent. Waiting for confirmation...`); - const receipt = await tx.wait(); - console.log(`Transaction confirmed! Hash: ${receipt.hash}`); - - // Update the commitment in our local tree to keep it in sync with the contract - // According to documentation, update takes index and new value - dscTree.update(index, BigInt(0)); // Update to zero, effectively "removing" it - console.log(`Removed commitment ${i+1}. New tree root: ${dscTree.root}`); - - // Small delay to avoid spamming the network - await new Promise(resolve => setTimeout(resolve, 1000)); - } catch (error) { - console.error(`Error processing commitment ${i+1}:`, error); - // Continue with the next commitment - } + try { + // Set up connection to blockchain + const provider = new ethers.JsonRpcProvider(process.env.RPC_URL as string); + const wallet = new ethers.Wallet(process.env.PRIVATE_KEY as string, provider); + + // Load the registry contract + const registryAbiFile = fs.readFileSync( + path.join( + __dirname, + "../ignition/deployments/chain-11155111/artifacts/DeployRegistryModule#IdentityRegistryImplV1.json", + ), + "utf-8", + ); + const registryAbi = JSON.parse(registryAbiFile).abi; + const registryAddress = "0xD961B67B35739cCF16326B087C9aD2c0095cCc4E"; // Update with your contract address + const registry = new ethers.Contract(registryAddress, registryAbi, wallet); + + // Initialize our tree with all the DSC key commitments + initializeTree(); + + // Get all commitments to delete + const commitments = serialized_dsc_tree[0]; + console.log(`Total commitments to delete: ${commitments.length}`); + + // Delete each commitment one by one + for (let i = 0; i < commitments.length; i++) { + try { + const commitment = BigInt(commitments[i]); + console.log(`Processing commitment ${i + 1}/${commitments.length}: ${commitment.toString()}`); + + // Find the index of the commitment in the tree + const index = dscTree.indexOf(commitment); + if (index === -1) { + console.warn(`Commitment ${commitment.toString()} not found in the tree, skipping...`); + continue; } - console.log("All DSC key commitments have been removed."); - } catch (error) { - console.error("Error in main function:", error); - process.exitCode = 1; + // Generate the proof for the current commitment + const { siblings } = dscTree.generateProof(index); + + // Convert siblings to string array for contract call + const siblingNodes = siblings.map((s) => s.toString()); + + // Call the contract to remove the commitment + console.log(`Removing commitment from contract...`); + const tx = await registry.devRemoveDscKeyCommitment(commitment.toString(), siblingNodes); + + console.log(`Transaction sent. Waiting for confirmation...`); + const receipt = await tx.wait(); + console.log(`Transaction confirmed! Hash: ${receipt.hash}`); + + // Update the commitment in our local tree to keep it in sync with the contract + // According to documentation, update takes index and new value + dscTree.update(index, BigInt(0)); // Update to zero, effectively "removing" it + console.log(`Removed commitment ${i + 1}. New tree root: ${dscTree.root}`); + + // Small delay to avoid spamming the network + await new Promise((resolve) => setTimeout(resolve, 1000)); + } catch (error) { + console.error(`Error processing commitment ${i + 1}:`, error); + // Continue with the next commitment + } } + + console.log("All DSC key commitments have been removed."); + } catch (error) { + console.error("Error in main function:", error); + process.exitCode = 1; + } } main().catch((error) => { - console.error(error); - process.exitCode = 1; + console.error(error); + process.exitCode = 1; }); diff --git a/contracts/scripts/findErrorSignature.ts b/contracts/scripts/findErrorSignature.ts index 979338d81..00e7de256 100644 --- a/contracts/scripts/findErrorSignature.ts +++ b/contracts/scripts/findErrorSignature.ts @@ -1,4 +1,4 @@ -import { ethers } from 'ethers'; +import { ethers } from "ethers"; // Error Signatures and their Selectors: // ===================================== @@ -34,44 +34,44 @@ import { ethers } from 'ethers'; // 0x034acfcc - REGISTERED_COMMITMENT() const errorSignatures = [ - 'InvalidProof()', - 'AlreadyClaimed()', - 'NotRegistered(address nonRegisteredAddress)', - 'RegistrationNotOpen()', - 'RegistrationNotClosed()', - 'ClaimNotOpen()', - 'INSUFFICIENT_CHARCODE_LEN()', - 'InvalidDateLength()', - 'InvalidAsciiCode()', - 'InvalidYearRange()', - 'InvalidMonthRange()', - 'InvalidDayRange()', - 'InvalidFieldElement()', - 'InvalidDateDigit()', - 'LENGTH_MISMATCH()', - 'NO_VERIFIER_SET()', - 'CURRENT_DATE_NOT_IN_VALID_RANGE()', - 'INVALID_OLDER_THAN()', - 'INVALID_FORBIDDEN_COUNTRIES()', - 'INVALID_OFAC()', - 'INVALID_REGISTER_PROOF()', - 'INVALID_DSC_PROOF()', - 'INVALID_VC_AND_DISCLOSE_PROOF()', - 'INVALID_COMMITMENT_ROOT()', - 'INVALID_OFAC_ROOT()', - 'INVALID_CSCA_ROOT()', - 'INVALID_REVEALED_DATA_TYPE()', - 'HUB_NOT_SET()', - 'ONLY_HUB_CAN_ACCESS()', - 'REGISTERED_COMMITMENT()', - 'RegisteredNullifier()' + "InvalidProof()", + "AlreadyClaimed()", + "NotRegistered(address nonRegisteredAddress)", + "RegistrationNotOpen()", + "RegistrationNotClosed()", + "ClaimNotOpen()", + "INSUFFICIENT_CHARCODE_LEN()", + "InvalidDateLength()", + "InvalidAsciiCode()", + "InvalidYearRange()", + "InvalidMonthRange()", + "InvalidDayRange()", + "InvalidFieldElement()", + "InvalidDateDigit()", + "LENGTH_MISMATCH()", + "NO_VERIFIER_SET()", + "CURRENT_DATE_NOT_IN_VALID_RANGE()", + "INVALID_OLDER_THAN()", + "INVALID_FORBIDDEN_COUNTRIES()", + "INVALID_OFAC()", + "INVALID_REGISTER_PROOF()", + "INVALID_DSC_PROOF()", + "INVALID_VC_AND_DISCLOSE_PROOF()", + "INVALID_COMMITMENT_ROOT()", + "INVALID_OFAC_ROOT()", + "INVALID_CSCA_ROOT()", + "INVALID_REVEALED_DATA_TYPE()", + "HUB_NOT_SET()", + "ONLY_HUB_CAN_ACCESS()", + "REGISTERED_COMMITMENT()", + "RegisteredNullifier()", ]; -errorSignatures.forEach(sig => { +errorSignatures.forEach((sig) => { // Pls input the error code - const errorCode = '0x22cbc6a2'; + const errorCode = "0x22cbc6a2"; const selector = ethers.id(sig).slice(0, 10); if (selector === errorCode) { console.log(`Found matching error: ${sig}`); } -}); \ No newline at end of file +}); diff --git a/contracts/scripts/setDscKeyCommitment.ts b/contracts/scripts/setDscKeyCommitment.ts index edc563ff7..e1e930dea 100644 --- a/contracts/scripts/setDscKeyCommitment.ts +++ b/contracts/scripts/setDscKeyCommitment.ts @@ -6,42 +6,46 @@ import { RegisterVerifierId, DscVerifierId } from "../../common/src/constants/co dotenv.config(); -const deployedAddresses = JSON.parse(fs.readFileSync(path.join(__dirname, "../ignition/deployments/chain-42220/deployed_addresses.json"), "utf-8")); +const deployedAddresses = JSON.parse( + fs.readFileSync(path.join(__dirname, "../ignition/deployments/chain-42220/deployed_addresses.json"), "utf-8"), +); const contractAbiPath = path.join(__dirname, "../ignition/deployments/chain-11155111/artifacts"); const serializedDscTreePath = path.join(__dirname, "../../registry/outputs/serialized_dsc_tree.json"); const serialized_dsc_tree = JSON.parse(JSON.parse(fs.readFileSync(serializedDscTreePath, "utf-8"))); function getContractAddressByPartialName(partialName: string): string | unknown { - for (const [key, value] of Object.entries(deployedAddresses)) { - if (key.includes(partialName)) { - return value; - } + for (const [key, value] of Object.entries(deployedAddresses)) { + if (key.includes(partialName)) { + return value; } - return undefined; + } + return undefined; } async function main() { - - const provider = new ethers.JsonRpcProvider(process.env.RPC_URL as string); - const wallet = new ethers.Wallet(process.env.PRIVATE_KEY as string, provider); - const registryAbiFile = fs.readFileSync(path.join(__dirname, "../ignition/deployments/chain-11155111/artifacts/DeployRegistryModule#IdentityRegistryImplV1.json"), "utf-8"); - const registryAbi = JSON.parse(registryAbiFile).abi; - const registry = new ethers.Contract("0x66916bc86F761a11587B99c474dB9051f8262478", registryAbi, wallet); - - console.log("serialized dsc tree: ", serialized_dsc_tree[0]); - console.log("lenght: ", serialized_dsc_tree[0].length); - for (let i = 395; i < serialized_dsc_tree[0].length; i++) { - const tx = await registry.devAddDscKeyCommitment( - serialized_dsc_tree[0][i] - ); - const receipt = await tx.wait(); - console.log(`${i} th tx hash: `, receipt.hash); - } - + const provider = new ethers.JsonRpcProvider(process.env.RPC_URL as string); + const wallet = new ethers.Wallet(process.env.PRIVATE_KEY as string, provider); + const registryAbiFile = fs.readFileSync( + path.join( + __dirname, + "../ignition/deployments/chain-11155111/artifacts/DeployRegistryModule#IdentityRegistryImplV1.json", + ), + "utf-8", + ); + const registryAbi = JSON.parse(registryAbiFile).abi; + const registry = new ethers.Contract("0x66916bc86F761a11587B99c474dB9051f8262478", registryAbi, wallet); + + console.log("serialized dsc tree: ", serialized_dsc_tree[0]); + console.log("lenght: ", serialized_dsc_tree[0].length); + for (let i = 395; i < serialized_dsc_tree[0].length; i++) { + const tx = await registry.devAddDscKeyCommitment(serialized_dsc_tree[0][i]); + const receipt = await tx.wait(); + console.log(`${i} th tx hash: `, receipt.hash); + } } main().catch((error) => { - console.error(error); - process.exitCode = 1; - }); \ No newline at end of file + console.error(error); + process.exitCode = 1; +}); diff --git a/contracts/scripts/setVerifiers.ts b/contracts/scripts/setVerifiers.ts index e05d7fd5d..825b69e19 100644 --- a/contracts/scripts/setVerifiers.ts +++ b/contracts/scripts/setVerifiers.ts @@ -8,111 +8,111 @@ dotenv.config(); // Debug logs for paths and files console.log("Current directory:", __dirname); -console.log("Deployed addresses path:", path.join(__dirname, "../ignition/deployments/chain-42220/deployed_addresses.json")); -console.log("Contract ABI path:", path.join(__dirname, "../ignition/deployments/chain-42220/artifacts/DeployHub#IdentityVerificationHubImplV1.json")); +console.log( + "Deployed addresses path:", + path.join(__dirname, "../ignition/deployments/chain-42220/deployed_addresses.json"), +); +console.log( + "Contract ABI path:", + path.join(__dirname, "../ignition/deployments/chain-42220/artifacts/DeployHub#IdentityVerificationHubImplV1.json"), +); // Debug logs for environment variables (redacted for security) console.log("CELO_RPC_URL configured:", !!process.env.CELO_RPC_URL); console.log("CELO_KEY configured:", !!process.env.CELO_KEY); try { - const deployedAddresses = JSON.parse(fs.readFileSync(path.join(__dirname, "../ignition/deployments/chain-42220/deployed_addresses.json"), "utf-8")); - console.log("Deployed addresses loaded:", deployedAddresses); + const deployedAddresses = JSON.parse( + fs.readFileSync(path.join(__dirname, "../ignition/deployments/chain-42220/deployed_addresses.json"), "utf-8"), + ); + console.log("Deployed addresses loaded:", deployedAddresses); + + const identityVerificationHubAbiFile = fs.readFileSync( + path.join(__dirname, "../ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHubImplV1.json"), + "utf-8", + ); + console.log("ABI file loaded"); + + const identityVerificationHubAbi = JSON.parse(identityVerificationHubAbiFile).abi; + console.log("ABI parsed"); + + const contractAbiPath = path.join(__dirname, "../ignition/deployments/chain-11155111/artifacts"); + + function getContractAddressByPartialName(partialName: string): string | unknown { + for (const [key, value] of Object.entries(deployedAddresses)) { + if (key.includes(partialName)) { + return value; + } + } + return undefined; + } - const identityVerificationHubAbiFile = fs.readFileSync(path.join(__dirname, "../ignition/deployments/prod/artifacts/DeployHub#IdentityVerificationHubImplV1.json"), "utf-8"); - console.log("ABI file loaded"); + async function main() { + const provider = new ethers.JsonRpcProvider(process.env.CELO_RPC_URL as string); + console.log("Provider created"); - const identityVerificationHubAbi = JSON.parse(identityVerificationHubAbiFile).abi; - console.log("ABI parsed"); + const wallet = new ethers.Wallet(process.env.CELO_KEY as string, provider); + console.log("Wallet created"); - const contractAbiPath = path.join(__dirname, "../ignition/deployments/chain-11155111/artifacts"); + // const hubAddress = deployedAddresses["DeployHub#IdentityVerificationHub"]; + const hubAddress = "0x77117D60eaB7C044e785D68edB6C7E0e134970Ea"; + console.log("Hub address:", hubAddress); - function getContractAddressByPartialName(partialName: string): string | unknown { - for (const [key, value] of Object.entries(deployedAddresses)) { - if (key.includes(partialName)) { - return value; - } - } - return undefined; + if (!hubAddress) { + throw new Error("Hub address not found in deployed_addresses.json"); } - async function main() { - const provider = new ethers.JsonRpcProvider(process.env.CELO_RPC_URL as string); - console.log("Provider created"); - - const wallet = new ethers.Wallet(process.env.CELO_KEY as string, provider); - console.log("Wallet created"); - - // const hubAddress = deployedAddresses["DeployHub#IdentityVerificationHub"]; - const hubAddress = "0x77117D60eaB7C044e785D68edB6C7E0e134970Ea"; - console.log("Hub address:", hubAddress); - - if (!hubAddress) { - throw new Error("Hub address not found in deployed_addresses.json"); - } - - const identityVerificationHub = new ethers.Contract( - hubAddress, - identityVerificationHubAbi, - wallet - ); - console.log("Contract instance created"); - - // Debug verifier addresses before updating - const registerVerifierKeys = Object.keys(RegisterVerifierId).filter(key => isNaN(Number(key))); - for (const key of registerVerifierKeys) { - const verifierName = `Verifier_${key}`; - const verifierAddress = getContractAddressByPartialName(verifierName); - console.log(`${verifierName} address:`, verifierAddress); - } - - for (const key of registerVerifierKeys) { - const verifierName = `Verifier_${key}`; - const verifierAddress = getContractAddressByPartialName(verifierName); - if (!verifierAddress) { - console.log(`Skipping ${verifierName} because no deployed address was found.`); - continue; - } - console.log(`Updating for ${verifierName}`); - const verifierId = RegisterVerifierId[key as keyof typeof RegisterVerifierId]; - - try { - const tx = await identityVerificationHub.updateRegisterCircuitVerifier( - verifierId, - verifierAddress - ); - const receipt = await tx.wait(); - console.log(`${verifierName} is updated with tx: ${receipt.hash}`); - } catch (error) { - console.error(`Error updating ${verifierName}:`, error); - } - } - - const dscKeys = Object.keys(DscVerifierId).filter(key => isNaN(Number(key))); - for (const key of dscKeys) { - const verifierName = `Verifier_${key}`; - const verifierAddress = getContractAddressByPartialName(verifierName); - if (!verifierAddress) { - console.log(`Skipping ${verifierName} because no deployed address was found.`); - continue; - } - const verifierId = DscVerifierId[key as keyof typeof DscVerifierId]; - - const tx = await identityVerificationHub.updateDscVerifier( - verifierId, - verifierAddress - ); - const receipt = await tx.wait(); - console.log(`${verifierName} is updated wit this tx: ${receipt.hash}`); - } + const identityVerificationHub = new ethers.Contract(hubAddress, identityVerificationHubAbi, wallet); + console.log("Contract instance created"); + + // Debug verifier addresses before updating + const registerVerifierKeys = Object.keys(RegisterVerifierId).filter((key) => isNaN(Number(key))); + for (const key of registerVerifierKeys) { + const verifierName = `Verifier_${key}`; + const verifierAddress = getContractAddressByPartialName(verifierName); + console.log(`${verifierName} address:`, verifierAddress); } - main().catch((error) => { - console.error("Execution error:", error); - process.exitCode = 1; - }); + for (const key of registerVerifierKeys) { + const verifierName = `Verifier_${key}`; + const verifierAddress = getContractAddressByPartialName(verifierName); + if (!verifierAddress) { + console.log(`Skipping ${verifierName} because no deployed address was found.`); + continue; + } + console.log(`Updating for ${verifierName}`); + const verifierId = RegisterVerifierId[key as keyof typeof RegisterVerifierId]; + + try { + const tx = await identityVerificationHub.updateRegisterCircuitVerifier(verifierId, verifierAddress); + const receipt = await tx.wait(); + console.log(`${verifierName} is updated with tx: ${receipt.hash}`); + } catch (error) { + console.error(`Error updating ${verifierName}:`, error); + } + } -} catch (error) { - console.error("Initial setup error:", error); + const dscKeys = Object.keys(DscVerifierId).filter((key) => isNaN(Number(key))); + for (const key of dscKeys) { + const verifierName = `Verifier_${key}`; + const verifierAddress = getContractAddressByPartialName(verifierName); + if (!verifierAddress) { + console.log(`Skipping ${verifierName} because no deployed address was found.`); + continue; + } + const verifierId = DscVerifierId[key as keyof typeof DscVerifierId]; + + const tx = await identityVerificationHub.updateDscVerifier(verifierId, verifierAddress); + const receipt = await tx.wait(); + console.log(`${verifierName} is updated wit this tx: ${receipt.hash}`); + } + } + + main().catch((error) => { + console.error("Execution error:", error); process.exitCode = 1; -} \ No newline at end of file + }); +} catch (error) { + console.error("Initial setup error:", error); + process.exitCode = 1; +} diff --git a/contracts/test/example/airdrop.test.ts b/contracts/test/example/airdrop.test.ts index 09f222c89..3a9fecee8 100644 --- a/contracts/test/example/airdrop.test.ts +++ b/contracts/test/example/airdrop.test.ts @@ -4,652 +4,657 @@ import { DeployedActors } from "../utils/types"; import { ethers } from "hardhat"; import { CIRCUIT_CONSTANTS } from "../../../common/src/constants/constants"; import { ATTESTATION_ID } from "../utils/constants"; -import {generateVcAndDiscloseProof } from "../utils/generateProof"; +import { generateVcAndDiscloseProof } from "../utils/generateProof"; import { LeanIMT } from "@openpassport/zk-kit-lean-imt"; import { poseidon2 } from "poseidon-lite"; import { generateCommitment } from "../../../common/src/utils/passports/passport"; import { generateRandomFieldElement, splitHexFromBack } from "../utils/utils"; import BalanceTree from "../utils/example/balance-tree"; import { castFromScope } from "../../../common/src/utils/circuits/uuid"; -import { formatCountriesList, reverseBytes } from '../../../common/src/utils/circuits/formatInputs'; +import { formatCountriesList, reverseBytes } from "../../../common/src/utils/circuits/formatInputs"; import { Formatter } from "../utils/formatter"; import { hashEndpointWithScope } from "../../../common/src/utils/scope"; describe("Airdrop", () => { - let deployedActors: DeployedActors; - let snapshotId: string; - let airdrop: any; - let token: any; - let baseVcAndDiscloseProof: any; - let vcAndDiscloseProof: any; - let registerSecret: any; - let imt: any; - let commitment: any; - let nullifier: any; - let forbiddenCountriesList: any; - let countriesListPacked: any; - let attestationIds: any[]; - - before(async () => { - deployedActors = await deploySystemFixtures(); - - registerSecret = generateRandomFieldElement(); - nullifier = generateRandomFieldElement(); - attestationIds = [BigInt(ATTESTATION_ID.E_PASSPORT)]; - commitment = generateCommitment(registerSecret, ATTESTATION_ID.E_PASSPORT, deployedActors.mockPassport); - - forbiddenCountriesList = ['AAA', 'ABC', 'CBA']; - - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - imt = new LeanIMT(hashFunction); - await imt.insert(BigInt(commitment)); - - baseVcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.E_PASSPORT).toString(), - deployedActors.mockPassport, - hashEndpointWithScope("https://test.com", "test-scope"), - new Array(88).fill("1"), - "1", - imt, - "20", - undefined, - undefined, - undefined, - undefined, - forbiddenCountriesList, - (await deployedActors.user1.getAddress()).slice(2) - ); - - const tokenFactory = await ethers.getContractFactory("AirdropToken"); - token = await tokenFactory.connect(deployedActors.owner).deploy(); - await token.waitForDeployment(); - - await deployedActors.registry.connect(deployedActors.owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - countriesListPacked = splitHexFromBack(reverseBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList))))); - - const airdropFactory = await ethers.getContractFactory("Airdrop"); - airdrop = await airdropFactory.connect(deployedActors.owner).deploy( - deployedActors.hub.target, - hashEndpointWithScope("https://test.com", "test-scope"), - attestationIds, - token.target - ); - await airdrop.waitForDeployment(); - - const verificationConfig = { - olderThanEnabled: true, - olderThan: 20, - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: countriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean] - }; - await airdrop.connect(deployedActors.owner).setVerificationConfig(verificationConfig); - - const mintAmount = ethers.parseEther("424242424242"); - await token.mint(airdrop.target, mintAmount); - - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - beforeEach(async () => { - vcAndDiscloseProof = structuredClone(baseVcAndDiscloseProof); - }); - - afterEach(async () => { - await ethers.provider.send("evm_revert", [snapshotId]); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - it("should able to open registration by owner", async () => { - const { owner } = deployedActors; - const tx = await airdrop.connect(owner).openRegistration(); - const receipt = await tx.wait(); - const event = receipt?.logs.find( - (log: any) => log.topics[0] === airdrop.interface.getEvent("RegistrationOpen").topicHash - ); - expect(event).to.not.be.null; - expect(await airdrop.isRegistrationOpen()).to.be.true; - }); - - it("should not able to open registration by non-owner", async () => { - const { user1 } = deployedActors; - await expect(airdrop.connect(user1).openRegistration()) - .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") - .withArgs(await user1.getAddress()); - }); - - it("should able to close registration by owner", async () => { - const { owner} = deployedActors; - await airdrop.connect(owner).openRegistration(); - const tx = await airdrop.connect(owner).closeRegistration(); - const receipt = await tx.wait(); - const event = receipt?.logs.find( - (log: any) => log.topics[0] === airdrop.interface.getEvent("RegistrationClose").topicHash - ); - expect(event).to.not.be.null; - expect(await airdrop.isRegistrationOpen()).to.be.false; - }); - - it("should not able to close registration by non-owner", async () => { - const { user1 } = deployedActors; - await expect(airdrop.connect(user1).closeRegistration()) - .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") - .withArgs(await user1.getAddress()); - }); - - it("should able to open claim by owner", async () => { - const { owner} = deployedActors; - const tx = await airdrop.connect(owner).openClaim(); - const receipt = await tx.wait(); - - const event = receipt?.logs.find( - (log: any) => log.topics[0] === airdrop.interface.getEvent("ClaimOpen").topicHash - ); - expect(event).to.not.be.null; - expect(await airdrop.isClaimOpen()).to.be.true; - }); - - it("should not able to open claim by non-owner", async () => { - const { user1 } = deployedActors; - await expect(airdrop.connect(user1).openClaim()) - .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") - .withArgs(await user1.getAddress()); - }); - - it("should able to close claim by owner", async () => { - const { owner } = deployedActors; - await airdrop.connect(owner).openClaim(); - const tx = await airdrop.connect(owner).closeClaim(); - const receipt = await tx.wait(); - const event = receipt?.logs.find( - (log: any) => log.topics[0] === airdrop.interface.getEvent("ClaimClose").topicHash - ); - expect(event).to.not.be.null; - expect(await airdrop.isClaimOpen()).to.be.false; - }); - - it("should not able to close claim by owner", async () => { - const { owner, user1 } = deployedActors; - await airdrop.connect(owner).openClaim(); - await expect( - airdrop.connect(user1).closeClaim() - ).to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount"); - }); - - it("should able to set merkle root by owner", async () => { - const { owner } = deployedActors; - const merkleRoot = generateRandomFieldElement(); - await airdrop.connect(owner).setMerkleRoot(merkleRoot); - expect(await airdrop.merkleRoot()).to.be.equal(merkleRoot); - }); - - it("should not able to set merkle root by non-owner", async () => { - const { user1 } = deployedActors; - const merkleRoot = generateRandomFieldElement(); - await expect(airdrop.connect(user1).setMerkleRoot(merkleRoot)) - .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") - .withArgs(await user1.getAddress()); - }); - - it("should able to register address by user", async () => { - const { owner, user1 } = deployedActors; - - await airdrop.connect(owner).openRegistration(); - const tx = await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - const receipt = await tx.wait(); - - const event = receipt?.logs.find( - (log: any) => log.topics[0] === airdrop.interface.getEvent("UserIdentifierRegistered").topicHash - ); - const eventArgs = event ? airdrop.interface.decodeEventLog( - "UserIdentifierRegistered", - event.data, - event.topics - ) : null; - - expect(eventArgs?.registeredUserIdentifier).to.be.equal(await user1.getAddress()); - - const appNullifier = vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NULLIFIER_INDEX]; - expect(eventArgs?.nullifier).to.be.equal(appNullifier); - - const nullifierToId = await airdrop.getNullifier(appNullifier); - expect(nullifierToId).to.be.equal(await user1.getAddress()); - - const isRegistered = await airdrop.isRegistered(await user1.getAddress()); - expect(isRegistered).to.be.equal(true); - const isRegisteredFalse = await airdrop.isRegistered(await owner.getAddress()); - }); - - it("should not able to register address by user if registration is closed", async () => { - const { owner, user1 } = deployedActors; - - await airdrop.connect(owner).closeRegistration(); - await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)) - .to.be.revertedWithCustomError(airdrop, "RegistrationNotOpen"); - }); - - it("should not able to register address by user if scope is invalid", async () => { - const { owner, user1 } = deployedActors; - - vcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.E_PASSPORT).toString(), - deployedActors.mockPassport, - hashEndpointWithScope("https://test.com", "test-scope-invalid"), - new Array(88).fill("1"), - "1", - imt, - "20", - undefined, - undefined, - undefined, - undefined, - forbiddenCountriesList, - (await deployedActors.user1.getAddress()).slice(2) - ); - - await airdrop.connect(owner).openRegistration(); - await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)) - .to.be.revertedWithCustomError(airdrop, "InvalidScope"); - }); - - it("should not able to register address by user if nullifier is already registered", async () => { - const { owner, user1 } = deployedActors; - - await airdrop.connect(owner).openRegistration(); - await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)) - .to.be.revertedWithCustomError(airdrop, "RegisteredNullifier"); - }); - - it("should not able to register address by user if attestation id is invalid", async () => { - const { registry, owner, user1 } = deployedActors; - - const invalidCommitment = generateCommitment(registerSecret, ATTESTATION_ID.INVALID_ATTESTATION_ID, deployedActors.mockPassport); - - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.INVALID_ATTESTATION_ID, - nullifier, - invalidCommitment - ); - - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - const invalidImt = new LeanIMT(hashFunction); - await invalidImt.insert(BigInt(commitment)); - await invalidImt.insert(BigInt(invalidCommitment)); - - vcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.INVALID_ATTESTATION_ID).toString(), - deployedActors.mockPassport, - hashEndpointWithScope("https://test.com", "test-scope"), - new Array(88).fill("1"), - "1", - invalidImt, - "20", - undefined, - undefined, - undefined, - undefined, - forbiddenCountriesList, - (await deployedActors.user1.getAddress()).slice(2) - ); - - await airdrop.connect(owner).openRegistration(); - await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)) - .to.be.revertedWithCustomError(airdrop, "InvalidAttestationId"); - }); - - it("should revert with InvalidUserIdentifier when user identifier is 0", async () => { - const { owner, user1 } = deployedActors; - - vcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.E_PASSPORT).toString(), - deployedActors.mockPassport, - hashEndpointWithScope("https://test.com", "test-scope"), - new Array(88).fill("1"), - "1", - imt, - "20", - undefined, - undefined, - undefined, - undefined, - forbiddenCountriesList, - "0000000000000000000000000000000000000000" - ); - - await airdrop.connect(owner).openRegistration(); - await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)) - .to.be.revertedWithCustomError(airdrop, "InvalidUserIdentifier"); - }); - - it("should allow registration when targetRootTimestamp is 0", async () => { - const { hub, registry, owner, user1 } = deployedActors; - - const airdropFactory = await ethers.getContractFactory("Airdrop"); - const newAirdrop = await airdropFactory.connect(owner).deploy( - hub.target, - hashEndpointWithScope("https://test.com", "test-scope"), - attestationIds, - token.target - ); - await newAirdrop.waitForDeployment(); - - const verificationConfig = { - olderThanEnabled: true, - olderThan: 20, - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: countriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean] - }; - await newAirdrop.connect(owner).setVerificationConfig(verificationConfig); - - await newAirdrop.connect(owner).openRegistration(); - await expect(newAirdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)) - .to.not.be.reverted; - }); - - it("should return correct scope", async () => { - const scope = await airdrop.getScope(); - expect(scope).to.equal(hashEndpointWithScope("https://test.com", "test-scope")); - }); - - it("should check if attestation ID is allowed", async () => { - const isAllowed = await airdrop.isAttestationIdAllowed(ATTESTATION_ID.E_PASSPORT); - expect(isAllowed).to.be.true; - - const isNotAllowed = await airdrop.isAttestationIdAllowed(999999); // Some random ID not in the list - expect(isNotAllowed).to.be.false; - }); - - it("should return correct merkle root", async () => { - const { owner } = deployedActors; - const merkleRoot = generateRandomFieldElement(); - - await airdrop.connect(owner).setMerkleRoot(merkleRoot); - const storedRoot = await airdrop.merkleRoot(); - expect(storedRoot).to.equal(merkleRoot); - }); - - it("should return correct token address", async () => { - const tokenAddress = await airdrop.token(); - expect(tokenAddress).to.equal(token.target); - }); - - it("should able to claim token by user", async () => { - const { owner, user1 } = deployedActors; - - await airdrop.connect(owner).openRegistration(); - await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - await airdrop.connect(owner).closeRegistration(); - - const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); - const root = tree.getHexRoot(); - - await airdrop.connect(owner).setMerkleRoot(root); - - await airdrop.connect(owner).openClaim(); - const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); - const tx = await airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof); - const receipt = await tx.wait(); - - const event = receipt?.logs.find( - (log: any) => log.topics[0] === airdrop.interface.getEvent("Claimed").topicHash - ); - const eventArgs = event ? airdrop.interface.decodeEventLog( - "Claimed", - event.data, - event.topics - ) : null; - - expect(eventArgs?.index).to.equal(0); - expect(eventArgs?.amount).to.equal(BigInt(1000000000000000000)); - expect(eventArgs?.account).to.equal(await user1.getAddress()); - - const balance = await token.balanceOf(await user1.getAddress()); - expect(balance).to.equal(BigInt(1000000000000000000)); - - const isClaimed = await airdrop.claimed(await user1.getAddress()); - expect(isClaimed).to.be.true; - }); - - it("should not able to claim token by user if registration is not closed", async () => { - const { owner, user1 } = deployedActors; - - await airdrop.connect(owner).openRegistration(); - await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - - const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); - const root = tree.getHexRoot(); - - await airdrop.connect(owner).setMerkleRoot(root); - - await airdrop.connect(owner).openClaim(); - const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); - await expect(airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof)) - .to.be.revertedWithCustomError(airdrop, "RegistrationNotClosed"); - - const isClaimed = await airdrop.claimed(await user1.getAddress()); - expect(isClaimed).to.be.false; - }); - - it("should not able to claim token by user if claim is not open", async () => { - const { owner, user1 } = deployedActors; - - await airdrop.connect(owner).openRegistration(); - await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - await airdrop.connect(owner).closeRegistration(); - - const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); - const root = tree.getHexRoot(); - - await airdrop.connect(owner).setMerkleRoot(root); - - const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); - await expect(airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof)) - .to.be.revertedWithCustomError(airdrop, "ClaimNotOpen"); - - const isClaimed = await airdrop.claimed(await user1.getAddress()); - expect(isClaimed).to.be.false; - }); - - it("should not able to claim token by user if user has already claimed", async () => { - const { owner, user1 } = deployedActors; - - await airdrop.connect(owner).openRegistration(); - await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - await airdrop.connect(owner).closeRegistration(); - const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); - const root = tree.getHexRoot(); - - await airdrop.connect(owner).setMerkleRoot(root); - - await airdrop.connect(owner).openClaim(); - const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); - await airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof); - await expect(airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof)) - .to.be.revertedWithCustomError(airdrop, "AlreadyClaimed"); - - - const balance = await token.balanceOf(await user1.getAddress()); - expect(balance).to.equal(BigInt(1000000000000000000)); - - const isClaimed = await airdrop.claimed(await user1.getAddress()); - expect(isClaimed).to.be.true; - }); - - it("should not able to claim token by user if merkle proof is invalid", async () => { - const { owner, user1 } = deployedActors; - - await airdrop.connect(owner).openRegistration(); - await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - await airdrop.connect(owner).closeRegistration(); - const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); - const root = tree.getHexRoot(); - - await airdrop.connect(owner).setMerkleRoot(root); - - await airdrop.connect(owner).openClaim(); - const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); - merkleProof[0] = generateRandomFieldElement().toString(); - await expect(airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof)) - .to.be.revertedWithCustomError(airdrop, "InvalidProof"); - - const isClaimed = await airdrop.claimed(await user1.getAddress()); - expect(isClaimed).to.be.false; - }); - - it("should not able to claim token by user if user is not registered", async () => { - const { owner, user1, user2 } = deployedActors; - - await airdrop.connect(owner).openRegistration(); - await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - await airdrop.connect(owner).closeRegistration(); - - const tree = new BalanceTree([ - { account: await user1.getAddress(), amount: BigInt(1000000000000000000) }, - { account: await user2.getAddress(), amount: BigInt(1000000000000000000) } - ]); - const root = tree.getHexRoot(); - - await airdrop.connect(owner).setMerkleRoot(root); - await airdrop.connect(owner).openClaim(); - - const merkleProof = tree.getProof(1, await user2.getAddress(), BigInt(1000000000000000000)); - await expect(airdrop.connect(user2).claim(1, BigInt(1000000000000000000), merkleProof)) - .to.be.revertedWithCustomError(airdrop, "NotRegistered") - .withArgs(await user2.getAddress()); - - const isClaimed = await airdrop.claimed(await user2.getAddress()); - expect(isClaimed).to.be.false; - }); - - it("should able to set verification config by owner", async () => { - const { owner } = deployedActors; - const newVerificationConfig = { - olderThanEnabled: false, - olderThan: 25, - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: countriesListPacked, - ofacEnabled: [false, false, false] as [boolean, boolean, boolean] - }; - - await airdrop.connect(owner).setVerificationConfig(newVerificationConfig); - const storedConfig = await airdrop.getVerificationConfig(); - - expect(storedConfig.olderThanEnabled).to.equal(newVerificationConfig.olderThanEnabled); - expect(storedConfig.olderThan).to.equal(newVerificationConfig.olderThan); - expect(storedConfig.forbiddenCountriesEnabled).to.equal(newVerificationConfig.forbiddenCountriesEnabled); - for (let i = 0; i < 4; i++) { - expect(storedConfig.forbiddenCountriesListPacked[i]).to.equal(newVerificationConfig.forbiddenCountriesListPacked[i]); - } - expect(storedConfig.ofacEnabled).to.deep.equal(newVerificationConfig.ofacEnabled); - }); - - it("should not able to set verification config by non-owner", async () => { - const { user1 } = deployedActors; - const newVerificationConfig = { - olderThanEnabled: false, - olderThan: 25, - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: countriesListPacked, - ofacEnabled: [false, false, false] as [boolean, boolean, boolean] - }; - - await expect(airdrop.connect(user1).setVerificationConfig(newVerificationConfig)) - .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") - .withArgs(await user1.getAddress()); - }); - - it("should return correct verification config", async () => { - const config = await airdrop.getVerificationConfig(); - expect(config.olderThanEnabled).to.equal(true); - expect(config.olderThan).to.equal(20); - expect(config.forbiddenCountriesEnabled).to.equal(true); - for (let i = 0; i < 4; i++) { - expect(config.forbiddenCountriesListPacked[i]).to.equal(countriesListPacked[i]); - } - expect(config.ofacEnabled).to.deep.equal([true, true, true]); - }); - - it("should able to update scope by owner", async () => { - const { owner } = deployedActors; - const newScope = hashEndpointWithScope("https://newtest.com", "new-test-scope"); - - await airdrop.connect(owner).setScope(newScope); - const scope = await airdrop.getScope(); - expect(scope).to.equal(newScope); - - // Verify event was emitted - const filter = airdrop.filters.ScopeUpdated(); - const events = await airdrop.queryFilter(filter); - const lastEvent = events[events.length - 1]; - expect(lastEvent.args.newScope).to.equal(newScope); - }); - - it("should not be able to update scope by non-owner", async () => { - const { user1 } = deployedActors; - const newScope = hashEndpointWithScope("https://newtest.com", "new-test-scope"); - - await expect(airdrop.connect(user1).setScope(newScope)) - .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") - .withArgs(await user1.getAddress()); - }); - - it("should able to add attestation ID by owner", async () => { - const { owner } = deployedActors; - const newAttestationId = 999; // Some new ID - - await airdrop.connect(owner).addAttestationId(newAttestationId); - const isAllowed = await airdrop.isAttestationIdAllowed(newAttestationId); - expect(isAllowed).to.be.true; - - // Verify event was emitted - const filter = airdrop.filters.AttestationIdAdded(); - const events = await airdrop.queryFilter(filter); - const lastEvent = events[events.length - 1]; - expect(lastEvent.args.attestationId).to.equal(newAttestationId); - }); - - it("should not be able to add attestation ID by non-owner", async () => { - const { user1 } = deployedActors; - const newAttestationId = 888; // Some new ID - - await expect(airdrop.connect(user1).addAttestationId(newAttestationId)) - .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") - .withArgs(await user1.getAddress()); - }); - - it("should able to remove attestation ID by owner", async () => { - const { owner } = deployedActors; - const attestationIdToRemove = ATTESTATION_ID.E_PASSPORT; - - await airdrop.connect(owner).removeAttestationId(attestationIdToRemove); - const isAllowed = await airdrop.isAttestationIdAllowed(attestationIdToRemove); - expect(isAllowed).to.be.false; - - // Verify event was emitted - const filter = airdrop.filters.AttestationIdRemoved(); - const events = await airdrop.queryFilter(filter); - const lastEvent = events[events.length - 1]; - expect(lastEvent.args.attestationId).to.equal(attestationIdToRemove); - }); - - it("should not be able to remove attestation ID by non-owner", async () => { - const { user1 } = deployedActors; - const attestationIdToRemove = ATTESTATION_ID.E_PASSPORT; - - await expect(airdrop.connect(user1).removeAttestationId(attestationIdToRemove)) - .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") - .withArgs(await user1.getAddress()); - }); - + let deployedActors: DeployedActors; + let snapshotId: string; + let airdrop: any; + let token: any; + let baseVcAndDiscloseProof: any; + let vcAndDiscloseProof: any; + let registerSecret: any; + let imt: any; + let commitment: any; + let nullifier: any; + let forbiddenCountriesList: any; + let countriesListPacked: any; + let attestationIds: any[]; + + before(async () => { + deployedActors = await deploySystemFixtures(); + + registerSecret = generateRandomFieldElement(); + nullifier = generateRandomFieldElement(); + attestationIds = [BigInt(ATTESTATION_ID.E_PASSPORT)]; + commitment = generateCommitment(registerSecret, ATTESTATION_ID.E_PASSPORT, deployedActors.mockPassport); + + forbiddenCountriesList = ["AAA", "ABC", "CBA"]; + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + imt = new LeanIMT(hashFunction); + await imt.insert(BigInt(commitment)); + + baseVcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.E_PASSPORT).toString(), + deployedActors.mockPassport, + hashEndpointWithScope("https://test.com", "test-scope"), + new Array(88).fill("1"), + "1", + imt, + "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + (await deployedActors.user1.getAddress()).slice(2), + ); + + const tokenFactory = await ethers.getContractFactory("AirdropToken"); + token = await tokenFactory.connect(deployedActors.owner).deploy(); + await token.waitForDeployment(); + + await deployedActors.registry + .connect(deployedActors.owner) + .devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + countriesListPacked = splitHexFromBack( + reverseBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList)))), + ); + + const airdropFactory = await ethers.getContractFactory("Airdrop"); + airdrop = await airdropFactory + .connect(deployedActors.owner) + .deploy( + deployedActors.hub.target, + hashEndpointWithScope("https://test.com", "test-scope"), + attestationIds, + token.target, + ); + await airdrop.waitForDeployment(); + + const verificationConfig = { + olderThanEnabled: true, + olderThan: 20, + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: countriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + }; + await airdrop.connect(deployedActors.owner).setVerificationConfig(verificationConfig); + + const mintAmount = ethers.parseEther("424242424242"); + await token.mint(airdrop.target, mintAmount); + + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + beforeEach(async () => { + vcAndDiscloseProof = structuredClone(baseVcAndDiscloseProof); + }); + + afterEach(async () => { + await ethers.provider.send("evm_revert", [snapshotId]); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + it("should able to open registration by owner", async () => { + const { owner } = deployedActors; + const tx = await airdrop.connect(owner).openRegistration(); + const receipt = await tx.wait(); + const event = receipt?.logs.find( + (log: any) => log.topics[0] === airdrop.interface.getEvent("RegistrationOpen").topicHash, + ); + expect(event).to.not.be.null; + expect(await airdrop.isRegistrationOpen()).to.be.true; + }); + + it("should not able to open registration by non-owner", async () => { + const { user1 } = deployedActors; + await expect(airdrop.connect(user1).openRegistration()) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should able to close registration by owner", async () => { + const { owner } = deployedActors; + await airdrop.connect(owner).openRegistration(); + const tx = await airdrop.connect(owner).closeRegistration(); + const receipt = await tx.wait(); + const event = receipt?.logs.find( + (log: any) => log.topics[0] === airdrop.interface.getEvent("RegistrationClose").topicHash, + ); + expect(event).to.not.be.null; + expect(await airdrop.isRegistrationOpen()).to.be.false; + }); + + it("should not able to close registration by non-owner", async () => { + const { user1 } = deployedActors; + await expect(airdrop.connect(user1).closeRegistration()) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should able to open claim by owner", async () => { + const { owner } = deployedActors; + const tx = await airdrop.connect(owner).openClaim(); + const receipt = await tx.wait(); + + const event = receipt?.logs.find((log: any) => log.topics[0] === airdrop.interface.getEvent("ClaimOpen").topicHash); + expect(event).to.not.be.null; + expect(await airdrop.isClaimOpen()).to.be.true; + }); + + it("should not able to open claim by non-owner", async () => { + const { user1 } = deployedActors; + await expect(airdrop.connect(user1).openClaim()) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should able to close claim by owner", async () => { + const { owner } = deployedActors; + await airdrop.connect(owner).openClaim(); + const tx = await airdrop.connect(owner).closeClaim(); + const receipt = await tx.wait(); + const event = receipt?.logs.find( + (log: any) => log.topics[0] === airdrop.interface.getEvent("ClaimClose").topicHash, + ); + expect(event).to.not.be.null; + expect(await airdrop.isClaimOpen()).to.be.false; + }); + + it("should not able to close claim by owner", async () => { + const { owner, user1 } = deployedActors; + await airdrop.connect(owner).openClaim(); + await expect(airdrop.connect(user1).closeClaim()).to.be.revertedWithCustomError( + airdrop, + "OwnableUnauthorizedAccount", + ); + }); + + it("should able to set merkle root by owner", async () => { + const { owner } = deployedActors; + const merkleRoot = generateRandomFieldElement(); + await airdrop.connect(owner).setMerkleRoot(merkleRoot); + expect(await airdrop.merkleRoot()).to.be.equal(merkleRoot); + }); + + it("should not able to set merkle root by non-owner", async () => { + const { user1 } = deployedActors; + const merkleRoot = generateRandomFieldElement(); + await expect(airdrop.connect(user1).setMerkleRoot(merkleRoot)) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should able to register address by user", async () => { + const { owner, user1 } = deployedActors; + + await airdrop.connect(owner).openRegistration(); + const tx = await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + const receipt = await tx.wait(); + + const event = receipt?.logs.find( + (log: any) => log.topics[0] === airdrop.interface.getEvent("UserIdentifierRegistered").topicHash, + ); + const eventArgs = event + ? airdrop.interface.decodeEventLog("UserIdentifierRegistered", event.data, event.topics) + : null; + + expect(eventArgs?.registeredUserIdentifier).to.be.equal(await user1.getAddress()); + + const appNullifier = vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NULLIFIER_INDEX]; + expect(eventArgs?.nullifier).to.be.equal(appNullifier); + + const nullifierToId = await airdrop.getNullifier(appNullifier); + expect(nullifierToId).to.be.equal(await user1.getAddress()); + + const isRegistered = await airdrop.isRegistered(await user1.getAddress()); + expect(isRegistered).to.be.equal(true); + const isRegisteredFalse = await airdrop.isRegistered(await owner.getAddress()); + }); + + it("should not able to register address by user if registration is closed", async () => { + const { owner, user1 } = deployedActors; + + await airdrop.connect(owner).closeRegistration(); + await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)).to.be.revertedWithCustomError( + airdrop, + "RegistrationNotOpen", + ); + }); + + it("should not able to register address by user if scope is invalid", async () => { + const { owner, user1 } = deployedActors; + + vcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.E_PASSPORT).toString(), + deployedActors.mockPassport, + hashEndpointWithScope("https://test.com", "test-scope-invalid"), + new Array(88).fill("1"), + "1", + imt, + "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + (await deployedActors.user1.getAddress()).slice(2), + ); + + await airdrop.connect(owner).openRegistration(); + await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)).to.be.revertedWithCustomError( + airdrop, + "InvalidScope", + ); + }); + + it("should not able to register address by user if nullifier is already registered", async () => { + const { owner, user1 } = deployedActors; + + await airdrop.connect(owner).openRegistration(); + await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)).to.be.revertedWithCustomError( + airdrop, + "RegisteredNullifier", + ); + }); + + it("should not able to register address by user if attestation id is invalid", async () => { + const { registry, owner, user1 } = deployedActors; + + const invalidCommitment = generateCommitment( + registerSecret, + ATTESTATION_ID.INVALID_ATTESTATION_ID, + deployedActors.mockPassport, + ); + + await registry + .connect(owner) + .devAddIdentityCommitment(ATTESTATION_ID.INVALID_ATTESTATION_ID, nullifier, invalidCommitment); + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + const invalidImt = new LeanIMT(hashFunction); + await invalidImt.insert(BigInt(commitment)); + await invalidImt.insert(BigInt(invalidCommitment)); + + vcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.INVALID_ATTESTATION_ID).toString(), + deployedActors.mockPassport, + hashEndpointWithScope("https://test.com", "test-scope"), + new Array(88).fill("1"), + "1", + invalidImt, + "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + (await deployedActors.user1.getAddress()).slice(2), + ); + + await airdrop.connect(owner).openRegistration(); + await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)).to.be.revertedWithCustomError( + airdrop, + "InvalidAttestationId", + ); + }); + + it("should revert with InvalidUserIdentifier when user identifier is 0", async () => { + const { owner, user1 } = deployedActors; + + vcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.E_PASSPORT).toString(), + deployedActors.mockPassport, + hashEndpointWithScope("https://test.com", "test-scope"), + new Array(88).fill("1"), + "1", + imt, + "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + "0000000000000000000000000000000000000000", + ); + + await airdrop.connect(owner).openRegistration(); + await expect(airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)).to.be.revertedWithCustomError( + airdrop, + "InvalidUserIdentifier", + ); + }); + + it("should allow registration when targetRootTimestamp is 0", async () => { + const { hub, registry, owner, user1 } = deployedActors; + + const airdropFactory = await ethers.getContractFactory("Airdrop"); + const newAirdrop = await airdropFactory + .connect(owner) + .deploy(hub.target, hashEndpointWithScope("https://test.com", "test-scope"), attestationIds, token.target); + await newAirdrop.waitForDeployment(); + + const verificationConfig = { + olderThanEnabled: true, + olderThan: 20, + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: countriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + }; + await newAirdrop.connect(owner).setVerificationConfig(verificationConfig); + + await newAirdrop.connect(owner).openRegistration(); + await expect(newAirdrop.connect(user1).verifySelfProof(vcAndDiscloseProof)).to.not.be.reverted; + }); + + it("should return correct scope", async () => { + const scope = await airdrop.getScope(); + expect(scope).to.equal(hashEndpointWithScope("https://test.com", "test-scope")); + }); + + it("should check if attestation ID is allowed", async () => { + const isAllowed = await airdrop.isAttestationIdAllowed(ATTESTATION_ID.E_PASSPORT); + expect(isAllowed).to.be.true; + + const isNotAllowed = await airdrop.isAttestationIdAllowed(999999); // Some random ID not in the list + expect(isNotAllowed).to.be.false; + }); + + it("should return correct merkle root", async () => { + const { owner } = deployedActors; + const merkleRoot = generateRandomFieldElement(); + + await airdrop.connect(owner).setMerkleRoot(merkleRoot); + const storedRoot = await airdrop.merkleRoot(); + expect(storedRoot).to.equal(merkleRoot); + }); + + it("should return correct token address", async () => { + const tokenAddress = await airdrop.token(); + expect(tokenAddress).to.equal(token.target); + }); + + it("should able to claim token by user", async () => { + const { owner, user1 } = deployedActors; + + await airdrop.connect(owner).openRegistration(); + await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + await airdrop.connect(owner).closeRegistration(); + + const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); + const root = tree.getHexRoot(); + + await airdrop.connect(owner).setMerkleRoot(root); + + await airdrop.connect(owner).openClaim(); + const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); + const tx = await airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof); + const receipt = await tx.wait(); + + const event = receipt?.logs.find((log: any) => log.topics[0] === airdrop.interface.getEvent("Claimed").topicHash); + const eventArgs = event ? airdrop.interface.decodeEventLog("Claimed", event.data, event.topics) : null; + + expect(eventArgs?.index).to.equal(0); + expect(eventArgs?.amount).to.equal(BigInt(1000000000000000000)); + expect(eventArgs?.account).to.equal(await user1.getAddress()); + + const balance = await token.balanceOf(await user1.getAddress()); + expect(balance).to.equal(BigInt(1000000000000000000)); + + const isClaimed = await airdrop.claimed(await user1.getAddress()); + expect(isClaimed).to.be.true; + }); + + it("should not able to claim token by user if registration is not closed", async () => { + const { owner, user1 } = deployedActors; + + await airdrop.connect(owner).openRegistration(); + await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + + const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); + const root = tree.getHexRoot(); + + await airdrop.connect(owner).setMerkleRoot(root); + + await airdrop.connect(owner).openClaim(); + const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); + await expect( + airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof), + ).to.be.revertedWithCustomError(airdrop, "RegistrationNotClosed"); + + const isClaimed = await airdrop.claimed(await user1.getAddress()); + expect(isClaimed).to.be.false; + }); + + it("should not able to claim token by user if claim is not open", async () => { + const { owner, user1 } = deployedActors; + + await airdrop.connect(owner).openRegistration(); + await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + await airdrop.connect(owner).closeRegistration(); + + const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); + const root = tree.getHexRoot(); + + await airdrop.connect(owner).setMerkleRoot(root); + + const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); + await expect( + airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof), + ).to.be.revertedWithCustomError(airdrop, "ClaimNotOpen"); + + const isClaimed = await airdrop.claimed(await user1.getAddress()); + expect(isClaimed).to.be.false; + }); + + it("should not able to claim token by user if user has already claimed", async () => { + const { owner, user1 } = deployedActors; + + await airdrop.connect(owner).openRegistration(); + await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + await airdrop.connect(owner).closeRegistration(); + const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); + const root = tree.getHexRoot(); + + await airdrop.connect(owner).setMerkleRoot(root); + + await airdrop.connect(owner).openClaim(); + const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); + await airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof); + await expect( + airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof), + ).to.be.revertedWithCustomError(airdrop, "AlreadyClaimed"); + + const balance = await token.balanceOf(await user1.getAddress()); + expect(balance).to.equal(BigInt(1000000000000000000)); + + const isClaimed = await airdrop.claimed(await user1.getAddress()); + expect(isClaimed).to.be.true; + }); + + it("should not able to claim token by user if merkle proof is invalid", async () => { + const { owner, user1 } = deployedActors; + + await airdrop.connect(owner).openRegistration(); + await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + await airdrop.connect(owner).closeRegistration(); + const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); + const root = tree.getHexRoot(); + + await airdrop.connect(owner).setMerkleRoot(root); + + await airdrop.connect(owner).openClaim(); + const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); + merkleProof[0] = generateRandomFieldElement().toString(); + await expect( + airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof), + ).to.be.revertedWithCustomError(airdrop, "InvalidProof"); + + const isClaimed = await airdrop.claimed(await user1.getAddress()); + expect(isClaimed).to.be.false; + }); + + it("should not able to claim token by user if user is not registered", async () => { + const { owner, user1, user2 } = deployedActors; + + await airdrop.connect(owner).openRegistration(); + await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + await airdrop.connect(owner).closeRegistration(); + + const tree = new BalanceTree([ + { account: await user1.getAddress(), amount: BigInt(1000000000000000000) }, + { account: await user2.getAddress(), amount: BigInt(1000000000000000000) }, + ]); + const root = tree.getHexRoot(); + + await airdrop.connect(owner).setMerkleRoot(root); + await airdrop.connect(owner).openClaim(); + + const merkleProof = tree.getProof(1, await user2.getAddress(), BigInt(1000000000000000000)); + await expect(airdrop.connect(user2).claim(1, BigInt(1000000000000000000), merkleProof)) + .to.be.revertedWithCustomError(airdrop, "NotRegistered") + .withArgs(await user2.getAddress()); + + const isClaimed = await airdrop.claimed(await user2.getAddress()); + expect(isClaimed).to.be.false; + }); + + it("should able to set verification config by owner", async () => { + const { owner } = deployedActors; + const newVerificationConfig = { + olderThanEnabled: false, + olderThan: 25, + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: countriesListPacked, + ofacEnabled: [false, false, false] as [boolean, boolean, boolean], + }; + + await airdrop.connect(owner).setVerificationConfig(newVerificationConfig); + const storedConfig = await airdrop.getVerificationConfig(); + + expect(storedConfig.olderThanEnabled).to.equal(newVerificationConfig.olderThanEnabled); + expect(storedConfig.olderThan).to.equal(newVerificationConfig.olderThan); + expect(storedConfig.forbiddenCountriesEnabled).to.equal(newVerificationConfig.forbiddenCountriesEnabled); + for (let i = 0; i < 4; i++) { + expect(storedConfig.forbiddenCountriesListPacked[i]).to.equal( + newVerificationConfig.forbiddenCountriesListPacked[i], + ); + } + expect(storedConfig.ofacEnabled).to.deep.equal(newVerificationConfig.ofacEnabled); + }); + + it("should not able to set verification config by non-owner", async () => { + const { user1 } = deployedActors; + const newVerificationConfig = { + olderThanEnabled: false, + olderThan: 25, + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: countriesListPacked, + ofacEnabled: [false, false, false] as [boolean, boolean, boolean], + }; + + await expect(airdrop.connect(user1).setVerificationConfig(newVerificationConfig)) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should return correct verification config", async () => { + const config = await airdrop.getVerificationConfig(); + expect(config.olderThanEnabled).to.equal(true); + expect(config.olderThan).to.equal(20); + expect(config.forbiddenCountriesEnabled).to.equal(true); + for (let i = 0; i < 4; i++) { + expect(config.forbiddenCountriesListPacked[i]).to.equal(countriesListPacked[i]); + } + expect(config.ofacEnabled).to.deep.equal([true, true, true]); + }); + + it("should able to update scope by owner", async () => { + const { owner } = deployedActors; + const newScope = hashEndpointWithScope("https://newtest.com", "new-test-scope"); + + await airdrop.connect(owner).setScope(newScope); + const scope = await airdrop.getScope(); + expect(scope).to.equal(newScope); + + // Verify event was emitted + const filter = airdrop.filters.ScopeUpdated(); + const events = await airdrop.queryFilter(filter); + const lastEvent = events[events.length - 1]; + expect(lastEvent.args.newScope).to.equal(newScope); + }); + + it("should not be able to update scope by non-owner", async () => { + const { user1 } = deployedActors; + const newScope = hashEndpointWithScope("https://newtest.com", "new-test-scope"); + + await expect(airdrop.connect(user1).setScope(newScope)) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should able to add attestation ID by owner", async () => { + const { owner } = deployedActors; + const newAttestationId = 999; // Some new ID + + await airdrop.connect(owner).addAttestationId(newAttestationId); + const isAllowed = await airdrop.isAttestationIdAllowed(newAttestationId); + expect(isAllowed).to.be.true; + + // Verify event was emitted + const filter = airdrop.filters.AttestationIdAdded(); + const events = await airdrop.queryFilter(filter); + const lastEvent = events[events.length - 1]; + expect(lastEvent.args.attestationId).to.equal(newAttestationId); + }); + + it("should not be able to add attestation ID by non-owner", async () => { + const { user1 } = deployedActors; + const newAttestationId = 888; // Some new ID + + await expect(airdrop.connect(user1).addAttestationId(newAttestationId)) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); + + it("should able to remove attestation ID by owner", async () => { + const { owner } = deployedActors; + const attestationIdToRemove = ATTESTATION_ID.E_PASSPORT; + + await airdrop.connect(owner).removeAttestationId(attestationIdToRemove); + const isAllowed = await airdrop.isAttestationIdAllowed(attestationIdToRemove); + expect(isAllowed).to.be.false; + + // Verify event was emitted + const filter = airdrop.filters.AttestationIdRemoved(); + const events = await airdrop.queryFilter(filter); + const lastEvent = events[events.length - 1]; + expect(lastEvent.args.attestationId).to.equal(attestationIdToRemove); + }); + + it("should not be able to remove attestation ID by non-owner", async () => { + const { user1 } = deployedActors; + const attestationIdToRemove = ATTESTATION_ID.E_PASSPORT; + + await expect(airdrop.connect(user1).removeAttestationId(attestationIdToRemove)) + .to.be.revertedWithCustomError(airdrop, "OwnableUnauthorizedAccount") + .withArgs(await user1.getAddress()); + }); }); diff --git a/contracts/test/integration/commitmentRegistration.test.ts b/contracts/test/integration/commitmentRegistration.test.ts index f3c1b2631..02d79c29f 100644 --- a/contracts/test/integration/commitmentRegistration.test.ts +++ b/contracts/test/integration/commitmentRegistration.test.ts @@ -7,441 +7,401 @@ import { CIRCUIT_CONSTANTS, DscVerifierId, RegisterVerifierId } from "../../../c import { ATTESTATION_ID } from "../utils/constants"; import { deploySystemFixtures } from "../utils/deployment"; import { generateDscProof, generateRegisterProof } from "../utils/generateProof"; -import serialized_dsc_tree from '../utils/pubkeys/serialized_dsc_tree.json'; +import serialized_dsc_tree from "../utils/pubkeys/serialized_dsc_tree.json"; import { DeployedActors } from "../utils/types"; import { generateRandomFieldElement } from "../utils/utils"; describe("Commitment Registration Tests", function () { - this.timeout(0); - - let deployedActors: DeployedActors; - let snapshotId: string; - let baseDscProof: any; - let baseRegisterProof: any; - let dscProof: any; - let registerProof: any; - let registerSecret: any; - - before(async () => { - deployedActors = await deploySystemFixtures(); - registerSecret = generateRandomFieldElement(); - baseDscProof = await generateDscProof( - deployedActors.mockPassport, + this.timeout(0); + + let deployedActors: DeployedActors; + let snapshotId: string; + let baseDscProof: any; + let baseRegisterProof: any; + let dscProof: any; + let registerProof: any; + let registerSecret: any; + + before(async () => { + deployedActors = await deploySystemFixtures(); + registerSecret = generateRandomFieldElement(); + baseDscProof = await generateDscProof(deployedActors.mockPassport); + baseRegisterProof = await generateRegisterProof(registerSecret, deployedActors.mockPassport); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + beforeEach(async () => { + dscProof = structuredClone(baseDscProof); + registerProof = structuredClone(baseRegisterProof); + }); + + afterEach(async () => { + await ethers.provider.send("evm_revert", [snapshotId]); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + describe("Register Commitment", () => { + describe("Initialization", () => { + it("should have consistent addresses between registry and hub", async () => { + const { hub, registry } = deployedActors; + + expect(await registry.hub()).to.equal(hub.target); + expect(await hub.registry()).to.equal(registry.target); + }); + }); + + describe("Register DSC Pubkey", async () => { + it("Should register DSC key commitment successfully", async () => { + const { hub, registry } = deployedActors; + + const previousRoot = await registry.getDscKeyCommitmentMerkleRoot(); + const previousSize = await registry.getDscKeyCommitmentTreeSize(); + const tx = await hub.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof); + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + const imt = new LeanIMT(hashFunction); + await imt.insert(BigInt(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX])); + + const receipt = (await tx.wait()) as TransactionReceipt; + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DscKeyCommitmentRegistered").topicHash, ); - baseRegisterProof = await generateRegisterProof( - registerSecret, - deployedActors.mockPassport + const eventArgs = event + ? registry.interface.decodeEventLog("DscKeyCommitmentRegistered", event.data, event.topics) + : null; + + const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; + const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); + const index = await registry.getDscKeyCommitmentIndex( + dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX], ); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - beforeEach(async () => { - dscProof = structuredClone(baseDscProof); - registerProof = structuredClone(baseRegisterProof); + expect(eventArgs?.commitment).to.equal(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]); + expect(eventArgs?.timestamp).to.equal(blockTimestamp); + expect(eventArgs?.imtRoot).to.equal(currentRoot); + expect(eventArgs?.imtIndex).to.equal(index); + + // Check state + expect(currentRoot).to.not.equal(previousRoot); + expect(currentRoot).to.be.equal(imt.root); + expect(await registry.getDscKeyCommitmentTreeSize()).to.equal(previousSize + 1n); + expect( + await registry.getDscKeyCommitmentIndex(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]), + ).to.equal(index); + expect( + await registry.isRegisteredDscKeyCommitment(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]), + ).to.equal(true); + }); + + it("Should fail when called by proxy address", async () => { + const { hubImpl } = deployedActors; + await expect( + hubImpl.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof), + ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); + }); + + it("Should fail when the verifier is not set", async () => { + const { hub } = deployedActors; + await expect( + hub.registerDscKeyCommitment(DscVerifierId.dsc_sha1_rsa_65537_4096, dscProof), + ).to.be.revertedWithCustomError(hub, "NO_VERIFIER_SET"); + }); + + it("Should fail when the csca root is invalid", async () => { + const { hub } = deployedActors; + dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_CSCA_ROOT_INDEX] = generateRandomFieldElement(); + await expect( + hub.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof), + ).to.be.revertedWithCustomError(hub, "INVALID_CSCA_ROOT"); + }); + + it("Should fail when the proof is invalid", async () => { + const { hub } = deployedActors; + dscProof.a[0] = generateRandomFieldElement(); + await expect( + hub.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof), + ).to.be.revertedWithCustomError(hub, "INVALID_DSC_PROOF"); + }); + + it("Should fail when registerDscKeyCommitment is called directly on implementation", async () => { + const { registryImpl } = deployedActors; + await expect(registryImpl.registerDscKeyCommitment(generateRandomFieldElement())).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("Should fail when the registerDscKeyCommitment is called by non-hub address", async () => { + const { registry, vcAndDisclose, register, dsc, owner } = deployedActors; + const IdentityVerificationHubImplFactory = await ethers.getContractFactory( + "IdentityVerificationHubImplV1", + owner, + ); + const hubImpl2 = await IdentityVerificationHubImplFactory.deploy(); + await hubImpl2.waitForDeployment(); + + const initializeData = hubImpl2.interface.encodeFunctionData("initialize", [ + registry.target, + vcAndDisclose.target, + [RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096], + [register.target], + [DscVerifierId.dsc_sha256_rsa_65537_4096], + [dsc.target], + ]); + const hubFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); + const hub2Proxy = await hubFactory.deploy(hubImpl2.target, initializeData); + await hub2Proxy.waitForDeployment(); + + const hub2 = await ethers.getContractAt("IdentityVerificationHubImplV1", hub2Proxy.target); + + await expect( + hub2.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof), + ).to.be.revertedWithCustomError(registry, "ONLY_HUB_CAN_ACCESS"); + }); + + it("should fail registerDscKeyCommitment when hub address is not set", async () => { + const { hub, registry } = deployedActors; + + await registry.updateHub(ZeroAddress); + await expect( + hub.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof), + ).to.be.revertedWithCustomError(registry, "HUB_NOT_SET"); + }); + + it("should fail when the dsc key commitment is already registered", async () => { + const { hub, registry } = deployedActors; + await hub.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof); + await expect( + hub.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof), + ).to.be.revertedWithCustomError(registry, "REGISTERED_COMMITMENT"); + }); + + it("should fail when getDscKeyCommitmentMerkleRoot is called by non-proxy", async () => { + const { registryImpl } = deployedActors; + await expect(registryImpl.getDscKeyCommitmentMerkleRoot()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should fail when checkDscKeyCommitmentMerkleRoot is called by non-proxy", async () => { + const { registryImpl } = deployedActors; + const root = generateRandomFieldElement(); + await expect(registryImpl.checkDscKeyCommitmentMerkleRoot(root)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should fail when getDscKeyCommitmentTreeSize is called by non-proxy", async () => { + const { registryImpl } = deployedActors; + await expect(registryImpl.getDscKeyCommitmentTreeSize()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should fail when getDscKeyCommitmentIndex is called by non-proxy", async () => { + const { registryImpl } = deployedActors; + const commitment = generateRandomFieldElement(); + await expect(registryImpl.getDscKeyCommitmentIndex(commitment)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should fail when registerDscKeyCommitment is called by non-proxy address", async () => { + const { hubImpl } = deployedActors; + await expect( + hubImpl.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof), + ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); + }); }); - afterEach(async () => { + describe("Register Passport Commitment", () => { + before(async () => { + const { registry } = deployedActors; + const dscKeys = JSON.parse(serialized_dsc_tree); + for (let i = 0; i < dscKeys[0].length; i++) { + await registry.devAddDscKeyCommitment(BigInt(dscKeys[0][i])); + } + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + afterEach(async () => { await ethers.provider.send("evm_revert", [snapshotId]); snapshotId = await ethers.provider.send("evm_snapshot", []); - }); + }); + + it("should register passport commitment successfully", async () => { + const { hub, registry, mockPassport } = deployedActors; + + const registerProof = await generateRegisterProof(registerSecret, mockPassport); + + const previousRoot = await registry.getIdentityCommitmentMerkleRoot(); + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + const imt = new LeanIMT(hashFunction); + await imt.insert(BigInt(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX])); - describe("Register Commitment", () => { - - describe("Initialization", () => { - it("should have consistent addresses between registry and hub", async () => { - const {hub, registry} = deployedActors; - - expect(await registry.hub()).to.equal(hub.target); - expect(await hub.registry()).to.equal(registry.target); - }); - }); - - describe("Register DSC Pubkey", async () => { - - it("Should register DSC key commitment successfully", async () => { - const {hub, registry} = deployedActors; - - const previousRoot = await registry.getDscKeyCommitmentMerkleRoot(); - const previousSize = await registry.getDscKeyCommitmentTreeSize(); - const tx = await hub.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ); - - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - const imt = new LeanIMT(hashFunction); - await imt.insert(BigInt(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX])); - - const receipt = await tx.wait() as TransactionReceipt; - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DscKeyCommitmentRegistered").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DscKeyCommitmentRegistered", - event.data, - event.topics - ) : null; - - const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; - const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); - const index = await registry.getDscKeyCommitmentIndex(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]); - - expect(eventArgs?.commitment).to.equal(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]); - expect(eventArgs?.timestamp).to.equal(blockTimestamp); - expect(eventArgs?.imtRoot).to.equal(currentRoot); - expect(eventArgs?.imtIndex).to.equal(index); - - // Check state - expect(currentRoot).to.not.equal(previousRoot); - expect(currentRoot).to.be.equal(imt.root); - expect(await registry.getDscKeyCommitmentTreeSize()).to.equal(previousSize + 1n); - expect(await registry.getDscKeyCommitmentIndex(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX])).to.equal(index); - expect(await registry.isRegisteredDscKeyCommitment(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX])).to.equal(true); - }); - - it("Should fail when called by proxy address", async () => { - const {hubImpl} = deployedActors; - await expect( - hubImpl.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ) - ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("Should fail when the verifier is not set", async () => { - const {hub} = deployedActors; - await expect( - hub.registerDscKeyCommitment( - DscVerifierId.dsc_sha1_rsa_65537_4096, - dscProof - ) - ).to.be.revertedWithCustomError(hub, "NO_VERIFIER_SET"); - }); - - it("Should fail when the csca root is invalid", async() => { - const {hub} = deployedActors; - dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_CSCA_ROOT_INDEX] = generateRandomFieldElement(); - await expect( - hub.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ) - ).to.be.revertedWithCustomError(hub, "INVALID_CSCA_ROOT"); - }); - - it("Should fail when the proof is invalid", async () => { - const {hub} = deployedActors; - dscProof.a[0] = generateRandomFieldElement(); - await expect( - hub.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ) - ).to.be.revertedWithCustomError(hub, "INVALID_DSC_PROOF"); - }); - - it("Should fail when registerDscKeyCommitment is called directly on implementation", async () => { - const {registryImpl} = deployedActors; - await expect( - registryImpl.registerDscKeyCommitment( - generateRandomFieldElement() - ) - ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("Should fail when the registerDscKeyCommitment is called by non-hub address", async () => { - const {registry,vcAndDisclose,register,dsc, owner} = deployedActors; - const IdentityVerificationHubImplFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); - const hubImpl2 = await IdentityVerificationHubImplFactory.deploy(); - await hubImpl2.waitForDeployment(); - - const initializeData = hubImpl2.interface.encodeFunctionData("initialize", [ - registry.target, - vcAndDisclose.target, - [RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096], - [register.target], - [DscVerifierId.dsc_sha256_rsa_65537_4096], - [dsc.target] - ]); - const hubFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); - const hub2Proxy = await hubFactory.deploy(hubImpl2.target, initializeData); - await hub2Proxy.waitForDeployment(); - - const hub2 = await ethers.getContractAt("IdentityVerificationHubImplV1", hub2Proxy.target); - - await expect( - hub2.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ) - ).to.be.revertedWithCustomError(registry, "ONLY_HUB_CAN_ACCESS"); - }); - - it("should fail registerDscKeyCommitment when hub address is not set", async () => { - const {hub, registry} = deployedActors; - - await registry.updateHub(ZeroAddress); - await expect( - hub.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ) - ).to.be.revertedWithCustomError(registry, "HUB_NOT_SET"); - }); - - it("should fail when the dsc key commitment is already registered", async () => { - const {hub, registry} = deployedActors; - await hub.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ); - await expect( - hub.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ) - ).to.be.revertedWithCustomError(registry, "REGISTERED_COMMITMENT"); - }); - - it("should fail when getDscKeyCommitmentMerkleRoot is called by non-proxy", async () => { - const {registryImpl} = deployedActors; - await expect( - registryImpl.getDscKeyCommitmentMerkleRoot() - ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should fail when checkDscKeyCommitmentMerkleRoot is called by non-proxy", async () => { - const {registryImpl} = deployedActors; - const root = generateRandomFieldElement(); - await expect( - registryImpl.checkDscKeyCommitmentMerkleRoot(root) - ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should fail when getDscKeyCommitmentTreeSize is called by non-proxy", async () => { - const {registryImpl} = deployedActors; - await expect( - registryImpl.getDscKeyCommitmentTreeSize() - ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should fail when getDscKeyCommitmentIndex is called by non-proxy", async () => { - const {registryImpl} = deployedActors; - const commitment =generateRandomFieldElement(); - await expect( - registryImpl.getDscKeyCommitmentIndex(commitment) - ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should fail when registerDscKeyCommitment is called by non-proxy address", async () => { - const { hubImpl } = deployedActors; - await expect( - hubImpl.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ) - ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - }); - - describe("Register Passport Commitment", () => { - before(async () => { - const {registry} = deployedActors; - const dscKeys = JSON.parse(serialized_dsc_tree); - for (let i = 0; i < dscKeys[0].length; i++) { - await registry.devAddDscKeyCommitment(BigInt(dscKeys[0][i])); - } - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - afterEach(async () => { - await ethers.provider.send("evm_revert", [snapshotId]); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - it("should register passport commitment successfully", async () => { - const {hub, registry, mockPassport} = deployedActors; - - const registerProof = await generateRegisterProof( - registerSecret, - mockPassport - ); - - const previousRoot = await registry.getIdentityCommitmentMerkleRoot(); - - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - const imt = new LeanIMT(hashFunction); - await imt.insert(BigInt(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX])); - - const tx = await hub.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ); - const receipt = await tx.wait() as TransactionReceipt; - const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; - - const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); - const size = await registry.getIdentityCommitmentMerkleTreeSize(); - const rootTimestamp = await registry.rootTimestamps(currentRoot); - const index = await registry.getIdentityCommitmentIndex(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX]); - const nullifier = await registry.nullifiers( - ATTESTATION_ID.E_PASSPORT, - registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_NULLIFIER_INDEX] - ); - - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("CommitmentRegistered").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "CommitmentRegistered", - event.data, - event.topics - ) : null; - - expect(eventArgs?.attestationId).to.equal(ATTESTATION_ID.E_PASSPORT); - expect(eventArgs?.nullifier).to.equal(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_NULLIFIER_INDEX]); - expect(eventArgs?.commitment).to.equal(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX]); - expect(eventArgs?.timestamp).to.equal(blockTimestamp); - expect(eventArgs?.imtRoot).to.equal(currentRoot); - expect(eventArgs?.imtIndex).to.equal(0); - - expect(currentRoot).to.not.equal(previousRoot); - expect(currentRoot).to.be.equal(imt.root); - expect(size).to.equal(1); - expect(rootTimestamp).to.equal(blockTimestamp); - expect(index).to.equal(0); - expect(nullifier).to.equal(true); - }); - - it("should fail when verifier is not set", async () => { - const {hub} = deployedActors; - - registerProof.a[0] = generateRandomFieldElement(); - - await expect( - hub.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_3_4096, - registerProof - ) - ).to.be.revertedWithCustomError(hub, "NO_VERIFIER_SET"); - }); - - it("should fail when commitment root is invalid", async () => { - const {hub} = deployedActors; - - const invalidCommitmentRoot = generateRandomFieldElement(); - - registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_MERKLE_ROOT_INDEX] = invalidCommitmentRoot; - await expect( - hub.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ) - ).to.be.revertedWithCustomError(hub, "INVALID_COMMITMENT_ROOT"); - }); - - it("should fail when register proof verification fails", async () => { - const {hub} = deployedActors; - - registerProof.a[0] = generateRandomFieldElement(); - - await expect( - hub.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ) - ).to.be.revertedWithCustomError(hub, "INVALID_REGISTER_PROOF"); - }); - - it("should fail when nullifier is already used", async () => { - const {hub, registry, mockPassport} = deployedActors; - - const registerProof = await generateRegisterProof( - registerSecret, - mockPassport - ); - - await hub.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ); - - await expect( - hub.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ) - ).to.be.revertedWithCustomError(registry, "REGISTERED_COMMITMENT"); - }); - - it("should fail when registerPassportCommitment is called by non-proxy address", async () => { - const {hubImpl} = deployedActors; - await expect( - hubImpl.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ) - ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should fail when registerCommitment is called by non-hub address", async () => { - const {registry, vcAndDisclose, register, dsc, owner} = deployedActors; - const IdentityVerificationHubImplFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); - const hubImpl2 = await IdentityVerificationHubImplFactory.deploy(); - await hubImpl2.waitForDeployment(); - - const initializeData = hubImpl2.interface.encodeFunctionData("initialize", [ - registry.target, - vcAndDisclose.target, - [RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096], - [register.target], - [DscVerifierId.dsc_sha256_rsa_65537_4096], - [dsc.target] - ]); - const hubFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); - const hub2Proxy = await hubFactory.deploy(hubImpl2.target, initializeData); - await hub2Proxy.waitForDeployment(); - - const hub2 = await ethers.getContractAt("IdentityVerificationHubImplV1", hub2Proxy.target); - - await expect( - hub2.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ) - ).to.be.revertedWithCustomError(registry, "ONLY_HUB_CAN_ACCESS"); - }); - - it("should fail registerCommitment when hub address is not set", async () => { - const {hub, registry} = deployedActors; - - await registry.updateHub(ZeroAddress); - await expect( - hub.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ) - ).to.be.revertedWithCustomError(registry, "HUB_NOT_SET"); - }); - - it("should fail when registerCommitment is called by non-proxy address", async() => { - const {registryImpl} = deployedActors; - - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - - await expect( - registryImpl.registerCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ) - ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - }); + const tx = await hub.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ); + const receipt = (await tx.wait()) as TransactionReceipt; + const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; + + const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); + const size = await registry.getIdentityCommitmentMerkleTreeSize(); + const rootTimestamp = await registry.rootTimestamps(currentRoot); + const index = await registry.getIdentityCommitmentIndex( + registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX], + ); + const nullifier = await registry.nullifiers( + ATTESTATION_ID.E_PASSPORT, + registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_NULLIFIER_INDEX], + ); + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("CommitmentRegistered").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("CommitmentRegistered", event.data, event.topics) + : null; + + expect(eventArgs?.attestationId).to.equal(ATTESTATION_ID.E_PASSPORT); + expect(eventArgs?.nullifier).to.equal(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_NULLIFIER_INDEX]); + expect(eventArgs?.commitment).to.equal(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX]); + expect(eventArgs?.timestamp).to.equal(blockTimestamp); + expect(eventArgs?.imtRoot).to.equal(currentRoot); + expect(eventArgs?.imtIndex).to.equal(0); + + expect(currentRoot).to.not.equal(previousRoot); + expect(currentRoot).to.be.equal(imt.root); + expect(size).to.equal(1); + expect(rootTimestamp).to.equal(blockTimestamp); + expect(index).to.equal(0); + expect(nullifier).to.equal(true); + }); + + it("should fail when verifier is not set", async () => { + const { hub } = deployedActors; + + registerProof.a[0] = generateRandomFieldElement(); + + await expect( + hub.registerPassportCommitment(RegisterVerifierId.register_sha256_sha256_sha256_rsa_3_4096, registerProof), + ).to.be.revertedWithCustomError(hub, "NO_VERIFIER_SET"); + }); + + it("should fail when commitment root is invalid", async () => { + const { hub } = deployedActors; + + const invalidCommitmentRoot = generateRandomFieldElement(); + + registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_MERKLE_ROOT_INDEX] = invalidCommitmentRoot; + await expect( + hub.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ), + ).to.be.revertedWithCustomError(hub, "INVALID_COMMITMENT_ROOT"); + }); + + it("should fail when register proof verification fails", async () => { + const { hub } = deployedActors; + + registerProof.a[0] = generateRandomFieldElement(); + + await expect( + hub.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ), + ).to.be.revertedWithCustomError(hub, "INVALID_REGISTER_PROOF"); + }); + + it("should fail when nullifier is already used", async () => { + const { hub, registry, mockPassport } = deployedActors; + + const registerProof = await generateRegisterProof(registerSecret, mockPassport); + + await hub.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ); + + await expect( + hub.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ), + ).to.be.revertedWithCustomError(registry, "REGISTERED_COMMITMENT"); + }); + + it("should fail when registerPassportCommitment is called by non-proxy address", async () => { + const { hubImpl } = deployedActors; + await expect( + hubImpl.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ), + ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should fail when registerCommitment is called by non-hub address", async () => { + const { registry, vcAndDisclose, register, dsc, owner } = deployedActors; + const IdentityVerificationHubImplFactory = await ethers.getContractFactory( + "IdentityVerificationHubImplV1", + owner, + ); + const hubImpl2 = await IdentityVerificationHubImplFactory.deploy(); + await hubImpl2.waitForDeployment(); + + const initializeData = hubImpl2.interface.encodeFunctionData("initialize", [ + registry.target, + vcAndDisclose.target, + [RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096], + [register.target], + [DscVerifierId.dsc_sha256_rsa_65537_4096], + [dsc.target], + ]); + const hubFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); + const hub2Proxy = await hubFactory.deploy(hubImpl2.target, initializeData); + await hub2Proxy.waitForDeployment(); + + const hub2 = await ethers.getContractAt("IdentityVerificationHubImplV1", hub2Proxy.target); + + await expect( + hub2.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ), + ).to.be.revertedWithCustomError(registry, "ONLY_HUB_CAN_ACCESS"); + }); + + it("should fail registerCommitment when hub address is not set", async () => { + const { hub, registry } = deployedActors; + + await registry.updateHub(ZeroAddress); + await expect( + hub.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ), + ).to.be.revertedWithCustomError(registry, "HUB_NOT_SET"); + }); + + it("should fail when registerCommitment is called by non-proxy address", async () => { + const { registryImpl } = deployedActors; + + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + + await expect( + registryImpl.registerCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); }); + }); }); diff --git a/contracts/test/integration/endToEnd.test.ts b/contracts/test/integration/endToEnd.test.ts index efd404b3f..1e06bace3 100644 --- a/contracts/test/integration/endToEnd.test.ts +++ b/contracts/test/integration/endToEnd.test.ts @@ -11,241 +11,235 @@ import { deploySystemFixtures } from "../utils/deployment"; import BalanceTree from "../utils/example/balance-tree"; import { Formatter } from "../utils/formatter"; import { generateDscProof, generateRegisterProof, generateVcAndDiscloseProof } from "../utils/generateProof"; -import serialized_dsc_tree from '../utils/pubkeys/serialized_dsc_tree.json'; +import serialized_dsc_tree from "../utils/pubkeys/serialized_dsc_tree.json"; import { DeployedActors } from "../utils/types"; import { generateRandomFieldElement, splitHexFromBack } from "../utils/utils"; describe("End to End Tests", function () { - this.timeout(0); - - let deployedActors: DeployedActors; - let snapshotId: string; - - before(async () => { - deployedActors = await deploySystemFixtures(); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - afterEach(async () => { - await ethers.provider.send("evm_revert", [snapshotId]); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - it("register dsc key commitment, register identity commitment, verify commitment and disclose attrs and claim airdrop", async () => { - const { hub, registry, mockPassport, owner, user1 } = deployedActors; - - // register dsc key - // To increase test performance, we will just set one dsc key with groth16 proof - // Other commitments are registered by dev function - const dscKeys = JSON.parse(serialized_dsc_tree); - let registerDscTx; - const dscProof = await generateDscProof( - mockPassport, - ); - const registerSecret = generateRandomFieldElement(); - for (let i = 0; i < dscKeys[0].length; i++) { - if (BigInt(dscKeys[0][i]) == dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]) { - const previousRoot = await registry.getDscKeyCommitmentMerkleRoot(); - const previousSize = await registry.getDscKeyCommitmentTreeSize(); - registerDscTx = await hub.registerDscKeyCommitment( - DscVerifierId.dsc_sha256_rsa_65537_4096, - dscProof - ); - const receipt = await registerDscTx.wait() as TransactionReceipt; - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DscKeyCommitmentRegistered").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DscKeyCommitmentRegistered", - event.data, - event.topics - ) : null; - - const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; - const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); - const index = await registry.getDscKeyCommitmentIndex(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]); - - expect(eventArgs?.commitment).to.equal(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]); - expect(eventArgs?.timestamp).to.equal(blockTimestamp); - expect(eventArgs?.imtRoot).to.equal(currentRoot); - expect(eventArgs?.imtIndex).to.equal(index); - - // Check state - expect(currentRoot).to.not.equal(previousRoot); - expect(await registry.getDscKeyCommitmentTreeSize()).to.equal(previousSize + 1n); - expect(await registry.getDscKeyCommitmentIndex(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX])).to.equal(index); - expect(await registry.isRegisteredDscKeyCommitment(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX])).to.equal(true); - } else { - await registry.devAddDscKeyCommitment(BigInt(dscKeys[0][i])); - } - }; - - // register identity commitment - const registerProof = await generateRegisterProof( - registerSecret, - mockPassport + this.timeout(0); + + let deployedActors: DeployedActors; + let snapshotId: string; + + before(async () => { + deployedActors = await deploySystemFixtures(); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + afterEach(async () => { + await ethers.provider.send("evm_revert", [snapshotId]); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + it("register dsc key commitment, register identity commitment, verify commitment and disclose attrs and claim airdrop", async () => { + const { hub, registry, mockPassport, owner, user1 } = deployedActors; + + // register dsc key + // To increase test performance, we will just set one dsc key with groth16 proof + // Other commitments are registered by dev function + const dscKeys = JSON.parse(serialized_dsc_tree); + let registerDscTx; + const dscProof = await generateDscProof(mockPassport); + const registerSecret = generateRandomFieldElement(); + for (let i = 0; i < dscKeys[0].length; i++) { + if (BigInt(dscKeys[0][i]) == dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]) { + const previousRoot = await registry.getDscKeyCommitmentMerkleRoot(); + const previousSize = await registry.getDscKeyCommitmentTreeSize(); + registerDscTx = await hub.registerDscKeyCommitment(DscVerifierId.dsc_sha256_rsa_65537_4096, dscProof); + const receipt = (await registerDscTx.wait()) as TransactionReceipt; + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DscKeyCommitmentRegistered").topicHash, ); + const eventArgs = event + ? registry.interface.decodeEventLog("DscKeyCommitmentRegistered", event.data, event.topics) + : null; - const previousRoot = await registry.getIdentityCommitmentMerkleRoot(); - - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - const imt = new LeanIMT(hashFunction); - await imt.insert(BigInt(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX])); - - const tx = await hub.registerPassportCommitment( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, - registerProof - ); - const receipt = await tx.wait() as TransactionReceipt; const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; - - const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); - const size = await registry.getIdentityCommitmentMerkleTreeSize(); - const rootTimestamp = await registry.rootTimestamps(currentRoot); - const index = await registry.getIdentityCommitmentIndex(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX]); - const identityNullifier = await registry.nullifiers( - ATTESTATION_ID.E_PASSPORT, - registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_NULLIFIER_INDEX] + const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); + const index = await registry.getDscKeyCommitmentIndex( + dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX], ); - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("CommitmentRegistered").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "CommitmentRegistered", - event.data, - event.topics - ) : null; - - expect(eventArgs?.attestationId).to.equal(ATTESTATION_ID.E_PASSPORT); - expect(eventArgs?.nullifier).to.equal(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_NULLIFIER_INDEX]); - expect(eventArgs?.commitment).to.equal(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX]); + expect(eventArgs?.commitment).to.equal(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]); expect(eventArgs?.timestamp).to.equal(blockTimestamp); expect(eventArgs?.imtRoot).to.equal(currentRoot); - expect(eventArgs?.imtIndex).to.equal(0); + expect(eventArgs?.imtIndex).to.equal(index); + // Check state expect(currentRoot).to.not.equal(previousRoot); - expect(currentRoot).to.be.equal(imt.root); - expect(size).to.equal(1); - expect(rootTimestamp).to.equal(blockTimestamp); - expect(index).to.equal(0); - expect(identityNullifier).to.equal(true); - - const forbiddenCountriesList = ['AAA', 'ABC', 'CBA']; - const countriesListPacked = splitHexFromBack(reverseBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList))))); - - const vcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.E_PASSPORT).toString(), - mockPassport, - "test-scope", - new Array(88).fill("1"), - "1", - imt, - "20", - undefined, - undefined, - undefined, - undefined, - forbiddenCountriesList, - (await user1.getAddress()).slice(2) - ); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: countriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - const result = await hub.verifyVcAndDisclose(vcAndDiscloseHubProof); - - expect(result.identityCommitmentRoot).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX]); - expect(result.revealedDataPacked).to.have.lengthOf(3); - expect(result.nullifier).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NULLIFIER_INDEX]); - expect(result.attestationId).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX]); - expect(result.userIdentifier).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX]); - expect(result.scope).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_SCOPE_INDEX]); - for (let i = 0; i < 4; i++) { - expect(result.forbiddenCountriesListPacked[i]).to.equal(BigInt(countriesListPacked[i])); - } - - const tokenFactory = await ethers.getContractFactory("AirdropToken"); - const token = await tokenFactory.connect(owner).deploy(); - await token.waitForDeployment(); - - const airdropFactory = await ethers.getContractFactory("Airdrop"); - const airdrop = await airdropFactory.connect(owner).deploy( - hub.target, - castFromScope("test-scope"), - ATTESTATION_ID.E_PASSPORT, - token.target, - true, - 20, - true, - countriesListPacked as [BigNumberish, BigNumberish, BigNumberish, BigNumberish], - [true, true, true], - ); - await airdrop.waitForDeployment(); - - await token.connect(owner).mint(airdrop.target, BigInt(1000000000000000000)); - - await airdrop.connect(owner).openRegistration(); - await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); - await airdrop.connect(owner).closeRegistration(); - - const tree = new BalanceTree([ - { account: await user1.getAddress(), amount: BigInt(1000000000000000000) } - ]); - const merkleRoot = tree.getHexRoot(); - await airdrop.connect(owner).setMerkleRoot(merkleRoot); - await airdrop.connect(owner).openClaim(); - const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); - const claimTx = await airdrop.connect(user1).claim( - 0, - BigInt(1000000000000000000), - merkleProof - ); - const claimReceipt = await claimTx.wait() as TransactionReceipt; - - const claimEvent = claimReceipt?.logs.find( - log => log.topics[0] === airdrop.interface.getEvent("Claimed").topicHash - ); - const claimEventArgs = claimEvent ? airdrop.interface.decodeEventLog( - "Claimed", - claimEvent.data, - claimEvent.topics - ) : null; - - expect(claimEventArgs?.index).to.equal(0); - expect(claimEventArgs?.amount).to.equal(BigInt(1000000000000000000)); - expect(claimEventArgs?.account).to.equal(await user1.getAddress()); - - const balance = await token.balanceOf(await user1.getAddress()); - expect(balance).to.equal(BigInt(1000000000000000000)); - - const isClaimed = await airdrop.claimed(await user1.getAddress()); - expect(isClaimed).to.be.true; - - const readableData = await hub.getReadableRevealedData( - [ - result.revealedDataPacked[0], - result.revealedDataPacked[1], - result.revealedDataPacked[2] - ], - ['0', '1', '2', '3', '4', '5', '6', '7', '8'] - ); - - expect(readableData[0]).to.equal('FRA'); - expect(readableData[1]).to.deep.equal([ 'ALPHONSE HUGHUES ALBERT', 'DUPONT' ]); - expect(readableData[2]).to.equal('15AA81234'); - expect(readableData[3]).to.equal('FRA'); - expect(readableData[4]).to.equal('31-01-94'); - expect(readableData[5]).to.equal('M'); - expect(readableData[6]).to.equal('31-10-40'); - expect(readableData[7]).to.equal(20n); - expect(readableData[8]).to.equal(1n); - }); + expect(await registry.getDscKeyCommitmentTreeSize()).to.equal(previousSize + 1n); + expect( + await registry.getDscKeyCommitmentIndex(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]), + ).to.equal(index); + expect( + await registry.isRegisteredDscKeyCommitment(dscProof.pubSignals[CIRCUIT_CONSTANTS.DSC_TREE_LEAF_INDEX]), + ).to.equal(true); + } else { + await registry.devAddDscKeyCommitment(BigInt(dscKeys[0][i])); + } + } + + // register identity commitment + const registerProof = await generateRegisterProof(registerSecret, mockPassport); + + const previousRoot = await registry.getIdentityCommitmentMerkleRoot(); + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + const imt = new LeanIMT(hashFunction); + await imt.insert(BigInt(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX])); + + const tx = await hub.registerPassportCommitment( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + registerProof, + ); + const receipt = (await tx.wait()) as TransactionReceipt; + const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; + + const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); + const size = await registry.getIdentityCommitmentMerkleTreeSize(); + const rootTimestamp = await registry.rootTimestamps(currentRoot); + const index = await registry.getIdentityCommitmentIndex( + registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX], + ); + const identityNullifier = await registry.nullifiers( + ATTESTATION_ID.E_PASSPORT, + registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_NULLIFIER_INDEX], + ); + + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("CommitmentRegistered").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("CommitmentRegistered", event.data, event.topics) + : null; + + expect(eventArgs?.attestationId).to.equal(ATTESTATION_ID.E_PASSPORT); + expect(eventArgs?.nullifier).to.equal(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_NULLIFIER_INDEX]); + expect(eventArgs?.commitment).to.equal(registerProof.pubSignals[CIRCUIT_CONSTANTS.REGISTER_COMMITMENT_INDEX]); + expect(eventArgs?.timestamp).to.equal(blockTimestamp); + expect(eventArgs?.imtRoot).to.equal(currentRoot); + expect(eventArgs?.imtIndex).to.equal(0); + + expect(currentRoot).to.not.equal(previousRoot); + expect(currentRoot).to.be.equal(imt.root); + expect(size).to.equal(1); + expect(rootTimestamp).to.equal(blockTimestamp); + expect(index).to.equal(0); + expect(identityNullifier).to.equal(true); + + const forbiddenCountriesList = ["AAA", "ABC", "CBA"]; + const countriesListPacked = splitHexFromBack( + reverseBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList)))), + ); + + const vcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.E_PASSPORT).toString(), + mockPassport, + "test-scope", + new Array(88).fill("1"), + "1", + imt, + "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + (await user1.getAddress()).slice(2), + ); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: countriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const result = await hub.verifyVcAndDisclose(vcAndDiscloseHubProof); + + expect(result.identityCommitmentRoot).to.equal( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX], + ); + expect(result.revealedDataPacked).to.have.lengthOf(3); + expect(result.nullifier).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NULLIFIER_INDEX]); + expect(result.attestationId).to.equal( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX], + ); + expect(result.userIdentifier).to.equal( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX], + ); + expect(result.scope).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_SCOPE_INDEX]); + for (let i = 0; i < 4; i++) { + expect(result.forbiddenCountriesListPacked[i]).to.equal(BigInt(countriesListPacked[i])); + } + + const tokenFactory = await ethers.getContractFactory("AirdropToken"); + const token = await tokenFactory.connect(owner).deploy(); + await token.waitForDeployment(); + + const airdropFactory = await ethers.getContractFactory("Airdrop"); + const airdrop = await airdropFactory + .connect(owner) + .deploy( + hub.target, + castFromScope("test-scope"), + ATTESTATION_ID.E_PASSPORT, + token.target, + true, + 20, + true, + countriesListPacked as [BigNumberish, BigNumberish, BigNumberish, BigNumberish], + [true, true, true], + ); + await airdrop.waitForDeployment(); + + await token.connect(owner).mint(airdrop.target, BigInt(1000000000000000000)); + + await airdrop.connect(owner).openRegistration(); + await airdrop.connect(user1).verifySelfProof(vcAndDiscloseProof); + await airdrop.connect(owner).closeRegistration(); + + const tree = new BalanceTree([{ account: await user1.getAddress(), amount: BigInt(1000000000000000000) }]); + const merkleRoot = tree.getHexRoot(); + await airdrop.connect(owner).setMerkleRoot(merkleRoot); + await airdrop.connect(owner).openClaim(); + const merkleProof = tree.getProof(0, await user1.getAddress(), BigInt(1000000000000000000)); + const claimTx = await airdrop.connect(user1).claim(0, BigInt(1000000000000000000), merkleProof); + const claimReceipt = (await claimTx.wait()) as TransactionReceipt; + + const claimEvent = claimReceipt?.logs.find( + (log) => log.topics[0] === airdrop.interface.getEvent("Claimed").topicHash, + ); + const claimEventArgs = claimEvent + ? airdrop.interface.decodeEventLog("Claimed", claimEvent.data, claimEvent.topics) + : null; + + expect(claimEventArgs?.index).to.equal(0); + expect(claimEventArgs?.amount).to.equal(BigInt(1000000000000000000)); + expect(claimEventArgs?.account).to.equal(await user1.getAddress()); + + const balance = await token.balanceOf(await user1.getAddress()); + expect(balance).to.equal(BigInt(1000000000000000000)); + + const isClaimed = await airdrop.claimed(await user1.getAddress()); + expect(isClaimed).to.be.true; + + const readableData = await hub.getReadableRevealedData( + [result.revealedDataPacked[0], result.revealedDataPacked[1], result.revealedDataPacked[2]], + ["0", "1", "2", "3", "4", "5", "6", "7", "8"], + ); + + expect(readableData[0]).to.equal("FRA"); + expect(readableData[1]).to.deep.equal(["ALPHONSE HUGHUES ALBERT", "DUPONT"]); + expect(readableData[2]).to.equal("15AA81234"); + expect(readableData[3]).to.equal("FRA"); + expect(readableData[4]).to.equal("31-01-94"); + expect(readableData[5]).to.equal("M"); + expect(readableData[6]).to.equal("31-10-40"); + expect(readableData[7]).to.equal(20n); + expect(readableData[8]).to.equal(1n); + }); }); diff --git a/contracts/test/integration/vcAndDisclose.test.ts b/contracts/test/integration/vcAndDisclose.test.ts index 1705b5c23..f23535d28 100644 --- a/contracts/test/integration/vcAndDisclose.test.ts +++ b/contracts/test/integration/vcAndDisclose.test.ts @@ -11,712 +11,780 @@ import { generateCommitment } from "../../../common/src/utils/passports/passport import { BigNumberish } from "ethers"; import { generateRandomFieldElement, getStartOfDayTimestamp, splitHexFromBack } from "../utils/utils"; import { Formatter, CircuitAttributeHandler } from "../utils/formatter"; -import { formatCountriesList, reverseBytes, reverseCountryBytes } from '../../../common/src/utils/circuits/formatInputs'; +import { + formatCountriesList, + reverseBytes, + reverseCountryBytes, +} from "../../../common/src/utils/circuits/formatInputs"; import { getPackedForbiddenCountries } from "../../../common/src/utils/contracts/forbiddenCountries"; import { countries } from "../../../common/src/constants/countries"; -import fs from 'fs'; -import path from 'path'; +import fs from "fs"; +import path from "path"; describe("VC and Disclose", () => { - let deployedActors: DeployedActors; - let snapshotId: string; - let baseVcAndDiscloseProof: any; - let vcAndDiscloseProof: any; - let registerSecret: any; - let imt: any; - let commitment: any; - let nullifier: any; - - let forbiddenCountriesList: string[]; - let invalidForbiddenCountriesList: string[]; - let forbiddenCountriesListPacked: string[]; - let invalidForbiddenCountriesListPacked: string[]; - - before(async () => { - deployedActors = await deploySystemFixtures(); - registerSecret = generateRandomFieldElement(); - nullifier = generateRandomFieldElement(); - commitment = generateCommitment(registerSecret, ATTESTATION_ID.E_PASSPORT, deployedActors.mockPassport); - - await deployedActors.registry.connect(deployedActors.owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment + let deployedActors: DeployedActors; + let snapshotId: string; + let baseVcAndDiscloseProof: any; + let vcAndDiscloseProof: any; + let registerSecret: any; + let imt: any; + let commitment: any; + let nullifier: any; + + let forbiddenCountriesList: string[]; + let invalidForbiddenCountriesList: string[]; + let forbiddenCountriesListPacked: string[]; + let invalidForbiddenCountriesListPacked: string[]; + + before(async () => { + deployedActors = await deploySystemFixtures(); + registerSecret = generateRandomFieldElement(); + nullifier = generateRandomFieldElement(); + commitment = generateCommitment(registerSecret, ATTESTATION_ID.E_PASSPORT, deployedActors.mockPassport); + + await deployedActors.registry + .connect(deployedActors.owner) + .devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + imt = new LeanIMT(hashFunction); + await imt.insert(BigInt(commitment)); + + forbiddenCountriesList = [ + countries.AFGHANISTAN, + "ABC", + "CBA", + "AAA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + ]; + forbiddenCountriesListPacked = getPackedForbiddenCountries(forbiddenCountriesList); + + invalidForbiddenCountriesList = ["AAA", "ABC", "CBA", "CBA"]; + // const invalidWholePacked = reverseBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(invalidForbiddenCountriesList)))); + // invalidForbiddenCountriesListPacked = splitHexFromBack(invalidWholePacked); + invalidForbiddenCountriesListPacked = getPackedForbiddenCountries(invalidForbiddenCountriesList); + + baseVcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.E_PASSPORT).toString(), + deployedActors.mockPassport, + "test-scope", + new Array(88).fill("1"), + "1", + imt, + "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + (await deployedActors.user1.getAddress()).slice(2), + ); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + beforeEach(async () => { + vcAndDiscloseProof = structuredClone(baseVcAndDiscloseProof); + }); + + afterEach(async () => { + await ethers.provider.send("evm_revert", [snapshotId]); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + describe("Verify VC and Disclose", () => { + it("should verify and get result successfully", async () => { + const { hub, registry, owner } = deployedActors; + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const result = await hub.verifyVcAndDisclose(vcAndDiscloseHubProof); + + expect(result.identityCommitmentRoot).to.equal( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX], + ); + expect(result.revealedDataPacked).to.have.lengthOf(3); + expect(result.nullifier).to.equal( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NULLIFIER_INDEX], + ); + expect(result.attestationId).to.equal( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX], + ); + expect(result.userIdentifier).to.equal( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX], + ); + expect(result.scope).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_SCOPE_INDEX]); + for (let i = 0; i < 4; i++) { + expect(result.forbiddenCountriesListPacked[i]).to.equal(BigInt(forbiddenCountriesListPacked[i])); + } + }); + + it("should not call verifyVcAndDisclose with non-proxy address", async () => { + const { hubImpl, registry, owner } = deployedActors; + + const vcAndDiscloseHubProof = { + olderThanEnabled: false, + olderThan: "20", + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, false, false] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hubImpl.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should fail with invalid identity commitment root", async () => { + const { hub, registry, owner } = deployedActors; + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX] = generateRandomFieldElement(); + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "INVALID_COMMITMENT_ROOT", + ); + }); + + it("should fail with invalid passport number OFAC root", async () => { + const { hub, registry, owner } = deployedActors; + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_PASSPORT_NO_SMT_ROOT_INDEX] = + generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "INVALID_OFAC_ROOT", + ); + }); + + it("should fail with invalid name and dob OFAC root", async () => { + const { hub, registry, owner } = deployedActors; + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NAME_DOB_SMT_ROOT_INDEX] = + generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, true, false] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "INVALID_OFAC_ROOT", + ); + }); + + it("should fail with invalid name and yob OFAC root", async () => { + const { hub, registry, owner } = deployedActors; + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX] = + generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, false, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "INVALID_OFAC_ROOT", + ); + }); + + it("should fail with invalid current date (more than + 1 day)", async () => { + const { hub, registry, owner } = deployedActors; + + const currentBlock = await ethers.provider.getBlock("latest"); + const oneDayAfter = getStartOfDayTimestamp(currentBlock!.timestamp) + 24 * 60 * 60; + + const date = new Date(oneDayAfter * 1000); + const dateComponents = [ + Math.floor((date.getUTCFullYear() % 100) / 10), + date.getUTCFullYear() % 10, + Math.floor((date.getUTCMonth() + 1) / 10), + (date.getUTCMonth() + 1) % 10, + Math.floor(date.getUTCDate() / 10), + date.getUTCDate() % 10, + ]; + + for (let i = 0; i < 6; i++) { + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX + i] = + dateComponents[i].toString(); + } + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "CURRENT_DATE_NOT_IN_VALID_RANGE", + ); + }); + + it("should not revert when current date is within + 1 day", async () => { + const { hub, registry, owner } = deployedActors; + + const currentBlock = await ethers.provider.getBlock("latest"); + + const oneDayAfter = getStartOfDayTimestamp(currentBlock!.timestamp) + 24 * 60 * 60 - 1; + + const date = new Date(oneDayAfter * 1000); + const dateComponents = [ + Math.floor((date.getUTCFullYear() % 100) / 10), + date.getUTCFullYear() % 10, + Math.floor((date.getUTCMonth() + 1) / 10), + (date.getUTCMonth() + 1) % 10, + Math.floor(date.getUTCDate() / 10), + date.getUTCDate() % 10, + ]; + + for (let i = 0; i < 6; i++) { + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX + i] = + dateComponents[i].toString(); + } + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.not.be.reverted; + }); + + it("should fail with invalid current date (- 1 day)", async () => { + const { hub, registry, owner } = deployedActors; + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const currentBlock = await ethers.provider.getBlock("latest"); + const oneDayBefore = getStartOfDayTimestamp(currentBlock!.timestamp) - 1; + + const date = new Date(oneDayBefore * 1000); + const dateComponents = [ + Math.floor((date.getUTCFullYear() % 100) / 10), + date.getUTCFullYear() % 10, + Math.floor((date.getUTCMonth() + 1) / 10), + (date.getUTCMonth() + 1) % 10, + Math.floor(date.getUTCDate() / 10), + date.getUTCDate() % 10, + ]; + + for (let i = 0; i < 6; i++) { + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX + i] = + dateComponents[i].toString(); + } + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "CURRENT_DATE_NOT_IN_VALID_RANGE", + ); + }); + + it("should not revert when current date is slightly less than - 1 day", async () => { + const { hub, registry, owner } = deployedActors; + + const currentBlock = await ethers.provider.getBlock("latest"); + + const oneDayBefore = getStartOfDayTimestamp(currentBlock!.timestamp); + const date = new Date(oneDayBefore * 1000); + const dateComponents = [ + Math.floor((date.getUTCFullYear() % 100) / 10), + date.getUTCFullYear() % 10, + Math.floor((date.getUTCMonth() + 1) / 10), + (date.getUTCMonth() + 1) % 10, + Math.floor(date.getUTCDate() / 10), + date.getUTCDate() % 10, + ]; + + for (let i = 0; i < 6; i++) { + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX + i] = + dateComponents[i].toString(); + } + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.not.be.reverted; + }); + + it("should succeed with bigger value than older than", async () => { + const { hub, registry, owner } = deployedActors; + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "18", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.not.reverted; + }); + + it("should fail with invalid older than", async () => { + const { hub, registry, owner } = deployedActors; + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "21", + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, false, false] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "INVALID_OLDER_THAN", + ); + }); + + it("should fail with if listed in OFAC", async () => { + const { hub, registry, owner, mockPassport } = deployedActors; + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + const imt = new LeanIMT(hashFunction); + imt.insert(BigInt(commitment)); + + const { passportNo_smt, nameAndDob_smt, nameAndYob_smt } = getSMTs(); + + const vcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.E_PASSPORT).toString(), + mockPassport, + "test-scope", + new Array(88).fill("1"), + "1", + imt, + "20", + passportNo_smt, + nameAndDob_smt, + nameAndYob_smt, + "0", + ); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError(hub, "INVALID_OFAC"); + }); + + it("should fail with invalid forbidden countries", async () => { + const { hub, registry, owner } = deployedActors; + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: invalidForbiddenCountriesListPacked, + ofacEnabled: [true, true, true] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "INVALID_FORBIDDEN_COUNTRIES", + ); + }); + + it("should not revert when all enablers are false", async () => { + const { hub, registry, owner } = deployedActors; + + const vcAndDiscloseHubProof = { + olderThanEnabled: false, + olderThan: "40", + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: invalidForbiddenCountriesListPacked, + ofacEnabled: [false, false, false] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.not.be.reverted; + }); + + it("should fail with invalid VC and Disclose proof", async () => { + const { hub, registry, owner } = deployedActors; + + vcAndDiscloseProof.a[0] = generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: false, + olderThan: "20", + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, false, false] as [boolean, boolean, boolean], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + await expect(hub.verifyVcAndDisclose(vcAndDiscloseHubProof)).to.be.revertedWithCustomError( + hub, + "INVALID_VC_AND_DISCLOSE_PROOF", + ); + }); + }); + + describe("readable parsers", () => { + async function setupVcAndDiscloseTest(types: string[]) { + const { hub } = deployedActors; + + let revealedDataPacked = [BigInt(0), BigInt(0), BigInt(0)]; + for (let i = 0; i < 3; i++) { + revealedDataPacked[i] = BigInt( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i], + ); + } + const bytes = Formatter.fieldElementsToBytes(revealedDataPacked as [bigint, bigint, bigint]); + const readableData = await hub.getReadableRevealedData( + revealedDataPacked as [BigNumberish, BigNumberish, BigNumberish], + types, + ); + + return { readableData, bytes }; + } + + it("should fail when getReadableRevealedData is called by non-proxy", async () => { + const { hubImpl } = deployedActors; + let revealedDataPacked = [BigInt(0), BigInt(0), BigInt(0)]; + for (let i = 0; i < 3; i++) { + revealedDataPacked[i] = BigInt( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i], ); + } + await expect( + hubImpl.getReadableRevealedData(revealedDataPacked as [BigNumberish, BigNumberish, BigNumberish], ["0"]), + ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); + }); + + it("formatter and CircuitAttributeHandler are working fine", async () => { + const { readableData, bytes } = await setupVcAndDiscloseTest([ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + ]); + + expect(CircuitAttributeHandler.getIssuingState(bytes)).to.equal(readableData[0]); + expect(CircuitAttributeHandler.getName(bytes)).to.deep.equal(readableData[1]); + expect(CircuitAttributeHandler.getPassportNumber(bytes)).to.equal(readableData[2]); + expect(CircuitAttributeHandler.getNationality(bytes)).to.equal(readableData[3]); + expect(CircuitAttributeHandler.getDateOfBirth(bytes)).to.equal(readableData[4]); + expect(CircuitAttributeHandler.getGender(bytes)).to.equal(readableData[5]); + expect(CircuitAttributeHandler.getExpiryDate(bytes)).to.equal(readableData[6]); + expect(CircuitAttributeHandler.getOlderThan(bytes)).to.equal(readableData[7]); + expect(CircuitAttributeHandler.getPassportNoOfac(bytes)).to.equal(readableData[8]); + expect(CircuitAttributeHandler.getNameAndDobOfac(bytes)).to.equal(readableData[9]); + expect(CircuitAttributeHandler.getNameAndYobOfac(bytes)).to.equal(readableData[10]); + }); + + it("should return all data", async () => { + const { readableData } = await setupVcAndDiscloseTest(["0", "1", "2", "3", "4", "5", "6", "7", "8"]); + expect(readableData[0]).to.equal("FRA"); + expect(readableData[1]).to.deep.equal(["ALPHONSE HUGHUES ALBERT", "DUPONT"]); + expect(readableData[2]).to.equal("15AA81234"); + expect(readableData[3]).to.equal("FRA"); + expect(readableData[4]).to.equal("31-01-94"); + expect(readableData[5]).to.equal("M"); + expect(readableData[6]).to.equal("31-10-40"); + expect(readableData[7]).to.equal(20n); + expect(readableData[8]).to.equal(1n); + }); + + it("should only return issuing state", async () => { + const { readableData } = await setupVcAndDiscloseTest(["0"]); + expect(readableData[0]).to.equal("FRA"); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(0n); + }); - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - imt = new LeanIMT(hashFunction); - await imt.insert(BigInt(commitment)); - - forbiddenCountriesList = [countries.AFGHANISTAN, 'ABC', 'CBA', 'AAA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA','AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA','AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA','AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA']; - forbiddenCountriesListPacked = getPackedForbiddenCountries(forbiddenCountriesList); - - invalidForbiddenCountriesList = ['AAA', 'ABC', 'CBA', 'CBA']; - // const invalidWholePacked = reverseBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(invalidForbiddenCountriesList)))); - // invalidForbiddenCountriesListPacked = splitHexFromBack(invalidWholePacked); - invalidForbiddenCountriesListPacked = getPackedForbiddenCountries(invalidForbiddenCountriesList); - - baseVcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.E_PASSPORT).toString(), - deployedActors.mockPassport, - "test-scope", - new Array(88).fill("1"), - "1", - imt, - "20", - undefined, - undefined, - undefined, - undefined, - forbiddenCountriesList, - (await deployedActors.user1.getAddress()).slice(2) + it("should only return name", async () => { + const { readableData } = await setupVcAndDiscloseTest(["1"]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal(["ALPHONSE HUGHUES ALBERT", "DUPONT"]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(0n); + }); + + it("should only return passport number", async () => { + const { readableData } = await setupVcAndDiscloseTest(["2"]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal("15AA81234"); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(0n); + }); + + it("should only return nationality", async () => { + const { readableData } = await setupVcAndDiscloseTest(["3"]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal("FRA"); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(0n); + }); + + it("should only return data of birth", async () => { + const { readableData } = await setupVcAndDiscloseTest(["4"]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal("31-01-94"); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(0n); + }); + + it("should only return gender", async () => { + const { readableData } = await setupVcAndDiscloseTest(["5"]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal("M"); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(0n); + }); + + it("should only return expiry date", async () => { + const { readableData } = await setupVcAndDiscloseTest(["6"]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal("31-10-40"); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(0n); + }); + + it("should only return older than", async () => { + const { readableData } = await setupVcAndDiscloseTest(["7"]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(20n); + expect(readableData[8]).to.equal(0n); + }); + + it("should only return ofac", async () => { + const { readableData } = await setupVcAndDiscloseTest(["8", "9", "10"]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(1n); + expect(readableData[9]).to.equal(1n); + expect(readableData[10]).to.equal(1n); + }); + + it("should fail when revealed data type is invalid", async () => { + const { hub } = deployedActors; + let revealedDataPacked = [BigInt(0), BigInt(0), BigInt(0)]; + for (let i = 0; i < 3; i++) { + revealedDataPacked[i] = BigInt( + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i], ); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - beforeEach(async () => { - vcAndDiscloseProof = structuredClone(baseVcAndDiscloseProof); - }); - - afterEach(async () => { - await ethers.provider.send("evm_revert", [snapshotId]); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - describe("Verify VC and Disclose", () => { - - it("should verify and get result successfully", async () => { - const {hub, registry, owner} = deployedActors; - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - const result = await hub.verifyVcAndDisclose(vcAndDiscloseHubProof); - - expect(result.identityCommitmentRoot).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX]); - expect(result.revealedDataPacked).to.have.lengthOf(3); - expect(result.nullifier).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NULLIFIER_INDEX]); - expect(result.attestationId).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_ATTESTATION_ID_INDEX]); - expect(result.userIdentifier).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX]); - expect(result.scope).to.equal(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_SCOPE_INDEX]); - for (let i = 0; i < 4; i++) { - expect(result.forbiddenCountriesListPacked[i]).to.equal(BigInt(forbiddenCountriesListPacked[i])); - } - }); - - it("should not call verifyVcAndDisclose with non-proxy address", async() => { - const {hubImpl, registry, owner} = deployedActors; - - const vcAndDiscloseHubProof = { - olderThanEnabled: false, - olderThan: "20", - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, false, false] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect(hubImpl.verifyVcAndDisclose(vcAndDiscloseHubProof)) - .to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should fail with invalid identity commitment root", async () => { - const {hub, registry, owner} = deployedActors; - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX] = generateRandomFieldElement(); - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "INVALID_COMMITMENT_ROOT"); - }); - - it("should fail with invalid passport number OFAC root", async () => { - const {hub, registry, owner} = deployedActors; - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_PASSPORT_NO_SMT_ROOT_INDEX] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "INVALID_OFAC_ROOT"); - }); - - it("should fail with invalid name and dob OFAC root", async () => { - const {hub, registry, owner} = deployedActors; - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NAME_DOB_SMT_ROOT_INDEX] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, true, false] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "INVALID_OFAC_ROOT"); - }); - - it("should fail with invalid name and yob OFAC root", async () => { - const {hub, registry, owner} = deployedActors; - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, false, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "INVALID_OFAC_ROOT"); - }); - - it("should fail with invalid current date (more than + 1 day)", async () => { - const {hub, registry, owner} = deployedActors; - - const currentBlock = await ethers.provider.getBlock('latest'); - const oneDayAfter = getStartOfDayTimestamp(currentBlock!.timestamp) + 24 * 60 * 60; - - const date = new Date(oneDayAfter * 1000); - const dateComponents = [ - Math.floor((date.getUTCFullYear() % 100) / 10), - date.getUTCFullYear() % 10, - Math.floor((date.getUTCMonth() + 1) / 10), - (date.getUTCMonth() + 1) % 10, - Math.floor(date.getUTCDate() / 10), - date.getUTCDate() % 10 - ]; - - for (let i = 0; i < 6; i++) { - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX + i] = dateComponents[i].toString(); - } - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "CURRENT_DATE_NOT_IN_VALID_RANGE"); - }); - - it("should not revert when current date is within + 1 day", async () => { - const {hub, registry, owner} = deployedActors; - - const currentBlock = await ethers.provider.getBlock('latest'); - - const oneDayAfter = getStartOfDayTimestamp(currentBlock!.timestamp) + 24 * 60 * 60 - 1; - - const date = new Date(oneDayAfter * 1000); - const dateComponents = [ - Math.floor((date.getUTCFullYear() % 100) / 10), - date.getUTCFullYear() % 10, - Math.floor((date.getUTCMonth() + 1) / 10), - (date.getUTCMonth() + 1) % 10, - Math.floor(date.getUTCDate() / 10), - date.getUTCDate() % 10 - ]; - - for (let i = 0; i < 6; i++) { - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX + i] = dateComponents[i].toString(); - } - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - await expect ( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.not.be.reverted; - }); - - it("should fail with invalid current date (- 1 day)", async () => { - - const {hub, registry, owner} = deployedActors; - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - const currentBlock = await ethers.provider.getBlock('latest'); - const oneDayBefore = getStartOfDayTimestamp(currentBlock!.timestamp) - 1; - - const date = new Date(oneDayBefore * 1000); - const dateComponents = [ - Math.floor((date.getUTCFullYear() % 100) / 10), - date.getUTCFullYear() % 10, - Math.floor((date.getUTCMonth() + 1) / 10), - (date.getUTCMonth() + 1) % 10, - Math.floor(date.getUTCDate() / 10), - date.getUTCDate() % 10 - ]; - - for (let i = 0; i < 6; i++) { - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX + i] = dateComponents[i].toString(); - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "CURRENT_DATE_NOT_IN_VALID_RANGE"); - }); - - it("should not revert when current date is slightly less than - 1 day", async () => { - const {hub, registry, owner} = deployedActors; - - const currentBlock = await ethers.provider.getBlock('latest'); - - const oneDayBefore = getStartOfDayTimestamp(currentBlock!.timestamp); - const date = new Date(oneDayBefore * 1000); - const dateComponents = [ - Math.floor((date.getUTCFullYear() % 100) / 10), - date.getUTCFullYear() % 10, - Math.floor((date.getUTCMonth() + 1) / 10), - (date.getUTCMonth() + 1) % 10, - Math.floor(date.getUTCDate() / 10), - date.getUTCDate() % 10 - ]; - - for (let i = 0; i < 6; i++) { - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX + i] = dateComponents[i].toString(); - } - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.not.be.reverted; - }); - - it("should succeed with bigger value than older than", async () => { - const {hub, registry, owner} = deployedActors; - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "18", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.not.reverted; - }); - - it("should fail with invalid older than", async () => { - const {hub, registry, owner} = deployedActors; - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "21", - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, false, false] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "INVALID_OLDER_THAN"); - }); - - it("should fail with if listed in OFAC", async () => { - const {hub, registry, owner, mockPassport} = deployedActors; - - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - const imt = new LeanIMT(hashFunction); - imt.insert(BigInt(commitment)); - - const { - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt - } = getSMTs(); - - const vcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.E_PASSPORT).toString(), - mockPassport, - "test-scope", - new Array(88).fill("1"), - "1", - imt, - "20", - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt, - "0", - ); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "INVALID_OFAC"); - }); - - it("should fail with invalid forbidden countries", async () => { - const {hub, registry, owner} = deployedActors; - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: invalidForbiddenCountriesListPacked, - ofacEnabled: [true, true, true] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "INVALID_FORBIDDEN_COUNTRIES"); - }); - - it("should not revert when all enablers are false", async () => { - const {hub, registry, owner} = deployedActors; - - const vcAndDiscloseHubProof = { - olderThanEnabled: false, - olderThan: "40", - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: invalidForbiddenCountriesListPacked, - ofacEnabled: [false, false, false] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.not.be.reverted; - }); - - it("should fail with invalid VC and Disclose proof", async () => { - const {hub, registry, owner} = deployedActors; - - vcAndDiscloseProof.a[0] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: false, - olderThan: "20", - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, false, false] as [boolean, boolean, boolean], - vcAndDiscloseProof: vcAndDiscloseProof - } - - await expect( - hub.verifyVcAndDisclose(vcAndDiscloseHubProof) - ).to.be.revertedWithCustomError(hub, "INVALID_VC_AND_DISCLOSE_PROOF"); - }); - }); - - describe("readable parsers", () =>{ - async function setupVcAndDiscloseTest(types: string[]) { - const {hub} = deployedActors; - - - let revealedDataPacked = [BigInt(0), BigInt(0), BigInt(0)]; - for (let i = 0; i < 3; i++) { - revealedDataPacked[i] = BigInt(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i]); - }; - const bytes = Formatter.fieldElementsToBytes(revealedDataPacked as [bigint, bigint, bigint]); - const readableData = await hub.getReadableRevealedData( - revealedDataPacked as [BigNumberish, BigNumberish, BigNumberish], - types - ); - - - return { readableData, bytes }; - } - - it("should fail when getReadableRevealedData is called by non-proxy", async() => { - const {hubImpl} = deployedActors; - let revealedDataPacked = [BigInt(0), BigInt(0), BigInt(0)]; - for (let i = 0; i < 3; i++) { - revealedDataPacked[i] = BigInt(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i]); - }; - await expect( - hubImpl.getReadableRevealedData( - revealedDataPacked as [BigNumberish, BigNumberish, BigNumberish], - ['0'] - ) - ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("formatter and CircuitAttributeHandler are working fine", async () => { - const { readableData, bytes } = await setupVcAndDiscloseTest(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']); - - expect(CircuitAttributeHandler.getIssuingState(bytes)).to.equal(readableData[0]); - expect(CircuitAttributeHandler.getName(bytes)).to.deep.equal(readableData[1]); - expect(CircuitAttributeHandler.getPassportNumber(bytes)).to.equal(readableData[2]); - expect(CircuitAttributeHandler.getNationality(bytes)).to.equal(readableData[3]); - expect(CircuitAttributeHandler.getDateOfBirth(bytes)).to.equal(readableData[4]); - expect(CircuitAttributeHandler.getGender(bytes)).to.equal(readableData[5]); - expect(CircuitAttributeHandler.getExpiryDate(bytes)).to.equal(readableData[6]); - expect(CircuitAttributeHandler.getOlderThan(bytes)).to.equal(readableData[7]); - expect(CircuitAttributeHandler.getPassportNoOfac(bytes)).to.equal(readableData[8]); - expect(CircuitAttributeHandler.getNameAndDobOfac(bytes)).to.equal(readableData[9]); - expect(CircuitAttributeHandler.getNameAndYobOfac(bytes)).to.equal(readableData[10]); - }); - - it("should return all data", async () => { - const { readableData } = await setupVcAndDiscloseTest(['0', '1', '2', '3', '4', '5', '6', '7', '8']); - expect(readableData[0]).to.equal('FRA'); - expect(readableData[1]).to.deep.equal([ 'ALPHONSE HUGHUES ALBERT', 'DUPONT' ]); - expect(readableData[2]).to.equal('15AA81234'); - expect(readableData[3]).to.equal('FRA'); - expect(readableData[4]).to.equal('31-01-94'); - expect(readableData[5]).to.equal('M'); - expect(readableData[6]).to.equal('31-10-40'); - expect(readableData[7]).to.equal(20n); - expect(readableData[8]).to.equal(1n); - }); - - it("should only return issuing state", async() => { - const { readableData } = await setupVcAndDiscloseTest(['0']); - expect(readableData[0]).to.equal('FRA'); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(0n) - }); - - it("should only return name", async () => { - const { readableData } = await setupVcAndDiscloseTest(['1']); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([ 'ALPHONSE HUGHUES ALBERT', 'DUPONT' ]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(0n); - }); - - it("should only return passport number", async () => { - const { readableData } = await setupVcAndDiscloseTest(['2']); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal('15AA81234'); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(0n); - }); - - it("should only return nationality", async () => { - const { readableData } = await setupVcAndDiscloseTest(['3']); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal('FRA'); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(0n); - }); - - it("should only return data of birth", async () => { - const { readableData } = await setupVcAndDiscloseTest(['4']); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal('31-01-94'); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(0n); - }); - - it("should only return gender", async () => { - const { readableData } = await setupVcAndDiscloseTest(['5']); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal('M'); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(0n); - }); - - it("should only return expiry date", async () => { - const { readableData } = await setupVcAndDiscloseTest(['6']); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal('31-10-40'); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(0n); - }); - - it("should only return older than", async () => { - const { readableData } = await setupVcAndDiscloseTest(['7']); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(20n); - expect(readableData[8]).to.equal(0n); - }); - - it("should only return ofac", async () => { - const { readableData } = await setupVcAndDiscloseTest(['8', '9', '10']); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(1n); - expect(readableData[9]).to.equal(1n); - expect(readableData[10]).to.equal(1n); - }); - - it("should fail when revealed data type is invalid", async () => { - const {hub} = deployedActors; - let revealedDataPacked = [BigInt(0), BigInt(0), BigInt(0)]; - for (let i = 0; i < 3; i++) { - revealedDataPacked[i] = BigInt(vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_REVEALED_DATA_PACKED_INDEX + i]); - }; - await expect( - hub.getReadableRevealedData( - revealedDataPacked as [BigNumberish, BigNumberish, BigNumberish], - ["11"] - ) - ).to.be.reverted; - }); - - it("should return nothing", async () => { - const { readableData } = await setupVcAndDiscloseTest([]); - expect(readableData[0]).to.equal(''); - expect(readableData[1]).to.deep.equal([]); - expect(readableData[2]).to.equal(''); - expect(readableData[3]).to.equal(''); - expect(readableData[4]).to.equal(''); - expect(readableData[5]).to.equal(''); - expect(readableData[6]).to.equal(''); - expect(readableData[7]).to.equal(0n); - expect(readableData[8]).to.equal(0n); - }); - - it("should parse forbidden countries with CircuitAttributeHandler", async () => { - const { hub } = deployedActors; - - const forbiddenCountriesListPacked = splitHexFromBack(reverseCountryBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList))))); - const readableForbiddenCountries = await hub.getReadableForbiddenCountries(forbiddenCountriesListPacked); - - expect(readableForbiddenCountries[0]).to.equal(forbiddenCountriesList[0]); - expect(readableForbiddenCountries[1]).to.equal(forbiddenCountriesList[1]); - expect(readableForbiddenCountries[2]).to.equal(forbiddenCountriesList[2]); - }); - - it("should return maximum length of forbidden countries", async () => { - const { hub } = deployedActors; - - const forbiddenCountriesList = ['AAA', 'FRA', 'CBA', 'CBA', 'CBA', 'CBA', 'CBA', 'CBA', 'CBA', 'CBA']; - const forbiddenCountriesListPacked = splitHexFromBack(reverseCountryBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList))))); - const readableForbiddenCountries = await hub.getReadableForbiddenCountries(forbiddenCountriesListPacked); - expect(readableForbiddenCountries.length).to.equal(40); - expect(readableForbiddenCountries[0]).to.equal(forbiddenCountriesList[0]); - expect(readableForbiddenCountries[1]).to.equal(forbiddenCountriesList[1]); - expect(readableForbiddenCountries[2]).to.equal(forbiddenCountriesList[2]); - expect(readableForbiddenCountries[3]).to.equal(forbiddenCountriesList[3]); - expect(readableForbiddenCountries[4]).to.equal(forbiddenCountriesList[4]); - expect(readableForbiddenCountries[5]).to.equal(forbiddenCountriesList[5]); - expect(readableForbiddenCountries[6]).to.equal(forbiddenCountriesList[6]); - expect(readableForbiddenCountries[7]).to.equal(forbiddenCountriesList[7]); - expect(readableForbiddenCountries[8]).to.equal(forbiddenCountriesList[8]); - expect(readableForbiddenCountries[9]).to.equal(forbiddenCountriesList[9]); - }); - - it("should fail when getReadableForbiddenCountries is called by non-proxy", async () => { - const {hubImpl} = deployedActors; - const forbiddenCountriesList = ['AAA', 'FRA', 'CBA', 'CBA', 'CBA', 'CBA', 'CBA', 'CBA', 'CBA', 'CBA']; - const forbiddenCountriesListPacked = splitHexFromBack(reverseCountryBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList))))); - await expect( - hubImpl.getReadableForbiddenCountries(forbiddenCountriesListPacked) - ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - }); - -}); \ No newline at end of file + } + await expect( + hub.getReadableRevealedData(revealedDataPacked as [BigNumberish, BigNumberish, BigNumberish], ["11"]), + ).to.be.reverted; + }); + + it("should return nothing", async () => { + const { readableData } = await setupVcAndDiscloseTest([]); + expect(readableData[0]).to.equal(""); + expect(readableData[1]).to.deep.equal([]); + expect(readableData[2]).to.equal(""); + expect(readableData[3]).to.equal(""); + expect(readableData[4]).to.equal(""); + expect(readableData[5]).to.equal(""); + expect(readableData[6]).to.equal(""); + expect(readableData[7]).to.equal(0n); + expect(readableData[8]).to.equal(0n); + }); + + it("should parse forbidden countries with CircuitAttributeHandler", async () => { + const { hub } = deployedActors; + + const forbiddenCountriesListPacked = splitHexFromBack( + reverseCountryBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList)))), + ); + const readableForbiddenCountries = await hub.getReadableForbiddenCountries(forbiddenCountriesListPacked); + + expect(readableForbiddenCountries[0]).to.equal(forbiddenCountriesList[0]); + expect(readableForbiddenCountries[1]).to.equal(forbiddenCountriesList[1]); + expect(readableForbiddenCountries[2]).to.equal(forbiddenCountriesList[2]); + }); + + it("should return maximum length of forbidden countries", async () => { + const { hub } = deployedActors; + + const forbiddenCountriesList = ["AAA", "FRA", "CBA", "CBA", "CBA", "CBA", "CBA", "CBA", "CBA", "CBA"]; + const forbiddenCountriesListPacked = splitHexFromBack( + reverseCountryBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList)))), + ); + const readableForbiddenCountries = await hub.getReadableForbiddenCountries(forbiddenCountriesListPacked); + expect(readableForbiddenCountries.length).to.equal(40); + expect(readableForbiddenCountries[0]).to.equal(forbiddenCountriesList[0]); + expect(readableForbiddenCountries[1]).to.equal(forbiddenCountriesList[1]); + expect(readableForbiddenCountries[2]).to.equal(forbiddenCountriesList[2]); + expect(readableForbiddenCountries[3]).to.equal(forbiddenCountriesList[3]); + expect(readableForbiddenCountries[4]).to.equal(forbiddenCountriesList[4]); + expect(readableForbiddenCountries[5]).to.equal(forbiddenCountriesList[5]); + expect(readableForbiddenCountries[6]).to.equal(forbiddenCountriesList[6]); + expect(readableForbiddenCountries[7]).to.equal(forbiddenCountriesList[7]); + expect(readableForbiddenCountries[8]).to.equal(forbiddenCountriesList[8]); + expect(readableForbiddenCountries[9]).to.equal(forbiddenCountriesList[9]); + }); + + it("should fail when getReadableForbiddenCountries is called by non-proxy", async () => { + const { hubImpl } = deployedActors; + const forbiddenCountriesList = ["AAA", "FRA", "CBA", "CBA", "CBA", "CBA", "CBA", "CBA", "CBA", "CBA"]; + const forbiddenCountriesListPacked = splitHexFromBack( + reverseCountryBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList)))), + ); + await expect(hubImpl.getReadableForbiddenCountries(forbiddenCountriesListPacked)).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + }); +}); diff --git a/contracts/test/integration/verifyAll.test.ts b/contracts/test/integration/verifyAll.test.ts index 21a1a8e48..ef6df0466 100644 --- a/contracts/test/integration/verifyAll.test.ts +++ b/contracts/test/integration/verifyAll.test.ts @@ -17,581 +17,505 @@ import { Groth16Proof, PublicSignals, groth16 } from "snarkjs"; import { VcAndDiscloseProof } from "../utils/types"; describe("VerifyAll", () => { - let deployedActors: DeployedActors; - let verifyAll: VerifyAll; - let snapshotId: string; - let baseVcAndDiscloseProof: any; - let vcAndDiscloseProof: any; - let registerSecret: any; - let imt: any; - let commitment: any; - let nullifier: any; - let forbiddenCountriesList: string[]; - let invalidForbiddenCountriesList: string[]; - let forbiddenCountriesListPacked: string[]; - let invalidForbiddenCountriesListPacked: string[]; - - before(async () => { - deployedActors = await deploySystemFixtures(); - const VerifyAllFactory = await ethers.getContractFactory("VerifyAll"); - verifyAll = await VerifyAllFactory.deploy( - deployedActors.hub.getAddress(), - deployedActors.registry.getAddress() + let deployedActors: DeployedActors; + let verifyAll: VerifyAll; + let snapshotId: string; + let baseVcAndDiscloseProof: any; + let vcAndDiscloseProof: any; + let registerSecret: any; + let imt: any; + let commitment: any; + let nullifier: any; + let forbiddenCountriesList: string[]; + let invalidForbiddenCountriesList: string[]; + let forbiddenCountriesListPacked: string[]; + let invalidForbiddenCountriesListPacked: string[]; + + before(async () => { + deployedActors = await deploySystemFixtures(); + const VerifyAllFactory = await ethers.getContractFactory("VerifyAll"); + verifyAll = await VerifyAllFactory.deploy(deployedActors.hub.getAddress(), deployedActors.registry.getAddress()); + + registerSecret = generateRandomFieldElement(); + nullifier = generateRandomFieldElement(); + commitment = generateCommitment(registerSecret, ATTESTATION_ID.E_PASSPORT, deployedActors.mockPassport); + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + imt = new LeanIMT(hashFunction); + await imt.insert(BigInt(commitment)); + + forbiddenCountriesList = [ + "AAA", + "ABC", + "CBA", + "AAA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + "AAA", + "ABC", + "CBA", + ]; + const wholePacked = reverseBytes( + Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList))), + ); + forbiddenCountriesListPacked = splitHexFromBack(wholePacked); + + invalidForbiddenCountriesList = ["AAA", "ABC", "CBA", "CBA"]; + const invalidWholePacked = reverseBytes( + Formatter.bytesToHexString(new Uint8Array(formatCountriesList(invalidForbiddenCountriesList))), + ); + invalidForbiddenCountriesListPacked = splitHexFromBack(invalidWholePacked); + + baseVcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.E_PASSPORT).toString(), + deployedActors.mockPassport, + "test-scope", + new Array(88).fill("1"), + "1", + imt, + "20", + undefined, + undefined, + undefined, + undefined, + forbiddenCountriesList, + (await deployedActors.user1.getAddress()).slice(2), + ); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + beforeEach(async () => { + vcAndDiscloseProof = structuredClone(baseVcAndDiscloseProof); + }); + + afterEach(async () => { + await ethers.provider.send("evm_revert", [snapshotId]); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + describe("verifyAll", () => { + it("should verify and get result successfully", async () => { + const { registry, owner } = deployedActors; + + const tx = await registry + .connect(owner) + .devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + const receipt = (await tx.wait()) as any; + const timestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]; // Example types + const [readableData, success] = await verifyAll.verifyAll(timestamp, vcAndDiscloseHubProof, types); + + expect(success).to.be.true; + expect(readableData.name).to.not.be.empty; + }); + + it("should verify and get result successfully with out timestamp verification", async () => { + const { registry, owner } = deployedActors; + + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; // Example types + const [readableData, success] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.true; + expect(readableData.name).to.not.be.empty; + }); + + it("should return empty result when verification fails", async () => { + const { registry, owner } = deployedActors; + + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX] = generateRandomFieldElement(); + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(readableData.name).to.be.empty; + }); + + it("should fail with invalid root timestamp", async () => { + const { registry, owner } = deployedActors; + + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success] = await verifyAll.verifyAll(123456, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(readableData.name).to.be.empty; + }); + + describe("Error Handling", () => { + it("should return error code 'INVALID_VC_AND_DISCLOSE_PROOF' when proof is invalid", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + vcAndDiscloseProof.a[0] = generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: false, + olderThan: "20", + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, false, false], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_VC_AND_DISCLOSE_PROOF"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'CURRENT_DATE_NOT_IN_VALID_RANGE' when date is invalid", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX] = 0; + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("CURRENT_DATE_NOT_IN_VALID_RANGE"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'INVALID_OLDER_THAN' when age check fails", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "21", // Higher than the age in proof + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, false, false], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_OLDER_THAN"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'INVALID_OFAC' when OFAC check fails", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + const { passportNo_smt, nameAndDob_smt, nameAndYob_smt } = getSMTs(); + + vcAndDiscloseProof = await generateVcAndDiscloseProof( + registerSecret, + BigInt(ATTESTATION_ID.E_PASSPORT).toString(), + deployedActors.mockPassport, + "test-scope", + new Array(88).fill("1"), + "1", + imt, + "20", + passportNo_smt, + nameAndDob_smt, + nameAndYob_smt, + "0", ); - registerSecret = generateRandomFieldElement(); - nullifier = generateRandomFieldElement(); - commitment = generateCommitment(registerSecret, ATTESTATION_ID.E_PASSPORT, deployedActors.mockPassport); - - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - imt = new LeanIMT(hashFunction); - await imt.insert(BigInt(commitment)); - - forbiddenCountriesList = ['AAA', 'ABC', 'CBA', 'AAA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA','AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA','AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA','AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA', 'AAA', 'ABC', 'CBA']; - const wholePacked = reverseBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(forbiddenCountriesList)))); - forbiddenCountriesListPacked = splitHexFromBack(wholePacked); - - invalidForbiddenCountriesList = ['AAA', 'ABC', 'CBA', 'CBA']; - const invalidWholePacked = reverseBytes(Formatter.bytesToHexString(new Uint8Array(formatCountriesList(invalidForbiddenCountriesList)))); - invalidForbiddenCountriesListPacked = splitHexFromBack(invalidWholePacked); - - baseVcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.E_PASSPORT).toString(), - deployedActors.mockPassport, - "test-scope", - new Array(88).fill("1"), - "1", - imt, - "20", - undefined, - undefined, - undefined, - undefined, - forbiddenCountriesList, - (await deployedActors.user1.getAddress()).slice(2) + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: false, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + console.log("return values"); + console.log("readable data: ", readableData); + console.log("success: ", success); + console.log("errorCode: ", errorCode); + + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_OFAC"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'INVALID_FORBIDDEN_COUNTRIES' when countries check fails", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: invalidForbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_FORBIDDEN_COUNTRIES"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'INVALID_TIMESTAMP' when root timestamp doesn't match", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll( + 123456, // Invalid timestamp + vcAndDiscloseHubProof, + types, ); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - beforeEach(async () => { - vcAndDiscloseProof = structuredClone(baseVcAndDiscloseProof); + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_TIMESTAMP"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'INVALID_OFAC_ROOT' when passport number OFAC root is invalid", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_PASSPORT_NO_SMT_ROOT_INDEX] = + generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_OFAC_ROOT"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'INVALID_OFAC_ROOT' when name and dob OFAC root is invalid", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NAME_DOB_SMT_ROOT_INDEX] = + generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, true, false], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_OFAC_ROOT"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'INVALID_OFAC_ROOT' when name and yob OFAC root is invalid", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX] = + generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [false, false, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_OFAC_ROOT"); + expect(readableData.name).to.be.empty; + }); }); + }); - afterEach(async () => { - await ethers.provider.send("evm_revert", [snapshotId]); - snapshotId = await ethers.provider.send("evm_snapshot", []); + describe("admin functions", () => { + it("should allow owner to set new hub address", async () => { + const newHubAddress = await deployedActors.user1.getAddress(); + await verifyAll.setHub(newHubAddress); }); - describe("verifyAll", () => { - it("should verify and get result successfully", async () => { - const {registry, owner} = deployedActors; - - const tx = await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - const receipt = await tx.wait() as any; - const timestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']; // Example types - const [readableData, success] = await verifyAll.verifyAll( - timestamp, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.true; - expect(readableData.name).to.not.be.empty; - - }); - - it("should verify and get result successfully with out timestamp verification", async () => { - const {registry, owner} = deployedActors; - - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ['0', '1', '2']; // Example types - const [readableData, success] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.true; - expect(readableData.name).to.not.be.empty; - - }); - - it("should return empty result when verification fails", async () => { - const {registry, owner} = deployedActors; - - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_MERKLE_ROOT_INDEX] = generateRandomFieldElement(); - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ['0', '1', '2']; - const [readableData, success] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(readableData.name).to.be.empty; - - }); - - it("should fail with invalid root timestamp", async () => { - const {registry, owner} = deployedActors; - - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ['0', '1', '2']; - const [readableData, success] = await verifyAll.verifyAll( - 123456, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(readableData.name).to.be.empty; - }); - - describe("Error Handling", () => { - it("should return error code 'INVALID_VC_AND_DISCLOSE_PROOF' when proof is invalid", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - vcAndDiscloseProof.a[0] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: false, - olderThan: "20", - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, false, false], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_VC_AND_DISCLOSE_PROOF"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'CURRENT_DATE_NOT_IN_VALID_RANGE' when date is invalid", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX] = 0; - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("CURRENT_DATE_NOT_IN_VALID_RANGE"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'INVALID_OLDER_THAN' when age check fails", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "21", // Higher than the age in proof - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, false, false], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_OLDER_THAN"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'INVALID_OFAC' when OFAC check fails", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - const { - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt - } = getSMTs(); - - vcAndDiscloseProof = await generateVcAndDiscloseProof( - registerSecret, - BigInt(ATTESTATION_ID.E_PASSPORT).toString(), - deployedActors.mockPassport, - "test-scope", - new Array(88).fill("1"), - "1", - imt, - "20", - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt, - "0" - ); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: false, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - console.log("return values"); - console.log("readable data: ", readableData); - console.log("success: ", success); - console.log("errorCode: ", errorCode); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_OFAC"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'INVALID_FORBIDDEN_COUNTRIES' when countries check fails", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: invalidForbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_FORBIDDEN_COUNTRIES"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'INVALID_TIMESTAMP' when root timestamp doesn't match", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 123456, // Invalid timestamp - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_TIMESTAMP"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'INVALID_OFAC_ROOT' when passport number OFAC root is invalid", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_PASSPORT_NO_SMT_ROOT_INDEX] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_OFAC_ROOT"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'INVALID_OFAC_ROOT' when name and dob OFAC root is invalid", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NAME_DOB_SMT_ROOT_INDEX] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, true, false], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_OFAC_ROOT"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'INVALID_OFAC_ROOT' when name and yob OFAC root is invalid", async () => { - const {registry, owner} = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [false, false, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_OFAC_ROOT"); - expect(readableData.name).to.be.empty; - }); - }); + it("should allow owner to set new registry address", async () => { + const newRegistryAddress = await deployedActors.user1.getAddress(); + await verifyAll.setRegistry(newRegistryAddress); }); - describe("admin functions", () => { - it("should allow owner to set new hub address", async () => { - const newHubAddress = await deployedActors.user1.getAddress(); - await verifyAll.setHub(newHubAddress); - }); - - it("should allow owner to set new registry address", async () => { - const newRegistryAddress = await deployedActors.user1.getAddress(); - await verifyAll.setRegistry(newRegistryAddress); - }); - - it("should not allow non-owner to set new hub address", async () => { - const newHubAddress = await deployedActors.user1.getAddress(); - await expect( - verifyAll.connect(deployedActors.user1).setHub(newHubAddress) - ).to.be.revertedWithCustomError(verifyAll, "OwnableUnauthorizedAccount"); - }); - - it("should not allow non-owner to set new registry address", async () => { - const newRegistryAddress = await deployedActors.user1.getAddress(); - await expect( - verifyAll.connect(deployedActors.user1).setRegistry(newRegistryAddress) - ).to.be.revertedWithCustomError(verifyAll, "OwnableUnauthorizedAccount"); - }); + it("should not allow non-owner to set new hub address", async () => { + const newHubAddress = await deployedActors.user1.getAddress(); + await expect(verifyAll.connect(deployedActors.user1).setHub(newHubAddress)).to.be.revertedWithCustomError( + verifyAll, + "OwnableUnauthorizedAccount", + ); }); - describe("VerifyAll (Custom Error Handling)", () => { - it("should return error code 'INVALID_VC_AND_DISCLOSE_PROOF' when vcAndDisclose proof is invalid", async () => { - const { registry, owner } = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - vcAndDiscloseProof.a[0] = generateRandomFieldElement(); - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("INVALID_VC_AND_DISCLOSE_PROOF"); - expect(readableData.name).to.be.empty; - }); - - it("should return error code 'CURRENT_DATE_NOT_IN_VALID_RANGE' when current date is out of range", async () => { - const { registry, owner } = deployedActors; - await registry.connect(owner).devAddIdentityCommitment( - ATTESTATION_ID.E_PASSPORT, - nullifier, - commitment - ); - - vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX] = 0; - - const vcAndDiscloseHubProof = { - olderThanEnabled: true, - olderThan: "20", - forbiddenCountriesEnabled: true, - forbiddenCountriesListPacked: forbiddenCountriesListPacked, - ofacEnabled: [true, true, true], - vcAndDiscloseProof: vcAndDiscloseProof - }; - - const types = ["0", "1", "2"]; - const [readableData, success, errorCode] = await verifyAll.verifyAll( - 0, - vcAndDiscloseHubProof, - types - ); - - expect(success).to.be.false; - expect(errorCode).to.equal("CURRENT_DATE_NOT_IN_VALID_RANGE"); - expect(readableData.name).to.be.empty; - }); + it("should not allow non-owner to set new registry address", async () => { + const newRegistryAddress = await deployedActors.user1.getAddress(); + await expect( + verifyAll.connect(deployedActors.user1).setRegistry(newRegistryAddress), + ).to.be.revertedWithCustomError(verifyAll, "OwnableUnauthorizedAccount"); }); + }); + + describe("VerifyAll (Custom Error Handling)", () => { + it("should return error code 'INVALID_VC_AND_DISCLOSE_PROOF' when vcAndDisclose proof is invalid", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + vcAndDiscloseProof.a[0] = generateRandomFieldElement(); + + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("INVALID_VC_AND_DISCLOSE_PROOF"); + expect(readableData.name).to.be.empty; + }); + + it("should return error code 'CURRENT_DATE_NOT_IN_VALID_RANGE' when current date is out of range", async () => { + const { registry, owner } = deployedActors; + await registry.connect(owner).devAddIdentityCommitment(ATTESTATION_ID.E_PASSPORT, nullifier, commitment); + + vcAndDiscloseProof.pubSignals[CIRCUIT_CONSTANTS.VC_AND_DISCLOSE_CURRENT_DATE_INDEX] = 0; + const vcAndDiscloseHubProof = { + olderThanEnabled: true, + olderThan: "20", + forbiddenCountriesEnabled: true, + forbiddenCountriesListPacked: forbiddenCountriesListPacked, + ofacEnabled: [true, true, true], + vcAndDiscloseProof: vcAndDiscloseProof, + }; + + const types = ["0", "1", "2"]; + const [readableData, success, errorCode] = await verifyAll.verifyAll(0, vcAndDiscloseHubProof, types); + + expect(success).to.be.false; + expect(errorCode).to.equal("CURRENT_DATE_NOT_IN_VALID_RANGE"); + expect(readableData.name).to.be.empty; + }); + }); }); diff --git a/contracts/test/sdk/sdkCore.test.ts b/contracts/test/sdk/sdkCore.test.ts index d0e7e949d..cd4527eeb 100644 --- a/contracts/test/sdk/sdkCore.test.ts +++ b/contracts/test/sdk/sdkCore.test.ts @@ -53,7 +53,7 @@ // registerSecret = generateRandomFieldElement(); // nullifier = generateRandomFieldElement(); // commitment = generateCommitment(registerSecret, ATTESTATION_ID.E_PASSPORT, deployedActors.mockPassport); - + // const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); // imt = new LeanIMT(hashFunction); // await imt.insert(BigInt(commitment)); @@ -190,4 +190,4 @@ // expect(result.isValid).to.be.false; // expect(result.isValidDetails.isValidNationality).to.be.false; // }); -// }); \ No newline at end of file +// }); diff --git a/contracts/test/unit/CircuitAttributeHandler.test.ts b/contracts/test/unit/CircuitAttributeHandler.test.ts index 768c67d5b..dbb907ddc 100644 --- a/contracts/test/unit/CircuitAttributeHandler.test.ts +++ b/contracts/test/unit/CircuitAttributeHandler.test.ts @@ -4,198 +4,192 @@ import { TestCircuitAttributeHandler } from "../../typechain-types"; import { CircuitAttributeHandler } from "../utils/formatter"; describe("CircuitAttributeHandler", function () { - let testHandler: TestCircuitAttributeHandler; - - before(async function () { - const TestHandlerFactory = await ethers.getContractFactory("TestCircuitAttributeHandler"); - testHandler = await TestHandlerFactory.deploy(); - await testHandler.waitForDeployment(); + let testHandler: TestCircuitAttributeHandler; + + before(async function () { + const TestHandlerFactory = await ethers.getContractFactory("TestCircuitAttributeHandler"); + testHandler = await TestHandlerFactory.deploy(); + await testHandler.waitForDeployment(); + }); + + const mrz = ethers.toUtf8Bytes( + "P CircuitAttributeHandler.extractStringAttribute(shortMRZ, 0, 5)).to.throw( + "INSUFFICIENT_CHARCODE_LEN", + ); }); - describe("extractStringAttribute", function () { - it("should match contract and ts implementation for different positions", async function () { - const testCases = [ - { start: 2, end: 4, expected: "UTO" }, - { start: 44, end: 52, expected: "L898902C3" }, - { start: 54, end: 56, expected: "UTO" }, - { start: 64, end: 64, expected: "F" } - ]; - - for (const testCase of testCases) { - const contractResult = await testHandler.testExtractStringAttribute( - sampleMRZ, - testCase.start, - testCase.end - ); - const tsResult = CircuitAttributeHandler.extractStringAttribute( - sampleMRZ, - testCase.start, - testCase.end - ); - expect(contractResult).to.equal(tsResult); - expect(contractResult).to.equal(testCase.expected); - } - }); - - it("should handle errors consistently between contract and ts", async function () { - const shortMRZ = ethers.toUtf8Bytes("ABC"); - await expect(testHandler.testExtractStringAttribute(shortMRZ, 0, 5)) - .to.be.revertedWithCustomError(testHandler, "INSUFFICIENT_CHARCODE_LEN"); - - expect(() => CircuitAttributeHandler.extractStringAttribute(shortMRZ, 0, 5)) - .to.throw("INSUFFICIENT_CHARCODE_LEN"); - }); - - it("should match contract and ts implementation for empty range", async function () { - const contractResult = await testHandler.testExtractStringAttribute(sampleMRZ, 2, 2); - const tsResult = CircuitAttributeHandler.extractStringAttribute(sampleMRZ, 2, 2); - expect(contractResult).to.equal(tsResult); - expect(contractResult).to.equal("U"); - }); + it("should match contract and ts implementation for empty range", async function () { + const contractResult = await testHandler.testExtractStringAttribute(sampleMRZ, 2, 2); + const tsResult = CircuitAttributeHandler.extractStringAttribute(sampleMRZ, 2, 2); + expect(contractResult).to.equal(tsResult); + expect(contractResult).to.equal("U"); }); -}); \ No newline at end of file + }); +}); diff --git a/contracts/test/unit/IdentityRegistry.test.ts b/contracts/test/unit/IdentityRegistry.test.ts index adee3ca63..20270c5a6 100644 --- a/contracts/test/unit/IdentityRegistry.test.ts +++ b/contracts/test/unit/IdentityRegistry.test.ts @@ -8,885 +8,967 @@ import { LeanIMT } from "@openpassport/zk-kit-lean-imt"; import { poseidon2 } from "poseidon-lite"; describe("Unit Tests for IdentityRegistry", () => { - let deployedActors: DeployedActors; - let snapshotId: string; - - before(async () => { - deployedActors = await deploySystemFixtures(); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - afterEach(async () => { - await ethers.provider.send("evm_revert", [snapshotId]); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - describe("Initialization", () => { - it("should initialize registry with correct hub address", async () => { - const {registry, hub} = deployedActors; - expect(await registry.hub()).to.equal(hub.target); - - const initializedFiler = registry.filters.RegistryInitialized; - const events = await registry.queryFilter(initializedFiler); - expect(events.length).to.equal(1); - expect(events[0].args.hub).to.equal(ZeroAddress); - const updatedFiler = registry.filters.HubUpdated; - const updatedEvents = await registry.queryFilter(updatedFiler); - expect(updatedEvents.length).to.equal(1); - expect(updatedEvents[0].args.hub).to.equal(hub.target); - }); - - - it("should not allow direct initialization of registry implementation", async () => { - const {owner, hub} = deployedActors; - - const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); - const poseidonT3 = await PoseidonT3Factory.deploy(); - await poseidonT3.waitForDeployment(); - - const RegistryFactory = await ethers.getContractFactory( - "IdentityRegistryImplV1", - { - libraries: { - PoseidonT3: poseidonT3.target - } - }, - owner - ); - const registryImpl = await RegistryFactory.deploy(); - - await expect( - registryImpl.initialize(hub.target) - ).to.be.revertedWithCustomError(registryImpl, "InvalidInitialization"); - }); - - it("should not allow initialization after initialized", async () => { - const { registry, hub } = deployedActors; - - await expect( - registry.initialize(hub.target) - ).to.be.revertedWithCustomError(registry, "InvalidInitialization"); - }); - }); - - describe("View functions", () => { - it("should return hub address", async () => { - const {hub, registry} = deployedActors; - expect(await registry.hub()).to.equal(hub.target); - }); - - it("should fail if hub is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - await expect(registryImpl.connect(user1).hub()).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return nullifier state", async () => { - const {registry} = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - await registry.devChangeNullifierState(attestationId, nullifier, true); - const state = await registry.nullifiers(attestationId, nullifier); - expect(state).to.equal(true); - }); - - it("should fail if nullifier is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).nullifiers(attestationId, nullifier)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return dsc key commitment state", async () => { - const {registry} = deployedActors; - const dscCommitment = generateRandomFieldElement(); - const state = true; - await registry.devChangeDscKeyCommitmentState(dscCommitment, state); - const dscKeyCommitmentState = await registry.isRegisteredDscKeyCommitment(dscCommitment); - expect(dscKeyCommitmentState).to.equal(state); - }); - - it("should fail if dsc key commitment state is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - const dscCommitment = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).isRegisteredDscKeyCommitment(dscCommitment)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return root timestamp", async () => { - const {registry} = deployedActors; - const commitment = generateRandomFieldElement(); - const timestamp = (await ethers.provider.getBlock("latest"))!.timestamp; - const tx = await registry.devAddIdentityCommitment(commitment, timestamp, generateRandomFieldElement()); - const receipt = await tx.wait() as TransactionReceipt; - const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; - const root = await registry.getIdentityCommitmentMerkleRoot(); - const rootTimestamp = await registry.rootTimestamps(root); - expect(rootTimestamp).to.equal(blockTimestamp); - }); - - it("should fail if root timestamp is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - const root = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).rootTimestamps(root)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return true if checkIdentityCommitmentRoot is called with valid root", async () => { - const {registry} = deployedActors; - const commitment = generateRandomFieldElement(); - const timestamp = (await ethers.provider.getBlock("latest"))!.timestamp; - await registry.devAddIdentityCommitment(commitment, timestamp, generateRandomFieldElement()); - const root = await registry.getIdentityCommitmentMerkleRoot(); - expect(await registry.checkIdentityCommitmentRoot(root)).to.equal(true); - }); - - it("should return false if checkIdentityCommitmentRoot is called with invalid root", async () => { - const {registry} = deployedActors; - const commitment = generateRandomFieldElement(); - const timestamp = (await ethers.provider.getBlock("latest"))!.timestamp; - await registry.devAddIdentityCommitment(commitment, timestamp, generateRandomFieldElement()); - const root = generateRandomFieldElement(); - expect(await registry.checkIdentityCommitmentRoot(root)).to.equal(false); - }); - - it("should fail if checkIdentityCommitmentRoot is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - const root = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).checkIdentityCommitmentRoot(root)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return identity commitment merkle tree size", async () => { - const {registry} = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const size = await registry.getIdentityCommitmentMerkleTreeSize(); - expect(size).to.equal(1); - }); - - it("should fail if identity commitment merkle tree size is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - await expect(registryImpl.connect(user1).getIdentityCommitmentMerkleTreeSize()).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return identity commitment merkle root", async () => { - const {registry} = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const root = await registry.getIdentityCommitmentMerkleRoot(); - - const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); - const imt = new LeanIMT(hashFunction); - imt.insert(BigInt(commitment)); - expect(imt.root).to.equal(root); - }); - - it("should fail if identity commitment merkle root is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - await expect(registryImpl.connect(user1).getIdentityCommitmentMerkleRoot()).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return identity commitment index", async () => { - const {registry} = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const index = await registry.getIdentityCommitmentIndex(commitment); - expect(index).to.equal(0); - }); - - it("should fail if identity commitment index is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - const commitment = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).getIdentityCommitmentIndex(commitment)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return passport number OFAC root", async () => { - const {registry, owner} = deployedActors; - const root = generateRandomFieldElement(); - await registry.connect(owner).updatePassportNoOfacRoot(root); - const ofacRoot = await registry.getPassportNoOfacRoot(); - expect(ofacRoot).to.equal(root); - }); - - it("should return name and DOB OFAC root", async () => { - const {registry, owner} = deployedActors; - const root = generateRandomFieldElement(); - await registry.connect(owner).updateNameAndDobOfacRoot(root); - const ofacRoot = await registry.getNameAndDobOfacRoot(); - expect(ofacRoot).to.equal(root); - }); - - it("should return name and YOB OFAC root", async () => { - const {registry, owner} = deployedActors; - const root = generateRandomFieldElement(); - await registry.connect(owner).updateNameAndYobOfacRoot(root); - const ofacRoot = await registry.getNameAndYobOfacRoot(); - expect(ofacRoot).to.equal(root); - }); - - it("should fail if passport number OFAC root is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - await expect(registryImpl.connect(user1).getPassportNoOfacRoot()) - .to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should fail if name and DOB OFAC root is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - await expect(registryImpl.connect(user1).getNameAndDobOfacRoot()) - .to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should fail if name and YOB OFAC root is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - await expect(registryImpl.connect(user1).getNameAndYobOfacRoot()) - .to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return true if checkOfacRoots is called with valid roots", async () => { - const {registry, owner} = deployedActors; - const passportRoot = generateRandomFieldElement(); - const dobRoot = generateRandomFieldElement(); - const yobRoot = generateRandomFieldElement(); - await registry.connect(owner).updatePassportNoOfacRoot(passportRoot); - await registry.connect(owner).updateNameAndDobOfacRoot(dobRoot); - await registry.connect(owner).updateNameAndYobOfacRoot(yobRoot); - expect(await registry.checkOfacRoots(passportRoot, dobRoot, yobRoot)).to.equal(true); - }); - - it("should return false if checkOfacRoots is called with invalid roots", async () => { - const {registry} = deployedActors; - const passportRoot = generateRandomFieldElement(); - const dobRoot = generateRandomFieldElement(); - const yobRoot = generateRandomFieldElement(); - expect(await registry.checkOfacRoots(passportRoot, dobRoot, yobRoot)).to.equal(false); - }); - - it("should fail if checkOfacRoots is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - const passportRoot = generateRandomFieldElement(); - const dobRoot = generateRandomFieldElement(); - const yobRoot = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).checkOfacRoots(passportRoot, dobRoot, yobRoot)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return csca root", async () => { - const {registry, owner} = deployedActors; - const root = generateRandomFieldElement(); - await registry.connect(owner).updateCscaRoot(root); - const cscaRoot = await registry.getCscaRoot(); - expect(cscaRoot).to.equal(root); - }); - - it("should fail if csca root is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - await expect(registryImpl.connect(user1).getCscaRoot()).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return true if checkCscaRoot is called with valid root", async () => { - const {registry, owner} = deployedActors; - const root = generateRandomFieldElement(); - await registry.connect(owner).updateCscaRoot(root); - expect(await registry.checkCscaRoot(root)).to.equal(true); - }); - - it("should return false if checkCscaRoot is called with invalid root", async () => { - const {registry} = deployedActors; - const root = generateRandomFieldElement(); - expect(await registry.checkCscaRoot(root)).to.equal(false); - }); - - it("should fail if checkCscaRoot is called by non-proxy", async () => { - const {registryImpl, user1} = deployedActors; - const root = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).checkCscaRoot(root)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - - }) - - describe("Update functions", () => { - it("should update hub address", async () => { - const { registry, user1 } = deployedActors; - const newHubAddress = await user1.getAddress(); - - await expect(registry.updateHub(newHubAddress)) - .to.emit(registry, "HubUpdated") - .withArgs(newHubAddress); - - expect(await registry.hub()).to.equal(newHubAddress); - }); - - it("should not update hub address if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const newHubAddress = await user1.getAddress(); - - await expect(registry.connect(user1).updateHub(newHubAddress)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not update hub address if caller is not proxy", async () => { - const { registryImpl, user1 } = deployedActors; - const newHubAddress = await user1.getAddress(); - - await expect(registryImpl.connect(user1).updateHub(newHubAddress)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should update OFAC roots", async () => { - const { registry } = deployedActors; - const passportRoot = generateRandomFieldElement(); - const dobRoot = generateRandomFieldElement(); - const yobRoot = generateRandomFieldElement(); - - await expect(registry.updatePassportNoOfacRoot(passportRoot)) - .to.emit(registry, "PassportNoOfacRootUpdated") - .withArgs(passportRoot); - - await expect(registry.updateNameAndDobOfacRoot(dobRoot)) - .to.emit(registry, "NameAndDobOfacRootUpdated") - .withArgs(dobRoot); - - await expect(registry.updateNameAndYobOfacRoot(yobRoot)) - .to.emit(registry, "NameAndYobOfacRootUpdated") - .withArgs(yobRoot); - - expect(await registry.getPassportNoOfacRoot()).to.equal(passportRoot); - expect(await registry.getNameAndDobOfacRoot()).to.equal(dobRoot); - expect(await registry.getNameAndYobOfacRoot()).to.equal(yobRoot); - }); - - it("should not update OFAC root if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const passportRoot = generateRandomFieldElement(); - const dobRoot = generateRandomFieldElement(); - const yobRoot = generateRandomFieldElement(); - - await expect(registry.connect(user1).updatePassportNoOfacRoot(passportRoot)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - await expect(registry.connect(user1).updateNameAndDobOfacRoot(dobRoot)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - await expect(registry.connect(user1).updateNameAndYobOfacRoot(yobRoot)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not update OFAC root if caller is not proxy", async () => { - const { registryImpl, user1 } = deployedActors; - const passportRoot = generateRandomFieldElement(); - const dobRoot = generateRandomFieldElement(); - const yobRoot = generateRandomFieldElement(); - - await expect(registryImpl.connect(user1).updatePassportNoOfacRoot(passportRoot)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - await expect(registryImpl.connect(user1).updateNameAndDobOfacRoot(dobRoot)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - await expect(registryImpl.connect(user1).updateNameAndYobOfacRoot(yobRoot)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should update CSCA root", async () => { - const { registry } = deployedActors; - const newCscaRoot = generateRandomFieldElement(); - - await expect(registry.updateCscaRoot(newCscaRoot)) - .to.emit(registry, "CscaRootUpdated") - .withArgs(newCscaRoot); - - expect(await registry.getCscaRoot()).to.equal(newCscaRoot); - }); - - it("should not update CSCA root if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const newCscaRoot = generateRandomFieldElement(); - - await expect(registry.connect(user1).updateCscaRoot(newCscaRoot)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not update CSCA root if caller is not proxy", async () => { - const { registryImpl, user1 } = deployedActors; - const newCscaRoot = generateRandomFieldElement(); - - await expect(registryImpl.connect(user1).updateCscaRoot(newCscaRoot)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should be able to add commitment by owner", async () => { - const { registry } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - - const tx = await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const receipt = await tx.wait(); - const blockTimestamp = (await ethers.provider.getBlock("latest"))!.timestamp; - - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DevCommitmentRegistered").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DevCommitmentRegistered", - event.data, - event.topics - ) : null; - - const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); - const rootTimestamp = await registry.rootTimestamps(currentRoot); - - expect(eventArgs?.attestationId).to.equal(attestationId); - expect(eventArgs?.nullifier).to.equal(nullifier); - expect(eventArgs?.commitment).to.equal(commitment); - expect(eventArgs?.timestamp).to.equal(blockTimestamp); - expect(rootTimestamp).to.equal(blockTimestamp); - }); - - it("should not add commitment if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - - await expect(registry.connect(user1).devAddIdentityCommitment(attestationId, nullifier, commitment)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not add commitment if caller is not proxy", async () => { - const { registryImpl, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - - await expect(registryImpl.connect(user1).devAddIdentityCommitment(attestationId, nullifier, commitment)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should be able to update commitment by owner", async () => { - const { registry } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const newCommitment = generateRandomFieldElement(); - const tx = await registry.devUpdateCommitment(commitment, newCommitment, []); - const receipt = await tx.wait(); - const blockTimestamp = (await ethers.provider.getBlock("latest"))!.timestamp; - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DevCommitmentUpdated").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DevCommitmentUpdated", - event.data, - event.topics - ) : null; - - const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); - - expect(eventArgs?.oldLeaf).to.equal(commitment); - expect(eventArgs?.newLeaf).to.equal(newCommitment); - expect(eventArgs?.imtRoot).to.equal(currentRoot); - expect(eventArgs?.timestamp).to.equal(blockTimestamp); - }); - - it("should not update commitment if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const newCommitment = generateRandomFieldElement(); - await expect(registry.connect(user1).devUpdateCommitment(commitment, newCommitment, [])).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not update commitment if caller is not proxy", async () => { - const { registry, registryImpl, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const newCommitment = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).devUpdateCommitment(commitment, newCommitment, [])).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("able to remove commitment by owner", async () => { - const { registry, owner, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const tx = await registry.devRemoveCommitment(commitment, []); - const receipt = await tx.wait(); - const blockTimestamp = (await ethers.provider.getBlock("latest"))!.timestamp; - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DevCommitmentRemoved").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DevCommitmentRemoved", - event.data, - event.topics - ) : null; - - const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); - - expect(eventArgs?.oldLeaf).to.equal(commitment); - expect(eventArgs?.imtRoot).to.equal(currentRoot); - expect(eventArgs?.timestamp).to.equal(blockTimestamp); - }); - - it("should not remove commitment if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - await expect(registry.connect(user1).devRemoveCommitment(commitment, [])).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not remove commitment if caller is not proxy", async () => { - const { registry, registryImpl, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - await expect(registryImpl.connect(user1).devRemoveCommitment(commitment, [])).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should able to add dsc key commitment by owner", async () => { - const { registry } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - const tx = await registry.devAddDscKeyCommitment(dscCommitment); - const receipt = await tx.wait(); - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DevDscKeyCommitmentRegistered").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DevDscKeyCommitmentRegistered", - event.data, - event.topics - ) : null; - - const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); - const index = await registry.getDscKeyCommitmentIndex(dscCommitment); - expect(eventArgs?.commitment).to.equal(dscCommitment); - expect(eventArgs?.imtRoot).to.equal(currentRoot); - expect(eventArgs?.imtIndex).to.equal(index); - }); - - it("should not add dsc key commitment if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - await expect(registry.connect(user1).devAddDscKeyCommitment(dscCommitment)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not add dsc key commitment if caller is not proxy", async () => { - const { registryImpl, user1 } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).devAddDscKeyCommitment(dscCommitment)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should able to update dsc key commitment by owner", async () => { - const { registry } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - const newDscCommitment = generateRandomFieldElement(); - await registry.devAddDscKeyCommitment(dscCommitment); - const tx = await registry.devUpdateDscKeyCommitment(dscCommitment, newDscCommitment, []); - const receipt = await tx.wait(); - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DevDscKeyCommitmentUpdated").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DevDscKeyCommitmentUpdated", - event.data, - event.topics - ) : null; - - const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); - - expect(eventArgs?.oldLeaf).to.equal(dscCommitment); - expect(eventArgs?.newLeaf).to.equal(newDscCommitment); - expect(eventArgs?.imtRoot).to.equal(currentRoot); - }); - - it("should not update dsc key commitment if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - const newDscCommitment = generateRandomFieldElement(); - await registry.devAddDscKeyCommitment(dscCommitment); - await expect(registry.connect(user1).devUpdateDscKeyCommitment(dscCommitment, newDscCommitment, [])).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not update dsc key commitment if caller is not proxy", async () => { - const { registry, registryImpl, user1 } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - const newDscCommitment = generateRandomFieldElement(); - await registry.devAddDscKeyCommitment(dscCommitment); - await expect(registryImpl.connect(user1).devUpdateDscKeyCommitment(dscCommitment, newDscCommitment, [])).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should able to remove dsc key commitment by owner", async () => { - const { registry } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - await registry.devAddDscKeyCommitment(dscCommitment); - const tx = await registry.devRemoveDscKeyCommitment(dscCommitment, []); - const receipt = await tx.wait(); - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DevDscKeyCommitmentRemoved").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DevDscKeyCommitmentRemoved", - event.data, - event.topics - ) : null; - - const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); - - expect(eventArgs?.oldLeaf).to.equal(dscCommitment); - expect(eventArgs?.imtRoot).to.equal(currentRoot); - }); - - it("should not remove dsc key commitment if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - await registry.devAddDscKeyCommitment(dscCommitment); - await expect(registry.connect(user1).devRemoveDscKeyCommitment(dscCommitment, [])).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not remove dsc key commitment if caller is not proxy", async () => { - const { registry, registryImpl, user1 } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - await registry.devAddDscKeyCommitment(dscCommitment); - await expect(registryImpl.connect(user1).devRemoveDscKeyCommitment(dscCommitment, [])).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("able to change nullifier state by owner", async () => { - const { registry, owner, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - - const tx = await registry.devChangeNullifierState(attestationId, nullifier, false); - const receipt = await tx.wait() as TransactionReceipt; - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DevNullifierStateChanged").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DevNullifierStateChanged", - event.data, - event.topics - ) : null; - - const nullifierCheck = await registry.nullifiers(attestationId, nullifier); - expect(eventArgs?.attestationId).to.equal(attestationId); - expect(eventArgs?.nullifier).to.equal(nullifier); - expect(eventArgs?.state).to.equal(false); - expect(nullifierCheck).to.equal(false); - }); - - it("should not change nullifier state if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - await expect(registry.connect(user1).devChangeNullifierState(attestationId, nullifier, false)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not change nullifier state if caller is not proxy", async () => { - const { registryImpl, user1 } = deployedActors; - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - await expect(registryImpl.connect(user1).devChangeNullifierState(attestationId, nullifier, false)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("able to change dsc key commitment state by owner", async () => { - const { registry } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - const state = true; - const tx = await registry.devChangeDscKeyCommitmentState(dscCommitment, state); - const receipt = await tx.wait() as TransactionReceipt; - const event = receipt?.logs.find( - log => log.topics[0] === registry.interface.getEvent("DevDscKeyCommitmentStateChanged").topicHash - ); - const eventArgs = event ? registry.interface.decodeEventLog( - "DevDscKeyCommitmentStateChanged", - event.data, - event.topics - ) : null; - - expect(eventArgs?.commitment).to.equal(dscCommitment); - expect(eventArgs?.state).to.equal(state); - - const dscKeyCommitmentState = await registry.isRegisteredDscKeyCommitment(dscCommitment); - expect(dscKeyCommitmentState).to.equal(state); - }); - - it("should not change dsc key commitment state if caller is not owner", async () => { - const { registry, user1 } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - const state = true; - await expect(registry.connect(user1).devChangeDscKeyCommitmentState(dscCommitment, state)).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not change dsc key commitment state if caller is not proxy", async () => { - const { registryImpl, user1 } = deployedActors; - const dscCommitment = generateRandomFieldElement(); - const state = true; - await expect(registryImpl.connect(user1).devChangeDscKeyCommitmentState(dscCommitment, state)).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - }); - - describe("Upgradeability", () => { - it("should preserve registry state after upgrade", async () => { - const {registry, owner} = deployedActors; - - const initialHub = await registry.hub(); - const initialCscaRoot = await registry.getCscaRoot(); - const initialPassportNoOfacRoot = await registry.getPassportNoOfacRoot(); - const initialNameAndDobOfacRoot = await registry.getNameAndDobOfacRoot(); - const initialNameAndYobOfacRoot = await registry.getNameAndYobOfacRoot(); - - const attestationId = generateRandomFieldElement(); - const nullifier = generateRandomFieldElement(); - const commitment = generateRandomFieldElement(); - const tx = await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); - const receipt = await tx.wait() as TransactionReceipt; - const registeredTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; - - const initialCommitmentRoot = await registry.getIdentityCommitmentMerkleRoot(); - const initialTreeSize = await registry.getIdentityCommitmentMerkleTreeSize(); - - // Deploy testUpgradedIdentityRegistryImplV1 instead - const UpgradedRegistryFactory = await ethers.getContractFactory( - "testUpgradedIdentityRegistryImplV1", - owner - ); - - const registryV2Implementation = await UpgradedRegistryFactory.deploy(); - await registryV2Implementation.waitForDeployment(); - - // Upgrade and initialize with isTest = true - await registry.connect(owner).upgradeToAndCall( - registryV2Implementation.target, - UpgradedRegistryFactory.interface.encodeFunctionData("initialize", [true]) - ); - - const registryV2 = await ethers.getContractAt("testUpgradedIdentityRegistryImplV1", registry.target); - - // Check new functionality - expect(await registryV2.isTest()).to.equal(true); - - // Check preserved state - expect(await registryV2.hub()).to.equal(initialHub); - expect(await registryV2.getCscaRoot()).to.equal(initialCscaRoot); - expect(await registryV2.getPassportNoOfacRoot()).to.equal(initialPassportNoOfacRoot); - expect(await registryV2.getNameAndDobOfacRoot()).to.equal(initialNameAndDobOfacRoot); - expect(await registryV2.getNameAndYobOfacRoot()).to.equal(initialNameAndYobOfacRoot); - expect(await registryV2.getIdentityCommitmentMerkleRoot()).to.equal(initialCommitmentRoot); - expect(await registryV2.getIdentityCommitmentMerkleTreeSize()).to.equal(initialTreeSize); - - const commitmentIndex = await registryV2.getIdentityCommitmentIndex(commitment); - expect(commitmentIndex).to.not.equal(ethers.MaxUint256); - - const registeredNullifier = await registryV2.nullifiers(attestationId, nullifier); - expect(registeredNullifier).to.equal(true); - - const rootTimestamps = await registryV2.rootTimestamps(initialCommitmentRoot); - expect(rootTimestamps).to.equal(registeredTimestamp); - - const implementationSlot = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"; - const implementationAddress = await ethers.provider.getStorage(registry.target, implementationSlot); - expect(ethers.zeroPadValue(implementationAddress, 32)) - .to.equal(ethers.zeroPadValue(registryV2Implementation.target.toString(), 32)); - }); - - it("should not allow non proxy to upgrade implementation", async() => { - const {registryImpl, owner} = deployedActors; - - const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); - const poseidonT3 = await PoseidonT3Factory.deploy(); - await poseidonT3.waitForDeployment(); - - // Deploy IdentityRegistryImplV1 - const IdentityRegistryImplFactory = await ethers.getContractFactory( - "IdentityRegistryImplV1", - { - libraries: { - PoseidonT3: poseidonT3.target - } - }, - owner - ); - - const registryV2Implementation = await IdentityRegistryImplFactory.deploy(); - await registryV2Implementation.waitForDeployment(); - - await expect(registryImpl.connect(owner).upgradeToAndCall( - registryV2Implementation.target, - "0x" - )).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should not allow non owner to upgrade implementation", async () => { - const {registry, owner, user1} = deployedActors; - - const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); - const poseidonT3 = await PoseidonT3Factory.deploy(); - await poseidonT3.waitForDeployment(); - - // Deploy IdentityRegistryImplV1 - const IdentityRegistryImplFactory = await ethers.getContractFactory( - "IdentityRegistryImplV1", - { - libraries: { - PoseidonT3: poseidonT3.target - } - }, - owner - ); - - const registryV2Implementation = await IdentityRegistryImplFactory.deploy(); - await registryV2Implementation.waitForDeployment(); - - await expect(registry.connect(user1).upgradeToAndCall( - registryV2Implementation.target, - "0x" - )).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); - }); - - it("should not allow implementation contract to be initialized directly", async () => { - const {owner, hub} = deployedActors; - - const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); - const poseidonT3 = await PoseidonT3Factory.deploy(); - await poseidonT3.waitForDeployment(); - - // Deploy IdentityRegistryImplV1 - const IdentityRegistryImplFactory = await ethers.getContractFactory( - "IdentityRegistryImplV1", - { - libraries: { - PoseidonT3: poseidonT3.target - } - }, - owner - ); - - const registryV2Implementation = await IdentityRegistryImplFactory.deploy(); - await registryV2Implementation.waitForDeployment(); - - await expect(registryV2Implementation.initialize(hub.target)).to.be.revertedWithCustomError(registryV2Implementation, "InvalidInitialization"); - }); - - it("should not allow direct calls to implementation contract", async () => { - const {owner} = deployedActors; - - const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); - const poseidonT3 = await PoseidonT3Factory.deploy(); - await poseidonT3.waitForDeployment(); - - // Deploy IdentityRegistryImplV1 - const IdentityRegistryImplFactory = await ethers.getContractFactory( - "IdentityRegistryImplV1", - { - libraries: { - PoseidonT3: poseidonT3.target - } - }, - owner - ); - - const registryV2Implementation = await IdentityRegistryImplFactory.deploy(); - await registryV2Implementation.waitForDeployment(); - - await expect( - registryV2Implementation.updateCscaRoot(generateRandomFieldElement()) - ).to.be.revertedWithCustomError(registryV2Implementation, "UUPSUnauthorizedCallContext"); - }); - }); -}); \ No newline at end of file + let deployedActors: DeployedActors; + let snapshotId: string; + + before(async () => { + deployedActors = await deploySystemFixtures(); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + afterEach(async () => { + await ethers.provider.send("evm_revert", [snapshotId]); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + describe("Initialization", () => { + it("should initialize registry with correct hub address", async () => { + const { registry, hub } = deployedActors; + expect(await registry.hub()).to.equal(hub.target); + + const initializedFiler = registry.filters.RegistryInitialized; + const events = await registry.queryFilter(initializedFiler); + expect(events.length).to.equal(1); + expect(events[0].args.hub).to.equal(ZeroAddress); + const updatedFiler = registry.filters.HubUpdated; + const updatedEvents = await registry.queryFilter(updatedFiler); + expect(updatedEvents.length).to.equal(1); + expect(updatedEvents[0].args.hub).to.equal(hub.target); + }); + + it("should not allow direct initialization of registry implementation", async () => { + const { owner, hub } = deployedActors; + + const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); + const poseidonT3 = await PoseidonT3Factory.deploy(); + await poseidonT3.waitForDeployment(); + + const RegistryFactory = await ethers.getContractFactory( + "IdentityRegistryImplV1", + { + libraries: { + PoseidonT3: poseidonT3.target, + }, + }, + owner, + ); + const registryImpl = await RegistryFactory.deploy(); + + await expect(registryImpl.initialize(hub.target)).to.be.revertedWithCustomError( + registryImpl, + "InvalidInitialization", + ); + }); + + it("should not allow initialization after initialized", async () => { + const { registry, hub } = deployedActors; + + await expect(registry.initialize(hub.target)).to.be.revertedWithCustomError(registry, "InvalidInitialization"); + }); + }); + + describe("View functions", () => { + it("should return hub address", async () => { + const { hub, registry } = deployedActors; + expect(await registry.hub()).to.equal(hub.target); + }); + + it("should fail if hub is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + await expect(registryImpl.connect(user1).hub()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return nullifier state", async () => { + const { registry } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + await registry.devChangeNullifierState(attestationId, nullifier, true); + const state = await registry.nullifiers(attestationId, nullifier); + expect(state).to.equal(true); + }); + + it("should fail if nullifier is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + await expect(registryImpl.connect(user1).nullifiers(attestationId, nullifier)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return dsc key commitment state", async () => { + const { registry } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + const state = true; + await registry.devChangeDscKeyCommitmentState(dscCommitment, state); + const dscKeyCommitmentState = await registry.isRegisteredDscKeyCommitment(dscCommitment); + expect(dscKeyCommitmentState).to.equal(state); + }); + + it("should fail if dsc key commitment state is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + await expect( + registryImpl.connect(user1).isRegisteredDscKeyCommitment(dscCommitment), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should return root timestamp", async () => { + const { registry } = deployedActors; + const commitment = generateRandomFieldElement(); + const timestamp = (await ethers.provider.getBlock("latest"))!.timestamp; + const tx = await registry.devAddIdentityCommitment(commitment, timestamp, generateRandomFieldElement()); + const receipt = (await tx.wait()) as TransactionReceipt; + const blockTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; + const root = await registry.getIdentityCommitmentMerkleRoot(); + const rootTimestamp = await registry.rootTimestamps(root); + expect(rootTimestamp).to.equal(blockTimestamp); + }); + + it("should fail if root timestamp is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const root = generateRandomFieldElement(); + await expect(registryImpl.connect(user1).rootTimestamps(root)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return true if checkIdentityCommitmentRoot is called with valid root", async () => { + const { registry } = deployedActors; + const commitment = generateRandomFieldElement(); + const timestamp = (await ethers.provider.getBlock("latest"))!.timestamp; + await registry.devAddIdentityCommitment(commitment, timestamp, generateRandomFieldElement()); + const root = await registry.getIdentityCommitmentMerkleRoot(); + expect(await registry.checkIdentityCommitmentRoot(root)).to.equal(true); + }); + + it("should return false if checkIdentityCommitmentRoot is called with invalid root", async () => { + const { registry } = deployedActors; + const commitment = generateRandomFieldElement(); + const timestamp = (await ethers.provider.getBlock("latest"))!.timestamp; + await registry.devAddIdentityCommitment(commitment, timestamp, generateRandomFieldElement()); + const root = generateRandomFieldElement(); + expect(await registry.checkIdentityCommitmentRoot(root)).to.equal(false); + }); + + it("should fail if checkIdentityCommitmentRoot is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const root = generateRandomFieldElement(); + await expect(registryImpl.connect(user1).checkIdentityCommitmentRoot(root)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return identity commitment merkle tree size", async () => { + const { registry } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const size = await registry.getIdentityCommitmentMerkleTreeSize(); + expect(size).to.equal(1); + }); + + it("should fail if identity commitment merkle tree size is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + await expect(registryImpl.connect(user1).getIdentityCommitmentMerkleTreeSize()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return identity commitment merkle root", async () => { + const { registry } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const root = await registry.getIdentityCommitmentMerkleRoot(); + + const hashFunction = (a: bigint, b: bigint) => poseidon2([a, b]); + const imt = new LeanIMT(hashFunction); + imt.insert(BigInt(commitment)); + expect(imt.root).to.equal(root); + }); + + it("should fail if identity commitment merkle root is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + await expect(registryImpl.connect(user1).getIdentityCommitmentMerkleRoot()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return identity commitment index", async () => { + const { registry } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const index = await registry.getIdentityCommitmentIndex(commitment); + expect(index).to.equal(0); + }); + + it("should fail if identity commitment index is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const commitment = generateRandomFieldElement(); + await expect(registryImpl.connect(user1).getIdentityCommitmentIndex(commitment)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return passport number OFAC root", async () => { + const { registry, owner } = deployedActors; + const root = generateRandomFieldElement(); + await registry.connect(owner).updatePassportNoOfacRoot(root); + const ofacRoot = await registry.getPassportNoOfacRoot(); + expect(ofacRoot).to.equal(root); + }); + + it("should return name and DOB OFAC root", async () => { + const { registry, owner } = deployedActors; + const root = generateRandomFieldElement(); + await registry.connect(owner).updateNameAndDobOfacRoot(root); + const ofacRoot = await registry.getNameAndDobOfacRoot(); + expect(ofacRoot).to.equal(root); + }); + + it("should return name and YOB OFAC root", async () => { + const { registry, owner } = deployedActors; + const root = generateRandomFieldElement(); + await registry.connect(owner).updateNameAndYobOfacRoot(root); + const ofacRoot = await registry.getNameAndYobOfacRoot(); + expect(ofacRoot).to.equal(root); + }); + + it("should fail if passport number OFAC root is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + await expect(registryImpl.connect(user1).getPassportNoOfacRoot()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should fail if name and DOB OFAC root is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + await expect(registryImpl.connect(user1).getNameAndDobOfacRoot()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should fail if name and YOB OFAC root is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + await expect(registryImpl.connect(user1).getNameAndYobOfacRoot()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return true if checkOfacRoots is called with valid roots", async () => { + const { registry, owner } = deployedActors; + const passportRoot = generateRandomFieldElement(); + const dobRoot = generateRandomFieldElement(); + const yobRoot = generateRandomFieldElement(); + await registry.connect(owner).updatePassportNoOfacRoot(passportRoot); + await registry.connect(owner).updateNameAndDobOfacRoot(dobRoot); + await registry.connect(owner).updateNameAndYobOfacRoot(yobRoot); + expect(await registry.checkOfacRoots(passportRoot, dobRoot, yobRoot)).to.equal(true); + }); + + it("should return false if checkOfacRoots is called with invalid roots", async () => { + const { registry } = deployedActors; + const passportRoot = generateRandomFieldElement(); + const dobRoot = generateRandomFieldElement(); + const yobRoot = generateRandomFieldElement(); + expect(await registry.checkOfacRoots(passportRoot, dobRoot, yobRoot)).to.equal(false); + }); + + it("should fail if checkOfacRoots is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const passportRoot = generateRandomFieldElement(); + const dobRoot = generateRandomFieldElement(); + const yobRoot = generateRandomFieldElement(); + await expect( + registryImpl.connect(user1).checkOfacRoots(passportRoot, dobRoot, yobRoot), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should return csca root", async () => { + const { registry, owner } = deployedActors; + const root = generateRandomFieldElement(); + await registry.connect(owner).updateCscaRoot(root); + const cscaRoot = await registry.getCscaRoot(); + expect(cscaRoot).to.equal(root); + }); + + it("should fail if csca root is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + await expect(registryImpl.connect(user1).getCscaRoot()).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return true if checkCscaRoot is called with valid root", async () => { + const { registry, owner } = deployedActors; + const root = generateRandomFieldElement(); + await registry.connect(owner).updateCscaRoot(root); + expect(await registry.checkCscaRoot(root)).to.equal(true); + }); + + it("should return false if checkCscaRoot is called with invalid root", async () => { + const { registry } = deployedActors; + const root = generateRandomFieldElement(); + expect(await registry.checkCscaRoot(root)).to.equal(false); + }); + + it("should fail if checkCscaRoot is called by non-proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const root = generateRandomFieldElement(); + await expect(registryImpl.connect(user1).checkCscaRoot(root)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + }); + + describe("Update functions", () => { + it("should update hub address", async () => { + const { registry, user1 } = deployedActors; + const newHubAddress = await user1.getAddress(); + + await expect(registry.updateHub(newHubAddress)).to.emit(registry, "HubUpdated").withArgs(newHubAddress); + + expect(await registry.hub()).to.equal(newHubAddress); + }); + + it("should not update hub address if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const newHubAddress = await user1.getAddress(); + + await expect(registry.connect(user1).updateHub(newHubAddress)).to.be.revertedWithCustomError( + registry, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not update hub address if caller is not proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const newHubAddress = await user1.getAddress(); + + await expect(registryImpl.connect(user1).updateHub(newHubAddress)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should update OFAC roots", async () => { + const { registry } = deployedActors; + const passportRoot = generateRandomFieldElement(); + const dobRoot = generateRandomFieldElement(); + const yobRoot = generateRandomFieldElement(); + + await expect(registry.updatePassportNoOfacRoot(passportRoot)) + .to.emit(registry, "PassportNoOfacRootUpdated") + .withArgs(passportRoot); + + await expect(registry.updateNameAndDobOfacRoot(dobRoot)) + .to.emit(registry, "NameAndDobOfacRootUpdated") + .withArgs(dobRoot); + + await expect(registry.updateNameAndYobOfacRoot(yobRoot)) + .to.emit(registry, "NameAndYobOfacRootUpdated") + .withArgs(yobRoot); + + expect(await registry.getPassportNoOfacRoot()).to.equal(passportRoot); + expect(await registry.getNameAndDobOfacRoot()).to.equal(dobRoot); + expect(await registry.getNameAndYobOfacRoot()).to.equal(yobRoot); + }); + + it("should not update OFAC root if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const passportRoot = generateRandomFieldElement(); + const dobRoot = generateRandomFieldElement(); + const yobRoot = generateRandomFieldElement(); + + await expect(registry.connect(user1).updatePassportNoOfacRoot(passportRoot)).to.be.revertedWithCustomError( + registry, + "OwnableUnauthorizedAccount", + ); + await expect(registry.connect(user1).updateNameAndDobOfacRoot(dobRoot)).to.be.revertedWithCustomError( + registry, + "OwnableUnauthorizedAccount", + ); + await expect(registry.connect(user1).updateNameAndYobOfacRoot(yobRoot)).to.be.revertedWithCustomError( + registry, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not update OFAC root if caller is not proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const passportRoot = generateRandomFieldElement(); + const dobRoot = generateRandomFieldElement(); + const yobRoot = generateRandomFieldElement(); + + await expect(registryImpl.connect(user1).updatePassportNoOfacRoot(passportRoot)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + await expect(registryImpl.connect(user1).updateNameAndDobOfacRoot(dobRoot)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + await expect(registryImpl.connect(user1).updateNameAndYobOfacRoot(yobRoot)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should update CSCA root", async () => { + const { registry } = deployedActors; + const newCscaRoot = generateRandomFieldElement(); + + await expect(registry.updateCscaRoot(newCscaRoot)).to.emit(registry, "CscaRootUpdated").withArgs(newCscaRoot); + + expect(await registry.getCscaRoot()).to.equal(newCscaRoot); + }); + + it("should not update CSCA root if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const newCscaRoot = generateRandomFieldElement(); + + await expect(registry.connect(user1).updateCscaRoot(newCscaRoot)).to.be.revertedWithCustomError( + registry, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not update CSCA root if caller is not proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const newCscaRoot = generateRandomFieldElement(); + + await expect(registryImpl.connect(user1).updateCscaRoot(newCscaRoot)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should be able to add commitment by owner", async () => { + const { registry } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + + const tx = await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const receipt = await tx.wait(); + const blockTimestamp = (await ethers.provider.getBlock("latest"))!.timestamp; + + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DevCommitmentRegistered").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("DevCommitmentRegistered", event.data, event.topics) + : null; + + const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); + const rootTimestamp = await registry.rootTimestamps(currentRoot); + + expect(eventArgs?.attestationId).to.equal(attestationId); + expect(eventArgs?.nullifier).to.equal(nullifier); + expect(eventArgs?.commitment).to.equal(commitment); + expect(eventArgs?.timestamp).to.equal(blockTimestamp); + expect(rootTimestamp).to.equal(blockTimestamp); + }); + + it("should not add commitment if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + + await expect( + registry.connect(user1).devAddIdentityCommitment(attestationId, nullifier, commitment), + ).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); + }); + + it("should not add commitment if caller is not proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + + await expect( + registryImpl.connect(user1).devAddIdentityCommitment(attestationId, nullifier, commitment), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should be able to update commitment by owner", async () => { + const { registry } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const newCommitment = generateRandomFieldElement(); + const tx = await registry.devUpdateCommitment(commitment, newCommitment, []); + const receipt = await tx.wait(); + const blockTimestamp = (await ethers.provider.getBlock("latest"))!.timestamp; + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DevCommitmentUpdated").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("DevCommitmentUpdated", event.data, event.topics) + : null; + + const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); + + expect(eventArgs?.oldLeaf).to.equal(commitment); + expect(eventArgs?.newLeaf).to.equal(newCommitment); + expect(eventArgs?.imtRoot).to.equal(currentRoot); + expect(eventArgs?.timestamp).to.equal(blockTimestamp); + }); + + it("should not update commitment if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const newCommitment = generateRandomFieldElement(); + await expect( + registry.connect(user1).devUpdateCommitment(commitment, newCommitment, []), + ).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); + }); + + it("should not update commitment if caller is not proxy", async () => { + const { registry, registryImpl, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const newCommitment = generateRandomFieldElement(); + await expect( + registryImpl.connect(user1).devUpdateCommitment(commitment, newCommitment, []), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + + it("able to remove commitment by owner", async () => { + const { registry, owner, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const tx = await registry.devRemoveCommitment(commitment, []); + const receipt = await tx.wait(); + const blockTimestamp = (await ethers.provider.getBlock("latest"))!.timestamp; + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DevCommitmentRemoved").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("DevCommitmentRemoved", event.data, event.topics) + : null; + + const currentRoot = await registry.getIdentityCommitmentMerkleRoot(); + + expect(eventArgs?.oldLeaf).to.equal(commitment); + expect(eventArgs?.imtRoot).to.equal(currentRoot); + expect(eventArgs?.timestamp).to.equal(blockTimestamp); + }); + + it("should not remove commitment if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + await expect(registry.connect(user1).devRemoveCommitment(commitment, [])).to.be.revertedWithCustomError( + registry, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not remove commitment if caller is not proxy", async () => { + const { registry, registryImpl, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + await expect(registryImpl.connect(user1).devRemoveCommitment(commitment, [])).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should able to add dsc key commitment by owner", async () => { + const { registry } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + const tx = await registry.devAddDscKeyCommitment(dscCommitment); + const receipt = await tx.wait(); + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DevDscKeyCommitmentRegistered").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("DevDscKeyCommitmentRegistered", event.data, event.topics) + : null; + + const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); + const index = await registry.getDscKeyCommitmentIndex(dscCommitment); + expect(eventArgs?.commitment).to.equal(dscCommitment); + expect(eventArgs?.imtRoot).to.equal(currentRoot); + expect(eventArgs?.imtIndex).to.equal(index); + }); + + it("should not add dsc key commitment if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + await expect(registry.connect(user1).devAddDscKeyCommitment(dscCommitment)).to.be.revertedWithCustomError( + registry, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not add dsc key commitment if caller is not proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + await expect(registryImpl.connect(user1).devAddDscKeyCommitment(dscCommitment)).to.be.revertedWithCustomError( + registryImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should able to update dsc key commitment by owner", async () => { + const { registry } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + const newDscCommitment = generateRandomFieldElement(); + await registry.devAddDscKeyCommitment(dscCommitment); + const tx = await registry.devUpdateDscKeyCommitment(dscCommitment, newDscCommitment, []); + const receipt = await tx.wait(); + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DevDscKeyCommitmentUpdated").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("DevDscKeyCommitmentUpdated", event.data, event.topics) + : null; + + const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); + + expect(eventArgs?.oldLeaf).to.equal(dscCommitment); + expect(eventArgs?.newLeaf).to.equal(newDscCommitment); + expect(eventArgs?.imtRoot).to.equal(currentRoot); + }); + + it("should not update dsc key commitment if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + const newDscCommitment = generateRandomFieldElement(); + await registry.devAddDscKeyCommitment(dscCommitment); + await expect( + registry.connect(user1).devUpdateDscKeyCommitment(dscCommitment, newDscCommitment, []), + ).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); + }); + + it("should not update dsc key commitment if caller is not proxy", async () => { + const { registry, registryImpl, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + const newDscCommitment = generateRandomFieldElement(); + await registry.devAddDscKeyCommitment(dscCommitment); + await expect( + registryImpl.connect(user1).devUpdateDscKeyCommitment(dscCommitment, newDscCommitment, []), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should able to remove dsc key commitment by owner", async () => { + const { registry } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + await registry.devAddDscKeyCommitment(dscCommitment); + const tx = await registry.devRemoveDscKeyCommitment(dscCommitment, []); + const receipt = await tx.wait(); + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DevDscKeyCommitmentRemoved").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("DevDscKeyCommitmentRemoved", event.data, event.topics) + : null; + + const currentRoot = await registry.getDscKeyCommitmentMerkleRoot(); + + expect(eventArgs?.oldLeaf).to.equal(dscCommitment); + expect(eventArgs?.imtRoot).to.equal(currentRoot); + }); + + it("should not remove dsc key commitment if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + await registry.devAddDscKeyCommitment(dscCommitment); + await expect(registry.connect(user1).devRemoveDscKeyCommitment(dscCommitment, [])).to.be.revertedWithCustomError( + registry, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not remove dsc key commitment if caller is not proxy", async () => { + const { registry, registryImpl, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + await registry.devAddDscKeyCommitment(dscCommitment); + await expect( + registryImpl.connect(user1).devRemoveDscKeyCommitment(dscCommitment, []), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + + it("able to change nullifier state by owner", async () => { + const { registry, owner, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + + const tx = await registry.devChangeNullifierState(attestationId, nullifier, false); + const receipt = (await tx.wait()) as TransactionReceipt; + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DevNullifierStateChanged").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("DevNullifierStateChanged", event.data, event.topics) + : null; + + const nullifierCheck = await registry.nullifiers(attestationId, nullifier); + expect(eventArgs?.attestationId).to.equal(attestationId); + expect(eventArgs?.nullifier).to.equal(nullifier); + expect(eventArgs?.state).to.equal(false); + expect(nullifierCheck).to.equal(false); + }); + + it("should not change nullifier state if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + await expect( + registry.connect(user1).devChangeNullifierState(attestationId, nullifier, false), + ).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); + }); + + it("should not change nullifier state if caller is not proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + await expect( + registryImpl.connect(user1).devChangeNullifierState(attestationId, nullifier, false), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + + it("able to change dsc key commitment state by owner", async () => { + const { registry } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + const state = true; + const tx = await registry.devChangeDscKeyCommitmentState(dscCommitment, state); + const receipt = (await tx.wait()) as TransactionReceipt; + const event = receipt?.logs.find( + (log) => log.topics[0] === registry.interface.getEvent("DevDscKeyCommitmentStateChanged").topicHash, + ); + const eventArgs = event + ? registry.interface.decodeEventLog("DevDscKeyCommitmentStateChanged", event.data, event.topics) + : null; + + expect(eventArgs?.commitment).to.equal(dscCommitment); + expect(eventArgs?.state).to.equal(state); + + const dscKeyCommitmentState = await registry.isRegisteredDscKeyCommitment(dscCommitment); + expect(dscKeyCommitmentState).to.equal(state); + }); + + it("should not change dsc key commitment state if caller is not owner", async () => { + const { registry, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + const state = true; + await expect( + registry.connect(user1).devChangeDscKeyCommitmentState(dscCommitment, state), + ).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); + }); + + it("should not change dsc key commitment state if caller is not proxy", async () => { + const { registryImpl, user1 } = deployedActors; + const dscCommitment = generateRandomFieldElement(); + const state = true; + await expect( + registryImpl.connect(user1).devChangeDscKeyCommitmentState(dscCommitment, state), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + }); + + describe("Upgradeability", () => { + it("should preserve registry state after upgrade", async () => { + const { registry, owner } = deployedActors; + + const initialHub = await registry.hub(); + const initialCscaRoot = await registry.getCscaRoot(); + const initialPassportNoOfacRoot = await registry.getPassportNoOfacRoot(); + const initialNameAndDobOfacRoot = await registry.getNameAndDobOfacRoot(); + const initialNameAndYobOfacRoot = await registry.getNameAndYobOfacRoot(); + + const attestationId = generateRandomFieldElement(); + const nullifier = generateRandomFieldElement(); + const commitment = generateRandomFieldElement(); + const tx = await registry.devAddIdentityCommitment(attestationId, nullifier, commitment); + const receipt = (await tx.wait()) as TransactionReceipt; + const registeredTimestamp = (await ethers.provider.getBlock(receipt.blockNumber))!.timestamp; + + const initialCommitmentRoot = await registry.getIdentityCommitmentMerkleRoot(); + const initialTreeSize = await registry.getIdentityCommitmentMerkleTreeSize(); + + // Deploy testUpgradedIdentityRegistryImplV1 instead + const UpgradedRegistryFactory = await ethers.getContractFactory("testUpgradedIdentityRegistryImplV1", owner); + + const registryV2Implementation = await UpgradedRegistryFactory.deploy(); + await registryV2Implementation.waitForDeployment(); + + // Upgrade and initialize with isTest = true + await registry + .connect(owner) + .upgradeToAndCall( + registryV2Implementation.target, + UpgradedRegistryFactory.interface.encodeFunctionData("initialize", [true]), + ); + + const registryV2 = await ethers.getContractAt("testUpgradedIdentityRegistryImplV1", registry.target); + + // Check new functionality + expect(await registryV2.isTest()).to.equal(true); + + // Check preserved state + expect(await registryV2.hub()).to.equal(initialHub); + expect(await registryV2.getCscaRoot()).to.equal(initialCscaRoot); + expect(await registryV2.getPassportNoOfacRoot()).to.equal(initialPassportNoOfacRoot); + expect(await registryV2.getNameAndDobOfacRoot()).to.equal(initialNameAndDobOfacRoot); + expect(await registryV2.getNameAndYobOfacRoot()).to.equal(initialNameAndYobOfacRoot); + expect(await registryV2.getIdentityCommitmentMerkleRoot()).to.equal(initialCommitmentRoot); + expect(await registryV2.getIdentityCommitmentMerkleTreeSize()).to.equal(initialTreeSize); + + const commitmentIndex = await registryV2.getIdentityCommitmentIndex(commitment); + expect(commitmentIndex).to.not.equal(ethers.MaxUint256); + + const registeredNullifier = await registryV2.nullifiers(attestationId, nullifier); + expect(registeredNullifier).to.equal(true); + + const rootTimestamps = await registryV2.rootTimestamps(initialCommitmentRoot); + expect(rootTimestamps).to.equal(registeredTimestamp); + + const implementationSlot = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"; + const implementationAddress = await ethers.provider.getStorage(registry.target, implementationSlot); + expect(ethers.zeroPadValue(implementationAddress, 32)).to.equal( + ethers.zeroPadValue(registryV2Implementation.target.toString(), 32), + ); + }); + + it("should not allow non proxy to upgrade implementation", async () => { + const { registryImpl, owner } = deployedActors; + + const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); + const poseidonT3 = await PoseidonT3Factory.deploy(); + await poseidonT3.waitForDeployment(); + + // Deploy IdentityRegistryImplV1 + const IdentityRegistryImplFactory = await ethers.getContractFactory( + "IdentityRegistryImplV1", + { + libraries: { + PoseidonT3: poseidonT3.target, + }, + }, + owner, + ); + + const registryV2Implementation = await IdentityRegistryImplFactory.deploy(); + await registryV2Implementation.waitForDeployment(); + + await expect( + registryImpl.connect(owner).upgradeToAndCall(registryV2Implementation.target, "0x"), + ).to.be.revertedWithCustomError(registryImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should not allow non owner to upgrade implementation", async () => { + const { registry, owner, user1 } = deployedActors; + + const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); + const poseidonT3 = await PoseidonT3Factory.deploy(); + await poseidonT3.waitForDeployment(); + + // Deploy IdentityRegistryImplV1 + const IdentityRegistryImplFactory = await ethers.getContractFactory( + "IdentityRegistryImplV1", + { + libraries: { + PoseidonT3: poseidonT3.target, + }, + }, + owner, + ); + + const registryV2Implementation = await IdentityRegistryImplFactory.deploy(); + await registryV2Implementation.waitForDeployment(); + + await expect( + registry.connect(user1).upgradeToAndCall(registryV2Implementation.target, "0x"), + ).to.be.revertedWithCustomError(registry, "OwnableUnauthorizedAccount"); + }); + + it("should not allow implementation contract to be initialized directly", async () => { + const { owner, hub } = deployedActors; + + const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); + const poseidonT3 = await PoseidonT3Factory.deploy(); + await poseidonT3.waitForDeployment(); + + // Deploy IdentityRegistryImplV1 + const IdentityRegistryImplFactory = await ethers.getContractFactory( + "IdentityRegistryImplV1", + { + libraries: { + PoseidonT3: poseidonT3.target, + }, + }, + owner, + ); + + const registryV2Implementation = await IdentityRegistryImplFactory.deploy(); + await registryV2Implementation.waitForDeployment(); + + await expect(registryV2Implementation.initialize(hub.target)).to.be.revertedWithCustomError( + registryV2Implementation, + "InvalidInitialization", + ); + }); + + it("should not allow direct calls to implementation contract", async () => { + const { owner } = deployedActors; + + const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); + const poseidonT3 = await PoseidonT3Factory.deploy(); + await poseidonT3.waitForDeployment(); + + // Deploy IdentityRegistryImplV1 + const IdentityRegistryImplFactory = await ethers.getContractFactory( + "IdentityRegistryImplV1", + { + libraries: { + PoseidonT3: poseidonT3.target, + }, + }, + owner, + ); + + const registryV2Implementation = await IdentityRegistryImplFactory.deploy(); + await registryV2Implementation.waitForDeployment(); + + await expect(registryV2Implementation.updateCscaRoot(generateRandomFieldElement())).to.be.revertedWithCustomError( + registryV2Implementation, + "UUPSUnauthorizedCallContext", + ); + }); + }); +}); diff --git a/contracts/test/unit/IdentityVerificationHub.test.ts b/contracts/test/unit/IdentityVerificationHub.test.ts index 513c60ad7..e8f4f5c5a 100644 --- a/contracts/test/unit/IdentityVerificationHub.test.ts +++ b/contracts/test/unit/IdentityVerificationHub.test.ts @@ -5,478 +5,494 @@ import { ethers } from "hardhat"; import { RegisterVerifierId, DscVerifierId } from "../../../common/src/constants/constants"; describe("Unit Tests for IdentityVerificationHub", () => { + let deployedActors: DeployedActors; + let snapshotId: string; + + before(async () => { + deployedActors = await deploySystemFixtures(); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + afterEach(async () => { + await ethers.provider.send("evm_revert", [snapshotId]); + snapshotId = await ethers.provider.send("evm_snapshot", []); + }); + + describe("Initialization", () => { + it("should initialize hub with correct parameters", async () => { + const { hub, registry, vcAndDisclose, register, dsc } = deployedActors; + + // Check initial state + expect(await hub.registry()).to.equal(registry.target); + expect(await hub.vcAndDiscloseCircuitVerifier()).to.equal(vcAndDisclose.target); + + const registerId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; + const dscId = DscVerifierId.dsc_sha256_rsa_65537_4096; + expect(await hub.sigTypeToRegisterCircuitVerifiers(registerId)).to.equal(register.target); + expect(await hub.sigTypeToDscCircuitVerifiers(dscId)).to.equal(dsc.target); + + const filter = hub.filters.HubInitialized; + const hubInitializedEvents = await hub.queryFilter(filter); + expect(hubInitializedEvents.length).to.equal(1); + const hubInitializedEvent = hubInitializedEvents[0]; + expect(hubInitializedEvent.args.registry).to.equal(registry.target); + expect(hubInitializedEvent.args.vcAndDiscloseCircuitVerifier).to.equal(vcAndDisclose.target); + expect(hubInitializedEvent.args.registerCircuitVerifierIds).to.deep.equal([registerId]); + expect(hubInitializedEvent.args.registerCircuitVerifiers).to.deep.equal([register.target]); + expect(hubInitializedEvent.args.dscCircuitVerifierIds).to.deep.equal([dscId]); + expect(hubInitializedEvent.args.dscCircuitVerifiers).to.deep.equal([dsc.target]); + + const initFilter = hub.filters.Initialized; + const initEvents = await hub.queryFilter(initFilter); + expect(initEvents.length).to.equal(1); + const initEvent = initEvents[0]; + expect(initEvent.args.version).to.equal(1); + }); + + it("should not allow direct initialization of hub implementation", async () => { + const { owner, registry, vcAndDisclose } = deployedActors; + + const HubFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); + const hubImpl = await HubFactory.deploy(); + + await expect( + hubImpl.initialize(registry.target, vcAndDisclose.target, [], [], [], []), + ).to.be.revertedWithCustomError(hubImpl, "InvalidInitialization"); + }); + + it("should revert when register circuit verifier arrays length mismatch", async () => { + const { owner, registry, vcAndDisclose } = deployedActors; + + const HubFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); + const hubImpl = await HubFactory.deploy(); + await hubImpl.waitForDeployment(); + + const initializeData = hubImpl.interface.encodeFunctionData("initialize", [ + registry.target, + vcAndDisclose.target, + [1], + [], + [], + [], + ]); + const hubProxyFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); + + await expect(hubProxyFactory.deploy(hubImpl.target, initializeData)).to.be.revertedWithCustomError( + hubImpl, + "LENGTH_MISMATCH", + ); + }); + + it("should revert when DSC circuit verifier arrays length mismatch", async () => { + const { owner, registry, vcAndDisclose } = deployedActors; + + const HubFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); + const hubImpl = await HubFactory.deploy(); + await hubImpl.waitForDeployment(); + + const initializeData = hubImpl.interface.encodeFunctionData("initialize", [ + registry.target, + vcAndDisclose.target, + [], + [], + [1], + [], + ]); + const hubProxyFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); + + await expect(hubProxyFactory.deploy(hubImpl.target, initializeData)).to.be.revertedWithCustomError( + hubImpl, + "LENGTH_MISMATCH", + ); + }); + + it("should not allow initialization after initialized", async () => { + const { hub, registry, vcAndDisclose } = deployedActors; + + await expect(hub.initialize(registry.target, vcAndDisclose.target, [], [], [], [])).to.be.revertedWithCustomError( + hub, + "InvalidInitialization", + ); + }); + }); + + describe("Update functions", () => { + it("should update registry address", async () => { + const { hub, user1 } = deployedActors; + const newRegistryAddress = await user1.getAddress(); + + await expect(hub.updateRegistry(newRegistryAddress)).to.emit(hub, "RegistryUpdated").withArgs(newRegistryAddress); + + expect(await hub.registry()).to.equal(newRegistryAddress); + }); + + it("should not update registry address if caller is not owner", async () => { + const { hub, user1 } = deployedActors; + const newRegistryAddress = await user1.getAddress(); + + await expect(hub.connect(user1).updateRegistry(newRegistryAddress)).to.be.revertedWithCustomError( + hub, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not update registry address if caller is not proxy", async () => { + const { hubImpl, user1 } = deployedActors; + const newRegistryAddress = await user1.getAddress(); + + await expect(hubImpl.updateRegistry(newRegistryAddress)).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should update vc and disclose circuit verifier", async () => { + const { hub, user1 } = deployedActors; + const newVerifierAddress = await user1.getAddress(); + + await expect(hub.updateVcAndDiscloseCircuit(newVerifierAddress)) + .to.emit(hub, "VcAndDiscloseCircuitUpdated") + .withArgs(newVerifierAddress); + + expect(await hub.vcAndDiscloseCircuitVerifier()).to.equal(newVerifierAddress); + }); + + it("should not update vc and disclose circuit verifier if caller is not owner", async () => { + const { hub, user1 } = deployedActors; + const newVerifierAddress = await user1.getAddress(); + + await expect(hub.connect(user1).updateVcAndDiscloseCircuit(newVerifierAddress)).to.be.revertedWithCustomError( + hub, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not update vc and disclose circuit verifier if caller is not proxy", async () => { + const { hubImpl, user1 } = deployedActors; + const newVerifierAddress = await user1.getAddress(); + + await expect(hubImpl.updateVcAndDiscloseCircuit(newVerifierAddress)).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should update register circuit verifier", async () => { + const { hub, user1 } = deployedActors; + const verifierId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; + const newVerifierAddress = await user1.getAddress(); + + await expect(hub.updateRegisterCircuitVerifier(verifierId, newVerifierAddress)) + .to.emit(hub, "RegisterCircuitVerifierUpdated") + .withArgs(verifierId, newVerifierAddress); + + expect(await hub.sigTypeToRegisterCircuitVerifiers(verifierId)).to.equal(newVerifierAddress); + }); + + it("should not update register circuit verifier if caller is not owner", async () => { + const { hub, user1 } = deployedActors; + const verifierId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; + const newVerifierAddress = await user1.getAddress(); + + await expect( + hub.connect(user1).updateRegisterCircuitVerifier(verifierId, newVerifierAddress), + ).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); + }); + + it("should not update register circuit verifier if caller is not proxy", async () => { + const { hubImpl, user1 } = deployedActors; + const verifierId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; + const newVerifierAddress = await user1.getAddress(); + + await expect(hubImpl.updateRegisterCircuitVerifier(verifierId, newVerifierAddress)).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should update DSC verifier", async () => { + const { hub, user1 } = deployedActors; + const verifierId = DscVerifierId.dsc_sha256_rsa_65537_4096; + const newVerifierAddress = await user1.getAddress(); + + await expect(hub.updateDscVerifier(verifierId, newVerifierAddress)) + .to.emit(hub, "DscCircuitVerifierUpdated") + .withArgs(verifierId, newVerifierAddress); + + expect(await hub.sigTypeToDscCircuitVerifiers(verifierId)).to.equal(newVerifierAddress); + }); + + it("should not update DSC verifier if caller is not owner", async () => { + const { hub, user1 } = deployedActors; + const verifierId = DscVerifierId.dsc_sha256_rsa_65537_4096; + const newVerifierAddress = await user1.getAddress(); + + await expect(hub.connect(user1).updateDscVerifier(verifierId, newVerifierAddress)).to.be.revertedWithCustomError( + hub, + "OwnableUnauthorizedAccount", + ); + }); + + it("should not update DSC verifier if caller is not proxy", async () => { + const { hubImpl, user1 } = deployedActors; + const verifierId = DscVerifierId.dsc_sha256_rsa_65537_4096; + const newVerifierAddress = await user1.getAddress(); + + await expect(hubImpl.updateDscVerifier(verifierId, newVerifierAddress)).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should batch update register circuit verifiers", async () => { + const { hub, user1 } = deployedActors; + const verifierIds = [1, 2]; + const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; + + await expect(hub.batchUpdateRegisterCircuitVerifiers(verifierIds, newVerifierAddresses)) + .to.emit(hub, "RegisterCircuitVerifierUpdated") + .withArgs(verifierIds[0], newVerifierAddresses[0]) + .to.emit(hub, "RegisterCircuitVerifierUpdated") + .withArgs(verifierIds[1], newVerifierAddresses[1]); + + for (let i = 0; i < verifierIds.length; i++) { + expect(await hub.sigTypeToRegisterCircuitVerifiers(verifierIds[i])).to.equal(newVerifierAddresses[i]); + } + }); - let deployedActors: DeployedActors; - let snapshotId: string; - - before(async () => { - deployedActors = await deploySystemFixtures(); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - afterEach(async () => { - await ethers.provider.send("evm_revert", [snapshotId]); - snapshotId = await ethers.provider.send("evm_snapshot", []); - }); - - describe("Initialization", () => { - it("should initialize hub with correct parameters", async () => { - const {hub, registry, vcAndDisclose, register, dsc} = deployedActors; - - // Check initial state - expect(await hub.registry()).to.equal(registry.target); - expect(await hub.vcAndDiscloseCircuitVerifier()).to.equal(vcAndDisclose.target); - - const registerId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; - const dscId = DscVerifierId.dsc_sha256_rsa_65537_4096; - expect(await hub.sigTypeToRegisterCircuitVerifiers(registerId)).to.equal(register.target); - expect(await hub.sigTypeToDscCircuitVerifiers(dscId)).to.equal(dsc.target); - - const filter = hub.filters.HubInitialized; - const hubInitializedEvents = await hub.queryFilter(filter); - expect(hubInitializedEvents.length).to.equal(1); - const hubInitializedEvent = hubInitializedEvents[0]; - expect(hubInitializedEvent.args.registry).to.equal(registry.target); - expect(hubInitializedEvent.args.vcAndDiscloseCircuitVerifier).to.equal(vcAndDisclose.target); - expect(hubInitializedEvent.args.registerCircuitVerifierIds).to.deep.equal([registerId]); - expect(hubInitializedEvent.args.registerCircuitVerifiers).to.deep.equal([register.target]); - expect(hubInitializedEvent.args.dscCircuitVerifierIds).to.deep.equal([dscId]); - expect(hubInitializedEvent.args.dscCircuitVerifiers).to.deep.equal([dsc.target]); - - const initFilter = hub.filters.Initialized; - const initEvents = await hub.queryFilter(initFilter); - expect(initEvents.length).to.equal(1); - const initEvent = initEvents[0]; - expect(initEvent.args.version).to.equal(1); - }); - - it("should not allow direct initialization of hub implementation", async () => { - const {owner, registry, vcAndDisclose} = deployedActors; - - const HubFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); - const hubImpl = await HubFactory.deploy(); - - await expect( - hubImpl.initialize( - registry.target, - vcAndDisclose.target, - [], - [], - [], - [] - ) - ).to.be.revertedWithCustomError(hubImpl, "InvalidInitialization"); - }); - - it("should revert when register circuit verifier arrays length mismatch", async () => { - const {owner, registry, vcAndDisclose} = deployedActors; - - const HubFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); - const hubImpl = await HubFactory.deploy(); - await hubImpl.waitForDeployment(); - - const initializeData = hubImpl.interface.encodeFunctionData("initialize", [ - registry.target, - vcAndDisclose.target, - [1], - [], - [], - [] - ]); - const hubProxyFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); - - await expect( - hubProxyFactory.deploy(hubImpl.target, initializeData) - ).to.be.revertedWithCustomError(hubImpl, "LENGTH_MISMATCH"); - }); - - it("should revert when DSC circuit verifier arrays length mismatch", async () => { - const {owner, registry, vcAndDisclose} = deployedActors; - - const HubFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); - const hubImpl = await HubFactory.deploy(); - await hubImpl.waitForDeployment(); - - const initializeData = hubImpl.interface.encodeFunctionData("initialize", [ - registry.target, - vcAndDisclose.target, - [], - [], - [1], - [] - ]); - const hubProxyFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); - - await expect( - hubProxyFactory.deploy(hubImpl.target, initializeData) - ).to.be.revertedWithCustomError(hubImpl, "LENGTH_MISMATCH"); - }); - - it("should not allow initialization after initialized", async () => { - const { hub, registry, vcAndDisclose } = deployedActors; - - await expect( - hub.initialize( - registry.target, - vcAndDisclose.target, - [], - [], - [], - [] - ) - ).to.be.revertedWithCustomError(hub, "InvalidInitialization"); - }); - }); - - describe("Update functions", () => { - it("should update registry address", async () => { - const { hub, user1 } = deployedActors; - const newRegistryAddress = await user1.getAddress(); - - await expect(hub.updateRegistry(newRegistryAddress)) - .to.emit(hub, "RegistryUpdated") - .withArgs(newRegistryAddress); - - expect(await hub.registry()).to.equal(newRegistryAddress); - }); - - it("should not update registry address if caller is not owner", async () => { - const { hub, user1 } = deployedActors; - const newRegistryAddress = await user1.getAddress(); - - await expect(hub.connect(user1).updateRegistry(newRegistryAddress)).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); - }); - - it ("should not update registry address if caller is not proxy", async () => { - const { hubImpl, user1 } = deployedActors; - const newRegistryAddress = await user1.getAddress(); - - await expect(hubImpl.updateRegistry(newRegistryAddress)).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should update vc and disclose circuit verifier", async () => { - const { hub, user1 } = deployedActors; - const newVerifierAddress = await user1.getAddress(); - - await expect(hub.updateVcAndDiscloseCircuit(newVerifierAddress)) - .to.emit(hub, "VcAndDiscloseCircuitUpdated") - .withArgs(newVerifierAddress); - - expect(await hub.vcAndDiscloseCircuitVerifier()).to.equal(newVerifierAddress); - }); - - it("should not update vc and disclose circuit verifier if caller is not owner", async () => { - const { hub, user1 } = deployedActors; - const newVerifierAddress = await user1.getAddress(); - - await expect(hub.connect(user1).updateVcAndDiscloseCircuit(newVerifierAddress)).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); - }); - - it("should not update vc and disclose circuit verifier if caller is not proxy", async () => { - const { hubImpl, user1 } = deployedActors; - const newVerifierAddress = await user1.getAddress(); - - await expect(hubImpl.updateVcAndDiscloseCircuit(newVerifierAddress)).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should update register circuit verifier", async () => { - const { hub, user1 } = deployedActors; - const verifierId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; - const newVerifierAddress = await user1.getAddress(); - - await expect(hub.updateRegisterCircuitVerifier(verifierId, newVerifierAddress)) - .to.emit(hub, "RegisterCircuitVerifierUpdated") - .withArgs(verifierId, newVerifierAddress); - - expect(await hub.sigTypeToRegisterCircuitVerifiers(verifierId)).to.equal(newVerifierAddress); - }); - - it("should not update register circuit verifier if caller is not owner", async () => { - const { hub, user1 } = deployedActors; - const verifierId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; - const newVerifierAddress = await user1.getAddress(); - - await expect(hub.connect(user1).updateRegisterCircuitVerifier(verifierId, newVerifierAddress)).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); - }); - - it("should not update register circuit verifier if caller is not proxy", async () => { - const { hubImpl, user1 } = deployedActors; - const verifierId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; - const newVerifierAddress = await user1.getAddress(); - - await expect(hubImpl.updateRegisterCircuitVerifier(verifierId, newVerifierAddress)).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should update DSC verifier", async () => { - const { hub, user1 } = deployedActors; - const verifierId = DscVerifierId.dsc_sha256_rsa_65537_4096; - const newVerifierAddress = await user1.getAddress(); - - await expect(hub.updateDscVerifier(verifierId, newVerifierAddress)) - .to.emit(hub, "DscCircuitVerifierUpdated") - .withArgs(verifierId, newVerifierAddress); - - expect(await hub.sigTypeToDscCircuitVerifiers(verifierId)).to.equal(newVerifierAddress); - }); - - it("should not update DSC verifier if caller is not owner", async () => { - const { hub, user1 } = deployedActors; - const verifierId = DscVerifierId.dsc_sha256_rsa_65537_4096; - const newVerifierAddress = await user1.getAddress(); - - await expect(hub.connect(user1).updateDscVerifier(verifierId, newVerifierAddress)).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); - }); - - it("should not update DSC verifier if caller is not proxy", async () => { - const { hubImpl, user1 } = deployedActors; - const verifierId = DscVerifierId.dsc_sha256_rsa_65537_4096; - const newVerifierAddress = await user1.getAddress(); - - await expect(hubImpl.updateDscVerifier(verifierId, newVerifierAddress)).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should batch update register circuit verifiers", async () => { - const { hub, user1 } = deployedActors; - const verifierIds = [1, 2]; - const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; - - await expect(hub.batchUpdateRegisterCircuitVerifiers(verifierIds, newVerifierAddresses)) - .to.emit(hub, "RegisterCircuitVerifierUpdated") - .withArgs(verifierIds[0], newVerifierAddresses[0]) - .to.emit(hub, "RegisterCircuitVerifierUpdated") - .withArgs(verifierIds[1], newVerifierAddresses[1]); - - for (let i = 0; i < verifierIds.length; i++) { - expect(await hub.sigTypeToRegisterCircuitVerifiers(verifierIds[i])) - .to.equal(newVerifierAddresses[i]); - } - }); - - it("should not batch update register circuit verifiers if caller is not owner", async () => { - const { hub, user1 } = deployedActors; - const verifierIds = [1, 2]; - const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; - - await expect(hub.connect(user1).batchUpdateRegisterCircuitVerifiers(verifierIds, newVerifierAddresses)).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); - }); - - it("should not batch update register circuit verifiers if caller is not proxy", async () => { - const { hubImpl, user1 } = deployedActors; - const verifierIds = [1, 2]; - const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; - - await expect(hubImpl.batchUpdateRegisterCircuitVerifiers(verifierIds, newVerifierAddresses)) - .to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should not batch update register verifiers if length is not the same", async () => { - const { hub, user1 } = deployedActors; - const verifierIds = [1]; - const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; - - await expect( - hub.batchUpdateRegisterCircuitVerifiers(verifierIds, newVerifierAddresses) - ).to.be.revertedWithCustomError(hub, "LENGTH_MISMATCH"); - }); - - it("should batch update DSC circuit verifiers", async () => { - const { hub, user1 } = deployedActors; - const verifierIds = [1, 2]; - const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; - - await expect(hub.batchUpdateDscCircuitVerifiers(verifierIds, newVerifierAddresses)) - .to.emit(hub, "DscCircuitVerifierUpdated") - .withArgs(verifierIds[0], newVerifierAddresses[0]) - .to.emit(hub, "DscCircuitVerifierUpdated") - .withArgs(verifierIds[1], newVerifierAddresses[1]); - - for (let i = 0; i < verifierIds.length; i++) { - expect(await hub.sigTypeToDscCircuitVerifiers(verifierIds[i])) - .to.equal(newVerifierAddresses[i]); - } - }); - - it("should not batch update DSC circuit verifiers if caller is not owner", async () => { - const { hub, user1 } = deployedActors; - const verifierIds = [1, 2]; - const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; - - await expect(hub.connect(user1).batchUpdateDscCircuitVerifiers(verifierIds, newVerifierAddresses)).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); - }); - - it("should not batch update DSC circuit verifiers if caller is not proxy", async () => { - const { hubImpl, user1 } = deployedActors; - const verifierIds = [1, 2]; - const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; - - await expect(hubImpl.batchUpdateDscCircuitVerifiers(verifierIds, newVerifierAddresses)) - .to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should not batch update dsc verifiers if length is not the same", async () => { - const { hub, user1 } = deployedActors; - const verifierIds = [1]; - const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; - - await expect( - hub.batchUpdateDscCircuitVerifiers(verifierIds, newVerifierAddresses) - ).to.be.revertedWithCustomError(hub, "LENGTH_MISMATCH"); - }); - }); - - describe("View functions", () => { - it("should return correct registry address", async () => { - const { hub, registry } = deployedActors; - expect(await hub.registry()).to.equal(registry.target); - }); - - it("should not return when view function is called by non-proxy", async () => { - const { hubImpl } = deployedActors; - await expect(hubImpl.registry()).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return correct vcAndDiscloseCircuitVerifier address", async () => { - const { hub, vcAndDisclose } = deployedActors; - expect(await hub.vcAndDiscloseCircuitVerifier()).to.equal(vcAndDisclose.target); - }); - - it("should not return when view function is called by non-proxy", async () => { - const { hubImpl } = deployedActors; - await expect(hubImpl.vcAndDiscloseCircuitVerifier()).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return correct register circuit verifier address", async () => { - const { hub, register } = deployedActors; - const verifierId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; - expect(await hub.sigTypeToRegisterCircuitVerifiers(verifierId)).to.equal(register.target); - }); - - it("should not return when view function is called by non-proxy", async () => { - const { hubImpl } = deployedActors; - await expect(hubImpl.sigTypeToRegisterCircuitVerifiers(1)).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should return correct dsc circuit verifier address", async () => { - const { hub, dsc } = deployedActors; - const verifierId = DscVerifierId.dsc_sha256_rsa_65537_4096; - expect(await hub.sigTypeToDscCircuitVerifiers(verifierId)).to.equal(dsc.target); - }); - - it("should not return when view function is called by non-proxy", async () => { - const { hubImpl } = deployedActors; - await expect(hubImpl.sigTypeToDscCircuitVerifiers(1)).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); - }); - - }); - - describe("Upgradeabilitiy", () => { - it("should preserve state after upgrade", async () => { - const {hub, owner} = deployedActors; - - const registryAddressBefore = await hub.registry(); - const vcAndDiscloseCircuitVerifierBefore = await hub.vcAndDiscloseCircuitVerifier(); - const registerCircuitVerifierIdsBefore = await hub.sigTypeToRegisterCircuitVerifiers( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096 - ); - const dscCircuitVerifierIdsBefore = await hub.sigTypeToDscCircuitVerifiers( - DscVerifierId.dsc_sha256_rsa_65537_4096 - ); - - const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); - const hubV2Implementation = await HubV2Factory.deploy(); - await hubV2Implementation.waitForDeployment(); - - const hubAsImpl = await ethers.getContractAt( - "testUpgradedIdentityVerificationHubImplV1", - hub.target - ); - - await hubAsImpl.connect(owner).upgradeToAndCall( - hubV2Implementation.target, - HubV2Factory.interface.encodeFunctionData("initialize", [true]) - ); - - const hubV2 = await ethers.getContractAt("testUpgradedIdentityVerificationHubImplV1", hub.target); - - expect(await hubV2.isTest()).to.equal(true); - - expect(await hubV2.registry()).to.equal(registryAddressBefore); - expect(await hubV2.vcAndDiscloseCircuitVerifier()).to.equal(vcAndDiscloseCircuitVerifierBefore); - expect(await hubV2.sigTypeToRegisterCircuitVerifiers( - RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096 - )).to.equal(registerCircuitVerifierIdsBefore); - expect(await hubV2.sigTypeToDscCircuitVerifiers( - DscVerifierId.dsc_sha256_rsa_65537_4096 - )).to.equal(dscCircuitVerifierIdsBefore); - - const implementationSlot = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"; - const implementationAddress = await ethers.provider.getStorage(hub.target, implementationSlot); - expect(ethers.zeroPadValue(implementationAddress, 32)) - .to.equal(ethers.zeroPadValue(hubV2Implementation.target.toString(), 32)); - }); - - it("should not allow non-proxy to upgrade implementation", async() => { - const {hub, hubImpl, owner} = deployedActors; - - const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); - const hubV2Implementation = await HubV2Factory.deploy(); - await hubV2Implementation.waitForDeployment(); - - const hubAsImpl = await ethers.getContractAt( - "testUpgradedIdentityVerificationHubImplV1", - hub.target - ); - - await expect( - hubImpl.connect(owner).upgradeToAndCall( - hubV2Implementation.target, - HubV2Factory.interface.encodeFunctionData("initialize", [true]) - ) - ).to.be.revertedWithCustomError(hubAsImpl, "UUPSUnauthorizedCallContext"); - }); - - it("should not allow non-owner to upgrade implementation", async () => { - const {hub, owner, user1} = deployedActors; - - const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); - const hubV2Implementation = await HubV2Factory.deploy(); - await hubV2Implementation.waitForDeployment(); - - const hubAsImpl = await ethers.getContractAt( - "testUpgradedIdentityVerificationHubImplV1", - hub.target - ); - - await expect( - hubAsImpl.connect(user1).upgradeToAndCall( - hubV2Implementation.target, - HubV2Factory.interface.encodeFunctionData("initialize", [true]) - ) - ).to.be.revertedWithCustomError(hubAsImpl, "OwnableUnauthorizedAccount"); - }); - - it("should not allow implementation contract to be initialized directly", async () => { - const {hub, owner} = deployedActors; - - const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); - const hubV2Implementation = await HubV2Factory.deploy(); - await hubV2Implementation.waitForDeployment(); - - await expect( - hubV2Implementation.initialize(true) - ).to.be.revertedWithCustomError(hub, "InvalidInitialization"); - }); - - it("should not allow direct calls to implementation contract", async () => { - const {hub, owner} = deployedActors; - - const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); - const hubV2Implementation = await HubV2Factory.deploy(); - await hubV2Implementation.waitForDeployment(); - - await expect( - hubV2Implementation.isTest() - ).to.be.revertedWithCustomError(hubV2Implementation, "UUPSUnauthorizedCallContext"); - }); - }); -}); \ No newline at end of file + it("should not batch update register circuit verifiers if caller is not owner", async () => { + const { hub, user1 } = deployedActors; + const verifierIds = [1, 2]; + const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; + + await expect( + hub.connect(user1).batchUpdateRegisterCircuitVerifiers(verifierIds, newVerifierAddresses), + ).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); + }); + + it("should not batch update register circuit verifiers if caller is not proxy", async () => { + const { hubImpl, user1 } = deployedActors; + const verifierIds = [1, 2]; + const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; + + await expect( + hubImpl.batchUpdateRegisterCircuitVerifiers(verifierIds, newVerifierAddresses), + ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should not batch update register verifiers if length is not the same", async () => { + const { hub, user1 } = deployedActors; + const verifierIds = [1]; + const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; + + await expect( + hub.batchUpdateRegisterCircuitVerifiers(verifierIds, newVerifierAddresses), + ).to.be.revertedWithCustomError(hub, "LENGTH_MISMATCH"); + }); + + it("should batch update DSC circuit verifiers", async () => { + const { hub, user1 } = deployedActors; + const verifierIds = [1, 2]; + const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; + + await expect(hub.batchUpdateDscCircuitVerifiers(verifierIds, newVerifierAddresses)) + .to.emit(hub, "DscCircuitVerifierUpdated") + .withArgs(verifierIds[0], newVerifierAddresses[0]) + .to.emit(hub, "DscCircuitVerifierUpdated") + .withArgs(verifierIds[1], newVerifierAddresses[1]); + + for (let i = 0; i < verifierIds.length; i++) { + expect(await hub.sigTypeToDscCircuitVerifiers(verifierIds[i])).to.equal(newVerifierAddresses[i]); + } + }); + + it("should not batch update DSC circuit verifiers if caller is not owner", async () => { + const { hub, user1 } = deployedActors; + const verifierIds = [1, 2]; + const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; + + await expect( + hub.connect(user1).batchUpdateDscCircuitVerifiers(verifierIds, newVerifierAddresses), + ).to.be.revertedWithCustomError(hub, "OwnableUnauthorizedAccount"); + }); + + it("should not batch update DSC circuit verifiers if caller is not proxy", async () => { + const { hubImpl, user1 } = deployedActors; + const verifierIds = [1, 2]; + const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; + + await expect( + hubImpl.batchUpdateDscCircuitVerifiers(verifierIds, newVerifierAddresses), + ).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should not batch update dsc verifiers if length is not the same", async () => { + const { hub, user1 } = deployedActors; + const verifierIds = [1]; + const newVerifierAddresses = [await user1.getAddress(), await user1.getAddress()]; + + await expect(hub.batchUpdateDscCircuitVerifiers(verifierIds, newVerifierAddresses)).to.be.revertedWithCustomError( + hub, + "LENGTH_MISMATCH", + ); + }); + }); + + describe("View functions", () => { + it("should return correct registry address", async () => { + const { hub, registry } = deployedActors; + expect(await hub.registry()).to.equal(registry.target); + }); + + it("should not return when view function is called by non-proxy", async () => { + const { hubImpl } = deployedActors; + await expect(hubImpl.registry()).to.be.revertedWithCustomError(hubImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should return correct vcAndDiscloseCircuitVerifier address", async () => { + const { hub, vcAndDisclose } = deployedActors; + expect(await hub.vcAndDiscloseCircuitVerifier()).to.equal(vcAndDisclose.target); + }); + + it("should not return when view function is called by non-proxy", async () => { + const { hubImpl } = deployedActors; + await expect(hubImpl.vcAndDiscloseCircuitVerifier()).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return correct register circuit verifier address", async () => { + const { hub, register } = deployedActors; + const verifierId = RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096; + expect(await hub.sigTypeToRegisterCircuitVerifiers(verifierId)).to.equal(register.target); + }); + + it("should not return when view function is called by non-proxy", async () => { + const { hubImpl } = deployedActors; + await expect(hubImpl.sigTypeToRegisterCircuitVerifiers(1)).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + + it("should return correct dsc circuit verifier address", async () => { + const { hub, dsc } = deployedActors; + const verifierId = DscVerifierId.dsc_sha256_rsa_65537_4096; + expect(await hub.sigTypeToDscCircuitVerifiers(verifierId)).to.equal(dsc.target); + }); + + it("should not return when view function is called by non-proxy", async () => { + const { hubImpl } = deployedActors; + await expect(hubImpl.sigTypeToDscCircuitVerifiers(1)).to.be.revertedWithCustomError( + hubImpl, + "UUPSUnauthorizedCallContext", + ); + }); + }); + + describe("Upgradeabilitiy", () => { + it("should preserve state after upgrade", async () => { + const { hub, owner } = deployedActors; + + const registryAddressBefore = await hub.registry(); + const vcAndDiscloseCircuitVerifierBefore = await hub.vcAndDiscloseCircuitVerifier(); + const registerCircuitVerifierIdsBefore = await hub.sigTypeToRegisterCircuitVerifiers( + RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096, + ); + const dscCircuitVerifierIdsBefore = await hub.sigTypeToDscCircuitVerifiers( + DscVerifierId.dsc_sha256_rsa_65537_4096, + ); + + const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); + const hubV2Implementation = await HubV2Factory.deploy(); + await hubV2Implementation.waitForDeployment(); + + const hubAsImpl = await ethers.getContractAt("testUpgradedIdentityVerificationHubImplV1", hub.target); + + await hubAsImpl + .connect(owner) + .upgradeToAndCall(hubV2Implementation.target, HubV2Factory.interface.encodeFunctionData("initialize", [true])); + + const hubV2 = await ethers.getContractAt("testUpgradedIdentityVerificationHubImplV1", hub.target); + + expect(await hubV2.isTest()).to.equal(true); + + expect(await hubV2.registry()).to.equal(registryAddressBefore); + expect(await hubV2.vcAndDiscloseCircuitVerifier()).to.equal(vcAndDiscloseCircuitVerifierBefore); + expect( + await hubV2.sigTypeToRegisterCircuitVerifiers(RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096), + ).to.equal(registerCircuitVerifierIdsBefore); + expect(await hubV2.sigTypeToDscCircuitVerifiers(DscVerifierId.dsc_sha256_rsa_65537_4096)).to.equal( + dscCircuitVerifierIdsBefore, + ); + + const implementationSlot = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"; + const implementationAddress = await ethers.provider.getStorage(hub.target, implementationSlot); + expect(ethers.zeroPadValue(implementationAddress, 32)).to.equal( + ethers.zeroPadValue(hubV2Implementation.target.toString(), 32), + ); + }); + + it("should not allow non-proxy to upgrade implementation", async () => { + const { hub, hubImpl, owner } = deployedActors; + + const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); + const hubV2Implementation = await HubV2Factory.deploy(); + await hubV2Implementation.waitForDeployment(); + + const hubAsImpl = await ethers.getContractAt("testUpgradedIdentityVerificationHubImplV1", hub.target); + + await expect( + hubImpl + .connect(owner) + .upgradeToAndCall( + hubV2Implementation.target, + HubV2Factory.interface.encodeFunctionData("initialize", [true]), + ), + ).to.be.revertedWithCustomError(hubAsImpl, "UUPSUnauthorizedCallContext"); + }); + + it("should not allow non-owner to upgrade implementation", async () => { + const { hub, owner, user1 } = deployedActors; + + const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); + const hubV2Implementation = await HubV2Factory.deploy(); + await hubV2Implementation.waitForDeployment(); + + const hubAsImpl = await ethers.getContractAt("testUpgradedIdentityVerificationHubImplV1", hub.target); + + await expect( + hubAsImpl + .connect(user1) + .upgradeToAndCall( + hubV2Implementation.target, + HubV2Factory.interface.encodeFunctionData("initialize", [true]), + ), + ).to.be.revertedWithCustomError(hubAsImpl, "OwnableUnauthorizedAccount"); + }); + + it("should not allow implementation contract to be initialized directly", async () => { + const { hub, owner } = deployedActors; + + const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); + const hubV2Implementation = await HubV2Factory.deploy(); + await hubV2Implementation.waitForDeployment(); + + await expect(hubV2Implementation.initialize(true)).to.be.revertedWithCustomError(hub, "InvalidInitialization"); + }); + + it("should not allow direct calls to implementation contract", async () => { + const { hub, owner } = deployedActors; + + const HubV2Factory = await ethers.getContractFactory("testUpgradedIdentityVerificationHubImplV1", owner); + const hubV2Implementation = await HubV2Factory.deploy(); + await hubV2Implementation.waitForDeployment(); + + await expect(hubV2Implementation.isTest()).to.be.revertedWithCustomError( + hubV2Implementation, + "UUPSUnauthorizedCallContext", + ); + }); + }); +}); diff --git a/contracts/test/unit/ImplRoot.test.ts b/contracts/test/unit/ImplRoot.test.ts index c726aa90f..0e563229b 100644 --- a/contracts/test/unit/ImplRoot.test.ts +++ b/contracts/test/unit/ImplRoot.test.ts @@ -4,96 +4,92 @@ import { ZeroAddress } from "ethers"; import { MockImplRoot } from "../../typechain-types"; describe("ImplRoot", () => { - let mockImplRoot: MockImplRoot; - let owner: any; - let user1: any; + let mockImplRoot: MockImplRoot; + let owner: any; + let user1: any; + + beforeEach(async () => { + [owner, user1] = await ethers.getSigners(); + + const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); + mockImplRoot = await MockImplRootFactory.deploy(); + await mockImplRoot.waitForDeployment(); + }); + + describe("Initialization", () => { + it("should revert when calling __ImplRoot_init outside initialization phase", async () => { + await expect(mockImplRoot.exposed__ImplRoot_init()).to.be.revertedWithCustomError( + mockImplRoot, + "NotInitializing", + ); + }); + + it("should revert when initializing with zero address owner", async () => { + await expect(mockImplRoot.exposed__Ownable_init(ZeroAddress)) + .to.be.revertedWithCustomError(mockImplRoot, "OwnableInvalidOwner") + .withArgs(ZeroAddress); + }); + + it("should set correct owner when initializing with valid address", async () => { + await mockImplRoot.exposed__Ownable_init(owner.address); + expect(await mockImplRoot.owner()).to.equal(owner.address); + }); + + it("should revert when initializing twice", async () => { + await mockImplRoot.exposed__Ownable_init(owner.address); + + await expect(mockImplRoot.exposed__Ownable_init(owner.address)).to.be.revertedWithCustomError( + mockImplRoot, + "InvalidInitialization", + ); + }); + }); + + describe("Upgrade Authorization", () => { + let proxy: any; + let implContract: any; beforeEach(async () => { - [owner, user1] = await ethers.getSigners(); - - const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); - mockImplRoot = await MockImplRootFactory.deploy(); - await mockImplRoot.waitForDeployment(); + const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); + implContract = await MockImplRootFactory.deploy(); + await implContract.waitForDeployment(); + + const initData = implContract.interface.encodeFunctionData("exposed__Ownable_init", [owner.address]); + + const ProxyFactory = await ethers.getContractFactory("ERC1967Proxy"); + proxy = await ProxyFactory.deploy(implContract.target, initData); + await proxy.waitForDeployment(); + + mockImplRoot = await ethers.getContractAt("MockImplRoot", proxy.target); + }); + + it("should revert when calling _authorizeUpgrade from non-proxy", async () => { + const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); + const newImpl = await MockImplRootFactory.deploy(); + await newImpl.waitForDeployment(); + + await expect(implContract.exposed_authorizeUpgrade(newImpl.target)).to.be.revertedWithCustomError( + implContract, + "UUPSUnauthorizedCallContext", + ); }); - describe("Initialization", () => { - it("should revert when calling __ImplRoot_init outside initialization phase", async () => { - await expect( - mockImplRoot.exposed__ImplRoot_init() - ).to.be.revertedWithCustomError(mockImplRoot, "NotInitializing"); - }); - - it("should revert when initializing with zero address owner", async () => { - await expect( - mockImplRoot.exposed__Ownable_init(ZeroAddress) - ).to.be.revertedWithCustomError(mockImplRoot, "OwnableInvalidOwner") - .withArgs(ZeroAddress); - }); - - it("should set correct owner when initializing with valid address", async () => { - await mockImplRoot.exposed__Ownable_init(owner.address); - expect(await mockImplRoot.owner()).to.equal(owner.address); - }); - - it("should revert when initializing twice", async () => { - await mockImplRoot.exposed__Ownable_init(owner.address); - - await expect( - mockImplRoot.exposed__Ownable_init(owner.address) - ).to.be.revertedWithCustomError(mockImplRoot, "InvalidInitialization"); - }); + it("should revert when non-owner calls _authorizeUpgrade", async () => { + const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); + const newImpl = await MockImplRootFactory.deploy(); + await newImpl.waitForDeployment(); + + await expect(mockImplRoot.connect(user1).exposed_authorizeUpgrade(newImpl.target)) + .to.be.revertedWithCustomError(mockImplRoot, "OwnableUnauthorizedAccount") + .withArgs(user1.address); }); - describe("Upgrade Authorization", () => { - let proxy: any; - let implContract: any; - - beforeEach(async () => { - const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); - implContract = await MockImplRootFactory.deploy(); - await implContract.waitForDeployment(); - - const initData = implContract.interface.encodeFunctionData("exposed__Ownable_init", [owner.address]); - - const ProxyFactory = await ethers.getContractFactory("ERC1967Proxy"); - proxy = await ProxyFactory.deploy( - implContract.target, - initData - ); - await proxy.waitForDeployment(); - - mockImplRoot = await ethers.getContractAt("MockImplRoot", proxy.target); - }); - - it("should revert when calling _authorizeUpgrade from non-proxy", async () => { - const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); - const newImpl = await MockImplRootFactory.deploy(); - await newImpl.waitForDeployment(); - - await expect( - implContract.exposed_authorizeUpgrade(newImpl.target) - ).to.be.revertedWithCustomError(implContract, "UUPSUnauthorizedCallContext"); - }); - - it("should revert when non-owner calls _authorizeUpgrade", async () => { - const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); - const newImpl = await MockImplRootFactory.deploy(); - await newImpl.waitForDeployment(); - - await expect( - mockImplRoot.connect(user1).exposed_authorizeUpgrade(newImpl.target) - ).to.be.revertedWithCustomError(mockImplRoot, "OwnableUnauthorizedAccount") - .withArgs(user1.address); - }); - - it("should allow owner to call _authorizeUpgrade through proxy", async () => { - const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); - const newImpl = await MockImplRootFactory.deploy(); - await newImpl.waitForDeployment(); - - await expect( - mockImplRoot.connect(owner).exposed_authorizeUpgrade(newImpl.target) - ).to.not.be.reverted; - }); + it("should allow owner to call _authorizeUpgrade through proxy", async () => { + const MockImplRootFactory = await ethers.getContractFactory("MockImplRoot", owner); + const newImpl = await MockImplRootFactory.deploy(); + await newImpl.waitForDeployment(); + + await expect(mockImplRoot.connect(owner).exposed_authorizeUpgrade(newImpl.target)).to.not.be.reverted; }); -}); \ No newline at end of file + }); +}); diff --git a/contracts/test/unit/PCR0Manager.test.ts b/contracts/test/unit/PCR0Manager.test.ts index b7a455994..0557e19a3 100644 --- a/contracts/test/unit/PCR0Manager.test.ts +++ b/contracts/test/unit/PCR0Manager.test.ts @@ -7,48 +7,44 @@ describe("PCR0Manager", function () { let pcr0Manager: PCR0Manager; let owner: SignerWithAddress; let other: SignerWithAddress; - + // Sample PCR0 value for testing (48 bytes) const samplePCR0 = "0x" + "00".repeat(48); const invalidPCR0 = "0x" + "00".repeat(32); // 32 bytes (invalid size) beforeEach(async function () { [owner, other] = await ethers.getSigners(); - + const PCR0Manager = await ethers.getContractFactory("PCR0Manager"); pcr0Manager = await PCR0Manager.deploy(); }); describe("addPCR0", function () { it("should allow owner to add PCR0 value", async function () { - await expect(pcr0Manager.addPCR0(samplePCR0)) - .to.emit(pcr0Manager, "PCR0Added"); - + await expect(pcr0Manager.addPCR0(samplePCR0)).to.emit(pcr0Manager, "PCR0Added"); + expect(await pcr0Manager.isPCR0Set(samplePCR0)).to.be.true; }); it("should allow owner to add PCR0 value", async function () { - await expect(pcr0Manager.addPCR0(samplePCR0)) - .to.emit(pcr0Manager, "PCR0Added"); - - expect(await pcr0Manager.isPCR0Set(samplePCR0)).to.be.true; - }); - + await expect(pcr0Manager.addPCR0(samplePCR0)).to.emit(pcr0Manager, "PCR0Added"); + + expect(await pcr0Manager.isPCR0Set(samplePCR0)).to.be.true; + }); + it("should not allow non-owner to add PCR0 value", async function () { - await expect(pcr0Manager.connect(other).addPCR0(samplePCR0)) + await expect(pcr0Manager.connect(other).addPCR0(samplePCR0)) .to.be.revertedWithCustomError(pcr0Manager, "OwnableUnauthorizedAccount") .withArgs(other.address); }); it("should not allow adding PCR0 with invalid size", async function () { - await expect(pcr0Manager.addPCR0(invalidPCR0)) - .to.be.revertedWith("PCR0 must be 48 bytes"); + await expect(pcr0Manager.addPCR0(invalidPCR0)).to.be.revertedWith("PCR0 must be 48 bytes"); }); it("should not allow adding duplicate PCR0", async function () { await pcr0Manager.addPCR0(samplePCR0); - await expect(pcr0Manager.addPCR0(samplePCR0)) - .to.be.revertedWith("PCR0 already set"); + await expect(pcr0Manager.addPCR0(samplePCR0)).to.be.revertedWith("PCR0 already set"); }); }); @@ -58,45 +54,41 @@ describe("PCR0Manager", function () { }); it("should allow owner to remove PCR0 value", async function () { - await expect(pcr0Manager.removePCR0(samplePCR0)) - .to.emit(pcr0Manager, "PCR0Removed"); - + await expect(pcr0Manager.removePCR0(samplePCR0)).to.emit(pcr0Manager, "PCR0Removed"); + expect(await pcr0Manager.isPCR0Set(samplePCR0)).to.be.false; }); // This is not actually needed, just for increase the coverage of the test code it("should not allow remove PCR0 with invalid size", async function () { - await expect(pcr0Manager.removePCR0(invalidPCR0)) - .to.be.revertedWith("PCR0 must be 48 bytes"); - }); + await expect(pcr0Manager.removePCR0(invalidPCR0)).to.be.revertedWith("PCR0 must be 48 bytes"); + }); it("should not allow non-owner to remove PCR0 value", async function () { - await expect(pcr0Manager.connect(other).removePCR0(samplePCR0)) - .to.be.revertedWithCustomError(pcr0Manager, "OwnableUnauthorizedAccount") - .withArgs(other.address); - }); + await expect(pcr0Manager.connect(other).removePCR0(samplePCR0)) + .to.be.revertedWithCustomError(pcr0Manager, "OwnableUnauthorizedAccount") + .withArgs(other.address); + }); it("should not allow removing non-existent PCR0", async function () { const otherPCR0 = "0x" + "11".repeat(48); - await expect(pcr0Manager.removePCR0(otherPCR0)) - .to.be.revertedWith("PCR0 not set"); + await expect(pcr0Manager.removePCR0(otherPCR0)).to.be.revertedWith("PCR0 not set"); }); }); describe("isPCR0Set", function () { it("should correctly return PCR0 status", async function () { expect(await pcr0Manager.isPCR0Set(samplePCR0)).to.be.false; - + await pcr0Manager.addPCR0(samplePCR0); expect(await pcr0Manager.isPCR0Set(samplePCR0)).to.be.true; - + await pcr0Manager.removePCR0(samplePCR0); expect(await pcr0Manager.isPCR0Set(samplePCR0)).to.be.false; }); it("should not allow checking PCR0 with invalid size", async function () { - await expect(pcr0Manager.isPCR0Set(invalidPCR0)) - .to.be.revertedWith("PCR0 must be 48 bytes"); + await expect(pcr0Manager.isPCR0Set(invalidPCR0)).to.be.revertedWith("PCR0 must be 48 bytes"); }); }); -}); \ No newline at end of file +}); diff --git a/contracts/test/unit/formatter.test.ts b/contracts/test/unit/formatter.test.ts index 1ea2b3dee..3cd107ccf 100644 --- a/contracts/test/unit/formatter.test.ts +++ b/contracts/test/unit/formatter.test.ts @@ -5,416 +5,417 @@ import { Formatter } from "../utils/formatter"; import { splitHexFromBack } from "../utils/utils"; describe("Formatter", function () { - let testFormatter: TestFormatter; - - before(async function () { - const TestFormatterFactory = await ethers.getContractFactory("TestFormatter"); - testFormatter = await TestFormatterFactory.deploy(); - await testFormatter.waitForDeployment(); - }); - - describe("formatName", function () { - it("should match contract and ts implementation", async function () { - const input = "DUPONT< Formatter.formatDate(input)) - .to.throw("InvalidDateLength"); - }); - - it("should handle errors consistently when month is out of range", async function () { - const input = "941331"; - await expect(testFormatter.testFormatDate(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidMonthRange"); - expect(() => Formatter.formatDate(input)) - .to.throw("InvalidMonthRange"); - }); - - it("should handle errors consistently when month is out of range (more than 20)", async function () { - const input = "942032"; - await expect(testFormatter.testFormatDate(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidMonthRange"); - expect(() => Formatter.formatDate(input)) - .to.throw("InvalidMonthRange"); - }); - - it("should handle errors consistently when day is out of range (more than 31)", async function () { - const input = "940132"; - await expect(testFormatter.testFormatDate(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidDayRange"); - expect(() => Formatter.formatDate(input)) - .to.throw("InvalidDayRange"); - }); - - it("should handle errors consistently when day is out of range (more than 40)", async function () { - const input = "940140"; - await expect(testFormatter.testFormatDate(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidDayRange"); - expect(() => Formatter.formatDate(input)) - .to.throw("InvalidDayRange"); - }); - }); - - describe("numAsciiToUint", function () { - it("should match contract and ts implementation for valid ASCII numbers", async function () { - for(let i = 0; i <= 9; i++) { - const input = 48 + i; - const contractResult = await testFormatter.testNumAsciiToUint(input); - const tsResult = Formatter.numAsciiToUint(input); - expect(contractResult).to.equal(tsResult); - expect(contractResult).to.equal(i); - } - }); - - }); - - describe("fieldElementsToBytes", function () { - it("should match contract and ts implementation", async function () { - const input = [123n, 456n, 789n]; - const contractResult = await testFormatter.testFieldElementsToBytes(input); - const tsResult = toHexString(Formatter.fieldElementsToBytes(input as [bigint, bigint, bigint])); - expect(contractResult).to.deep.equal(tsResult); - }); - - it("should match contract and ts implementation for zero values", async function () { - const input = [0n, 0n, 0n]; - const contractResult = await testFormatter.testFieldElementsToBytes(input); - const tsResult =toHexString(Formatter.fieldElementsToBytes(input as [bigint, bigint, bigint])); - expect(contractResult).to.deep.equal(tsResult); - }); - - it("should revert when field element is out of range", async function () { - const input = [ - 21888242871839275222246405745257275088548364400416034343698204186575808495617n, - 0n, - 0n - ] as [bigint, bigint, bigint]; - await expect(testFormatter.testFieldElementsToBytes(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidFieldElement"); - }); - - it("should revert when field element is out of range", async function () { - const input = [ - 0n, - 21888242871839275222246405745257275088548364400416034343698204186575808495617n, - 0n - ] as [bigint, bigint, bigint]; - await expect(testFormatter.testFieldElementsToBytes(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidFieldElement"); - }); - - it("should revert when field element is out of range", async function () { - const input = [ - 0n, - 0n, - 21888242871839275222246405745257275088548364400416034343698204186575808495617n - ] as [bigint, bigint, bigint]; - await expect(testFormatter.testFieldElementsToBytes(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidFieldElement"); - }); - }); - - describe("extractForbiddenCountriesFromPacked", function () { - it("should match contract and ts implementation", async function () { - const input = "0x414141424242434343"; - const contractResult = await testFormatter.testExtractForbiddenCountriesFromPacked( - [ - input, - 0n, - 0n, - 0n, - ] - ); - const tsResult = Formatter.extractForbiddenCountriesFromPacked(BigInt(input)); - expect(contractResult).to.deep.equal(tsResult); - expect(contractResult[0]).to.equal("CCC"); - expect(contractResult[1]).to.equal("BBB"); - expect(contractResult[2]).to.equal("AAA"); - }); - - it("should revert when field element is out of range", async function () { - const input = 21888242871839275222246405745257275088548364400416034343698204186575808495617n; - - await expect(testFormatter.testExtractForbiddenCountriesFromPacked([ - input, - 0n, - 0n, - 0n - ] - )) - .to.be.revertedWithCustomError(testFormatter, "InvalidFieldElement"); - }); - }); - - describe("proofDateToUnixTimestamp", function () { - it("should match contract and ts implementation", async function () { - const testCases = [ - { - input: [9, 4, 0, 1, 3, 1], - expected: 3915734400n - }, - { - input: [0, 0, 0, 1, 0, 1], - expected: 946684800n - }, - { - input: [2, 0, 0, 2, 2, 9], - expected: 1582934400n - } - ]; - - for (const testCase of testCases) { - const contractResult = await testFormatter.testProofDateToUnixTimestamp(testCase.input); - const tsResult = Formatter.proofDateToUnixTimestamp(testCase.input); - expect(contractResult).to.equal(BigInt(tsResult)); - expect(contractResult).to.equal(testCase.expected); - } - }); - - it("should revert when date digit is out of range", async function () { - const input = [9, 4, 0, 1, 2, 10]; - await expect(testFormatter.testProofDateToUnixTimestamp(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidDateDigit"); - }); - }); - - describe("dateToUnixTimestamp", function () { - it("should match contract and ts implementation", async function () { - const testCases = [ - { - input: "940131", - expected: 3915734400n - }, - { - input: "000101", - expected: 946684800n - } - ]; - - for (const testCase of testCases) { - const contractResult = await testFormatter.testDateToUnixTimestamp(testCase.input); - const tsResult = Formatter.dateToUnixTimestamp(testCase.input); - expect(contractResult).to.equal(BigInt(tsResult)); - expect(contractResult).to.equal(testCase.expected); - } - }); - - it("should handle errors consistently between contract and ts", async function () { - const input = "12345"; - await expect(testFormatter.testDateToUnixTimestamp(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidDateLength"); - expect(() => Formatter.dateToUnixTimestamp(input)) - .to.throw("InvalidDateLength"); - }); - - it("should revert when month is out of range (more than 12)", async function () { - const input = "941331"; - await expect(testFormatter.testDateToUnixTimestamp(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidMonthRange"); - }); - - it("should revert when month is out of range (more than 20)", async function () { - const input = "942031"; - await expect(testFormatter.testDateToUnixTimestamp(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidMonthRange"); - }); - - it("should revert when day is out of range (more than 31)", async function () { - const input = "940132"; - await expect(testFormatter.testDateToUnixTimestamp(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidDayRange"); - }); - - it("should revert when day is out of range (more than 40)", async function () { - const input = "940140"; - await expect(testFormatter.testDateToUnixTimestamp(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidDayRange"); - }); - - }); - - describe("substring", function () { - it("should match contract and ts implementation", async function () { - const testCases = [ - { str: "ABCDEF", start: 0, end: 3, expected: "ABC" }, - { str: "ABCDEF", start: 2, end: 4, expected: "CD" }, - { str: "ABCDEF", start: 0, end: 6, expected: "ABCDEF" } - ]; - - for (const testCase of testCases) { - const contractResult = await testFormatter.testSubstring( - testCase.str, - testCase.start, - testCase.end - ); - const tsResult = Formatter.substring( - testCase.str, - testCase.start, - testCase.end - ); - expect(contractResult).to.equal(tsResult); - expect(contractResult).to.equal(testCase.expected); - } - }); - }); - - describe("parseDatePart", function () { - it("should match contract and ts implementation", async function () { - const testCases = [ - { input: "12", expected: 12 }, - { input: "01", expected: 1 }, - { input: "00", expected: 0 }, - { input: "", expected: 0 } - ]; - - for (const testCase of testCases) { - const contractResult = await testFormatter.testParseDatePart(testCase.input); - const tsResult = Formatter.parseDatePart(testCase.input); - expect(contractResult).to.equal(tsResult); - expect(contractResult).to.equal(testCase.expected); - } - }); - - }); - - describe("toTimestamp", function () { - it("should match contract and ts implementation", async function () { - const testCases = [ - { - year: 2000, - month: 1, - day: 1, - expected: 946684800n - }, - { - year: 2020, - month: 2, - day: 29, - expected: 1582934400n - } - ]; - - for (const testCase of testCases) { - const contractResult = await testFormatter.testToTimestamp( - testCase.year, - testCase.month, - testCase.day - ); - const tsResult = Formatter.toTimestamp( - testCase.year, - testCase.month, - testCase.day - ); - expect(contractResult).to.equal(BigInt(tsResult)); - expect(contractResult).to.equal(testCase.expected); - } - }); - - it("should revert when year is out of range", async function () { - const input = 1969; - await expect(testFormatter.testToTimestamp(input, 1, 1)) - .to.be.revertedWithCustomError(testFormatter, "InvalidYearRange"); - }); - - it("should revert when year is out of range", async function () { - const input = 2101; - await expect(testFormatter.testToTimestamp(input, 1, 1)) - .to.be.revertedWithCustomError(testFormatter, "InvalidYearRange"); - }); - - it("should revert when month is out of range", async function () { - const input = 13; - await expect(testFormatter.testToTimestamp(2000, input, 1)) - .to.be.revertedWithCustomError(testFormatter, "InvalidMonthRange"); - }); - - it("should revert when month is out of range", async function () { - const input = 0; - await expect(testFormatter.testToTimestamp(2000, input, 1)) - .to.be.revertedWithCustomError(testFormatter, "InvalidMonthRange"); - }); - - it("should revert when day is out of range", async function () { - const input = 32; - await expect(testFormatter.testToTimestamp(2000, 1, input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidDayRange"); - }); - - it("should revert when day is out of range", async function () { - const input = 0; - await expect(testFormatter.testToTimestamp(2000, 1, input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidDayRange"); - }); - - }); - - describe("isLeapYear", function () { - it("should match contract and ts implementation", async function () { - const testCases = [ - { year: 2000, expected: true }, - { year: 2020, expected: true }, - { year: 2001, expected: false }, - { year: 2042, expected: false }, - { year: 2100, expected: false }, - { year: 1970, expected: false }, - ]; - - for (const testCase of testCases) { - const contractResult = await testFormatter.testIsLeapYear(testCase.year); - const tsResult = Formatter.isLeapYear(testCase.year); - expect(contractResult).to.equal(tsResult); - expect(contractResult).to.equal(testCase.expected); - } - }); - - it("should revert when year is out of range", async function () { - const input = 1969; - await expect(testFormatter.testIsLeapYear(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidYearRange"); - }); - - it("should revert when year is out of range", async function () { - const input = 2101; - await expect(testFormatter.testIsLeapYear(input)) - .to.be.revertedWithCustomError(testFormatter, "InvalidYearRange"); - }); - - + let testFormatter: TestFormatter; + + before(async function () { + const TestFormatterFactory = await ethers.getContractFactory("TestFormatter"); + testFormatter = await TestFormatterFactory.deploy(); + await testFormatter.waitForDeployment(); + }); + + describe("formatName", function () { + it("should match contract and ts implementation", async function () { + const input = "DUPONT< Formatter.formatDate(input)).to.throw("InvalidDateLength"); + }); + + it("should handle errors consistently when month is out of range", async function () { + const input = "941331"; + await expect(testFormatter.testFormatDate(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidMonthRange", + ); + expect(() => Formatter.formatDate(input)).to.throw("InvalidMonthRange"); + }); + + it("should handle errors consistently when month is out of range (more than 20)", async function () { + const input = "942032"; + await expect(testFormatter.testFormatDate(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidMonthRange", + ); + expect(() => Formatter.formatDate(input)).to.throw("InvalidMonthRange"); + }); + + it("should handle errors consistently when day is out of range (more than 31)", async function () { + const input = "940132"; + await expect(testFormatter.testFormatDate(input)).to.be.revertedWithCustomError(testFormatter, "InvalidDayRange"); + expect(() => Formatter.formatDate(input)).to.throw("InvalidDayRange"); + }); + + it("should handle errors consistently when day is out of range (more than 40)", async function () { + const input = "940140"; + await expect(testFormatter.testFormatDate(input)).to.be.revertedWithCustomError(testFormatter, "InvalidDayRange"); + expect(() => Formatter.formatDate(input)).to.throw("InvalidDayRange"); + }); + }); + + describe("numAsciiToUint", function () { + it("should match contract and ts implementation for valid ASCII numbers", async function () { + for (let i = 0; i <= 9; i++) { + const input = 48 + i; + const contractResult = await testFormatter.testNumAsciiToUint(input); + const tsResult = Formatter.numAsciiToUint(input); + expect(contractResult).to.equal(tsResult); + expect(contractResult).to.equal(i); + } + }); + }); + + describe("fieldElementsToBytes", function () { + it("should match contract and ts implementation", async function () { + const input = [123n, 456n, 789n]; + const contractResult = await testFormatter.testFieldElementsToBytes(input); + const tsResult = toHexString(Formatter.fieldElementsToBytes(input as [bigint, bigint, bigint])); + expect(contractResult).to.deep.equal(tsResult); + }); + + it("should match contract and ts implementation for zero values", async function () { + const input = [0n, 0n, 0n]; + const contractResult = await testFormatter.testFieldElementsToBytes(input); + const tsResult = toHexString(Formatter.fieldElementsToBytes(input as [bigint, bigint, bigint])); + expect(contractResult).to.deep.equal(tsResult); + }); + + it("should revert when field element is out of range", async function () { + const input = [21888242871839275222246405745257275088548364400416034343698204186575808495617n, 0n, 0n] as [ + bigint, + bigint, + bigint, + ]; + await expect(testFormatter.testFieldElementsToBytes(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidFieldElement", + ); + }); + + it("should revert when field element is out of range", async function () { + const input = [0n, 21888242871839275222246405745257275088548364400416034343698204186575808495617n, 0n] as [ + bigint, + bigint, + bigint, + ]; + await expect(testFormatter.testFieldElementsToBytes(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidFieldElement", + ); + }); + + it("should revert when field element is out of range", async function () { + const input = [0n, 0n, 21888242871839275222246405745257275088548364400416034343698204186575808495617n] as [ + bigint, + bigint, + bigint, + ]; + await expect(testFormatter.testFieldElementsToBytes(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidFieldElement", + ); + }); + }); + + describe("extractForbiddenCountriesFromPacked", function () { + it("should match contract and ts implementation", async function () { + const input = "0x414141424242434343"; + const contractResult = await testFormatter.testExtractForbiddenCountriesFromPacked([input, 0n, 0n, 0n]); + const tsResult = Formatter.extractForbiddenCountriesFromPacked(BigInt(input)); + expect(contractResult).to.deep.equal(tsResult); + expect(contractResult[0]).to.equal("CCC"); + expect(contractResult[1]).to.equal("BBB"); + expect(contractResult[2]).to.equal("AAA"); + }); + + it("should revert when field element is out of range", async function () { + const input = 21888242871839275222246405745257275088548364400416034343698204186575808495617n; + + await expect( + testFormatter.testExtractForbiddenCountriesFromPacked([input, 0n, 0n, 0n]), + ).to.be.revertedWithCustomError(testFormatter, "InvalidFieldElement"); + }); + }); + + describe("proofDateToUnixTimestamp", function () { + it("should match contract and ts implementation", async function () { + const testCases = [ + { + input: [9, 4, 0, 1, 3, 1], + expected: 3915734400n, + }, + { + input: [0, 0, 0, 1, 0, 1], + expected: 946684800n, + }, + { + input: [2, 0, 0, 2, 2, 9], + expected: 1582934400n, + }, + ]; + + for (const testCase of testCases) { + const contractResult = await testFormatter.testProofDateToUnixTimestamp(testCase.input); + const tsResult = Formatter.proofDateToUnixTimestamp(testCase.input); + expect(contractResult).to.equal(BigInt(tsResult)); + expect(contractResult).to.equal(testCase.expected); + } + }); + + it("should revert when date digit is out of range", async function () { + const input = [9, 4, 0, 1, 2, 10]; + await expect(testFormatter.testProofDateToUnixTimestamp(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidDateDigit", + ); + }); + }); + + describe("dateToUnixTimestamp", function () { + it("should match contract and ts implementation", async function () { + const testCases = [ + { + input: "940131", + expected: 3915734400n, + }, + { + input: "000101", + expected: 946684800n, + }, + ]; + + for (const testCase of testCases) { + const contractResult = await testFormatter.testDateToUnixTimestamp(testCase.input); + const tsResult = Formatter.dateToUnixTimestamp(testCase.input); + expect(contractResult).to.equal(BigInt(tsResult)); + expect(contractResult).to.equal(testCase.expected); + } + }); + + it("should handle errors consistently between contract and ts", async function () { + const input = "12345"; + await expect(testFormatter.testDateToUnixTimestamp(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidDateLength", + ); + expect(() => Formatter.dateToUnixTimestamp(input)).to.throw("InvalidDateLength"); + }); + + it("should revert when month is out of range (more than 12)", async function () { + const input = "941331"; + await expect(testFormatter.testDateToUnixTimestamp(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidMonthRange", + ); + }); + + it("should revert when month is out of range (more than 20)", async function () { + const input = "942031"; + await expect(testFormatter.testDateToUnixTimestamp(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidMonthRange", + ); + }); + + it("should revert when day is out of range (more than 31)", async function () { + const input = "940132"; + await expect(testFormatter.testDateToUnixTimestamp(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidDayRange", + ); + }); + + it("should revert when day is out of range (more than 40)", async function () { + const input = "940140"; + await expect(testFormatter.testDateToUnixTimestamp(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidDayRange", + ); + }); + }); + + describe("substring", function () { + it("should match contract and ts implementation", async function () { + const testCases = [ + { str: "ABCDEF", start: 0, end: 3, expected: "ABC" }, + { str: "ABCDEF", start: 2, end: 4, expected: "CD" }, + { str: "ABCDEF", start: 0, end: 6, expected: "ABCDEF" }, + ]; + + for (const testCase of testCases) { + const contractResult = await testFormatter.testSubstring(testCase.str, testCase.start, testCase.end); + const tsResult = Formatter.substring(testCase.str, testCase.start, testCase.end); + expect(contractResult).to.equal(tsResult); + expect(contractResult).to.equal(testCase.expected); + } + }); + }); + + describe("parseDatePart", function () { + it("should match contract and ts implementation", async function () { + const testCases = [ + { input: "12", expected: 12 }, + { input: "01", expected: 1 }, + { input: "00", expected: 0 }, + { input: "", expected: 0 }, + ]; + + for (const testCase of testCases) { + const contractResult = await testFormatter.testParseDatePart(testCase.input); + const tsResult = Formatter.parseDatePart(testCase.input); + expect(contractResult).to.equal(tsResult); + expect(contractResult).to.equal(testCase.expected); + } + }); + }); + + describe("toTimestamp", function () { + it("should match contract and ts implementation", async function () { + const testCases = [ + { + year: 2000, + month: 1, + day: 1, + expected: 946684800n, + }, + { + year: 2020, + month: 2, + day: 29, + expected: 1582934400n, + }, + ]; + + for (const testCase of testCases) { + const contractResult = await testFormatter.testToTimestamp(testCase.year, testCase.month, testCase.day); + const tsResult = Formatter.toTimestamp(testCase.year, testCase.month, testCase.day); + expect(contractResult).to.equal(BigInt(tsResult)); + expect(contractResult).to.equal(testCase.expected); + } + }); + + it("should revert when year is out of range", async function () { + const input = 1969; + await expect(testFormatter.testToTimestamp(input, 1, 1)).to.be.revertedWithCustomError( + testFormatter, + "InvalidYearRange", + ); + }); + + it("should revert when year is out of range", async function () { + const input = 2101; + await expect(testFormatter.testToTimestamp(input, 1, 1)).to.be.revertedWithCustomError( + testFormatter, + "InvalidYearRange", + ); + }); + + it("should revert when month is out of range", async function () { + const input = 13; + await expect(testFormatter.testToTimestamp(2000, input, 1)).to.be.revertedWithCustomError( + testFormatter, + "InvalidMonthRange", + ); + }); + + it("should revert when month is out of range", async function () { + const input = 0; + await expect(testFormatter.testToTimestamp(2000, input, 1)).to.be.revertedWithCustomError( + testFormatter, + "InvalidMonthRange", + ); + }); + + it("should revert when day is out of range", async function () { + const input = 32; + await expect(testFormatter.testToTimestamp(2000, 1, input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidDayRange", + ); + }); + + it("should revert when day is out of range", async function () { + const input = 0; + await expect(testFormatter.testToTimestamp(2000, 1, input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidDayRange", + ); + }); + }); + + describe("isLeapYear", function () { + it("should match contract and ts implementation", async function () { + const testCases = [ + { year: 2000, expected: true }, + { year: 2020, expected: true }, + { year: 2001, expected: false }, + { year: 2042, expected: false }, + { year: 2100, expected: false }, + { year: 1970, expected: false }, + ]; + + for (const testCase of testCases) { + const contractResult = await testFormatter.testIsLeapYear(testCase.year); + const tsResult = Formatter.isLeapYear(testCase.year); + expect(contractResult).to.equal(tsResult); + expect(contractResult).to.equal(testCase.expected); + } + }); + + it("should revert when year is out of range", async function () { + const input = 1969; + await expect(testFormatter.testIsLeapYear(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidYearRange", + ); + }); + + it("should revert when year is out of range", async function () { + const input = 2101; + await expect(testFormatter.testIsLeapYear(input)).to.be.revertedWithCustomError( + testFormatter, + "InvalidYearRange", + ); + }); + }); }); function toHexString(bytes: Uint8Array): string { - return '0x' + Array.from(bytes) - .map(b => b.toString(16).padStart(2, '0')) - .join(''); -} \ No newline at end of file + return ( + "0x" + + Array.from(bytes) + .map((b) => b.toString(16).padStart(2, "0")) + .join("") + ); +} diff --git a/contracts/test/utils/constants.ts b/contracts/test/utils/constants.ts index 85064b954..e9c37b753 100644 --- a/contracts/test/utils/constants.ts +++ b/contracts/test/utils/constants.ts @@ -1,8 +1,6 @@ export const ATTESTATION_ID = { - INVALID_ATTESTATION_ID: "0x0000000000000000000000000000000000000000000000000000000000000000", - E_PASSPORT: "0x0000000000000000000000000000000000000000000000000000000000000001" -} + INVALID_ATTESTATION_ID: "0x0000000000000000000000000000000000000000000000000000000000000000", + E_PASSPORT: "0x0000000000000000000000000000000000000000000000000000000000000001", +}; -export const FIELD_PRIME = BigInt( - "21888242871839275222246405745257275088548364400416034343698204186575808495617" -); \ No newline at end of file +export const FIELD_PRIME = BigInt("21888242871839275222246405745257275088548364400416034343698204186575808495617"); diff --git a/contracts/test/utils/deployment.ts b/contracts/test/utils/deployment.ts index efc838051..6def66c0e 100644 --- a/contracts/test/utils/deployment.ts +++ b/contracts/test/utils/deployment.ts @@ -7,14 +7,14 @@ import { PassportData } from "../../../common/src/utils/types"; import { getSMTs } from "./generateProof"; import serialized_csca_tree from "./pubkeys/serialized_csca_tree.json"; import { - DeployedActors, - DscVerifier, - IdentityRegistry, - IdentityRegistryImplV1, - IdentityVerificationHub, - IdentityVerificationHubImplV1, - RegisterVerifier, - VcAndDiscloseVerifier, + DeployedActors, + DscVerifier, + IdentityRegistry, + IdentityRegistryImplV1, + IdentityVerificationHub, + IdentityVerificationHubImplV1, + RegisterVerifier, + VcAndDiscloseVerifier, } from "./types"; // Verifier artifacts @@ -26,154 +26,137 @@ import DscVerifierArtifactLocal from "../../artifacts/contracts/verifiers/local/ // import DscVerifierArtifactProd from "../../artifacts/contracts/verifiers/dsc/Verifier_dsc_sha256_rsa_65537_4096.sol/Verifier_dsc_sha256_rsa_65537_4096.json"; export async function deploySystemFixtures(): Promise { - let identityVerificationHubProxy: IdentityVerificationHub; - let identityVerificationHubImpl: IdentityVerificationHubImplV1; - let identityRegistryProxy: IdentityRegistry; - let identityRegistryImpl: IdentityRegistryImplV1; - let vcAndDiscloseVerifier: VcAndDiscloseVerifier; - let registerVerifier: RegisterVerifier; - let dscVerifier: DscVerifier; - let owner: Signer; - let user1: Signer; - let user2: Signer; - let mockPassport: PassportData; - - [owner, user1, user2] = await ethers.getSigners(); - - const newBalance = "0x" + ethers.parseEther("10000").toString(16); - - await ethers.provider.send("hardhat_setBalance", [await owner.getAddress(), newBalance]); - await ethers.provider.send("hardhat_setBalance", [await user1.getAddress(), newBalance]); - await ethers.provider.send("hardhat_setBalance", [await user2.getAddress(), newBalance]); - - mockPassport = genAndInitMockPassportData( - "sha256", - "sha256", - "rsa_sha256_65537_4096", - "FRA", - "940131", - "401031" - ); - - // Deploy verifiers - const vcAndDiscloseVerifierArtifact = process.env.TEST_ENV === "local" - ? VcAndDiscloseVerifierArtifactLocal - : VcAndDiscloseVerifierArtifactProd; - const vcAndDiscloseVerifierFactory = await ethers.getContractFactory( - vcAndDiscloseVerifierArtifact.abi, - vcAndDiscloseVerifierArtifact.bytecode, - owner - ); - vcAndDiscloseVerifier = await vcAndDiscloseVerifierFactory.deploy(); - await vcAndDiscloseVerifier.waitForDeployment(); - - // Deploy register verifier - const registerVerifierArtifact = process.env.TEST_ENV === "local" - ? RegisterVerifierArtifactLocal - : RegisterVerifierArtifactProd; - const registerVerifierFactory = await ethers.getContractFactory( - registerVerifierArtifact.abi, - registerVerifierArtifact.bytecode, - owner - ); - registerVerifier = await registerVerifierFactory.deploy(); - await registerVerifier.waitForDeployment(); - - // Deploy dsc verifier - const dscVerifierArtifact = process.env.TEST_ENV === "local" - ? DscVerifierArtifactLocal - : DscVerifierArtifactProd; - const dscVerifierFactory = await ethers.getContractFactory( - dscVerifierArtifact.abi, - dscVerifierArtifact.bytecode, - owner - ); - dscVerifier = await dscVerifierFactory.deploy(); - await dscVerifier.waitForDeployment(); - - // Deploy PoseidonT3 - const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); - const poseidonT3 = await PoseidonT3Factory.deploy(); - await poseidonT3.waitForDeployment(); - - // Deploy IdentityRegistryImplV1 - const IdentityRegistryImplFactory = await ethers.getContractFactory( - "IdentityRegistryImplV1", - { - libraries: { - PoseidonT3: poseidonT3.target - } - }, - owner - ); - identityRegistryImpl = await IdentityRegistryImplFactory.deploy(); - await identityRegistryImpl.waitForDeployment(); - - // Deploy IdentityVerificationHubImplV1 - const IdentityVerificationHubImplFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); - identityVerificationHubImpl = await IdentityVerificationHubImplFactory.deploy(); - await identityVerificationHubImpl.waitForDeployment(); - - // Deploy registry with temporary hub address - const temporaryHubAddress = "0x0000000000000000000000000000000000000000"; - const registryInitData = identityRegistryImpl.interface.encodeFunctionData("initialize", [ - temporaryHubAddress - ]); - const registryProxyFactory = await ethers.getContractFactory("IdentityRegistry", owner); - identityRegistryProxy = await registryProxyFactory.deploy(identityRegistryImpl.target, registryInitData); - await identityRegistryProxy.waitForDeployment(); - - // Deploy hub with deployed registry and verifiers - const initializeData = identityVerificationHubImpl.interface.encodeFunctionData("initialize", [ - identityRegistryProxy.target, - vcAndDiscloseVerifier.target, - [RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096], - [registerVerifier.target], - [DscVerifierId.dsc_sha256_rsa_65537_4096], - [dscVerifier.target] - ]); - const hubFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); - identityVerificationHubProxy = await hubFactory.deploy(identityVerificationHubImpl.target, initializeData); - await identityVerificationHubProxy.waitForDeployment(); - - // Get contracts with implementation ABI and update hub address - const registryContract = await ethers.getContractAt( - "IdentityRegistryImplV1", - identityRegistryProxy.target - ) as IdentityRegistryImplV1; - const updateHubTx = await registryContract.updateHub(identityVerificationHubProxy.target); - await updateHubTx.wait(); - - const hubContract = await ethers.getContractAt( - "IdentityVerificationHubImplV1", - identityVerificationHubProxy.target - ) as IdentityVerificationHubImplV1; - - // Initialize roots - const csca_root = getCscaTreeRoot(serialized_csca_tree); - await registryContract.updateCscaRoot(csca_root, { from: owner }); - - const { - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt - } = getSMTs(); - - await registryContract.updatePassportNoOfacRoot(passportNo_smt.root, { from: owner }); - await registryContract.updateNameAndDobOfacRoot(nameAndDob_smt.root, { from: owner }); - await registryContract.updateNameAndYobOfacRoot(nameAndYob_smt.root, { from: owner }); - - return { - hub: hubContract, - hubImpl: identityVerificationHubImpl, - registry: registryContract, - registryImpl: identityRegistryImpl, - vcAndDisclose: vcAndDiscloseVerifier, - register: registerVerifier, - dsc: dscVerifier, - owner: owner, - user1: user1, - user2: user2, - mockPassport: mockPassport - }; + let identityVerificationHubProxy: IdentityVerificationHub; + let identityVerificationHubImpl: IdentityVerificationHubImplV1; + let identityRegistryProxy: IdentityRegistry; + let identityRegistryImpl: IdentityRegistryImplV1; + let vcAndDiscloseVerifier: VcAndDiscloseVerifier; + let registerVerifier: RegisterVerifier; + let dscVerifier: DscVerifier; + let owner: Signer; + let user1: Signer; + let user2: Signer; + let mockPassport: PassportData; + + [owner, user1, user2] = await ethers.getSigners(); + + const newBalance = "0x" + ethers.parseEther("10000").toString(16); + + await ethers.provider.send("hardhat_setBalance", [await owner.getAddress(), newBalance]); + await ethers.provider.send("hardhat_setBalance", [await user1.getAddress(), newBalance]); + await ethers.provider.send("hardhat_setBalance", [await user2.getAddress(), newBalance]); + + mockPassport = genAndInitMockPassportData("sha256", "sha256", "rsa_sha256_65537_4096", "FRA", "940131", "401031"); + + // Deploy verifiers + const vcAndDiscloseVerifierArtifact = + process.env.TEST_ENV === "local" ? VcAndDiscloseVerifierArtifactLocal : VcAndDiscloseVerifierArtifactProd; + const vcAndDiscloseVerifierFactory = await ethers.getContractFactory( + vcAndDiscloseVerifierArtifact.abi, + vcAndDiscloseVerifierArtifact.bytecode, + owner, + ); + vcAndDiscloseVerifier = await vcAndDiscloseVerifierFactory.deploy(); + await vcAndDiscloseVerifier.waitForDeployment(); + + // Deploy register verifier + const registerVerifierArtifact = + process.env.TEST_ENV === "local" ? RegisterVerifierArtifactLocal : RegisterVerifierArtifactProd; + const registerVerifierFactory = await ethers.getContractFactory( + registerVerifierArtifact.abi, + registerVerifierArtifact.bytecode, + owner, + ); + registerVerifier = await registerVerifierFactory.deploy(); + await registerVerifier.waitForDeployment(); + + // Deploy dsc verifier + const dscVerifierArtifact = process.env.TEST_ENV === "local" ? DscVerifierArtifactLocal : DscVerifierArtifactProd; + const dscVerifierFactory = await ethers.getContractFactory( + dscVerifierArtifact.abi, + dscVerifierArtifact.bytecode, + owner, + ); + dscVerifier = await dscVerifierFactory.deploy(); + await dscVerifier.waitForDeployment(); + + // Deploy PoseidonT3 + const PoseidonT3Factory = await ethers.getContractFactory("PoseidonT3", owner); + const poseidonT3 = await PoseidonT3Factory.deploy(); + await poseidonT3.waitForDeployment(); + + // Deploy IdentityRegistryImplV1 + const IdentityRegistryImplFactory = await ethers.getContractFactory( + "IdentityRegistryImplV1", + { + libraries: { + PoseidonT3: poseidonT3.target, + }, + }, + owner, + ); + identityRegistryImpl = await IdentityRegistryImplFactory.deploy(); + await identityRegistryImpl.waitForDeployment(); + + // Deploy IdentityVerificationHubImplV1 + const IdentityVerificationHubImplFactory = await ethers.getContractFactory("IdentityVerificationHubImplV1", owner); + identityVerificationHubImpl = await IdentityVerificationHubImplFactory.deploy(); + await identityVerificationHubImpl.waitForDeployment(); + + // Deploy registry with temporary hub address + const temporaryHubAddress = "0x0000000000000000000000000000000000000000"; + const registryInitData = identityRegistryImpl.interface.encodeFunctionData("initialize", [temporaryHubAddress]); + const registryProxyFactory = await ethers.getContractFactory("IdentityRegistry", owner); + identityRegistryProxy = await registryProxyFactory.deploy(identityRegistryImpl.target, registryInitData); + await identityRegistryProxy.waitForDeployment(); + + // Deploy hub with deployed registry and verifiers + const initializeData = identityVerificationHubImpl.interface.encodeFunctionData("initialize", [ + identityRegistryProxy.target, + vcAndDiscloseVerifier.target, + [RegisterVerifierId.register_sha256_sha256_sha256_rsa_65537_4096], + [registerVerifier.target], + [DscVerifierId.dsc_sha256_rsa_65537_4096], + [dscVerifier.target], + ]); + const hubFactory = await ethers.getContractFactory("IdentityVerificationHub", owner); + identityVerificationHubProxy = await hubFactory.deploy(identityVerificationHubImpl.target, initializeData); + await identityVerificationHubProxy.waitForDeployment(); + + // Get contracts with implementation ABI and update hub address + const registryContract = (await ethers.getContractAt( + "IdentityRegistryImplV1", + identityRegistryProxy.target, + )) as IdentityRegistryImplV1; + const updateHubTx = await registryContract.updateHub(identityVerificationHubProxy.target); + await updateHubTx.wait(); + + const hubContract = (await ethers.getContractAt( + "IdentityVerificationHubImplV1", + identityVerificationHubProxy.target, + )) as IdentityVerificationHubImplV1; + + // Initialize roots + const csca_root = getCscaTreeRoot(serialized_csca_tree); + await registryContract.updateCscaRoot(csca_root, { from: owner }); + + const { passportNo_smt, nameAndDob_smt, nameAndYob_smt } = getSMTs(); + + await registryContract.updatePassportNoOfacRoot(passportNo_smt.root, { from: owner }); + await registryContract.updateNameAndDobOfacRoot(nameAndDob_smt.root, { from: owner }); + await registryContract.updateNameAndYobOfacRoot(nameAndYob_smt.root, { from: owner }); + + return { + hub: hubContract, + hubImpl: identityVerificationHubImpl, + registry: registryContract, + registryImpl: identityRegistryImpl, + vcAndDisclose: vcAndDiscloseVerifier, + register: registerVerifier, + dsc: dscVerifier, + owner: owner, + user1: user1, + user2: user2, + mockPassport: mockPassport, + }; } diff --git a/contracts/test/utils/example/balance-tree.ts b/contracts/test/utils/example/balance-tree.ts index 618ad4c21..5c75cf273 100644 --- a/contracts/test/utils/example/balance-tree.ts +++ b/contracts/test/utils/example/balance-tree.ts @@ -1,15 +1,15 @@ -import MerkleTree from './merkle-tree' -import { ethers } from 'ethers' -import { Buffer } from 'buffer' +import MerkleTree from "./merkle-tree"; +import { ethers } from "ethers"; +import { Buffer } from "buffer"; export default class BalanceTree { - private readonly tree: MerkleTree + private readonly tree: MerkleTree; constructor(balances: { account: string; amount: bigint }[]) { this.tree = new MerkleTree( balances.map(({ account, amount }, index) => { - return BalanceTree.toNode(index, account, amount) - }) - ) + return BalanceTree.toNode(index, account, amount); + }), + ); } public static verifyProof( @@ -17,33 +17,30 @@ export default class BalanceTree { account: string, amount: bigint, proof: Buffer[], - root: Buffer + root: Buffer, ): boolean { - let pair = BalanceTree.toNode(index, account, amount) + let pair = BalanceTree.toNode(index, account, amount); for (const item of proof) { - pair = MerkleTree.combinedHash(pair, item) + pair = MerkleTree.combinedHash(pair, item); } - return pair.equals(root) + return pair.equals(root); } // keccak256(abi.encode(index, account, amount)) public static toNode(index: number | bigint, account: string, amount: bigint): Buffer { return Buffer.from( - ethers.solidityPackedKeccak256( - ['uint256', 'address', 'uint256'], - [index, account, amount] - ).slice(2), - 'hex' - ) + ethers.solidityPackedKeccak256(["uint256", "address", "uint256"], [index, account, amount]).slice(2), + "hex", + ); } public getHexRoot(): string { - return this.tree.getHexRoot() + return this.tree.getHexRoot(); } // returns the hex bytes32 values of the proof public getProof(index: number | bigint, account: string, amount: bigint): string[] { - return this.tree.getHexProof(BalanceTree.toNode(index, account, amount)) + return this.tree.getHexProof(BalanceTree.toNode(index, account, amount)); } -} \ No newline at end of file +} diff --git a/contracts/test/utils/example/merkle-tree.ts b/contracts/test/utils/example/merkle-tree.ts index 5e9f5deab..7bb49c09e 100644 --- a/contracts/test/utils/example/merkle-tree.ts +++ b/contracts/test/utils/example/merkle-tree.ts @@ -1,123 +1,123 @@ -import { bufferToHex, keccak256 } from 'ethereumjs-util' +import { bufferToHex, keccak256 } from "ethereumjs-util"; export default class MerkleTree { - private readonly elements: Buffer[] - private readonly bufferElementPositionIndex: { [hexElement: string]: number } - private readonly layers: Buffer[][] + private readonly elements: Buffer[]; + private readonly bufferElementPositionIndex: { [hexElement: string]: number }; + private readonly layers: Buffer[][]; constructor(elements: Buffer[]) { - this.elements = [...elements] + this.elements = [...elements]; // Sort elements - this.elements.sort(Buffer.compare) + this.elements.sort(Buffer.compare); // Deduplicate elements - this.elements = MerkleTree.bufDedup(this.elements) + this.elements = MerkleTree.bufDedup(this.elements); this.bufferElementPositionIndex = this.elements.reduce<{ [hexElement: string]: number }>((memo, el, index) => { - memo[bufferToHex(el)] = index - return memo - }, {}) + memo[bufferToHex(el)] = index; + return memo; + }, {}); // Create layers - this.layers = this.getLayers(this.elements) + this.layers = this.getLayers(this.elements); } getLayers(elements: Buffer[]): Buffer[][] { if (elements.length === 0) { - throw new Error('empty tree') + throw new Error("empty tree"); } - const layers = [] - layers.push(elements) + const layers = []; + layers.push(elements); // Get next layer until we reach the root while (layers[layers.length - 1].length > 1) { - layers.push(this.getNextLayer(layers[layers.length - 1])) + layers.push(this.getNextLayer(layers[layers.length - 1])); } - return layers + return layers; } getNextLayer(elements: Buffer[]): Buffer[] { return elements.reduce((layer, el, idx, arr) => { if (idx % 2 === 0) { // Hash the current element with its pair element - layer.push(MerkleTree.combinedHash(el, arr[idx + 1])) + layer.push(MerkleTree.combinedHash(el, arr[idx + 1])); } - return layer - }, []) + return layer; + }, []); } static combinedHash(first: Buffer, second: Buffer): Buffer { if (!first) { - return second + return second; } if (!second) { - return first + return first; } - return keccak256(MerkleTree.sortAndConcat(first, second)) + return keccak256(MerkleTree.sortAndConcat(first, second)); } getRoot(): Buffer { - return this.layers[this.layers.length - 1][0] + return this.layers[this.layers.length - 1][0]; } getHexRoot(): string { - return bufferToHex(this.getRoot()) + return bufferToHex(this.getRoot()); } getProof(el: Buffer) { - let idx = this.bufferElementPositionIndex[bufferToHex(el)] + let idx = this.bufferElementPositionIndex[bufferToHex(el)]; - if (typeof idx !== 'number') { - throw new Error('Element does not exist in Merkle tree') + if (typeof idx !== "number") { + throw new Error("Element does not exist in Merkle tree"); } return this.layers.reduce((proof, layer) => { - const pairElement = MerkleTree.getPairElement(idx, layer) + const pairElement = MerkleTree.getPairElement(idx, layer); if (pairElement) { - proof.push(pairElement) + proof.push(pairElement); } - idx = Math.floor(idx / 2) + idx = Math.floor(idx / 2); - return proof - }, []) + return proof; + }, []); } getHexProof(el: Buffer): string[] { - const proof = this.getProof(el) + const proof = this.getProof(el); - return MerkleTree.bufArrToHexArr(proof) + return MerkleTree.bufArrToHexArr(proof); } private static getPairElement(idx: number, layer: Buffer[]): Buffer | null { - const pairIdx = idx % 2 === 0 ? idx + 1 : idx - 1 + const pairIdx = idx % 2 === 0 ? idx + 1 : idx - 1; if (pairIdx < layer.length) { - return layer[pairIdx] + return layer[pairIdx]; } else { - return null + return null; } } private static bufDedup(elements: Buffer[]): Buffer[] { return elements.filter((el, idx) => { - return idx === 0 || !elements[idx - 1].equals(el) - }) + return idx === 0 || !elements[idx - 1].equals(el); + }); } private static bufArrToHexArr(arr: Buffer[]): string[] { if (arr.some((el) => !Buffer.isBuffer(el))) { - throw new Error('Array is not an array of buffers') + throw new Error("Array is not an array of buffers"); } - return arr.map((el) => '0x' + el.toString('hex')) + return arr.map((el) => "0x" + el.toString("hex")); } private static sortAndConcat(...args: Buffer[]): Buffer { - return Buffer.concat([...args].sort(Buffer.compare)) + return Buffer.concat([...args].sort(Buffer.compare)); } -} \ No newline at end of file +} diff --git a/contracts/test/utils/formatter.ts b/contracts/test/utils/formatter.ts index d3b13e775..aa6822f9b 100644 --- a/contracts/test/utils/formatter.ts +++ b/contracts/test/utils/formatter.ts @@ -1,309 +1,305 @@ export class Formatter { - static MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH = 40; + static MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH = 40; - static formatName(input: string): [string, string] { - let lastName = ""; - let firstName = ""; - let i = 0; + static formatName(input: string): [string, string] { + let lastName = ""; + let firstName = ""; + let i = 0; - while (i < input.length && input[i] !== "<") { - lastName += input[i]; - i++; - } - - i += 2; - - while (i < input.length) { - if (input[i] === "<") { - if (i + 1 < input.length && input[i + 1] === "<") { - break; - } - firstName += " "; - } else { - firstName += input[i]; - } - i++; - } - - return [firstName, lastName]; - } - - static formatDate(date: string): string { - if (date.length !== 6) { - throw new Error("InvalidDateLength"); - } - - const dateBytes = Array.from(date); - - for (let i = 0; i < 6; i++) { - if (dateBytes[i] < '0' || dateBytes[i] > '9') { - throw new Error("InvalidAsciiCode"); - } - } - - if (dateBytes[2] > '1' || (dateBytes[2] === '1' && dateBytes[3] > '2')) { - throw new Error("InvalidMonthRange"); - } - - if (dateBytes[4] > '3' || (dateBytes[4] === '3' && dateBytes[5] > '1')) { - throw new Error("InvalidDayRange"); - } - - const year = date.substring(0, 2); - const month = date.substring(2, 4); - const day = date.substring(4, 6); - - return `${day}-${month}-${year}`; - } - - static numAsciiToUint(numAscii: number): number { - if (numAscii < 48 || numAscii > 57) { - throw new Error("InvalidAsciiCode"); - } - return numAscii - 48; - } - - static fieldElementsToBytes(publicSignals: [bigint, bigint, bigint]): Uint8Array { - const bytesCount = [31, 31, 31]; - const totalLength = 93; - const bytesArray = new Uint8Array(totalLength); - let index = 0; - for (let i = 0; i < 3; i++) { - let element = publicSignals[i]; - for (let j = 0; j < bytesCount[i]; j++) { - const byte = Number(element & 0xffn); - bytesArray[index++] = byte; - element = element >> 8n; - } - } - return bytesArray; + while (i < input.length && input[i] !== "<") { + lastName += input[i]; + i++; } - static bytesToHexString(bytes: Uint8Array): string { - return '0x' + Array.from(bytes) - .map(b => b.toString(16).padStart(2, '0')) - .join(''); - } + i += 2; - static extractForbiddenCountriesFromPacked(publicSignal: bigint): string[] { - const forbiddenCountries: string[] = new Array(Formatter.MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH); - for (let j = 0; j < Formatter.MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH; j++) { - const byteIndex = BigInt(j * 3); - const shift = byteIndex * 8n; - const mask = 0xFFFFFFn; - const packedData = (publicSignal >> shift) & mask; - const char1 = String.fromCharCode(Number((packedData >> 16n) & 0xffn)); - const char2 = String.fromCharCode(Number((packedData >> 8n) & 0xffn)); - const char3 = String.fromCharCode(Number(packedData & 0xffn)); - forbiddenCountries[j] = char1 + char2 + char3; + while (i < input.length) { + if (input[i] === "<") { + if (i + 1 < input.length && input[i + 1] === "<") { + break; } - return forbiddenCountries; + firstName += " "; + } else { + firstName += input[i]; + } + i++; } - static proofDateToUnixTimestamp(dateNum: number[]): number { - if (dateNum.length !== 6) { - throw new Error("Invalid dateNum length"); - } - let date = ""; - for (let i = 0; i < 6; i++) { - date += String.fromCharCode(48 + (dateNum[i] % 10)); - } - return Formatter.dateToUnixTimestamp(date); - } + return [firstName, lastName]; + } - static dateToUnixTimestamp(date: string): number { - if (date.length !== 6) { - throw new Error("InvalidDateLength"); - } - const yearPart = Formatter.substring(date, 0, 2); - const monthPart = Formatter.substring(date, 2, 4); - const dayPart = Formatter.substring(date, 4, 6); - const year = Formatter.parseDatePart(yearPart) + 2000; - const month = Formatter.parseDatePart(monthPart); - const day = Formatter.parseDatePart(dayPart); - return Formatter.toTimestamp(year, month, day); + static formatDate(date: string): string { + if (date.length !== 6) { + throw new Error("InvalidDateLength"); } - static substring(str: string, startIndex: number, endIndex: number): string { - return str.substring(startIndex, endIndex); - } + const dateBytes = Array.from(date); - static parseDatePart(value: string): number { - if (value.length === 0) { - return 0; - } - let result = 0; - for (let i = 0; i < value.length; i++) { - const digit = value.charCodeAt(i) - 48; - result = result * 10 + digit; - } - return result; + for (let i = 0; i < 6; i++) { + if (dateBytes[i] < "0" || dateBytes[i] > "9") { + throw new Error("InvalidAsciiCode"); + } } - static toTimestamp(year: number, month: number, day: number): number { - let timestamp = 0; - const secondsInDay = 86400; - for (let i = 1970; i < year; i++) { - timestamp += Formatter.isLeapYear(i) ? 366 * secondsInDay : 365 * secondsInDay; - } - const monthDayCounts = [ - 31, - Formatter.isLeapYear(year) ? 29 : 28, - 31, - 30, - 31, - 30, - 31, - 31, - 30, - 31, - 30, - 31, - ]; - for (let i = 1; i < month; i++) { - timestamp += monthDayCounts[i - 1] * secondsInDay; - } - timestamp += (day - 1) * secondsInDay; - return timestamp; + if (dateBytes[2] > "1" || (dateBytes[2] === "1" && dateBytes[3] > "2")) { + throw new Error("InvalidMonthRange"); } - static isLeapYear(year: number): boolean { - if (year % 4 !== 0) { - return false; - } else if (year % 100 !== 0) { - return true; - } else if (year % 400 !== 0) { - return false; - } else { - return true; - } + if (dateBytes[4] > "3" || (dateBytes[4] === "3" && dateBytes[5] > "1")) { + throw new Error("InvalidDayRange"); } -} -export class CircuitAttributeHandler { - static ISSUING_STATE_START = 2; - static ISSUING_STATE_END = 4; - static NAME_START = 5; - static NAME_END = 43; - static PASSPORT_NUMBER_START = 44; - static PASSPORT_NUMBER_END = 52; - static NATIONALITY_START = 54; - static NATIONALITY_END = 56; - static DATE_OF_BIRTH_START = 57; - static DATE_OF_BIRTH_END = 62; - static GENDER_START = 64; - static GENDER_END = 64; - static EXPIRY_DATE_START = 65; - static EXPIRY_DATE_END = 70; - static OLDER_THAN_START = 88; - static OLDER_THAN_END = 89; - static OFAC_START = 90; - static OFAC_END = 92; - - static getIssuingState(input: string | Uint8Array): string { - const charcodes = this.normalizeInput(input); - return this.extractStringAttribute(charcodes, this.ISSUING_STATE_START, this.ISSUING_STATE_END); - } + const year = date.substring(0, 2); + const month = date.substring(2, 4); + const day = date.substring(4, 6); - static getName(input: string | Uint8Array): [string, string] { - const charcodes = this.normalizeInput(input); - const rawName = this.extractStringAttribute(charcodes, this.NAME_START, this.NAME_END); - return Formatter.formatName(rawName); - } + return `${day}-${month}-${year}`; + } - static getPassportNumber(input: string | Uint8Array): string { - const charcodes = this.normalizeInput(input); - return this.extractStringAttribute(charcodes, this.PASSPORT_NUMBER_START, this.PASSPORT_NUMBER_END); + static numAsciiToUint(numAscii: number): number { + if (numAscii < 48 || numAscii > 57) { + throw new Error("InvalidAsciiCode"); } - - static getNationality(input: string | Uint8Array): string { - const charcodes = this.normalizeInput(input); - return this.extractStringAttribute(charcodes, this.NATIONALITY_START, this.NATIONALITY_END); + return numAscii - 48; + } + + static fieldElementsToBytes(publicSignals: [bigint, bigint, bigint]): Uint8Array { + const bytesCount = [31, 31, 31]; + const totalLength = 93; + const bytesArray = new Uint8Array(totalLength); + let index = 0; + for (let i = 0; i < 3; i++) { + let element = publicSignals[i]; + for (let j = 0; j < bytesCount[i]; j++) { + const byte = Number(element & 0xffn); + bytesArray[index++] = byte; + element = element >> 8n; + } } - - static getDateOfBirth(input: string | Uint8Array): string { - const charcodes = this.normalizeInput(input); - const rawDate = this.extractStringAttribute(charcodes, this.DATE_OF_BIRTH_START, this.DATE_OF_BIRTH_END); - return Formatter.formatDate(rawDate); + return bytesArray; + } + + static bytesToHexString(bytes: Uint8Array): string { + return ( + "0x" + + Array.from(bytes) + .map((b) => b.toString(16).padStart(2, "0")) + .join("") + ); + } + + static extractForbiddenCountriesFromPacked(publicSignal: bigint): string[] { + const forbiddenCountries: string[] = new Array(Formatter.MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH); + for (let j = 0; j < Formatter.MAX_FORBIDDEN_COUNTRIES_LIST_LENGTH; j++) { + const byteIndex = BigInt(j * 3); + const shift = byteIndex * 8n; + const mask = 0xffffffn; + const packedData = (publicSignal >> shift) & mask; + const char1 = String.fromCharCode(Number((packedData >> 16n) & 0xffn)); + const char2 = String.fromCharCode(Number((packedData >> 8n) & 0xffn)); + const char3 = String.fromCharCode(Number(packedData & 0xffn)); + forbiddenCountries[j] = char1 + char2 + char3; } + return forbiddenCountries; + } - static getGender(input: string | Uint8Array): string { - const charcodes = this.normalizeInput(input); - return this.extractStringAttribute(charcodes, this.GENDER_START, this.GENDER_END); + static proofDateToUnixTimestamp(dateNum: number[]): number { + if (dateNum.length !== 6) { + throw new Error("Invalid dateNum length"); } - - static getExpiryDate(input: string | Uint8Array): string { - const charcodes = this.normalizeInput(input); - const rawDate = this.extractStringAttribute(charcodes, this.EXPIRY_DATE_START, this.EXPIRY_DATE_END); - return Formatter.formatDate(rawDate); + let date = ""; + for (let i = 0; i < 6; i++) { + date += String.fromCharCode(48 + (dateNum[i] % 10)); } + return Formatter.dateToUnixTimestamp(date); + } - static getOlderThan(input: string | Uint8Array): number { - const charcodes = this.normalizeInput(input); - const digit1 = Formatter.numAsciiToUint(charcodes[this.OLDER_THAN_START]); - const digit2 = Formatter.numAsciiToUint(charcodes[this.OLDER_THAN_START + 1]); - return digit1 * 10 + digit2; + static dateToUnixTimestamp(date: string): number { + if (date.length !== 6) { + throw new Error("InvalidDateLength"); } - - static getPassportNoOfac(input: string | Uint8Array): number { - const charcodes = this.normalizeInput(input); - return charcodes[this.OFAC_START]; + const yearPart = Formatter.substring(date, 0, 2); + const monthPart = Formatter.substring(date, 2, 4); + const dayPart = Formatter.substring(date, 4, 6); + const year = Formatter.parseDatePart(yearPart) + 2000; + const month = Formatter.parseDatePart(monthPart); + const day = Formatter.parseDatePart(dayPart); + return Formatter.toTimestamp(year, month, day); + } + + static substring(str: string, startIndex: number, endIndex: number): string { + return str.substring(startIndex, endIndex); + } + + static parseDatePart(value: string): number { + if (value.length === 0) { + return 0; } - - static getNameAndDobOfac(input: string | Uint8Array): number { - const charcodes = this.normalizeInput(input); - return charcodes[this.OFAC_START + 1]; + let result = 0; + for (let i = 0; i < value.length; i++) { + const digit = value.charCodeAt(i) - 48; + result = result * 10 + digit; } - - static getNameAndYobOfac(input: string | Uint8Array): number { - const charcodes = this.normalizeInput(input); - return charcodes[this.OFAC_START + 2]; + return result; + } + + static toTimestamp(year: number, month: number, day: number): number { + let timestamp = 0; + const secondsInDay = 86400; + for (let i = 1970; i < year; i++) { + timestamp += Formatter.isLeapYear(i) ? 366 * secondsInDay : 365 * secondsInDay; } - - static compareOlderThan(input: string | Uint8Array, olderThan: number): boolean { - const charcodes = this.normalizeInput(input); - return this.getOlderThan(charcodes) >= olderThan; + const monthDayCounts = [31, Formatter.isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + for (let i = 1; i < month; i++) { + timestamp += monthDayCounts[i - 1] * secondsInDay; } - - /** - * Performs selective OFAC checks based on provided flags. - * @param input The input string or byte array containing passport attribute data. - * @param checkPassportNo Whether to check the passport number OFAC status. - * @param checkNameAndDob Whether to check the name and date of birth OFAC status. - * @param checkNameAndYob Whether to check the name and year of birth OFAC status. - * @returns True if all enabled checks pass (equal 1), false if any enabled check fails. - * @remarks Checks are only performed for flags that are set to true. If a flag is false, - * that particular check is considered to have passed regardless of its actual value. - */ - static compareOfac(input: string | Uint8Array, checkPassportNo: boolean, checkNameAndDob: boolean, checkNameAndYob: boolean): boolean { - const charcodes = this.normalizeInput(input); - return (!checkPassportNo || this.getPassportNoOfac(charcodes) === 1) && - (!checkNameAndDob || this.getNameAndDobOfac(charcodes) === 1) && - (!checkNameAndYob || this.getNameAndYobOfac(charcodes) === 1); + timestamp += (day - 1) * secondsInDay; + return timestamp; + } + + static isLeapYear(year: number): boolean { + if (year % 4 !== 0) { + return false; + } else if (year % 100 !== 0) { + return true; + } else if (year % 400 !== 0) { + return false; + } else { + return true; } + } +} - private static normalizeInput(input: string | Uint8Array): Uint8Array { - if (typeof input === 'string') { - if (input.startsWith('0x')) { - const hex = input.slice(2); - const bytes = new Uint8Array(hex.length / 2); - for (let i = 0; i < hex.length; i += 2) { - bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16); - } - return bytes; - } - return new TextEncoder().encode(input); +export class CircuitAttributeHandler { + static ISSUING_STATE_START = 2; + static ISSUING_STATE_END = 4; + static NAME_START = 5; + static NAME_END = 43; + static PASSPORT_NUMBER_START = 44; + static PASSPORT_NUMBER_END = 52; + static NATIONALITY_START = 54; + static NATIONALITY_END = 56; + static DATE_OF_BIRTH_START = 57; + static DATE_OF_BIRTH_END = 62; + static GENDER_START = 64; + static GENDER_END = 64; + static EXPIRY_DATE_START = 65; + static EXPIRY_DATE_END = 70; + static OLDER_THAN_START = 88; + static OLDER_THAN_END = 89; + static OFAC_START = 90; + static OFAC_END = 92; + + static getIssuingState(input: string | Uint8Array): string { + const charcodes = this.normalizeInput(input); + return this.extractStringAttribute(charcodes, this.ISSUING_STATE_START, this.ISSUING_STATE_END); + } + + static getName(input: string | Uint8Array): [string, string] { + const charcodes = this.normalizeInput(input); + const rawName = this.extractStringAttribute(charcodes, this.NAME_START, this.NAME_END); + return Formatter.formatName(rawName); + } + + static getPassportNumber(input: string | Uint8Array): string { + const charcodes = this.normalizeInput(input); + return this.extractStringAttribute(charcodes, this.PASSPORT_NUMBER_START, this.PASSPORT_NUMBER_END); + } + + static getNationality(input: string | Uint8Array): string { + const charcodes = this.normalizeInput(input); + return this.extractStringAttribute(charcodes, this.NATIONALITY_START, this.NATIONALITY_END); + } + + static getDateOfBirth(input: string | Uint8Array): string { + const charcodes = this.normalizeInput(input); + const rawDate = this.extractStringAttribute(charcodes, this.DATE_OF_BIRTH_START, this.DATE_OF_BIRTH_END); + return Formatter.formatDate(rawDate); + } + + static getGender(input: string | Uint8Array): string { + const charcodes = this.normalizeInput(input); + return this.extractStringAttribute(charcodes, this.GENDER_START, this.GENDER_END); + } + + static getExpiryDate(input: string | Uint8Array): string { + const charcodes = this.normalizeInput(input); + const rawDate = this.extractStringAttribute(charcodes, this.EXPIRY_DATE_START, this.EXPIRY_DATE_END); + return Formatter.formatDate(rawDate); + } + + static getOlderThan(input: string | Uint8Array): number { + const charcodes = this.normalizeInput(input); + const digit1 = Formatter.numAsciiToUint(charcodes[this.OLDER_THAN_START]); + const digit2 = Formatter.numAsciiToUint(charcodes[this.OLDER_THAN_START + 1]); + return digit1 * 10 + digit2; + } + + static getPassportNoOfac(input: string | Uint8Array): number { + const charcodes = this.normalizeInput(input); + return charcodes[this.OFAC_START]; + } + + static getNameAndDobOfac(input: string | Uint8Array): number { + const charcodes = this.normalizeInput(input); + return charcodes[this.OFAC_START + 1]; + } + + static getNameAndYobOfac(input: string | Uint8Array): number { + const charcodes = this.normalizeInput(input); + return charcodes[this.OFAC_START + 2]; + } + + static compareOlderThan(input: string | Uint8Array, olderThan: number): boolean { + const charcodes = this.normalizeInput(input); + return this.getOlderThan(charcodes) >= olderThan; + } + + /** + * Performs selective OFAC checks based on provided flags. + * @param input The input string or byte array containing passport attribute data. + * @param checkPassportNo Whether to check the passport number OFAC status. + * @param checkNameAndDob Whether to check the name and date of birth OFAC status. + * @param checkNameAndYob Whether to check the name and year of birth OFAC status. + * @returns True if all enabled checks pass (equal 1), false if any enabled check fails. + * @remarks Checks are only performed for flags that are set to true. If a flag is false, + * that particular check is considered to have passed regardless of its actual value. + */ + static compareOfac( + input: string | Uint8Array, + checkPassportNo: boolean, + checkNameAndDob: boolean, + checkNameAndYob: boolean, + ): boolean { + const charcodes = this.normalizeInput(input); + return ( + (!checkPassportNo || this.getPassportNoOfac(charcodes) === 1) && + (!checkNameAndDob || this.getNameAndDobOfac(charcodes) === 1) && + (!checkNameAndYob || this.getNameAndYobOfac(charcodes) === 1) + ); + } + + private static normalizeInput(input: string | Uint8Array): Uint8Array { + if (typeof input === "string") { + if (input.startsWith("0x")) { + const hex = input.slice(2); + const bytes = new Uint8Array(hex.length / 2); + for (let i = 0; i < hex.length; i += 2) { + bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16); } - return input; + return bytes; + } + return new TextEncoder().encode(input); } + return input; + } - static extractStringAttribute(input: string | Uint8Array, start: number, end: number): string { - const charcodes = this.normalizeInput(input); - if (charcodes.length <= end) { - throw new Error("INSUFFICIENT_CHARCODE_LEN"); - } - const attributeBytes = charcodes.slice(start, end + 1); - return new TextDecoder("utf-8").decode(attributeBytes); + static extractStringAttribute(input: string | Uint8Array, start: number, end: number): string { + const charcodes = this.normalizeInput(input); + if (charcodes.length <= end) { + throw new Error("INSUFFICIENT_CHARCODE_LEN"); } + const attributeBytes = charcodes.slice(start, end + 1); + return new TextDecoder("utf-8").decode(attributeBytes); + } } - \ No newline at end of file diff --git a/contracts/test/utils/generateProof.ts b/contracts/test/utils/generateProof.ts index 33427ee90..3fb424967 100644 --- a/contracts/test/utils/generateProof.ts +++ b/contracts/test/utils/generateProof.ts @@ -1,275 +1,306 @@ -const CYAN = '\x1b[36m'; -const YELLOW = '\x1b[33m'; -const GREEN = '\x1b[32m'; -const RESET = '\x1b[0m'; +const CYAN = "\x1b[36m"; +const YELLOW = "\x1b[33m"; +const GREEN = "\x1b[32m"; +const RESET = "\x1b[0m"; import { LeanIMT } from "@openpassport/zk-kit-lean-imt"; import { ChildNodes, SMT } from "@openpassport/zk-kit-smt"; import fs from "fs"; import path from "path"; import { poseidon2, poseidon3 } from "poseidon-lite"; -import type { - CircuitSignals, - Groth16Proof, - PublicSignals, -} from "snarkjs"; +import type { CircuitSignals, Groth16Proof, PublicSignals } from "snarkjs"; import { groth16 } from "snarkjs"; import { PassportData } from "../../../common/src/utils/types"; import { CircuitArtifacts, DscCircuitProof, RegisterCircuitProof, VcAndDiscloseProof } from "./types"; import { BigNumberish } from "ethers"; import { - generateCircuitInputsDSC, - generateCircuitInputsRegister, - generateCircuitInputsVCandDisclose + generateCircuitInputsDSC, + generateCircuitInputsRegister, + generateCircuitInputsVCandDisclose, } from "../../../common/src/utils/circuits/generateInputs"; -import serialized_csca_tree from './pubkeys/serialized_csca_tree.json'; -import serialized_dsc_tree from './pubkeys/serialized_dsc_tree.json'; +import serialized_csca_tree from "./pubkeys/serialized_csca_tree.json"; +import serialized_dsc_tree from "./pubkeys/serialized_dsc_tree.json"; const registerCircuits: CircuitArtifacts = { - "register_sha256_sha256_sha256_rsa_65537_4096": { - wasm: "../circuits/build/register/register_sha256_sha256_sha256_rsa_65537_4096/register_sha256_sha256_sha256_rsa_65537_4096_js/register_sha256_sha256_sha256_rsa_65537_4096.wasm", - zkey: "../circuits/build/register/register_sha256_sha256_sha256_rsa_65537_4096/register_sha256_sha256_sha256_rsa_65537_4096_final.zkey", - vkey: "../circuits/build/register/register_sha256_sha256_sha256_rsa_65537_4096/register_sha256_sha256_sha256_rsa_65537_4096_vkey.json" - } + register_sha256_sha256_sha256_rsa_65537_4096: { + wasm: "../circuits/build/register/register_sha256_sha256_sha256_rsa_65537_4096/register_sha256_sha256_sha256_rsa_65537_4096_js/register_sha256_sha256_sha256_rsa_65537_4096.wasm", + zkey: "../circuits/build/register/register_sha256_sha256_sha256_rsa_65537_4096/register_sha256_sha256_sha256_rsa_65537_4096_final.zkey", + vkey: "../circuits/build/register/register_sha256_sha256_sha256_rsa_65537_4096/register_sha256_sha256_sha256_rsa_65537_4096_vkey.json", + }, }; const dscCircuits: CircuitArtifacts = { - "dsc_sha256_rsa_65537_4096": { - wasm: "../circuits/build/dsc/dsc_sha256_rsa_65537_4096/dsc_sha256_rsa_65537_4096_js/dsc_sha256_rsa_65537_4096.wasm", - zkey: "../circuits/build/dsc/dsc_sha256_rsa_65537_4096/dsc_sha256_rsa_65537_4096_final.zkey", - vkey: "../circuits/build/dsc/dsc_sha256_rsa_65537_4096/dsc_sha256_rsa_65537_4096_vkey.json" - } + dsc_sha256_rsa_65537_4096: { + wasm: "../circuits/build/dsc/dsc_sha256_rsa_65537_4096/dsc_sha256_rsa_65537_4096_js/dsc_sha256_rsa_65537_4096.wasm", + zkey: "../circuits/build/dsc/dsc_sha256_rsa_65537_4096/dsc_sha256_rsa_65537_4096_final.zkey", + vkey: "../circuits/build/dsc/dsc_sha256_rsa_65537_4096/dsc_sha256_rsa_65537_4096_vkey.json", + }, }; const vcAndDiscloseCircuits: CircuitArtifacts = { - "vc_and_disclose": { - wasm: "../circuits/build/disclose/vc_and_disclose/vc_and_disclose_js/vc_and_disclose.wasm", - zkey: "../circuits/build/disclose/vc_and_disclose/vc_and_disclose_final.zkey", - vkey: "../circuits/build/disclose/vc_and_disclose/vc_and_disclose_vkey.json" - } -} + vc_and_disclose: { + wasm: "../circuits/build/disclose/vc_and_disclose/vc_and_disclose_js/vc_and_disclose.wasm", + zkey: "../circuits/build/disclose/vc_and_disclose/vc_and_disclose_final.zkey", + vkey: "../circuits/build/disclose/vc_and_disclose/vc_and_disclose_vkey.json", + }, +}; -export async function generateRegisterProof( - secret: string, - passportData: PassportData -): Promise { - console.log(CYAN, "=== Start generateRegisterProof ===", RESET); - - // Get the circuit inputs - const registerCircuitInputs: CircuitSignals = await generateCircuitInputsRegister( - secret, - passportData, - serialized_dsc_tree as string - ); - - // Generate the proof - const startTime = performance.now(); - - const registerProof: { - proof: Groth16Proof, - publicSignals: PublicSignals - } = await groth16.fullProve( - registerCircuitInputs, - registerCircuits["register_sha256_sha256_sha256_rsa_65537_4096"].wasm, - registerCircuits["register_sha256_sha256_sha256_rsa_65537_4096"].zkey - ); - - const endTime = performance.now(); - console.log(GREEN, `groth16.fullProve execution time: ${((endTime - startTime) / 1000).toFixed(2)} seconds`, RESET); - - // Verify the proof - const vKey = JSON.parse(fs.readFileSync(registerCircuits["register_sha256_sha256_sha256_rsa_65537_4096"].vkey, 'utf8')); - const isValid = await groth16.verify(vKey, registerProof.publicSignals, registerProof.proof); - if (!isValid) { - throw new Error("Generated register proof verification failed"); - } - console.log(GREEN, "Register proof verified successfully", RESET); - - const rawCallData = await groth16.exportSolidityCallData(registerProof.proof, registerProof.publicSignals); - const fixedProof = parseSolidityCalldata(rawCallData, {} as RegisterCircuitProof); - - console.log(CYAN, "=== End generateRegisterProof ===", RESET); - return fixedProof; +export async function generateRegisterProof(secret: string, passportData: PassportData): Promise { + console.log(CYAN, "=== Start generateRegisterProof ===", RESET); + + // Get the circuit inputs + const registerCircuitInputs: CircuitSignals = await generateCircuitInputsRegister( + secret, + passportData, + serialized_dsc_tree as string, + ); + + // Generate the proof + const startTime = performance.now(); + + const registerProof: { + proof: Groth16Proof; + publicSignals: PublicSignals; + } = await groth16.fullProve( + registerCircuitInputs, + registerCircuits["register_sha256_sha256_sha256_rsa_65537_4096"].wasm, + registerCircuits["register_sha256_sha256_sha256_rsa_65537_4096"].zkey, + ); + + const endTime = performance.now(); + console.log(GREEN, `groth16.fullProve execution time: ${((endTime - startTime) / 1000).toFixed(2)} seconds`, RESET); + + // Verify the proof + const vKey = JSON.parse( + fs.readFileSync(registerCircuits["register_sha256_sha256_sha256_rsa_65537_4096"].vkey, "utf8"), + ); + const isValid = await groth16.verify(vKey, registerProof.publicSignals, registerProof.proof); + if (!isValid) { + throw new Error("Generated register proof verification failed"); + } + console.log(GREEN, "Register proof verified successfully", RESET); + + const rawCallData = await groth16.exportSolidityCallData(registerProof.proof, registerProof.publicSignals); + const fixedProof = parseSolidityCalldata(rawCallData, {} as RegisterCircuitProof); + + console.log(CYAN, "=== End generateRegisterProof ===", RESET); + return fixedProof; } -export async function generateDscProof( - passportData: PassportData, -): Promise { - console.log(CYAN, "=== Start generateDscProof ===", RESET); - - const dscCircuitInputs: CircuitSignals = await generateCircuitInputsDSC( - passportData, - serialized_csca_tree - ); - - const startTime = performance.now(); - const dscProof = await groth16.fullProve( - dscCircuitInputs, - dscCircuits["dsc_sha256_rsa_65537_4096"].wasm, - dscCircuits["dsc_sha256_rsa_65537_4096"].zkey - ); - const endTime = performance.now(); - console.log(GREEN, `groth16.fullProve execution time: ${((endTime - startTime) / 1000).toFixed(2)} seconds`, RESET); - - // Verify the proof - const vKey = JSON.parse(fs.readFileSync(dscCircuits["dsc_sha256_rsa_65537_4096"].vkey, 'utf8')); - const isValid = await groth16.verify(vKey, dscProof.publicSignals, dscProof.proof); - if (!isValid) { - throw new Error("Generated DSC proof verification failed"); - } - console.log(GREEN, "DSC proof verified successfully", RESET); - - const rawCallData = await groth16.exportSolidityCallData(dscProof.proof, dscProof.publicSignals); - const fixedProof = parseSolidityCalldata(rawCallData, {} as DscCircuitProof); - - console.log(CYAN, "=== End generateDscProof ===", RESET); - return fixedProof; +export async function generateDscProof(passportData: PassportData): Promise { + console.log(CYAN, "=== Start generateDscProof ===", RESET); + + const dscCircuitInputs: CircuitSignals = await generateCircuitInputsDSC(passportData, serialized_csca_tree); + + const startTime = performance.now(); + const dscProof = await groth16.fullProve( + dscCircuitInputs, + dscCircuits["dsc_sha256_rsa_65537_4096"].wasm, + dscCircuits["dsc_sha256_rsa_65537_4096"].zkey, + ); + const endTime = performance.now(); + console.log(GREEN, `groth16.fullProve execution time: ${((endTime - startTime) / 1000).toFixed(2)} seconds`, RESET); + + // Verify the proof + const vKey = JSON.parse(fs.readFileSync(dscCircuits["dsc_sha256_rsa_65537_4096"].vkey, "utf8")); + const isValid = await groth16.verify(vKey, dscProof.publicSignals, dscProof.proof); + if (!isValid) { + throw new Error("Generated DSC proof verification failed"); + } + console.log(GREEN, "DSC proof verified successfully", RESET); + + const rawCallData = await groth16.exportSolidityCallData(dscProof.proof, dscProof.publicSignals); + const fixedProof = parseSolidityCalldata(rawCallData, {} as DscCircuitProof); + + console.log(CYAN, "=== End generateDscProof ===", RESET); + return fixedProof; } export async function generateVcAndDiscloseRawProof( - secret: string, - attestationId: string, - passportData: PassportData, - scope: string, - selectorDg1: string[] = new Array(93).fill("1"), - selectorOlderThan: string | number = "1", - merkletree: LeanIMT, - majority: string = "20", - passportNo_smt?: SMT, - nameAndDob_smt?: SMT, - nameAndYob_smt?: SMT, - selectorOfac: string | number = "1", - forbiddenCountriesList: string[] = ["AAA"], - userIdentifier: string = "0000000000000000000000000000000000000000" + secret: string, + attestationId: string, + passportData: PassportData, + scope: string, + selectorDg1: string[] = new Array(93).fill("1"), + selectorOlderThan: string | number = "1", + merkletree: LeanIMT, + majority: string = "20", + passportNo_smt?: SMT, + nameAndDob_smt?: SMT, + nameAndYob_smt?: SMT, + selectorOfac: string | number = "1", + forbiddenCountriesList: string[] = ["AAA"], + userIdentifier: string = "0000000000000000000000000000000000000000", ): Promise<{ - proof: Groth16Proof, - publicSignals: PublicSignals + proof: Groth16Proof; + publicSignals: PublicSignals; }> { - // Initialize all three SMTs if not provided - if (!passportNo_smt || !nameAndDob_smt || !nameAndYob_smt) { - const smts = getSMTs(); - passportNo_smt = smts.passportNo_smt; - nameAndDob_smt = smts.nameAndDob_smt; - nameAndYob_smt = smts.nameAndYob_smt; - } - - const vcAndDiscloseCircuitInputs: CircuitSignals = generateCircuitInputsVCandDisclose( - secret, - attestationId, - passportData, - scope, - selectorDg1, - selectorOlderThan, - merkletree, - majority, - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt, - selectorOfac, - forbiddenCountriesList, - userIdentifier - ); - - console.log(CYAN, "=== Start generateVcAndDiscloseRawProof ===", RESET); - const startTime = performance.now(); - const vcAndDiscloseProof = await groth16.fullProve( - vcAndDiscloseCircuitInputs, - vcAndDiscloseCircuits["vc_and_disclose"].wasm, - vcAndDiscloseCircuits["vc_and_disclose"].zkey - ); - - const endTime = performance.now(); - console.log(GREEN, `groth16.fullProve execution time: ${((endTime - startTime) / 1000).toFixed(2)} seconds`, RESET); - - // Verify the proof - const vKey = JSON.parse(fs.readFileSync(vcAndDiscloseCircuits["vc_and_disclose"].vkey, 'utf8')); - const isValid = await groth16.verify(vKey, vcAndDiscloseProof.publicSignals, vcAndDiscloseProof.proof); - if (!isValid) { - throw new Error("Generated VC and Disclose proof verification failed"); - } - console.log(GREEN, "VC and Disclose proof verified successfully", RESET); - console.log(CYAN, "=== End generateVcAndDiscloseRawProof ===", RESET); - - return vcAndDiscloseProof; + // Initialize all three SMTs if not provided + if (!passportNo_smt || !nameAndDob_smt || !nameAndYob_smt) { + const smts = getSMTs(); + passportNo_smt = smts.passportNo_smt; + nameAndDob_smt = smts.nameAndDob_smt; + nameAndYob_smt = smts.nameAndYob_smt; + } + + const vcAndDiscloseCircuitInputs: CircuitSignals = generateCircuitInputsVCandDisclose( + secret, + attestationId, + passportData, + scope, + selectorDg1, + selectorOlderThan, + merkletree, + majority, + passportNo_smt, + nameAndDob_smt, + nameAndYob_smt, + selectorOfac, + forbiddenCountriesList, + userIdentifier, + ); + + console.log(CYAN, "=== Start generateVcAndDiscloseRawProof ===", RESET); + const startTime = performance.now(); + const vcAndDiscloseProof = await groth16.fullProve( + vcAndDiscloseCircuitInputs, + vcAndDiscloseCircuits["vc_and_disclose"].wasm, + vcAndDiscloseCircuits["vc_and_disclose"].zkey, + ); + + const endTime = performance.now(); + console.log(GREEN, `groth16.fullProve execution time: ${((endTime - startTime) / 1000).toFixed(2)} seconds`, RESET); + + // Verify the proof + const vKey = JSON.parse(fs.readFileSync(vcAndDiscloseCircuits["vc_and_disclose"].vkey, "utf8")); + const isValid = await groth16.verify(vKey, vcAndDiscloseProof.publicSignals, vcAndDiscloseProof.proof); + if (!isValid) { + throw new Error("Generated VC and Disclose proof verification failed"); + } + console.log(GREEN, "VC and Disclose proof verified successfully", RESET); + console.log(CYAN, "=== End generateVcAndDiscloseRawProof ===", RESET); + + return vcAndDiscloseProof; } export async function generateVcAndDiscloseProof( - secret: string, - attestationId: string, - passportData: PassportData, - scope: string, - selectorDg1: string[] = new Array(93).fill("1"), - selectorOlderThan: string | number = "1", - merkletree: LeanIMT, - majority: string = "20", - passportNo_smt?: SMT, - nameAndDob_smt?: SMT, - nameAndYob_smt?: SMT, - selectorOfac: string | number = "1", - forbiddenCountriesList: string[] = ["AAA","000","000","000","000","000","000","000","000","000","AAA","000","000","000","000","000","000","000","000","000","AAA","000","000","000","000","000","000","000","000","000","AAA","000","000","000","000","000","000","000","000","000"], - userIdentifier: string = "0000000000000000000000000000000000000000" + secret: string, + attestationId: string, + passportData: PassportData, + scope: string, + selectorDg1: string[] = new Array(93).fill("1"), + selectorOlderThan: string | number = "1", + merkletree: LeanIMT, + majority: string = "20", + passportNo_smt?: SMT, + nameAndDob_smt?: SMT, + nameAndYob_smt?: SMT, + selectorOfac: string | number = "1", + forbiddenCountriesList: string[] = [ + "AAA", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "AAA", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "AAA", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "AAA", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + "000", + ], + userIdentifier: string = "0000000000000000000000000000000000000000", ): Promise { - const rawProof = await generateVcAndDiscloseRawProof( - secret, - attestationId, - passportData, - scope, - selectorDg1, - selectorOlderThan, - merkletree, - majority, - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt, - selectorOfac, - forbiddenCountriesList, - userIdentifier - ); - - const rawCallData = await groth16.exportSolidityCallData(rawProof.proof, rawProof.publicSignals); - const fixedProof = parseSolidityCalldata(rawCallData, {} as VcAndDiscloseProof); - - return fixedProof; + const rawProof = await generateVcAndDiscloseRawProof( + secret, + attestationId, + passportData, + scope, + selectorDg1, + selectorOlderThan, + merkletree, + majority, + passportNo_smt, + nameAndDob_smt, + nameAndYob_smt, + selectorOfac, + forbiddenCountriesList, + userIdentifier, + ); + + const rawCallData = await groth16.exportSolidityCallData(rawProof.proof, rawProof.publicSignals); + const fixedProof = parseSolidityCalldata(rawCallData, {} as VcAndDiscloseProof); + + return fixedProof; } export function parseSolidityCalldata(rawCallData: string, _type: T): T { - const parsed = JSON.parse("[" + rawCallData + "]"); - - return { - a: parsed[0].map((x: string) => x.replace(/"/g, '')) as [BigNumberish, BigNumberish], - b: parsed[1].map((arr: string[]) => - arr.map((x: string) => x.replace(/"/g, '')) - ) as [[BigNumberish, BigNumberish], [BigNumberish, BigNumberish]], - c: parsed[2].map((x: string) => x.replace(/"/g, '')) as [BigNumberish, BigNumberish], - pubSignals: parsed[3].map((x: string) => x.replace(/"/g, '')) as BigNumberish[] - } as T; + const parsed = JSON.parse("[" + rawCallData + "]"); + + return { + a: parsed[0].map((x: string) => x.replace(/"/g, "")) as [BigNumberish, BigNumberish], + b: parsed[1].map((arr: string[]) => arr.map((x: string) => x.replace(/"/g, ""))) as [ + [BigNumberish, BigNumberish], + [BigNumberish, BigNumberish], + ], + c: parsed[2].map((x: string) => x.replace(/"/g, "")) as [BigNumberish, BigNumberish], + pubSignals: parsed[3].map((x: string) => x.replace(/"/g, "")) as BigNumberish[], + } as T; } - export function getSMTs() { - const passportNo_smt = importSMTFromJsonFile("../common/ofacdata/outputs/passportNoAndNationalitySMT.json") as SMT; - const nameAndDob_smt = importSMTFromJsonFile("../common/ofacdata/outputs/nameAndDobSMT.json") as SMT; - const nameAndYob_smt = importSMTFromJsonFile("../common/ofacdata/outputs/nameAndYobSMT.json") as SMT; - - return { - passportNo_smt, - nameAndDob_smt, - nameAndYob_smt - }; + const passportNo_smt = importSMTFromJsonFile("../common/ofacdata/outputs/passportNoAndNationalitySMT.json") as SMT; + const nameAndDob_smt = importSMTFromJsonFile("../common/ofacdata/outputs/nameAndDobSMT.json") as SMT; + const nameAndYob_smt = importSMTFromJsonFile("../common/ofacdata/outputs/nameAndYobSMT.json") as SMT; + + return { + passportNo_smt, + nameAndDob_smt, + nameAndYob_smt, + }; } function importSMTFromJsonFile(filePath?: string): SMT | null { - try { - const jsonString = fs.readFileSync(path.resolve(process.cwd(), filePath as string), 'utf8'); + try { + const jsonString = fs.readFileSync(path.resolve(process.cwd(), filePath as string), "utf8"); - const data = JSON.parse(jsonString); + const data = JSON.parse(jsonString); - const hash2 = (childNodes: ChildNodes) => (childNodes.length === 2 ? poseidon2(childNodes) : poseidon3(childNodes)); - const smt = new SMT(hash2, true); - smt.import(data); + const hash2 = (childNodes: ChildNodes) => (childNodes.length === 2 ? poseidon2(childNodes) : poseidon3(childNodes)); + const smt = new SMT(hash2, true); + smt.import(data); - return smt; - } catch (error) { - console.error('Failed to import SMT from JSON file:', error); - return null; - } + return smt; + } catch (error) { + console.error("Failed to import SMT from JSON file:", error); + return null; + } } diff --git a/contracts/test/utils/pubkeys/serialized_csca_tree.json b/contracts/test/utils/pubkeys/serialized_csca_tree.json index 39a1b4114..5139722da 100644 --- a/contracts/test/utils/pubkeys/serialized_csca_tree.json +++ b/contracts/test/utils/pubkeys/serialized_csca_tree.json @@ -1 +1,90 @@ -[["6302746167612040169287204224641965049119379670159808996613022200426959969278","21737912865216631366336567244260032647310946375673351181140174093591714702999","7881627741362630218419203394369410748786507764316669620068500512816306974393","8442633355440465296842644318461346259324083140085137778501389055937910431110","494385956299168270408334656570463268819757224023693256178124768603625095689","11109705732184239012583404749930109480114669765649070936031155493622876369432","9074991679283645951358641479142018086508433068636738897852818247691550887353","10472104103456953748165921858843921722705273802507936987918628317450502368318","20465532314290048641249890589020580844800312880610998262795900425795687925759","5768994172638224755740597462572068991220057867415414997645244086458792645415","17252018052637913533753543738759416074689182570352156984838315665730273174771","344641985496327935255151802075808884620413685031595062530048227920050721780","12136951745768356780790830952320550859256567348204838329686829291956271851018","13156935969312787083658542670212591426438912414983737359002368687207144158384","18390019689329531194486865663275817993149098196912806933141622083576329149060","1481242557340385890029242958318001323542042109291864424212505135403557049174","8212379972296569224239707053291801266656219357105654879157065434106153446780","7259130865988598378063439736597905343524876834653292276109931166452499429748","9121308753649396222680496889506939509201230922178179924059434299141020697403","285292161892340475671724520102600999462489619312686773735450615184611138494","17039352924793721634937165985544670409252882635692632479205349210469115588765","13502358060740841171380532205068310953416088597412723446166411697331808464867","17340560759412667275187297637986710225182012906580596771637656874104617617955","8161679470983166059226129385619085265731972285960057248143860608525733203270","14871986472052100593919450740854089518175775672170855933096343961866149319949","1024796798868617073580401107121867347946885220866292564654180021134775438463","21314659513316629128269900118046844671368217281573948618189189184438357521850","14333285970232052794263361289909650744651387298949229098454892979931317772146","16041205263585308774562352509747184978808349452049402919724529400974025427436","8087267757933126132764313502987988617372965137423098839133763536652762365681","7962106263240616478489255388356842229007064058701247603002333884146997650489","3623426348190205637422491853880154438593931070755716928634661523298474873370","14890281186129558220608231498920908810133225689204820445535572821472349664447"],["4799972325846543794225228491143787399389885942417063987224237164999385319062","17050236804818394861130974609766586541491094962728898163841781451223822854686","1684095988446507706929542511950029896329456076438958417914434742534053808377","13030822995128201263800907485086206983654704449426873876221363197647850166314","20387868117709928393743787975391876407731857373450679028712293718320824421501","20648800321790649263930241990062778433044036026899293567267368546697502978404","5558822243190898430854422659247277485120763541538425901094235849734898971547","9648977827828540671109446184233701627175773049876679003145259446306367526913","19587958295993125277460383800858337068930180629959346593667253473373677697838","10766098235994178632473997874302736133480358322525035521842128765122396106753","3280132879539287366527818935691748975940933587498820629810825597324185825847","16042507993949674348775016509851234008694527541085892473255432193590272155228","9861886961854997054898644300025435424974733812770562105962523420323474270014","19963900440588427317645840967905315109665755922636714102274837921808725924490","14560929249637716209472399173281335447881032559475124155250089695314652709191","8793029054134443177154661146037690681847213703147023923126117330651746975093","6925999197894078032454979151597762706585652495739163647097172857061948107548"],["15437505910104448767291373721892514134533670716520577686244116418756186347964","9662712081254759511361246703401148719683866951663061909834810685640445739155","20383431234416469352301291449238452506080771017490889548224583250446902949522","17761227464350859107613675961034420867642506074271853781885405739945665021951","10107612039899335485435001531034291183382103402117414413277201288890819890175","21676120760606796382962041245156922927516003007606533210349079976883427407876","3959481944782480427438878998268686710659856580112036162216134326047024223619","13995366414942085322718873409710308506843557459098667415203661966308146712276","12396189675521664477208213044494994395570714180213788407180369449372794337406"],["17536551248416856833253545290007826015310552834679591084728236812275380736581","21178262016621282270578676828655596120453358323099758552458721672074592774466","12983142270089439210893516110450393549941947745609655791579563598275214147990","11138438821067972642938006246604783995156242377512994534882399065269415238242","14367141578614776950464394914864658179440566498674064519890241555879050349273"],["4746628767395628818871695814217923898815372663453343963780833567597879413422","6217935900653585035630246253466782187759116959924419206414312068302028006200","1712622252469401905020836297393811034367718131168934306349084470952949672370"],["9591986692462415575100546764405459060632901984266333538073859143124986153857","16005335605576341683358111497065243375958891362902160878740195332217005325867"],["10058083772386987881503691291273436622272886362704429356343750534180295442877"],["948496844530378519444411419272223562136844993455458676689351273655202389660"],["6104686411816540186205486815934621935504228294686310666920439592650163266817"],["8785911549693694407543433563052767959786709016516642293679450790050523979623"],["7409592596312085101815420137623073822216578588711762918861029979315261400521"],["21777804325204060904854919426171461175668073322071471253268661582106674611134"],["13859398115974385161464830211947258005860166431741677064758266112192747818198"]] \ No newline at end of file +[ + [ + "6302746167612040169287204224641965049119379670159808996613022200426959969278", + "21737912865216631366336567244260032647310946375673351181140174093591714702999", + "7881627741362630218419203394369410748786507764316669620068500512816306974393", + "8442633355440465296842644318461346259324083140085137778501389055937910431110", + "494385956299168270408334656570463268819757224023693256178124768603625095689", + "11109705732184239012583404749930109480114669765649070936031155493622876369432", + "9074991679283645951358641479142018086508433068636738897852818247691550887353", + "10472104103456953748165921858843921722705273802507936987918628317450502368318", + "20465532314290048641249890589020580844800312880610998262795900425795687925759", + "5768994172638224755740597462572068991220057867415414997645244086458792645415", + "17252018052637913533753543738759416074689182570352156984838315665730273174771", + "344641985496327935255151802075808884620413685031595062530048227920050721780", + "12136951745768356780790830952320550859256567348204838329686829291956271851018", + "13156935969312787083658542670212591426438912414983737359002368687207144158384", + "18390019689329531194486865663275817993149098196912806933141622083576329149060", + "1481242557340385890029242958318001323542042109291864424212505135403557049174", + "8212379972296569224239707053291801266656219357105654879157065434106153446780", + "7259130865988598378063439736597905343524876834653292276109931166452499429748", + "9121308753649396222680496889506939509201230922178179924059434299141020697403", + "285292161892340475671724520102600999462489619312686773735450615184611138494", + "17039352924793721634937165985544670409252882635692632479205349210469115588765", + "13502358060740841171380532205068310953416088597412723446166411697331808464867", + "17340560759412667275187297637986710225182012906580596771637656874104617617955", + "8161679470983166059226129385619085265731972285960057248143860608525733203270", + "14871986472052100593919450740854089518175775672170855933096343961866149319949", + "1024796798868617073580401107121867347946885220866292564654180021134775438463", + "21314659513316629128269900118046844671368217281573948618189189184438357521850", + "14333285970232052794263361289909650744651387298949229098454892979931317772146", + "16041205263585308774562352509747184978808349452049402919724529400974025427436", + "8087267757933126132764313502987988617372965137423098839133763536652762365681", + "7962106263240616478489255388356842229007064058701247603002333884146997650489", + "3623426348190205637422491853880154438593931070755716928634661523298474873370", + "14890281186129558220608231498920908810133225689204820445535572821472349664447" + ], + [ + "4799972325846543794225228491143787399389885942417063987224237164999385319062", + "17050236804818394861130974609766586541491094962728898163841781451223822854686", + "1684095988446507706929542511950029896329456076438958417914434742534053808377", + "13030822995128201263800907485086206983654704449426873876221363197647850166314", + "20387868117709928393743787975391876407731857373450679028712293718320824421501", + "20648800321790649263930241990062778433044036026899293567267368546697502978404", + "5558822243190898430854422659247277485120763541538425901094235849734898971547", + "9648977827828540671109446184233701627175773049876679003145259446306367526913", + "19587958295993125277460383800858337068930180629959346593667253473373677697838", + "10766098235994178632473997874302736133480358322525035521842128765122396106753", + "3280132879539287366527818935691748975940933587498820629810825597324185825847", + "16042507993949674348775016509851234008694527541085892473255432193590272155228", + "9861886961854997054898644300025435424974733812770562105962523420323474270014", + "19963900440588427317645840967905315109665755922636714102274837921808725924490", + "14560929249637716209472399173281335447881032559475124155250089695314652709191", + "8793029054134443177154661146037690681847213703147023923126117330651746975093", + "6925999197894078032454979151597762706585652495739163647097172857061948107548" + ], + [ + "15437505910104448767291373721892514134533670716520577686244116418756186347964", + "9662712081254759511361246703401148719683866951663061909834810685640445739155", + "20383431234416469352301291449238452506080771017490889548224583250446902949522", + "17761227464350859107613675961034420867642506074271853781885405739945665021951", + "10107612039899335485435001531034291183382103402117414413277201288890819890175", + "21676120760606796382962041245156922927516003007606533210349079976883427407876", + "3959481944782480427438878998268686710659856580112036162216134326047024223619", + "13995366414942085322718873409710308506843557459098667415203661966308146712276", + "12396189675521664477208213044494994395570714180213788407180369449372794337406" + ], + [ + "17536551248416856833253545290007826015310552834679591084728236812275380736581", + "21178262016621282270578676828655596120453358323099758552458721672074592774466", + "12983142270089439210893516110450393549941947745609655791579563598275214147990", + "11138438821067972642938006246604783995156242377512994534882399065269415238242", + "14367141578614776950464394914864658179440566498674064519890241555879050349273" + ], + [ + "4746628767395628818871695814217923898815372663453343963780833567597879413422", + "6217935900653585035630246253466782187759116959924419206414312068302028006200", + "1712622252469401905020836297393811034367718131168934306349084470952949672370" + ], + [ + "9591986692462415575100546764405459060632901984266333538073859143124986153857", + "16005335605576341683358111497065243375958891362902160878740195332217005325867" + ], + ["10058083772386987881503691291273436622272886362704429356343750534180295442877"], + ["948496844530378519444411419272223562136844993455458676689351273655202389660"], + ["6104686411816540186205486815934621935504228294686310666920439592650163266817"], + ["8785911549693694407543433563052767959786709016516642293679450790050523979623"], + ["7409592596312085101815420137623073822216578588711762918861029979315261400521"], + ["21777804325204060904854919426171461175668073322071471253268661582106674611134"], + ["13859398115974385161464830211947258005860166431741677064758266112192747818198"] +] diff --git a/contracts/test/utils/pubkeys/serialized_dsc_tree.json b/contracts/test/utils/pubkeys/serialized_dsc_tree.json index 1a229c5c7..fbf51fc8c 100644 --- a/contracts/test/utils/pubkeys/serialized_dsc_tree.json +++ b/contracts/test/utils/pubkeys/serialized_dsc_tree.json @@ -1 +1 @@ -"[[\"8474170120361574158328936749210134677109057903005360945237099789945718842442\",\"19025861045901247405057316482734230273999651461753587376586889481054653237298\",\"20875820196105056284418196645437121025521090457969915100313025042226816593058\",\"7981401722738051151242865671764881670381691410051713896829121611466467295296\",\"12686075888445000028034879614337002534166281820554518240319859431277458776808\",\"14407479994300627796369211860752956065461957169462957624471349543175814297361\",\"12876099927862331079950419893066049696538807114168859906501896216679946602822\",\"5034430740274171017815797630858587451285547946739275122278422412563124952340\",\"124908299050395035311905641407789814479238558810338620545288553719611907579\",\"2220350286514662949665617433093307231741026918951518572442081261648362984066\",\"21054071841429471407849176541802267087608621767405046215729266220057231321239\",\"18615459511690451805285056890862312778437329715516723596790967668107849472332\",\"11005834873878236310149874426944776526137242691148625759790072174524730632293\",\"7750466501575524692208442425341714971523444376628469247291115085823741362258\",\"2825614199585564216616864222833372928389506766845048349547149599270041996580\",\"20178939917842893412863622473123830356625340961044353255941385554773117435807\",\"15457105913874757357155517217216962392853062937896722147907639311387695489612\",\"5769570513706963538956166571458035734925811338270969027092827256594315896305\",\"6944618873207772930654947866168069208208574383743967671528812057261674809023\",\"481787392403338571656555722870122978065125892949434958835001773033712625191\",\"629022117628670814916597453011668822767584986875266116143558377822126606210\",\"3477506405023338639718612883193130086582505996283986141234891023161625314400\",\"10391239348681537631698595933529223926008268217047488115607852208836329547314\",\"17714411760364866672536495662484312224393687256599208863125247267615177780962\",\"8235397798041831527134655625941532067772455314854641402993505266475178259142\",\"15400445794279992494417489709867566126537687907753955918275441261129856435204\",\"18390538379285507212129312705208118101486722955290795425636438098737923067560\",\"15884158870062763074209623120979824036430500099471957276287699843774740810060\",\"9761474784835077830881823851138622604776507060902897946796201272804305644780\",\"10691342730033436831098118713873643843887824911850191956325145412899736489783\",\"5383646477412575449009401478396232205746537027068927954390800800393113212132\",\"11221442935955024550310715250831163771206851175519681722264731998826151062912\",\"5908215522026944047821144963285306601790999208803054898792188809472216445547\",\"19125477641235279033749474384585292663869320556945218215852551798484901700632\",\"21131596906673841534294586137917770250418344721734587506304435102735580889655\",\"5546854205853827616610180972262457239247839686812479293725221982292586246857\",\"765319165068330175794491754566055878846660871087781618280248834367406785408\",\"9065563084454046530671534818701959328556136219713201237904842104821385096277\",\"11685470115846281888274197814651339961028617777494077059927246879793227459012\",\"2276790636588619756427393596069501098393513502175223999114797598139979501715\"],[\"18261435412082991275184532065290531009107742677653928657546608300990409875179\",\"9319096001557865141309312824962941754323190215020661725351078769489865210042\",\"19426464515945862948128564234105343408552273980845098594209919356069483229628\",\"4821438189762812946550415462056480603193509374059280985662653954928168448767\",\"5172906179275109031852701363533115355308886025681591977544612584826814597738\",\"3030902410998504999074059222657043445867065651115237138539258929106073952351\",\"14984550843964273185801085401106206042254593799102067736545138712711200363110\",\"4913017693235246056337618677701835414584892336316530224150731143499438377822\",\"20331547282693860184739325401078246632991653782842932001956973617899699067126\",\"7600383600608310101623426738393844905406553598472129359788500052979517101086\",\"21052687276768682440237728714031588951028862448534763565173935420275983308030\",\"8624573291232390725167327242752231606002232362298782976538648069452315809692\",\"8822425521071097948786926466502634257594788443097595142360595191654091518800\",\"19870347064194260309549332912586515029667844641153191360540616815967059032631\",\"20465460310501582547409465331218341819661912832562849210077024323229630431309\",\"8822852684497325396969645265731037061910702688625880340802544167587243049164\",\"4478528672717298316804099458930548551969390361723990676862003909749451604942\",\"17325287090866702355475285665146878940121103201057390207999938983310817624720\",\"19625874220796709797520370627316734190983871032135923532916997267931941944017\",\"4971210922480782538363635536321057597816923124821190325639868004751176123095\"],[\"4116500508658592197045562123902818266144060908634297057533152651751621275415\",\"6279942219928883797763183575386930078658513224739644044432142134698996392345\",\"17873714886463212348626929321462768984929311072311394677407846329308137071177\",\"1780903854488782716523110881333093026159313079337979149518816941412656424372\",\"20050373159836077479057811893536206817195523291436452658040605882811525003132\",\"5410620983195375911090727814270361454832036795917695206544043001420960637777\",\"11266551165651302260349077780564641889328703387362942837789171445336788206333\",\"3608626782139895235764576982540708534353226535204704760149123479387449221471\",\"3145665689117343568678004953880446893036465022181894889004516583481449637793\",\"8073537774997617083133123196297054007342256527983221664627563913756598041137\"],[\"16950176155260599508276620633155897140104757247891462208942656524243675299741\",\"4384637840548698893518161520012906111962786493558848227457354530627659879521\",\"5124677781615023074976959243179487140944992271935523984403489366636038434778\",\"12988207380549681248970615897816015977834414112005771449262709089864569444208\",\"4960783735404364608985140352905530473941590990406201882678348579000881422078\"],[\"20387009608350563521735170556423317268483084337333204688511143658578884542027\",\"19972334535313243417117998358484532425461333194385844246074835217244635372928\",\"4960783735404364608985140352905530473941590990406201882678348579000881422078\"],[\"1003947683617565493626440885069112088208918036484637499642204220769104979880\",\"4960783735404364608985140352905530473941590990406201882678348579000881422078\"],[\"17493683025876340868978454534142017149014501237522261427894104407551129583657\"]]" \ No newline at end of file +"[[\"8474170120361574158328936749210134677109057903005360945237099789945718842442\",\"19025861045901247405057316482734230273999651461753587376586889481054653237298\",\"20875820196105056284418196645437121025521090457969915100313025042226816593058\",\"7981401722738051151242865671764881670381691410051713896829121611466467295296\",\"12686075888445000028034879614337002534166281820554518240319859431277458776808\",\"14407479994300627796369211860752956065461957169462957624471349543175814297361\",\"12876099927862331079950419893066049696538807114168859906501896216679946602822\",\"5034430740274171017815797630858587451285547946739275122278422412563124952340\",\"124908299050395035311905641407789814479238558810338620545288553719611907579\",\"2220350286514662949665617433093307231741026918951518572442081261648362984066\",\"21054071841429471407849176541802267087608621767405046215729266220057231321239\",\"18615459511690451805285056890862312778437329715516723596790967668107849472332\",\"11005834873878236310149874426944776526137242691148625759790072174524730632293\",\"7750466501575524692208442425341714971523444376628469247291115085823741362258\",\"2825614199585564216616864222833372928389506766845048349547149599270041996580\",\"20178939917842893412863622473123830356625340961044353255941385554773117435807\",\"15457105913874757357155517217216962392853062937896722147907639311387695489612\",\"5769570513706963538956166571458035734925811338270969027092827256594315896305\",\"6944618873207772930654947866168069208208574383743967671528812057261674809023\",\"481787392403338571656555722870122978065125892949434958835001773033712625191\",\"629022117628670814916597453011668822767584986875266116143558377822126606210\",\"3477506405023338639718612883193130086582505996283986141234891023161625314400\",\"10391239348681537631698595933529223926008268217047488115607852208836329547314\",\"17714411760364866672536495662484312224393687256599208863125247267615177780962\",\"8235397798041831527134655625941532067772455314854641402993505266475178259142\",\"15400445794279992494417489709867566126537687907753955918275441261129856435204\",\"18390538379285507212129312705208118101486722955290795425636438098737923067560\",\"15884158870062763074209623120979824036430500099471957276287699843774740810060\",\"9761474784835077830881823851138622604776507060902897946796201272804305644780\",\"10691342730033436831098118713873643843887824911850191956325145412899736489783\",\"5383646477412575449009401478396232205746537027068927954390800800393113212132\",\"11221442935955024550310715250831163771206851175519681722264731998826151062912\",\"5908215522026944047821144963285306601790999208803054898792188809472216445547\",\"19125477641235279033749474384585292663869320556945218215852551798484901700632\",\"21131596906673841534294586137917770250418344721734587506304435102735580889655\",\"5546854205853827616610180972262457239247839686812479293725221982292586246857\",\"765319165068330175794491754566055878846660871087781618280248834367406785408\",\"9065563084454046530671534818701959328556136219713201237904842104821385096277\",\"11685470115846281888274197814651339961028617777494077059927246879793227459012\",\"2276790636588619756427393596069501098393513502175223999114797598139979501715\"],[\"18261435412082991275184532065290531009107742677653928657546608300990409875179\",\"9319096001557865141309312824962941754323190215020661725351078769489865210042\",\"19426464515945862948128564234105343408552273980845098594209919356069483229628\",\"4821438189762812946550415462056480603193509374059280985662653954928168448767\",\"5172906179275109031852701363533115355308886025681591977544612584826814597738\",\"3030902410998504999074059222657043445867065651115237138539258929106073952351\",\"14984550843964273185801085401106206042254593799102067736545138712711200363110\",\"4913017693235246056337618677701835414584892336316530224150731143499438377822\",\"20331547282693860184739325401078246632991653782842932001956973617899699067126\",\"7600383600608310101623426738393844905406553598472129359788500052979517101086\",\"21052687276768682440237728714031588951028862448534763565173935420275983308030\",\"8624573291232390725167327242752231606002232362298782976538648069452315809692\",\"8822425521071097948786926466502634257594788443097595142360595191654091518800\",\"19870347064194260309549332912586515029667844641153191360540616815967059032631\",\"20465460310501582547409465331218341819661912832562849210077024323229630431309\",\"8822852684497325396969645265731037061910702688625880340802544167587243049164\",\"4478528672717298316804099458930548551969390361723990676862003909749451604942\",\"17325287090866702355475285665146878940121103201057390207999938983310817624720\",\"19625874220796709797520370627316734190983871032135923532916997267931941944017\",\"4971210922480782538363635536321057597816923124821190325639868004751176123095\"],[\"4116500508658592197045562123902818266144060908634297057533152651751621275415\",\"6279942219928883797763183575386930078658513224739644044432142134698996392345\",\"17873714886463212348626929321462768984929311072311394677407846329308137071177\",\"1780903854488782716523110881333093026159313079337979149518816941412656424372\",\"20050373159836077479057811893536206817195523291436452658040605882811525003132\",\"5410620983195375911090727814270361454832036795917695206544043001420960637777\",\"11266551165651302260349077780564641889328703387362942837789171445336788206333\",\"3608626782139895235764576982540708534353226535204704760149123479387449221471\",\"3145665689117343568678004953880446893036465022181894889004516583481449637793\",\"8073537774997617083133123196297054007342256527983221664627563913756598041137\"],[\"16950176155260599508276620633155897140104757247891462208942656524243675299741\",\"4384637840548698893518161520012906111962786493558848227457354530627659879521\",\"5124677781615023074976959243179487140944992271935523984403489366636038434778\",\"12988207380549681248970615897816015977834414112005771449262709089864569444208\",\"4960783735404364608985140352905530473941590990406201882678348579000881422078\"],[\"20387009608350563521735170556423317268483084337333204688511143658578884542027\",\"19972334535313243417117998358484532425461333194385844246074835217244635372928\",\"4960783735404364608985140352905530473941590990406201882678348579000881422078\"],[\"1003947683617565493626440885069112088208918036484637499642204220769104979880\",\"4960783735404364608985140352905530473941590990406201882678348579000881422078\"],[\"17493683025876340868978454534142017149014501237522261427894104407551129583657\"]]" diff --git a/contracts/test/utils/smt.json b/contracts/test/utils/smt.json index 0cfb2319f..5481c2157 100644 --- a/contracts/test/utils/smt.json +++ b/contracts/test/utils/smt.json @@ -2,4 +2,4 @@ "count": 6903, "time": 54282.60886798799, "smt": "{\n \"root\": [\n \"6336116737947048758640371545129445020002770571169895763706254548250040263750\"\n ],\n \"12662919664721542893225051674966493353530747355926753009905071125032468033205\": [\n \"16909514901290617498673692015309580630611098713850411320191445262875439079429\",\n \"1\",\n \"1\"\n ],\n \"17291941971033290364292343664334141582691359889996552203728455671142774319708\": [\n \"1358326990460907988443953985441398675317230261708180258151992613880179012229\",\n \"1\",\n \"1\"\n ],\n \"17360204590697410682441561710611269227096772526159842823493571511641385333567\": [\n \"376858761936801702493744287698009749609685443542781906703747545340766832008\",\n \"1\",\n \"1\"\n ],\n \"16324426942003917819968720043857168312864876706084554397957159863712239954134\": [\n \"16652402781835906252085231145925117373120751605831084315745522932239565626012\",\n \"1\",\n \"1\"\n ],\n \"14831576055985589877733962858850422744528839550430884601352650342668230388962\": [\n \"11033046849437019283265774863613634464771395249993839245471713144565510868971\",\n \"1\",\n \"1\"\n ],\n \"16702776445674253512295852448468898084004041640069352400450101693462578549120\": [\n \"17401431325126936476216010308161561153807830082724687954070298272751200526777\",\n \"1\",\n \"1\"\n ],\n \"8453930781698956161966037565386594052649943434855952820621497509515600881842\": [\n \"317320199126578993125714089490922654342793076116307191309603561308446434311\",\n \"1\",\n \"1\"\n ],\n \"6654192395225100674424230076493854380632851146448356766017215785727364840978\": [\n \"15848483024599633200204396268011240240832644413149404941818830122959135597888\",\n \"1\",\n \"1\"\n ],\n \"1430569599122404311761264833822838371806320499369954816369924670284087760344\": [\n \"12641754188384160709064581420147604020053881826060940558820099231641480632994\",\n \"1\",\n \"1\"\n ],\n \"10393942039570520833291998896501956395890950104405966033963794469035433545617\": [\n \"19149167241112370800451232658237529961586704337412938450905916299863238967182\",\n \"1\",\n \"1\"\n ],\n \"12963502148033720223967558327733517348804341376291103442456213821214971565308\": [\n \"16211064185418953670517860472549743447269218687227592205006081491439662940486\",\n \"1\",\n \"1\"\n ],\n \"9426528629215666085276378621240053257499179189242485775311233076313365981375\": [\n \"11850911983843258228947326810755091168433935245000693766005637373021170862744\",\n \"1\",\n \"1\"\n ],\n \"1394357068922632260308196357979572042686570492511210869589361162220677245844\": [\n \"5074026096689471190688852212319290826861212581852719913019146470671267867685\",\n \"1\",\n \"1\"\n ],\n \"4947756907375832731701718610536045871893694981285692467878431423992810929069\": [\n \"20646164584410128411139282745341109708566030667386782094383794553132382962688\",\n \"1\",\n \"1\"\n ],\n \"2412461942017887868103140535934323132337189763939329734891335289592823931547\": [\n \"10627647705942300535254747363876448739355728454293251335290065387539271001442\",\n \"1\",\n \"1\"\n ],\n \"5847811117698607630109150234225521269290849904384955392337173053281548810026\": [\n \"18294864185566484873603168670929182200836091996014386482524927294933954295143\",\n \"1\",\n \"1\"\n ],\n \"4720346944542067447018699562082192012442997924562934167565146461169788543814\": [\n \"1913595106956025503665683864256268775992298784844604405758336726488418009482\",\n \"1\",\n \"1\"\n ],\n \"7601586920578461098046768590140436839467112493758303468891549221168738796812\": [\n \"19181529696383457885227959039668742657901147720834085146583083930493502748452\",\n \"1\",\n \"1\"\n ],\n \"16016067597310376370098906309052854549758273122054074240525167839992102922710\": [\n \"10892259651291768981471950997460475513950096824678986875128550583106559586602\",\n \"1\",\n \"1\"\n ],\n \"5296298192487115468998150338544651175214693552854237954055941387663477531427\": [\n \"8626066497853310935691777797496370105771184058056650781317494834663849478353\",\n \"1\",\n \"1\"\n ],\n \"13746384442423772450528293139598314816990343585691400418850350345016061317501\": [\n \"4557490904932419079358289081107505808665433676005512056368486992825199848962\",\n \"1\",\n \"1\"\n ],\n \"7259930184489988306039802278429669994332306194086477168968997198662554915063\": [\n \"16175408606805724196053082522681895564709014092781184721514174809483999182014\",\n \"1\",\n \"1\"\n ],\n \"3680536130689322557299516326128159844706185166717409488564122434763623866694\": [\n \"1206194412171726965817365304894178649065705860966017370424183277046149334951\",\n \"1\",\n \"1\"\n ],\n \"10264959211423772683531677279075411256787852343193441678603979655247365116841\": [\n \"18456092021208276835976927426689585867465386685614743266400487144262979824445\",\n \"1\",\n \"1\"\n ],\n \"2416341898636576619262007406834609163066937274579777640471952918552383912589\": [\n \"10715906157816262816323926991943626737891764361831724439363444683039310569830\",\n \"1\",\n \"1\"\n ],\n \"19101175820598530926753490823478451816986951030479228355433464244767681683285\": [\n \"5954207212955187408420029817358092220942696159245612552849096722456837833918\",\n \"1\",\n \"1\"\n ],\n \"35214602306341820116371318666468603975162116359726905954666473421201655050\": [\n \"14301446175715205915182050778996686522584271044741070079075545006773546120397\",\n \"1\",\n \"1\"\n ],\n \"13257713552747895437646075013074817512207748728798049006743213942575532358118\": [\n \"19317990087273625868041346276938724617524396465502252077883615595477944887873\",\n \"1\",\n \"1\"\n ],\n \"660976795713877107089911877990872075549622312479707090186858563876296300838\": [\n \"7081929254966962648155235482541685877224356999786226977749694446378147114964\",\n \"1\",\n \"1\"\n ],\n \"8664750454079766061136660971935156016368293197337370167984786996459527905522\": [\n \"19988289148310640111851321301693116912807875999014384474874442489370266116978\",\n \"1\",\n \"1\"\n ],\n \"12071421987323694866852388457266414977473566858995717373911434468963182879428\": [\n \"17501427217703935304507877415697524445625770286505132432770085094988491789690\",\n \"1\",\n \"1\"\n ],\n \"13933025213937230532287216263936764549807454054536694376235720587631944657865\": [\n \"13577691306717006522851471607112056417766768889631394182493193902973172445090\",\n \"1\",\n \"1\"\n ],\n \"13375480360797039580021713068904508328930371843649942815687240092318143379196\": [\n \"14861136771255138582189790512719132073503224483690068808762385640824858406629\",\n \"1\",\n \"1\"\n ],\n \"16965057498089857606954099184914130695381237183895288413957026179147318314714\": [\n \"14257126042455383213925134037527109359303210085792344993913317828229535333800\",\n \"1\",\n \"1\"\n ],\n \"9273922511568613673737013859920375525848379568652522577256098855631468962228\": [\n \"9123827484835219995030518243485178997501437064482734349464703249130944673523\",\n \"1\",\n \"1\"\n ],\n \"1200559618023837008214597859615490223710877873398692032371245178935769395934\": [\n \"9738182792102771648837650878183388942559555128269979577083465444986740879484\",\n \"1\",\n \"1\"\n ],\n \"13647805277805058540718714341771589719962388335479208801478639677417980780497\": [\n \"16944407921494481720487839914605263360107056097665116328071845869084731877293\",\n \"1\",\n \"1\"\n ],\n \"21055275801566273544509855948657195021985542961699051940720799623160471322581\": [\n \"10772874585100165605382031499912205198683850621407589400530803674450039230886\",\n \"1\",\n \"1\"\n ],\n \"15758185162961666447006857725639456134111706028256383699631482871070957702622\": [\n \"82907854975022249764946019206068834493156429000028873044822112025241010782\",\n \"1\",\n \"1\"\n ],\n \"20104480629537820196348986183918804285236450609689585719255400604128342086264\": [\n \"9596948812773400222497070428090558568951063290491322448097170315519091298705\",\n \"1\",\n \"1\"\n ],\n \"2455706541691121270640614914574577625338537125128038647736371850880739164284\": [\n \"4491252764103349511725061759086164694619098224267083745709976230107464212921\",\n \"1\",\n \"1\"\n ],\n \"476570712373136344695849920592419058792920713328727329976955147245934668772\": [\n \"10423310775114614227440350859338053741550842872294619554447686048175174633823\",\n \"1\",\n \"1\"\n ],\n \"8924002499584263710857916261830449874804153309501514644517683015123124258059\": [\n \"14886213815044437898796828830134943190998648082018815441648801539934647338496\",\n \"1\",\n \"1\"\n ],\n \"881879203245926064550748766973955297770351930729476682749911956305234239832\": [\n \"18803980935946726094333249949036395042736117151319762056090850013035187885688\",\n \"1\",\n \"1\"\n ],\n \"4040065387914890654778110271190484416807029622992580211104894627430044567306\": [\n \"19363253013914016892977475316075472815855379540055005979228073446198280479006\",\n \"1\",\n \"1\"\n ],\n \"20766956033366071951042151318287701392621474237265912773795623469112718610253\": [\n \"7880794881892527927440278647990297410730088453461161363672433817647802318698\",\n \"1\",\n \"1\"\n ],\n \"8217078342220816521975386398303712154141695490727365777845592328734771147961\": [\n \"7706573937273533251423388450328606064942132357658139733386461699716727397045\",\n \"1\",\n \"1\"\n ],\n \"9611376067186229269488766938619367343610921482774132147206067871566156584234\": [\n \"16691900768321246167170141334413121921106062346755892864139041812289036767961\",\n \"1\",\n \"1\"\n ],\n \"19624698381764374507992657025993754458943937075800064994044784127552645307120\": [\n \"20642152225418366278001722248333909470035643606662316553988897966394814549019\",\n \"1\",\n \"1\"\n ],\n \"13699922656092110868199773028096178813996799007418406686169900872645494083397\": [\n \"7783390058914362030347516236292004545691999762003506410224460200841357063385\",\n \"1\",\n \"1\"\n ],\n \"19135568662972681919676437800607422513235177779257544931136678606670002776394\": [\n \"11874528948486396536723074627703596122788250205933598340120236172210447124736\",\n \"1\",\n \"1\"\n ],\n \"21438043789931892121772712984776321187832121180043369943771732065276696867983\": [\n \"8863042446875103809350781927609135953809171167651678421686650382364110459604\",\n \"1\",\n \"1\"\n ],\n \"3182534594956137906489761000867647932932811946830232265667153660357344765753\": [\n \"21037247901540814332822407269466466977178158655275006681178443059012944045790\",\n \"1\",\n \"1\"\n ],\n \"16604120941534326199474155703405972747576305368905655698769676707900613313934\": [\n \"20695403937417102608986948673867045689847659656067984645702029314001412904656\",\n \"1\",\n \"1\"\n ],\n \"6442845685268211370240501859069169544194482890211070087246523417024421442157\": [\n \"6428370791805462455407310520858337080247068005174236095989944893166226415557\",\n \"1\",\n \"1\"\n ],\n \"18268339623215754725395589933442908000118876435265210564843880548008465436718\": [\n \"13650542203526047077400711341750208272393077471644250200909494113384861683427\",\n \"1\",\n \"1\"\n ],\n \"13963627818059634674785163388619410512835571388587133261235708389604394191140\": [\n \"19513784323545871148607707890475998073762937160037555769133453780315871568312\",\n \"1\",\n \"1\"\n ],\n \"1621166136864252278807051888054137182882926579150473869173283832119357618495\": [\n \"8716580962688822660759812337801564060937057162462016594087716248286266509376\",\n \"1\",\n \"1\"\n ],\n \"3045792721761169378950652097469221916161092803663315731375763340538194433873\": [\n \"18994442820984985373843474215491158552865934676569200358661493183249462042003\",\n \"1\",\n \"1\"\n ],\n \"9092164378107836254247808609885903030057772696056568049203492990499384603964\": [\n \"4016116008394060121451909902572963387695525784773807765351082271920542737681\",\n \"1\",\n \"1\"\n ],\n \"8188492340709833390176194932348110223106778909441981287732060851119654860412\": [\n \"12166134289770776163046440420497248922245012426372275625047411273526251152629\",\n \"1\",\n \"1\"\n ],\n \"123425407663007319516140647523419526774040801419715222389959437882595205701\": [\n \"12139082423215897431266974445621067951259539749594928805882257892535255841228\",\n \"1\",\n \"1\"\n ],\n \"3495561662616662046448661403408050530800493816509286881557122692611012922114\": [\n \"21146739180141073885391478164742786595531759839499548360350463876684873888548\",\n \"1\",\n \"1\"\n ],\n \"3029671962550099314209193538344690265197156376840199311647143361099255526574\": [\n \"10848369883302018368297286148361282040222510301690103157298987097404742446975\",\n \"1\",\n \"1\"\n ],\n \"14004108159666270452868441790990322960682540104759422886990987177589247188230\": [\n \"2194327995119163555732475805150308183712248403724723869031831769847405158627\",\n \"1\",\n \"1\"\n ],\n \"5005620979336489282359456204268060415651035770379352659083527141213793371485\": [\n \"13178781959748999953394483613008883057288854737612264535734071761275689215588\",\n \"1\",\n \"1\"\n ],\n \"1463458607055940457744573102026009638131781104114550601293816219015123865273\": [\n \"10204940335194230111586273755223303209225481081388456668918129733060538045631\",\n \"1\",\n \"1\"\n ],\n \"3987311837801669973428062655150515628595444310152163337590667143181954452654\": [\n \"4089390370903818999404275115237502102753032310817632724715522223336714588845\",\n \"1\",\n \"1\"\n ],\n \"5753564230877039676773853413153258378260809862913209506418915352305528722446\": [\n \"11216023962945341134729847862511583111353058382295113369941696880550173221326\",\n \"1\",\n \"1\"\n ],\n \"13663750262885596832037371351608545733756367841461979035990146942348614223010\": [\n \"16341914983242350949797738681336168174358356676584833571923226955297107818757\",\n \"1\",\n \"1\"\n ],\n \"8851528117809038210790378289974515482999180537987134551959796940130189676386\": [\n \"21099386038629105167276153011519081855077002485417795979300707661018899803539\",\n \"1\",\n \"1\"\n ],\n \"1219001728423269706387256810232733971073239124696414815420474003890802549942\": [\n \"16807779223469778802943620244854588842322294705670172127250179014534658248710\",\n \"1\",\n \"1\"\n ],\n \"4927753395225886034759672979693113235988591173003285950332389861709171306903\": [\n \"16218277431468694288379661771994918681048031840959852780651666909311618703007\",\n \"1\",\n \"1\"\n ],\n \"755333637060745875128942817914955052812418298380288701423636747499940493887\": [\n \"16205414133624779340149454690140712367588643025240789491557795686111123753740\",\n \"1\",\n \"1\"\n ],\n \"5259828701909014277895663260413453899700264830556182501352248213168694812789\": [\n \"2332412615107473651288073250450907724103887842303426523933255852435217246677\",\n \"1\",\n \"1\"\n ],\n \"7415075622760382965871906023194350175151153588962231844091952783492091599351\": [\n \"7700738824021107705006522453372868532540769939285888257589570616010668453284\",\n \"1\",\n \"1\"\n ],\n \"19129552189815049130823422134230907466550391708900240846724432959296585947380\": [\n \"17866423012196330948712597115086924806594570232290619620768442089153451550299\",\n \"1\",\n \"1\"\n ],\n \"14516830038798907813649920111894699029969334151665842298804521094689517058965\": [\n \"18773000221853410777396864650111501061426586064800894393358798988488158383538\",\n \"1\",\n \"1\"\n ],\n \"19599499900677864158924272613266866871263586107259405227660752736935817120016\": [\n \"13173806591949367879232578911196128506490405135525979041804513101906877974130\",\n \"1\",\n \"1\"\n ],\n \"3755740916888160529388875717897383268268070117204576598627734934552024127749\": [\n \"17848320121626016657936074060030284675408952330610046751683396025179508169677\",\n \"1\",\n \"1\"\n ],\n \"6399957370143263392040211928951521383695633099911826017984133552235258105691\": [\n \"8803298086222295437556634094429027729288863020684526741134846818402858888152\",\n \"1\",\n \"1\"\n ],\n \"296380987548499601231869192147049366785682652236372704302470481006437187345\": [\n \"15987326086345460155330222033107472935976885984933725955063917625988529868766\",\n \"1\",\n \"1\"\n ],\n \"8214676924711976494111982447811523664162627074225779688363923262427159545914\": [\n \"14623578332590098615663701632757186613586838796383675472769127163187400415330\",\n \"1\",\n \"1\"\n ],\n \"6858115071369808331701216576588528478505958412127988598931354016698005677010\": [\n \"13409161029025063560889678328979094697727485505563219765124929044244685986118\",\n \"1\",\n \"1\"\n ],\n \"10511416223830698050825276153833395782617809566035368987254669989059104837432\": [\n \"21639351750131130672074820698113089671754097346136975889818011759689779922866\",\n \"1\",\n \"1\"\n ],\n \"21618527553110116512528320693249030190209304823567972991186630815934580502249\": [\n \"2161908618727038450077912716815161553100048133019117918710045757244194365067\",\n \"1\",\n \"1\"\n ],\n \"15075278431978734433606745062586584395938860701037311975923667566137567654858\": [\n \"10572134720937801679057230248442369467127812827154691196362907258716732234152\",\n \"1\",\n \"1\"\n ],\n \"265593079995985242310536482932840354940993769802026977236326689589707728093\": [\n \"4092419938207041781960415241293142102295360899557043497153747818951645897427\",\n \"1\",\n \"1\"\n ],\n \"19067636649724318616626014458687874604441099485357940371853034884636016425836\": [\n \"14595641593245708639304678784832686586391149324773213700136034992512669263333\",\n \"1\",\n \"1\"\n ],\n \"2168494812281610506185287597855970300893181178215691579638832138745454862024\": [\n \"20259117003676335474449399394197173982965458576274605869778292093598314022272\",\n \"1\",\n \"1\"\n ],\n \"462515678014563671685447017756331829843856623545602468937398172564581220552\": [\n \"12816013201429218892450510143729314348936842158874414596747067917422878047997\",\n \"1\",\n \"1\"\n ],\n \"11459070093276376738858627297010778555585217912508555949386624188668725225057\": [\n \"20647353488984838688417525964827348967043087520040213282845666721780533586624\",\n \"1\",\n \"1\"\n ],\n \"17417302215920995366054975052737825877869526954298873782638118425124191307491\": [\n \"3346632811810377790801488786545288409061368221507927355529853562167480889129\",\n \"1\",\n \"1\"\n ],\n \"8117146256216589433454678372312940947230508469812720601676767865693949364552\": [\n \"6657834700454529156995032792059553261571421722876696074567779752916455068990\",\n \"1\",\n \"1\"\n ],\n \"20432222257287046510685746961094392695326132152925688008972844303077467482895\": [\n \"14992641180191823621511905585703841242817808925175935987248901531938598249207\",\n \"1\",\n \"1\"\n ],\n \"4295652548362147753084036939422305125830537163954580026584570116293256481620\": [\n \"14076292975584020651155307967480431484591238743202618074194624238326063509540\",\n \"1\",\n \"1\"\n ],\n \"12376500954301627601654549025952995112020063490479515881265055983650770693942\": [\n \"173075353582431820119195911175183056270116218330815472057590404596381305692\",\n \"1\",\n \"1\"\n ],\n \"17241430764544214712599594450307202868609167538169589744532954342394790165541\": [\n \"15746169225685862035673647552020421689837160739869918091124007927387091776723\",\n \"1\",\n \"1\"\n ],\n \"18415070710065245217812536864325189322388753426005801451467557348592391690517\": [\n \"17122430735235364761869851285557562760607234697861874139253108224249703139493\",\n \"1\",\n \"1\"\n ],\n \"3301022594197285863827737769329620438179210535109547347107215977066130915667\": [\n \"8649310251785787932608302644427629136524845141616648092122531970760231430312\",\n \"1\",\n \"1\"\n ],\n \"15992455753224354761266476370893654778262663536450523500475296934372903276119\": [\n \"1409031539594868669713734994062631397758894779784187427168067557800808879711\",\n \"1\",\n \"1\"\n ],\n \"7611355402239856285340686747212594860895188568899656413019020161569688481949\": [\n \"4865155601453572489884264994288159501379468109654362186269805715048358482945\",\n \"1\",\n \"1\"\n ],\n \"14522981846618146459143371497060063201148111393566530329318747324550019271006\": [\n \"6045820194626885685796311966713443250284223327065849287154323672719523579658\",\n \"1\",\n \"1\"\n ],\n \"5193721936002259990712600326517374157859806186524063327064642778327443554806\": [\n \"17297267298401664591903880651064213513374035472418212817150407783258532572073\",\n \"1\",\n \"1\"\n ],\n \"7996198040463491993342730531302078338110495095698408701003518935880006259585\": [\n \"10279517963948748730649585284014973210167996443178553205550963116635102275990\",\n \"1\",\n \"1\"\n ],\n \"7058621657660478773301028899042993222561046665403413791857019342856998827024\": [\n \"17529231238120692372610648615188182877835842621679583925762425676348792949730\",\n \"1\",\n \"1\"\n ],\n \"18289150135313392238882063419280905937823748079092313149857018537617772976564\": [\n \"4316525314665194512380232950358626075833932688497770387278924033144055840593\",\n \"1\",\n \"1\"\n ],\n \"6678096801595557901051873642156988162861830018487513789242192308774678037691\": [\n \"14300935647864461043015526600820188392683041093477418057687802485023532181832\",\n \"1\",\n \"1\"\n ],\n \"12589912954717431161813640036264976478228966435395153413147638719577960951324\": [\n \"11669093375208998311226489846951519349641138770725475484558749083985933424406\",\n \"1\",\n \"1\"\n ],\n \"11944267933907712894826118266078238728876361225936058889214171158457449307801\": [\n \"18441056544931331685625451889111946453292877632228963035157441837638113651951\",\n \"1\",\n \"1\"\n ],\n \"14260229631652069003193117906128716067567339300623864364343217852432960441732\": [\n \"12522340836282215524510913144287919997911296376671504766873292862275244748682\",\n \"1\",\n \"1\"\n ],\n \"18439430038937807641502276501735543574043039160824776124534429104421252993266\": [\n \"18741312385949025778735045734521950006175438378789754628047861874938277341438\",\n \"1\",\n \"1\"\n ],\n \"5229105550615427846348096702183078189509926099560831116407591042334416389350\": [\n \"8672048352382778221304496641799932895613036718180398078326130217593640821521\",\n \"1\",\n \"1\"\n ],\n \"21362165255529026136643798521959441573443627464442248109089907488241006027547\": [\n \"10126281313527536130214766943466876681177391415452475884175379399662116994436\",\n \"1\",\n \"1\"\n ],\n \"20432032577433603257690199880183086586669813728455708310766584009932134465767\": [\n \"3502879829693623336956891647148214196618142007539900742038636746212516333747\",\n \"1\",\n \"1\"\n ],\n \"21438787943147219401005292864034951015813672943030676318885155369751453775394\": [\n \"20734005428359900523123959088817063407292299305696343706943712578221389896072\",\n \"1\",\n \"1\"\n ],\n \"19276261664667059906007308271518567028941939001035564669906028103275681960791\": [\n \"20037656138065284119444271127878894308815796351750396088413773108001307303604\",\n \"1\",\n \"1\"\n ],\n \"8921404326368919511374550156262464128271745993369744804951670890397624870596\": [\n \"19699625483745254438279057362842065871727885561972887000070728555429710292758\",\n \"1\",\n \"1\"\n ],\n \"2796538881474687904917004778577334754157494832096335266422047065844248437156\": [\n \"12486200824663835330789413764566066498186841090069238457059250757361378439668\",\n \"1\",\n \"1\"\n ],\n \"5408326966238255602440626461271226179676772774003838855069668652384817856823\": [\n \"5236058328850852029847951052168802799293171355164514889252248226957564468156\",\n \"1\",\n \"1\"\n ],\n \"16239667090423217342742378198320128548374801080891082418922578429753852582499\": [\n \"19434323485754787931624116309511064600554900424232554577260022722521158952338\",\n \"1\",\n \"1\"\n ],\n \"21397641563151456123963317886972459022497217176814852362283946605839337154135\": [\n \"21884342142320279705965959087223704537463418338512899577866421677578591636856\",\n \"1\",\n \"1\"\n ],\n \"18795705159489034311839344188432052843463406049921122375931577803986693912506\": [\n \"10467918862333566969517894655643620772394510501047043413326048857420094749589\",\n \"1\",\n \"1\"\n ],\n \"13944257110742336240637231839254970824598718181467921523173904969708720398232\": [\n \"11522853517863666169558954944914704995931734610319692331904908940479042823443\",\n \"1\",\n \"1\"\n ],\n \"13184997533766907387001753227869008971798144388704685210976927879482855573061\": [\n \"5598458532453965732944085492968311536477253810087219240852636330464690755850\",\n \"1\",\n \"1\"\n ],\n \"14870000000441915481410346721555200089573073591651640083146660646339868102047\": [\n \"11558895274591285759013701975603451128073651230337792233878801798409022799913\",\n \"1\",\n \"1\"\n ],\n \"1579364775912294181627694128568421137469207029106634177807166762696646198042\": [\n \"10053838060746666877710639516589152378477091975857983851476420494615340408980\",\n \"1\",\n \"1\"\n ],\n \"6462235717458066773786454650748613193827389498093665933760342884605187457027\": [\n \"1309252472264261569119176906266440911250063672603796689772624318161008413308\",\n \"1\",\n \"1\"\n ],\n \"8205734968287776488365329511581508372653748488410590771594199837462170635875\": [\n \"957737929398381337949777554781921724886005365319839440099596819920671581428\",\n \"1\",\n \"1\"\n ],\n \"11934453574639407777205954074354721386481227988607713681734167097794000228986\": [\n \"2445121658125529966682445821403545188097355378161022044101540404665824882595\",\n \"1\",\n \"1\"\n ],\n \"18394972283307695137303427210685246460817280055508800241182973931097469591501\": [\n \"11532862938663375633527376665884748867261403538526174940904765863857212866620\",\n \"1\",\n \"1\"\n ],\n \"16561226601091418782201822707866764089043116888475454728855683953488911929808\": [\n \"1443877825842348460671459797864989254140680250109474702659190054409341133720\",\n \"1\",\n \"1\"\n ],\n \"17627771979200978524835725038919560771057010228793222896736109541113023862243\": [\n \"12293004099028274571609045574059831861176661951125841905257863864467394387537\",\n \"1\",\n \"1\"\n ],\n \"6402068346606779157340877354310996061130437159733202121651569070240996907997\": [\n \"4153957884589890046687460512497803164064480726559365893359210332155344754188\",\n \"1\",\n \"1\"\n ],\n \"1351678475560884901581409038441618185165803360446537297985539496559529862232\": [\n \"20089067885068241498016537730699331885848552709853466949495009475127579914626\",\n \"1\",\n \"1\"\n ],\n \"10296570968984287968806038706368414865465848615461389248170037552343733257108\": [\n \"21320241363271812618956300542599533554595984604161902905953961924709575940101\",\n \"1\",\n \"1\"\n ],\n \"10568604323178374925283440609698495109255973683764424343787004057918149043138\": [\n \"21794696023041919606702451906439857195862311320357194762889968672876617835718\",\n \"1\",\n \"1\"\n ],\n \"1120368624529672137864568814534267374532830076962004296957567493678524110897\": [\n \"18240254751952759663914006071344185963289172579242725699201674952447582388026\",\n \"1\",\n \"1\"\n ],\n \"1676769145806687182924492855385907667032660885511912315060795251972453666512\": [\n \"4754879323352789018232052164115263763352042357312335763952695689358380570410\",\n \"1\",\n \"1\"\n ],\n \"13423561524729979837089896548347925227019016860596177426878508696342484767574\": [\n \"13891657486036696444214333060843849854615884583516703498037204464259292381910\",\n \"1\",\n \"1\"\n ],\n \"11390958024282416863769427235993544547243647759369560550239672392410235442171\": [\n \"11772595487355219600402656475382166794755231991961113251462680630270170016947\",\n \"1\",\n \"1\"\n ],\n \"18241653293832378387258659998345970161527704935439666825069731034806907975656\": [\n \"2753688199069320178682638095191791119109635988246042141095116183651432789721\",\n \"1\",\n \"1\"\n ],\n \"2960159139127600943453065099225280893523792964207293642860370023955302143359\": [\n \"17865358898398414137892088728560861276776995247246643053088186015704649221159\",\n \"1\",\n \"1\"\n ],\n \"4005899908911537004290985753818365763351433299325503427542947885863020626723\": [\n \"20575154133230533562011869075250211503532820204200323215079774333238049669443\",\n \"1\",\n \"1\"\n ],\n \"14011602672357991916065536391189410963140678352055086349226934949320877895218\": [\n \"8469357572878416983006912939650015476180877316504197098131806322384093045168\",\n \"1\",\n \"1\"\n ],\n \"19841411866545114004836369598128195669068635566397771876970628816735736328553\": [\n \"8340481133291151270207038384496837648230180261744143024873009649951773972180\",\n \"1\",\n \"1\"\n ],\n \"6121562051344501372986407451968542484840277105498361053606423248144926302923\": [\n \"17220314243153199151323333673134336549871070660402969817422028857248894609026\",\n \"1\",\n \"1\"\n ],\n \"13743763560170709693638905627279218860979819124092502574586181804342910245401\": [\n \"6303958123121887305545129194433234183054311432741484908342769604113695372944\",\n \"1\",\n \"1\"\n ],\n \"769114477969583197579761507850507349155480490224102676472879844815953185917\": [\n \"15426310712676579540814390692140355946422034227500401946369915526399191835485\",\n \"1\",\n \"1\"\n ],\n \"19350348587257606214470706604695697695960299218240686515176555435449507929926\": [\n \"942170951108431686395062306869609624886703054513724684618297923243600992608\",\n \"1\",\n \"1\"\n ],\n \"6488594938995770950284030773118558151295496617194941317233198258380954335773\": [\n \"6962178369225598884388268560609928837814292361119678969074397300071603943858\",\n \"1\",\n \"1\"\n ],\n \"17655995700901408198814584951221134467837941584064803914458903842700782470643\": [\n \"7856852241861379350493456468848065397381743292121636511855526113145547699656\",\n \"1\",\n \"1\"\n ],\n \"6917513102963491537027301791340290954172950858411171367586809848690119067910\": [\n \"21336324973250856218397142618322359117755509773598545486578978228600637680368\",\n \"1\",\n \"1\"\n ],\n \"21404308038778464534394965446190162827351034903277644554442303304212184275944\": [\n \"13017429275927085643809840130250945392057961623174990717604606898526896238645\",\n \"1\",\n \"1\"\n ],\n \"21270617977627318863480250883064062903608506133501991288156012655872061774011\": [\n \"10358051116716770340279471983928592900947572788615356737275818135399047669134\",\n \"1\",\n \"1\"\n ],\n \"699164805886469126088794525449011013650889770361531283836198359300433725787\": [\n \"941797078335439323613017997415894468537482013837380235597815417312754686421\",\n \"1\",\n \"1\"\n ],\n \"12557263297158309443923528969571119196046674400756601631412427006266358465328\": [\n \"12091095283703265820520520751791198032558833723125017329892540608541095573306\",\n \"1\",\n \"1\"\n ],\n \"11252276470859809462726567935344543956793382994968219613053013478561544388342\": [\n \"4811962409997609560343532865999888475218255493051851769773247242700267248149\",\n \"1\",\n \"1\"\n ],\n \"2702338040409978644322993467323557472396188980401122068371554650844670943470\": [\n \"11769096562101599040121415253062763011127472256027658301766537192113483963727\",\n \"1\",\n \"1\"\n ],\n \"12230832799464140414243603474565016853376891495075263279516603504013282301545\": [\n \"12742018888274445424811655673036442114786326218653399303690024832073814215184\",\n \"1\",\n \"1\"\n ],\n \"15375403104504842630898771115313274765756764155699982647526577519929407769010\": [\n \"7705364349367004396074369498803616462212478197464525040746383086320737888314\",\n \"1\",\n \"1\"\n ],\n \"19220601141203514512662115490235918651619761025541180256982196638668332503591\": [\n \"18093285692798061360440411779105821561032256857138959758041482694207336751648\",\n \"1\",\n \"1\"\n ],\n \"20586271458028148997248314134224367401826269812913383395391980826815404412849\": [\n \"1693839636061183615877281831655415447180980115713128850151317954000059401991\",\n \"1\",\n \"1\"\n ],\n \"15241607883855431143771178556812782921574030859666999121504479559181306812515\": [\n \"11623259442721282098154378752185104764240296290202635016068988161316507649408\",\n \"1\",\n \"1\"\n ],\n \"9492516555459827212541608921091629283341100966588616780527036657751566443291\": [\n \"15241607883855431143771178556812782921574030859666999121504479559181306812515\",\n \"2168494812281610506185287597855970300893181178215691579638832138745454862024\"\n ],\n \"4211233827046826864027821229626089134013160581029068507994815430250335327614\": [\n \"9799914225670245600170926125983675130208980079464793351705574282698534343747\",\n \"1\",\n \"1\"\n ],\n \"7053074071153016523440939523266306220570707209233295965105206307688582939133\": [\n \"6883772747293709462876587979768899277922215184050772771793089616466141207878\",\n \"1\",\n \"1\"\n ],\n \"1197988004399598311718434332306243037680727437557946155121576408969504259099\": [\n \"6235805544625365987107605066110914284030371420777457882590463369650655701004\",\n \"1\",\n \"1\"\n ],\n \"3001129575032828411034065246199215451393291959707618157284771402891465522223\": [\n \"21581083840286937540343763626398676692904712576585319919528039541098477988644\",\n \"1\",\n \"1\"\n ],\n \"19389210339266845633174379359075564691900063388930200604155646843388131768776\": [\n \"9744781352952874648489936332211492954633605870243005779778917342664852855849\",\n \"1\",\n \"1\"\n ],\n \"18764807355429757166912364592089569410946456035166559014396176910700735457898\": [\n \"5361187356394244109013673265024198825229214230607597807047726651105407287707\",\n \"1\",\n \"1\"\n ],\n \"5078320968006847008736426419353842047449140954434661602570709113036394381314\": [\n \"1966369578769741254712098551382191506220320927002480379166689940515169506000\",\n \"1\",\n \"1\"\n ],\n \"593972770584345172538958870173258845774195081531284691401973603482043361818\": [\n \"1498425635323617034327670169048161760905499680066384861392369104417605904835\",\n \"1\",\n \"1\"\n ],\n \"8218912791827346632123323712164218673409150436895900950120279643700203951294\": [\n \"8888207761133767177212559680692230233311702983473781957611881322223759293917\",\n \"1\",\n \"1\"\n ],\n \"17406704878944448393274036473132033375940802930699535406456869426002352415408\": [\n \"8308992791512980447737544915745392870798014467493792596192674707837024259932\",\n \"1\",\n \"1\"\n ],\n \"12462503233703327433686326032742054524887942164503210482824235726745016179729\": [\n \"6383561979911628246755443865580488285148194375889380527939719733262676931369\",\n \"1\",\n \"1\"\n ],\n \"7044019619891986090519894968314165830801074754870439980658324326649211415234\": [\n \"18705565190073910273160602574557684882758648418123266952624307511383004984822\",\n \"1\",\n \"1\"\n ],\n \"10823712492943666232077976720590576640959870894222912879267304192978791316942\": [\n \"14373464641717854981257090065661504204067826526066274763398663013181702565656\",\n \"1\",\n \"1\"\n ],\n \"21522295761429356010900553099110243130736217838252230436009353632452245769629\": [\n \"10318152889179528773108578813610143230475176055505647963049650461206614192813\",\n \"1\",\n \"1\"\n ],\n \"7339655899064845186863672801813274423425168910683160054021678575080282505704\": [\n \"3987311837801669973428062655150515628595444310152163337590667143181954452654\",\n \"21522295761429356010900553099110243130736217838252230436009353632452245769629\"\n ],\n \"8592966727847260052359575807549411986982850831170140994382550486776950493112\": [\n \"16694768254502537828852354091535688830155144986482746261588552237782887069691\",\n \"1\",\n \"1\"\n ],\n \"12355485046238673165210282550709223133907705318781781247340811228592937066083\": [\n \"11402658243333920506232845097262402479085556901142737744402462183886386363136\",\n \"1\",\n \"1\"\n ],\n \"13180728786938023859104436106071184763080816006917190919437254930400986836371\": [\n \"19940390782990848073625524321466275845694577504793436367346205271705590511322\",\n \"1\",\n \"1\"\n ],\n \"758235850242974775032580906397575558677100435353815708939096895987172604559\": [\n \"18193635828289005494758623607395735039906169054486506336789921952301956252254\",\n \"1\",\n \"1\"\n ],\n \"20996332544138370862944454947432753987691557721895680214068252286189522645788\": [\n \"15758185162961666447006857725639456134111706028256383699631482871070957702622\",\n \"758235850242974775032580906397575558677100435353815708939096895987172604559\"\n ],\n \"17466509953499549714477181723792773914994752852462226398971948855284331816897\": [\n \"0\",\n \"20996332544138370862944454947432753987691557721895680214068252286189522645788\"\n ],\n \"4606260018962666398147535643207328632016662577677114086474125172504591477476\": [\n \"2074003019045723563854340737126341916316230715809967383235538495846546179484\",\n \"1\",\n \"1\"\n ],\n \"19639291303936973383599952409506704122750827012126718672020858099409492650415\": [\n \"6078805006672702095862374009162020983871039203647892400907987080580688650222\",\n \"1\",\n \"1\"\n ],\n \"8818685622014869444680102314855556392240419659250972186094141981421476067045\": [\n \"9977986938238341578636618502121732946079303742474729968230823826941842680776\",\n \"1\",\n \"1\"\n ],\n \"10765405820700729688198692030822345345740164457924060267868215912367562656793\": [\n \"3904979246778317137576543264770932393536151370357617876473379759942444589988\",\n \"1\",\n \"1\"\n ],\n \"19049676799622058026161178118628600636201151159452611091419308647417448854026\": [\n \"14820520872590451796593794370842003236055165106010309602300980220636803250187\",\n \"1\",\n \"1\"\n ],\n \"7458053724029556482309289404566549389902983306325480647684879397211957361779\": [\n \"17677354076139576857669319462700546525127619923835692883747501602241115384083\",\n \"1\",\n \"1\"\n ],\n \"5170887177989928622422825667866164994711849272099262642059833873277326182758\": [\n \"13977015922097342421285416735880001262526688588549582400675179325703288739011\",\n \"1\",\n \"1\"\n ],\n \"9623227504497758457058651257257554869390039286091045642754927637212501963101\": [\n \"8600945371684274501102374109182668420374462664026901049917606384181977219130\",\n \"1\",\n \"1\"\n ],\n \"12956569276924217260410437764028294748271183311454621156266683114461301836662\": [\n \"18865657052380345928266237108170347838201373145409627112766051820190303570475\",\n \"1\",\n \"1\"\n ],\n \"16864643955852805859987597967294611354935894936855506758690202709902921754531\": [\n \"3910236634552808411311523207621078377097003326109922467172078639958918184921\",\n \"1\",\n \"1\"\n ],\n \"17496258614048358010480621505896375947937690379460415158096037544223953886190\": [\n \"8194925799978983753488665388730308560386982039823239159631003359555967137606\",\n \"1\",\n \"1\"\n ],\n \"12077058545965662272309485883802587420206158309651031006017687594368741966842\": [\n \"2061930677876749245053529130479931048823559561894949296254319921397639957140\",\n \"1\",\n \"1\"\n ],\n \"3507488643514956760333889118468774154045211534640270465556508796827433585194\": [\n \"4733800619114656409502872881645955889341483124728949569551150503877046475474\",\n \"1\",\n \"1\"\n ],\n \"15704912125950355659776404149001659826680455528496360310372002070896553787359\": [\n \"15313609693676549527840130590566945147181452989913175627753741322783294918422\",\n \"1\",\n \"1\"\n ],\n \"10106242907466188420158743171475899029437154918937534892435142131777855403398\": [\n \"10959648594646575185631517684041662975110936902905821616196558288489718095895\",\n \"1\",\n \"1\"\n ],\n \"8105357074335167601943878816193884193266381534303564440518556556082938586177\": [\n \"411533034769673308303646245517178382318998399840947870962855195440760443587\",\n \"1\",\n \"1\"\n ],\n \"9225580516951959207059011415239060398696217940028961198783470158913835236855\": [\n \"670892232229264239557153772922381641204772437504393126490250851706912535339\",\n \"1\",\n \"1\"\n ],\n \"19598636912482415387131119477729768425873034209429670053718802616353636400386\": [\n \"9836660453495436749896601096276234086031396882257450124958220266066219611445\",\n \"1\",\n \"1\"\n ],\n \"17970904642663014587405891028352373046325461907167662257718985322582360855801\": [\n \"18956574094084828517437845306098971630200391174761499993601224997433936321092\",\n \"1\",\n \"1\"\n ],\n \"15376950156781056368038206385368889753084112872942582744351002316009134150266\": [\n \"1844986246122026497975199413027096695619768190875937170440194735760361332425\",\n \"1\",\n \"1\"\n ],\n \"10656617697370210760044027928680681202776250451208445550130040285290990297932\": [\n \"19889926692858470258634443556712634021831467696148825239163590450132028674931\",\n \"1\",\n \"1\"\n ],\n \"5320720293319864806809925594718476154771872185610807305915679424119230576588\": [\n \"6549278857022733797335629715191223605364075036093137776373102216280723604932\",\n \"1\",\n \"1\"\n ],\n \"5484286679603939241003066359146411030303746575827473279192681949792848876385\": [\n \"7588709903119055926828551096070518066664179377480943949179486023494300558889\",\n \"1\",\n \"1\"\n ],\n \"18933866369404083812708072595640310074749489328218518447449373233232088564691\": [\n \"515135338820710915890486444066191449677297653594274929457465159331934593492\",\n \"1\",\n \"1\"\n ],\n \"21409295168593014059910810062629390729707885421124053644196755634728614183232\": [\n \"6635891561730297714484654491432744718799053282642255336844797391716537581668\",\n \"1\",\n \"1\"\n ],\n \"21849811902297909156634113198759609378379468066164739566381133986853849634471\": [\n \"3916791716439723958360919165627815225995783228381219141626762769283352614438\",\n \"1\",\n \"1\"\n ],\n \"3404729980503168673688534389403026298507788716054965683674797464770195231485\": [\n \"12646556751598505699341498311767666595822002224572681749773261793475873332840\",\n \"1\",\n \"1\"\n ],\n \"7249272003036625606841513425854929019081524186612561323070069888661316401239\": [\n \"13245411713823079649417113968030363478292997602450756144154369603154658165644\",\n \"1\",\n \"1\"\n ],\n \"20493785774027905002790614666525814281839488598618228610160371387164247931192\": [\n \"20018000098855263236644769230036873996220031747447208614767286571992853882303\",\n \"1\",\n \"1\"\n ],\n \"9600692364443677338197576422134442241954473358767689100762129060654757077463\": [\n \"20494972540779840541239539495254123869712744312411112250658249945255377383894\",\n \"1\",\n \"1\"\n ],\n \"20709710217544704212168033777611842007963238124463109382841933474201544674201\": [\n \"12336949164560165853557563685094052120579898363149238624260177187682098000110\",\n \"1\",\n \"1\"\n ],\n \"9124441068975947858016826487334418933779430333184520369615201259487321402397\": [\n \"8214178377621185719228170012377923390834830439029834078549363808518853112856\",\n \"1\",\n \"1\"\n ],\n \"15412145705794372243041291854647327885861494622000917768981606949536492384823\": [\n \"11004504876263563646150925928822692285091599883936930829555822163900073861554\",\n \"1\",\n \"1\"\n ],\n \"4342203166024553395082385611414258038219408463142765279845697084594017605372\": [\n \"9491364705597825566184177446188950702186889274008270619947856435452397290280\",\n \"1\",\n \"1\"\n ],\n \"19064403445438937136633433117012891652438590862118117488191418608230532658169\": [\n \"12136383673049264286730381507667220185915722213500719017703668658650432639842\",\n \"1\",\n \"1\"\n ],\n \"5229055798273203701572832092874213561785075145306315873517528950171015757475\": [\n \"17625080572633590776775944376802040301765886930712625365570990306760407992263\",\n \"1\",\n \"1\"\n ],\n \"12261727164936159621755201749298985409060049985783785489651080092431534309893\": [\n \"12595656202782454012745091069795597044232944518069051619617067847599396728143\",\n \"1\",\n \"1\"\n ],\n \"4170039745502025223813017113858301992322505805360265343750380104525990464092\": [\n \"2443463313063068762047545106078295227750706820874531911851824737894164894746\",\n \"1\",\n \"1\"\n ],\n \"12866632727553536659364441951263186173353146498787240332222114365560220094924\": [\n \"4968015329394367581274001078209087573769963272482478110374412789224564175612\",\n \"1\",\n \"1\"\n ],\n \"6530738918150097173326632985915247437099526741754132448077603674645110372386\": [\n \"16978531531068482072436413815904471504862862475755849353063508739542154414522\",\n \"1\",\n \"1\"\n ],\n \"12226873353425030409917575469230355830757379856712041239084210939417577980001\": [\n \"2543651537179178013553492431825017071719311205313736234550331127882639066100\",\n \"1\",\n \"1\"\n ],\n \"8788707610620443490978944297978184876893218706977844799973853682292883870891\": [\n \"11765024499810055429160527517685094676283409931679922026942363280849236127636\",\n \"1\",\n \"1\"\n ],\n \"10784770618704567043094885843967335994749965602215464324914840692362753231465\": [\n \"18744986391846289963106533358156409838678765675007162452051030279511245402751\",\n \"1\",\n \"1\"\n ],\n \"11639731657029542337990154443704230860681097216461085384307170388383610182761\": [\n \"5449794340260880606752117264208394185820346992222831394109401074955835861984\",\n \"1\",\n \"1\"\n ],\n \"8291071945871919355899299577429548672208569612938364218695302541308927240986\": [\n \"10549869908284801707420699358896732852997408945306453669667887766788822216540\",\n \"1\",\n \"1\"\n ],\n \"16315744658345247976249192787075296546646989598785566665609417852703440613131\": [\n \"13819432667251733715039318914876919680468502350434684217800852046947546981040\",\n \"1\",\n \"1\"\n ],\n \"16892186287779056814762670261993509125209765724188889719727345051672912457217\": [\n \"3074512338516945683127489653682446785312437463446307515317381746476778710594\",\n \"1\",\n \"1\"\n ],\n \"14558771587066920640844440399975651783072523375469028691272295888155903511534\": [\n \"13143790890440747561307942157840083192227920255881858028324363119753196969623\",\n \"1\",\n \"1\"\n ],\n \"1444210877423136405634443929748600111654444241571342991460887897437883129928\": [\n \"7474933871622922206613297820039561692433644120305395280962576097985912359389\",\n \"1\",\n \"1\"\n ],\n \"4957232950418961473819540281655413355037849450736293936455331033887547562130\": [\n \"18865089884390446297594714776834827589439649008630871118917397758900115928679\",\n \"1\",\n \"1\"\n ],\n \"21028127976307400300738722014686479421386044880854345656928666698896233907628\": [\n \"18123085379607691845147239473840952374475629071615015617399072739600906001191\",\n \"1\",\n \"1\"\n ],\n \"7618317890164373233166252704599111120870964348653646217363939765698305902002\": [\n \"25790383711665963345279889353105239295638941934437681473192052729264752275\",\n \"1\",\n \"1\"\n ],\n \"14309972055658204170423202138273111788710817702373273797384396296323387720384\": [\n \"13559575303361053858075747515465796174440496877918385082697770350915085439741\",\n \"1\",\n \"1\"\n ],\n \"7253398427072089714706922023549873415331455846142798700256721753756514059168\": [\n \"15406510082434660177245882949366575261764964078013346747813798971481473131741\",\n \"1\",\n \"1\"\n ],\n \"6019452866917577914624749484025280483292657818260336529605067047887958666696\": [\n \"7458832098821656426112731085996598246245124318682834464384521449770468618359\",\n \"1\",\n \"1\"\n ],\n \"9813377244245494862807547614327867651258631575832663405457967902703978007004\": [\n \"696807205883456686255192888787119049528766607947210313447616565074832691146\",\n \"1\",\n \"1\"\n ],\n \"20275353289398131998499732840357222325698854738170783420114493104798256612797\": [\n \"15242555619199453734140068997792116318931216919809817540980946847370237961878\",\n \"1\",\n \"1\"\n ],\n \"20119407716619583813690242971070472285190697100189972353118305897434433835812\": [\n \"198760454104046888665676845730094895963850315534217773572746721600116494889\",\n \"1\",\n \"1\"\n ],\n \"14586096093782250801238634864467065009255649230191933787921561240428044767966\": [\n \"6453425128748468690414065220383978043490998874895750655089149699162863896974\",\n \"1\",\n \"1\"\n ],\n \"13274720660234670033622616026067922170897813446613955043685214995988014360707\": [\n \"11998118072840815718090678731468491117701169336164854005341910591480976977313\",\n \"1\",\n \"1\"\n ],\n \"14060329138565484797600344558370326831597462178009091234145082787087839421999\": [\n \"7244094284561526892396209392225603151421553194860992722218563804185501960366\",\n \"1\",\n \"1\"\n ],\n \"9738804477731749262044934945899119600164380707672358186430739544185239374944\": [\n \"140622779556890596529077789370462826841732045681039170869547836525975713511\",\n \"1\",\n \"1\"\n ],\n \"21348901497673818236495199011326681348576724976356074847289099294150133991909\": [\n \"8019880566718561249702517401262873057187105067460094351190085606068029734223\",\n \"1\",\n \"1\"\n ],\n \"11421204038569785212425718784246798612546547778411266184867968399918747926999\": [\n \"16429710053469570609761967487199160143825610002821050187252732146193044683929\",\n \"1\",\n \"1\"\n ],\n \"7684997781174661764649818068612441704288401321299576098592432501371222557859\": [\n \"19395990204315896581509813121649324586524103485914995526465385975925475241736\",\n \"1\",\n \"1\"\n ],\n \"7270802682869318410790964207766339931506570625105829783435539805802440684897\": [\n \"5615888314850330569658753986474911131287817045287685532818814554293213872824\",\n \"1\",\n \"1\"\n ],\n \"12698806291210527796657737908677754248581915894204083917778186897331929421081\": [\n \"18837983156131582553626201708393060411309462878229031115419609465615763496964\",\n \"1\",\n \"1\"\n ],\n \"11089231011248565011590760077438586099244225389486503614493849516515433112453\": [\n \"4072571646332166043111206782539708316764563489308752052324569776563024216275\",\n \"1\",\n \"1\"\n ],\n \"18536623924251897468648281042685407662114441920497511757075460784066496254887\": [\n \"11950918692734625190997684498836295123556847626736637663174191007507037602784\",\n \"1\",\n \"1\"\n ],\n \"4796259126295332201934492341662220652038966619408148757525886737446870248122\": [\n \"19285380333764125930158797432501038988566457780785142072994266853523676847195\",\n \"1\",\n \"1\"\n ],\n \"3712585316562821655230983554326300261808263353992375168696493752693428454986\": [\n \"8949685961488552049102443922175511686477307246940752305376122914576795410809\",\n \"1\",\n \"1\"\n ],\n \"15360081776133402875214230628165050195061367753868773956497782504559940019334\": [\n \"4161864934366873572181948717420493541281327973932546835003137511928410173515\",\n \"1\",\n \"1\"\n ],\n \"21283184409597825441803715334987976478657457820232968638865367794648995588805\": [\n \"7979349688485345239148890686207805162367464915099195350648752001411473588335\",\n \"1\",\n \"1\"\n ],\n \"5443910042565911256845112950750349268033984585670783848072278244407763543393\": [\n \"12883363810614899878603853737897374696430368644236042255983350441619557361545\",\n \"1\",\n \"1\"\n ],\n \"1955838120855187279593126891874136385002807614830658375432743349042240656102\": [\n \"7305325579537196357415506729943176138875608812481852851577545226843348470033\",\n \"1\",\n \"1\"\n ],\n \"14807737354106155686833410499546397538483275031482393094535914688094525084967\": [\n \"18290979495221079810392917834090969638796661821488754970488965161184542220312\",\n \"1\",\n \"1\"\n ],\n \"18078621255816909283477039307696486200542573305394186567926319345952543969717\": [\n \"11390057235327015401935944868927053499884887909240836401586515523189803119429\",\n \"1\",\n \"1\"\n ],\n \"14538617348227561111733858520066021375463557562382368021113799630184446516654\": [\n \"16396645201137454856127558187929703093137804966059366258414083613893424981283\",\n \"1\",\n \"1\"\n ],\n \"6173191806251881672330192689160965173364168662975298418058139977219375335169\": [\n \"17923425874350637630774505833161274645506587614957930377582201907858115908099\",\n \"1\",\n \"1\"\n ],\n \"1533232511607063819371318164325074227741515287345309434232056515291303483032\": [\n \"3748638147726792818649501766521073129776684701064605252233105130255096391893\",\n \"1\",\n \"1\"\n ],\n \"1541758453648440189195067286862481026058868334139970643166635055334255906942\": [\n \"4174595482776646218514404175395731370672667588153962159494862966441743613697\",\n \"1\",\n \"1\"\n ],\n \"3098403129968572517976964305231239731002057968785519107338593669768193857793\": [\n \"12563913854304907878288940004846386834710684617400309302796828563381300520367\",\n \"1\",\n \"1\"\n ],\n \"10977885355111943763834801809532330559320596926165723674132384980313346598210\": [\n \"9893963316367571371008408329676685693534779121472253387658602556398421597269\",\n \"1\",\n \"1\"\n ],\n \"11412009309276693257541278136935615256970179856294180816708425371183522944592\": [\n \"16959091418726287835255186805578907797810194328935642295022232562660725402004\",\n \"1\",\n \"1\"\n ],\n \"15719827748116877613522884985697457306415606669335642609841421319121673600735\": [\n \"3056659082835352995570623424422880799352679624191170269459416205109748361777\",\n \"1\",\n \"1\"\n ],\n \"8066992776522574120430317480422304609702444125411826314468752885945486212251\": [\n \"4809689776080593245984276986437974343766546111253190482377592678361479238947\",\n \"1\",\n \"1\"\n ],\n \"15989364793117564899955281715146886531994951833509287306323104866008491947643\": [\n \"14538617348227561111733858520066021375463557562382368021113799630184446516654\",\n \"8066992776522574120430317480422304609702444125411826314468752885945486212251\"\n ],\n \"13460321138787978358460171455788021688541860814157867620768275120286769748326\": [\n \"12973700481731255846385182963006753733878690696041532696873193522751518046369\",\n \"1\",\n \"1\"\n ],\n \"553758554892750998411364484727662421331363387022979656257320101948417044597\": [\n \"19260957637262965108112607661506065494876962075405117964256963497951269145688\",\n \"1\",\n \"1\"\n ],\n \"10260235162731285065428641509933265118408777509226034777726162284076426863433\": [\n \"20386558745938847840087377893310336389226745551969365229015453629374419351901\",\n \"1\",\n \"1\"\n ],\n \"19164609839790552758483412771158910812788985510876217526829534469919115575965\": [\n \"9643991863421672229196002951810538650700678490665381240453361029922212445140\",\n \"1\",\n \"1\"\n ],\n \"3708599327515977311432049982224002097183930054351152206499293308562227865131\": [\n \"7097147159457731956834660507542239991608377737309430268750410104632248359981\",\n \"1\",\n \"1\"\n ],\n \"9316824445537832128726492904271073786448782239426560154830740636510168297007\": [\n \"4592558020219294940379322513440800242034572272049176453993332900712212242916\",\n \"1\",\n \"1\"\n ],\n \"8186757905374289430379508393830866850263954388883846244444344854748512368462\": [\n \"3741906645874626214061640569583053542552480445933329599158741006548558887388\",\n \"1\",\n \"1\"\n ],\n \"10543410758984172043858691186737131602892662982093971035661613243231905387039\": [\n \"12841618171427938657866627327855842170775375371737312654773728067962805731465\",\n \"1\",\n \"1\"\n ],\n \"9983819895475634914673855348732548077275491891203946699046507770540593839490\": [\n \"6694016148779946002577539392793299101821108575822722965177364281619442702223\",\n \"1\",\n \"1\"\n ],\n \"12326326032077538636790608736011170664807025803333589663509028680040802242750\": [\n \"5978014250343869376400526567302411383251847979009584250408624824403381539049\",\n \"1\",\n \"1\"\n ],\n \"9736707197217599432922412538678751215196852326642481300233033386150382759138\": [\n \"11063125383643347354848295907898613997585962601086561428527570311432092888649\",\n \"1\",\n \"1\"\n ],\n \"19505334386739476864060432965924511883116975470268364076897107623855459956271\": [\n \"20793760182024692131977934058781596034976449808873122361893209290794178554765\",\n \"1\",\n \"1\"\n ],\n \"19084956276893492636705074311585686632445348208703496358660678205241694180794\": [\n \"15179287180486983550229896195651075647733639825673324231656534405076270228749\",\n \"1\",\n \"1\"\n ],\n \"11854017699757344437565939815601677974597714653041988492913925006122113149969\": [\n \"7722034075402973590208748068646564923628821398937103088446015925931269416416\",\n \"1\",\n \"1\"\n ],\n \"19616714053949485509350073351559441892145895489840133763060806521250349258672\": [\n \"3191816841464944867484302641392238319403875793037553541425027737204169767285\",\n \"1\",\n \"1\"\n ],\n \"14546255179778281195156072337365660532474609063181201985242032222003634157262\": [\n \"12432818101666335962747535905281580371228277814511727341171028167800122989969\",\n \"1\",\n \"1\"\n ],\n \"16711683371390118825214553737292209247310971481603533627183387384769696922866\": [\n \"20941552698577289476762739391176692879670062207306867678412648731503071301338\",\n \"1\",\n \"1\"\n ],\n \"18947234823646721597074340991467845344347294984438401379807493342263149090830\": [\n \"16626449961325230699641132833379827243124677236510831244337959045187387479557\",\n \"1\",\n \"1\"\n ],\n \"9160798463599280689057425021350040423035042559188776644381092310555478847013\": [\n \"13583002482138832659889169707318664228009602916923055972361458431127679135500\",\n \"1\",\n \"1\"\n ],\n \"18368002176832366711726496608481089352384860079101930509290088061858485083736\": [\n \"12237379027626663608732426835801492127808681272314539530818562592444995576342\",\n \"1\",\n \"1\"\n ],\n \"17284738521667947803048037627172879726768030449152901330881312146043776899099\": [\n \"4677131403980443110019153516013650505362423772834975912147903933031735259750\",\n \"1\",\n \"1\"\n ],\n \"1657482429247295350963454623660771995725616608325478024209824307214950277026\": [\n \"9473339487764374456946426396244499005116028197726514385436344905668116019801\",\n \"1\",\n \"1\"\n ],\n \"9115994678838286762785419411939986498744422267822727153075649253898710833172\": [\n \"12048790935818103911728524291978474581306815835571031543415640946437925089571\",\n \"1\",\n \"1\"\n ],\n \"9087049363418752201624040501100784270768548617166609405106729767467659390485\": [\n \"9012899848094150785613335476835594541989835459137702971951178876284465279592\",\n \"1\",\n \"1\"\n ],\n \"10389448740947117883073697533269575848767346395307636453915059523420701486547\": [\n \"12644131656627284209410770994299792415619574444119374528701460183523254950329\",\n \"1\",\n \"1\"\n ],\n \"14652845573559395650306115382962752675793510115348004986074663457312491195500\": [\n \"14621173251440971548794074757172497058682765611092208442101534661778433329217\",\n \"1\",\n \"1\"\n ],\n \"3256028976086507661772141349909346265807624427940050611414219050467522830438\": [\n \"18795923263322204732545292164187246481422161913794438628537043506133348277274\",\n \"1\",\n \"1\"\n ],\n \"6241694324275222117337770930509744633629582825460699176626340824393215824785\": [\n \"8354612930391441565953156861784201704500594802059062137553941623078872214287\",\n \"1\",\n \"1\"\n ],\n \"17062558987540474563998669729639364082440320439997072670797167882758572014859\": [\n \"11663768715336701649147412076798698703938245093868023547047602861307514972294\",\n \"1\",\n \"1\"\n ],\n \"17077550033182030875214746318950649076286893183459147179052533263978965639540\": [\n \"7236760761183393304334630187041323988916923919789223397647614748333209748712\",\n \"1\",\n \"1\"\n ],\n \"19769192480123816332411273256487952858934945372300689897903609821049803446935\": [\n \"137235051094208471618337271036240538794822765301771719578880659427984169229\",\n \"1\",\n \"1\"\n ],\n \"16203984320417797910043923672844508699492391251098828819514616022880053820251\": [\n \"20578720413209170361419729107467912876980890674919945378878752917316099938724\",\n \"1\",\n \"1\"\n ],\n \"18116342730478823504774161379292081564747119817583658659466835319233853653665\": [\n \"6398405626668857550652284871874341111305983559210641957458612608834600797328\",\n \"1\",\n \"1\"\n ],\n \"3375360630652261139998382704737418287293735533086738320709323292285052764128\": [\n \"17697800881762722870847495017106302109544730234788806215929032963834446340717\",\n \"1\",\n \"1\"\n ],\n \"13933243619354304544184078256069164644461712020491960236166941294632390410458\": [\n \"6278098688742740818834320655387393634650830769231473907976655816190087747691\",\n \"1\",\n \"1\"\n ],\n \"8502853743638325665318010182581666131453788935965798627594051213526970239385\": [\n \"15343799918117581776455552064871925765428622550309376286446517713527921887123\",\n \"1\",\n \"1\"\n ],\n \"13630070757094480912048651281907851926527399050455601072715645505385266421148\": [\n \"14394333412835216841584341615556899143095877992214105023647817324267896157498\",\n \"1\",\n \"1\"\n ],\n \"21495270334837421472651633820168986832211052037566673905621754274013795244198\": [\n \"12256409162978066617774881205162450473928514491918486154887052003212678277903\",\n \"1\",\n \"1\"\n ],\n \"20461132206217329292240374270201444194924061736857893558896297750538461971659\": [\n \"21495270334837421472651633820168986832211052037566673905621754274013795244198\",\n \"6241694324275222117337770930509744633629582825460699176626340824393215824785\"\n ],\n \"3032807795763098847864826904601139631867444032583618948972712128880138910088\": [\n \"21212455136424142412113292772657713662619260163336692083648502172948885568455\",\n \"1\",\n \"1\"\n ],\n \"11515426535895878648538785563722933282566991114846485257527039679436235294689\": [\n \"10594510063783539701617325904972062743914757749106111574482258864003471470664\",\n \"1\",\n \"1\"\n ],\n \"2027563953039414776494537611141633507945998452458538030855620368855151915403\": [\n \"3025724816659341930702221769693394268536970929948008750379499087323105787466\",\n \"1\",\n \"1\"\n ],\n \"20915063586677233174597149205717699347372587495305679009509446942708830171156\": [\n \"13121255622466103915765280436444209064975191066205021313541143033470833563395\",\n \"1\",\n \"1\"\n ],\n \"4304389126922808171583873594561805688791689539201310402780470328988137611672\": [\n \"4995326810938743537387473988612870688512001818800574593183086843347715781672\",\n \"1\",\n \"1\"\n ],\n \"20129325116615365076360629144173573765399661681198416289245740044839068730937\": [\n \"6268237222842174833652793788436100502586438972294386075326038434135868600577\",\n \"1\",\n \"1\"\n ],\n \"16293072708933048749157765587837062588460390726628706261616259264535968878548\": [\n \"8141720745444519593095974468878595220213944318744906052217960952772451088280\",\n \"1\",\n \"1\"\n ],\n \"18319141066150647481075806459128718191911879452909086303724589408559239989159\": [\n \"493716365514719401529472271361236036638759190986510288282575165846644857476\",\n \"1\",\n \"1\"\n ],\n \"1836345490316723737668848319624221731833368626864531825701386886207914159343\": [\n \"8485661747205212218896391737032764547224950364079108350414060410711070767804\",\n \"1\",\n \"1\"\n ],\n \"9745873229329358164692527645966249119300194091509848733637275544270320700923\": [\n \"16698470005069729557882252498764430661420230290675386923238968032790333715562\",\n \"1\",\n \"1\"\n ],\n \"3192156264366703587775327139977317335998164470481730674431638376543661578906\": [\n \"3274368025355966704748665871463835967157151592333815571205846465496018809128\",\n \"1\",\n \"1\"\n ],\n \"13859674622225088157880093930951687770093897635759505480141947643090540621959\": [\n \"13510404132955525846253230420050471210475935117902550303616201099094712092367\",\n \"1\",\n \"1\"\n ],\n \"21459753472056742519528080305247511304772250902374746343554604402710822285018\": [\n \"4627423735748511042676830173104637049690474221261388631646798617972498891331\",\n \"1\",\n \"1\"\n ],\n \"18564976249452712575893982222993858912059395909786994371378286650552016695193\": [\n \"13429383956282223913427882753330253729536444751480857655106674517099476339323\",\n \"1\",\n \"1\"\n ],\n \"19284739037746376082916077937439495864722900299528381569511593736212989200552\": [\n \"4552339090418094320213859007642955664638096961005005329221198892062825017381\",\n \"1\",\n \"1\"\n ],\n \"7185119674083424223114788448347459489761411003804483464231795426202434038004\": [\n \"5831431644458316387616652701165378413949750704471902119485912951591597383116\",\n \"1\",\n \"1\"\n ],\n \"8499029171475827309157795872437664863999883074389813691679130817676545420866\": [\n \"14787825224427598070991443105136029124989680321312737243518147558993188498296\",\n \"1\",\n \"1\"\n ],\n \"12981078422373331763752254341010536022923616588079032376213286217072304315049\": [\n \"5563583508300303117536102585337557110472484610130026612473228866986326128506\",\n \"1\",\n \"1\"\n ],\n \"20328053878312451046264500459764607748818490152131261453153943526257678168097\": [\n \"10980775707505706567096343018871798623433752885301495105113363179047158236612\",\n \"1\",\n \"1\"\n ],\n \"8997883288360486667784768519895717124257256802946483151475631180562871293283\": [\n \"20328053878312451046264500459764607748818490152131261453153943526257678168097\",\n \"5320720293319864806809925594718476154771872185610807305915679424119230576588\"\n ],\n \"985290850350086015557448039033264802974713925436212502530504511490508806642\": [\n \"0\",\n \"8997883288360486667784768519895717124257256802946483151475631180562871293283\"\n ],\n \"966998687013730164379990486308890238966296028941135503925064075240448204528\": [\n \"21686701388240160296015932912340100361057132400617217038643341236927683595471\",\n \"1\",\n \"1\"\n ],\n \"17298698827712603071671263026241417568037701467481949813732258463831047510108\": [\n \"1121346335057236129015349932028912289735838644577632971288819420706015831683\",\n \"1\",\n \"1\"\n ],\n \"1051709170072582800954068029876915318883765479338280484866711406019976193368\": [\n \"17357176261193663238855025024428778375023407805091384128008696093253457138958\",\n \"1\",\n \"1\"\n ],\n \"156790976375298719145493466040443143045324426307782781609962468495786803720\": [\n \"2804733151705844513599600012594732478740322938874537962860212458401742398201\",\n \"1\",\n \"1\"\n ],\n \"19202098336019365824484969639675835736253694033370644534855321062090012821628\": [\n \"2518816746602697510102239747806502737653053882538596417765534636981663600173\",\n \"1\",\n \"1\"\n ],\n \"16668256676418156965973215936018659362682613953824705689732076499062086167489\": [\n \"18774722022535255357394802187354142883455645421731333600485661839206236768599\",\n \"1\",\n \"1\"\n ],\n \"20496017701272004464839717479135750618705439265587848312157617639836148851619\": [\n \"12774679172436067995891519370865808056471239669923516478490912682197012064391\",\n \"1\",\n \"1\"\n ],\n \"15196066122806021832293184585460690389321294855732779070712205604885502641982\": [\n \"4863523267576768426806787931686963982332667994554273903499754056857121266851\",\n \"1\",\n \"1\"\n ],\n \"11742931375073284739113326421315061158219749769548736070751828462518087752328\": [\n \"4990790049651293092686195427064711167031761741278664122159779427771342445692\",\n \"1\",\n \"1\"\n ],\n \"1020318913993963084751769492907074036457016003410578144520200034838726744811\": [\n \"13055094098136320261882389932228883887160322014049818027054617314294569548917\",\n \"1\",\n \"1\"\n ],\n \"17165231240359258749415231638538182029376266492966926296471663386650070692889\": [\n \"8288836976195557651412593625453909814817594800002002991445789082908498029917\",\n \"1\",\n \"1\"\n ],\n \"20010257251452716026329355060568645884877297085226601886613392360233915882448\": [\n \"5790185018230638859293718122233307646879815214272814197985911383911874245903\",\n \"1\",\n \"1\"\n ],\n \"6010903050037055295038723371936519259145937555691548937682632962155518778648\": [\n \"18231808849054886917463321757375194676514985756584041849362300295827812417757\",\n \"1\",\n \"1\"\n ],\n \"13390190272779718647589337685735083970288777019230148481903586530735755220515\": [\n \"14773993558922830274730369445828111820060558342335676205578936929798463594558\",\n \"1\",\n \"1\"\n ],\n \"19425334857992500642363703120300903734169121236011471512142607161282559124359\": [\n \"17563883820658570449749536835422323227896898928930469687414149884394019419651\",\n \"1\",\n \"1\"\n ],\n \"15317098927088352445784086991498999516487852212791581724848163500559878517649\": [\n \"7033839462772247157739502216055366565984145257273971452139797769932089847262\",\n \"1\",\n \"1\"\n ],\n \"20601927443835021072636928095066493925378663008308593001307587583118624844872\": [\n \"9414608715591087675825289670445184077455232373062853177252032937591706960777\",\n \"1\",\n \"1\"\n ],\n \"7066296433570739449669375751627196681855677873921091487251421808644550923314\": [\n \"20601927443835021072636928095066493925378663008308593001307587583118624844872\",\n \"5443910042565911256845112950750349268033984585670783848072278244407763543393\"\n ],\n \"9925009844847933404912034566267951579612715062646661652902240216859006046699\": [\n \"6860753758437921261619277791747643801578461173869018987254281592066349897805\",\n \"1\",\n \"1\"\n ],\n \"9093722471256112690228453669520206289293234905183128533405819710004870324334\": [\n \"21778248517333445635788719531312351494865612122696247182067923905827598712217\",\n \"1\",\n \"1\"\n ],\n \"3362393492612387941768272124681937211062354782123345122872311475675681587617\": [\n \"17246484891124175101164865595012296114781109352962980027092545955824698773027\",\n \"1\",\n \"1\"\n ],\n \"3772504706143099228218220433032297210581203689615660288004917332175123022966\": [\n \"14690243053750630802457870017580520730158396408737702165295589328881505056862\",\n \"1\",\n \"1\"\n ],\n \"1062053733426562591251248722208339749672623352863707611656238159213424320491\": [\n \"6356151909006560464741809443931202531232152609331150856851425510998235525452\",\n \"1\",\n \"1\"\n ],\n \"879059577017617991571365493623462556672516574357414374740136968683697308483\": [\n \"12725799866953311842593100383468489960258763805319949379627211835847270950813\",\n \"1\",\n \"1\"\n ],\n \"3736206292328676365047661141751739165787273937189858727197419317933973389044\": [\n \"5239969163649392212257696486931916286813539903700788087461833094044666652027\",\n \"1\",\n \"1\"\n ],\n \"5806121825648393381328939119741690930556722367141022273103024489875461154929\": [\n \"12561924075835216981084827120097756346011755359836656534943328610965861967489\",\n \"1\",\n \"1\"\n ],\n \"4588693114038644132114609140339011157807552724035493717509501013524352882694\": [\n \"13061515632395797470260902249003712534929181941149107305474658584567733018940\",\n \"1\",\n \"1\"\n ],\n \"2963635382346026274975868999979812872089556196152464747157114389421895102102\": [\n \"6254636760602571564596474085848012179308063892229438727686926942443884768208\",\n \"1\",\n \"1\"\n ],\n \"6405239441524826215124098420239589643245145520151418572509714420600139940157\": [\n \"12901040887347551659950931675107420026324084234500025140639521061751691166196\",\n \"1\",\n \"1\"\n ],\n \"19040001687081069605890771918068007088275963711025941946497573656346325496804\": [\n \"18985448612922867381398041833171362020067746189173891591379087286597840883199\",\n \"1\",\n \"1\"\n ],\n \"18604973137100590628794987135568010118735378082750184113962561380655422132515\": [\n \"19808371045821258151593802451344546493940676277829203207934097137786579201182\",\n \"1\",\n \"1\"\n ],\n \"2893346877537270615823387096948745605473685750907725363358647134383758389301\": [\n \"20124858504391455738874944933981545351009440731270427925810857792253258320974\",\n \"1\",\n \"1\"\n ],\n \"21564885724271052299615668584964029216618368841046839061556418197533031788843\": [\n \"11261220937385438003091770236467355757121278676968899533369761026630857891574\",\n \"1\",\n \"1\"\n ],\n \"14277148621001393475534489419131820567796858112771261316554483654044642208258\": [\n \"20603670575176455274266721737474188136367917932438907415557868827707481780506\",\n \"1\",\n \"1\"\n ],\n \"5649360398351329858854723727687115504610164635167175662218580228776091504846\": [\n \"11580276901140143855291886852866255621231324707344654948103310881428768310256\",\n \"1\",\n \"1\"\n ],\n \"3364883143998828351178830460966975102193022156776674550336695618646903156910\": [\n \"1745187780646012663737451821824923312690931218501586332501820100891957898273\",\n \"1\",\n \"1\"\n ],\n \"15564459060555354490082327237314911462701733761818855823110069186773804227885\": [\n \"16844119431406158476614792462590211358298249672982357151414378659531320853554\",\n \"1\",\n \"1\"\n ],\n \"15152034164874790060689957068145688670387565168275278434627639539665231901942\": [\n \"8616903190514502789480023067064456534942558611409728681307486252871826732411\",\n \"1\",\n \"1\"\n ],\n \"1080185621799121281829901246739056090226121038107370933156800350146496293659\": [\n \"19027070009293621949497613579067996857172625857164570334231746835460828652141\",\n \"1\",\n \"1\"\n ],\n \"15982961998295781896822453280367633827700252011232005289934384297368270762358\": [\n \"1080185621799121281829901246739056090226121038107370933156800350146496293659\",\n \"3375360630652261139998382704737418287293735533086738320709323292285052764128\"\n ],\n \"1853157953541851449945516596222458054347293257242042385808380851925844244873\": [\n \"0\",\n \"15982961998295781896822453280367633827700252011232005289934384297368270762358\"\n ],\n \"650789457724793053292492507972878412951861876575139855103629845591883992723\": [\n \"0\",\n \"1853157953541851449945516596222458054347293257242042385808380851925844244873\"\n ],\n \"18545141379224913259479241178059099860998600432226482195956954300320073254317\": [\n \"16561446999087655645582598012411935687101837450805866402664032135605709299449\",\n \"1\",\n \"1\"\n ],\n \"10675457413963189035564379179074684890143475821742844718032488524819353983150\": [\n \"8548944817599747935443625391443831931063722483770135494037538677154543092242\",\n \"1\",\n \"1\"\n ],\n \"20886467701906551319754703421595061111536950323179000558918604615596131293116\": [\n \"11650484090037436080151823862393865152746367933508771391114966200945387627527\",\n \"1\",\n \"1\"\n ],\n \"979842828802653999673587110281634812404895792667647470970442469353175858743\": [\n \"8453930781698956161966037565386594052649943434855952820621497509515600881842\",\n \"20886467701906551319754703421595061111536950323179000558918604615596131293116\"\n ],\n \"14508194247550760034195306845109008981468913772017031842977601772296490936796\": [\n \"0\",\n \"979842828802653999673587110281634812404895792667647470970442469353175858743\"\n ],\n \"98065159028670229939316513502857249163761135607704341299133353952237478180\": [\n \"14508194247550760034195306845109008981468913772017031842977601772296490936796\",\n \"0\"\n ],\n \"1561335467892077635911214807848700798073169030041948388914808452437397000340\": [\n \"98065159028670229939316513502857249163761135607704341299133353952237478180\",\n \"0\"\n ],\n \"3954998242731312204117309082781846161369884065770792048284141871503589484916\": [\n \"9463334215713575958838797807418125173734632382152251352955777727662711025679\",\n \"1\",\n \"1\"\n ],\n \"6344925861287339662634240366017147666981828020526168450964136288620492141463\": [\n \"18387218284106081047790186478175437967975544981333189386324409237337335520837\",\n \"1\",\n \"1\"\n ],\n \"20091706864402659411367555370615661109721965025995345782980799741804861349285\": [\n \"11732636916393301468525433793016654027126693344336310212862531256982370496562\",\n \"1\",\n \"1\"\n ],\n \"18761481191861246171828651633209911568623759471554545636193208268565724321633\": [\n \"8244262590899621094793417516518759903848734875426860446570365226829990251277\",\n \"1\",\n \"1\"\n ],\n \"13401003265460788124311446493114442429631135017389854206554989278460433876897\": [\n \"9178732079647183866257233733838028363683408181632057526755080832267775859080\",\n \"1\",\n \"1\"\n ],\n \"19799417932977139874511402350876916059815569612640655875493661724886920272467\": [\n \"6596112503652302624235159638898324656681855522713974089036378452909402066403\",\n \"1\",\n \"1\"\n ],\n \"21206262941191148747649016921416169890643953377900031568787845657486939741032\": [\n \"3774220389675713290865915677468251019313872712586897509917116849471699045556\",\n \"1\",\n \"1\"\n ],\n \"383036665493500959200705858681141922291662142744065883931340583876027483552\": [\n \"17764501034558772762129203185332185731052052853425349320521061026111357435642\",\n \"1\",\n \"1\"\n ],\n \"18012789517272119842070806331947798360469006618383840165878402213842509208421\": [\n \"16977576462808875789822706958311072423066114451594162764667421908615885628742\",\n \"1\",\n \"1\"\n ],\n \"12231926340303753603222755232124620881298266327860465489430763928743318173480\": [\n \"20307734095401232873866085109549532845366799951953784435216176739940104308283\",\n \"1\",\n \"1\"\n ],\n \"5215659815195982487445194258792646775706600342116105594644215300549310183892\": [\n \"133195995260988939925637501707108851696111859166404953117362368642980832366\",\n \"1\",\n \"1\"\n ],\n \"21455419257062054091756132953257735533454553829202779459472434429157416782907\": [\n \"7570344285863293075897964040250590785849009726710352725441969019802760315618\",\n \"1\",\n \"1\"\n ],\n \"4616307244268453677873310456720865515583135374095536027340313159941414606376\": [\n \"20530894453693909022643920854338262214887214959967208308744490824975681287322\",\n \"1\",\n \"1\"\n ],\n \"12236558474298576107937536991244703323293325578243018738160840258406282366996\": [\n \"2765210511289869279581149297675483072579936783706227034856986405298418895530\",\n \"1\",\n \"1\"\n ],\n \"1260738647697308124100227459874015882284257202972537549392632130138163352504\": [\n \"19313868462701508153771762449666294454809120073651807521712237048114098216271\",\n \"1\",\n \"1\"\n ],\n \"16952551408340608772717713645252390091271645214087016063183754566503240534227\": [\n \"14011936452317613896047373668673205739934304442067846535090044700587415563314\",\n \"1\",\n \"1\"\n ],\n \"5420625044945413720350342834540923653571766622437185849187631566753615404456\": [\n \"8334272160652395562765221963505274445077893032106352038659113767285380534213\",\n \"1\",\n \"1\"\n ],\n \"21407121091456423079698305572194742101584124502126860964827374714402678588695\": [\n \"5420625044945413720350342834540923653571766622437185849187631566753615404456\",\n \"6442845685268211370240501859069169544194482890211070087246523417024421442157\"\n ],\n \"18147287549890230936065458218113534167420374976080416100972564288415512692527\": [\n \"12872794484362740619941096149033425347469800557703660321891192689163277516885\",\n \"1\",\n \"1\"\n ],\n \"12154768415554239513227650182881452385194769421241212593198034237944052929880\": [\n \"1136867758471661957178469540078547468967571515970407339222409052597321014340\",\n \"1\",\n \"1\"\n ],\n \"21804698634061511752385257909912316177324554231286545268749381530904036911544\": [\n \"2814260364828984405022909060881771468608392230991232287121718017782563846993\",\n \"1\",\n \"1\"\n ],\n \"7359508267048494750409833873388800352369062579082780303266127391724626108344\": [\n \"21167411052466358450908221844580883975831343753296592050762273871266126457627\",\n \"1\",\n \"1\"\n ],\n \"18467868472598404710778983823951830701299759597867136326598051673900739617767\": [\n \"9209533396662777547317100381865918755095117768244771942278546896130426626024\",\n \"1\",\n \"1\"\n ],\n \"18320345819587846846751959726895362882848811831752199452337047185552643886730\": [\n \"9907715738518281264715635371398849719894326186772005277691534239304656337657\",\n \"1\",\n \"1\"\n ],\n \"15329478529903370769297734192612463481901983873996718588539119815778353957227\": [\n \"8535467072729973481095027332510025422103346236636130332800267300172193898609\",\n \"1\",\n \"1\"\n ],\n \"16811970314788515057016538809326396008828637973877918871852425300924395249720\": [\n \"14017003149262218923222637921917235245423640001955898476216208923959219010187\",\n \"1\",\n \"1\"\n ],\n \"3585857516674672186688011758373584216078748910360724094731167054970746277590\": [\n \"4522270337483546435064850708253697394234464295897211148235153799253654694761\",\n \"1\",\n \"1\"\n ],\n \"5304952797188938663704670138743445869758378300599117786047939796047010381496\": [\n \"6489201286885520687518557223829174594345032555791877999177551318400147590639\",\n \"1\",\n \"1\"\n ],\n \"10770197075776208047745446087884496392729741829603845576689531329009469820023\": [\n \"11090696102823998866448517961902736541313480339353621917272840964012223778147\",\n \"1\",\n \"1\"\n ],\n \"13291515687049772837506797397611590584421667805741626500708071938880506081508\": [\n \"7176996318549421097063503148407494403574362208194484329519016853962012198122\",\n \"1\",\n \"1\"\n ],\n \"15218318132281754678938611343300593514302370611877018852116018427921400818243\": [\n \"5331446515458539255274708902912575952962848285366655204987711737055958812508\",\n \"1\",\n \"1\"\n ],\n \"17958801627445496879060431297358242210531338609848810058135708890238838641830\": [\n \"1719157547330918887694457005935583255577593536367181434862294247835605659016\",\n \"1\",\n \"1\"\n ],\n \"14194813701583626285265446621812430563636765878038416598311526562176323233013\": [\n \"19499084012429822496457053702621964350632240598875245126796580038286351872704\",\n \"1\",\n \"1\"\n ],\n \"18758823290758540210469823701534495286244745129694757717598351304384818527061\": [\n \"5132064186878874703618605485540110183103708613505864874430637525962960733035\",\n \"1\",\n \"1\"\n ],\n \"8973365447321750172934589422958240447598329488462226893726343419917437094010\": [\n \"536628116605441763481413851033334428385971145750649866502851473449326213596\",\n \"1\",\n \"1\"\n ],\n \"7599838782177774862911974853505340643162176552900815601064716684894598251531\": [\n \"8186757905374289430379508393830866850263954388883846244444344854748512368462\",\n \"8973365447321750172934589422958240447598329488462226893726343419917437094010\"\n ],\n \"8626488895674635571587927284101670750039083121924170249770115799093632302658\": [\n \"0\",\n \"7599838782177774862911974853505340643162176552900815601064716684894598251531\"\n ],\n \"5040593612537430739062413639560751230957787263030460981346981315953703657650\": [\n \"0\",\n \"8626488895674635571587927284101670750039083121924170249770115799093632302658\"\n ],\n \"7950667709296803469886982635820333009955306251825710179375343301569642669888\": [\n \"6270822818459124347651925500434372353113214380537418427993401495105276824798\",\n \"1\",\n \"1\"\n ],\n \"8972542878336484303523359926677454284319303010356472507374911561882087911097\": [\n \"9565525332157711876411992017337900940657001818811730649946005021500230624786\",\n \"1\",\n \"1\"\n ],\n \"3304162177784931876745120726828326868098091953610930780389750671963922953150\": [\n \"12766195172867060386948794612671886863303684436998154373335949792239855531645\",\n \"1\",\n \"1\"\n ],\n \"16917365979189211332971475022326326226056245337689889165882648514490780133967\": [\n \"17925205764461096433000614002123187104696884264545243112248845423273902163105\",\n \"1\",\n \"1\"\n ],\n \"4792094182293654824114844726970542636199944777384578344951656027941759333063\": [\n \"7825343111497634666669707145457297062458838679601779660590225663069969807461\",\n \"1\",\n \"1\"\n ],\n \"2067823389323625338952864781607013625284216677132644581190919466367593915081\": [\n \"9583975258810714952728103235192928172407317934906248714613996716891592771314\",\n \"1\",\n \"1\"\n ],\n \"3054894864737201690076453005978708736508890797016851947068709135585028619314\": [\n \"2939952452038023954044956492894594957579759283594870381623435967132207400891\",\n \"1\",\n \"1\"\n ],\n \"8263178854516011924848417137383797227686471372655209880082491516524328577912\": [\n \"15717742785985595292949358162407994793253418186228741901998106868122631602086\",\n \"1\",\n \"1\"\n ],\n \"16889331632158280391094316299949405282519623013124014614904201750698359217992\": [\n \"6684206353000769572309270182902753986908302938703512835342763476788618001467\",\n \"1\",\n \"1\"\n ],\n \"2955136940412743716667558647494164572732387720786483887121577326785239462282\": [\n \"11116305186769409801751691067323913629379630084795909081067783211042655569584\",\n \"1\",\n \"1\"\n ],\n \"13810292865147462486177451160356909722897748537727128399983831843544997090995\": [\n \"18312475269021739119518932856801940520382744652277875976438723155716391525848\",\n \"1\",\n \"1\"\n ],\n \"19770956717932047073937702250606585749137801849172055707893550533066690026164\": [\n \"20737283764185999093716763827528725984420383382623719000332282066162915063798\",\n \"1\",\n \"1\"\n ],\n \"19892628526853716849213943255126002746114544697884094202882474836925741765973\": [\n \"19878631238261831620603023390223293096794566113067275931592337683156914441424\",\n \"1\",\n \"1\"\n ],\n \"8015992295381623975283852879127425864951469877111212261564846803816929417516\": [\n \"4484869301382797092022693290909457731570589314937272173322346519720639043642\",\n \"1\",\n \"1\"\n ],\n \"12422541231821636877862459210577038872291130173750324744463501222245792570997\": [\n \"5433630598968424791861817223596535678966245191477391000871452432811760578432\",\n \"1\",\n \"1\"\n ],\n \"14016814821077543475282200150890029821705467289822132489724012784535038558439\": [\n \"9871971727061120099530348222890404380325016348168132516712844735075404250128\",\n \"1\",\n \"1\"\n ],\n \"8500459533588357979470444172228102972368125506024541385336858205331572679877\": [\n \"21866296414841802784145030369312842369389778260450652287792587085049646830950\",\n \"1\",\n \"1\"\n ],\n \"18573673590597860195523197901162181251850596914907923929836207151984407093847\": [\n \"19479263306150495730852875002555554314972650171285256416904941071572601849709\",\n \"1\",\n \"1\"\n ],\n \"7098879614337379468874835881819763258056778244069961008148582343577895799380\": [\n \"2859742636457739492678077749223310933507520337063087015593054630712073629284\",\n \"1\",\n \"1\"\n ],\n \"12875709129352491997115340245003942984074952807763017034524106999946385513268\": [\n \"7051282693277242923284269534708049937865266294085638721150086939084201043089\",\n \"1\",\n \"1\"\n ],\n \"16083058178559467641431449213733635581462961954353328546942522421590435891892\": [\n \"8925023047095651411439601031459750340065218436803050846023522075932675988017\",\n \"1\",\n \"1\"\n ],\n \"3788375758384127304626892038036388431525730654759291618245752574157495452522\": [\n \"9320188006671849291738080773602682645609301767811580399339259626563226762562\",\n \"1\",\n \"1\"\n ],\n \"15894910996232035411287557156707703375231523024596285800587787404454671576345\": [\n \"2228566337948505995658121725277335863039100785731916874311757628137049591827\",\n \"1\",\n \"1\"\n ],\n \"14945659174873342028351492166512474784657186736130315686502359522328867937760\": [\n \"7220817730562662603462859065577262621261805418726901605716524511583092852658\",\n \"1\",\n \"1\"\n ],\n \"7963482294122572178875291541505279038892431748326607056141606369181033063060\": [\n \"6501556891520695493257347377105932108889745355353152539614860491393917583973\",\n \"1\",\n \"1\"\n ],\n \"21005694665535478740054294834592695343703676883817073705550718686848643233108\": [\n \"15955901082055899813325788027132249107080440984095690154690938199093695777284\",\n \"1\",\n \"1\"\n ],\n \"19687989412922182466129414952868018041943182607313371312977981958272565511035\": [\n \"6831359033275921058850075364751545485179695807457808130549773773211296169213\",\n \"1\",\n \"1\"\n ],\n \"12766378914091850576494121289028360308617122619749341315140480708864726861301\": [\n \"7716219132806259297533128685375929358028602652244023255243196199486714751048\",\n \"1\",\n \"1\"\n ],\n \"8306524323463959572541138481726695353467196283483425524586917894045015568143\": [\n \"14273256826129904912271386465151559141628201692727418312343512554946854768368\",\n \"1\",\n \"1\"\n ],\n \"10602245664595815999004489707583704820260927590597063830576963743578895851813\": [\n \"19686565338203104361896723448265523950952597120517640062194463583710675594056\",\n \"1\",\n \"1\"\n ],\n \"6607110419229258988092292579942984093904478413940324712984035194534168004925\": [\n \"20244934107996724007036924279347058233577933654606144071866321288939809866908\",\n \"1\",\n \"1\"\n ],\n \"8593535743558485127341848489711093410731900073010673679288711493532460252764\": [\n \"16618050283870783820277139320072147049136532089436984711773670680537237803242\",\n \"1\",\n \"1\"\n ],\n \"21670495474708776426790463304097505855653080276755398313695316326611284924712\": [\n \"19924627028176856302051115479937959318546454009862517298470960132068206511562\",\n \"1\",\n \"1\"\n ],\n \"8417060774044902643314640212295695061418598576782615391090298440053443672564\": [\n \"15665495523374224242399213035910255420843780248291460624220370751335844619022\",\n \"1\",\n \"1\"\n ],\n \"5161203220225311316238512641386914843069217255157631061033915619164670047837\": [\n \"4257612077932085277306697311574866144677529057817409605279678903063597235378\",\n \"1\",\n \"1\"\n ],\n \"5027159377204081589915997677442049973513093881127050318578394048737732474865\": [\n \"21303277877199089918716813464604537742545680543943036499783974860565390007872\",\n \"1\",\n \"1\"\n ],\n \"13286981525877341204875642660274131672065444131325944586758606229934744852434\": [\n \"16648029399487573006341405050648567529362491408088331218903676214064271625039\",\n \"1\",\n \"1\"\n ],\n \"1934818637550944353766109257204564616873768324982360171881582456679737791003\": [\n \"6267713097098225474371843963218385858923894805960452756755256275727550092534\",\n \"1\",\n \"1\"\n ],\n \"10638966327424473158764463582551597909058472605124146117827727182319445838107\": [\n \"13079507774549149509313412363576785627054305628914251175324860510380418428747\",\n \"1\",\n \"1\"\n ],\n \"18153833227385689832318756997423115854975573707655239142099494624774807077480\": [\n \"13376787844551454656818237580161326496185031458683323192286012066814001106795\",\n \"1\",\n \"1\"\n ],\n \"8710283865535875596361597318404197436475567254023364513981230388189983678249\": [\n \"20872770446063965535883256787397744565774108167185055285170186215519042807661\",\n \"1\",\n \"1\"\n ],\n \"2565457376628103852604773228637177497322330198273796969907697560974646447503\": [\n \"18231555118016093767588693410654828267640781884219931756007013387740999732679\",\n \"1\",\n \"1\"\n ],\n \"15926827436067389758907564888624500063873162498667643973977372083970090479117\": [\n \"13115995951930784958109798930026032035723849661424065609532309111814199692664\",\n \"1\",\n \"1\"\n ],\n \"20611807278967071751202987765999552594562371747137721828503004249644558550989\": [\n \"21397641563151456123963317886972459022497217176814852362283946605839337154135\",\n \"15926827436067389758907564888624500063873162498667643973977372083970090479117\"\n ],\n \"20759413587164675395521945892518832709514712640406298532619485237181721119557\": [\n \"21547418366590053094307274567423590190808666635427054509484248426063814887517\",\n \"1\",\n \"1\"\n ],\n \"12503414847277226867864548893640351252769910601209738445750197251664416115944\": [\n \"16529069893817193024062352440460963837522309986260402582101676175641924137431\",\n \"1\",\n \"1\"\n ],\n \"4661098667065754677273947100010907836783514044401881492015210798644590638381\": [\n \"21338900300968129634956910725343919080612415099241644117903269448369711081208\",\n \"1\",\n \"1\"\n ],\n \"21486086768780885190711058874869157140095339636341436295859650742199538215731\": [\n \"18708827253960634644236949143233650789208473252656007846151460423947990557860\",\n \"1\",\n \"1\"\n ],\n \"20451867444051742618377058659306605302101323092565734894752847897229517726731\": [\n \"17861059316483406158020004332256107935401114001921641713340732094608556544632\",\n \"1\",\n \"1\"\n ],\n \"614711190277324463740782495505951172355467223210913414861886446650296033253\": [\n \"11796740639241584908541895156044592606129892983863792266480357126179658037146\",\n \"1\",\n \"1\"\n ],\n \"16269597200426947208763554079729679097634472749739796752833442825857072137124\": [\n \"3926203503994206784804169849637620327205427354100076228027937986171959272512\",\n \"1\",\n \"1\"\n ],\n \"16135335764914158080029475155287185371799640323652569360949909085458705498305\": [\n \"19609950088642833169937056130081564751194532949369728340368577751600379669033\",\n \"1\",\n \"1\"\n ],\n \"2798668749399844956576633768231212543460549282503561118433533475733498279754\": [\n \"7708028324965297086972562585035658683774628008458175091005179718296669603214\",\n \"1\",\n \"1\"\n ],\n \"11169636335278950812882572561820689703090686845787428006415588504887358936955\": [\n \"2060704353182342337498303325527156093830466163420961922298821253823158335133\",\n \"1\",\n \"1\"\n ],\n \"593399335096317075094507931461880343936159207998672396297591054843869252582\": [\n \"11324864694966027711042951282509604246188520880850306731322342333252887407965\",\n \"1\",\n \"1\"\n ],\n \"8894546144601614743588540877400019531067123965571385262362542531016302309547\": [\n \"593399335096317075094507931461880343936159207998672396297591054843869252582\",\n \"17165231240359258749415231638538182029376266492966926296471663386650070692889\"\n ],\n \"17478022631385280266961491039119701782789915838842180495429397901479935247351\": [\n \"8894546144601614743588540877400019531067123965571385262362542531016302309547\",\n \"0\"\n ],\n \"358033976252227580549981863676615185528114662065890772087775685332169360990\": [\n \"2062946991562681334058098256714146098230183097142019228227284258287037510343\",\n \"1\",\n \"1\"\n ],\n \"11673883841693264754501362533168911268310992761797883420808744685763198522159\": [\n \"415076683432319856881999093445377084147363578331429063637844972158202664149\",\n \"1\",\n \"1\"\n ],\n \"16424679197984176852052832469202235246737870192660719224162540438623959768837\": [\n \"202434070681553212116750152791071574034341139969816297823979039695004036000\",\n \"1\",\n \"1\"\n ],\n \"19704436186235461125824229796964559593879366401002908983989420078734304099004\": [\n \"1166984902155190341269560615916496839739933865212520338033466907987822603036\",\n \"1\",\n \"1\"\n ],\n \"17916252567763669201353451479121020614449784403272755362903231417518991608734\": [\n \"21202595690214705911650345551232008902231657019407811669011028057534139868982\",\n \"1\",\n \"1\"\n ],\n \"14951325343781880014815650594700941795484891698367332437499490030699531576740\": [\n \"17137507851980800051376089509501647959387388293288875861993999905652862603775\",\n \"1\",\n \"1\"\n ],\n \"13504242190463715175439785584151676654513764785399473474306884917553927665364\": [\n \"21010768586311855452980631802285814007486291458984004605145331699638821995758\",\n \"1\",\n \"1\"\n ],\n \"6716612430197031358193104920123738122826057567500912551575644416618195510611\": [\n \"9807045083421224908970885038584908016423781301460321531643576224863417369455\",\n \"1\",\n \"1\"\n ],\n \"14877888722528153868596907757972623130148446889698923746996634804464634602671\": [\n \"7419763172401290606151711634224444755302822370031784741589879743602693231997\",\n \"1\",\n \"1\"\n ],\n \"9647986317616082376314825187663899027523546541143287853777298064191884972785\": [\n \"4160281000917291076179543870192976943879626385248917366300320009285229214400\",\n \"1\",\n \"1\"\n ],\n \"16808112172415490489457686378088451553717222973855251008078166249225483834937\": [\n \"11459070093276376738858627297010778555585217912508555949386624188668725225057\",\n \"9647986317616082376314825187663899027523546541143287853777298064191884972785\"\n ],\n \"507192806556422105625023335549073800843269694341873078069134402070345607955\": [\n \"14194813701583626285265446621812430563636765878038416598311526562176323233013\",\n \"16808112172415490489457686378088451553717222973855251008078166249225483834937\"\n ],\n \"20007171431745649801490980014941223514424859713612407303656511863949734471195\": [\n \"507192806556422105625023335549073800843269694341873078069134402070345607955\",\n \"0\"\n ],\n \"13104066019519393007686262503402112119898602739408507388890841034184589561513\": [\n \"3919958074396976056708627920767312794352628571139308173689360884815546046793\",\n \"1\",\n \"1\"\n ],\n \"18869820470985140453878906094294490256293433575565906082753494593758871912136\": [\n \"2272598851295900412859798348489866068230117299595478771768819455472826602026\",\n \"1\",\n \"1\"\n ],\n \"20625800110365236274970494550368149802198425415559218637398326231009003582925\": [\n \"2572760717936995442828668183496716940775355378328704511957695876040722519306\",\n \"1\",\n \"1\"\n ],\n \"12615938543201654782834916533307267070855106578721342682950347382537179529511\": [\n \"10493291058256385984888487628567790159297494124990954638598932354601258670986\",\n \"1\",\n \"1\"\n ],\n \"9711675698273379460155657946084919329112480330368260273193327236308700116181\": [\n \"18321517804855638067130751272272019277492133446656262438954626846861263542001\",\n \"1\",\n \"1\"\n ],\n \"16873527555464384851349632368729151798766459020274044116848722076689239770772\": [\n \"9059031463763867683115789495217356250465014258906153348713179118217691339296\",\n \"1\",\n \"1\"\n ],\n \"5190487734550615931298905242305194729785816493130582496724513823956903846117\": [\n \"1640219846137439747545969555109733574509503279509724461000904583973670571813\",\n \"1\",\n \"1\"\n ],\n \"2472572055445734683046689351248825043400670993169921207914744122047635626290\": [\n \"1237614423821950859276979194741501504817003785505822629623856742605112012352\",\n \"1\",\n \"1\"\n ],\n \"15991557332236072571425067547240042764882499822687355119999920625623925992013\": [\n \"5677299744354653350903422117850863401533314585657842697933269468610434889557\",\n \"1\",\n \"1\"\n ],\n \"2343697124430280905219751331969041118809612187379137764942361858179352207808\": [\n \"6474127866214042897877232177048459282069325850687571183680275077571070092909\",\n \"1\",\n \"1\"\n ],\n \"1772434947695334629463079417105266683987964497430165179084442094473788769897\": [\n \"18287385711204727061283958491509889785704160222941931814219438710062235341780\",\n \"1\",\n \"1\"\n ],\n \"1510017396802670585536895295841606046605861938782491809560014797522553574528\": [\n \"6472919127581141875835723333106928191185922555168038641461333990706302115921\",\n \"1\",\n \"1\"\n ],\n \"11416540782083003624871834320310795086159939654162293922804273217926791864004\": [\n \"4163607765292569314467025698256672104369058954769008741744538761796668758788\",\n \"1\",\n \"1\"\n ],\n \"19611858582860030605195536745475915760132736416337256248800385367070405053658\": [\n \"7014622290520634165705448698342588648667040857211778203502069824219958831136\",\n \"1\",\n \"1\"\n ],\n \"12070335497030687216664854151546361712776850765300355811703194159927030594291\": [\n \"17862425609696525391134429179987195188617357752927769307645038644700879656768\",\n \"1\",\n \"1\"\n ],\n \"8795419802797055578600540803612331999102679405445655521348585100565903522482\": [\n \"428122393373917390875512837664253489937065634994388167302942368323635825056\",\n \"1\",\n \"1\"\n ],\n \"1901128498643163644335400646125908331069793902902859582688758248401633528616\": [\n \"20960247483020233571154661139132400825924974846360287512808771299590080357970\",\n \"1\",\n \"1\"\n ],\n \"3300154258964368650255547765094805279355776058106578839276932750246928377445\": [\n \"16205733792082581533196924631258859489411973017175874687493681097132791181462\",\n \"1\",\n \"1\"\n ],\n \"3401003850326777711094490956251409220472498849952667681883246204331635641132\": [\n \"1188966433945610297768707846587722822614147381093118548761378879202058542447\",\n \"1\",\n \"1\"\n ],\n \"21859225600819084052946343803187369023428362052398660592868805114623898220912\": [\n \"493056066130403691522796197667334695752053966493909700981174737016926373170\",\n \"1\",\n \"1\"\n ],\n \"595920534589642580413042607159365778366512675163231650974863838317838619979\": [\n \"10572025841240187014703455042346043776221459234543265921133643794923679354854\",\n \"1\",\n \"1\"\n ],\n \"9732403644613565250313729980694854241581121698301671978713831378248493366264\": [\n \"16054485831693317828797805558538421517242312902150387810771578213271850856272\",\n \"1\",\n \"1\"\n ],\n \"10883081515616691965474085594371397880293930994543447459080695854771172916955\": [\n \"21740643363108269238068136943349937968134721580901822635196537108990651154665\",\n \"1\",\n \"1\"\n ],\n \"3214936203089347525762128769860403514985795409884484251962733272755606579920\": [\n \"1790432498984551428503759042494614547441157492992832479897226407783262951571\",\n \"1\",\n \"1\"\n ],\n \"11623464199019101590868998418994060801830252860706509664954870381961613599542\": [\n \"15607188133457022191109778436703624495766385770913933541126617126673582464752\",\n \"1\",\n \"1\"\n ],\n \"8709055541571756846654041798720610307106620183620080830875812731932369214692\": [\n \"8306524323463959572541138481726695353467196283483425524586917894045015568143\",\n \"11623464199019101590868998418994060801830252860706509664954870381961613599542\"\n ],\n \"15983771727811811073598919835392469636964935933199557563125525421214145696468\": [\n \"8224240547853107435206030425875038357016999503308012124530469962420061592783\",\n \"1\",\n \"1\"\n ],\n \"21870302885375616333005174045459953320198159689744129499589687406368211606366\": [\n \"966998687013730164379990486308890238966296028941135503925064075240448204528\",\n \"15983771727811811073598919835392469636964935933199557563125525421214145696468\"\n ],\n \"21419161047682275597062226228683229706746927237257623987225535085815202013274\": [\n \"2139955551979263973965848947418549630112656875133272811028406506242690739338\",\n \"1\",\n \"1\"\n ],\n \"5561099855444427781318805900049649468870785291114886611953355165300304692720\": [\n \"2091944089839785943235865237224345776423340510670866442795846303464234951368\",\n \"1\",\n \"1\"\n ],\n \"18821539390548905815274184053435667781908990779688466671379761323210457636522\": [\n \"20715882572843628603565648412253236409536769594416601645244976464274233698178\",\n \"1\",\n \"1\"\n ],\n \"19751030151516820486125555474006715258302501335517380892875838954819328506449\": [\n \"659558891424395577107358233188761866554755723726389721604096943461794056289\",\n \"1\",\n \"1\"\n ],\n \"20519143673663382680354028264830354797049737793603927758920052995213906521804\": [\n \"9921343545601074927787168970819785988778697044867485320572135413139607218720\",\n \"1\",\n \"1\"\n ],\n \"1752627638931047975677527088471134036839478180204682107186381336666565031477\": [\n \"9937991055406596915224059571440172910984027352036072122237696965829023433935\",\n \"1\",\n \"1\"\n ],\n \"7355429455952572164754686576053628518887930289951411597567596691525985959793\": [\n \"5769119278099774627588249783880527540923641881801946596423752917605696574689\",\n \"1\",\n \"1\"\n ],\n \"13723997113660785718272519252985716380462923287030719684612294363767099166297\": [\n \"14940286779471522938084214833938188529923496910600733433456176735194075014086\",\n \"1\",\n \"1\"\n ],\n \"14791587934915928434803808614874657188453114064005650948898905791022973356626\": [\n \"338729371079981130811114557037600927788077298068884753062140143195297706856\",\n \"1\",\n \"1\"\n ],\n \"20438395292275105146979202451013226748256635560575804225742009506159029290972\": [\n \"3943030524206229544712906990171904083199963179600995785485287031008431327798\",\n \"1\",\n \"1\"\n ],\n \"7269094548290785695863294426118102393370894081674542493664539548363559500238\": [\n \"12183915072375695216573147988315382471370717285942794423693731911258235874346\",\n \"1\",\n \"1\"\n ],\n \"6305373270946943374613503293732101859757141112736459697790548170926414456251\": [\n \"4082483149869540117136146541087454320133504277712050212402141259813689518867\",\n \"1\",\n \"1\"\n ],\n \"20054531340248225265853819631132917270304907172999810654227668535633098363630\": [\n \"6512020270892232371339009205887333093840673546325870203881199134572514358387\",\n \"1\",\n \"1\"\n ],\n \"17179048107863957931521340073244417049347693573330840822723592874190841350481\": [\n \"14589367585775186994826184160195133461437848678660006180928602324719855046294\",\n \"1\",\n \"1\"\n ],\n \"18156830308399395913837511948734528858860771318272595718750095403263621979646\": [\n \"17623951017267330121711589075973373942762673570208157555484865923460958169037\",\n \"1\",\n \"1\"\n ],\n \"12938783529150042645669412517197454553023969710869362987725828761557000386629\": [\n \"1359337401182605356937133648971786896184643490101807224288426980706510492660\",\n \"1\",\n \"1\"\n ],\n \"644823275746062739594007238930761877971513762705931440507864034463965588992\": [\n \"670177882485464773275889294916442010628995425428619275400926897534583727423\",\n \"1\",\n \"1\"\n ],\n \"6892028133759615749077907506081722667094134802548301318681687538646975584794\": [\n \"19830280873928426659721395910022842902320781000698458014561733358317056168125\",\n \"1\",\n \"1\"\n ],\n \"11107767122351112381296477946680783990846306392215584862585828972409159816968\": [\n \"13934965170529264450625026360016125180223773722990950718314526510900041345082\",\n \"1\",\n \"1\"\n ],\n \"19182013601892212096597996368060861678448430558802885640409180986020521420731\": [\n \"15375403104504842630898771115313274765756764155699982647526577519929407769010\",\n \"11107767122351112381296477946680783990846306392215584862585828972409159816968\"\n ],\n \"4922241490156413899870041885712764824377402397404514418141581088430331942352\": [\n \"0\",\n \"19182013601892212096597996368060861678448430558802885640409180986020521420731\"\n ],\n \"6704913225863405144062303360995515309302224463564489058829748027887681044430\": [\n \"12415799556846186053708096322534575949228581674510039681580467578365295990346\",\n \"1\",\n \"1\"\n ],\n \"2903154954878030422956983698501180280847267666960715439434925879904657541204\": [\n \"11657888962798649310168086392396832234657963424663417912332521872730636852403\",\n \"1\",\n \"1\"\n ],\n \"5424907943350890663591225926601741419890025924442872165695636842226931569729\": [\n \"21601482760087113538687592164833947431506122001258364828992158871164386536274\",\n \"1\",\n \"1\"\n ],\n \"4022533781238645872111579578357819718141319083383773751566175640417780866847\": [\n \"14479871438039093702911755139656991703814975624179543785747957543877144963152\",\n \"1\",\n \"1\"\n ],\n \"18360419798246975413115287078179315016327909958168208927533061276839423849352\": [\n \"2067610603362983575142634263672299710661152806128225933069885662436288657929\",\n \"1\",\n \"1\"\n ],\n \"13688110538793442728563330760205517939298317364914216000892497471751734569585\": [\n \"7601973355727414176580099103500985311163620319071505945646842992726143410529\",\n \"1\",\n \"1\"\n ],\n \"20497877460719302983727518955575468434388506729226859394239414247914590317523\": [\n \"19558571198549187179207908934447727130382818853617791164149887298094878269418\",\n \"1\",\n \"1\"\n ],\n \"20379162993992641242190918354885930699545486519963697018670107412017794069069\": [\n \"20010466595097357649849199181322684740006728952868042491252575159969104649055\",\n \"1\",\n \"1\"\n ],\n \"19116502754908866724404225140639344579059552070801394327811849248500170141676\": [\n \"3200512610641486168374916137711991794369880169303743561925445511435819654742\",\n \"1\",\n \"1\"\n ],\n \"8708063726034476628529709480339990693777094155928048010874836796094695613397\": [\n \"1086677402668060824799449072299256997710089975646027246278533651841229187707\",\n \"1\",\n \"1\"\n ],\n \"14278999579778072699334744565296532209672503628749959622290829116837785556623\": [\n \"20295597051456881607651413198535135746543315420595236129257059783057565440804\",\n \"1\",\n \"1\"\n ],\n \"12850057976597525640339114669051902802731322207352932046261778307944192351857\": [\n \"4482894751799704264713728124396137271402991410624029213566763544043229089126\",\n \"1\",\n \"1\"\n ],\n \"697065473106798558588250082040583046417003470531147079482125314125645756992\": [\n \"10558106122283773608156486212772073323378427543874838185232106641088523077136\",\n \"1\",\n \"1\"\n ],\n \"11753719748930126658854543679496129242901571521247050470682652086007849122055\": [\n \"125779378017591334587295506570293295813034475689231028055588820844528519768\",\n \"1\",\n \"1\"\n ],\n \"16965087076545516254935653404058381824848291426681816442098456865842824940520\": [\n \"20530986034886481278731347111192961925710301101484711171339740510461009913957\",\n \"1\",\n \"1\"\n ],\n \"2562447284103098002521218265392759812353979130580518253314786604629157946126\": [\n \"1543653015605429073922690715316864248398288899805957999614847952621679241152\",\n \"1\",\n \"1\"\n ],\n \"12884551163614320134173280957281349431880991528374816962035254390501467684812\": [\n \"14601812097317416618980769775781082099134342061942165134199306665784851740346\",\n \"1\",\n \"1\"\n ],\n \"15218101950866126859936017832982973063799726548065433861330093934261466209845\": [\n \"6596574261995819452907378403150627187556653972322503980236080213086028954147\",\n \"1\",\n \"1\"\n ],\n \"5974737338078223810224315254632497413036258029076171341209574884750528317763\": [\n \"16640410381201726344862693209075605690199860478224954288527515125160881558839\",\n \"1\",\n \"1\"\n ],\n \"5853176554887233947787974975305804907625427841169844587942225984670047071819\": [\n \"9417430223125748274430570790906680232412862964927048908145994199179300368022\",\n \"1\",\n \"1\"\n ],\n \"7238590638227372135415404447545990770438819212864664738510312737688332514373\": [\n \"17179048107863957931521340073244417049347693573330840822723592874190841350481\",\n \"5853176554887233947787974975305804907625427841169844587942225984670047071819\"\n ],\n \"2239024114941838100671509107510089970005786866327940548241170369344694624111\": [\n \"7238590638227372135415404447545990770438819212864664738510312737688332514373\",\n \"0\"\n ],\n \"19750934258030142221083272011919078649488506338602336650352296167434944520388\": [\n \"3636940510953207007226395973258719295846900692017181084112410013102201046182\",\n \"1\",\n \"1\"\n ],\n \"2030920489590324544756587867940768989073756650681667091599717805582061082057\": [\n \"3822251427224014894365444031137581672644149435221851507327070625792084269473\",\n \"1\",\n \"1\"\n ],\n \"11102510888945690820519805881554174238768014086988612029979047844482008482424\": [\n \"17022740693614912344732133207233924200144784987408819321330984907427900743322\",\n \"1\",\n \"1\"\n ],\n \"1656646328139702215158187012871407755015128066986018702929687613722371915033\": [\n \"14142695141027598767101442523513690570535819527461362259741070939189598887431\",\n \"1\",\n \"1\"\n ],\n \"4464242634787087011684810095192677187472130570916835776560492166612496096271\": [\n \"16974370629432038835260041134668870375492249584433514384324143837672042676824\",\n \"1\",\n \"1\"\n ],\n \"6010133339977513591637012770026299139458978025235358983753690746164056130717\": [\n \"4035110349102554380769961962476868944865399309369386195643186996914157180325\",\n \"1\",\n \"1\"\n ],\n \"15590946345057551518142261153737493549998054214419601644520873248845283752945\": [\n \"12092627268406983020516335433785511523012468643868429811973958767656430275125\",\n \"1\",\n \"1\"\n ],\n \"5979222654651869694691052225007133126638405506192014237357259637377412285402\": [\n \"17985576752831289353410545242138098102911169075560478922943786398957342272807\",\n \"1\",\n \"1\"\n ],\n \"5196690076796734157752929519558815077334675234246332314274744687511166671421\": [\n \"6602013970219764043160439278813155916200040544232950684248852107541885785809\",\n \"1\",\n \"1\"\n ],\n \"12699797534087626142708993759858431301621265804364902887916374655558572944806\": [\n \"12901406451039834086972180189583630879222538280997187027028312718208054276937\",\n \"1\",\n \"1\"\n ],\n \"18811576604556438821479341076103027894345874152397556566448824187593315885918\": [\n \"18651362592634026795742887108337826386028804473363482605678246669639804385785\",\n \"1\",\n \"1\"\n ],\n \"20311660460895791715141161614156407490249476115077362909366010885966698938181\": [\n \"5642614367640237790371780233682934032693705954451268308091459687801491472986\",\n \"1\",\n \"1\"\n ],\n \"4272235792095019385275836589422856519825523627323192583055661659635575521221\": [\n \"1458602916514550822777621451462278565410551981601911420368342472298648757614\",\n \"1\",\n \"1\"\n ],\n \"8381984332821857523466156256659386204383421771728263163793232529929494814907\": [\n \"11771191279919600030773767526411921886535077556649681993195521530000660018144\",\n \"1\",\n \"1\"\n ],\n \"3445732832333252195812355382066593999073651544091245931308287541080149809574\": [\n \"9675030027743973672627801972730167739626618376880978741436119257152085432134\",\n \"1\",\n \"1\"\n ],\n \"18118856399764228239862481450759899191719619734845801685974327676762637124141\": [\n \"3445732832333252195812355382066593999073651544091245931308287541080149809574\",\n \"17496258614048358010480621505896375947937690379460415158096037544223953886190\"\n ],\n \"10205625729482197297748039031942289697519154962849508647697058880671364897913\": [\n \"12818221881011275047750614523833254803493429997180109596392893816109963412342\",\n \"1\",\n \"1\"\n ],\n \"11675692648902053330891451272902369964360103518269429182654463611870044866574\": [\n \"12657616614041767332414945923358189659014873751839891131427986782501554176378\",\n \"1\",\n \"1\"\n ],\n \"2290735307474157396911072014020674865843282645339453015196352418825514047706\": [\n \"12897422721460270088102062370339127512673811745383170768905495088118887289988\",\n \"1\",\n \"1\"\n ],\n \"9634386010197481292278240937855107873093123547892819050184049745026023502747\": [\n \"16784577936178948872805437390171961814852683022233771033983012694914932778722\",\n \"1\",\n \"1\"\n ],\n \"18334242020152352811168994294095601816358660364754644289301228040181414562671\": [\n \"15423379632014964904130604810967001365101584540290928364947963056253305116682\",\n \"1\",\n \"1\"\n ],\n \"21415203932992765024761306525654608060872574301318425031599967619966264805954\": [\n \"8212104485360538632640133646762123577672994377677915246976667738995406206544\",\n \"1\",\n \"1\"\n ],\n \"8907637677374534868726684490523408412917291230933426417755653693985582762235\": [\n \"17385687907466357332281817945783436040567151119591338331444898738605470058106\",\n \"1\",\n \"1\"\n ],\n \"676002033645201705410183427689321484150193804741143919227570616411069509408\": [\n \"434037487210068018540587672734763561859607629237912519359458216854316348059\",\n \"1\",\n \"1\"\n ],\n \"14411024667559118874611768304457679319201782588013833878255482739652884303177\": [\n \"401574399196573202890675623889109465565546578593475839819466537962407350074\",\n \"1\",\n \"1\"\n ],\n \"4606211933431049219494792808799272036835173916564475261241063806709990307978\": [\n \"3856120965370879397669796691874902729304483722316793715774712760151209340716\",\n \"1\",\n \"1\"\n ],\n \"21075949541801866243779755541226199961931234512321184181337796692909900986769\": [\n \"11278378773563965857144713741166186041837008156919448441694275149691034588957\",\n \"1\",\n \"1\"\n ],\n \"11065923534080062754187137135005689396879304563821573212845474805994937410105\": [\n \"19233670084576113086946335111399830232798428139210026265920811103911124178395\",\n \"1\",\n \"1\"\n ],\n \"11349213323136778035573379056963452106765034554567536616947164754590365326504\": [\n \"2832703488203342862546576075934025236493568842881860670117142054901626598525\",\n \"1\",\n \"1\"\n ],\n \"6912558919662043787917506996623559011855775906674969402122892943560362974130\": [\n \"11750202836923963353163280823905496368534434064028577053793060035547145361855\",\n \"1\",\n \"1\"\n ],\n \"12879327193224268583452155643899665684869491397314473693564640195346279516078\": [\n \"10959969814777266671481282937913125497998625454858315471035195933262556381991\",\n \"1\",\n \"1\"\n ],\n \"18733946009165277979015113900375782271103074163596167625022121143511025908586\": [\n \"12879327193224268583452155643899665684869491397314473693564640195346279516078\",\n \"21028127976307400300738722014686479421386044880854345656928666698896233907628\"\n ],\n \"2427237655900299325532565822638652325804282581839425868967548050720393309899\": [\n \"1003390604779534073573294432810778489569829872135739265549522001921173706208\",\n \"1\",\n \"1\"\n ],\n \"11280172777366965432656098932098254881451093306823818658665108736272618005692\": [\n \"4421739708535654096296818674782214515344827501586684230551278707094264035274\",\n \"1\",\n \"1\"\n ],\n \"21210590979807392229920696706693546179529660969443978185195267211951775216659\": [\n \"7149168538307265377351087630192491189942507409309891094336183123006886367369\",\n \"1\",\n \"1\"\n ],\n \"19218127537128515527335872321736186512239731548544758382172412627618089249117\": [\n \"18524633937193704454232679232023473188562979241263298209577627547310467341173\",\n \"1\",\n \"1\"\n ],\n \"15352708995354954243804709665515240940063424049410155288074515653722141923441\": [\n \"14020734846990174548782521816024620602819926655631368217107147151460891123047\",\n \"1\",\n \"1\"\n ],\n \"16410812113007318494625193693600483320856887098309257035253512362342609263935\": [\n \"6409106800935421850077854971242287691024895298364706804333802751211298894585\",\n \"1\",\n \"1\"\n ],\n \"20654033101660328819075015708827468054677196149516422444244156768010932117921\": [\n \"156790976375298719145493466040443143045324426307782781609962468495786803720\",\n \"16410812113007318494625193693600483320856887098309257035253512362342609263935\"\n ],\n \"9920741117545460884095206222027807928719312380557283299084623181145954707280\": [\n \"20654033101660328819075015708827468054677196149516422444244156768010932117921\",\n \"18320345819587846846751959726895362882848811831752199452337047185552643886730\"\n ],\n \"2377800394780076144144207936105550438617242223158023995277058689864103320341\": [\n \"14325492555568374080679847397868542686654933769083950452333379973268162837866\",\n \"1\",\n \"1\"\n ],\n \"14271447744896366243794795127311187316133010326534722702764399446546609045848\": [\n \"5282972738763844444579492656900203933011280266216033163285801441440100002914\",\n \"1\",\n \"1\"\n ],\n \"16528399474340619418150940624391130143823065568698472783484368343006729247119\": [\n \"8370595346673106048486813167063874550112682670356942199299437110117811439118\",\n \"1\",\n \"1\"\n ],\n \"14227754119074837155841089737699262112543481004429267170951659270989160499144\": [\n \"12878082741919266822321777040923479323665181880165282686553557808092516665775\",\n \"1\",\n \"1\"\n ],\n \"17078889247585993150622481416550809506935680578543008600315606403931146416578\": [\n \"6197053194299970122532279891677253589215590778007499316088311195072608360680\",\n \"1\",\n \"1\"\n ],\n \"8900526005855371259197700455908533404363199089328376761535604004787084563022\": [\n \"12976576018263497530092576249894694338552511756158195788843746663692699542338\",\n \"1\",\n \"1\"\n ],\n \"17902111163495102822841445822860026874802505808497939230634794306967146998421\": [\n \"18569057009654536944258251033760418191614519908682643369774771383916144422709\",\n \"1\",\n \"1\"\n ],\n \"15498510890422644210924268677060617468460775682479561507947187400504262557369\": [\n \"5284099214499007437366729972321812594546387606131245883034287061753125767936\",\n \"1\",\n \"1\"\n ],\n \"14313249311689377817714909155709661388080026732819315293652424919260791315690\": [\n \"8981173663247515085696475483108411462588503892113981081306796460238342042121\",\n \"1\",\n \"1\"\n ],\n \"8514775209279781452943945656542908042087441097447241306537970004860924351672\": [\n \"9898584012172459662473075345662339270022047694653868993933629203811465440702\",\n \"1\",\n \"1\"\n ],\n \"21691567202653430495424761381683854647164751250081903791304744730035665585675\": [\n \"14132317718893077903355154092373549700357845969499325407009123414451878180637\",\n \"1\",\n \"1\"\n ],\n \"2771269298967186674979487138333237226310998854897730698251149997371167038750\": [\n \"21075949541801866243779755541226199961931234512321184181337796692909900986769\",\n \"21691567202653430495424761381683854647164751250081903791304744730035665585675\"\n ],\n \"4170745710098457760958441242296635087669888800507453969278453876593001125655\": [\n \"41621945720367460308918282841811161165120174299036702683744700347474449297\",\n \"1\",\n \"1\"\n ],\n \"20116145436109290371317419728347942793997622995206355648712094844126735228615\": [\n \"18365846692427270469539312177760984412062056284501964557019616857608425039558\",\n \"1\",\n \"1\"\n ],\n \"20934972239502596825984551980740146706254630872176412088789509486044400840254\": [\n \"16772203983664643849391492946719887779655302690930464905513880738576655254620\",\n \"1\",\n \"1\"\n ],\n \"16993245130545942048501166588903024206520996885990225054844640972903996736762\": [\n \"7787566914661026289049760300457220305702407949247132292643220874628336314257\",\n \"1\",\n \"1\"\n ],\n \"8998841120338211398899026380388236944334512477456221096284804482239357915168\": [\n \"17884848849021700183396989569724051708444609093279975272947167178201177629211\",\n \"1\",\n \"1\"\n ],\n \"17150668894848270270541012819673080121011208067576700849109949265876439333818\": [\n \"18713909185809169788307476787556585116671653774147688445361308336804975519997\",\n \"1\",\n \"1\"\n ],\n \"17921423052383094420662565420190787885075158288941628597262780138921258406461\": [\n \"7488444905233713608286518995998837709071117906723664810274931859223293812343\",\n \"1\",\n \"1\"\n ],\n \"15914988040018297154055160831807503822405704949808310252502813080286934783907\": [\n \"15324526370601909005833539611280956051175802010062114592544802228744011436960\",\n \"1\",\n \"1\"\n ],\n \"11226958751523500000995298728452980428613038135321979978785845678425171840749\": [\n \"14121544709231778545340712664945360845521838232286294997103494866455843963235\",\n \"1\",\n \"1\"\n ],\n \"777644857679840003981382898768288042399786419177802309813322892279800068348\": [\n \"2548824292109433263078291756650400462299212030101612231260108448886658797422\",\n \"1\",\n \"1\"\n ],\n \"20374586414129169979698304851885018431397559439468779713386279971631085825138\": [\n \"19943463877214611388829001645509735740894430140765381469602930415230063699302\",\n \"1\",\n \"1\"\n ],\n \"3658893691345687962890694070016886181269680970939328478653359799372747260086\": [\n \"20374586414129169979698304851885018431397559439468779713386279971631085825138\",\n \"8500459533588357979470444172228102972368125506024541385336858205331572679877\"\n ],\n \"17019926200254411102639332399836831685386017885744606884186342322930361405804\": [\n \"16605402778994810453458394501094016007232726445787257738894941240592578123091\",\n \"1\",\n \"1\"\n ],\n \"14419157667196745345503254906304280715636629574904851520183666668614637072553\": [\n \"4336937834775740836407571763890104719315285701466248127846532400959030469221\",\n \"1\",\n \"1\"\n ],\n \"3642993453356277825489690818284787208435528209790570231533931450610888892194\": [\n \"7963482294122572178875291541505279038892431748326607056141606369181033063060\",\n \"14419157667196745345503254906304280715636629574904851520183666668614637072553\"\n ],\n \"15935709929640030065496131500413797914078389600753889170257863861262131668130\": [\n \"13783574508797049049312616343715094099084442233860688601661573458328012634159\",\n \"1\",\n \"1\"\n ],\n \"19890065106524880970930296418563064793013077427468515484683303370743515842480\": [\n \"20049847127117626888888883377213168019239955127197370687786941511200791463810\",\n \"1\",\n \"1\"\n ],\n \"10373450363355512532396549647563413832083375315495491721135143324465485625903\": [\n \"14937532432378497205037958763570201711957558989591139906517745656286169044119\",\n \"1\",\n \"1\"\n ],\n \"21609863520591990761080783438155096962059237978464197139887465019268948653909\": [\n \"4034539030254976764962320084789436704943297742981168588443657488078075054558\",\n \"1\",\n \"1\"\n ],\n \"12594603051283612937141124260978954762160086819728616869058367090665069116141\": [\n \"14797910607892915018465919807327576371828757704501419031604536466852022339758\",\n \"1\",\n \"1\"\n ],\n \"17621734643504994001932488790578533138639528885598627535704630548928559253286\": [\n \"14060329138565484797600344558370326831597462178009091234145082787087839421999\",\n \"12594603051283612937141124260978954762160086819728616869058367090665069116141\"\n ],\n \"2409387000253158991035972252207377129999195517575848908200714006752390685312\": [\n \"17621734643504994001932488790578533138639528885598627535704630548928559253286\",\n \"0\"\n ],\n \"18112747309733831950048134370875129950744678468645326246571047302651422856067\": [\n \"2409387000253158991035972252207377129999195517575848908200714006752390685312\",\n \"0\"\n ],\n \"17801934506931784466137868744602670913863600502610656679785939902128329926677\": [\n \"1748886939010134533139406966145907095184387595166980572711285766124272585065\",\n \"1\",\n \"1\"\n ],\n \"12248061235175708016414884933047945311460646271921959706870713582192825892446\": [\n \"3474076329959087179738360175993332002340489962252323001916129656598576715583\",\n \"1\",\n \"1\"\n ],\n \"15534264616201804798319458072310686284341963999888435276628986586936677168798\": [\n \"12104804135553844017073613767284159286363530043406399971093079805567714190430\",\n \"1\",\n \"1\"\n ],\n \"1707970886839287947861239406524038444267136428553087943208127466456389071067\": [\n \"6509033246606535975705159408038215990883486497879550496302662434815394005452\",\n \"1\",\n \"1\"\n ],\n \"11444769456101278737240296835369464861375951515307040819198334331076721321525\": [\n \"710022399219548739209518722356987614865708081479683090657024973847980702920\",\n \"1\",\n \"1\"\n ],\n \"21225848112593764285271481480961871974556448495132066993820411423569323470434\": [\n \"10578582499684986058842005847779762319522523876403365811366067682005534098428\",\n \"1\",\n \"1\"\n ],\n \"17193106804606583260399642056332585224402873185486451033943490441142299705676\": [\n \"1816376639654656702414526708733412799516953820068068377715194800709922700515\",\n \"1\",\n \"1\"\n ],\n \"11752862560012518338603422728406795514328338742431122688378630419714967580816\": [\n \"17880694703503855128003220163552718527762864158614432949582613753210730396274\",\n \"1\",\n \"1\"\n ],\n \"9776059798725120746177096760422493187548172188781071618345647916175643503863\": [\n \"15250204479713810365027591711448005943707515646928624457814729360969493643236\",\n \"1\",\n \"1\"\n ],\n \"6858604946433347468056948980722419441535914101093117930963636754121335794093\": [\n \"321231989342298980673313578211387454782159275385889438235031166781513894255\",\n \"1\",\n \"1\"\n ],\n \"21030823324592728762263382395164464395999097074391577070572073468946931735553\": [\n \"10431681123740659596091105206632414634016167490604608699068784900085513760401\",\n \"1\",\n \"1\"\n ],\n \"4845792041666804407236378225785594082207410692990186258734347966978177785165\": [\n \"5180011992453735845811449715602195026555011624481990215630445179340687457390\",\n \"1\",\n \"1\"\n ],\n \"17441743383063991553405157540538367556499880577589424690841096508493431876974\": [\n \"7339430656884680144149885745959898590388091914581494376832612452334506149167\",\n \"1\",\n \"1\"\n ],\n \"18625625836262148511010731184511568347937558569697107701516558170795374861053\": [\n \"19184521671891409408735947278111117659069282056436260677352557595269836888642\",\n \"1\",\n \"1\"\n ],\n \"11906258058432980879896901040374582352708354558635570708840684287050534112492\": [\n \"4758850522982403662356003356330123551348887996526909279214780729318883027911\",\n \"1\",\n \"1\"\n ],\n \"17937771211227259269160301465645037529041481246960553483086990707639219739183\": [\n \"14909812738045300233978174161799503405121398170677725495600140705418624241841\",\n \"1\",\n \"1\"\n ],\n \"18020754765191433282849195350172684540449789633576333104659625419489177505080\": [\n \"11872316547019553454966207780252945605842581473131367272814961549677700023153\",\n \"1\",\n \"1\"\n ],\n \"4606649368074077703549444675539704363781586327272137620219041982585399945039\": [\n \"4015139698465236571431981754478302711671735613904366170579125933624645335251\",\n \"1\",\n \"1\"\n ],\n \"6986087686383435693038760779127534876723797213195331114545222239177303233970\": [\n \"15116450519071348195003495620535691129491382676496358132268694883328329087009\",\n \"1\",\n \"1\"\n ],\n \"18912130708196997502648619741339115822933794063365097388698445962419615498556\": [\n \"18551408299175272563650370750665787661365190300097795458599083559919120104375\",\n \"1\",\n \"1\"\n ],\n \"13044353967510541127063032871572020399426444778887616317847161535755799524377\": [\n \"2288341366146854885609939165667660766390905589762312673455196835956325174871\",\n \"1\",\n \"1\"\n ],\n \"19137148758131718098616166067803519235756360287818183136508529208871171579937\": [\n \"4325767083265113797319452322583862329089921453959629274181885842821810114650\",\n \"1\",\n \"1\"\n ],\n \"10351202072500912544650755786580051052597680827946953569928893159084569886490\": [\n \"1075668196809283392764466706570613118076657604605362508215877767918033856778\",\n \"1\",\n \"1\"\n ],\n \"8130808624186338677164645887072250064116334665502560357415724733313084247333\": [\n \"5193115988367179773764859418127457854260686888967246629345923501217272646468\",\n \"1\",\n \"1\"\n ],\n \"14347333801626491390534076736902790897681784699987952144558472664064971624004\": [\n \"20324134362081448717231836053583129415117848311922496842614976309367912764232\",\n \"1\",\n \"1\"\n ],\n \"5659964714195533103050434186025638944871122634468025715831106636985683853161\": [\n \"17280576175682903630700075433200925306129935131013902998009756029361478043505\",\n \"1\",\n \"1\"\n ],\n \"15782675381059256077380999594292605737101816075312368788870960690730427116901\": [\n \"12637841088314263228319599139664320588250796710349194205565179208302234207555\",\n \"1\",\n \"1\"\n ],\n \"627137122821828068348361892095465595752592738201004976612654734254904175731\": [\n \"2275983376579904753881648940832314889185040972946096711272902403041986758754\",\n \"1\",\n \"1\"\n ],\n \"1543771936194009775202736712125364878955923288854712194918225412004062362892\": [\n \"11709818375521005386877061601450024466141136325446547096750326328741629089404\",\n \"1\",\n \"1\"\n ],\n \"16755633611218121454163953760011359700325340261117585948709375292411947389099\": [\n \"21459896620605822043062252704708694646594998417724314477169348927416910392157\",\n \"1\",\n \"1\"\n ],\n \"12090745807916520485362156896185132471103320918140275208986411519405504541426\": [\n \"11494423211420470873463952584665167316555619749656348269733240934084692891153\",\n \"1\",\n \"1\"\n ],\n \"11126561178313610520667306840556245652138209066225783720519791218239904780889\": [\n \"3154444888883559662908161353303207966077270422162716207711510237826851470283\",\n \"1\",\n \"1\"\n ],\n \"7800541050728596409757319018085989350905447846177756641257620275329775148121\": [\n \"7921985323213717248441132338599468591558772715998926250547080957170479935586\",\n \"1\",\n \"1\"\n ],\n \"7151775022808375150704045771946295832238127624599581625936598216453305368957\": [\n \"13089296800522335131322846565390301889076987677860736119894584588564718096303\",\n \"1\",\n \"1\"\n ],\n \"420329003494371006449831844623790954411821475962067830850497351490930620086\": [\n \"9513395251849512603286026503273638786707419197340786056557482213023046321123\",\n \"1\",\n \"1\"\n ],\n \"45915583188994379589001272577005925758015996847499907897197844679733431679\": [\n \"602518340862002446589769652974444458413814831369595893403114566162022065173\",\n \"1\",\n \"1\"\n ],\n \"10546411596367763783159027441544984443431557161468396355171767523419041093507\": [\n \"8084625393962051844276045754081316159782010777274083107685887098067261110768\",\n \"1\",\n \"1\"\n ],\n \"837689681893653848265036790535230507864694391899757713823992201710338555350\": [\n \"5804983511214580955710591262467594746811829989568947049649915563820562763267\",\n \"1\",\n \"1\"\n ],\n \"9643007429921840615125211540876341419023682379432402530895659971789507446532\": [\n \"2822867037650883150227120089097875629319052404808900012065639564374741525251\",\n \"1\",\n \"1\"\n ],\n \"2991600021984971164005132256386679632124809446640207334820109786193321013229\": [\n \"15870789286884598889141658633015740119398678311458624792065175160173399082743\",\n \"1\",\n \"1\"\n ],\n \"12428130779514581435778938696272852954427624594047336870897218880212378598014\": [\n \"15673319251056052286306092719322178832047618033395526942024017652831501204843\",\n \"1\",\n \"1\"\n ],\n \"12064241877218652763104528958656986202801869645358139413765013574654318055725\": [\n \"26796130715936250133557987334922976650452297397907906747772669989834881262\",\n \"1\",\n \"1\"\n ],\n \"922441750787989186114487240265886996546084010087161437661405295539881745710\": [\n \"20684821858853993854525546602492985948690725596868089655087698733297791191875\",\n \"1\",\n \"1\"\n ],\n \"16866481736997297686281201184357162653588525232383088960313590767681369103298\": [\n \"19178381863416485296635990073679468432899890561908768368675410637765110822560\",\n \"1\",\n \"1\"\n ],\n \"6151462657919547681085024515547488222308698194731886350032057090099765971483\": [\n \"15489545282008290082034072179971884749854316862120835663067286796739745051635\",\n \"1\",\n \"1\"\n ],\n \"15487660253793453124787066185223905356910214686691346510253703368049854874084\": [\n \"18697107978705121373957686532495145183568803691683294591770333307360051015692\",\n \"1\",\n \"1\"\n ],\n \"5139548248845068755788178477632615505491644633860184427762723115433070295324\": [\n \"19365492905046608484996472989089793399192798031178027818818749837390769522463\",\n \"1\",\n \"1\"\n ],\n \"4736320322658699544314635830151643353590635282083432374729591121937790095144\": [\n \"3291996245992036435027348301271888744477975902405793344379158331363550620092\",\n \"1\",\n \"1\"\n ],\n \"15823527973620064489941686653822903099409110821367511792626644728516807644840\": [\n \"86717184737198587685563070216212073982242576330622442428741399411754473767\",\n \"1\",\n \"1\"\n ],\n \"12766320830453734743951109138626333759457559520063751043288249132282578885200\": [\n \"8081695765932956229040855785777290938201794415398704112028614422005190743650\",\n \"1\",\n \"1\"\n ],\n \"14552650628930873600240889565593332397144524982462326111345172770698084349551\": [\n \"4143154910578036257092552691317997028112559173561305482062572087081608037516\",\n \"1\",\n \"1\"\n ],\n \"20318688742250013907244806317191880296515177193932566691847400131717852756965\": [\n \"21251168514724123931474442293873500207312546255773500980715285300949512716212\",\n \"1\",\n \"1\"\n ],\n \"14210645183572159922202953264290984622910773781026836559718513412559288040483\": [\n \"4961048943880846792138945606161626880967366000619622931919601005969074105807\",\n \"1\",\n \"1\"\n ],\n \"988818062524384526418747722923231325901167301775128368384403126751648784553\": [\n \"17788969334927040689630477959296013693496740545622333237797824213096527957417\",\n \"1\",\n \"1\"\n ],\n \"6450071688758232999070999288577342536889329869515648703593235279507733240855\": [\n \"9690724482660710169662818135470137222852399244190741610119861613190988998300\",\n \"1\",\n \"1\"\n ],\n \"15860519312689539894283453939571179225503351041869640375344847782853869261725\": [\n \"17708971798081999762285957880860300161091258644840544712087238548940200517104\",\n \"1\",\n \"1\"\n ],\n \"6561248574862041723809794247984932371558181766584450805945533563792183744456\": [\n \"12285539313417642523027389501535745314974720568040727350187873636852590056698\",\n \"1\",\n \"1\"\n ],\n \"2942107047438717746891290433725148375104595583131046293028573141299747454530\": [\n \"12643713018463288501676614764378723112818616818216743462164653984310215696992\",\n \"1\",\n \"1\"\n ],\n \"21097627175388662457932936308905745148111582569343277655241229888575497682237\": [\n \"16876552404485610157626381437711204509994769430276912413881400803510948949056\",\n \"1\",\n \"1\"\n ],\n \"3549064924630307024610060961849730065483537534775058317526007990890318320157\": [\n \"100569743523952180512651366903755085791755106681863054068410836539732701062\",\n \"1\",\n \"1\"\n ],\n \"2354828916121919524516075034280056181878268273888238839105017869364414117952\": [\n \"20903343791433237572790353082371207594502805726364378953195420803903174579177\",\n \"1\",\n \"1\"\n ],\n \"3092802810733820492136422283945993163823867359488796353107429395724205538788\": [\n \"17954052578593725489006045816950863651560330801382098121134710689367800635537\",\n \"1\",\n \"1\"\n ],\n \"11037290393326649618672583735300435233561223077765133408203817431949745139317\": [\n \"20372260908728571319306821123664743813943591717282334194733310704575409806671\",\n \"1\",\n \"1\"\n ],\n \"16199275026038755021040313732514477631540603208436732419016906789172321731089\": [\n \"2702338040409978644322993467323557472396188980401122068371554650844670943470\",\n \"11037290393326649618672583735300435233561223077765133408203817431949745139317\"\n ],\n \"3853642532065399087652541338371342016745463645137100729917089472694843680955\": [\n \"1260738647697308124100227459874015882284257202972537549392632130138163352504\",\n \"16199275026038755021040313732514477631540603208436732419016906789172321731089\"\n ],\n \"14942244434039604570678799826372119750552993709308487684316083809888885106235\": [\n \"3853642532065399087652541338371342016745463645137100729917089472694843680955\",\n \"21348901497673818236495199011326681348576724976356074847289099294150133991909\"\n ],\n \"6648166268456784420520730815814073487177547701925941581981525903548362837956\": [\n \"21270948163941466021245559811825999619732706437012486233895322576038832887628\",\n \"1\",\n \"1\"\n ],\n \"18220013061077756149824914074416984871342997979148432622024983427897673090940\": [\n \"20404640856602826906137862060413669447990594379320238885021158964887592989023\",\n \"1\",\n \"1\"\n ],\n \"11966836802179103424096734421802143814768425711209928213391752132460723503445\": [\n \"17134930759935198405053396792092776944763600975688357805943704692252350814539\",\n \"1\",\n \"1\"\n ],\n \"16742104734955910412445528468649388930089757066115371588940950994270926640764\": [\n \"3645669204183561519312379572860248061595310594511643333729045898693680465090\",\n \"1\",\n \"1\"\n ],\n \"16449951186023520666633457988867729298143658673461455624422451804015861766381\": [\n \"2916215271135117894772888169291691695717097063108118728797984181350545856554\",\n \"1\",\n \"1\"\n ],\n \"21586246414418260060977056454037969526425552086068131890820939002484667101545\": [\n \"11323868277365397180899026918750702699883469917210047693764019934887158212458\",\n \"1\",\n \"1\"\n ],\n \"20752783461193881250621153245159342894316989798616857779891745364650698194788\": [\n \"13786428297029188439374476331437054324756207514107586144240201241752376724279\",\n \"1\",\n \"1\"\n ],\n \"6287550570554044524482260300330918496872350201020929496773999729389726183658\": [\n \"7832501660044851563779424391846842729702962320463369941585930091689572533370\",\n \"1\",\n \"1\"\n ],\n \"3364912864168931196883697106474148189409909841453634796789857036436915017264\": [\n \"11665368457360059742770758340901234068561584853732821089151676799956942553147\",\n \"1\",\n \"1\"\n ],\n \"9218812398576162705888918304505660305673114679442742419795710111643154567562\": [\n \"1238286984445739488667439826378736973502946036510688392283163346498736953502\",\n \"1\",\n \"1\"\n ],\n \"19585013704509545206819299586706646442033054652378975984439190975698631788844\": [\n \"4648057565389616244258582114580503661086975020611261302784230511607606103027\",\n \"1\",\n \"1\"\n ],\n \"16287026721998704781515898977842157164937862658101078266510198671897490695568\": [\n \"17467257920512308019023355674916712146881661652736279912392705619668167528584\",\n \"1\",\n \"1\"\n ],\n \"6035630239647439462165713383463469178104190769683322945513492387938030335319\": [\n \"3013078335349906262455519004364058408078458360364054251953630352653989088044\",\n \"1\",\n \"1\"\n ],\n \"12028590551511422342368738236937583152958060249631958220083628805497618357592\": [\n \"1977500110714478145036236940240439680559198652301792223720152518011772614759\",\n \"1\",\n \"1\"\n ],\n \"19063846741619905533889823411500044476830192057753284864963884224409318934144\": [\n \"6872169489226147402631116625879917720480109558619254018460784451786541646324\",\n \"1\",\n \"1\"\n ],\n \"15167716885984793408346338837993897168850014685875065648711624068715852158120\": [\n \"6405239441524826215124098420239589643245145520151418572509714420600139940157\",\n \"19063846741619905533889823411500044476830192057753284864963884224409318934144\"\n ],\n \"17201821045812804821441839515679683043901220230437102781876563525879741816061\": [\n \"0\",\n \"15167716885984793408346338837993897168850014685875065648711624068715852158120\"\n ],\n \"5520620336369175445373701745761312917743557047237647356446464973517188669067\": [\n \"17201821045812804821441839515679683043901220230437102781876563525879741816061\",\n \"0\"\n ],\n \"7749591573825153719176885811959784503403311197772667219280276006932668019994\": [\n \"5520620336369175445373701745761312917743557047237647356446464973517188669067\",\n \"0\"\n ],\n \"4282889349394417898627020013206479925040498720667765240486668784983743316413\": [\n \"7749591573825153719176885811959784503403311197772667219280276006932668019994\",\n \"0\"\n ],\n \"16122974987342735703918695152359595132527855499245915026421891253179965337192\": [\n \"17966182776414304050136762525048194827640982805811480571608951261640888856185\",\n \"1\",\n \"1\"\n ],\n \"11853684260634259782634421427211190009664993589797012264391677029045407338635\": [\n \"21705946339800715803317393599874870742949027289764284647406810362426844781514\",\n \"1\",\n \"1\"\n ],\n \"12009339195361714398358375933329746299350057307157202982018411256198010927445\": [\n \"2943739128130681330356552900000868962196944773194857080946937367652125874465\",\n \"1\",\n \"1\"\n ],\n \"16338289195555612128486151757041026790013073567689342440625497436535990296096\": [\n \"18527058344564272484527008787399949695013521139782961496064563192786083772783\",\n \"1\",\n \"1\"\n ],\n \"21215837414711758718819407042337121146924157592451862741862426610824512496975\": [\n \"7356286139069366689602267418807586324108504746293548703719372073424193373573\",\n \"1\",\n \"1\"\n ],\n \"11339018637694587408524885028557560343552821517632228055749961253360879564765\": [\n \"20059040060547161787311331243108645245825241982946016674531417197313565878331\",\n \"1\",\n \"1\"\n ],\n \"20300541887632719324825840287924159998264072368617938356341207314347611145680\": [\n \"11614219676778890392480740481051191525640176408521602896858604636578280957927\",\n \"1\",\n \"1\"\n ],\n \"6007554773704418576276859934984002111485870635131832823448203882332513434353\": [\n \"19100858517428515363315993262908960407948564252936520004311189752732892355389\",\n \"1\",\n \"1\"\n ],\n \"5029974943347256357160717690001402718542066723370723160715656921562689897658\": [\n \"10264959211423772683531677279075411256787852343193441678603979655247365116841\",\n \"6007554773704418576276859934984002111485870635131832823448203882332513434353\"\n ],\n \"17465713936736709148677890281290002488204159410944338533342292952490985712049\": [\n \"0\",\n \"5029974943347256357160717690001402718542066723370723160715656921562689897658\"\n ],\n \"21693313378817664628001467626194064685483475395496209309655742634514477425175\": [\n \"9885651569165065055758487770671404985831834588971023494862742153994080099171\",\n \"1\",\n \"1\"\n ],\n \"14982402910461046710479994742623520744357929389432233530114460102454226974226\": [\n \"21844305747965646376593277827320968700020310889352319769247772300400047653364\",\n \"1\",\n \"1\"\n ],\n \"11609692577760205023046165437028481010989102048328524888851309947347652694015\": [\n \"19657652134895951884763218611737308656065078983262085169123325830685755390104\",\n \"1\",\n \"1\"\n ],\n \"13152443661578286088113657795584238808211746657369607788025912905352012662083\": [\n \"15321743834125040814929492539362067103736044370840338807544922558957827599880\",\n \"1\",\n \"1\"\n ],\n \"3626780963874431103876843179515595820401534336953155684097694116879597031905\": [\n \"2120659981466506023283165792482882299648820727336520180026750538021990270353\",\n \"1\",\n \"1\"\n ],\n \"11506615362834869817958687662747755267610406483095271947477597605577091226068\": [\n \"1222737047892289098768762073830234767885473170366312551317908446530396446652\",\n \"1\",\n \"1\"\n ],\n \"20922530786937332804074677930798292435400817899445481837351844364652235125286\": [\n \"12860002914513113093090297604796998311124426577336747209801728972349062985077\",\n \"1\",\n \"1\"\n ],\n \"21131262610572095505083843652064333940117065988624720489443061098098666841152\": [\n \"20259686820598194944761623178202611193829832141408917704164749480862203142322\",\n \"1\",\n \"1\"\n ],\n \"2207961183154646351808814021621520227470439598610815504689738240097574528066\": [\n \"5115411022929915739827542748017842534381159443465201276009198535165975466574\",\n \"1\",\n \"1\"\n ],\n \"5163638689610475410097932909742527028018359861765879941773660923358924936846\": [\n \"5310602493277586742389046511083655558748737140353651772402330605248661832623\",\n \"1\",\n \"1\"\n ],\n \"16185076022229938095237607908527477765987854697720502262720985739316507339173\": [\n \"12866138677105340774446244635967395011299062851525829860606851672345872360779\",\n \"1\",\n \"1\"\n ],\n \"3559184936253961737174751514219690303455306005569803830602023042506725861471\": [\n \"21859682916094414742267206719347268400764575556744820322565352418438367946190\",\n \"1\",\n \"1\"\n ],\n \"7607935851021196008434061089819564212495253231899314759382318891675819958280\": [\n \"9698695532279943357392755707572390257058345267079599129977219998282663324525\",\n \"1\",\n \"1\"\n ],\n \"15638974969548550623612568163783775161928434348539515231399859668442395556773\": [\n \"17821092626275729737030986994589150583057065164212531416442489104663694658402\",\n \"1\",\n \"1\"\n ],\n \"6375231695323014111051436384048740284901925218945939415556660690664039515739\": [\n \"7033798358512089969690845292160912603141971840654379992568915782574720791343\",\n \"1\",\n \"1\"\n ],\n \"6741637329058567109922060827515159071040698378715743485081266445934147518354\": [\n \"18332840831419311239817734309828749711516263400492357733131155752587980509219\",\n \"1\",\n \"1\"\n ],\n \"20467863849614106132898659370822345942595301006980219409628015498503234407224\": [\n \"1129346683401725551535284408265779851927219026188858692774150825842370573793\",\n \"1\",\n \"1\"\n ],\n \"10541353278579825935298711946957242578072427181830897118811317064645621338243\": [\n \"6726435637059283233677870531143915782313063636538022786539786538273130837007\",\n \"1\",\n \"1\"\n ],\n \"4616706178674760554081237526859373591374900939683501633064240339078446206747\": [\n \"16151042018919109724004202671358329423558150996405728248534259247787390408049\",\n \"1\",\n \"1\"\n ],\n \"19954294000159315350630239484729186360364736651036371714089828491641531371010\": [\n \"3601558521817924133950499107191346237859539002347698641525917202985677413129\",\n \"1\",\n \"1\"\n ],\n \"14485705845079557752069586537840853332146999995135470484545623376663435415100\": [\n \"15918215235784273983813302155724104730581383371129848786970662616634118135472\",\n \"1\",\n \"1\"\n ],\n \"5127465296016522722027757561889735546185245434294753056141109883494454770549\": [\n \"12657803291619161632631600892960846222467780966073757660460270352865128829631\",\n \"1\",\n \"1\"\n ],\n \"15216043116173443922834729786774046488136965413365363821264242750785537674203\": [\n \"2524302242091388664812925037744517961368612372523664021777379308231889486916\",\n \"1\",\n \"1\"\n ],\n \"8606514843608629615369101142087658191199117146454712655913776036744881833496\": [\n \"15216043116173443922834729786774046488136965413365363821264242750785537674203\",\n \"12154768415554239513227650182881452385194769421241212593198034237944052929880\"\n ],\n \"6828417980704990702705822599715389328014631670703456843744654847315024955471\": [\n \"6117418878860707758597507535881670536464025611800079346274974523218789589188\",\n \"1\",\n \"1\"\n ],\n \"12462271772927738513100894909383865749746444113191906778451262178719097957209\": [\n \"12820028911987930887389496139726289620375238694084809822432999935188100781563\",\n \"1\",\n \"1\"\n ],\n \"8738265040137250609292209951760024293537906711484620463451057482513373810971\": [\n \"19921379832417680490291217865595440696495628294611747989686521562647723617747\",\n \"1\",\n \"1\"\n ],\n \"5179459106379643534479947237637887177358234672640135142502591431665425061147\": [\n \"10336536298511524983257701392152514686845841180106590585031382661264432514993\",\n \"1\",\n \"1\"\n ],\n \"20047264027577786590379651589383665645312076360720291445475071939368413590416\": [\n \"9854978078554632921367117683884063447210183125818772740686970428723656291905\",\n \"1\",\n \"1\"\n ],\n \"20773156128650449644872798259289958236464034133688306388458305905054914642164\": [\n \"7512732289283534386751602295432973253153747077001871821673118581266027418934\",\n \"1\",\n \"1\"\n ],\n \"17869664597426480224972009246476028450781450618944784060888611157020311042145\": [\n \"833337189282000895538186298874120654888014170352245140664383262650798759009\",\n \"1\",\n \"1\"\n ],\n \"9472464422800963977033692581426209019830155172275289011836199586893266173960\": [\n \"777024366078507576506777268661738099307886929426010730402728186346632720225\",\n \"1\",\n \"1\"\n ],\n \"16524337165854401605899437459566309346159653772393249927911625478288472890612\": [\n \"14819458978701643190790680388328710431328936267538008466077168195803508067773\",\n \"1\",\n \"1\"\n ],\n \"21379320791027766033067170540660542055313554395033865830351355680053586167438\": [\n \"325335117230762642358141682225007152281370527799374807793704481247941255149\",\n \"1\",\n \"1\"\n ],\n \"4266421192320068179249235560615663435743444567689173408152977907389378074500\": [\n \"19286592279978484800376055674087419227557486187993303004772158741862332603207\",\n \"1\",\n \"1\"\n ],\n \"16943669052425662198394458787558950525330826174970750309702919726684992113601\": [\n \"330474341196015677600542658473462519114309812449155304923474093236379889453\",\n \"1\",\n \"1\"\n ],\n \"16881008689390233950748928482142074113805624752246400448027165690819355546720\": [\n \"17452857681290167111847993398919710293400580829124116054489709241547076536920\",\n \"1\",\n \"1\"\n ],\n \"17673699567328845902553226498540556132451239297099414283698062820222213233756\": [\n \"16881008689390233950748928482142074113805624752246400448027165690819355546720\",\n \"11753719748930126658854543679496129242901571521247050470682652086007849122055\"\n ],\n \"19283011741005377157535540684770927933875967682902886378691407147816736150263\": [\n \"5704236923153698171093932181777800173955166514204699572121740892520137456384\",\n \"1\",\n \"1\"\n ],\n \"20015796827006641047254620887010564634306367107363700229273372395048937458379\": [\n \"19283011741005377157535540684770927933875967682902886378691407147816736150263\",\n \"12355485046238673165210282550709223133907705318781781247340811228592937066083\"\n ],\n \"13250378683477206460117482003473352083855106871024654887232905166841959510737\": [\n \"0\",\n \"20015796827006641047254620887010564634306367107363700229273372395048937458379\"\n ],\n \"8794662771759473872305666810936688969407636418435609822646008597238861317621\": [\n \"12225619801010159042774753433953994847216338422953632611241053695139563843458\",\n \"1\",\n \"1\"\n ],\n \"340123405188998986895793015306809843035225099231947503891285083029922387302\": [\n \"15033717484935729921699536097513275081859840225246703529208108796741281724382\",\n \"1\",\n \"1\"\n ],\n \"16964650399544515097916038685597356346538831173771880917354083661394729074485\": [\n \"14785176520631591163300374174126888770248756594482021125665769431167627565668\",\n \"1\",\n \"1\"\n ],\n \"3001099875746753785812815987938029127544250903893548038209975252618541021289\": [\n \"16642996548429883845642704038284299898864403545873188694774262674981825243291\",\n \"1\",\n \"1\"\n ],\n \"14735307877500023929665020382031116527436433459468632084255298390124003650693\": [\n \"21381454068274215409876142087839247806748323384065589636890837211125266531690\",\n \"1\",\n \"1\"\n ],\n \"1106436184225556325714540788527156923816216302404815598528308449829295356453\": [\n \"9832815298984077581716268198394222464667179050759204775797732967830625889202\",\n \"1\",\n \"1\"\n ],\n \"6516201858685604143986095791437061132231824575606838555218983049553285617134\": [\n \"7251395000647963468237374534507839023804221941020001427143094924495281459874\",\n \"1\",\n \"1\"\n ],\n \"4816202840284993347716957236759926642430223279736906203564176939884717655946\": [\n \"9081067508208748099119668596320512911426940740557570260255908958571423111401\",\n \"1\",\n \"1\"\n ],\n \"4581452637673528616895045731572164691755419597597053866380695682984612640724\": [\n \"12034819943592525084999112670255850341220573747295349633319076063975656409625\",\n \"1\",\n \"1\"\n ],\n \"13963265193004164856472872864708456995999139860184279790984459730535336177828\": [\n \"10000282334571274993339463780173395502307479119414940528447101737057690151772\",\n \"1\",\n \"1\"\n ],\n \"1485390697736944453615284918748457311678099753142950536705463203840734820463\": [\n \"11225560600948170095597481865301407386681869433257847463469599833168662042011\",\n \"1\",\n \"1\"\n ],\n \"8640925209917293638001168881178205924098462159074799902389937425955230144064\": [\n \"12175951176419611120951743517638359195686711109578786679795697618914399558401\",\n \"1\",\n \"1\"\n ],\n \"21000272121304844606366417486675095943163576489311472408608467325448985540913\": [\n \"10981001888387788028648318494498082938668882253135129964393655736242001612523\",\n \"1\",\n \"1\"\n ],\n \"15191878263584033530351060185891092273393812375451888223642611971062551902232\": [\n \"8336403682541440413940008900246791851429392060064367642792323257869882580154\",\n \"1\",\n \"1\"\n ],\n \"13811194374888089728423167505792881262365945830292305263563100284620136292701\": [\n \"10433378264081096291176915371025284168927222108206746974001669602514721909490\",\n \"1\",\n \"1\"\n ],\n \"9086144830118206892284374097725081091473335113017725208384909789923541177171\": [\n \"5400457549319573856055358411772015873573286156554338200530337311912555452572\",\n \"1\",\n \"1\"\n ],\n \"4483337698094093028882007927516598246893060529190282253987092837834398974115\": [\n \"14989543486504430984486138231680252984880655907259128669798050852008666564077\",\n \"1\",\n \"1\"\n ],\n \"7981001511085112858031366924662665412315790260568904807411341285755029312824\": [\n \"6135207630651738074607359347691474857567228509986411484616760600262260348030\",\n \"1\",\n \"1\"\n ],\n \"5888449736338808419886819375776744095978137482760484296194954886299678387038\": [\n \"5144795602933291965678767716087006872289806560251528674181944600197623797278\",\n \"1\",\n \"1\"\n ],\n \"7065122756180892662844928524979152232221311456153943361926178693784124132793\": [\n \"15518206765974573276906940475572825077817010321252930501252209297239191010290\",\n \"1\",\n \"1\"\n ],\n \"12093884147146538419011911231161222849068501425181457091632893608508397090431\": [\n \"14038494802333074551339900990574357369307285125618533707077447141555452264246\",\n \"1\",\n \"1\"\n ],\n \"15536541083173039992071833148841597906075173050475439221329778322478827468616\": [\n \"11152490639086606647300032977717561655467593828637522700890946407420312897149\",\n \"1\",\n \"1\"\n ],\n \"2323795859328826483883981871765498919474058782566043575258821764942917422110\": [\n \"16258276743396666525626202141767213850359438420018105208372049830149622921990\",\n \"1\",\n \"1\"\n ],\n \"8257755207022693205631411364680900920433822241030520891267723281079359539215\": [\n \"11437523909570608700484759868650104501406775117084658507173992939722914033032\",\n \"1\",\n \"1\"\n ],\n \"19209447096571210075741064690127794144589359486166465348330701620365237543539\": [\n \"8257755207022693205631411364680900920433822241030520891267723281079359539215\",\n \"17958801627445496879060431297358242210531338609848810058135708890238838641830\"\n ],\n \"11030745277178393790326295039184021700292126104873362069003555967943869673877\": [\n \"0\",\n \"19209447096571210075741064690127794144589359486166465348330701620365237543539\"\n ],\n \"4534566154328788225493296402757370791206802269486655516167379084827018666387\": [\n \"1515930821728966074697886179713762734586615713563648259449116901236645906052\",\n \"1\",\n \"1\"\n ],\n \"19916345894876929772552706356795090056507806461440625321364700975494389535498\": [\n \"12281104551280594763250974261142702605749304737680743483745405841525023999603\",\n \"1\",\n \"1\"\n ],\n \"3118567431483196440612009525540567019025921679921771377830612689131336957005\": [\n \"20758536792181297566767421614452020659240354271171074799074526673467216998745\",\n \"1\",\n \"1\"\n ],\n \"1875814314956826461759826955126380769423626006855625686166761283429184805291\": [\n \"2687249317824460149237507600353712557181769852198099083139993064930982345122\",\n \"1\",\n \"1\"\n ],\n \"4853696369936586796139045038161102526852386166404726319221272864227083005015\": [\n \"21098146801868986282829518750618760143404085041457366030007928473421410912569\",\n \"1\",\n \"1\"\n ],\n \"11634588708164035272793717473800286081222192872344745029053330816298522331045\": [\n \"15087087944668551728367714354438804771298047332772708879860312428618265789115\",\n \"1\",\n \"1\"\n ],\n \"21621938571212422937511556967376177487012682305523709333400380805099637026584\": [\n \"11538630491982587764259268538902476673066811073567592403023522990364978687938\",\n \"1\",\n \"1\"\n ],\n \"12256925133754705606346636370176276292236525568394588546234211230702224179072\": [\n \"10156094628667045995295147183647656986797883139289350506941033332150131629121\",\n \"1\",\n \"1\"\n ],\n \"6274329926139861690586564516317720313738922721652966626750209241526398416888\": [\n \"9143913383933091968846223959027152367319256891860221005088877037782743807064\",\n \"1\",\n \"1\"\n ],\n \"2332658155225012748155206765221986613679619443239724449561082719964390451975\": [\n \"1882614503524081133954360185421904428912139435462002274152625877963104561785\",\n \"1\",\n \"1\"\n ],\n \"6473149878528846691997056626868411916290362650636092365429338863810916098049\": [\n \"16800469191138097635418995761543106207352707258294794256210171809725655053002\",\n \"1\",\n \"1\"\n ],\n \"2696416950704992636843086383898849404794322469842821103780478826631628372616\": [\n \"9500968556350433311142775434847135773535471012993060517220533961001379731860\",\n \"1\",\n \"1\"\n ],\n \"16741253174510918249155834996561693791739156326437884104474878048326894782022\": [\n \"20618532829606581491325599593005657214213712072791739212522382178637438211624\",\n \"1\",\n \"1\"\n ],\n \"13351587211516482778850402396365755029385830844497492735051323393002910447006\": [\n \"13867722184443291086731010095451782497266001499169016087091239836566162157478\",\n \"1\",\n \"1\"\n ],\n \"2697713636883360344606362639298528407919453844816119243137234245564577097481\": [\n \"19068098296167882365632185161095646349749937831163182310553991740708414839131\",\n \"1\",\n \"1\"\n ],\n \"1979755457090816418406133922729075066452806208393889948960232957340307757156\": [\n \"15636961562113441834819326964079132062443162713209488897906303573892048235616\",\n \"1\",\n \"1\"\n ],\n \"18455178850285914447613619558392585896325805410435428806696423703006556098462\": [\n \"13050550984197481217675031273564258124739997372191645974869867218128411235131\",\n \"1\",\n \"1\"\n ],\n \"11008090397767649572175585239191007493716412146661883315585649655692037776841\": [\n \"13793676328622434177065273509852538730536845855938708967424642150752452569724\",\n \"1\",\n \"1\"\n ],\n \"10934113366219853976757611723179559008823115438200510477628838176741206454131\": [\n \"6462235717458066773786454650748613193827389498093665933760342884605187457027\",\n \"11008090397767649572175585239191007493716412146661883315585649655692037776841\"\n ],\n \"2676335685930098109021750321639056438529762213788015904215736585776877241906\": [\n \"10934113366219853976757611723179559008823115438200510477628838176741206454131\",\n \"0\"\n ],\n \"13845557561982002396381655920500398479624714191643633097434224891549906936566\": [\n \"0\",\n \"2676335685930098109021750321639056438529762213788015904215736585776877241906\"\n ],\n \"15385782752238508907586329269611862257469225271393503111831358374392135373017\": [\n \"18235350363446029933808548355463935430810261380322041242539443732327906869434\",\n \"1\",\n \"1\"\n ],\n \"4888411098282991446536395779902972976320229822587103311758776024045085882603\": [\n \"17407121371162125161863381262822238639065991455982964324534289916782957614138\",\n \"1\",\n \"1\"\n ],\n \"6173431064312016584646121066994701507304431007828366697724077355733299303173\": [\n \"16889614271285325662701297966579475654584916833854206797393006687493136430677\",\n \"1\",\n \"1\"\n ],\n \"8653732136433089659641621509015949460959858507538899350190776968265780557717\": [\n \"4907469570852526021119596607906709289872428208732266904725734939169857775341\",\n \"1\",\n \"1\"\n ],\n \"20133626292250792460982022389945161182709414279018601033804824643287859850449\": [\n \"21457386853134484981274869728554059412741123277827808986124844492599938331710\",\n \"1\",\n \"1\"\n ],\n \"9585188558502469126889093125178149923684279288439741269692385353795007005878\": [\n \"5686067670951378669859166980819154215050487851589765518389291601135436973816\",\n \"1\",\n \"1\"\n ],\n \"12147408902401400941283990549153950298220064512600093861525749994125500445900\": [\n \"9585188558502469126889093125178149923684279288439741269692385353795007005878\",\n \"4661098667065754677273947100010907836783514044401881492015210798644590638381\"\n ],\n \"19936843355648380458657204823094383175781047727747778856618442138379193440796\": [\n \"21706361544519618374708305912585842620959727788033623506911401354506164058694\",\n \"1\",\n \"1\"\n ],\n \"5611608129790355237162898489354207522644765254945775588508633326136569373279\": [\n \"2513601304101523147646217060783936564063280471857372521686304701564315453776\",\n \"1\",\n \"1\"\n ],\n \"2153816710780219836089451523542439690184149292370555202450370741443889224571\": [\n \"6465028717897772773379914011529542980524922123412763727076120302310714249337\",\n \"1\",\n \"1\"\n ],\n \"14706094501287606899274039446141963056689837087693731086441363149942034502977\": [\n \"2462359403363393130209727242097428856052617771993219852045979270982567611470\",\n \"1\",\n \"1\"\n ],\n \"14798342651797133066985846458017315995788315629672636809636636334938534536419\": [\n \"14706094501287606899274039446141963056689837087693731086441363149942034502977\",\n \"2893346877537270615823387096948745605473685750907725363358647134383758389301\"\n ],\n \"11846445748668211898674448553337247489263636500312931919474280679221560571903\": [\n \"14798342651797133066985846458017315995788315629672636809636636334938534536419\",\n \"0\"\n ],\n \"8680218885441072041305645467216823787984535460209558624374089061158386239513\": [\n \"0\",\n \"11846445748668211898674448553337247489263636500312931919474280679221560571903\"\n ],\n \"16220212911331790173870801869162824849881056457161550577330660343947036086267\": [\n \"18813791606635554580363746330444722408381108540547871203968598277155598177498\",\n \"1\",\n \"1\"\n ],\n \"3838259528377953443709994819072757262288783242212933335204616714852603595325\": [\n \"1094412865649501226583341706060896416947766787976503806354546718240878279230\",\n \"1\",\n \"1\"\n ],\n \"11227010572030419215346667445079525399925020222931115098922007443237890114319\": [\n \"21760754710232484611296234806030685303016004773896302425583246218621951402153\",\n \"1\",\n \"1\"\n ],\n \"6592268507221174687231438609864891373862117763153908396564566854885663986051\": [\n \"6770482441482436060349841085548749025096570478554204691966113788164212234019\",\n \"1\",\n \"1\"\n ],\n \"16272202615722087228653859104720219399842663105015387885681782683399840415287\": [\n \"13493965201671539260188758853121670120155137953733600490075275411229741334546\",\n \"1\",\n \"1\"\n ],\n \"3908375104712726135013143200480082415602177719719642420779370340712201377835\": [\n \"2408104245422811539247898569311286444394444490766675830642615124789203245256\",\n \"1\",\n \"1\"\n ],\n \"7898698703090794538036026989027765902780116816841357405039883932017202613078\": [\n \"20329678658834403448563492949123282925033167897172222775625482332567184833189\",\n \"1\",\n \"1\"\n ],\n \"1780802815644341485697119980180521534495070303788877319266536253965232763679\": [\n \"2088523015314798329607206487049066351510876953282867601900813351409754569988\",\n \"1\",\n \"1\"\n ],\n \"21250477614923419712967706756481221364527599223890255273211216432317259539628\": [\n \"12890795577132673068547921000455263169107190009249644013857372056632676439040\",\n \"1\",\n \"1\"\n ],\n \"4086172577094675659668390092180653587043510828333788052397368294503363824745\": [\n \"15625527034226512946385998936867428379303896327360607708927202903307483905385\",\n \"1\",\n \"1\"\n ],\n \"9745659492479225725246289845532378031791453971761401017115698181278283542402\": [\n \"19421629943542749874947184914755293026424078506013500289208317648691259507919\",\n \"1\",\n \"1\"\n ],\n \"6065544252166945497987545137137492978002303321941232260674785250299438949920\": [\n \"9745659492479225725246289845532378031791453971761401017115698181278283542402\",\n \"1752627638931047975677527088471134036839478180204682107186381336666565031477\"\n ],\n \"20490522377301375852906219146660991650317436319980148206140051881724913982843\": [\n \"6065544252166945497987545137137492978002303321941232260674785250299438949920\",\n \"0\"\n ],\n \"7405429308282450671641545965087020796014849555023037461131259887962225757876\": [\n \"20490522377301375852906219146660991650317436319980148206140051881724913982843\",\n \"0\"\n ],\n \"9710605431421689876559755798502981496683910568978521721909728468477510184014\": [\n \"7405429308282450671641545965087020796014849555023037461131259887962225757876\",\n \"0\"\n ],\n \"16597010955930166300727625327794051074597923201571030093334853223827077434249\": [\n \"9710605431421689876559755798502981496683910568978521721909728468477510184014\",\n \"0\"\n ],\n \"15280369084776948472140106666173237486241397791176079974897230024146533076424\": [\n \"16597010955930166300727625327794051074597923201571030093334853223827077434249\",\n \"21870302885375616333005174045459953320198159689744129499589687406368211606366\"\n ],\n \"17161503163122026681052562462802645444017572745280441176434494281911799567001\": [\n \"13871114830731434318009600750225355860973032875890565271157449863065109991249\",\n \"1\",\n \"1\"\n ],\n \"14695003301533203606849007875790977812491687283213841950472673949238653858087\": [\n \"2395108331753800088251451138596487048410284992986478232121600274101089849085\",\n \"1\",\n \"1\"\n ],\n \"470536165207887596694290394462502178043179272293770416811304293917522161729\": [\n \"14695003301533203606849007875790977812491687283213841950472673949238653858087\",\n \"462515678014563671685447017756331829843856623545602468937398172564581220552\"\n ],\n \"8805779304891131044435454764886702310019699986164843757246728707555232805064\": [\n \"3731792514088103466519940347103420074401180927592135703968221416048958880223\",\n \"1\",\n \"1\"\n ],\n \"21612410339866715137167256068982098380549154404650435655091339922750504033829\": [\n \"3681125510523187285578545048024809466115578843109445086848470275385650795706\",\n \"1\",\n \"1\"\n ],\n \"16113997786220142883201750011451012108811311970779981973169172126617349307255\": [\n \"9779658114326759169877895937845469823581693701963544335201198300762312373772\",\n \"1\",\n \"1\"\n ],\n \"9520536818506279178830125146180417284864825037960286830588203627115801577542\": [\n \"11507201221486187138241153335882478386725015228984015209911286401222490580229\",\n \"1\",\n \"1\"\n ],\n \"523993202018001137988536634595551146748089352146510808554642209561212539438\": [\n \"1201813865183264698358027991835750588547972535734800067504125363619121550986\",\n \"1\",\n \"1\"\n ],\n \"9034258022830122109751669189006924327529605018811486768567334570072632811792\": [\n \"2105392299402608613143143626482941125122663069269464927464197589245563861063\",\n \"1\",\n \"1\"\n ],\n \"17694324831409921444479627982090297126341958089789164414116114794560409292118\": [\n \"16858908490119728472775950570572395593925726894724862505500288594514595031509\",\n \"1\",\n \"1\"\n ],\n \"6423451217177149529602322478294728887592504388891816339435399878981065005466\": [\n \"17694324831409921444479627982090297126341958089789164414116114794560409292118\",\n \"5259828701909014277895663260413453899700264830556182501352248213168694812789\"\n ],\n \"12396776108265590189798147708613290082281613522685000043396797345291976249523\": [\n \"9784648950518736726074130214991587462737636324035882453430775074025806500251\",\n \"1\",\n \"1\"\n ],\n \"21461969427462223729586340049949221582659472677276799030981474290293508004418\": [\n \"2459375970881203720140813311442791843012144947382721654254791830816244186946\",\n \"1\",\n \"1\"\n ],\n \"19125491931629567779440590719368497997190516834993951107175430575031634514777\": [\n \"4581927643042253253921752953369723568552779874818679915239981693608619925317\",\n \"1\",\n \"1\"\n ],\n \"2541180378804321487232296349982886454915426858010157735358226074531507890768\": [\n \"867941649948779877576836368198518337760398491156783342510787913447568426163\",\n \"1\",\n \"1\"\n ],\n \"13689536832856785688560107263594019074013409095492674090056189738601096351719\": [\n \"16459200730164786436133049376375934048557879494935350337394262072526636413605\",\n \"1\",\n \"1\"\n ],\n \"21791501778922990469507793718009107927522118106331994621863249619700799209393\": [\n \"8262013440478193029308429883130845773572831315168495761151382766420033866363\",\n \"1\",\n \"1\"\n ],\n \"17617228443993554611517622689733386671449731608248107912861571583602938300124\": [\n \"14356710109972687437855801609542526081661621755928930602644341225860781633310\",\n \"1\",\n \"1\"\n ],\n \"47504189049564005559420224314972813077279326521864900889560492822002313609\": [\n \"16879869536868852524682697040432532472528600285090173315751645863055291083265\",\n \"1\",\n \"1\"\n ],\n \"7562764709423071050010933153995351978584565462979788514931773221736905727696\": [\n \"19283152177601992448050328207259207015562555169732219752122969221008195891736\",\n \"1\",\n \"1\"\n ],\n \"17195129004979234661816857223448003701913929201420175012837353852730852099139\": [\n \"4668199884041218336742741865460086981187267259207572461660770657845469021824\",\n \"1\",\n \"1\"\n ],\n \"4624304337371429003596063719057103724515184810520446336014200629868270687423\": [\n \"14333715366989172943251376185009427924303703149261409818704727863262663861621\",\n \"1\",\n \"1\"\n ],\n \"13757848572900640417318229302298612988431530211472952306547849279321360423251\": [\n \"3613368267561348097640176295963998738729399258786186077109522454367005870858\",\n \"1\",\n \"1\"\n ],\n \"19178221838683951319422526802015759190498511112812190584117892139747727607923\": [\n \"3498731793936428843810625555788738853243164904785291301431646602141882359218\",\n \"1\",\n \"1\"\n ],\n \"12407034253704947672369908572539844821886444795642468627980641444690246974427\": [\n \"10830307173193201180362748277484064695481562423447137241548033927518023616018\",\n \"1\",\n \"1\"\n ],\n \"669489743814994469201039984269464282672622380464250352222044756642439549805\": [\n \"1306364339766980065234724312161657106664137533697276700176553106282455457459\",\n \"1\",\n \"1\"\n ],\n \"20973991283331964173897225042647227986729248412558050764262106086052162292915\": [\n \"10634886208763946835504236787173889426722448127472360536065350108064077642339\",\n \"1\",\n \"1\"\n ],\n \"6291530103977072792559001236768479738118157919574966081342017618504769502880\": [\n \"19313315567327016735770117512125246099556186937982109007413554834885498077657\",\n \"1\",\n \"1\"\n ],\n \"17399286417946366063216810650871368280014515955025130611548585742072787008216\": [\n \"17232229953116624329819726105945111275615353968488307886730939549236728313862\",\n \"1\",\n \"1\"\n ],\n \"13580104034526555343391005437553271304565133708565336501397150825377058706682\": [\n \"9587927333686817852890916473334884624597409726716664799269985975631170632798\",\n \"1\",\n \"1\"\n ],\n \"10491340179910216451663427820182208216790793903510199697084063462072313574000\": [\n \"12858258929378497846820882285424732860288634261546630312791165481632098636825\",\n \"1\",\n \"1\"\n ],\n \"15399968684791202300499686774586520992149562623349394811883452674022970172584\": [\n \"2683012998124573121655366531314464632493060779689745427157370627621608232118\",\n \"1\",\n \"1\"\n ],\n \"7623230001067673490275565453863624381244924219012352879441267815612794423854\": [\n \"7086894561003454363516735050224789201148632250133537470135329755452233900436\",\n \"1\",\n \"1\"\n ],\n \"6938448664296637701477850570754934911263311429808456396540161605716111357110\": [\n \"18454392598613087427092238817064927653598279850356790610660658755357052409355\",\n \"1\",\n \"1\"\n ],\n \"2617637146778508009313613517338840930508224117590795568695189247616275666740\": [\n \"55379358375951257866179704011982234936593122701177742162555770274404315031\",\n \"1\",\n \"1\"\n ],\n \"12873328469091363521052445006512710370109673311283881597960395778274692648555\": [\n \"13737919445584034273196989043437166612470788814038176798690801221170769520222\",\n \"1\",\n \"1\"\n ],\n \"5829810563808397526759738437576282318334690630364563217612783028903655547481\": [\n \"10356458513602189267234871111596521102348898729163408409423677726056509531468\",\n \"1\",\n \"1\"\n ],\n \"16518475955855251459534451358140021331741263700377005190224694545293293513632\": [\n \"4239277681689390538455686570247859583651807520886845972495464334456077049309\",\n \"1\",\n \"1\"\n ],\n \"1338362103822361614073241881330804947974443752756830599102839130898699212804\": [\n \"17242921653340611897316847594527276365414683886422816572959707365022274862713\",\n \"1\",\n \"1\"\n ],\n \"1052603241860835324625004234873516011556522069128048559670104293679327394434\": [\n \"14089844614951759017805459095555454600956882849698547368180349631252315264754\",\n \"1\",\n \"1\"\n ],\n \"10328621608783380984064577570999557763545364553388894286457680574216267686399\": [\n \"2067823389323625338952864781607013625284216677132644581190919466367593915081\",\n \"1052603241860835324625004234873516011556522069128048559670104293679327394434\"\n ],\n \"18092347201434703463107655754451452378005136978984936946882829233043805044363\": [\n \"12273996635788268475425275272093968165060083002817749469348767594406517952955\",\n \"1\",\n \"1\"\n ],\n \"11095051366786131862422544456349178805296936453425693353783693488835892778969\": [\n \"8712147125686721062984232385486808745266445720259679561877655239882062160553\",\n \"1\",\n \"1\"\n ],\n \"5647958141794337992690997232618061083623907747282858217290867068455197955316\": [\n \"16814825145351286301857374253661498186299544484855687834115118398164292618127\",\n \"1\",\n \"1\"\n ],\n \"14974984051728447384301552721718794286911061735581873550414199374886879427935\": [\n \"13902270348160162560847281327975549962586533364220322280721985810026831276415\",\n \"1\",\n \"1\"\n ],\n \"13750590888872346429884715769006417810355752791671348662419837924102960454570\": [\n \"1783530664453374144683254772800958137425392859634229826795856547854701869622\",\n \"1\",\n \"1\"\n ],\n \"7241048324003720248871704196658529760376764774414582404397708618202287723582\": [\n \"9986159160193229079809554403855650043550911765508223633706282920433955233258\",\n \"1\",\n \"1\"\n ],\n \"5483174674368618708494478778335892589910404421728776209022219188617120727477\": [\n \"1444010860965232138308051300139954378320667855651904791267683868777340624822\",\n \"1\",\n \"1\"\n ],\n \"4098392120226590720902864846743006101127360360465764792652719171836936831374\": [\n \"8762081576272269263625969894338197208512062807504013727138331024264161480366\",\n \"1\",\n \"1\"\n ],\n \"16070721460060497341337706832809107409789613467955629272061513221219821280404\": [\n \"1622963379647199876013742636974978902713200518009207386893854384214176546254\",\n \"1\",\n \"1\"\n ],\n \"15899438199174071274332521686187846867731642438526950466785554304128964535755\": [\n \"3559184936253961737174751514219690303455306005569803830602023042506725861471\",\n \"16070721460060497341337706832809107409789613467955629272061513221219821280404\"\n ],\n \"7643091676753765985315291059983453337879920794326984005385531015764744570404\": [\n \"5227937107180192557325047817222036723454798549431761111497922806936583751145\",\n \"1\",\n \"1\"\n ],\n \"15348581231177089706714791591893965798962301237319840406507806809660218516354\": [\n \"15525595883572768997825811868752228387231250043245688042408411218254834472441\",\n \"1\",\n \"1\"\n ],\n \"6772538254572680738900896753487900326624169638596971573474758520394491467785\": [\n \"12649260271136735780450959037772547139426017580103594675622496492462951465300\",\n \"1\",\n \"1\"\n ],\n \"7849918611525641707347810031770000267952959960083608548258206235936699068413\": [\n \"4469416369038149755498963776806549165545777891827548306241727017962749330883\",\n \"1\",\n \"1\"\n ],\n \"21025234216942335088599158743478317354512274364726588357480647165148174102557\": [\n \"1026626723506020079512958836659964400741171421956978641695685720051849386870\",\n \"1\",\n \"1\"\n ],\n \"6738442648947296702443341218040994995737689995883890527951554642590535341592\": [\n \"18802010754894414300610719233215125318692100742649011586913942206187460332843\",\n \"1\",\n \"1\"\n ],\n \"1495768563663970119182528589885712388653723310536222231844381461158638264518\": [\n \"4094115514908098748520269045395500409814440471428978172829543927527519663418\",\n \"1\",\n \"1\"\n ],\n \"16461238938696958454635648835419009628783276700601242596607045354315414441026\": [\n \"1495768563663970119182528589885712388653723310536222231844381461158638264518\",\n \"13630070757094480912048651281907851926527399050455601072715645505385266421148\"\n ],\n \"1446269402235078697354876354555846923978016269304011569330600231468827594905\": [\n \"16461238938696958454635648835419009628783276700601242596607045354315414441026\",\n \"0\"\n ],\n \"18892690420358920387373677494983885510236098991789154399392224755375310894199\": [\n \"0\",\n \"1446269402235078697354876354555846923978016269304011569330600231468827594905\"\n ],\n \"5531729427106317314794246805976426436291991920853585545338876801791223612469\": [\n \"0\",\n \"18892690420358920387373677494983885510236098991789154399392224755375310894199\"\n ],\n \"5373576913035580115323893890963460584993678715739179307993249164717954728733\": [\n \"17801019640509805275156109560862056754557141549872788008884426973738896329777\",\n \"1\",\n \"1\"\n ],\n \"11817676658170920393071456483268107961610500215009780403551513412423717651754\": [\n \"19653606013784299042343528813319858915649085814379318565231036327129960425588\",\n \"1\",\n \"1\"\n ],\n \"11074169126471287599468876789775594216424597760482180241628505309342346948390\": [\n \"18570083374512815399002292761493381399588138489274162758133121294008156391891\",\n \"1\",\n \"1\"\n ],\n \"11942227437085689141379159194070299251464743237158624889629925974227312473945\": [\n \"7988021899157604151164282741824598621761986940330074867840443435813960997882\",\n \"1\",\n \"1\"\n ],\n \"9359847463338293871121269839961071297631501410647384636985757571657514364112\": [\n \"291021213144311808588083248983128358318807642723925185106956192350179293337\",\n \"1\",\n \"1\"\n ],\n \"13043475011531649024596093273958534098803722887007450485080835797647378253398\": [\n \"1253368405512147297273659798587605426782207202725651521810681794951534370719\",\n \"1\",\n \"1\"\n ],\n \"11060659382801550371161221687268136673623647423338094254894147208990305141869\": [\n \"14329519728857422239999099714220749679269676120126167954599695177770690859303\",\n \"1\",\n \"1\"\n ],\n \"14334178917704365162870160138950423059219177257384739971966968379879753213739\": [\n \"6831750628945257176553923592150839462597216124458326054651375356157426475619\",\n \"1\",\n \"1\"\n ],\n \"3561817375585272904819168605895095524736867568350934109998403407206960470124\": [\n \"4239370717073927772497389523874670251672102197247699479000681367326897739437\",\n \"1\",\n \"1\"\n ],\n \"11479182420013283242985532607555667166471881476751177288283236632266098256894\": [\n \"659224526577374701415668907260898117510445507977730881731389586691685949703\",\n \"1\",\n \"1\"\n ],\n \"1698423634459568683611926123350154372372900743848665186260145645922398818952\": [\n \"923470661454172501960312609608228844547156336588233513730682909368531314146\",\n \"1\",\n \"1\"\n ],\n \"2903138535859460390567013388832341418014182759623576062700806085204519576259\": [\n \"10851921392681323353491779563299343118333555925007413504879657776966688871376\",\n \"1\",\n \"1\"\n ],\n \"17177285677021904624168049356720199665503253145183909721897071735321270453371\": [\n \"16578924736314360121870452171449416679199238675695308522521831908466915048638\",\n \"1\",\n \"1\"\n ],\n \"18437577627699485804962482078143629852558006093488189457496502527059737710113\": [\n \"17177285677021904624168049356720199665503253145183909721897071735321270453371\",\n \"7259930184489988306039802278429669994332306194086477168968997198662554915063\"\n ],\n \"7502516355854103580377888596283744319827159616803355756246646024026906287551\": [\n \"0\",\n \"18437577627699485804962482078143629852558006093488189457496502527059737710113\"\n ],\n \"15008636417029454789858279561019766225903992477261897419384921414368520885342\": [\n \"0\",\n \"7502516355854103580377888596283744319827159616803355756246646024026906287551\"\n ],\n \"10483549131289290679030227702670971994470416260800167200242279853818551856012\": [\n \"0\",\n \"15008636417029454789858279561019766225903992477261897419384921414368520885342\"\n ],\n \"14923749999111730051184232716090584633176177997757429608258380570723132298614\": [\n \"10449214205441414266455946854774143970904638192319925299193791186546781951215\",\n \"1\",\n \"1\"\n ],\n \"9446048505983930715584079520680012770245840154180379189071388679929190446754\": [\n \"15305905071264219516603880505874062609057710831079114443078813977300136959446\",\n \"1\",\n \"1\"\n ],\n \"21225075871911735906235952454396306980109032527463058024805205224876677201204\": [\n \"8823783630423291734140539331422420765167867596884087479187504568555560871890\",\n \"1\",\n \"1\"\n ],\n \"4053706344332530328538752975875207937665720717634324335246423651092647753487\": [\n \"8628844909093614280802531311470140803023356245999397756282076928874836998388\",\n \"1\",\n \"1\"\n ],\n \"5659922735133306904124074456631539378502968589766160231426702285141089845290\": [\n \"20873648706279687191686773274814503845704843636288564798939773873527239212356\",\n \"1\",\n \"1\"\n ],\n \"16236046485286009054874589834981784153250775088722210135016549578293085054404\": [\n \"10636259680290501590712182514700330189506076327565807310208833953517341930929\",\n \"1\",\n \"1\"\n ],\n \"20750088790815576846338784451263920113825683319615776587133673862424004577476\": [\n \"1516464668435285495767767208292418641172979808185819457307791471937052888344\",\n \"1\",\n \"1\"\n ],\n \"13107598094884129486189460128257997015955775753760579413882086102800573384833\": [\n \"5542490138269890895718157408427697546393614699374995701192902596015143361873\",\n \"1\",\n \"1\"\n ],\n \"8486400337288237844465497272539275870093241977556426843067484956397729614971\": [\n \"20301134338580377544041023465476109882181983887000684084071945120251910566865\",\n \"1\",\n \"1\"\n ],\n \"17069836628877266616422157495268258991384194446002306199045906398433028946985\": [\n \"10416061684680908153711411359196203325489244742196355099156552589833555935970\",\n \"1\",\n \"1\"\n ],\n \"4000668958442784151659536765938509666583092438154157910790204471767632726374\": [\n \"17069836628877266616422157495268258991384194446002306199045906398433028946985\",\n \"21455419257062054091756132953257735533454553829202779459472434429157416782907\"\n ],\n \"9910225225116237154745470436910468298084007942070030814640109368624616358007\": [\n \"4000668958442784151659536765938509666583092438154157910790204471767632726374\",\n \"0\"\n ],\n \"5692926985238196626904583053765330123781716728903360026252140615395208524536\": [\n \"9910225225116237154745470436910468298084007942070030814640109368624616358007\",\n \"0\"\n ],\n \"14501197909636725421899061330218175241447639108724290079216695557857177617525\": [\n \"11427704799973444024124668692842951474821837396261326851789804362361911050835\",\n \"1\",\n \"1\"\n ],\n \"11983940998365552985483149114296602454833046112055704303724223420745649810804\": [\n \"2397804094042160093876234963497734834822794776553115327723900514810552221184\",\n \"1\",\n \"1\"\n ],\n \"7066176088933194891132195652223909049404613294867842602145095587388816795700\": [\n \"6420597331051395879999166971870994923333191350637170423015511056364058358215\",\n \"1\",\n \"1\"\n ],\n \"19838010942011600649912913799008011659486795560538424643360935951307483862857\": [\n \"17287788716257346388802228546121488758503898931668166030681202255091581979178\",\n \"1\",\n \"1\"\n ],\n \"6573536743942836900599025149156239598178300558956787899761473214291663740904\": [\n \"5824987120050725775266585148563330499158492138297894830361653313277042439865\",\n \"1\",\n \"1\"\n ],\n \"480151535439077850951175073616131503908418026761966808281099331111967698231\": [\n \"135402141738542955804527627063145383505237993219940847149023844360301791237\",\n \"1\",\n \"1\"\n ],\n \"125088870409932022073313697308584397458505488256917480798054611261637877562\": [\n \"4151316628203514788153637106210742377567440277450473666926317888863286091742\",\n \"1\",\n \"1\"\n ],\n \"12060579642215962126012180532211237847495914858720271590181547563466796658879\": [\n \"19237431706414824762876777048038820414377824908282582178009107751636766477759\",\n \"1\",\n \"1\"\n ],\n \"14540213107341420192096384037012425699166667214826350266000596483892631839021\": [\n \"18607328064531815491578027381564342467114735952276827564836830932415533591413\",\n \"1\",\n \"1\"\n ],\n \"3863241237276905227950457903046221673678748287339770061600065505465626187994\": [\n \"20234676215660686106347797490611567775735021405701421508586508222071793781312\",\n \"1\",\n \"1\"\n ],\n \"323153698441231903471800389244751078039924698881348217990097682230114478002\": [\n \"13298363072693897460029300031848453663998243300983943401014558814018659838783\",\n \"1\",\n \"1\"\n ],\n \"8268277212102887080841465048764494966654714148169563140039955337652787473820\": [\n \"18912120276375337976855292161841265670679576964023999536170309713707617736645\",\n \"1\",\n \"1\"\n ],\n \"9452328389512635498733258270481962384635486653477234257525130356869147022973\": [\n \"10772605256031562826745464646921851240830105494752312895533278888382710874056\",\n \"1\",\n \"1\"\n ],\n \"20289531522175691871345062849455523574263137518827961201006236844483183087614\": [\n \"9648398960755969877376267416626327975810653370575507728792701128068335816046\",\n \"1\",\n \"1\"\n ],\n \"12415472245130429902422223082206203220937897882760928606538773727998886273286\": [\n \"14062911510491793023567097225802276635932421320724317270136465229773939511134\",\n \"1\",\n \"1\"\n ],\n \"6263139497565896389989221118000919988100280687074407018874424463297402689777\": [\n \"17076262521900865351336293253009704866043262344823375002893267557960834363893\",\n \"1\",\n \"1\"\n ],\n \"5214721548678359462757112596750012439471100034533794113740368839529829914776\": [\n \"4185539276399977156090925225364125564828945036276339939415462341288845418298\",\n \"1\",\n \"1\"\n ],\n \"13549232568213181075935081815144577021419420357194049922739434825340113304790\": [\n \"5214721548678359462757112596750012439471100034533794113740368839529829914776\",\n \"1120368624529672137864568814534267374532830076962004296957567493678524110897\"\n ],\n \"19919110070212326835865963165497269663314424106061880829519367065493755346814\": [\n \"14426685859932178131609220846941741227040220477180947146944003157761911539327\",\n \"1\",\n \"1\"\n ],\n \"16634202426865919083778213488105297144622428164646174089971362796324334891239\": [\n \"2691232334203626696713664187472438449570144626596954101911009211777007152699\",\n \"1\",\n \"1\"\n ],\n \"3474336674260485835959987087189798124441119362919667462180242517120849024625\": [\n \"453564898880865116662966816131225231987415699085194726386747505537828305735\",\n \"1\",\n \"1\"\n ],\n \"8364251921908854146205228924862603019472062690264357837360461431445123168719\": [\n \"4266421192320068179249235560615663435743444567689173408152977907389378074500\",\n \"3474336674260485835959987087189798124441119362919667462180242517120849024625\"\n ],\n \"474616858986684762818416738875539341547512955378688096105031906765035828322\": [\n \"18850513370356623019146853768004567323741279800494014456692075074274884828598\",\n \"1\",\n \"1\"\n ],\n \"14043069163163216947500402205088016252964514744528658983784361719026158131443\": [\n \"20395532475771743998208386908228965296221046554623382676255934440361393636185\",\n \"1\",\n \"1\"\n ],\n \"5570907071543108988614060558851974508674121266885935631131739967491120458516\": [\n \"7734789574351878792785631664631682538557898610333125795635755423627167418588\",\n \"1\",\n \"1\"\n ],\n \"12999353450119386675472526634034392286599823113108802823412216045953386603280\": [\n \"16989915206297856582446242944797564161402161926001139450570981047718647180852\",\n \"1\",\n \"1\"\n ],\n \"15416360872042579947739934254907734790494751570597796336241045067398323167780\": [\n \"7106123801591093723153653675768464196973249849162205328355073835843769199343\",\n \"1\",\n \"1\"\n ],\n \"10835636502456982546616903929981805004139388103836546470584425269564733416398\": [\n \"3166377941786056239679585977606738274176558419724134833034550424897712419330\",\n \"1\",\n \"1\"\n ],\n \"392861249853433212785628421579765198462731188357576116826386258267584253882\": [\n \"9393112921017693475905440853295619579234391545666769643385480705407538493442\",\n \"1\",\n \"1\"\n ],\n \"4119061853536749248657211008457951230300622107483488847817573910376429602748\": [\n \"21014775600551508794897558449184638813066283084104745253441194669076215000976\",\n \"1\",\n \"1\"\n ],\n \"7090391898806507304970855882984283748167615966562968503866769967155929979322\": [\n \"21067989524872149377232436330279643961403324773999441684538896094523367904105\",\n \"1\",\n \"1\"\n ],\n \"12347190284320482669453190468354472657862136180752358457850531466526884049278\": [\n \"17434093058510205141759568897573258162443982090489230865449627951857632183580\",\n \"1\",\n \"1\"\n ],\n \"18334996199026676384734847214346520662853094197014810350586120932634727239439\": [\n \"12460531971989599216361370870583607708702203841633977689610309314560028781885\",\n \"1\",\n \"1\"\n ],\n \"19014603162291420185435644652496416741539400848257957601199633871347814081820\": [\n \"21405044940059295343480650671569461381086079538887536724642907202190348842357\",\n \"1\",\n \"1\"\n ],\n \"19625918717592850587146143737451785505239045395287565835790815046772142796377\": [\n \"1616846426363659154723068872533268956869586104424493382138708697360964693219\",\n \"1\",\n \"1\"\n ],\n \"3116712077526927622949398734634194378806635539289854829736564941486532127916\": [\n \"7442987855233124124746916055582655947259525531993592024230243618238839224923\",\n \"1\",\n \"1\"\n ],\n \"7764625090955731400084911155993005214907549082710351795186501004887642776539\": [\n \"7612422861607950290767614846556038190470943397714841786388781146358843795495\",\n \"1\",\n \"1\"\n ],\n \"19709845578173218063133068032582201549106074542845965591344745157485466367785\": [\n \"6360388616425597287468605760100999508807826624946389382563852391311338560431\",\n \"1\",\n \"1\"\n ],\n \"17424601047602916679956875224572209786444335572866136658152343255689551850320\": [\n \"222584601094534864854533773236483845901411460564225307307736875271350024959\",\n \"1\",\n \"1\"\n ],\n \"3287509887134965429837048985977808519086964104354720251512887764192928245291\": [\n \"5294068034777882315313522577953658755996673479265353275451692603817837908561\",\n \"1\",\n \"1\"\n ],\n \"6164506614209723123794341417531722291998842464317493598336447220493939570551\": [\n \"21453183052099862661480024880412713748597407710046462133033293346960402158928\",\n \"1\",\n \"1\"\n ],\n \"2406911289315958105626138492174462421896100098837934715705635960316841200518\": [\n \"16620240118992800464412670742395107608862731241677932441147114325149960637316\",\n \"1\",\n \"1\"\n ],\n \"14479334960157143270325127613986000383200295636579722236464833229835351793373\": [\n \"2327958106838759762174297153076285714302912933337533100395546013188667279546\",\n \"1\",\n \"1\"\n ],\n \"2164382837001071275289900477737678599283878174677228100400077893303458480247\": [\n \"7999291956519159894539586947870276777984262326316556823108867616813227302811\",\n \"1\",\n \"1\"\n ],\n \"21670244110176994284211045472674640267375205646084433209795367962804320968896\": [\n \"9591375032243266075248360762381806655583734852578721705440683134405859810622\",\n \"1\",\n \"1\"\n ],\n \"10696972412301672969424555573370390782968978720654128194729615102031357110407\": [\n \"7773984469221646948428503177392417836179045168926909814951756915379857605094\",\n \"1\",\n \"1\"\n ],\n \"15363720420770495736935249056788734477846535425415996204312826378368020857536\": [\n \"18829540780092213868133647063476762656575032966815403376899888058111195309212\",\n \"1\",\n \"1\"\n ],\n \"2972091708381512335074898077657539654666560616753585727187676805172350730358\": [\n \"21681399110573387050099318468084620628044991197389044793294295182427112302512\",\n \"1\",\n \"1\"\n ],\n \"7745351018348585260377521453120736573546165292829711285396916372611067587842\": [\n \"5405350605781951190633024364022194054020733964354636072176946656857605181214\",\n \"1\",\n \"1\"\n ],\n \"10447002505137113953941660168862615190411278522717550491654383268413933211608\": [\n \"7745351018348585260377521453120736573546165292829711285396916372611067587842\",\n \"17617228443993554611517622689733386671449731608248107912861571583602938300124\"\n ],\n \"6156492769174375554097837225031069628417827733971333160582414906786684214315\": [\n \"6205892960799674243343870088261802567443592075739441713780040383356403504087\",\n \"1\",\n \"1\"\n ],\n \"21685355416889102672612480410657744517020334595947475506625745780963248380632\": [\n \"13881007345002046510013615298243395602126076844593560177297289756452906085141\",\n \"1\",\n \"1\"\n ],\n \"12409242352399828122954751075689672631101857736908319104675339469816836029230\": [\n \"136517299298728359952653620001890729072437305008969934207697074021700312087\",\n \"1\",\n \"1\"\n ],\n \"9033615043295686937346787395739811260585579750756361834416928917802962658802\": [\n \"5653944409643454724256307784623365017051974863944167894396184797575532268809\",\n \"1\",\n \"1\"\n ],\n \"10420205285517922706608986985210515508992993257040173332956447892809359257926\": [\n \"19223220751816888634409722185023466689777940850693873183524383890338424757323\",\n \"1\",\n \"1\"\n ],\n \"4199304168863893615073159862246251766536313642815860054835225109257872238106\": [\n \"1439450981951026519787716178282328937466904120363132612921074790241729881399\",\n \"1\",\n \"1\"\n ],\n \"790548323487996338135389060397879858131555938945301253554012412339299429007\": [\n \"17353805297112115892110264032600675731681311018084357014766241321795893690077\",\n \"1\",\n \"1\"\n ],\n \"10853836649511245529436100261120773849512432441952748104759012851536581529973\": [\n \"16728393788470538751575938812364309769418989447079785694586941762318671196011\",\n \"1\",\n \"1\"\n ],\n \"3181013320382474232209414719395092046904859680673969301377144094500323097618\": [\n \"14203674038619028135309135626078135772774960640465805100709844975237679346718\",\n \"1\",\n \"1\"\n ],\n \"10542369020151564853868771214091997083726978535530464578124327524760249482714\": [\n \"19675220515046827541955534367690927259583292380523189905236247864478096560589\",\n \"1\",\n \"1\"\n ],\n \"17416775136679530715884217880172165213011818973264997029583474337934105882740\": [\n \"6717200808060401117015093812875549925705688914277403644776954662997336064654\",\n \"1\",\n \"1\"\n ],\n \"15873031525191108206373982573941903188293125559298996555524810415056939266868\": [\n \"3667343813983921449979668617995116145753446310427044138076019241008855167790\",\n \"1\",\n \"1\"\n ],\n \"3851700537415252701441483722740055604195855678243887467144217651728097670045\": [\n \"20898778648668292462577179613426880462190901570861446098605183906637536994751\",\n \"1\",\n \"1\"\n ],\n \"16122087426077425315189443245679530037615284403869999171800566928800376633281\": [\n \"3851700537415252701441483722740055604195855678243887467144217651728097670045\",\n \"20493785774027905002790614666525814281839488598618228610160371387164247931192\"\n ],\n \"10100816455855511805344006721013748916329274471975911553275335227263221108242\": [\n \"0\",\n \"16122087426077425315189443245679530037615284403869999171800566928800376633281\"\n ],\n \"240117629853081319737934203042809846548939174868018457478001901781322665398\": [\n \"10100816455855511805344006721013748916329274471975911553275335227263221108242\",\n \"0\"\n ],\n \"17820860150854505264168537870900256899160761528620228046108043613118034215567\": [\n \"0\",\n \"240117629853081319737934203042809846548939174868018457478001901781322665398\"\n ],\n \"4413453408734939293559933848369091719672958245029091967758773526173653043804\": [\n \"18612639745575250268623649894725906005170886440149278215797209821123829523985\",\n \"1\",\n \"1\"\n ],\n \"11923215531128690717027850288765140063406319503732871645776810854926185244221\": [\n \"16416664181944274367068641430712474213649404239818411313324089538412494858764\",\n \"1\",\n \"1\"\n ],\n \"1413415829948775165202302478476580588095351081978552591109507213803741630846\": [\n \"1263081207713277824509242782357503327192503780800411419455837203838163419233\",\n \"1\",\n \"1\"\n ],\n \"19114439481434616204052535693070423595831305165760295393187962849351206142275\": [\n \"3769127076141504533444064532562916006292388371516967831087552798503154538979\",\n \"1\",\n \"1\"\n ],\n \"7885423357177837076813851713593304074688799126001999619723358599413590383669\": [\n \"16414327619153292267740522883371633209072935059029156043657071593012896459593\",\n \"1\",\n \"1\"\n ],\n \"5557938757601363803065493490327215229333973179992804234976378128173988878149\": [\n \"11719361303195676004159980320539946997158875159087756598056832152213079932543\",\n \"1\",\n \"1\"\n ],\n \"19375212038696516525713957875295993634583123083826807977960832541619595769368\": [\n \"17486438193779818910919383768928261005668301318007838222253613681546049391259\",\n \"1\",\n \"1\"\n ],\n \"12497113890134648163135020795322090268749056249026965555609888266045084778621\": [\n \"7433711410677106553215547241990194714046270540648527196708610168033754427723\",\n \"1\",\n \"1\"\n ],\n \"9406741346741536954763015782155959707434325998646321830691079656499409517473\": [\n \"21266848929650215755833050413415342721096384144234605157688304045137511968735\",\n \"1\",\n \"1\"\n ],\n \"18662934782604354585194185288702414516059373771103616483129866638518182935189\": [\n \"6762176703088552277043330308125195153740044473615304941008195682481673642988\",\n \"1\",\n \"1\"\n ],\n \"13726440510188915971878008970355470692433080750370197053832539853173386071594\": [\n \"21428215018772562295214381839660635630208192660820600506499277860250534624086\",\n \"1\",\n \"1\"\n ],\n \"84669296690755682608016076399876777038341490975286016586414707427983518529\": [\n \"14419416362771986796081416110089777394540654386407373347832070276283553195665\",\n \"1\",\n \"1\"\n ],\n \"2591488730656146856318624071467318773934611237132366687111709618176551973513\": [\n \"9307459041213699712524195919925167511392551578474175149090593178691101455437\",\n \"1\",\n \"1\"\n ],\n \"1058319747993786344601851218474781810269228942021833657833727055323438170975\": [\n \"10059084091959889413321486510042605193667238349339968922552008378624591763552\",\n \"1\",\n \"1\"\n ],\n \"20116480008113137072851808877521697050135736444501693554612150043355289558737\": [\n \"1489699838767256855852775089460483569461152009369941161041876646615353811911\",\n \"1\",\n \"1\"\n ],\n \"12499652141722835174954574915797898327036086326388726897325291388410892923351\": [\n \"2812252483423770315352254074892830154026666232550352463867032741570516164506\",\n \"1\",\n \"1\"\n ],\n \"17026540128425348314029096923880894155447515535951159708270080519196613705026\": [\n \"2011254108138868891546533347589003014016503709136918925791017284624481653018\",\n \"1\",\n \"1\"\n ],\n \"8111741410741538168873330309497189467251292717272474538028402838046305746240\": [\n \"17026540128425348314029096923880894155447515535951159708270080519196613705026\",\n \"14277148621001393475534489419131820567796858112771261316554483654044642208258\"\n ],\n \"16721272521873579405454855707713362152883636157058322838179957913589198596966\": [\n \"0\",\n \"8111741410741538168873330309497189467251292717272474538028402838046305746240\"\n ],\n \"13444438421297371570389407132501212766390992242841228093127271408449111587490\": [\n \"16721272521873579405454855707713362152883636157058322838179957913589198596966\",\n \"0\"\n ],\n \"16395255205531361153880729346355607528338865089613142071435672262058070640537\": [\n \"11521257122802748804791872243434489960234336588776629812024022980209664567792\",\n \"1\",\n \"1\"\n ],\n \"2763548640485835386562059302106506310933828786092788407986016600658336591343\": [\n \"1235077681901686979364921666093745192795278290662500127084506857782532559099\",\n \"1\",\n \"1\"\n ],\n \"21094951606842967228067975695919096553095735969133387439584691568967886951648\": [\n \"18993572418316094945838988094126685744882571032843594665752695840159962621021\",\n \"1\",\n \"1\"\n ],\n \"12202834995725466140385653844296592842702094485267490993551799024381807275828\": [\n \"19283141833707114895918988024400730914287402505578429477695344286943969944925\",\n \"1\",\n \"1\"\n ],\n \"7134689695176734107247277044844345785362093372145212284008143386740884498066\": [\n \"9975938861117072934088527801006230295549159654603991769007357164013198460814\",\n \"1\",\n \"1\"\n ],\n \"12384437986526675410442286797197167588519322258673527150383810919077747654183\": [\n \"9661994558119554176737218297418659589212252282804044671414155948983791244008\",\n \"1\",\n \"1\"\n ],\n \"15992816798159652779352179510211412688981888375788496530480937546035087809715\": [\n \"8962153231200663540331806386683269519136393079193178648782334054759529207786\",\n \"1\",\n \"1\"\n ],\n \"18387646950388941865058131160139878910548606224285897179260271312085745020451\": [\n \"3406182643466083746889149431093895956079064016884948471629925297089943896002\",\n \"1\",\n \"1\"\n ],\n \"3613746352169874471289506025406623047392742813238968349442336301241135830167\": [\n \"4606950772014418678632322059592534194644828238291515253425294865428854012777\",\n \"1\",\n \"1\"\n ],\n \"19962008157948207959363955197106966212059112563598534077214884548030756496880\": [\n \"5907988912632730492675611329222744444157651914496491067450049452467507833486\",\n \"1\",\n \"1\"\n ],\n \"2466632448308732525996251006706590091866985201970730007857859375476289936482\": [\n \"3092909176846452655976849667486230512677366571571130171865979667865079767793\",\n \"1\",\n \"1\"\n ],\n \"7218882978321213330703244054836012292474702377678445052238373572694891425520\": [\n \"18459154064884137897984718498695400319299467133640830415339752385500963073275\",\n \"1\",\n \"1\"\n ],\n \"6013662489165587443855236983125947896051137784821007555741168643854683368223\": [\n \"1836280969204276222190637506379882835344861532511201219361165668535190393137\",\n \"1\",\n \"1\"\n ],\n \"7761906481207925985197779249494065791205087754220153123702069222246559442995\": [\n \"11834892021779678937711834406227542351478482267812653774186525080219388631736\",\n \"1\",\n \"1\"\n ],\n \"16507106475892045695556442674828439112031870746797933717534815417184652580604\": [\n \"5558861589812188911423051964795980340737354950728995215396653467511910523264\",\n \"1\",\n \"1\"\n ],\n \"12328822331703872316555757048932373249059303425039334635757807444168613518380\": [\n \"18851632914183169422129312223689332942812209072084452016519037262227059867670\",\n \"1\",\n \"1\"\n ],\n \"18407085374458236405649302414728173086713167263506033769720835005715792000138\": [\n \"9880337956378669970731029650207096461479340580531593841796792175301920545855\",\n \"1\",\n \"1\"\n ],\n \"19437157248337971856074379504528256164207934511041157679112571754356986773623\": [\n \"5515186801341401610222087450648956011138749753445085757915197716543406055222\",\n \"1\",\n \"1\"\n ],\n \"8942587108511666789157318792169336298185725558703321473967438143727186229322\": [\n \"19437157248337971856074379504528256164207934511041157679112571754356986773623\",\n \"12093884147146538419011911231161222849068501425181457091632893608508397090431\"\n ],\n \"457970091600595052876934775747142842144714832532319522204971929518718233970\": [\n \"12018442747327818736685196363299885058535180325787658852519732413726066258214\",\n \"1\",\n \"1\"\n ],\n \"1450057140681369739270745568951812847746776661777417468844684284420035545210\": [\n \"7166195085283519901213499589992784149253621239879311611659908517119308217307\",\n \"1\",\n \"1\"\n ],\n \"16752698446946849579796962254102470332348648184590354774427228989181216985856\": [\n \"18358440009571236293287923890289156308430677568421038020035081776921604463298\",\n \"1\",\n \"1\"\n ],\n \"16099320572238358339185337583008622327204443732731398088023596814916098606451\": [\n \"10469043088009876970214276937304158413811921117999727245812142222495458318472\",\n \"1\",\n \"1\"\n ],\n \"9699076281977691772629177397721401661018268695674334219134683361580759641965\": [\n \"18104260522237586257762725561978642182015461404394663151818670476297523380628\",\n \"1\",\n \"1\"\n ],\n \"17435609716370224971221490916564966584953364986957101822746643884439029726165\": [\n \"9699076281977691772629177397721401661018268695674334219134683361580759641965\",\n \"7623230001067673490275565453863624381244924219012352879441267815612794423854\"\n ],\n \"13461422036169673029945752275335191591751953101794229987012367659998381386021\": [\n \"13322512862345858947815239418464314745442581128363247413192651706236969226673\",\n \"1\",\n \"1\"\n ],\n \"6973433566130444755489535596619294801085113316037885762241390124627480398780\": [\n \"5612705166945812252751762199390091609278721094153403766265464317632317382600\",\n \"1\",\n \"1\"\n ],\n \"5229864710853579067691905094807853701216228086448593944150467650831429718424\": [\n \"6973433566130444755489535596619294801085113316037885762241390124627480398780\",\n \"9452328389512635498733258270481962384635486653477234257525130356869147022973\"\n ],\n \"4424336028156980379795671288638866648031893405247070717219519588628080885238\": [\n \"2369419140574150908570183020606217046710267312563844620487319668709959615994\",\n \"1\",\n \"1\"\n ],\n \"19641685530877330143901534152856350080519235822234004345013405428269882379165\": [\n \"16728391210897603375574659196659780711395872262217513307511562421641574792563\",\n \"1\",\n \"1\"\n ],\n \"264607729930270383838045320114382795328148426194214440658807457655609514807\": [\n \"71984988815309794654428187297745411663646396692491392282002666082732138023\",\n \"1\",\n \"1\"\n ],\n \"9736083017712292941574271372526794364580978270692054064517561927314151650038\": [\n \"8292812760171017438150359612018309013179989107916894697294379968519862957366\",\n \"1\",\n \"1\"\n ],\n \"14141247329254619441737815277291711736833572261198869806938086932342358743758\": [\n \"20773156128650449644872798259289958236464034133688306388458305905054914642164\",\n \"9736083017712292941574271372526794364580978270692054064517561927314151650038\"\n ],\n \"17691773537019734820011018337225269748476008500185435131023803766187415127173\": [\n \"8454968969843063441001117967551651132305484954128041791353961267783341682365\",\n \"1\",\n \"1\"\n ],\n \"14637874986527525935426211888521348653771421067797291667622819292419634086734\": [\n \"21096128529730109646499320522582960796805238277616163071979463805207732302058\",\n \"1\",\n \"1\"\n ],\n \"9461694588588250816499497874830452582495145380629441639707937044162362258513\": [\n \"8593535743558485127341848489711093410731900073010673679288711493532460252764\",\n \"14637874986527525935426211888521348653771421067797291667622819292419634086734\"\n ],\n \"18974524415737098754806734366702902984676644295867858622914049066727417725118\": [\n \"0\",\n \"9461694588588250816499497874830452582495145380629441639707937044162362258513\"\n ],\n \"10133879478815781964964374360850050315573972721872733525039562410504965467180\": [\n \"19497919292856361362361983271191612525971351150940655484900335990016846834734\",\n \"1\",\n \"1\"\n ],\n \"15416617398305912663501635703572813188126915519556414055080791763965614174310\": [\n \"17121041271275359444822750243240261643558410494511916477087100675362321819022\",\n \"1\",\n \"1\"\n ],\n \"13573769420994820449254769590891227401716431598791376377780403501218122793105\": [\n \"21270617977627318863480250883064062903608506133501991288156012655872061774011\",\n \"15416617398305912663501635703572813188126915519556414055080791763965614174310\"\n ],\n \"4865347949116752514349202897727344680869672951707326218903682148588147667709\": [\n \"2798668749399844956576633768231212543460549282503561118433533475733498279754\",\n \"13573769420994820449254769590891227401716431598791376377780403501218122793105\"\n ],\n \"4170745480537702260224522404751387711371766316827754980994199019120425452567\": [\n \"4865347949116752514349202897727344680869672951707326218903682148588147667709\",\n \"0\"\n ],\n \"20994594157031221552935195522479230379521952934910441613631460966893111621680\": [\n \"4170745480537702260224522404751387711371766316827754980994199019120425452567\",\n \"0\"\n ],\n \"10680785088212978229301150170105039556018354524389990892616874489689991526042\": [\n \"9357694654208444642343197922126243948971499531789535898786163449915805136454\",\n \"1\",\n \"1\"\n ],\n \"15214032472858364882216758783682238374813543550944071831781137467066956492834\": [\n \"6937872059970265659558993920576523420739070051041884755147820047700957492040\",\n \"1\",\n \"1\"\n ],\n \"1148070910270672179278107543003796669126648146290898637038263053656773404866\": [\n \"15306146689371119728000007249410549207637558343600625558732806447606179124816\",\n \"1\",\n \"1\"\n ],\n \"17094436039598159677554198924025717697359593790837361075062234255426016133297\": [\n \"15916265505945289027703519436233744383037211617925770257410832469929000820544\",\n \"1\",\n \"1\"\n ],\n \"4843797697250505602557681555561082386859693792459213685063574302620281011359\": [\n \"13469249057646848046536830411560405788389978786433468550336195036383403983800\",\n \"1\",\n \"1\"\n ],\n \"20322111375389333610882639481476530558712964964185032734379757187496818862380\": [\n \"17509913764236404706274353499313110860423800096876250796815483331259865162974\",\n \"1\",\n \"1\"\n ],\n \"7016743355092307922517272653378695479562572753917925853662293575542473447488\": [\n \"12748916817492094352763739900276710569529594965050451663416309632706572164445\",\n \"1\",\n \"1\"\n ],\n \"19873901488487982385227093870450629076679709664924383147770703743525922068223\": [\n \"13995420400324392684344491618256390573397170991047237271782864167105461584546\",\n \"1\",\n \"1\"\n ],\n \"13239766603804507716370421515603251769691795562270483291756765127314942739417\": [\n \"19873901488487982385227093870450629076679709664924383147770703743525922068223\",\n \"6516201858685604143986095791437061132231824575606838555218983049553285617134\"\n ],\n \"13759926483915040853324925408004055274156838469471370014905841681816902660055\": [\n \"574810653911072092995271477552827449024010308212119164531745377682382271500\",\n \"1\",\n \"1\"\n ],\n \"9472294930801202991662490620522018323624336924757909488777693242291292872066\": [\n \"11631862885991007021884935220671981132259445467458436615751172812823813157052\",\n \"1\",\n \"1\"\n ],\n \"7879688653426072051269451981891196973856198717159330403478635801401031594200\": [\n \"19940010412329086458492145440465689536362269558824675003694497431373799108781\",\n \"1\",\n \"1\"\n ],\n \"5849991401915355787416401318287768629280802218162095246670879831273284148658\": [\n \"20779834347263420216015562233278491297199526489183747854786450390286224653263\",\n \"1\",\n \"1\"\n ],\n \"14307472736135424260013607733776773172769623921447769681341669452753140163817\": [\n \"8599611257062711897787952019831020951330501256336971427643652658721524403554\",\n \"1\",\n \"1\"\n ],\n \"5669263809673203432966044251945009735122841363180605089879359916853873965347\": [\n \"11629172385703914333783817624621569172247280029809318416063774035707947199869\",\n \"1\",\n \"1\"\n ],\n \"14448994631013416436199482451144262883126347105333879101662466508731269703455\": [\n \"3350005914773930095494310532259942631050048580953997529699157928440005930065\",\n \"1\",\n \"1\"\n ],\n \"2249919534320373977000945961379611878964590489220299965885653572782382540218\": [\n \"6046032619665218461565095226150956707530942705926195878138068687173307967584\",\n \"1\",\n \"1\"\n ],\n \"17739162283306470430791371298571313536186737471395238863296420656217160613760\": [\n \"10376483530791137917705985552579481982512835235933942036054292632284701501213\",\n \"1\",\n \"1\"\n ],\n \"13935859585918821437509493904412406241114396973674450631062476850133447703689\": [\n \"1430517800156944737407279462726155054008503021920105852910455448544199052016\",\n \"1\",\n \"1\"\n ],\n \"6255598039056876816339530544338588000622614389963957856645468642392111485054\": [\n \"13935859585918821437509493904412406241114396973674450631062476850133447703689\",\n \"6917513102963491537027301791340290954172950858411171367586809848690119067910\"\n ],\n \"3171557146263738323836660031521424660021271728795430067709691816842968907468\": [\n \"6255598039056876816339530544338588000622614389963957856645468642392111485054\",\n \"0\"\n ],\n \"1931876345686945134758968603303207604408514062186504633887882520795224912069\": [\n \"0\",\n \"3171557146263738323836660031521424660021271728795430067709691816842968907468\"\n ],\n \"16151177129202542903445631382908112289938560553580645055681087107160553489538\": [\n \"2205699596130997151563884555956570304723462105884668358325892311356786928094\",\n \"1\",\n \"1\"\n ],\n \"3736180125952164582083598206601060496783615008717318310660405764937695156472\": [\n \"1667227763175271152381116318939532322176874872254268866829007994696163475299\",\n \"1\",\n \"1\"\n ],\n \"19565456300273173932655130515333529483861709425477956155097208636610619242044\": [\n \"11640511649171167367765653839161024070757588336460739038100264388063255001277\",\n \"1\",\n \"1\"\n ],\n \"19210107558569309318053579329874361575269398305565765184704860275695170873055\": [\n \"11689460805316609669942186493486528357087404821623220613625695913419623462\",\n \"1\",\n \"1\"\n ],\n \"6886094854828478690173501135066508433178547714315980151291754267320688894249\": [\n \"8988999324041078403940334612324463159336082374966942039580009095616701293877\",\n \"1\",\n \"1\"\n ],\n \"1964310283123100819112289066785281278021355861437685965462140164163052197177\": [\n \"19957273075046277372594941132976781159848914080001848367179353468474803802150\",\n \"1\",\n \"1\"\n ],\n \"5301760607185328098319170369685808884214540335818046576567781555361467516941\": [\n \"18864617927276031093624002211309878284637299055726187307976272740870005253383\",\n \"1\",\n \"1\"\n ],\n \"11182398965674746175475701033533038724557228886441842344072591753213803589946\": [\n \"9214087932127313173120833632991493247119484504823454635825712708063400652666\",\n \"1\",\n \"1\"\n ],\n \"3553782074666239871386430419254056874717239517337313346466093124484045086259\": [\n \"1542058838275021835209047616512752872848050517281385069211709410459543768167\",\n \"1\",\n \"1\"\n ],\n \"1642797391641540258683241148195614535247416308375718772447270986660729795208\": [\n \"13965130019517306195336006640030150379010553810499076454034525958790693250324\",\n \"1\",\n \"1\"\n ],\n \"19237742232080006227543049082631483591234789325778232152734510057592928408687\": [\n \"19897558734898458789373378186487061378123033593843005615956196445670697121768\",\n \"1\",\n \"1\"\n ],\n \"5561779929906883350042845709839114360967248453289398634920859427366565169021\": [\n \"3251224519500710555424738891490493380806309337455523380592288332915131226786\",\n \"1\",\n \"1\"\n ],\n \"15862060967122432499029834879616443456499083613076085707854538017830436169772\": [\n \"5561779929906883350042845709839114360967248453289398634920859427366565169021\",\n \"1430569599122404311761264833822838371806320499369954816369924670284087760344\"\n ],\n \"9911547496263757492379941181657811172241102340938555376568237799317400491737\": [\n \"11478069767187301244079896767301961865942251611393381351529180603965425040921\",\n \"1\",\n \"1\"\n ],\n \"2416725476824747255843209773151190988836948797449040755337594992106731673472\": [\n \"12060935357620126426543486131230770413874191725887656441187127152989557206815\",\n \"1\",\n \"1\"\n ],\n \"205184746026426323612819025804744641646211272922469897470237004901634967144\": [\n \"7579231101092075002841593796839126678541080732357523683409250348043356196101\",\n \"1\",\n \"1\"\n ],\n \"15512898218633861570660700309897085473828822021516177581160202233960150612997\": [\n \"3237265025016149775137298648869242114401201405420526700514355068553673763578\",\n \"1\",\n \"1\"\n ],\n \"13862895446832993182180516813341282737000122770490054444428162403976141923095\": [\n \"7292524118351861777679256442646344407821391114450895719859604927800388653735\",\n \"1\",\n \"1\"\n ],\n \"19533356380001714090396437883529553908103941721161708259470397259583073625015\": [\n \"14639654049180056143238135574265970504923560238930660299943433731184529459569\",\n \"1\",\n \"1\"\n ],\n \"10326774112017240802373927089363231123401454890020077042998419725318476206351\": [\n \"7477121898064937525426171447785444221452818643332578432346158691913929970740\",\n \"1\",\n \"1\"\n ],\n \"11347419297768967569505972915786270981007143858685651850957780189212986498563\": [\n \"12946006460594192205449201588077970057278180714454116126441793443458718423692\",\n \"1\",\n \"1\"\n ],\n \"11332497341160045328239268290077920754653068912413469923663461512634072337483\": [\n \"15380015496719669038581877609612223942381270376534855609665397951943050772628\",\n \"1\",\n \"1\"\n ],\n \"16030593995853426602943212056372022298765099832966221371280416048063255103411\": [\n \"20213408600381137915626474882643845061439464020692615264658946577177206299504\",\n \"1\",\n \"1\"\n ],\n \"661503763983813511381193482981697825934558328724863999578026218339214449095\": [\n \"1287550551185665942386974175173585844976064500962331632658378244618736374838\",\n \"1\",\n \"1\"\n ],\n \"14163568731995181219515562888895128980376109967246065079671453032707604111950\": [\n \"9802295149396174719644340312995378742128703738141990405310878569427782556782\",\n \"1\",\n \"1\"\n ],\n \"3619588597388381195595822269891230298868315597620850205096984576371771384352\": [\n \"14163568731995181219515562888895128980376109967246065079671453032707604111950\",\n \"4845792041666804407236378225785594082207410692990186258734347966978177785165\"\n ],\n \"3066429643341078586500414118558390441489089762101590739429260392831838572864\": [\n \"0\",\n \"3619588597388381195595822269891230298868315597620850205096984576371771384352\"\n ],\n \"2534015970720411368003017974321444905451454896199320399062585386445627973834\": [\n \"1420994219532285405292658040337194385913603487392957336566058886218110269996\",\n \"1\",\n \"1\"\n ],\n \"7780358644071554035603856062032999991926687953036234763854963721655602825525\": [\n \"7030542819264572347825603707911279200979294014616950630472569597154360329362\",\n \"1\",\n \"1\"\n ],\n \"3952716968981556573830353635826943300824427272421975102225064351499125628140\": [\n \"19048109470288881001567261854286294801153597988618658246972355455604071306299\",\n \"1\",\n \"1\"\n ],\n \"11175533984698611960723069267635665915968420645179877258074169427168868197996\": [\n \"12024954224399774653186264140476058506221693083830949850285318856405428334249\",\n \"1\",\n \"1\"\n ],\n \"17406296226390106352306227151773122991746933301944222283775465247448442369689\": [\n \"21376219568750745641917060157540363808364404183423403808044277806594061546599\",\n \"1\",\n \"1\"\n ],\n \"18138160759901273041018087414799393198795628913957872448577737447408416078824\": [\n \"21386610808525186595378793388460244977082518441650424027018326227411201850555\",\n \"1\",\n \"1\"\n ],\n \"8333368240988100244344445078505069044651588104643694258973213204077999360371\": [\n \"16703221513635737442262832272095998827763444111259970633482145687402574479657\",\n \"1\",\n \"1\"\n ],\n \"1190813318134664676234582402138696747782855094278112207439351946171291632148\": [\n \"7129545253143453791360823268592825517062059115459747174295963692851103917073\",\n \"1\",\n \"1\"\n ],\n \"5229626833570814650645467232267183569875504187193066871444596523199709381827\": [\n \"7015626717049345670064802788484188898721041292537359396521998721273369698459\",\n \"1\",\n \"1\"\n ],\n \"11785943690661567320841244756348238868456379103102054563698413790001531878383\": [\n \"3639851516089213053507337413118516385565707859678461644303589538192402935647\",\n \"1\",\n \"1\"\n ],\n \"8352379151024042769527190451848753925631866524581568394942658778768805232326\": [\n \"2766512899339477938301180882670391582032714803192784963585774312304427309142\",\n \"1\",\n \"1\"\n ],\n \"6415529911947133625091463104777238556863865980581716340351923285749793792019\": [\n \"6828505484679610551678637762023745751011536927932251383524524689477035469533\",\n \"1\",\n \"1\"\n ],\n \"15687293328202262593399418417079507630542213218316884872579954142059467475178\": [\n \"3468556649116744099451867072769477733775334198024913624912017508191873541614\",\n \"1\",\n \"1\"\n ],\n \"10043973847633295940855984612084234939019706912301163571202371030039066043501\": [\n \"13762607103538377932358163050895662505129943086572045496684469580782827033588\",\n \"1\",\n \"1\"\n ],\n \"4077214920236304218059055077120333248006874825281152408263122592060312924441\": [\n \"10043973847633295940855984612084234939019706912301163571202371030039066043501\",\n \"12938783529150042645669412517197454553023969710869362987725828761557000386629\"\n ],\n \"2883246199760547213309882972925805341515138679215420375045264437573891402972\": [\n \"0\",\n \"4077214920236304218059055077120333248006874825281152408263122592060312924441\"\n ],\n \"1865137718143558811064616713676554155522716141763643522549246265424464747031\": [\n \"2883246199760547213309882972925805341515138679215420375045264437573891402972\",\n \"0\"\n ],\n \"18366329692447979638331230808728686391786845929227017320614150986647901499845\": [\n \"2770258749853965225544845717462480605881630468630060717070054860163710955172\",\n \"1\",\n \"1\"\n ],\n \"11300212748143200350963090432805261746113422897235139582161383582699038827169\": [\n \"17829215772093490193251245173546441529668005489461036445135961482856509158503\",\n \"1\",\n \"1\"\n ],\n \"20716360379682314197079672740447213860860116131215005995059697978841908067188\": [\n \"11300212748143200350963090432805261746113422897235139582161383582699038827169\",\n \"17406296226390106352306227151773122991746933301944222283775465247448442369689\"\n ],\n \"19095837320352041379341441707203101394569300049608091860226395196866572703232\": [\n \"20716360379682314197079672740447213860860116131215005995059697978841908067188\",\n \"0\"\n ],\n \"378865803914713297262791202653041914222312485968766388616806802477025555657\": [\n \"0\",\n \"19095837320352041379341441707203101394569300049608091860226395196866572703232\"\n ],\n \"6793520681065185291895638321275260856027926980331319395029991660913545069341\": [\n \"0\",\n \"378865803914713297262791202653041914222312485968766388616806802477025555657\"\n ],\n \"412982115228031364898547802589041182018338645888101042856959308185380798702\": [\n \"9156580938174715426406222947041541942830239128666977095760069204897180056310\",\n \"1\",\n \"1\"\n ],\n \"8674205391071828799602209330428819432206239804802232968971350387417488956684\": [\n \"15187076476935101966668947622859006491144260661616830020115856828629953857082\",\n \"1\",\n \"1\"\n ],\n \"19957376144702996195471388452997214918603886093276343757983922974958361746840\": [\n \"7173485892881155129581144711279248432042003096864268895345366838422591226510\",\n \"1\",\n \"1\"\n ],\n \"5451826717821709619354344019533680736319891166380133762907464973959026632041\": [\n \"17416775136679530715884217880172165213011818973264997029583474337934105882740\",\n \"19957376144702996195471388452997214918603886093276343757983922974958361746840\"\n ],\n \"21146007992130181911715849043036762043863733214446615745454031922818216936867\": [\n \"5451826717821709619354344019533680736319891166380133762907464973959026632041\",\n \"0\"\n ],\n \"3561718860394605114351427651093524958535837659156712100273786576183903561184\": [\n \"21146007992130181911715849043036762043863733214446615745454031922818216936867\",\n \"0\"\n ],\n \"3337796753385614806092500532193400389684394008893514583509049950099093265075\": [\n \"21244162374141180025728929692106700611005807141997048161602986165081425422921\",\n \"1\",\n \"1\"\n ],\n \"510588493327987208931777067828420932487401832106542588594822336396331085832\": [\n \"14134142800704435637918376744875856296937467717025215659072744148569944272037\",\n \"1\",\n \"1\"\n ],\n \"2550999446671689470551815974923404951204820634659829466615479029413317032982\": [\n \"16190095763967984987828189695279454906103048929336865759121077036689558572872\",\n \"1\",\n \"1\"\n ],\n \"17660559295873794671404834764330975983590953440747375422044765479223341290825\": [\n \"1698762398898504139080393095614521151474946683220259706099500848816844460405\",\n \"1\",\n \"1\"\n ],\n \"20002238522514031695399934564302186012593473932594845920053112801517470561078\": [\n \"13403452070854309245803271568033626065083958847758517378516245227633397485018\",\n \"1\",\n \"1\"\n ],\n \"8866030278686937028042422549260456118026252815031345746716963137116906462644\": [\n \"7441610084082454191260820911543467993451605715576393143482444642211404804711\",\n \"1\",\n \"1\"\n ],\n \"3195613241063343271849993658220149250256149456504657824213148838833930834873\": [\n \"9131744117634096511485432434852427007899783739201667314248777534728337904992\",\n \"1\",\n \"1\"\n ],\n \"9157024207850821431215447146362518651486131088884512499677971097301071175979\": [\n \"13695885143043778131006615312294420633333376974227664087256374631070226898545\",\n \"1\",\n \"1\"\n ],\n \"13026780397844776020010947465528356283476578881406695834945402363606611356896\": [\n \"11377146077450015960857818696034145301841186614379531862292963737017728434767\",\n \"1\",\n \"1\"\n ],\n \"10498928387893077970628535924179840775868980684482734217809171254286772379758\": [\n \"17761559257466522189666542435354732003780323486258159243791689973419865569953\",\n \"1\",\n \"1\"\n ],\n \"15688794624754714364212220989869144338402124145794243740162417786337769558577\": [\n \"19140400185160355136774387809921526247602173117958379644039380632884985495414\",\n \"1\",\n \"1\"\n ],\n \"13569849568103969665233034772495097505329943110104134252117551822063965437708\": [\n \"14337570988831056872875562580537005815572321247463740061792345345745833402848\",\n \"1\",\n \"1\"\n ],\n \"20407611571994271269787164070134506848390986244496488287870259847785214293315\": [\n \"13486634675279372346717409131857077692895658098826648433099885270438637234147\",\n \"1\",\n \"1\"\n ],\n \"11489461612507365694432786200792046312840193326623904134184125189218378788831\": [\n \"12400723171470444491963501957823369799981533664347617167405046190982117678009\",\n \"1\",\n \"1\"\n ],\n \"12905089077437223415336044230351445108286617452999414782488694821548777849487\": [\n \"6226990145138395371162066353956383511889976181574871054805089721950126368418\",\n \"1\",\n \"1\"\n ],\n \"9162632420234400572987861242822281719046596137979894879404477453259140641550\": [\n \"16334358080513243964272451569749299512161613984198499094441242682760416962172\",\n \"1\",\n \"1\"\n ],\n \"11427396638330775807433611371003295421521955187962396570355081939689104006262\": [\n \"9162632420234400572987861242822281719046596137979894879404477453259140641550\",\n \"1543771936194009775202736712125364878955923288854712194918225412004062362892\"\n ],\n \"12319382575641479824854509478649695073647843097394098225962492694592400253638\": [\n \"15771746803865768758294731231614353567321349624244704893806341259688145441111\",\n \"1\",\n \"1\"\n ],\n \"1056189025227374826587911127479307252127717625819920252076916376282082638013\": [\n \"14947837770787862337109805224020632537308398368530445087723560620779495969258\",\n \"1\",\n \"1\"\n ],\n \"16707272846547026775407991748409341906740478618743081553368873614160784998020\": [\n \"4632465866365317070732817112630584121228166559484184065334616981035182525370\",\n \"1\",\n \"1\"\n ],\n \"11185544032030423986282215352096688249653862622069560567795126637116614541189\": [\n \"17866203031124884144725623352763628766534430614225680530476544817583091966242\",\n \"1\",\n \"1\"\n ],\n \"7825419285869089338759299337189288369355899206982804517418565366416053604336\": [\n \"16830087361456379893720720081436842405320071419190144310909721001342597842634\",\n \"1\",\n \"1\"\n ],\n \"19756684844000727344957745788709155910604426951340751802886553842365310010241\": [\n \"7104429356941058722562058619983162905166570531983311914875514530131678402411\",\n \"1\",\n \"1\"\n ],\n \"6951736370462233227087613800348156046032879006641348059393609128422449867297\": [\n \"15712136971618372841195966213369330219051577112449010464544339863091204911707\",\n \"1\",\n \"1\"\n ],\n \"21047976208170484816133555576165315759176012488724691250933482046943953880265\": [\n \"21485818509235595357236902454679936127550125599107288290293180038139338114119\",\n \"1\",\n \"1\"\n ],\n \"7139473052968324529136139491162137194386566389623949125495031012490961236368\": [\n \"12028384216269120911453808453358976605034983526491248761473973215026107100266\",\n \"1\",\n \"1\"\n ],\n \"20037584918677297769921442810619279929028427195628302047483020480801477467446\": [\n \"222331632340398773767908105218481983262615960833152831829814611687881687758\",\n \"1\",\n \"1\"\n ],\n \"7104386947664234730462875978993481266922866285588774728427288339602524782585\": [\n \"2461053405073028430927381673692702524609279444521265641703518852069382684338\",\n \"1\",\n \"1\"\n ],\n \"14036397904376173672157028351788738443231231486519006994397039534828813991159\": [\n \"12877346186385556721643986033581971228768626704971909552686565402110803614782\",\n \"1\",\n \"1\"\n ],\n \"437542052332555898494939260664402752532420244122246073878147464176777680173\": [\n \"10530254348844879447752106340913592156338016983184680344044211299017740397004\",\n \"1\",\n \"1\"\n ],\n \"1081294214013839064666178053430244301661956412499813878779468280777773696903\": [\n \"20041975951006754674395936591058119919466006521700979766110214695869471317559\",\n \"1\",\n \"1\"\n ],\n \"12495576310117622248233903335068863576082373439030467278345436577987724063067\": [\n \"20059669661469815772586596109662637644644080911327464338504481246040113188659\",\n \"1\",\n \"1\"\n ],\n \"12108000438995732390077947952993388908802456953230287294677155175796861310694\": [\n \"5707145904713533987419142080104002558985354192110202621436888861695900298826\",\n \"1\",\n \"1\"\n ],\n \"19453610043013781398508464380276731596803923336186871503675747487555452314693\": [\n \"4309647785142701017788807264017314795862007601182734246650750076939428922526\",\n \"1\",\n \"1\"\n ],\n \"8694367231370210010197001553013533263889973533016912081752314557348174747305\": [\n \"2866156231213739217230074928504073462109552898747182971152435721293837288205\",\n \"1\",\n \"1\"\n ],\n \"5793747815285583478680431275634972413384716639639827315255402863506242523614\": [\n \"8694367231370210010197001553013533263889973533016912081752314557348174747305\",\n \"18761481191861246171828651633209911568623759471554545636193208268565724321633\"\n ],\n \"9824120024858655494106872924155210157657921555595512045658317260762134140638\": [\n \"17836021253629303629256689577356652509889367029130415692239209503875857580099\",\n \"1\",\n \"1\"\n ],\n \"15476499314552985241473481625889267681515895950601623992366190896169579001930\": [\n \"14228122117059236731956966270631686814000303321175528838621965322932673126426\",\n \"1\",\n \"1\"\n ],\n \"12461002382927600140972693911673458375171095698226922823612976101705053572207\": [\n \"1954374035543322398570414009845532372782383836079750436709056332130461915698\",\n \"1\",\n \"1\"\n ],\n \"19765806671893622747143419297203685926463031103139448329891492180617057193804\": [\n \"568755125125048091667495018362428504337671486945530709103954244916115930678\",\n \"1\",\n \"1\"\n ],\n \"20680450555303229037172227016843609734746707442652308635337636659525743794648\": [\n \"9693162692478541734157444260071514668626359452647143470242860970885487071618\",\n \"1\",\n \"1\"\n ],\n \"17905370989566603880814892107314507266609879345524015680814142356066212888779\": [\n \"20680450555303229037172227016843609734746707442652308635337636659525743794648\",\n \"1351678475560884901581409038441618185165803360446537297985539496559529862232\"\n ],\n \"12081814035348260383951579699612682456244390170798893165735945490122566934997\": [\n \"20585487015234414261516964270635900625388987418933386347867937354150613492744\",\n \"1\",\n \"1\"\n ],\n \"15062864459397580569782861361009685101694748240137095653510075713111284838172\": [\n \"1342527078414963586440942489131301477131681197020754472542511816399977599377\",\n \"1\",\n \"1\"\n ],\n \"11916919303313073392472672268703886770203200137328382562181445161823977826292\": [\n \"20104480629537820196348986183918804285236450609689585719255400604128342086264\",\n \"15062864459397580569782861361009685101694748240137095653510075713111284838172\"\n ],\n \"9312951487659006219139764917146360526633714394971994812089288460297973178200\": [\n \"11916919303313073392472672268703886770203200137328382562181445161823977826292\",\n \"0\"\n ],\n \"21697705901448640223985576873937527440585160365205248736874495913081132860247\": [\n \"9312951487659006219139764917146360526633714394971994812089288460297973178200\",\n \"0\"\n ],\n \"9146970141524170916906869292729755647220214458517204631189731676095225970288\": [\n \"0\",\n \"21697705901448640223985576873937527440585160365205248736874495913081132860247\"\n ],\n \"17638306810021826976560145362239848192847128346825793745705923294828427311145\": [\n \"9146970141524170916906869292729755647220214458517204631189731676095225970288\",\n \"0\"\n ],\n \"12864307937913178923295903053429222942428293703635154070390235514223689859596\": [\n \"4139963862023764167349191180027643090471562173391195895695764724188214971441\",\n \"1\",\n \"1\"\n ],\n \"552499421958141861721193092830143953084544098238800275734155372487410457533\": [\n \"5373576913035580115323893890963460584993678715739179307993249164717954728733\",\n \"12864307937913178923295903053429222942428293703635154070390235514223689859596\"\n ],\n \"14348065600689069003310462449694975621160103584845640399215442893823773284666\": [\n \"552499421958141861721193092830143953084544098238800275734155372487410457533\",\n \"0\"\n ],\n \"14962725864179509522001429922894568098360250322024997137952797529854264283483\": [\n \"6419272788993569276860105487055628194798391705761914301238304645918879609717\",\n \"1\",\n \"1\"\n ],\n \"2378430904915888119488828589587426632308389547295181875649288248986302894360\": [\n \"9193111072024416463913304418881156502140863653916971624317933599397691049776\",\n \"1\",\n \"1\"\n ],\n \"3986195253906117088906223933796154855592309674133664783220667196535608243189\": [\n \"3668791250568781563256394447777393715046740658792377841436220918535375804223\",\n \"1\",\n \"1\"\n ],\n \"21248610819302358277174356777524394343106870651424057600572461958237098019968\": [\n \"12248061235175708016414884933047945311460646271921959706870713582192825892446\",\n \"3986195253906117088906223933796154855592309674133664783220667196535608243189\"\n ],\n \"20346745619414094611259602231058016535913188592129284866362401390869862282492\": [\n \"0\",\n \"21248610819302358277174356777524394343106870651424057600572461958237098019968\"\n ],\n \"6733307101429958508798449037357464826996240535577214729592588462134875795119\": [\n \"20346745619414094611259602231058016535913188592129284866362401390869862282492\",\n \"0\"\n ],\n \"5549638041320859063279465990056330356968393768422096503965498327951035777574\": [\n \"9720043976728934435401000537633932861364001652723076422260907727580239498811\",\n \"1\",\n \"1\"\n ],\n \"21319335411029746542276985091369129475242712160515487883567222399540540386295\": [\n \"5549638041320859063279465990056330356968393768422096503965498327951035777574\",\n \"16634202426865919083778213488105297144622428164646174089971362796324334891239\"\n ],\n \"15901025499929305884308998597541236538560718198368264051195814064011023056243\": [\n \"17601305514810208912878020279650918502085003941949013524413849692585928526343\",\n \"1\",\n \"1\"\n ],\n \"19128831851231640484199423638018930739424394231095632477063550484199371482150\": [\n \"325353691676372351083681826574329994925710973632024882143756392117945342843\",\n \"1\",\n \"1\"\n ],\n \"17523656510468355272631006487940494729747312694075854584832966392535201516231\": [\n \"15000229128347767925365598160705337419603824763745625487362850673482433706340\",\n \"1\",\n \"1\"\n ],\n \"5823537011599600129081428226827509748737409592975853569388857549008239670374\": [\n \"18189560655206950928069605915909586062458970714837336198120550924962659183369\",\n \"1\",\n \"1\"\n ],\n \"20751890906108495554510556301902039317017861648629865292063672945279593792452\": [\n \"5823537011599600129081428226827509748737409592975853569388857549008239670374\",\n \"19954294000159315350630239484729186360364736651036371714089828491641531371010\"\n ],\n \"2033551616557220435345288572870741384676712294670491996988121706433850213183\": [\n \"2097083260083201586622579257933826679483659202419165167889369413419445106852\",\n \"1\",\n \"1\"\n ],\n \"973174268150683419226318021881551776015265410795732960191451927128231974033\": [\n \"8000083256875576867319304533028398528902820997183301105978371287024042998416\",\n \"1\",\n \"1\"\n ],\n \"9229723168735949285863793417062132552506320540188345814369955855058924828698\": [\n \"13208374366648089977261161152759607320476885967520166736333865946011706877206\",\n \"1\",\n \"1\"\n ],\n \"3044852202462649435342952568050946588024636168449536991667342579435010972960\": [\n \"6153486971293895570237821362105107098529392979323226185294241030373852052943\",\n \"1\",\n \"1\"\n ],\n \"19758990132465598106348073388801971390868432880086927569621489245366123529592\": [\n \"6668585267834830222321315035343539998012841728178238525414796038220970933982\",\n \"1\",\n \"1\"\n ],\n \"6130261708778513400268305411758191312747364061795704300750899343757704359485\": [\n \"2504106817781617108066031764340932239397137201627977822844810553109332623176\",\n \"1\",\n \"1\"\n ],\n \"21791407154146778410372541139291506404465558683109746942432876405505030629068\": [\n \"7099675950910689884806661369173760588382869075596054894210746141100360475279\",\n \"1\",\n \"1\"\n ],\n \"18925891283747332184307963948912296627731243655300986810448949535599236326580\": [\n \"768566438747292576497560599639168779508433721516713342153457590054554849457\",\n \"1\",\n \"1\"\n ],\n \"19718320719618445991889159578888367521296755595348111028465020494410036698075\": [\n \"3089909131929172547213425476477087629602912871834265508224573332214302861853\",\n \"1\",\n \"1\"\n ],\n \"9367300252082718622732931406657815784542155040013289316044277630239848739292\": [\n \"12910240031276327511976025696123857653564740928566306525265716843701657191460\",\n \"1\",\n \"1\"\n ],\n \"5909890153513495542021034535988174791854238770823670661458655029141271255876\": [\n \"16296580867406287982397812061608672137546092621195000565649872551758096860852\",\n \"1\",\n \"1\"\n ],\n \"5994628826721450333696791103073699732616597781342159269635118012843638465840\": [\n \"17694835731804232575144230369728697014663661327151951307665802481891640159019\",\n \"1\",\n \"1\"\n ],\n \"14812937444758040884316005944630146734241079742783545922125463451561546005919\": [\n \"5387921282046195570471640503646426285027421744797033510099696906564012606977\",\n \"1\",\n \"1\"\n ],\n \"18963809721840676391928549782790767925065436218310297043349883290511227279518\": [\n \"5960565666862829299921693160580860031934710910052413808795199219204672755708\",\n \"1\",\n \"1\"\n ],\n \"6254997310081342870123099397422830223932056185254887296513508694356445524062\": [\n \"14820671470243522566578771743363884482380194283811680128434051780008439795216\",\n \"1\",\n \"1\"\n ],\n \"14065932650130779360123614580452282369262496087603640387127354808189262444101\": [\n \"20711260135745430326928491389595194010424491428322748488044170966756566983166\",\n \"1\",\n \"1\"\n ],\n \"402166335732826295973280682576281945917778976881205715142173235104715501039\": [\n \"15523944527673445453668213768376756487814111530367390660754303500610621121178\",\n \"1\",\n \"1\"\n ],\n \"968976689581731318660130567742280361441273632712052396564757806724491080627\": [\n \"14156475653475942726458748202472184081581571665269482631699260773188486523494\",\n \"1\",\n \"1\"\n ],\n \"3535158912938845923373422134072735490855176922371108996038358434982489183202\": [\n \"15253324452455745783008337275947094859487701621842282771590558233860593327819\",\n \"1\",\n \"1\"\n ],\n \"8180403334441670957246831354309289727952317506867443876017471161074271611699\": [\n \"11729086230771143555632778500679983708093593297806185143586258774587753998698\",\n \"1\",\n \"1\"\n ],\n \"7994085607656187461341202390630603739374781787439909956850512516408980109405\": [\n \"6788550146084619674210325141512744104403335872255545587330943885002247043899\",\n \"1\",\n \"1\"\n ],\n \"7046160626638230631229964911029649069382912671228200594280436560063320543921\": [\n \"19563406820461888594463684604903727157267792034156362270390930605102902794325\",\n \"1\",\n \"1\"\n ],\n \"7131688795448665592198227256741018742049284072889264049435076142893103790509\": [\n \"19672984178487932077397476318366977955597668536448275226493925325965050120314\",\n \"1\",\n \"1\"\n ],\n \"18770682391079837710192353080509165806816235275125913600563152068154996386797\": [\n \"651062201323153171601685564555571761256805989709616224375348497901150873239\",\n \"1\",\n \"1\"\n ],\n \"574969760106132090655749319681355040920582077329809960757103375839764048634\": [\n \"11331993581373631073992497117495862490448482389327767753520139233263741463274\",\n \"1\",\n \"1\"\n ],\n \"2364438603089434871047377932742162610120786625991658735745379787394043035634\": [\n \"11703922083215842433794251614533072839309151047478652368669657239801885947114\",\n \"1\",\n \"1\"\n ],\n \"14843563140164062351939082282320770292399866108807309018206464759529817536405\": [\n \"10855131274619595610515523411524901573780390418218912558458716789566939261758\",\n \"1\",\n \"1\"\n ],\n \"20510473325533112504359286314809161133012484611309220460734260382223492135031\": [\n \"20105226715665241739223079318262848181715410422102949540693115091652042396784\",\n \"1\",\n \"1\"\n ],\n \"4018194780084208257395008099512754420413666344480893684910096063654945551085\": [\n \"11981844482360233553352600404916496264780016140373495296611936151412534119337\",\n \"1\",\n \"1\"\n ],\n \"11639935581144640508260245378081926989218757965982865579006086240835064379530\": [\n \"16583529808619238283947404231391187179837327100340474514438771663240176673066\",\n \"1\",\n \"1\"\n ],\n \"12294983065608200094406756022172858798451727126479031233841972538476459248969\": [\n \"19950030383264780811242230488423202241424053459708922002994497525277970310046\",\n \"1\",\n \"1\"\n ],\n \"21328686566996032290805041769708093781607788895708353393937643796078271841127\": [\n \"13068830814429294708683226384132370574841855400328018109593755283701597949756\",\n \"1\",\n \"1\"\n ],\n \"18860353271225774276159803681338838996630166193358789204155680292939104063683\": [\n \"1124486615870420998925629723350190483433276030676717179404204372397332326602\",\n \"1\",\n \"1\"\n ],\n \"2286279325542551263850087978893321463969427414241674095943454493211101171920\": [\n \"15861582482731552026072418990385122592023853622512769080788591142110236879287\",\n \"1\",\n \"1\"\n ],\n \"20712437380422565954528067540934711654392702730770548761889950209266438603733\": [\n \"4330980379561816505379460479972885841632393963966895351691298792295720790532\",\n \"1\",\n \"1\"\n ],\n \"585879392163275259041174909551845638040966974003973945548074071569020190693\": [\n \"21005694665535478740054294834592695343703676883817073705550718686848643233108\",\n \"20712437380422565954528067540934711654392702730770548761889950209266438603733\"\n ],\n \"17346068483706292028482039624020854010633458396542692291911071715995916367324\": [\n \"18540031062898292614068687425297993745171059588274835716837906350210242658665\",\n \"1\",\n \"1\"\n ],\n \"10376496790412431474681294799242838528476558683380069825645732104823935782739\": [\n \"13255848261991289974502691774058286541122566191827383058638226355197080734434\",\n \"1\",\n \"1\"\n ],\n \"19746527336824964208715539781974262435239515458603291371412064273625232309911\": [\n \"204905551644207556111079666738219584170948724126621751419442365795137050024\",\n \"1\",\n \"1\"\n ],\n \"17265796879111884264890592952281814450156506528388797901729094190055968530049\": [\n \"20150697202574274572201030069563552530044549615737731739689203710213142109945\",\n \"1\",\n \"1\"\n ],\n \"8881719298111996667523001947545338836962124914559732174708680324408226296232\": [\n \"17265796879111884264890592952281814450156506528388797901729094190055968530049\",\n \"18545141379224913259479241178059099860998600432226482195956954300320073254317\"\n ],\n \"6098183702138312656279289403182964440907516546391101546354403784469224115834\": [\n \"0\",\n \"8881719298111996667523001947545338836962124914559732174708680324408226296232\"\n ],\n \"14080419478354978595636803069532710517787200787560981681842598535552592186718\": [\n \"8800364064341665716428919065830398774643080533000859326598032071738564908527\",\n \"1\",\n \"1\"\n ],\n \"11581842744001938355989154481451926819587640964934457749397967963731157272889\": [\n \"10928506176572774133351008485642508947860574958231275170134391317226612976057\",\n \"1\",\n \"1\"\n ],\n \"10758924477065295154020892789288617198458630029920339699849931110326858226717\": [\n \"18295555945445362424368065298430336562715705396632543537274334747086026889151\",\n \"1\",\n \"1\"\n ],\n \"4258567547706396918544058684367041277969064237764156698765066401233023572160\": [\n \"7567090183192525659685067389653645478988438320025275214342111368108646920591\",\n \"1\",\n \"1\"\n ],\n \"5224107812455334584025485581688889609174316202617192222489031947391278328790\": [\n \"18085533354387910101473679073104891961079190383453544900807897357313318582791\",\n \"1\",\n \"1\"\n ],\n \"15116289083316332886716070574523922326177820781413675153634758421342070186496\": [\n \"15901025499929305884308998597541236538560718198368264051195814064011023056243\",\n \"5224107812455334584025485581688889609174316202617192222489031947391278328790\"\n ],\n \"9634323179282055661529518282408019743022611412513878093286364639063409678089\": [\n \"18341860245606721846440136306730862024738301599361807271554129276580746771299\",\n \"1\",\n \"1\"\n ],\n \"9451631034841813276237180049722359789151741647683520180416113440856772251698\": [\n \"21693313378817664628001467626194064685483475395496209309655742634514477425175\",\n \"9634323179282055661529518282408019743022611412513878093286364639063409678089\"\n ],\n \"2164058292261027478724847518077957681135397555245837567656431945155441555420\": [\n \"19377257397293579976678814896220128435099252824577993982543685824002953119737\",\n \"1\",\n \"1\"\n ],\n \"17074762920359259251293189683900999064814576727794930691107478731972750555388\": [\n \"16845324966621524334081925738381369905752324307861509668329368107766542527540\",\n \"1\",\n \"1\"\n ],\n \"12972673626012553989274827222282453544658482550001698693992496778953138144376\": [\n \"16034737801488062431980112254779034345209449777359252665336195872358690107169\",\n \"1\",\n \"1\"\n ],\n \"4731233566776015703552909187484998641697249571282270613760549413546607487344\": [\n \"1702978358317667934939226434366087905079013342212808585557173013677105048810\",\n \"1\",\n \"1\"\n ],\n \"106745861904980393592496803342457681041452273894386626267685686037914719830\": [\n \"19376345107239732532138453030182549388562986355475013235283188620439131447926\",\n \"1\",\n \"1\"\n ],\n \"14340377690612330216390699898766251610466848863662195502691222450906886495530\": [\n \"16278667859253241530666365290326172302562488704040892715749445127666766186151\",\n \"1\",\n \"1\"\n ],\n \"11658484328985702119689801034668442223346845355175215873393341923248503646736\": [\n \"14077187171507468689589693349429567295740054827258682079429537950346240067332\",\n \"1\",\n \"1\"\n ],\n \"12733821933986117141899442167500238395432896894005208797518254691743990905459\": [\n \"10129354623685837372462291743521794997978670485772161564034285033250726226283\",\n \"1\",\n \"1\"\n ],\n \"8526962087919062149383127146938219661158514662787930704982255164778075507957\": [\n \"12480109285513301340801233127157344669381917261928471667057720220222119538113\",\n \"1\",\n \"1\"\n ],\n \"15457745220773075326825082467452550315682385481346815070772186328726775121610\": [\n \"18647240452278431987109479757853262626222503241348226607062235229164865866577\",\n \"1\",\n \"1\"\n ],\n \"17737119250073607251792823056865894775235286199706738541713529840268903958687\": [\n \"21213951223201454957842299560637866339565072411112156069077461514226409568933\",\n \"1\",\n \"1\"\n ],\n \"20906637608186408176310264989303861794750495277604979677831533489366653695041\": [\n \"17737119250073607251792823056865894775235286199706738541713529840268903958687\",\n \"7898698703090794538036026989027765902780116816841357405039883932017202613078\"\n ],\n \"8071531697095494348319077747346223776021826830659950798716780639157019132997\": [\n \"20906637608186408176310264989303861794750495277604979677831533489366653695041\",\n \"0\"\n ],\n \"13265887231523782344443340725550785491052432297630246254609432974589205506409\": [\n \"0\",\n \"8071531697095494348319077747346223776021826830659950798716780639157019132997\"\n ],\n \"14167512876693646122595299001310329200956706387722960042551396818003633289994\": [\n \"0\",\n \"13265887231523782344443340725550785491052432297630246254609432974589205506409\"\n ],\n \"16373320125618344192635269962768608169647245380697522758408120888583299493666\": [\n \"0\",\n \"14167512876693646122595299001310329200956706387722960042551396818003633289994\"\n ],\n \"1125356081448794068143722145795994909449166496167497649159626265950339878261\": [\n \"18347848504857231297497888789375524378673549181013167910620998186680723136081\",\n \"1\",\n \"1\"\n ],\n \"17086600669547087426234637600082838266065273870041561063969329470554433043924\": [\n \"1125356081448794068143722145795994909449166496167497649159626265950339878261\",\n \"17627771979200978524835725038919560771057010228793222896736109541113023862243\"\n ],\n \"11320359901120104702884163374709238396243034760385794644576667408428395401231\": [\n \"0\",\n \"17086600669547087426234637600082838266065273870041561063969329470554433043924\"\n ],\n \"17927442493186594308225926766879488856600606983110090062318242995705416008619\": [\n \"21230396172886954847640943145978103283495885003631405879808710465261875291044\",\n \"1\",\n \"1\"\n ],\n \"17625699576875823493943656937968570945836746851434106132348817980836833050931\": [\n \"10765405820700729688198692030822345345740164457924060267868215912367562656793\",\n \"17927442493186594308225926766879488856600606983110090062318242995705416008619\"\n ],\n \"803484867042260590774732796459162275686220035977219522094227884297350052698\": [\n \"0\",\n \"17625699576875823493943656937968570945836746851434106132348817980836833050931\"\n ],\n \"2684223475827935093535528787675793635231660614514644015481222960036669050529\": [\n \"3755753925371919073321057666721191348446538243904505383193792397253780718184\",\n \"1\",\n \"1\"\n ],\n \"8420182996773812550990022980600110956170924525850020208912992000699467585130\": [\n \"13099855413075673351844446235662379270210755303022020659171603492735503064913\",\n \"1\",\n \"1\"\n ],\n \"6237666050804955351109305231916754435228755915598842084627686508836639694164\": [\n \"19353183995112326392748049616694034867485403943630419743471979312786184953752\",\n \"1\",\n \"1\"\n ],\n \"1850558905041921094943728632473024138983031668627642130033937291999507734280\": [\n \"19336513903627840361115314422987492766784871775433996357860355642671029996002\",\n \"1\",\n \"1\"\n ],\n \"17243101277453708373507755729526868158193838795002962794096480267343000519331\": [\n \"10275614374700842934468824849379434485797467264631431741402480796532660625129\",\n \"1\",\n \"1\"\n ],\n \"11384735594471678317683914173588777731759326494451071564303936564826660127845\": [\n \"8741334356417155207847378891202263359515008224532996363929293959664927380355\",\n \"1\",\n \"1\"\n ],\n \"2038680221825261093889463126778445844094297239817834992262031396314603161336\": [\n \"2714814580657212958149259377922452442361675008029057910526245680203655431020\",\n \"1\",\n \"1\"\n ],\n \"1592826366997563725268747827561333022505370297798276600891712759894679652530\": [\n \"14717041846032274302220439033691935098293270076353696230506995383747035835958\",\n \"1\",\n \"1\"\n ],\n \"7223377090570183789904772352246998896325340152981082708919651436829063158883\": [\n \"9340426926615666022725382525393653183964617615738129154559270115068456400945\",\n \"1\",\n \"1\"\n ],\n \"11958866837229004505794501669932943963935643563601841609557949869075660970740\": [\n \"15813659057938573382611028609239106529393768111965609118777301865055242356540\",\n \"1\",\n \"1\"\n ],\n \"5667579412274487202847981307317063708820523644795308374656604171751982773442\": [\n \"11247781399784366510964094765465663438421967228907230400123381546237786828805\",\n \"1\",\n \"1\"\n ],\n \"7552600539376381055200483372481054073824248453944813762855120286610712851456\": [\n \"12662919664721542893225051674966493353530747355926753009905071125032468033205\",\n \"5667579412274487202847981307317063708820523644795308374656604171751982773442\"\n ],\n \"4175349467785802307024432583439542015091786583054849091248707269611542970526\": [\n \"14466938903644869457116811168617751251948638592717567252971016706675755006752\",\n \"1\",\n \"1\"\n ],\n \"19661684673291028454715157021988911670848193777148863521311546478464275762276\": [\n \"4686073305414628432094619639546739246321567221387535733780795728954490234979\",\n \"1\",\n \"1\"\n ],\n \"1062595758817183093155279329122834333850456709043543003659686980686839299781\": [\n \"2014331948477211555427953976535887865786527637332832924694078234713661935708\",\n \"1\",\n \"1\"\n ],\n \"19795251529296145103083211557469015994923502412735716272081581696663156968344\": [\n \"8954157283940856320050902096401345607489299579226523370490768093958563628998\",\n \"1\",\n \"1\"\n ],\n \"15006108167160466000782270747403061870497392610826372167107039681053509953034\": [\n \"11979963938713472842081446613798960848990789684801589351603446230945533610034\",\n \"1\",\n \"1\"\n ],\n \"13575816320479934777630887327865746492406895197773524679820081878548012235140\": [\n \"8120645824233951247591132757860560586594023683827060732413651492643536415476\",\n \"1\",\n \"1\"\n ],\n \"16306483528874403579770012666153941739151102695905274608086201897345120640275\": [\n \"5492619894586811128973897985496008192152761847631697909665267510820413941016\",\n \"1\",\n \"1\"\n ],\n \"12870944562272381712515529458138280985302308584094412660324359827515560225913\": [\n \"531268327606703181535801976737597065474883611136329847002322644426184974764\",\n \"1\",\n \"1\"\n ],\n \"8463860451501487999939261971173462250386783414947559340589183695915007439145\": [\n \"2211957169661823001831860309528284700729285325795583447353494462505293729216\",\n \"1\",\n \"1\"\n ],\n \"1894262272813516515094162573704877309004253917643030401914477004383310620229\": [\n \"14838075868616902203775191134855002903068971107136295804143559506095071993290\",\n \"1\",\n \"1\"\n ],\n \"6618736273356986441725507934886628667931727150831036718536385122172037255417\": [\n \"21857593135554063049976675264710396069821038749871329104706215871597741009050\",\n \"1\",\n \"1\"\n ],\n \"10527332804888279216163344374619768776069131938074984108211103512062774519774\": [\n \"21144257315452409496601217838851264273650549311847094405276232253463280637608\",\n \"1\",\n \"1\"\n ],\n \"14389425069069667338176057121060623718399546824715281625397227707589875680629\": [\n \"3761291847868244429236116950503734518073480395115401598177146130504603563580\",\n \"1\",\n \"1\"\n ],\n \"8599852143746125657668828778377687707872071586877702748209105646099285954936\": [\n \"8594394113046347549536857428511694138272197594756125771854256775627957370752\",\n \"1\",\n \"1\"\n ],\n \"1365273235462926077701823098981919502667691508228053200772754222088785365843\": [\n \"4498313847288560330191040927946366487236559770737762618452087587969022606787\",\n \"1\",\n \"1\"\n ],\n \"7460634603912077058951104563797554333416979423630668662425226570852161669068\": [\n \"1250534967711290554312020070286964472731612917006860089937504481239018920997\",\n \"1\",\n \"1\"\n ],\n \"58521488311048176172829798069881700150000102701089707933757577632105803719\": [\n \"16414832062463566634621823416275362719710429409983016941552740435118213459017\",\n \"1\",\n \"1\"\n ],\n \"14361178082023506689410314394359261964017687183815439718902389642434323727739\": [\n \"17479794956919555779843732172664340173727857064322505549418461185439280509479\",\n \"1\",\n \"1\"\n ],\n \"14368329121577453764651160373247550321576082172748991178488031948262236881898\": [\n \"4727068418693897087582948566307587803998235903684297210631012771218072196792\",\n \"1\",\n \"1\"\n ],\n \"19950367298669295388856015741649079704287053992695735516100996213105658667959\": [\n \"7643540260629195742069519797832223357937005166088590398094984142259716088920\",\n \"1\",\n \"1\"\n ],\n \"4698444790475079716798403156767837751946362639934198266721429522023456736396\": [\n \"14737490458956405625464425489438759616276854919081359993367124989951701916112\",\n \"1\",\n \"1\"\n ],\n \"16124134549350686199142751151346231699182111066181382575374536844783092839186\": [\n \"10019316902876580176066529729727978845747982836435818236031726245929330144257\",\n \"1\",\n \"1\"\n ],\n \"11174134835766091853952510806904343847425373293421629896650950597082835406397\": [\n \"2549517672071114417471526215884275176086273541772021795082417503244231751205\",\n \"1\",\n \"1\"\n ],\n \"14779415355878311242875482914603171154634631243526758762129069757930869970234\": [\n \"11830317379075082285737135220214034254247711739139143522209649614170478935816\",\n \"1\",\n \"1\"\n ],\n \"12650326962764686335098373567420586569897587226320089381955622382696674843169\": [\n \"20072766047038557545168705251506538118262249060488938678809838758727779101587\",\n \"1\",\n \"1\"\n ],\n \"482002020656363419370210131823847978115945631545404568230387387771658096911\": [\n \"1403304116533259872248913184227685521047489361305532673726707274798977226917\",\n \"1\",\n \"1\"\n ],\n \"18063872231051888921704814808840074959262107156809481097999190381783907056788\": [\n \"4246493684155925201074163619304988820590907504096708320627725179766806082623\",\n \"1\",\n \"1\"\n ],\n \"5240676863588073870056877986872856272513425574150706524271481499747795021430\": [\n \"15547035359417269771575632759066303253036168493959795949119306333324691217402\",\n \"1\",\n \"1\"\n ],\n \"6290869123205113866407056599162187699963845690706397333486489332926998074210\": [\n \"15015461485575960648772278305321459643333713673315181842846702724751455044556\",\n \"1\",\n \"1\"\n ],\n \"3231585792993570562439588917543205925058350035668708697693748617071622396730\": [\n \"7938153579738623487419507283213576991935711652163356767987771191343378456046\",\n \"1\",\n \"1\"\n ],\n \"3061023862608201393142624181012295502691710467199652732489568614390701878259\": [\n \"13119596131343441083664781978374370351414761050886111636494070427983208250137\",\n \"1\",\n \"1\"\n ],\n \"14774660808421124424935339424928000188405167519316099074466999312194638437287\": [\n \"723859301051264594195931848202934495195451879044216159525441958608602218737\",\n \"1\",\n \"1\"\n ],\n \"6526945992027518501143023301757744661333178286814537917136984699793426293960\": [\n \"12525458305415244814137369410614411811285672744389740167270886022145056808604\",\n \"1\",\n \"1\"\n ],\n \"16001493734115635761204588496746950186227080961422138252051085854035779370313\": [\n \"5033132778071741790801257226514534523182731759522578345977533186302099370269\",\n \"1\",\n \"1\"\n ],\n \"18470244377334807180743369586130714189210624321426200861370686256883867717291\": [\n \"2714873807652524228556488246538318560227023930375880512282771650995079568409\",\n \"1\",\n \"1\"\n ],\n \"5398733050118332773525639254439651175995164259400594137873456037788333917208\": [\n \"8229337161164624595439788787117444879710916061246330684054902233184874947879\",\n \"1\",\n \"1\"\n ],\n \"1055957385854293304963854795306042500073324511096382703481497267097886908852\": [\n \"19330521182613512623596124153761125881689306921853591352069446940657904575530\",\n \"1\",\n \"1\"\n ],\n \"18628310389599590512622008041369266923277449347090992033879193979548590796835\": [\n \"7011235991994008502699962583825598041613722713396186194285828000146077346845\",\n \"1\",\n \"1\"\n ],\n \"16531678403759595033244208260496057555741338935873088402813321576427983352126\": [\n \"611601975545996601171274241993654917058283476803476467109726076170426261307\",\n \"1\",\n \"1\"\n ],\n \"21011608871477754504992153712187381459348517905803242178871862628394307399382\": [\n \"16579243014071034012126710898586430920458404158376066658198747521508873224465\",\n \"1\",\n \"1\"\n ],\n \"21075611063826983261632111398005833639693248659088962903285222808307262667027\": [\n \"21487897670165108099059186033712858024033433339605913701930582450168379508369\",\n \"1\",\n \"1\"\n ],\n \"5883262452919729890250008306540214216436537308404361410030828297199468102929\": [\n \"21075611063826983261632111398005833639693248659088962903285222808307262667027\",\n \"84669296690755682608016076399876777038341490975286016586414707427983518529\"\n ],\n \"6627809030876845441209305502238345648641319427052304749436303468845975189311\": [\n \"20577920439840851951314272335459832242904304322014838927729774771002848158231\",\n \"1\",\n \"1\"\n ],\n \"4152533636807212938777393919765459657798122806109072095080419463244948548768\": [\n \"8594758067139866868536090244303564468191576510834766530704648770383465731831\",\n \"1\",\n \"1\"\n ],\n \"6052139396836532893881763634254389657742251776154363710886339954918382581878\": [\n \"17158783057283953833687697031696250639594353020970028081139087409640424213481\",\n \"1\",\n \"1\"\n ],\n \"1006216082420507267188275644798770673543263641356327005066694465971897656658\": [\n \"7204283358243938962341524186162788889999148467756886094222716819384915425838\",\n \"1\",\n \"1\"\n ],\n \"1337172480282385512114639084914651363147831703190698012565006281600716096146\": [\n \"11482862661751019523909568861252886504779861906119424429114291566353807895784\",\n \"1\",\n \"1\"\n ],\n \"4691303267475501377212023494650911166854583347348666151732485086223758881033\": [\n \"3582023813818486703717798676705972229502745648101326417638234905827467461640\",\n \"1\",\n \"1\"\n ],\n \"16525040079306370592747263013344060129188141146681219763461204976833428826906\": [\n \"4691303267475501377212023494650911166854583347348666151732485086223758881033\",\n \"12081814035348260383951579699612682456244390170798893165735945490122566934997\"\n ],\n \"10785701761229832412972741025924708888229299101837398918922217017424476658089\": [\n \"16525040079306370592747263013344060129188141146681219763461204976833428826906\",\n \"0\"\n ],\n \"17043648850707015373156671579201955759778513699740536316108230447041492901174\": [\n \"15197417609381465023004697899755741076791823241689506667170932088279791322009\",\n \"1\",\n \"1\"\n ],\n \"5375093851813914770222618956083699420097287917854923917161460744959463953287\": [\n \"9275412809262898692550207177017915387782572482584271819140939145069794354939\",\n \"1\",\n \"1\"\n ],\n \"11572712663793910601567395694715101890390449884388644801142006751467344350752\": [\n \"12950987552230593103754668828869500847041102479589062536951306976519147484175\",\n \"1\",\n \"1\"\n ],\n \"982522806590294545143174909399467207859732862992035693257238123162791334063\": [\n \"10541353278579825935298711946957242578072427181830897118811317064645621338243\",\n \"11572712663793910601567395694715101890390449884388644801142006751467344350752\"\n ],\n \"8974688372129780384372420498769672406659239731231022338649723533110565269058\": [\n \"0\",\n \"982522806590294545143174909399467207859732862992035693257238123162791334063\"\n ],\n \"8605590786083786773066545031728282972857866223325400013696335160264766155615\": [\n \"0\",\n \"8974688372129780384372420498769672406659239731231022338649723533110565269058\"\n ],\n \"5884569778749971188711654328014078460803442707024008088221677477363433861014\": [\n \"18815839087869913918664560536411792837334730809651424175175971933584346353488\",\n \"1\",\n \"1\"\n ],\n \"13319962387142612048425458075600955862111677279390071063222531526139998701515\": [\n \"2755491309906384103829718706379249096039994384782404109593810710949539640882\",\n \"1\",\n \"1\"\n ],\n \"14458155995591164707984555191213190606122156526256870151780294152390160537502\": [\n \"19433984483916302482158195903244655366944473965768262050702208168043791196610\",\n \"1\",\n \"1\"\n ],\n \"8895678698152598031621227322381079692045560466494642781724861860522726950996\": [\n \"19077280762712880795050892436817667758534411877923698410733498462913985060033\",\n \"1\",\n \"1\"\n ],\n \"19519939565324513626170010361158442343608491625792117375187190495272497762755\": [\n \"9845562045997482437535522826863549186916651249420061700254543481822125201944\",\n \"1\",\n \"1\"\n ],\n \"19326570213674921220613666512626459399615544202047375822518583090823498357213\": [\n \"7361214461706595806385956249066743298118812748240706509915198778117135296917\",\n \"1\",\n \"1\"\n ],\n \"3413574936946404943063324687109279751840055054322953444237240738086416321076\": [\n \"17339535915171130734175320706039230692639179795063279194166337200154732731799\",\n \"1\",\n \"1\"\n ],\n \"1601718078944911317350117889912209667825304691588245267070310708948364214059\": [\n \"16388197518442217671174773440606477019287982489991537806597774362831944768664\",\n \"1\",\n \"1\"\n ],\n \"9468359753621457793378840382707951257152064630593429978888740212239786561687\": [\n \"4252930564952254336733339568815898413396868097363707970622430851394255211624\",\n \"1\",\n \"1\"\n ],\n \"3040488171526678948371979379257203376141717750925722622187176229279347790359\": [\n \"11786089536640596039056402878799639430667051559205517439275351248417762521799\",\n \"1\",\n \"1\"\n ],\n \"9123538745165140901831832721341349988719791344144045085041505214936827498010\": [\n \"8337916733231834512859380341418656690056615410761256090705402347571002844078\",\n \"1\",\n \"1\"\n ],\n \"18326622971983139056700694527890671472492838159459444505854160459632316541954\": [\n \"2001858143823767603191740099216455728233285468044797585345260468176810590526\",\n \"1\",\n \"1\"\n ],\n \"625361519961697742663830502178822401006611826262660707708664632906008727068\": [\n \"14974055126477741025659980191165896010846525965797287574319869686838649983782\",\n \"1\",\n \"1\"\n ],\n \"17116696667966099795610732178426867088256606713027455836716775712597225448099\": [\n \"20072153891736681815821901307935240226953459906925204458686325243980666562689\",\n \"1\",\n \"1\"\n ],\n \"12633317857955303918681778347146433892844613821897574159716250147478315755335\": [\n \"12286932645936498586453909684417260833850356574458031660865478037094976656289\",\n \"1\",\n \"1\"\n ],\n \"5307366384011744032230969679954520149221613623619532484309805434455656328838\": [\n \"6624640831066367367329063331049611126387601249052958091192095546509924851217\",\n \"1\",\n \"1\"\n ],\n \"21366508807077351750102964114286489533783681074794174913692866440206347070602\": [\n \"4700435138999731748504619181770719171088307019507259004002553706135966470518\",\n \"1\",\n \"1\"\n ],\n \"6585853380044232135053067715727378092503131502855346743429346530241880371854\": [\n \"3781115426228703989228960669460065661298177417930591089103242175972048956553\",\n \"1\",\n \"1\"\n ],\n \"2266799829850608063823771756226101616401963645233807528488858699727789094499\": [\n \"19676664423150823831831235371346635467363305772277163503963791005836224047807\",\n \"1\",\n \"1\"\n ],\n \"7230220874300982889999184583675812596002763285721758253615987091348934643546\": [\n \"8572803082476084690838511100985587574784860681634650762803693989460372008652\",\n \"1\",\n \"1\"\n ],\n \"12373505467125745897829308222053050105530730306842876681837063301436937669434\": [\n \"16556421273169474778910646934110701782829283235220770359453579414729675191781\",\n \"1\",\n \"1\"\n ],\n \"19668714178260606702638169607936768801761972917905308791058350512316228543661\": [\n \"7083754380170994511242455133181349013831031282966664343056264651419484459347\",\n \"1\",\n \"1\"\n ],\n \"15510956182788798592844699990168946262657694865309954530833654599353981197735\": [\n \"21507770297908776624067282140858205558566702183029238791326697479850515686109\",\n \"1\",\n \"1\"\n ],\n \"12232034480505248759248236005035563629068781396896273602774455372960718323408\": [\n \"1328172087730033944948707470719576283014329950397542563634295256846099193015\",\n \"1\",\n \"1\"\n ],\n \"3086795693219528799725220701015139826610334160602062928940788885041171638194\": [\n \"9246374717583317564521514860141918570580329402895476865599643161233464399479\",\n \"1\",\n \"1\"\n ],\n \"16040564268968667978599255379999262465774707554870691293061779170617067763859\": [\n \"17517864890086480246366382629328694038082059868535333994750202362106261356983\",\n \"1\",\n \"1\"\n ],\n \"16969562000530995229914497380281282666888510387188475308549045816080173575996\": [\n \"8391029719945096314153493917024112043964567072710029625492758977553520458428\",\n \"1\",\n \"1\"\n ],\n \"5115858116160110668239412717710535718798161530228013545735201485175330001653\": [\n \"1836345490316723737668848319624221731833368626864531825701386886207914159343\",\n \"16969562000530995229914497380281282666888510387188475308549045816080173575996\"\n ],\n \"5697528446017044031265937790985424708412670159681450873654616367800745616893\": [\n \"0\",\n \"5115858116160110668239412717710535718798161530228013545735201485175330001653\"\n ],\n \"15041915952496318829794004305329125794510624896283992390762019552550811681144\": [\n \"0\",\n \"5697528446017044031265937790985424708412670159681450873654616367800745616893\"\n ],\n \"10462032549926041275237811510689848278166070005610344255766733590777912680755\": [\n \"14238637578930149450898798143960370024413552630236881021029696446434644878692\",\n \"1\",\n \"1\"\n ],\n \"2362732423281275262864170415465918507982341500337670752780883674895155561375\": [\n \"10558763745866401283464652921579795143663855121627956914505196229906846360751\",\n \"1\",\n \"1\"\n ],\n \"2890513471543075792857739641620064928369345595766970545171795406946796843904\": [\n \"10605616275258801379956035661433511380364572341076746649279389278635755303720\",\n \"1\",\n \"1\"\n ],\n \"595945265458547093749502355986182073625191888693164105606482487785277685733\": [\n \"6414601386470372260550798721829846160109576770413964479279783204281523094295\",\n \"1\",\n \"1\"\n ],\n \"4589238067321701505869470880740959472477866879272048449047208192605631149559\": [\n \"11131678319372526622222507524955440934834645500112524658772835340496517111021\",\n \"1\",\n \"1\"\n ],\n \"492670166652747243198696732430653518641424750244161803133055740074848159124\": [\n \"3518266363435582065667656153123835285706369382464472978290291499186230117898\",\n \"1\",\n \"1\"\n ],\n \"21639505199239209164436945591657459058977010048255389055387100667640537351926\": [\n \"14276334638041481259478037219068778570673419656839569875497200576073739393818\",\n \"1\",\n \"1\"\n ],\n \"7750961872503548451628447568526423564700109881298982861910390122064842367532\": [\n \"20086482363689668971350975159561563124566961986636808126376053878591460882533\",\n \"1\",\n \"1\"\n ],\n \"12822206847026324338151696926789434737006775364209076395320865544697755074185\": [\n \"3840698228859544394750669377961434995752540560620835571878988070778369189881\",\n \"1\",\n \"1\"\n ],\n \"20187980936538006025508369427683957253765581278378598064681921772437633989512\": [\n \"2164058292261027478724847518077957681135397555245837567656431945155441555420\",\n \"12822206847026324338151696926789434737006775364209076395320865544697755074185\"\n ],\n \"9136679655907552743311802288876530584420455446354905715362035626111174096124\": [\n \"20187980936538006025508369427683957253765581278378598064681921772437633989512\",\n \"0\"\n ],\n \"4067189118159846485893664165340849073186490352203117573015601068476187075074\": [\n \"231770270778498929002615525135623115887084533726806601086555033550258389457\",\n \"1\",\n \"1\"\n ],\n \"16717813237642845045233798817504322614513703210205987722314832117794156145979\": [\n \"12901015810894554430153243437215149552060900265829894837030293110861698289233\",\n \"1\",\n \"1\"\n ],\n \"3919099672044427275960719753558156948901495911549836838521673613374289595077\": [\n \"14101945075271137644701700561104505001501743086879771588602036650207675633432\",\n \"1\",\n \"1\"\n ],\n \"21673685427045206515608797292870847878535254181207711844055023942139868148368\": [\n \"3919099672044427275960719753558156948901495911549836838521673613374289595077\",\n \"10823712492943666232077976720590576640959870894222912879267304192978791316942\"\n ],\n \"7708571766551514773717842262376621955539099386553833207839259409152051160478\": [\n \"14855092021702724180318229792361886475462944296457405066703324198881599639381\",\n \"1\",\n \"1\"\n ],\n \"15901929752959679650904862027077121315159761587888174554227555100387635943484\": [\n \"9804629838338856486544502143240663386141014511570133470932457606764321925378\",\n \"1\",\n \"1\"\n ],\n \"5794891531596124133329109356866046610002889372755784456023810421285435664169\": [\n \"2615955777535709719453751827290985293795757754865285012147039427892908794912\",\n \"1\",\n \"1\"\n ],\n \"19528484587173380453374616054911563534945755906919508360870893195120960342781\": [\n \"14007665836946456982321498951152454001057196443288701639172385247120761500916\",\n \"1\",\n \"1\"\n ],\n \"1953031072617439120521923707733908618907038178659773575096410636901855988081\": [\n \"10384367820800266650058882810121974672529215771244811817734053873879259436915\",\n \"1\",\n \"1\"\n ],\n \"14059647525841628743804416915206309241294371766403011141761358219292387361049\": [\n \"14252622743774447854933483341612400597828967928517587450942667407188714910763\",\n \"1\",\n \"1\"\n ],\n \"20814368230043893258683349487748486561393224107338976238154101947349964605494\": [\n \"7264048494282439942489037751595576748676122257512557408877304052529898411383\",\n \"1\",\n \"1\"\n ],\n \"13844784356046607775903701791162664930485597841261401248468572199387185854576\": [\n \"21846511487378169421396492792804135623157864215549921337839416428654127965489\",\n \"1\",\n \"1\"\n ],\n \"2696297626666809010517125789858247254131113970612800464892213687429971102713\": [\n \"8546802668805174681323952193008194088012512498836703578261985935909053892252\",\n \"1\",\n \"1\"\n ],\n \"17497127449108050275583923916779399545851421981456439157163069244045497511809\": [\n \"12952207124678928656801415351386780425677765127699200755764872828227865174547\",\n \"1\",\n \"1\"\n ],\n \"14486247649376010892184852113319123825358029804748630738438952671502632453994\": [\n \"15777686535286808101436441025851007912750068708079716226203790669130802784810\",\n \"1\",\n \"1\"\n ],\n \"7476971980477285874007078216776557650198351041562354060087232853841601317167\": [\n \"11794347963559066678960848493011112411614729682010576089952043568030178902390\",\n \"1\",\n \"1\"\n ],\n \"420088708177809543557119947127496610993018732643450996954281714400804683470\": [\n \"16239218360225462620428627979003802046464365784751380380679855190456926778510\",\n \"1\",\n \"1\"\n ],\n \"6966737652839949568212766499374545297924303676920096296608910459530479952170\": [\n \"15757884265627235051399336905921566993972729062643059216274562177511965502849\",\n \"1\",\n \"1\"\n ],\n \"1229732008185709444013868410247294499203575445089218779398512730948072308128\": [\n \"12485330579254408440644084160999596351854147052016741795133203977269386518592\",\n \"1\",\n \"1\"\n ],\n \"7028200414323447075272754339819464192661922543488879935867991648447450138820\": [\n \"20684621267330059614309772831182935517723236577959986781593808040577601190129\",\n \"1\",\n \"1\"\n ],\n \"7570052205058999673268790630696059280723219179023170391758088328598131029593\": [\n \"3741729709188908698658932101212729038315235244434986428625795513465273658177\",\n \"1\",\n \"1\"\n ],\n \"19656800258292742984706480339011586559440987635489006384396764280791768771565\": [\n \"10745863480864711535139004484924529903693786567774134367317754622741228061014\",\n \"1\",\n \"1\"\n ],\n \"9998638315317728786438683870031844548278961151912979627908329694297532630125\": [\n \"6861286369495496208008065666845549031342554495766233936985607204619464344098\",\n \"1\",\n \"1\"\n ],\n \"16977682349853343672206676434671875289652856064323317858439499897181882874798\": [\n \"1129741329912517059849043755123779274935265842762607980177018638454990243468\",\n \"1\",\n \"1\"\n ],\n \"6913681978275260431253729494511143620704227003407512567224704099415289352783\": [\n \"21005913295834181340698639979986473422618838045975832415947886780595693838896\",\n \"1\",\n \"1\"\n ],\n \"16183326964956294155564712082569846352785024301704005105598328466720227571781\": [\n \"19290445027946928567419872608249467444700095269464484798448136451299288317440\",\n \"1\",\n \"1\"\n ],\n \"13002012282111277240880478328832080168617019268954793958693514650282814460323\": [\n \"16183326964956294155564712082569846352785024301704005105598328466720227571781\",\n \"11983940998365552985483149114296602454833046112055704303724223420745649810804\"\n ],\n \"6867217828191354292317413210675383210468220234898529198938623546097784841396\": [\n \"13002012282111277240880478328832080168617019268954793958693514650282814460323\",\n \"0\"\n ],\n \"14044821882431508855198545638696329327493766392030664666441448116621156847793\": [\n \"0\",\n \"6867217828191354292317413210675383210468220234898529198938623546097784841396\"\n ],\n \"14219928562207748018460109013570599170203265380258866464474100595697346270333\": [\n \"0\",\n \"14044821882431508855198545638696329327493766392030664666441448116621156847793\"\n ],\n \"21704782476094012741344516441309788429887247541365388383731374694386914882189\": [\n \"18922694850160126854147260839997628512438086360673626695817315400214630628644\",\n \"1\",\n \"1\"\n ],\n \"18686656575203492324929098612593352678285537330654893958137965962377340431434\": [\n \"10640713921935422944273667724727743414088756426798079030218315921899538566419\",\n \"1\",\n \"1\"\n ],\n \"8365887932086082876837390363792727695737093775964224147047853466025937298400\": [\n \"15025389354001411157414110477012676238936270658945520719110664210403617965017\",\n \"1\",\n \"1\"\n ],\n \"6579382778199019363046557629305104113067727394363298664405388511333738073902\": [\n \"10619516627798455967469977700860089673174048248360722630922307048520438298257\",\n \"1\",\n \"1\"\n ],\n \"20483070350360339619022199276007499524694925733059517061276420662750268831046\": [\n \"1531141654235820457049873332244883525553705900895823671643507196787954127988\",\n \"1\",\n \"1\"\n ],\n \"45475468294671452192031730143988344029773312712035038845751087638443999724\": [\n \"128145173799814902983079964008586628773525387312292497479695105053983940565\",\n \"1\",\n \"1\"\n ],\n \"12596617855039560527486164117100450089694476034410469742971404724903632355720\": [\n \"3388373500739829507607336971913009470364992140020283165549921947880065154852\",\n \"1\",\n \"1\"\n ],\n \"14105939273126039866490858888293159325886232455646552130127939836672928078975\": [\n \"17264275165797689477739463318696484608683817584548471549886471705704874440295\",\n \"1\",\n \"1\"\n ],\n \"11335342818407815585134140639924958546954155103632559613771932113216616514120\": [\n \"14105939273126039866490858888293159325886232455646552130127939836672928078975\",\n \"4957232950418961473819540281655413355037849450736293936455331033887547562130\"\n ],\n \"10264139053799581916893742201018299899038701724906345630703418377562423895285\": [\n \"11335342818407815585134140639924958546954155103632559613771932113216616514120\",\n \"0\"\n ],\n \"16548665869199015089425804261903313303938719324216237530288329583986880402856\": [\n \"10264139053799581916893742201018299899038701724906345630703418377562423895285\",\n \"0\"\n ],\n \"16760375847820149187140880326593511170002964403185597719779596189766002835754\": [\n \"0\",\n \"16548665869199015089425804261903313303938719324216237530288329583986880402856\"\n ],\n \"21206681896755500748923507319136339740444508953498640498097746068241565255263\": [\n \"0\",\n \"16760375847820149187140880326593511170002964403185597719779596189766002835754\"\n ],\n \"13482328623087571494107453780177646165687875313087291935802714510651122135489\": [\n \"12680099996112406381703382284717201456875050128258356857442676310285730338179\",\n \"1\",\n \"1\"\n ],\n \"7688363193617543416621906025496712611273665468248187258665854897098012493778\": [\n \"801327833140186102788952100101763191567781450375326153149984955199491659717\",\n \"1\",\n \"1\"\n ],\n \"11323783137057770168434084699818358921943841753289120888438381689107332193680\": [\n \"7688363193617543416621906025496712611273665468248187258665854897098012493778\",\n \"8268277212102887080841465048764494966654714148169563140039955337652787473820\"\n ],\n \"9268618009394415368692763189926342403367082305541300533302617430385578096927\": [\n \"0\",\n \"11323783137057770168434084699818358921943841753289120888438381689107332193680\"\n ],\n \"10174827688595909773828501191481743696838901531560661478579422777768257558351\": [\n \"0\",\n \"9268618009394415368692763189926342403367082305541300533302617430385578096927\"\n ],\n \"6778408969393955786773422576725550581030933656448355630939523881765555504697\": [\n \"0\",\n \"10174827688595909773828501191481743696838901531560661478579422777768257558351\"\n ],\n \"6449420186100348172458803245699882166436482326557353938548393658437675848928\": [\n \"0\",\n \"6778408969393955786773422576725550581030933656448355630939523881765555504697\"\n ],\n \"14063280670533855018686135869633838505952618675185948838995164492359384507352\": [\n \"6449420186100348172458803245699882166436482326557353938548393658437675848928\",\n \"0\"\n ],\n \"8886009506467491986259336839852795048664268180713983134041429718356803429810\": [\n \"0\",\n \"14063280670533855018686135869633838505952618675185948838995164492359384507352\"\n ],\n \"12265644562219997227670743488190953952954483557787363562716068870635645456495\": [\n \"8886009506467491986259336839852795048664268180713983134041429718356803429810\",\n \"21407121091456423079698305572194742101584124502126860964827374714402678588695\"\n ],\n \"21157235545703355910110979121293987832609644405819859820531561342508230098179\": [\n \"21180003154692465779672168773471280762722252878308710509531939602595118451941\",\n \"1\",\n \"1\"\n ],\n \"10321563744823950978901777795739855945663012254642136063041574280869062939182\": [\n \"3323388650521371881882303237888733259988650098287881287324107576725230215251\",\n \"1\",\n \"1\"\n ],\n \"21191449813468809175930679752949472768135150596631927106572724246721098705969\": [\n \"8193585398123691881427027212784790558292703313349392268069563192796242816982\",\n \"1\",\n \"1\"\n ],\n \"6661646144635930178079964202562425929971202783215523077795646587673197427725\": [\n \"8160043929779193972137850440055510611038125978360772755567787118527072587328\",\n \"1\",\n \"1\"\n ],\n \"11312138720296926211093525454613247675155222583159360284745598653666657580700\": [\n \"514525484337135989876402410275395022035624515589243354408889478573083782842\",\n \"1\",\n \"1\"\n ],\n \"16507341272062042388186000515999351134157371839100636581422571040975501756904\": [\n \"13477898766440105051249907211503004791444135048372646989683196999890316265102\",\n \"1\",\n \"1\"\n ],\n \"11165526899689221743898665413107626177798140270314653253914490633582299179660\": [\n \"16830404411175594293521115250810047695383156736555308742937615786548237780176\",\n \"1\",\n \"1\"\n ],\n \"13793131428678897008981242685177856400386953477424231387930533525480012961976\": [\n \"19979400235284584726625445790806230930602600484156686948810973731511591120231\",\n \"1\",\n \"1\"\n ],\n \"6489278523920468143788340865161186957163688421121174275578499253200763997458\": [\n \"7656958335154807639144835604436209060473652667127901541221375068383755709054\",\n \"1\",\n \"1\"\n ],\n \"5112332794453846992376527011289048954421772259686114281324075889424004972837\": [\n \"13656109457446113360063521511948064917394685971657320223413942044223428317394\",\n \"1\",\n \"1\"\n ],\n \"1157872724543004260218859949474936590116170537999415609377345012940377676703\": [\n \"1062359704348871598835013100334682354938228240834649187815206408652905566143\",\n \"1\",\n \"1\"\n ],\n \"11627805585232576579516424903690616520323654355773584030597219485543461197559\": [\n \"10657408557205982559886253379068360292444659277979406868938414572121334185272\",\n \"1\",\n \"1\"\n ],\n \"15600384800746943969701318050887630641254132236471399153297353127996765148278\": [\n \"3008392919324662854663539546032775810236021656575293719596196906824750733527\",\n \"1\",\n \"1\"\n ],\n \"12050804077283843514972433250026599290235965623768510796218279963430650787068\": [\n \"1114461915453370438386146939728718616518588795441732252243386268536334981597\",\n \"1\",\n \"1\"\n ],\n \"10970395074219764952353955082527565889323353613597687159441894311198549960421\": [\n \"6992432428390889185517637378891716474463018544654992818727570687485562196990\",\n \"1\",\n \"1\"\n ],\n \"7650154450472646882445484268546464701345894949710788811322999582674754489895\": [\n \"1824870749549378124229138556108014050754700717486811159395977438548096795281\",\n \"1\",\n \"1\"\n ],\n \"11225136517122947963872239636730176820152892088587990598934306987871634012635\": [\n \"6168729939461039303227907922049923959493797281326521851573000805371477352941\",\n \"1\",\n \"1\"\n ],\n \"20006766105398821403835556361477789793202238455119224127120182271284898709786\": [\n \"7545569638879568209184190621850268038964301450799195416839826726476265911508\",\n \"1\",\n \"1\"\n ],\n \"10986022027083273220999531036674531991485666344851930887064117410235207063780\": [\n \"12381288583212536553192554374135769506326696008368703093879751461369370351092\",\n \"1\",\n \"1\"\n ],\n \"11501503229792532456649676680416366427370165420999695682155934130126670530959\": [\n \"3903029037136242927894838364263320359336313240331495292311463707284708296853\",\n \"1\",\n \"1\"\n ],\n \"16537315937157748764680074071443347241065630140201486377269594071016298335516\": [\n \"12549046813711297074113322664187449227077766000410329047133290326547370717866\",\n \"1\",\n \"1\"\n ],\n \"18919196455079647501402525117921255988316905128219363725673219420227827651226\": [\n \"7788445924501126133954932500381569914747931737482669200334919544290999161679\",\n \"1\",\n \"1\"\n ],\n \"15953286797480070971065440771702813534378960401941152708233267324976506748979\": [\n \"18160483362915918905160098044990531965348459023434430925672790193400912980311\",\n \"1\",\n \"1\"\n ],\n \"14849621810468806136824308830887146473644896895403293488251469003878220433118\": [\n \"16668256676418156965973215936018659362682613953824705689732076499062086167489\",\n \"15953286797480070971065440771702813534378960401941152708233267324976506748979\"\n ],\n \"17262403150479867867097951949729378054030851703366245855248714310627779901457\": [\n \"6305590148916566789756823607464794141838117854575094777368945153513701134206\",\n \"1\",\n \"1\"\n ],\n \"21623524292251953638524913027976313618610255651227354289184273300367621890412\": [\n \"13849990938516951125833502134451719522423390090424212932149057131249417644776\",\n \"1\",\n \"1\"\n ],\n \"18193219625713374811316247547087636243220530839406636456890733180189289149646\": [\n \"8652580058036312969365569024016053799999021598843735973058708325112846617659\",\n \"1\",\n \"1\"\n ],\n \"9945035207774285526605209721392184541178308485306947351791738737022616673105\": [\n \"7504680351962204260900141877585247700089571246066324307329602459052399852633\",\n \"1\",\n \"1\"\n ],\n \"19588306536983552894955195336357590000732459609656110744687628364634385020851\": [\n \"334984295781720475823935761321788115867160038801431297273161448402370118967\",\n \"1\",\n \"1\"\n ],\n \"16702639895848147836304286873233378699163404035470003779046651063339368392299\": [\n \"19588306536983552894955195336357590000732459609656110744687628364634385020851\",\n \"4199304168863893615073159862246251766536313642815860054835225109257872238106\"\n ],\n \"21798986874532560465361117382753180414991222423000314024370256269593746105579\": [\n \"736533161853564330195990150151504637793406571581813921700976323189182059562\",\n \"1\",\n \"1\"\n ],\n \"15243126245801834850673200324498475259466062062554783852580349288664296610513\": [\n \"1055957385854293304963854795306042500073324511096382703481497267097886908852\",\n \"21798986874532560465361117382753180414991222423000314024370256269593746105579\"\n ],\n \"1060509243892516318451789459599454967039940969446986234415226038618525803753\": [\n \"15243126245801834850673200324498475259466062062554783852580349288664296610513\",\n \"7269094548290785695863294426118102393370894081674542493664539548363559500238\"\n ],\n \"3108378357133861811738267286523742092607572511549435322822988471699531388674\": [\n \"16449951186023520666633457988867729298143658673461455624422451804015861766381\",\n \"1060509243892516318451789459599454967039940969446986234415226038618525803753\"\n ],\n \"14011019717429901533958328592540943008309684893517347459713145873508293660658\": [\n \"4699487146370807592176911701650510025686476819556806819962171906859916051425\",\n \"1\",\n \"1\"\n ],\n \"19458562773151014839983147929855348902833479784643259599394250986367044165447\": [\n \"1544619276103980991036417861872024853952604780793676486764026928400348461804\",\n \"1\",\n \"1\"\n ],\n \"2305089728632500951970924918053169480442748872185386892091486208556300228965\": [\n \"18741187483609750623242206025371604029513844395080608121971550307991024842875\",\n \"1\",\n \"1\"\n ],\n \"10182864717778861082016440059152986282352104029326355291478619500996630999563\": [\n \"20355009625311251378446918369934184680769117988654907898585912815647727423293\",\n \"1\",\n \"1\"\n ],\n \"9137766664878056670977378200928156647874547580308779279624564562621750703524\": [\n \"10609201128094808506113879404891027173540909137958384455424559991473965415078\",\n \"1\",\n \"1\"\n ],\n \"19611908749466788871212169571145954667030972260081829802679252197618502121735\": [\n \"3757016204039573129257071462283392466783540869190634786670353793235122108476\",\n \"1\",\n \"1\"\n ],\n \"17545332273820304776194104964137852756462686403647958158548102548392857041298\": [\n \"15977416646139854064663010711494503922584089771699534568806476654234680513425\",\n \"1\",\n \"1\"\n ],\n \"19985095593707657154604129416836831357410390598608488265965676280278989355527\": [\n \"4170745710098457760958441242296635087669888800507453969278453876593001125655\",\n \"17545332273820304776194104964137852756462686403647958158548102548392857041298\"\n ],\n \"3544031608930385075760053744739442210914117374689290080079030463458973229739\": [\n \"19985095593707657154604129416836831357410390598608488265965676280278989355527\",\n \"0\"\n ],\n \"13446752109431608503925382814482734096259583214873471884927840084646058858766\": [\n \"0\",\n \"3544031608930385075760053744739442210914117374689290080079030463458973229739\"\n ],\n \"5660594461351582498109568991929308464599990985710092195957200127687924378824\": [\n \"13446752109431608503925382814482734096259583214873471884927840084646058858766\",\n \"0\"\n ],\n \"19800870616563505093069799529104916326571125829265340177746060000516094097789\": [\n \"1622024351092661376255016525261906701829889222160814707833648324530772197492\",\n \"1\",\n \"1\"\n ],\n \"3288378926216269445499946824271426311196809160428394187080615182971559025670\": [\n \"8448650419189173299952542621763365930887058245995068204717736050102112645015\",\n \"1\",\n \"1\"\n ],\n \"1210404822947542679004129091245210304016799720788812394302243280282962207917\": [\n \"10483632990258529350582465783683443398091965312458828931944855026493215709194\",\n \"1\",\n \"1\"\n ],\n \"11948998138627604431054610650206086163280020436928499353727674529710777142722\": [\n \"3372500579933042454855321807126256201354336828797579556514105011451394795063\",\n \"1\",\n \"1\"\n ],\n \"687180482296694246521845829236340495470832696508255012288862715298787216425\": [\n \"13204769503433932430133665390404067220634549175650100086425958193540424920072\",\n \"1\",\n \"1\"\n ],\n \"17684354120196634334696219787863543095345300987643467187604834520744905101625\": [\n \"4914928151645897454611976829715818118875149324255724417823092024707286670801\",\n \"1\",\n \"1\"\n ],\n \"3771902206048269847026975540668958769257175093251696783822191684387274034402\": [\n \"19165516428276758174238524856532629919575978022634651577262220141390210989798\",\n \"1\",\n \"1\"\n ],\n \"15399309340758144799644707184309955622934096819239031933156209535396411836785\": [\n \"5033780761705980725463456127772427674223915114454338326959114323020978028847\",\n \"1\",\n \"1\"\n ],\n \"3921414587582459234849109336124123438296948387379386383024986185003583875707\": [\n \"16695556512195158476887475936436407588851873838049556380309504840058703269659\",\n \"1\",\n \"1\"\n ],\n \"4804245461537811878709054997496142627935017239070964832322460310155097180654\": [\n \"19301056711508820827357811052333612507101950028962402432021162328468989254289\",\n \"1\",\n \"1\"\n ],\n \"925342595203591783975990089777925073558998696181747643497545605059148723448\": [\n \"17996994673440966645811906265378305313180356424092599762411480976789813688095\",\n \"1\",\n \"1\"\n ],\n \"803649945711119779120475541071941794864101170296894181095928285045281003212\": [\n \"15033349187886802359313978628585357681622462782963632123771392422273659791722\",\n \"1\",\n \"1\"\n ],\n \"12652328896882031669123470305816785344362928970194374910021927764073194764636\": [\n \"8180403334441670957246831354309289727952317506867443876017471161074271611699\",\n \"803649945711119779120475541071941794864101170296894181095928285045281003212\"\n ],\n \"4649949980135527931724214732826904818698663783911764845784198575840125459926\": [\n \"18766050151582151845979274086010433985131965441517079938473932350100287489963\",\n \"1\",\n \"1\"\n ],\n \"14596359365802399427943152162716597515062380796122941336166993632327522186487\": [\n \"7697876373065981123546034922520180011006482881496700298198587541781347304453\",\n \"1\",\n \"1\"\n ],\n \"11531859788316607257799803769397303293996638622716546816849129720107407994182\": [\n \"15552638905196574270754008886571249388827701550704637924929967696661586193260\",\n \"1\",\n \"1\"\n ],\n \"16964118082068346632217725704348552016256034603264453673023767604961002638939\": [\n \"3682634387471302840568903560804202877637651778115493950893936442671062929220\",\n \"1\",\n \"1\"\n ],\n \"19824388293463534150515453376653546546095006563893674432533543690713621003776\": [\n \"18867455992026034482705513319525867122086989282880131299547115349549346446676\",\n \"1\",\n \"1\"\n ],\n \"6628416849133128968247545470203057661389186476286690084785855298821667162738\": [\n \"18324755384642575986488918819371377939357304328599380085079101220609557795331\",\n \"1\",\n \"1\"\n ],\n \"5892170391022324692587936673314567458183849099786981833223284481255642486715\": [\n \"6628416849133128968247545470203057661389186476286690084785855298821667162738\",\n \"6173191806251881672330192689160965173364168662975298418058139977219375335169\"\n ],\n \"14804020601769185722563124624083310523583808491909965602250755687952121164387\": [\n \"5892170391022324692587936673314567458183849099786981833223284481255642486715\",\n \"0\"\n ],\n \"1172156962978774986363798603435828085592345016480240762013913229489521313102\": [\n \"16406558589275816646233806291969873823440011572442163050878852005130700422139\",\n \"1\",\n \"1\"\n ],\n \"12100904413026759637346148410463567827798197432177304791896801703487355114343\": [\n \"7941292728563009606714000418036512508054578159917020477840696965073072135824\",\n \"1\",\n \"1\"\n ],\n \"18602762051310049329277477257929086933185622109219170787769767013996114978233\": [\n \"8965540500893406277169398955349056416488483009461473003843137505109454794128\",\n \"1\",\n \"1\"\n ],\n \"5221787750075372062095494296650444539372032175620486303280469053525082403642\": [\n \"16598305516035640740064808274433457375180676465734469842692073442456120824401\",\n \"1\",\n \"1\"\n ],\n \"18425792242885342644824396718204262661731602055843196155989984551846451788994\": [\n \"5221787750075372062095494296650444539372032175620486303280469053525082403642\",\n \"3287509887134965429837048985977808519086964104354720251512887764192928245291\"\n ],\n \"13578953274622759469923017075376931330119414717127367044326210621810559798419\": [\n \"18425792242885342644824396718204262661731602055843196155989984551846451788994\",\n \"0\"\n ],\n \"20802911749656274587030783959481850182775372417479066733391682701529040326664\": [\n \"0\",\n \"13578953274622759469923017075376931330119414717127367044326210621810559798419\"\n ],\n \"1172502680862442453905476552257248087487706952420864074692683598233052744779\": [\n \"3899879558761411205530472433211243369354277069946794408074317878535745811279\",\n \"1\",\n \"1\"\n ],\n \"19512852608400861351568033208569644855982157613188067740596463728581285939441\": [\n \"18919196455079647501402525117921255988316905128219363725673219420227827651226\",\n \"1172502680862442453905476552257248087487706952420864074692683598233052744779\"\n ],\n \"16473173070844033643903722801624528695713471922590271177448519329130348238016\": [\n \"0\",\n \"19512852608400861351568033208569644855982157613188067740596463728581285939441\"\n ],\n \"4352504658197279869901522129306261230322131342477762509537136378033512398380\": [\n \"5486297031877000839607512122268712431168238431907606151173809359431998103183\",\n \"1\",\n \"1\"\n ],\n \"17912886830156324287694850179347162825680013677386392116686185081145171637092\": [\n \"18223736946403712322169457292160289836829107645533498704541682386787226289258\",\n \"1\",\n \"1\"\n ],\n \"5464974682328270924562552648123617787799763969956768096806150893090657379785\": [\n \"16551720385513148997913959639849544386637286205280097149518312005369425403962\",\n \"1\",\n \"1\"\n ],\n \"20097854325658047661569736464029812732071256597098365695620866585150830221025\": [\n \"9623227504497758457058651257257554869390039286091045642754927637212501963101\",\n \"5464974682328270924562552648123617787799763969956768096806150893090657379785\"\n ],\n \"18561273231283348155192113712035730551971532194202319839291193609267303755865\": [\n \"20097854325658047661569736464029812732071256597098365695620866585150830221025\",\n \"0\"\n ],\n \"8614980324110212902778427589750854090959236572317041975647199542059114389258\": [\n \"8987287783577532557516662140855259092681844717387734927203234145432012811645\",\n \"1\",\n \"1\"\n ],\n \"10108653505328795592003095685529776416968606739028705486268975639082990178477\": [\n \"19226859642745387956244561800664386323532351944889929304805027813830506403245\",\n \"1\",\n \"1\"\n ],\n \"15391610136450456382686216511690712508247221186589854922079321435275207231876\": [\n \"11521663401869905273493754432963137817009533372453359028057501941453497990084\",\n \"1\",\n \"1\"\n ],\n \"17814018297964796016805285927665250211648792527115984391940320864089086070065\": [\n \"10885695833399490049634100831602996720061405463117333164428796147515270339542\",\n \"1\",\n \"1\"\n ],\n \"6357225818757859655078057537595604563027276911948679860465760079103134238184\": [\n \"10258971079407617442295442933399423515244081748240986036572829544399785211113\",\n \"1\",\n \"1\"\n ],\n \"9448049223518495304163608964932382418953298345536364172563813962762757041675\": [\n \"2768338690031088912279481541134386392975928318946810333352051185974776569994\",\n \"1\",\n \"1\"\n ],\n \"4729561369950744482936200126947685188523695997097878205540946126208539638413\": [\n \"19123986798987135023084173576803985103612130476229586739112941373735504776564\",\n \"1\",\n \"1\"\n ],\n \"19824705472706087349661969632673529048999961117908744142593307386445517331682\": [\n \"12208148123206229145035673566307824000358857597415901746493406569659857536451\",\n \"1\",\n \"1\"\n ],\n \"7015046367432874866698661242894352367194546782192576699537405872597856084993\": [\n \"7849918611525641707347810031770000267952959960083608548258206235936699068413\",\n \"19824705472706087349661969632673529048999961117908744142593307386445517331682\"\n ],\n \"21247236869419587982450469326604369122201950311370175340014368100613578830008\": [\n \"7015046367432874866698661242894352367194546782192576699537405872597856084993\",\n \"0\"\n ],\n \"17631088894576344720064108421322281119436103037832394893115258713855135708311\": [\n \"0\",\n \"21247236869419587982450469326604369122201950311370175340014368100613578830008\"\n ],\n \"15263054076006317604193616935033533358931919792360339887325155482248317467805\": [\n \"17631088894576344720064108421322281119436103037832394893115258713855135708311\",\n \"0\"\n ],\n \"12430509080387719199719635022108980044281410917351299187732792564128309249375\": [\n \"15263054076006317604193616935033533358931919792360339887325155482248317467805\",\n \"0\"\n ],\n \"9392918062287534726325829636988591727354446782315201755187859304465931386330\": [\n \"12430509080387719199719635022108980044281410917351299187732792564128309249375\",\n \"0\"\n ],\n \"7884539029426022473297228876722344965575450466127721418630343960041100323136\": [\n \"19678093616298488260310475883232408681746999833100083902592664157691237580976\",\n \"1\",\n \"1\"\n ],\n \"4061381053030850355297475162906159565731726876915063975139604169557421526257\": [\n \"5078175976728390062929135385821985690828473873109405964706229640211453554962\",\n \"1\",\n \"1\"\n ],\n \"14190708841708303994215279368791159328978982197990379706293922082562071826122\": [\n \"13248587369601303282841997999251517108097236905180248933154991671187684430297\",\n \"1\",\n \"1\"\n ],\n \"11008252426173764032372505309068443637289254677812608379613546065047702542703\": [\n \"3121021328418288612577511152564583167074954744224168369280985988350455039181\",\n \"1\",\n \"1\"\n ],\n \"18410777368479561881298519079818061998506805378918939915942294823107316028\": [\n \"6648819768375208268977805259378952209045820716459817693820428104240991264155\",\n \"1\",\n \"1\"\n ],\n \"1447369231416401186033862776363898127100442386008768325131112410501390051069\": [\n \"1485390697736944453615284918748457311678099753142950536705463203840734820463\",\n \"18410777368479561881298519079818061998506805378918939915942294823107316028\"\n ],\n \"21182071039969256964718640002945180286979413198341684226754143441277732816829\": [\n \"8983446832193412528037323366729556146406530765485631867939950559282874277777\",\n \"1\",\n \"1\"\n ],\n \"5754577307324147743718948464730288341545188377744686468633190141970604536202\": [\n \"15430934510933643290799922890562430797183427128602152329230184071534875233795\",\n \"1\",\n \"1\"\n ],\n \"14365509127039513078408484648428775469103886478712722948993914571446068944497\": [\n \"837689681893653848265036790535230507864694391899757713823992201710338555350\",\n \"5754577307324147743718948464730288341545188377744686468633190141970604536202\"\n ],\n \"20009468751543156072339990510166622799499855868390633343329140822872925947340\": [\n \"0\",\n \"14365509127039513078408484648428775469103886478712722948993914571446068944497\"\n ],\n \"9034375090165373571411986239753592420883926683169629604727844168930214728577\": [\n \"0\",\n \"20009468751543156072339990510166622799499855868390633343329140822872925947340\"\n ],\n \"10629600336885592001478525040138651236078652947305806051118497281903431101400\": [\n \"0\",\n \"9034375090165373571411986239753592420883926683169629604727844168930214728577\"\n ],\n \"16536374755224180039635768774948201090130925158510510443553605943713812084459\": [\n \"0\",\n \"10629600336885592001478525040138651236078652947305806051118497281903431101400\"\n ],\n \"6013680199710372743491956277031773514779367076089306103008828796998641338105\": [\n \"16536374755224180039635768774948201090130925158510510443553605943713812084459\",\n \"0\"\n ],\n \"14064248340218607367153734349600404997739145898334425981988416656016710632564\": [\n \"6013680199710372743491956277031773514779367076089306103008828796998641338105\",\n \"0\"\n ],\n \"9510172871121240770995652252387739473659114631048859323018768530542634750590\": [\n \"19324880687575298796065451887367630836779769581684779373801312977976394939117\",\n \"1\",\n \"1\"\n ],\n \"1238509384353359266062673769563464724123333030177189174335110955375122721667\": [\n \"14387062419646175617012494908130823550192901989997866994975101305094474373388\",\n \"1\",\n \"1\"\n ],\n \"2586944030855063996816464325602749716762703309784762059623499486836465470793\": [\n \"12195621383553916683140092330689333940172767832760757321967326168603470459504\",\n \"1\",\n \"1\"\n ],\n \"18400125538473965374721983781060876266115836124249561422278549837443084225188\": [\n \"4774660286922633053497872731988299909690751428008230034715814574439269299751\",\n \"1\",\n \"1\"\n ],\n \"19763617408759917316535928388600384267937395708274672343173112451954436428855\": [\n \"14494295347597018163312558002297147319605756022873076967405816615392099887361\",\n \"1\",\n \"1\"\n ],\n \"511438729076600000594024902215850546285519614867251910951460607063466013550\": [\n \"20042754135508514969818888313158342244055498901783166626295185922911112499924\",\n \"1\",\n \"1\"\n ],\n \"16966572669673326853003362846255405178264081043419624996753126957361662919059\": [\n \"21438043789931892121772712984776321187832121180043369943771732065276696867983\",\n \"511438729076600000594024902215850546285519614867251910951460607063466013550\"\n ],\n \"2834879290171777734694891377231100974231686407127806829082130447942386971659\": [\n \"0\",\n \"16966572669673326853003362846255405178264081043419624996753126957361662919059\"\n ],\n \"7881770210113757313197251122902682634581979429580051460031210842972450307304\": [\n \"2834879290171777734694891377231100974231686407127806829082130447942386971659\",\n \"0\"\n ],\n \"3603900481324924300668942546086143211648538863347368674227601018274433257881\": [\n \"7881770210113757313197251122902682634581979429580051460031210842972450307304\",\n \"0\"\n ],\n \"4088687632212075216636925041721665417533478738662160416670719708406070760003\": [\n \"0\",\n \"3603900481324924300668942546086143211648538863347368674227601018274433257881\"\n ],\n \"20036894165639929893033886401562506859690802809012935848016295987473049283380\": [\n \"0\",\n \"4088687632212075216636925041721665417533478738662160416670719708406070760003\"\n ],\n \"14194919517223851707445317871682679735198566949344995913747565844673400463031\": [\n \"4500876402325923832403244498569425471449547758820832553685456376254878664600\",\n \"1\",\n \"1\"\n ],\n \"4694967515979663295584132537429965713001332397343256826174897180027941020250\": [\n \"4027329595690187199696916250248337131810613610113198381944349923929918230899\",\n \"1\",\n \"1\"\n ],\n \"7407362256722162428581950601171475945875035046452213385067643186500463529566\": [\n \"13476068270673634108165642466795670128486196979126101878889457202473421687374\",\n \"1\",\n \"1\"\n ],\n \"18115811190487025290054360116412379190716735495047014783571702838500927855819\": [\n \"8809067910207304220220435972315198195568865222876255741125769731661475255750\",\n \"1\",\n \"1\"\n ],\n \"1354757834999530729384577874491360154180890406405301438407742162817434618379\": [\n \"8069305947189301709154826621018678228038396186923526406603257043216441511440\",\n \"1\",\n \"1\"\n ],\n \"9747710984512991081043696444741908513921412319519378540832988770469027313932\": [\n \"1354757834999530729384577874491360154180890406405301438407742162817434618379\",\n \"6254997310081342870123099397422830223932056185254887296513508694356445524062\"\n ],\n \"12381182889950652014828710725750411242799115298639632439619428447707337770555\": [\n \"9747710984512991081043696444741908513921412319519378540832988770469027313932\",\n \"0\"\n ],\n \"10158072474726980983388507718210749771280963831399984607469665202338924627696\": [\n \"12381182889950652014828710725750411242799115298639632439619428447707337770555\",\n \"0\"\n ],\n \"7675126723045975494102167989228612300722712656320022109787687317327840730900\": [\n \"4874409464139352079924389390448073079247739149175014559477469286242181748349\",\n \"1\",\n \"1\"\n ],\n \"6658711726462652707845047512029236993959600124554379546878406175216164037944\": [\n \"7675126723045975494102167989228612300722712656320022109787687317327840730900\",\n \"3304162177784931876745120726828326868098091953610930780389750671963922953150\"\n ],\n \"16613977956382554586537594770091386552501480313959233501515827555153044753295\": [\n \"10481165297447387470667772214897384740510582060350474763436639201094675312970\",\n \"1\",\n \"1\"\n ],\n \"1966302361048787974634570271376766225424828234507934373792604864951767855408\": [\n \"17292489770413445368223007270772616471496737948193820571661772274573139954361\",\n \"1\",\n \"1\"\n ],\n \"3942374429940788463896010050270719375385219366668488172553387233436300512438\": [\n \"9632139281515054699585707046281438068749710258539004860812744063776278730261\",\n \"1\",\n \"1\"\n ],\n \"21864975607586570491313806522042793316334476074261776876599504437899952267413\": [\n \"21360700241415331656817111260656565881796827938736005756210112063398243538590\",\n \"1\",\n \"1\"\n ],\n \"9055767706361935566163900372059232376165619713647816990700700432794224586438\": [\n \"17084098577647785947550481081376037645905455789141315987740516700432013050540\",\n \"1\",\n \"1\"\n ],\n \"11753927156660517704923470266202687474956663325889042395627730181029136914896\": [\n \"10952740855844149364724874757040324270025649845088003622959007188066748656029\",\n \"1\",\n \"1\"\n ],\n \"17580401754422667223891107692403056394533667933504795580790534920362355430825\": [\n \"19690196793397679069161649256862977613710533238746804428865746562633773258672\",\n \"1\",\n \"1\"\n ],\n \"4557216716000832392747490192245138659746877318353704749932045611484132802975\": [\n \"2972091708381512335074898077657539654666560616753585727187676805172350730358\",\n \"17580401754422667223891107692403056394533667933504795580790534920362355430825\"\n ],\n \"20295605969756511881078087786766130308526842529813259149041221401745002897716\": [\n \"4557216716000832392747490192245138659746877318353704749932045611484132802975\",\n \"0\"\n ],\n \"6095276836940017119468115010959236516304942927922887385357174188949465356783\": [\n \"18080754872142238236267558210953331106245566753201007183822784453995010415685\",\n \"1\",\n \"1\"\n ],\n \"13235492581689787395084911267692296869015378904845817784261663418213376592116\": [\n \"7186005075571805720005182833101983902260899007505640423773578402319940511765\",\n \"1\",\n \"1\"\n ],\n \"9357560103830837376110966067552184982292734562458919402530994605769562449680\": [\n \"103246575523818514477630173625611519435692009086872034692933226661865556531\",\n \"1\",\n \"1\"\n ],\n \"8003337118056638188361055690516937316500975069532999355806737415265559731304\": [\n \"19190904151694170039123382834693016142008119653148257555728614957001303073854\",\n \"1\",\n \"1\"\n ],\n \"16558647608165414260142866847125730601443615210270616950046177551478024302767\": [\n \"2395807016355216074207072086885613873518195100652468085214996738244080462989\",\n \"1\",\n \"1\"\n ],\n \"15011709779650317478497143921750870168134179539390307279571998765551307582723\": [\n \"18539456706199725894741626121988908093206166579631154050984085577530635662497\",\n \"1\",\n \"1\"\n ],\n \"11315803361685253583061025996403448284450230289652899904345918352084549727282\": [\n \"16917365979189211332971475022326326226056245337689889165882648514490780133967\",\n \"15011709779650317478497143921750870168134179539390307279571998765551307582723\"\n ],\n \"20800459169918909700382078807168089342872644051101568176497942882085842012331\": [\n \"5991969919511703179570303602830914074194090320942676824387091185918306876174\",\n \"1\",\n \"1\"\n ],\n \"20164037489782908436002404275104246386193478623874323125326997435611372921972\": [\n \"11169602405504300600035183555989215418170408432350123884279067680818870902646\",\n \"1\",\n \"1\"\n ],\n \"11916799137892518160671285665934696230626908121505631929513700311371252796607\": [\n \"20164037489782908436002404275104246386193478623874323125326997435611372921972\",\n \"15688794624754714364212220989869144338402124145794243740162417786337769558577\"\n ],\n \"3649353295951493545773849140829680826929511188526167965296545975378304909855\": [\n \"0\",\n \"11916799137892518160671285665934696230626908121505631929513700311371252796607\"\n ],\n \"13101267152509958359943247002494876008317520087390205316928266617459092271704\": [\n \"0\",\n \"3649353295951493545773849140829680826929511188526167965296545975378304909855\"\n ],\n \"3809686237807481407485714954546713495647793865605087864655976763206514943241\": [\n \"7535775707277147493190663096721424537947756784956756839410244978963851291037\",\n \"1\",\n \"1\"\n ],\n \"16712486268704638497187250431348387900020572986901461081018597374566827800564\": [\n \"3809686237807481407485714954546713495647793865605087864655976763206514943241\",\n \"11753927156660517704923470266202687474956663325889042395627730181029136914896\"\n ],\n \"16774445176035341639818061871544583355214884653035816529421836126950621445767\": [\n \"0\",\n \"16712486268704638497187250431348387900020572986901461081018597374566827800564\"\n ],\n \"12670399017034763303092155566761973111644928557699706305236822427234562426276\": [\n \"16774445176035341639818061871544583355214884653035816529421836126950621445767\",\n \"0\"\n ],\n \"12946496312937827919146256502756589318757430318840836774840794865138861828465\": [\n \"15824688448758688872503633219861876449457101300960881936975745318848416679128\",\n \"1\",\n \"1\"\n ],\n \"1808972362991697284116710763060115849159696529595552908691421108818252433126\": [\n \"798246246434262144648495846421321872997452514127806448403072314632023828028\",\n \"1\",\n \"1\"\n ],\n \"14427843205994903890078058603207243575522851827116229815312589760555946591042\": [\n \"16223194664658319409973930563714995903493629947574775506636687852882847126831\",\n \"1\",\n \"1\"\n ],\n \"10908160876656189123298579235696843457281388524269224636959967459070614648870\": [\n \"5156638982071851460645881644701452295696976210288280340285562185091698835736\",\n \"1\",\n \"1\"\n ],\n \"16968121310668006165849743189240355985237401792567058695566023837067428892437\": [\n \"21374281568809529299389100772826715531213271462962684880267644225630305498914\",\n \"1\",\n \"1\"\n ],\n \"18381898069227047039499494410799997427359333581572190227396358661979958412811\": [\n \"3563769975876059465679645921994293118115428171276715830798285326682884682248\",\n \"1\",\n \"1\"\n ],\n \"1166669079776069574405486029427080700534495214862415647950548069982048924202\": [\n \"16462457384247169503777003488509207442564219379688208518130910176414182955573\",\n \"1\",\n \"1\"\n ],\n \"7102278524296137027051972603638653024316556165139486084599301530098117262243\": [\n \"12467681126100605141528722761605368360114160102039507755125009071721804714973\",\n \"1\",\n \"1\"\n ],\n \"20445208047104517753334126337950987200406107171165228800483088128042724070810\": [\n \"2353371300974718588204027909684870037394979739124865551353819939661898411803\",\n \"1\",\n \"1\"\n ],\n \"20603921251166615159891643516832625271155115955761540024646120505319124660780\": [\n \"3921414587582459234849109336124123438296948387379386383024986185003583875707\",\n \"20445208047104517753334126337950987200406107171165228800483088128042724070810\"\n ],\n \"3960594624008378526872547594557974542740491704395299784979749324515477885762\": [\n \"8494361296869632948653609015092847932041195345887750080767774866880440453066\",\n \"1\",\n \"1\"\n ],\n \"9796764192479116236729732947215976762769643956072202657691822211707140939038\": [\n \"21314381883695840357401040294256243178695490513076394833774394206632950434531\",\n \"1\",\n \"1\"\n ],\n \"20002134833875626788667249929228817953813583147872912511410205838795842642896\": [\n \"16215269607845241871986085942621423015445153187364659127907764390827628053598\",\n \"1\",\n \"1\"\n ],\n \"1032949319972098796520377100109543402116767556639801118974692170884435945771\": [\n \"6887191004263665509827174719199703947102521716131713260066781460174026534932\",\n \"1\",\n \"1\"\n ],\n \"3241799571808721999903699861232283035236026387000325463911772529038504620729\": [\n \"17558217701696099843471364252368821461457135916687694472314490100455191241826\",\n \"1\",\n \"1\"\n ],\n \"14769069703178616976007858592408099464709971863666141526592978392357300188472\": [\n \"21782887743481949437613244471468650703484337674945165268432546927459081538669\",\n \"1\",\n \"1\"\n ],\n \"5854944101575577509723902403435810358606638373332583455254491345209651722885\": [\n \"6180575670823278887963092931201179234090644565249175048066158509717984808565\",\n \"1\",\n \"1\"\n ],\n \"129965751347385906029117328253772716609745725451496788076730000828065295746\": [\n \"6658662268659653183859096817344036674434617944948365829426287729089020054814\",\n \"1\",\n \"1\"\n ],\n \"491833190930241822426129329226127982867444453649712097758073342132799993351\": [\n \"3176301624592740971247899649455624055158664467109577346724098483203646640879\",\n \"1\",\n \"1\"\n ],\n \"8259294368177270491799281735883678644955068071503154196561789975689860120882\": [\n \"15611680523280266882564132644064125511055416822310678844887011725215728362711\",\n \"1\",\n \"1\"\n ],\n \"21764581897268328056588905041042983158122150712815339825796069112223907903503\": [\n \"20501709399413204410748241256946169518818362216323412417952481168544168201230\",\n \"1\",\n \"1\"\n ],\n \"2499457170409509360175772068186912967324776323122670834352571432078494771712\": [\n \"1055126287054703669813275079466193233740964220536430889181149164288126433615\",\n \"1\",\n \"1\"\n ],\n \"7758092211673118262749139351425955453039266969985998538074616354247415954909\": [\n \"15718620147752919981526756387503080266152016302157478450679998663035268456451\",\n \"1\",\n \"1\"\n ],\n \"8086926720634602069028510466094371326951987388793043537940072199261794153728\": [\n \"690517101022276673111904898606013919552431032413630169175633975546486830171\",\n \"1\",\n \"1\"\n ],\n \"11407803535077095192921180615094460760234007452919711482233936628611445323112\": [\n \"11336170973660709249728397875616812665630433457184833982904981346244074792230\",\n \"1\",\n \"1\"\n ],\n \"21478847121329001192503993918028989856233013515918739123997872117108036832074\": [\n \"16984721055803589226240027631029950521368245054843255666404642573494124214867\",\n \"1\",\n \"1\"\n ],\n \"19274598122404200508194699476673746990946790398096859198612447115574056916541\": [\n \"19086814013716305183777512244163678945155619316495711663470166227646048615139\",\n \"1\",\n \"1\"\n ],\n \"18913043485941340117267635472921824598305530272951170193266755553138792032356\": [\n \"9796764192479116236729732947215976762769643956072202657691822211707140939038\",\n \"19274598122404200508194699476673746990946790398096859198612447115574056916541\"\n ],\n \"3844462099994637710217075817429057215816170720989537396022249969749373372732\": [\n \"17808546469264989555566197987693466999947394815606974135652861340806734794697\",\n \"1\",\n \"1\"\n ],\n \"19117025770453417371873775285679109128287122038563954492024194353726312377488\": [\n \"21341773407805203772916925407306631331929964262934196600470403662887718360744\",\n \"1\",\n \"1\"\n ],\n \"11235038040811292142370271741211555763342990442110290876421587470017392415213\": [\n \"19117025770453417371873775285679109128287122038563954492024194353726312377488\",\n \"10527332804888279216163344374619768776069131938074984108211103512062774519774\"\n ],\n \"20958111796146952945890091523631648451536316929877977681287647414427488544095\": [\n \"2232311221871148962869924152645391900278400144509786135245164710902288592407\",\n \"1\",\n \"1\"\n ],\n \"19438528834989111040036091911169339966909408145161892186390235921506609582567\": [\n \"9222256134769344451666775033014827433150372898886310377881955857020582353395\",\n \"1\",\n \"1\"\n ],\n \"19780884318872108852055818299315387622452122849074999446329285298717057215225\": [\n \"16708410115740249031603779326371455527646686705749741686945142175711018280613\",\n \"1\",\n \"1\"\n ],\n \"4569685514438873502811327124877747282750560915726178028604257758500981368642\": [\n \"8772956963124728371389572144859134287068660309330222948029094029214440823628\",\n \"1\",\n \"1\"\n ],\n \"1889337846715140483742192786633643393696331393726151263008280924562840656743\": [\n \"11704908345803450533936009833135868632958685615829618877218444281380662990937\",\n \"1\",\n \"1\"\n ],\n \"13700892152675768828933572549933350371601052964693598515519099852061996376748\": [\n \"3011566705890551448285843924662296988371716559924658990195628758603981891609\",\n \"1\",\n \"1\"\n ],\n \"15968010394753011872058300496276551085381896674174262253791769132087695319994\": [\n \"9724318587731067831349482977547649877023594310805913811766325091338728361481\",\n \"1\",\n \"1\"\n ],\n \"16481657961221479271305288061826119859236740109096212259881455707295465433478\": [\n \"11228573594316685760369366119938018696186630110599065023727003239581024386141\",\n \"1\",\n \"1\"\n ],\n \"9467781261372706952172778351297495213861117597472271216973754593703824373797\": [\n \"8228789546535905879813325101886626811646736746053583084924882262292602087516\",\n \"1\",\n \"1\"\n ],\n \"9816154861217229154497974496484262643271365300548639757490172200211408408961\": [\n \"17252633917180324977743658827679071619618555633926054273340943678606463655191\",\n \"1\",\n \"1\"\n ],\n \"10255559345218886028866293030681700249457248644061324293789635519547673518656\": [\n \"12960552301996235459795946498519682028636836847043739076419009734704365720620\",\n \"1\",\n \"1\"\n ],\n \"9631470114098268801903015823376405049963559165998181238294134105270408359878\": [\n \"7224850743718552976120212793665309448143325984604762660948036463171964390836\",\n \"1\",\n \"1\"\n ],\n \"3746600586357714087491678578075577651168203423696587094059841998399420316373\": [\n \"418592902284779983963445045633950693561721639123976951732650407810859781898\",\n \"1\",\n \"1\"\n ],\n \"4099827551646030287827045930968332250289238652301777970508419742050499413404\": [\n \"11879262821285947732881749639734973756940839857085775189857837467369953922220\",\n \"1\",\n \"1\"\n ],\n \"9541658267270873489956654337310677120019245015149485290726604885347927761292\": [\n \"19540069259232573719883918395571568269659126759705797565692833890642205569261\",\n \"1\",\n \"1\"\n ],\n \"5738934849995327228912621876154661104384827408882525572790361295133693427206\": [\n \"8337194141044596838036899305724194147360522263675065527835026372953775359090\",\n \"1\",\n \"1\"\n ],\n \"1047837841690497625447917796315154315551209468175688701865386800520845152709\": [\n \"6163993420983579660898226202252862420705007208655711757315309292892955263590\",\n \"1\",\n \"1\"\n ],\n \"9719550606867234628938494772742632665288831250226892906671976566865180341850\": [\n \"1928019120230626475583943403216219639103214949405041324153552302632048654240\",\n \"1\",\n \"1\"\n ],\n \"5635604760138223857836000867634815678223252707288594198804939711859702280321\": [\n \"5196470428468030699602441794569944047501275885593776923991189362847842470671\",\n \"1\",\n \"1\"\n ],\n \"15616726966581496918004760436444882991974449373756651280910889378526514712783\": [\n \"5635604760138223857836000867634815678223252707288594198804939711859702280321\",\n \"20461132206217329292240374270201444194924061736857893558896297750538461971659\"\n ],\n \"6246265853228056598243782406132964060543142377258550844078305273683296012310\": [\n \"15616726966581496918004760436444882991974449373756651280910889378526514712783\",\n \"0\"\n ],\n \"21180365397236219127061207366618702803950003394743231621017564626282762233765\": [\n \"0\",\n \"6246265853228056598243782406132964060543142377258550844078305273683296012310\"\n ],\n \"12722874242434515404255842487237363393312441514888056272802491881083236182316\": [\n \"8458526437885476374648847629227881505602981675511992558646758412718664069069\",\n \"1\",\n \"1\"\n ],\n \"2874657007213694453910302364856775727915388467643348399929499754293256174\": [\n \"18297270081640791112073107910966277637369332827780256034268236785742258934684\",\n \"1\",\n \"1\"\n ],\n \"17277181585551097214185768953128090836697582962232521325300788015901350740722\": [\n \"19477260188229542918203341379948647455280336941030518927559823932784728519092\",\n \"1\",\n \"1\"\n ],\n \"19826611935523444711049514609435399230993288219947703383494360247723242460866\": [\n \"17416314586758349270607573301651697066991753261935623083758270970190808684656\",\n \"1\",\n \"1\"\n ],\n \"12294623784284571785542155151530367928770945532120093799444820215556151005173\": [\n \"10575492679042349100407610599052935043252118085380456469386855434390923291259\",\n \"1\",\n \"1\"\n ],\n \"18357497989808098678896259590976171780069692492059558710021357151879253686741\": [\n \"12294623784284571785542155151530367928770945532120093799444820215556151005173\",\n \"8708063726034476628529709480339990693777094155928048010874836796094695613397\"\n ],\n \"17556622352915908608356087757761218790406735987865719706792803558713524728266\": [\n \"19060957213317924424831499453911221060645559033830539834110613685195886305152\",\n \"1\",\n \"1\"\n ],\n \"3455167721747330003526680237539478318243647332006063869180834491996878223929\": [\n \"19554537767160004615692149987167507379937216082899060170894515354979357609469\",\n \"1\",\n \"1\"\n ],\n \"11115980435863915322149232422185607692793225157120085412936047185535757455208\": [\n \"6453845123417999164231663123465316388264763386780896492897898249254470956267\",\n \"1\",\n \"1\"\n ],\n \"6254464970835567392834483197073597333534121485837766750787089452213760934071\": [\n \"5596299660302966457943896893394989950925133262066601771064503968102051023769\",\n \"1\",\n \"1\"\n ],\n \"17369533876380206533515491554961014472060849431343028715461505195967486678892\": [\n \"13300509140041066286608384625080821436630128376388677601669478121597982817779\",\n \"1\",\n \"1\"\n ],\n \"10578814845986997442133624482840416631347783402980361155513264368867379054837\": [\n \"10529367121690736909767769298821837439698101920467145735063062584225983448269\",\n \"1\",\n \"1\"\n ],\n \"7973644125695366032882773114816972113594892385826513799545614871934894712459\": [\n \"10578814845986997442133624482840416631347783402980361155513264368867379054837\",\n \"11008252426173764032372505309068443637289254677812608379613546065047702542703\"\n ],\n \"16975988582625396850821010445991383319904455301811866591883793488777174620815\": [\n \"0\",\n \"7973644125695366032882773114816972113594892385826513799545614871934894712459\"\n ],\n \"16075150946215572739701612711349718768629067103061777926980603485977433589429\": [\n \"16975988582625396850821010445991383319904455301811866591883793488777174620815\",\n \"0\"\n ],\n \"522080300087738776332408284032818096077549827922022717827765282455265932397\": [\n \"4208038434213162493163712744523533137825212966042803698181805188622074600321\",\n \"1\",\n \"1\"\n ],\n \"13074657350816522776219003744413204352272890504435719543173906127820485317522\": [\n \"2101160052649998463290844205770849804466301157236324194632008924365991273370\",\n \"1\",\n \"1\"\n ],\n \"11169780922273429620982017797776830837098488823546352729373814871360341050678\": [\n \"6954725046383871700572268676370822823469847223566671134222527789702998947938\",\n \"1\",\n \"1\"\n ],\n \"5686673711730750142010113249573875615236330057023007233670576973815951767550\": [\n \"8214676924711976494111982447811523664162627074225779688363923262427159545914\",\n \"11169780922273429620982017797776830837098488823546352729373814871360341050678\"\n ],\n \"6762178034352837235333257222421278778920256896346624482720114088249561632953\": [\n \"627137122821828068348361892095465595752592738201004976612654734254904175731\",\n \"5686673711730750142010113249573875615236330057023007233670576973815951767550\"\n ],\n \"10514401817149494079120920132410728936341274389841847857702372913494467131475\": [\n \"14511680321317718725045017308232995339123128874114561527931555464361031606545\",\n \"1\",\n \"1\"\n ],\n \"14540362661037192148544177399726959343191646561587785426196398317930173402040\": [\n \"21011608871477754504992153712187381459348517905803242178871862628394307399382\",\n \"10514401817149494079120920132410728936341274389841847857702372913494467131475\"\n ],\n \"7416336042030283007774287383488101575107640994522721181034087056545084567727\": [\n \"14540362661037192148544177399726959343191646561587785426196398317930173402040\",\n \"0\"\n ],\n \"2426456020032518440995124606155009101417028375969234167250353542817412184866\": [\n \"10440037497930390723371269784281026245255135179379907350734208334937726711\",\n \"1\",\n \"1\"\n ],\n \"3413923309968654997947138366549269725341922185187763414180844847559162824387\": [\n \"11001217841732077854115798638084238243322503157447943057955724858807915175163\",\n \"1\",\n \"1\"\n ],\n \"4186865125944935616794616506104804665401396719422020529484586576050642046825\": [\n \"7218882978321213330703244054836012292474702377678445052238373572694891425520\",\n \"3413923309968654997947138366549269725341922185187763414180844847559162824387\"\n ],\n \"5736989731182102111838842875406037217337635578664961317097858207359212251042\": [\n \"6105513627243680775368411633023578430605266627289098068831628626438958717608\",\n \"1\",\n \"1\"\n ],\n \"568622084016194854116596510811247222906746761972796967053762619404459115915\": [\n \"12228484135036243068760217088576230892532332442035625714721230234100102859761\",\n \"1\",\n \"1\"\n ],\n \"16377770678567938836441483428128663069319806470453839697608017761282481916523\": [\n \"14015527876368622291941960000070414689960299632424424819226789969673761343906\",\n \"1\",\n \"1\"\n ],\n \"14908822252500687978216661690636912671785730564486742334086821319744958563215\": [\n \"16377770678567938836441483428128663069319806470453839697608017761282481916523\",\n \"1875814314956826461759826955126380769423626006855625686166761283429184805291\"\n ],\n \"15350797274920583318590867543639175027193776482760155672762537182047622801806\": [\n \"0\",\n \"14908822252500687978216661690636912671785730564486742334086821319744958563215\"\n ],\n \"7393423363962939106872941339821936870925762063288075095986376920878644251099\": [\n \"18208412050554464516212052887000268139913826643286472769665346032013884059133\",\n \"1\",\n \"1\"\n ],\n \"5922394107678062924257481401492854104148791753285515178448972087299348069204\": [\n \"18327725777509165278261639016731037105749645515739595956044083871464238384203\",\n \"1\",\n \"1\"\n ],\n \"20618822767874704404776544338636599227199240462643691765123108470164937497563\": [\n \"14789512524843036166637789101165544855272382455898938637697506976745493803383\",\n \"1\",\n \"1\"\n ],\n \"14314213710846425763986214812880648398913877143353521013639932827813458302419\": [\n \"19466386847975635449954719285439428406236219696509793176829893563807437820988\",\n \"1\",\n \"1\"\n ],\n \"14795539280005804255968130561943825271841572707370309580928885135895252863630\": [\n \"5480648058008356046233332802605873706164274628618566101165321955978252651768\",\n \"1\",\n \"1\"\n ],\n \"14126354835354715348205118753865958737072304223838345442134166819030204651654\": [\n \"4336172488075038663174344355880554735147606051142600189191996228406616675985\",\n \"1\",\n \"1\"\n ],\n \"2347301420540087783407533570378816408268103630671010567033425595595362026187\": [\n \"14126354835354715348205118753865958737072304223838345442134166819030204651654\",\n \"6579382778199019363046557629305104113067727394363298664405388511333738073902\"\n ],\n \"1055264314675187722945551531852884648743088644088799345335557871564422943131\": [\n \"5883262452919729890250008306540214216436537308404361410030828297199468102929\",\n \"2347301420540087783407533570378816408268103630671010567033425595595362026187\"\n ],\n \"12999110474689762645901966404881307847656217538804809537218794133479904541742\": [\n \"12897756483314428752107394014709454897628916837279527396460214057140240182045\",\n \"1\",\n \"1\"\n ],\n \"9561734647749585118747527686489975730885373010123375736515009454982734828803\": [\n \"19549584055386325374102420571863434824021763243573639206928229981420778761858\",\n \"1\",\n \"1\"\n ],\n \"11548468682073289243726810812154211328384544192160659322878060166918390842076\": [\n \"8122542230260635806801827519150349482772863663367303125440397407295425124459\",\n \"1\",\n \"1\"\n ],\n \"5497051928056996881964847631154298806401626721467400630042756671584976892014\": [\n \"11548468682073289243726810812154211328384544192160659322878060166918390842076\",\n \"13933243619354304544184078256069164644461712020491960236166941294632390410458\"\n ],\n \"1977938430018486408757074223952461328476109353132301106599067105536151586903\": [\n \"5497051928056996881964847631154298806401626721467400630042756671584976892014\",\n \"0\"\n ],\n \"1415631477332512179398158396043960311411475838290429479486648502821315387324\": [\n \"21515370066711794970990638026338632301370312525572852095500142816643837731667\",\n \"1\",\n \"1\"\n ],\n \"1847569160187625599434401985863608495098472782352502059310939424739130015696\": [\n \"1776688567473845488572274040334759766840353337061877090446200145174150112181\",\n \"1\",\n \"1\"\n ],\n \"10180441319356365133706216706514204541843721193393987297978352796775277297073\": [\n \"5406218249950335110966352452223317844429544198169756152308119813428052528997\",\n \"1\",\n \"1\"\n ],\n \"14118443994609316557384097215422668558016224575592266039641070702615414436229\": [\n \"16088707995068109607674171518591913670577938409026186915604009290676556070574\",\n \"1\",\n \"1\"\n ],\n \"6624576447857885923892937930538921967356505534692253696877035690126643110601\": [\n \"4098392120226590720902864846743006101127360360465764792652719171836936831374\",\n \"14118443994609316557384097215422668558016224575592266039641070702615414436229\"\n ],\n \"7483205807115945856496378933371059093869723600401142115083318795325668980597\": [\n \"7626805041888129427507614524012778550476641354808136352275651512961255532616\",\n \"1\",\n \"1\"\n ],\n \"2031443726134838287045049693066041059089453243980266789309725437720544561646\": [\n \"12766378914091850576494121289028360308617122619749341315140480708864726861301\",\n \"7483205807115945856496378933371059093869723600401142115083318795325668980597\"\n ],\n \"7166631184101071437208238960555914600671318374721266468899136066089045707998\": [\n \"0\",\n \"2031443726134838287045049693066041059089453243980266789309725437720544561646\"\n ],\n \"18264272722400837725470763216499648822067825266918825731395795707769746081735\": [\n \"7166631184101071437208238960555914600671318374721266468899136066089045707998\",\n \"0\"\n ],\n \"10926931066279251480979229110505907521037649602299693701794029250527754085277\": [\n \"3809967165694635295639222968133673705091152214961210312831966431980707703215\",\n \"1\",\n \"1\"\n ],\n \"15750269628096134096392183983602287109727228746016080016749245009167888098177\": [\n \"9501416817972944966303247483031796263707298288648526334251186701937279604478\",\n \"1\",\n \"1\"\n ],\n \"6833600589974325678080828232801635842780195633568637128831123185490345588532\": [\n \"13061989470863999699239409621995365085695505319708465229973980756220192859647\",\n \"1\",\n \"1\"\n ],\n \"348338498257948090624250720357976021714475977740553546611406960262531611252\": [\n \"12367224650083136865458391356058312948597553216732288231157047604972466520398\",\n \"1\",\n \"1\"\n ],\n \"19402673051723541183511328134919687577283581343977741596028318662610992440353\": [\n \"18141946217319284137881147010695436223860711912887952057763443822738866725165\",\n \"1\",\n \"1\"\n ],\n \"1611506391815300842278342554644230200958182737855216528857643639083283332448\": [\n \"15765250662126226815124469897779914614901143645309965995935387634392172728463\",\n \"1\",\n \"1\"\n ],\n \"13768883215943192034327560826310715301341780118220287306423522704269164700611\": [\n \"10420959584967838184835169209734873714683910173500200986276040588032019238014\",\n \"1\",\n \"1\"\n ],\n \"19489859478078179453158040718047036737880456297723072822144879225783015717770\": [\n \"1239754834674801153020097109452045261333269968481473998791797722086707287007\",\n \"1\",\n \"1\"\n ],\n \"8745976361886882474318548011921680875566954123429673722876026773476336777569\": [\n \"14768183474208759190092995089178845466255249469766233653312449847494114659549\",\n \"1\",\n \"1\"\n ],\n \"13026628533428622188121560315040213650738643786159271843063020047305835232476\": [\n \"13566984066799792801535564568555571048001100942460350116714061521379540466354\",\n \"1\",\n \"1\"\n ],\n \"2493712021216728102004791594420213593552079910412770778275109796636118339712\": [\n \"11919785762329815186366005258856723253774298852042857312907296746044759494493\",\n \"1\",\n \"1\"\n ],\n \"11251596606670399890956462116004738214414193001587160498538210982775607463301\": [\n \"4552083790768901595110718540005646917215944234673153090032858801823591566040\",\n \"1\",\n \"1\"\n ],\n \"4602518286520697820642346269015441736346212581187864322337082955908873554660\": [\n \"17006494946078322689873327226299958565850720461123141475994060978166012642088\",\n \"1\",\n \"1\"\n ],\n \"5962919878969241783769716008555821274558946869052740237614715677353433258083\": [\n \"4602518286520697820642346269015441736346212581187864322337082955908873554660\",\n \"4342203166024553395082385611414258038219408463142765279845697084594017605372\"\n ],\n \"10519258651426966448869368335160984550345867110997597142205577638667412477802\": [\n \"0\",\n \"5962919878969241783769716008555821274558946869052740237614715677353433258083\"\n ],\n \"13320233671820602742112455315614765074743350160131222524361833230763868520003\": [\n \"10519258651426966448869368335160984550345867110997597142205577638667412477802\",\n \"0\"\n ],\n \"4360492786994506094564257448222423471119931464472964491313807831499908368230\": [\n \"0\",\n \"13320233671820602742112455315614765074743350160131222524361833230763868520003\"\n ],\n \"18409884506840370929384390979054396557333288244593991409764112622780442513850\": [\n \"4360492786994506094564257448222423471119931464472964491313807831499908368230\",\n \"0\"\n ],\n \"13085040509238764626234236326586810607443695664682760339346671890698549763258\": [\n \"18409884506840370929384390979054396557333288244593991409764112622780442513850\",\n \"0\"\n ],\n \"9683747855980517238803401265884316489630923987994452226594276708607719038737\": [\n \"13085040509238764626234236326586810607443695664682760339346671890698549763258\",\n \"0\"\n ],\n \"5124895312310937470106888669616647835475750515219608515015827625849478013342\": [\n \"9683747855980517238803401265884316489630923987994452226594276708607719038737\",\n \"2890513471543075792857739641620064928369345595766970545171795406946796843904\"\n ],\n \"8028042367682906474963805909319563834033122223281707374585558657369117685887\": [\n \"4162383974377157761324035765013399564816977202825811529695784435498945492892\",\n \"1\",\n \"1\"\n ],\n \"2604033433277312264991977372369748338354785040024383263897661099874649137539\": [\n \"3202555722083350832621762101419991232523607381822330965542877550467434237521\",\n \"1\",\n \"1\"\n ],\n \"9241122550303400662805639272999226114542610158542273059268092111910288237012\": [\n \"2604033433277312264991977372369748338354785040024383263897661099874649137539\",\n \"16717813237642845045233798817504322614513703210205987722314832117794156145979\"\n ],\n \"14681253838593106926802851394224404544364099493339485191923020657402446367536\": [\n \"0\",\n \"9241122550303400662805639272999226114542610158542273059268092111910288237012\"\n ],\n \"11921334813533879971047046913195924703558961451939556294762434627008875225002\": [\n \"14681253838593106926802851394224404544364099493339485191923020657402446367536\",\n \"0\"\n ],\n \"10113007050121430567566089799731136245940912941578849230308383814542422759805\": [\n \"4068431819689780274896045491412180432190942796849662113062300641351191077423\",\n \"1\",\n \"1\"\n ],\n \"8943809333558215245636343025274937360553352343405146085691007440580946048034\": [\n \"5541113001936857182220702710687994946342261984249879764797082615882285743262\",\n \"1\",\n \"1\"\n ],\n \"5086509839234807417713312409470286282676825598309992842593525267129714162834\": [\n \"2603399296052682085184260731022383200712970458781861478539818876033589134322\",\n \"1\",\n \"1\"\n ],\n \"7957250070335682166426521861934877276749686308097479980792603529051626461302\": [\n \"1554009224229172559171422611240643809699910854940486067998989081699061340124\",\n \"1\",\n \"1\"\n ],\n \"7250729668926362355037995782865528778565038406585590931454897718432995002717\": [\n \"9197262041069160268667177972011312669578489897727454087786678572700566177147\",\n \"1\",\n \"1\"\n ],\n \"1174130095727050502681098469782795728994857438908421803782843698800103460889\": [\n \"7250729668926362355037995782865528778565038406585590931454897718432995002717\",\n \"3736206292328676365047661141751739165787273937189858727197419317933973389044\"\n ],\n \"10622672288135822295827721419191981737186903412521770688267013339837255882017\": [\n \"2766258476287749311527601976664652706923403446985027611115544854170596656643\",\n \"1\",\n \"1\"\n ],\n \"14472957742015122438389408793581835780242776512163864805740409580731271485149\": [\n \"19007024027768135839851913977784998384025838142881498776200369320045223121705\",\n \"1\",\n \"1\"\n ],\n \"17491271996414899603140359651256770853552882134066869603081035875497895352443\": [\n \"14472957742015122438389408793581835780242776512163864805740409580731271485149\",\n \"12462503233703327433686326032742054524887942164503210482824235726745016179729\"\n ],\n \"7317954421356007104561495778137015139223957420258510568142184579094278451002\": [\n \"7944630788627508874881330633794137666883160876781773450281086871834655590923\",\n \"1\",\n \"1\"\n ],\n \"14553757636663004902474000446549109221137145176006100969686720485359358363678\": [\n \"20599437973020636687770784678345339681460787095445119126541688488997326622500\",\n \"1\",\n \"1\"\n ],\n \"361127872729339868617279675278877742483988156778531449090464270272407053895\": [\n \"14553757636663004902474000446549109221137145176006100969686720485359358363678\",\n \"12596617855039560527486164117100450089694476034410469742971404724903632355720\"\n ],\n \"11513212683109614252359602161569881047356151921230220783495505132131256874251\": [\n \"6255954730753362987040303644425684171847986500733552961008745045103357935250\",\n \"1\",\n \"1\"\n ],\n \"11409191165009762232164393342723685212892468113299362461532941696868403926001\": [\n \"17453878943789634496611263107423287854025526603278174434970112289891914993732\",\n \"1\",\n \"1\"\n ],\n \"15784325557778126938644088606187456289875334685754019769604619710838545466376\": [\n \"10381512433538552656505000297702858411094985129411626936486847545852025396385\",\n \"1\",\n \"1\"\n ],\n \"15007088594881443439129578056655892560704354193152477895488578792012626219741\": [\n \"18666214744006252987848878137671351514716999439784793304395723016440539107155\",\n \"1\",\n \"1\"\n ],\n \"8051336590283269578730577715359589027348078016504486492180587003960178477233\": [\n \"16090775686507904860683652061490076944206692122574025634243918375902631400328\",\n \"1\",\n \"1\"\n ],\n \"17123498014305727299068422248875603950843032978887195380894938578104478084656\": [\n \"16898783660771711105610656144174987052467168392972507666731884080120675237591\",\n \"1\",\n \"1\"\n ],\n \"21056982384221285512754796787352958989283742433849472698831250611156845222337\": [\n \"19429894001618509357874407783258992244927498058317474239214652395440460070440\",\n \"1\",\n \"1\"\n ],\n \"6817991850348718027438845814395664014836220674904120722213128647129601356261\": [\n \"16741253174510918249155834996561693791739156326437884104474878048326894782022\",\n \"21056982384221285512754796787352958989283742433849472698831250611156845222337\"\n ],\n \"196055101495858029654013554991949220490900352906418212949813793464194449893\": [\n \"5118182632417380756422620144201559104212436929159574308621116834301699578432\",\n \"1\",\n \"1\"\n ],\n \"3280739402180729599457836125999130834121026291748244844165691223047108369518\": [\n \"21214371185622578163068982003746300373123015685756335731485434321034801879592\",\n \"1\",\n \"1\"\n ],\n \"6362639758702818446728897060734889689345518590756336431366711753096650753305\": [\n \"5199153945127009333611721416971339712098108695838264660976791949054732099678\",\n \"1\",\n \"1\"\n ],\n \"10702680875300555550584819917118785309019294875696371404087105392294356055780\": [\n \"354970763477175212486232703872253829674544830632606426208028910032279215940\",\n \"1\",\n \"1\"\n ],\n \"21005531444616309286250295129967057725629185848501006698480216591363219478837\": [\n \"5148959891734338190298345367494286395091467367531347283361346419491507177449\",\n \"1\",\n \"1\"\n ],\n \"9584144172494819730504928340632239690087090404521194148255017551522786560506\": [\n \"20247001094325126937312875159259862422258964816841704281480332599892588504221\",\n \"1\",\n \"1\"\n ],\n \"19111888836174942256944647592999333806402035181200718532142089764066582256219\": [\n \"16672061246878760390270420496114934327968144383096839515962805922025895285697\",\n \"1\",\n \"1\"\n ],\n \"1675714246999502336540527323804058615113678949691314049948790939798450921200\": [\n \"10294956858829456735739469940598285291156208743329574715599996439406074186935\",\n \"1\",\n \"1\"\n ],\n \"15922729821429652466190361980321824330064638714880070373187584434250157356610\": [\n \"17115127423023016506195279889360610278907892040251685805605996761495794458936\",\n \"1\",\n \"1\"\n ],\n \"12080484188884589123260486134331828330350328076059783980648741182153449509663\": [\n \"16027904499238675419992024118605740128249874427290166688650255203204460380993\",\n \"1\",\n \"1\"\n ],\n \"12129229197021626842044192986172156192357536586379126783041600778467637650976\": [\n \"20061066265685471318716576530742323071082553457412007469974076607269361910201\",\n \"1\",\n \"1\"\n ],\n \"9734465627881450307802828465762873774661642335006442411488686624536574927331\": [\n \"5475773472885929063556315041147638333431158961380989535801475881594470171344\",\n \"1\",\n \"1\"\n ],\n \"9472248477839003350377660048858316217416461306681213703240933187401344432649\": [\n \"21451695530749983395134700002593395476997904677531094587957185917899094556204\",\n \"1\",\n \"1\"\n ],\n \"5739933633524636870940157864525834868648364310095949965403525815448933793130\": [\n \"19851853295834976546193092799997322228103838678159406245795873094050176966669\",\n \"1\",\n \"1\"\n ],\n \"11674380922758169444628237900779380102957906450151262639259281703062107117731\": [\n \"13857007511867546426621752007662849361321431994405670168092752442314988168718\",\n \"1\",\n \"1\"\n ],\n \"7759632973956827314041005544941765165052552925731534138293686085514548033730\": [\n \"16528399474340619418150940624391130143823065568698472783484368343006729247119\",\n \"11674380922758169444628237900779380102957906450151262639259281703062107117731\"\n ],\n \"13758226862535944622002281521372737161035721072066511092147139956539912225413\": [\n \"7759632973956827314041005544941765165052552925731534138293686085514548033730\",\n \"0\"\n ],\n \"1588023733434298896599374786887201748393412335766826817687666051944629178384\": [\n \"19332653723497080734880300945224436565468368462410602727232227591469108869566\",\n \"1\",\n \"1\"\n ],\n \"2759106829200247188755527941744221702449067991487782492905866117439483894149\": [\n \"1544811083820987863334783736495016205152273413034132572535906248920243282100\",\n \"1\",\n \"1\"\n ],\n \"2140134577187549832436399982264033939816398239670843272145314594628940934031\": [\n \"2838271961792555730125160403298182741440131155956448301138342009275526800012\",\n \"1\",\n \"1\"\n ],\n \"2543392065799008133050342477255709030132896121824168607268523607934342480643\": [\n \"13393155477222142193915180570327941617087466304629436914469899071442503282789\",\n \"1\",\n \"1\"\n ],\n \"17856484638323552981911501796688890231241704714670037100482298541265461759442\": [\n \"18860635630522900604493410695017658588341957170688388100104410297119479859393\",\n \"1\",\n \"1\"\n ],\n \"2033013237965374492735071303794127015750518732749312456489760442711951223750\": [\n \"13680316682165124839925598793080220731174604242103646807022616867346886726036\",\n \"1\",\n \"1\"\n ],\n \"13870091948543977352601539586539078280313470008551776148520372459334168964837\": [\n \"1167807230964538777820729689014765938403253813787618164106289083301742964493\",\n \"1\",\n \"1\"\n ],\n \"19776661421393101670911830456714553416629987336150540965978359779187507004285\": [\n \"9364568644117599629488350133144160142722342733015627286306695119743336130901\",\n \"1\",\n \"1\"\n ],\n \"6889341588531510142746533712909443888744985020064005536151609455432477395009\": [\n \"16403268314532318727041854962442716559466903302416081334906252205442620361519\",\n \"1\",\n \"1\"\n ],\n \"9899044311132707875699756195348012538524884082415613539169697569606352446387\": [\n \"14853095915059251936605021090218507675130440172423258507547350519668914790179\",\n \"1\",\n \"1\"\n ],\n \"6555791084844867855263643434137862735240156597483539635313344533313569290439\": [\n \"19632682014332541559837274474791205715412941088513210227611122784405123469694\",\n \"1\",\n \"1\"\n ],\n \"17578545420899858483721553592247698195065641993924388478767882332067971390404\": [\n \"3897302222069203827670712395953562369460387665982198394876607798593723274479\",\n \"1\",\n \"1\"\n ],\n \"6165237335575826383726862960840395444661965287619919154977723936759492698826\": [\n \"14923749999111730051184232716090584633176177997757429608258380570723132298614\",\n \"17578545420899858483721553592247698195065641993924388478767882332067971390404\"\n ],\n \"11965932422410871840617892864080706806473933615001048959572065076780409374825\": [\n \"0\",\n \"6165237335575826383726862960840395444661965287619919154977723936759492698826\"\n ],\n \"4506248528358983571778194074712891767537743641605136852737706314515809533433\": [\n \"0\",\n \"11965932422410871840617892864080706806473933615001048959572065076780409374825\"\n ],\n \"4759957588261882561720102018404330506263014144774950424601907610944021207996\": [\n \"4506248528358983571778194074712891767537743641605136852737706314515809533433\",\n \"0\"\n ],\n \"5740313741945091685261360129381402466458639109024601451728333553058355281913\": [\n \"18314951977977178940838813817245440484777116097578414520715871161884813418888\",\n \"1\",\n \"1\"\n ],\n \"17510316477156851336712840893303934420137863326852287271558612051088272674064\": [\n \"10570009889256480197902344989664039345935465273695274720057295229493748398669\",\n \"1\",\n \"1\"\n ],\n \"11766753983103956426648501409652685330794417823357792503767766831835381343568\": [\n \"8396044298293259240414947371353831816596115890513240856794034276872803973661\",\n \"1\",\n \"1\"\n ],\n \"4811317018958691264496619812068887867283141166263435948886437334544428354467\": [\n \"17883290537698896990518038125079628672961053676165396628915163197929695505195\",\n \"1\",\n \"1\"\n ],\n \"16423726156122638205893711714286734911021799032676145980425893823348233207512\": [\n \"2144629199883887038183846649110984160667723721931302057355354122145788588073\",\n \"1\",\n \"1\"\n ],\n \"15833830766758885053160719869605028211987678730393202724570916915759809422938\": [\n \"14036970951718237094590934195213076153317483469714457077702805870171163254898\",\n \"1\",\n \"1\"\n ],\n \"16038899377253626807581866886454655465273111561143020208324990656360720025424\": [\n \"20587256088744921400259203721715640258271736230468204720498740651925811521568\",\n \"1\",\n \"1\"\n ],\n \"1659246900823915187137265690865021535867850502356761379369293881681614356491\": [\n \"16038899377253626807581866886454655465273111561143020208324990656360720025424\",\n \"19611858582860030605195536745475915760132736416337256248800385367070405053658\"\n ],\n \"2762174849224746991532278743061965323579262281099532418773353508236369593613\": [\n \"1659246900823915187137265690865021535867850502356761379369293881681614356491\",\n \"0\"\n ],\n \"16272855316616658886758733856394528170133221931728959087164813683465501033252\": [\n \"21173417963555120022644118024138046935066289775540132920314320324527153442664\",\n \"1\",\n \"1\"\n ],\n \"15735450559431173702930617526146370132956313687938619031374476065469339652787\": [\n \"4661853590914067538830455443882327267909338526075044899324923168615705311432\",\n \"1\",\n \"1\"\n ],\n \"17204969096992794599574292278954658471248289240564172334350330724399632380123\": [\n \"13207362320504146965944120314503674989361512979462912236741140045835294498367\",\n \"1\",\n \"1\"\n ],\n \"15598685645418512179008664473071490750176538770955894275577719233933245192773\": [\n \"8323121479434294699028371321814179321573733772875754789346672424836381558094\",\n \"1\",\n \"1\"\n ],\n \"18000463199827978924062468558148508572384493432700578756833752972769658665266\": [\n \"3901555494194726288475582167873191420156032803519229530392720655479405489102\",\n \"1\",\n \"1\"\n ],\n \"4761821516402117862922702578177924251997038722675791000844154666314250971047\": [\n \"21136100031649049525435941857742168755147751856456577075211221101286033193263\",\n \"1\",\n \"1\"\n ],\n \"19152415376512553829125904561276957196512763716813266867926784744999981016379\": [\n \"2989288394186411140469762782787108150489670951768396075656088774618112511191\",\n \"1\",\n \"1\"\n ],\n \"3702888918171640293319217444971608283012404650640895454892169878168125782661\": [\n \"2732908151695792387171759646975180280602930623734662920034243234366181141610\",\n \"1\",\n \"1\"\n ],\n \"6661668450476300462165551517873971615305446419564559053217640083256550975392\": [\n \"7139473052968324529136139491162137194386566389623949125495031012490961236368\",\n \"3702888918171640293319217444971608283012404650640895454892169878168125782661\"\n ],\n \"13076109472751097177679575165341570412550533013684203228734377359446812999416\": [\n \"0\",\n \"6661668450476300462165551517873971615305446419564559053217640083256550975392\"\n ],\n \"522810235527058451417267439441004924279128621285882297497275996025011475418\": [\n \"8118343251856876657189834754028564129838329327890942970823655468287710596682\",\n \"1\",\n \"1\"\n ],\n \"2653159737952292379791330949929017752639418663302180838687665669669001654451\": [\n \"16483734377805341502130665067082690941513536492369289266137955305215623907764\",\n \"1\",\n \"1\"\n ],\n \"13288810350135164681959819926804314831119459916072503050809957721798472721826\": [\n \"17277181585551097214185768953128090836697582962232521325300788015901350740722\",\n \"2653159737952292379791330949929017752639418663302180838687665669669001654451\"\n ],\n \"4793269045418880366087624429833251165229854703455077386733362774245051903374\": [\n \"1827483198958875423740801389789574682443992021002740126085874851041318941135\",\n \"1\",\n \"1\"\n ],\n \"20558794830938510057000418143641918064083334562208974640100405073278203821863\": [\n \"18200568927456070800879484679093606484324076087281508838813821343561702554156\",\n \"1\",\n \"1\"\n ],\n \"6552757945483471270450758229162770799489130470376184435655088825169658910716\": [\n \"20927242096247877851970880504757951744571037067842037646585524615785718314759\",\n \"1\",\n \"1\"\n ],\n \"7933701298241977225314030209303552322430974553690869953605700194352402780341\": [\n \"20586271458028148997248314134224367401826269812913383395391980826815404412849\",\n \"6552757945483471270450758229162770799489130470376184435655088825169658910716\"\n ],\n \"5982978239290204158847130552945219910347740523338979291569430380388196089137\": [\n \"20986581942469324458421231399990476862983974607444912711664454887761531593963\",\n \"1\",\n \"1\"\n ],\n \"11694147280052897075463088829621105124230578870750037082309316163142884972954\": [\n \"16245234737163902988206354763098831008680643121681057761832755551771950933295\",\n \"1\",\n \"1\"\n ],\n \"17949225188986818845527147842214288408587827481785619100100871981958989879440\": [\n \"10639613606430048677153971423400310621699382896733046355614355342628435911614\",\n \"1\",\n \"1\"\n ],\n \"18466206866432854963983095128322683627629577049764893343963446114262793626742\": [\n \"12525241541040947427473407013022201041066015646863974345201995555211084137118\",\n \"1\",\n \"1\"\n ],\n \"7105903337036840676006564660052840528754091372296528328766321064975393466653\": [\n \"19827008361380019829164346613040743410936466904687212752224478016705702265390\",\n \"1\",\n \"1\"\n ],\n \"17386204415922952609825368430974503991817797763960112353156795987224590372701\": [\n \"15908194352574228521448000923825804153241069383157586561943410708153896443187\",\n \"1\",\n \"1\"\n ],\n \"7631341103665790447897589482686943044908469945231062086709630905820957762818\": [\n \"6524082745955748990335108399599325021372738121439699986565559686034724510493\",\n \"1\",\n \"1\"\n ],\n \"13011702455211930906628088362690742683066268702983828666209994309509681482030\": [\n \"873457718872367088303559825209389133624131815438948571425098181995577047003\",\n \"1\",\n \"1\"\n ],\n \"9801289119542547032398383772699001956411054153339361020935029348054735490858\": [\n \"19797032011623463532605140154577253687390779441644377001410002619388513864655\",\n \"1\",\n \"1\"\n ],\n \"14595893515055206344361246039990012700822493503115580444300208680283237040434\": [\n \"9801289119542547032398383772699001956411054153339361020935029348054735490858\",\n \"5849991401915355787416401318287768629280802218162095246670879831273284148658\"\n ],\n \"18759068769871770554694853415673169283340490423507129997300624845814678232219\": [\n \"9856081856303601411351051267433688640036345772445237653816712622629373262953\",\n \"1\",\n \"1\"\n ],\n \"13963314108595410310386428907819201444745200481620658961886472490508217616210\": [\n \"17722343875596660165676882995368231263970010140324098013005596340944451900936\",\n \"1\",\n \"1\"\n ],\n \"5838277559586301336600221654198925697738115976125925833993653223442868883191\": [\n \"4721298554820727909377493231780917348149770806697470840889465521289075515918\",\n \"1\",\n \"1\"\n ],\n \"2468451962736495350206818683608526448824002285470633844912187837019787217042\": [\n \"11591928910448603351074163240654294267401569261311997452393932208965848786282\",\n \"1\",\n \"1\"\n ],\n \"5138011208561134615488216684739616060758561358105900592983100898778465024140\": [\n \"14735307877500023929665020382031116527436433459468632084255298390124003650693\",\n \"2468451962736495350206818683608526448824002285470633844912187837019787217042\"\n ],\n \"13642989202935664349009992176995969910989861412143502289249961654485940375680\": [\n \"18243132572212255565642819517861856468284478729450779646562516535075699931528\",\n \"1\",\n \"1\"\n ],\n \"14465473092415563121508096712862854456857073349041657616527942777770141263266\": [\n \"18873698362280673729825337482718779932983345629846786690713790217318521162314\",\n \"1\",\n \"1\"\n ],\n \"6205062513235678111869349106624612888039022966096257142106926228997083589086\": [\n \"11752093560554380818155434598961302528668490279445483346342643310135210226661\",\n \"1\",\n \"1\"\n ],\n \"14137495728406170035221302738616895274927640368788430851775882745314590510418\": [\n \"6748748572905214636347596222531433796904468703777556100326258459308583186962\",\n \"1\",\n \"1\"\n ],\n \"8672510182885562729456397223230143580969244468795900404447742481794682111225\": [\n \"17668450072999843259688274989235284505822223291372702733525980848706308940153\",\n \"1\",\n \"1\"\n ],\n \"5547775014144058568889594957591103666313119995832486117944104229644228012943\": [\n \"19405778670091656897518550520837461085096932688053057885759660350248816569559\",\n \"1\",\n \"1\"\n ],\n \"3044007930135383965361299743666839538939114352240382580774444582678414788988\": [\n \"19152415376512553829125904561276957196512763716813266867926784744999981016379\",\n \"5547775014144058568889594957591103666313119995832486117944104229644228012943\"\n ],\n \"10100259235166428683187475987612486434166384456929456329615089977405159332531\": [\n \"15143610742104463350588039627297047995515742039943889788395320280441680110754\",\n \"1\",\n \"1\"\n ],\n \"20054430240281027768568549913723845949311872243859365251606389598832084067833\": [\n \"7704096089118775550265971404263243121244431510498881911056398663528670169422\",\n \"1\",\n \"1\"\n ],\n \"5147919619363535646176755516229447944583147942170462049059408863602491731551\": [\n \"20034454065854752799563925887452621919181368875335348965625143084769443569901\",\n \"1\",\n \"1\"\n ],\n \"1439825280711030417826126626578876111416864360436248620293226160463296867286\": [\n \"5147919619363535646176755516229447944583147942170462049059408863602491731551\",\n \"9541658267270873489956654337310677120019245015149485290726604885347927761292\"\n ],\n \"16389478304063353321676265880779029724556468605698614428101587382064862423013\": [\n \"1264468478237077208567753671287134731159062356994036451459010500016483641969\",\n \"1\",\n \"1\"\n ],\n \"15987408681704055077458925833000692063756077257470445018864587493617087658201\": [\n \"9404621365527772607171865610429625516338837474173611949932172749354770836113\",\n \"1\",\n \"1\"\n ],\n \"7062014013692912640300074264459776614454651983383057348024822487800403634829\": [\n \"9543694731712701340947251626317810051038705359001209999590210740898435525517\",\n \"1\",\n \"1\"\n ],\n \"12380164409345230275679041112740633814781653574746359903032229959954561676128\": [\n \"19505334386739476864060432965924511883116975470268364076897107623855459956271\",\n \"7062014013692912640300074264459776614454651983383057348024822487800403634829\"\n ],\n \"169747786348420095028244287409211891965160647542678286695282331687617216555\": [\n \"0\",\n \"12380164409345230275679041112740633814781653574746359903032229959954561676128\"\n ],\n \"20521336636061001670064591877559498570307825342118690019375341547254359083866\": [\n \"169747786348420095028244287409211891965160647542678286695282331687617216555\",\n \"0\"\n ],\n \"21705702086033592632845191722760282281851998556509529395584018492768434238745\": [\n \"0\",\n \"20521336636061001670064591877559498570307825342118690019375341547254359083866\"\n ],\n \"20279937274027108009753714365013552521765312154331827153322295942148107585638\": [\n \"8596110335150666866509880418212656042741919220536877026696263474744293792095\",\n \"1\",\n \"1\"\n ],\n \"19076660877408764333435035508460338760088754100968622616232000482880054913287\": [\n \"8776089930014897214358064959851353032765875474643348254394528574244256283602\",\n \"1\",\n \"1\"\n ],\n \"9078999069984768127336945912726287790606135102856859549572289760393333654198\": [\n \"18157885003535220741802252928250380003000778829873203527848191967230345628506\",\n \"1\",\n \"1\"\n ],\n \"11432204825212940596650140025969126002361383251647192417836003514514972609319\": [\n \"7108793096447503379932997910900013242922000335199370752417829958764634410808\",\n \"1\",\n \"1\"\n ],\n \"5845814224886854372445149995219315035650083034111352851467753701293152831771\": [\n \"18798788368413083073955615422526937546633560995811947490124810468611857098869\",\n \"1\",\n \"1\"\n ],\n \"4002719883297954144980503781423481044704674682820823729543291742596737433904\": [\n \"7453156593297351433236181580219948674404130932054292509877269300862261947215\",\n \"1\",\n \"1\"\n ],\n \"3836190827832776590998850970807176026148981324378248876827524867137539102890\": [\n \"7397397219002736982262500503912136515145627112996084001664411014421584885960\",\n \"1\",\n \"1\"\n ],\n \"2349585917818602716618268650274339221289081089304701630184007908436268626036\": [\n \"7661530977106848311890920403706273032236739955109161327870544669754157002379\",\n \"1\",\n \"1\"\n ],\n \"5672211758214767135131370637865146309973765882742639844568570241543539541081\": [\n \"5079087137820579133799909435542733240243619580244395269603259583970839183273\",\n \"1\",\n \"1\"\n ],\n \"6871048926193046938174166881137057270783302004190490799795004745264822168593\": [\n \"8600315651130224186586000171692561574488396709863671035453001718515131901489\",\n \"1\",\n \"1\"\n ],\n \"7190220558488457624095559282510871314311496737041606406647698620664143667132\": [\n \"5588261857927757367605156500043996487516930553982459618353772047788786318586\",\n \"1\",\n \"1\"\n ],\n \"12692221160845918431860357799561404102392485143766880676543019523423397028694\": [\n \"9426380674471202692815385508630149176942921185497960350500742844431991038490\",\n \"1\",\n \"1\"\n ],\n \"7904168973553529496268239110618200210729996069530441200206414546129975471676\": [\n \"18829627950164149260093073117020597962967244256374125554461441593169195096220\",\n \"1\",\n \"1\"\n ],\n \"4034957957291515080505314067837729859013565559545812236495945673368267625154\": [\n \"9086144830118206892284374097725081091473335113017725208384909789923541177171\",\n \"7904168973553529496268239110618200210729996069530441200206414546129975471676\"\n ],\n \"15514835714211635986608265486875518143785459818339759146662491843532429132249\": [\n \"21249343380758285411736997447428335259845967871132451201116893962823441856112\",\n \"1\",\n \"1\"\n ],\n \"15376538454406993462121531121124488099448215546466165238572171145638487765660\": [\n \"2025548734069638522652053934843683964463582830188201326498587245865488770405\",\n \"1\",\n \"1\"\n ],\n \"17666510146379651130050330917031627760904447315585587127208232112116884942508\": [\n \"2811546914950450508850249235055878444009249766173874280198336671007951664167\",\n \"1\",\n \"1\"\n ],\n \"18075812223267980403254068910183734664903187859701502075651277827891924235958\": [\n \"8224387687060744747696755030628018845055334330830814152718380694973157634492\",\n \"1\",\n \"1\"\n ],\n \"6814738649775231885069068359763509262457306264960309257291731972813373829618\": [\n \"11176319275954978564340783935213304665198366414730776140984896293021235695300\",\n \"1\",\n \"1\"\n ],\n \"2401076620881995445635297424800535945108566259289596657771002227772826474630\": [\n \"10654798475997057628088087976792224331777901145959252580509172362541518444694\",\n \"1\",\n \"1\"\n ],\n \"4455529025293691344643193889465236143134548482696893334866597326201277427905\": [\n \"3732389842661845418016932429320848209807282781974592169922829590217482272775\",\n \"1\",\n \"1\"\n ],\n \"10153944148055775237770237185724643922608403656184147788855076293607835738637\": [\n \"5107073192835279737300317508320283395903846570242327610190591592042493711588\",\n \"1\",\n \"1\"\n ],\n \"832010739627737271060429609043127181688103593410514734063391192779295360558\": [\n \"9083950922753026657770826658126764108559850637805899788682963522145870160747\",\n \"1\",\n \"1\"\n ],\n \"11906891525507549267912662305049724201039627944343177156869045503956731722333\": [\n \"18758823290758540210469823701534495286244745129694757717598351304384818527061\",\n \"832010739627737271060429609043127181688103593410514734063391192779295360558\"\n ],\n \"17575889922161690578467574489719070848907815222928662326056344040446359981859\": [\n \"11906891525507549267912662305049724201039627944343177156869045503956731722333\",\n \"0\"\n ],\n \"12823655678006104661206861945201895993127835068822986874455723795576813035961\": [\n \"18808215001296266071752960678522872302368511628221417844285444556599033145331\",\n \"1\",\n \"1\"\n ],\n \"17099638079924010043737127352209165532510535193934689758378580595526999198824\": [\n \"1143506939779937117466244364818394577921452724960192695617435899130237162887\",\n \"1\",\n \"1\"\n ],\n \"4728221642538116751330493068585872800437141077648431625786786908947933603251\": [\n \"12649936718323642466958567809792703578384512025517965394154223876758645730098\",\n \"1\",\n \"1\"\n ],\n \"12270043198644151877766899273789048704328607126813274009788365115404676208045\": [\n \"20666103695138691444956763566627207485026024745736469809799158208597607837120\",\n \"1\",\n \"1\"\n ],\n \"11200997261364605928111986132926887714857215133445503055614285922748195415576\": [\n \"8463860451501487999939261971173462250386783414947559340589183695915007439145\",\n \"12270043198644151877766899273789048704328607126813274009788365115404676208045\"\n ],\n \"18103517796468333915625078520482239963341102714322854036739938866269055582203\": [\n \"11200997261364605928111986132926887714857215133445503055614285922748195415576\",\n \"0\"\n ],\n \"104644879232925441708955053730091466910516424976082594748294415330036014554\": [\n \"877354766139560214133247683959773194789962960115586097314401340551465593155\",\n \"1\",\n \"1\"\n ],\n \"18730559424815106756772739239314735383282765885430111142904712223486904567779\": [\n \"5990078547226394673694208745280919480157308509384867595580981797825055184728\",\n \"1\",\n \"1\"\n ],\n \"7333140139170349972766671131337255263840392906894986902208397984348007101846\": [\n \"6816845164804250194680794609508086587387823036986335980786817574330972319455\",\n \"1\",\n \"1\"\n ],\n \"18879657569717555340022771365992693521381396906429662916133802753017221073942\": [\n \"16428530345942725869417794467580536718465331509853079088623294282101432461061\",\n \"1\",\n \"1\"\n ],\n \"4796411127792265795906369096427630970334099509698092517171737923163610567663\": [\n \"5003487360659799477816369046802863400205298222883212679382607294164095013786\",\n \"1\",\n \"1\"\n ],\n \"8751634130855196498331024937275213792483157792158737324087565152035450215763\": [\n \"9360703859900368545447812293265573657110903747707089051718300705832365658755\",\n \"1\",\n \"1\"\n ],\n \"18682801507303402617769365808023808546083227554615473279292626021596301429706\": [\n \"3422522250511657355546083266625963160818160098859769221903550605313977603476\",\n \"1\",\n \"1\"\n ],\n \"11570661425279038226598535653003934184206101659685162021079675111377257933910\": [\n \"18741319567759960749611457213214163400954652337667827477162964247513069964864\",\n \"1\",\n \"1\"\n ],\n \"12538570018171092642529947036363654273285570229485271633525774219020237555042\": [\n \"6661646144635930178079964202562425929971202783215523077795646587673197427725\",\n \"11570661425279038226598535653003934184206101659685162021079675111377257933910\"\n ],\n \"7757641815311435740793814854442331561887117636968400782206679820387046867180\": [\n \"0\",\n \"12538570018171092642529947036363654273285570229485271633525774219020237555042\"\n ],\n \"17127541235822649098534179052461608999238395360893724188777390321207062109229\": [\n \"7757641815311435740793814854442331561887117636968400782206679820387046867180\",\n \"2472572055445734683046689351248825043400670993169921207914744122047635626290\"\n ],\n \"7411261065409593043302039709563168496177864874865558322497835372406836722284\": [\n \"20982478108538322291041489977788315725889118176141025930048672658464617676579\",\n \"1\",\n \"1\"\n ],\n \"6603745657537116084931479847244349568429547586288885118565799552664558231334\": [\n \"14722273220007465944589555910132307734318596269529459870637257248024201902769\",\n \"1\",\n \"1\"\n ],\n \"16874323802800877517200595178053968562027591328068740909544995813074889225622\": [\n \"20737808594534534697497019406340847218574571123459409705563576576119959980056\",\n \"1\",\n \"1\"\n ],\n \"20663956555850466784487081998228904576330449147652732110984703602601027451427\": [\n \"4646885041988537028626555375716984990031701744951405064587761284484904252655\",\n \"1\",\n \"1\"\n ],\n \"13975642978122194744777185964161264113146854614547384156477946741834086991481\": [\n \"10479014090907469612907266661960456490851694989498648603941975054513247856804\",\n \"1\",\n \"1\"\n ],\n \"8756256391387703194801763297736939624967658903621484188622806890217714067675\": [\n \"11819123297862976699612763225106726185451650458001091221103195887629894189092\",\n \"1\",\n \"1\"\n ],\n \"14966115916710863979879217245208654820431644526494922255970994236709667716463\": [\n \"8756256391387703194801763297736939624967658903621484188622806890217714067675\",\n \"4295652548362147753084036939422305125830537163954580026584570116293256481620\"\n ],\n \"7023643202797428849862171545056065606231307426326095413094536853468027555877\": [\n \"9086942805768086684056423007759380956370719176761439314391202028936373701920\",\n \"1\",\n \"1\"\n ],\n \"7047484462954314624565160048067120431557944375236250936487841422970150098709\": [\n \"7113021572698452141202739922787441869179336734163439749032419023797794410619\",\n \"1\",\n \"1\"\n ],\n \"6354140727972045454169076469775162125984182181723735725823065008355188384622\": [\n \"9162978399856344061962061306741598046714171912236751936770668607063184439118\",\n \"1\",\n \"1\"\n ],\n \"9666124973223253577087597739108884249281137421380943332785849742443041166191\": [\n \"19756545097402671389132960180315649640898374134972922585049887589982928437005\",\n \"1\",\n \"1\"\n ],\n \"12905182099830992274626366136515436815142706047071855123690043984143922533267\": [\n \"19196650351357607082822923440072447732348952965702009411565262440039486838284\",\n \"1\",\n \"1\"\n ],\n \"17164443501072489627782781730300336464909968773293258033970174335730341079191\": [\n \"6402068346606779157340877354310996061130437159733202121651569070240996907997\",\n \"12905182099830992274626366136515436815142706047071855123690043984143922533267\"\n ],\n \"17423643219914318298366143569146760415190283217363872191113975491847460519856\": [\n \"17164443501072489627782781730300336464909968773293258033970174335730341079191\",\n \"16113997786220142883201750011451012108811311970779981973169172126617349307255\"\n ],\n \"3065667084313183803827174218399358157389454336833803435010512706988116236903\": [\n \"19285050113280821202061708110432331566537913982977222771683853768820719958786\",\n \"1\",\n \"1\"\n ],\n \"21690230533603943505867019501985605422083945202316517310805267685943691218990\": [\n \"5473335375726238847674925603565252707903097143179948366839803282320265714144\",\n \"1\",\n \"1\"\n ],\n \"15683986926399598667551166963354645905707346698528243389063329322399077914359\": [\n \"9659056953903493095157987692566956052413282300376156025640513167063778352187\",\n \"1\",\n \"1\"\n ],\n \"9576203902029164960563595717250256919535909748603118117439205158830971723314\": [\n \"13771161853791071312632727711964465650190290805656655304584479475044363233069\",\n \"1\",\n \"1\"\n ],\n \"7091927867963329250646149797765941700986862334733058802110349229789126329145\": [\n \"15018701289381827014705920320013048671152817509711094421714722566382647115217\",\n \"1\",\n \"1\"\n ],\n \"14230947567279633002031089122953066629072460151966546834673276398293042993680\": [\n \"14949106880575759952975137063758845090587706955155806557306410924592254047752\",\n \"1\",\n \"1\"\n ],\n \"3234533381052477081893236684425617281045253094325572236944378925025205092001\": [\n \"13963314108595410310386428907819201444745200481620658961886472490508217616210\",\n \"14230947567279633002031089122953066629072460151966546834673276398293042993680\"\n ],\n \"12840624763386206850911534495925643360063403117096888928147930832254430573281\": [\n \"2356322719859422096304748237578182559945173934103909909488301982548544564758\",\n \"1\",\n \"1\"\n ],\n \"19556642722321724036638266685645760423323291506715363991721423565454041295900\": [\n \"18665722619523211488617625034193066921467092527126335190709168682497021370364\",\n \"1\",\n \"1\"\n ],\n \"389392354937187744124766044646443195584923779942306897818959619312608410670\": [\n \"321967112272350011354208909011786078096657775657023585071562763595867237873\",\n \"1\",\n \"1\"\n ],\n \"13169545540202825722768918723928343042818529344469369099196061542623752993515\": [\n \"8597826132020790942871933655585824150097693004146849613163228378591216334043\",\n \"1\",\n \"1\"\n ],\n \"9182536553553154677708704063811780315183699595196951177274225797753976550745\": [\n \"17130800341800120553795282773506795307059029204116057597682700974694354500495\",\n \"1\",\n \"1\"\n ],\n \"4862783364422663794219441256062435060030330840221705725901233729946386390313\": [\n \"14456300042967678934583341246330944784164393261980736594367617884480301553829\",\n \"1\",\n \"1\"\n ],\n \"19638901218938889278894163176415350577765009092688244916212675115876637480884\": [\n \"13045923546402617027437476041314208074160213583081656327078477656721712268193\",\n \"1\",\n \"1\"\n ],\n \"16732042308642382082267759523021169737787571037622740492917420202564661491918\": [\n \"14018304836707320024970719088772310415832989094760056133591893823037699373111\",\n \"1\",\n \"1\"\n ],\n \"12194038939096455536298523653927832973467911515334694688115241478826311536689\": [\n \"15038464006097972971822256638433223579072073391535519782816946122846861054925\",\n \"1\",\n \"1\"\n ],\n \"20240839786848544822345862573640943122288105724405175323316103666799240964939\": [\n \"3570544793280292636148091433613174376117444644562372922420236882537012502417\",\n \"1\",\n \"1\"\n ],\n \"16195426593927676106181362860250608995639014693351272159140873123561232406314\": [\n \"21145052858180522243213308545086224572996778776414887622550692687415418574117\",\n \"1\",\n \"1\"\n ],\n \"15176806464701659094009404964814280058865429513610086155130737677523776670490\": [\n \"21280865494181888667402593250036095306225684709829039330054785341240660481512\",\n \"1\",\n \"1\"\n ],\n \"12359386725226683908405808231549892422021764914043235861674412875480756345974\": [\n \"20134609458299402138045214274205622423566122965656652752906458977216104361867\",\n \"1\",\n \"1\"\n ],\n \"21167369188718310914411009588498952370947731178115298508769941449612917292414\": [\n \"13422013119789110111198232028131455106229091081864393966801157044664860918485\",\n \"1\",\n \"1\"\n ],\n \"5279778747886462726395405235953090149038243910749721852452985458855411915652\": [\n \"16026162621955352769015949139454162303580102761735184098936695924857053159850\",\n \"1\",\n \"1\"\n ],\n \"14145590729200537537479418180584196007345975035266323423368046092089949100369\": [\n \"19401048375616551379669452967815367818969149045238412409367904882155573446118\",\n \"1\",\n \"1\"\n ],\n \"6443232028253592579790956370363355362574548971151346479807899137256454253258\": [\n \"12794489905778743219055087907534631457003618150993047618772654059145382403263\",\n \"1\",\n \"1\"\n ],\n \"4965519346451510758913965259879312192697767156364584695051839527378152657796\": [\n \"19296792250471940635192763330383451625170353364579880639876960624222465655837\",\n \"1\",\n \"1\"\n ],\n \"18239895258299049301886266471069832464736528240536862068384941270311181232080\": [\n \"12070481375683668678020246331612287862884637794474511892693273051245990798168\",\n \"1\",\n \"1\"\n ],\n \"19125704146464228726744033332429862174273450464134781956255545545829722306303\": [\n \"4449930195144673577353522747201783374080074987602450651054640950243294327192\",\n \"1\",\n \"1\"\n ],\n \"14922581463465095672406972287337840449483973226814243012006040635905310124083\": [\n \"7658503473142431572698179121867246400126686720520991570694820278419770688291\",\n \"1\",\n \"1\"\n ],\n \"6048371707145738925829403065120111860093234139308626400258048793627525289556\": [\n \"19033090955641658384088407738626964300182932412814426152300852687129518401988\",\n \"1\",\n \"1\"\n ],\n \"21151542797898218917609172493282943011271270883315411724095241742477574307385\": [\n \"7143031080241028216996176034001560390433280332866856702271408651263415745062\",\n \"1\",\n \"1\"\n ],\n \"16346837413011456416166470945286836122535974908512626480855826632796061891532\": [\n \"9644192499737114929744820154564499208057765166043989889771058274418406881243\",\n \"1\",\n \"1\"\n ],\n \"21519205338099884946270895974190573804037800823977290757102287337179175834837\": [\n \"18518725356079206315850335993880943859751165818157704623142981499482311160542\",\n \"1\",\n \"1\"\n ],\n \"3023819226452039014333199648814376972783943449888163236623839843758902525567\": [\n \"20432830333273404744695209559993770248896977601008199991462350254574805564910\",\n \"1\",\n \"1\"\n ],\n \"4913839833572119329974811421132120154078072203101096352728792389100668580044\": [\n \"8399810175391842241010824869225556526915661876187592339264011725690915086968\",\n \"1\",\n \"1\"\n ],\n \"15753843818605954120494691268882114626284408909219434025226227248362886172398\": [\n \"14920428378923645537387520348119776872354998845315951441677260040737858351336\",\n \"1\",\n \"1\"\n ],\n \"908572688514969553817261762440532866498863793972190425043125944039715297723\": [\n \"4191294521698506947360296379203931064823671862328194750810546930912587620560\",\n \"1\",\n \"1\"\n ],\n \"1024943513284242333204514839672556452186858936200662951492072165694781213906\": [\n \"3783630722857261582227253692844061564803681379101565796080442294269804338920\",\n \"1\",\n \"1\"\n ],\n \"12522621048766068542414210661615886403620667709757562163934835296210695927386\": [\n \"12993229863519524285296468415329349626107797253987492770674692853538635823256\",\n \"1\",\n \"1\"\n ],\n \"14242915242647209483729202056779501025041045048562826430963604056011440135487\": [\n \"11609692577760205023046165437028481010989102048328524888851309947347652694015\",\n \"12522621048766068542414210661615886403620667709757562163934835296210695927386\"\n ],\n \"19052975674249440745875764900516388460593276592282181254560661063422805090120\": [\n \"16498768669426072460174290060694871188374113079783143231346074049741739801980\",\n \"1\",\n \"1\"\n ],\n \"9622200902368654649572677000457961169303102404399441323949505352759693398070\": [\n \"15873547577012700456576560104294850169878314980959488177341035940187125023808\",\n \"1\",\n \"1\"\n ],\n \"8358771427936067079565744415917371275936425698659226324769274179779807390812\": [\n \"13829552789354891757398804815236296410120496019426935107263603632150637576111\",\n \"1\",\n \"1\"\n ],\n \"12368804700583472904541320323749619631570283712536880503717498969926778339772\": [\n \"2732355011376035245002624756965908629776213785143013099086395603702635708313\",\n \"1\",\n \"1\"\n ],\n \"4965607506292345097977594656966306241162851899869469073212527870285724192436\": [\n \"3854899311309641712212160928560856664019322227890932572101793011793564713251\",\n \"1\",\n \"1\"\n ],\n \"2423377269022500150334182567803068621340943298755299754334822669668999340172\": [\n \"273841884170076292994340195311278607176186208897395303436648056605805795781\",\n \"1\",\n \"1\"\n ],\n \"13136459253117900703810766098628732119395436403339175691803039610119009697217\": [\n \"15396219157349554205045894628907339434004604468159630970600701512315636187615\",\n \"1\",\n \"1\"\n ],\n \"16722133776761256566186333511121751280749933895603662273535470279096561975722\": [\n \"14028153166683744860019001494751254066991021999719919683244245809885015576348\",\n \"1\",\n \"1\"\n ],\n \"1285520205363306249849017680873532564041512496836581901657771230784472429174\": [\n \"8995322471105953028410996805601921863329902315526176926550479001699676878919\",\n \"1\",\n \"1\"\n ],\n \"4635758871432658784772461619328901950710973572890995962634762662241544032919\": [\n \"1285520205363306249849017680873532564041512496836581901657771230784472429174\",\n \"9034258022830122109751669189006924327529605018811486768567334570072632811792\"\n ],\n \"8557186852448081319231484189934478270542367286880524109995224531066570665624\": [\n \"4635758871432658784772461619328901950710973572890995962634762662241544032919\",\n \"0\"\n ],\n \"18641157483732719764458122437788242233136808643435405967213128528501274807601\": [\n \"0\",\n \"8557186852448081319231484189934478270542367286880524109995224531066570665624\"\n ],\n \"18437766967805583025863565590914106372224805396775306995590975052238925361199\": [\n \"0\",\n \"18641157483732719764458122437788242233136808643435405967213128528501274807601\"\n ],\n \"605550179454611461674140756018335862849011172729250139262821237935678307291\": [\n \"0\",\n \"18437766967805583025863565590914106372224805396775306995590975052238925361199\"\n ],\n \"19380216862929349790690084340225325610563554556169814059665832972239011897241\": [\n \"13231069241832770716202552565299218452314895764286044926992256429958507796981\",\n \"1\",\n \"1\"\n ],\n \"9654363425391837728170672246744643795553035650737993661769761730231289270284\": [\n \"19322807471849375072219083938994291013288448685448535899901444774566403832382\",\n \"1\",\n \"1\"\n ],\n \"12705756778627156894690747504663624299143200959315870473875201920293011134890\": [\n \"3838259528377953443709994819072757262288783242212933335204616714852603595325\",\n \"9654363425391837728170672246744643795553035650737993661769761730231289270284\"\n ],\n \"18191576822947282710533596589357843076383695671622796819447354319685498411591\": [\n \"0\",\n \"12705756778627156894690747504663624299143200959315870473875201920293011134890\"\n ],\n \"13042242536948727834155461190279155505945639420901155242394599975790507749583\": [\n \"0\",\n \"18191576822947282710533596589357843076383695671622796819447354319685498411591\"\n ],\n \"15425417132116523680296586386295170009305958103066717843585608859660012041986\": [\n \"19219897217288756799338270050248584960871963758798482458656734712607725878023\",\n \"1\",\n \"1\"\n ],\n \"10464720527316912422965412180114499129395476807951753224215073424170470209144\": [\n \"1866274052657648321822543001507745713747841117536813782266279055392885904713\",\n \"1\",\n \"1\"\n ],\n \"1949662201652603173990541023695263411399954895455000757506514366754653997619\": [\n \"12807613814085453712099705336033065872484112299445693559213268289260329955918\",\n \"1\",\n \"1\"\n ],\n \"12437709103432314079031419865016851259758646878166636729461839319684638676238\": [\n \"20751505159978676799313501186379423651225312943761601278215129233444673473037\",\n \"1\",\n \"1\"\n ],\n \"21663658719529760364269505082450684433428542767849514197386491245042133594384\": [\n \"11610425177811235745852328165710668551447992623896425286715764545688369296978\",\n \"1\",\n \"1\"\n ],\n \"5618917287123759716050500628562491173802729577599823490533029563430830524774\": [\n \"1901128498643163644335400646125908331069793902902859582688758248401633528616\",\n \"21663658719529760364269505082450684433428542767849514197386491245042133594384\"\n ],\n \"10734754336782599412027690795996451483490986415598145546256684351208248141045\": [\n \"5618917287123759716050500628562491173802729577599823490533029563430830524774\",\n \"0\"\n ],\n \"14121549011455479744804772854234692254059111175492675037757777442017209911592\": [\n \"3393939940846812441364092038694398029179551071211349411566212818907720005009\",\n \"1\",\n \"1\"\n ],\n \"14640644236941104827872698455667983879933927127498864300407058784151292714217\": [\n \"5674787968844278006408162881535883177519079167438323699689544984665351753975\",\n \"1\",\n \"1\"\n ],\n \"2034537454666047910229857079654076431677790538053337812917313930700974199661\": [\n \"18154698912287383276085198182285587075147438102157270662358244584911095574585\",\n \"1\",\n \"1\"\n ],\n \"19126442794743866882609606705351245045849547150225094381115723007612340086181\": [\n \"7800555750417377535798269287693429881672493914117947365749920113707827000356\",\n \"1\",\n \"1\"\n ],\n \"10953159194432149881391400583717717180388473751561148509851619031292181503536\": [\n \"15888947876252491266765214818717800879706226949758562407163150945573465739494\",\n \"1\",\n \"1\"\n ],\n \"16960883167719239856523276277805478473376087841555376212415872245959918288550\": [\n \"6455493280020149129347606254082892471180534188783295773230389911220836264112\",\n \"1\",\n \"1\"\n ],\n \"9145226631284056911409217461012663702574181097572619786261031286311006784594\": [\n \"684756140081204348540685012875364068726593951084200369631316077627234328257\",\n \"1\",\n \"1\"\n ],\n \"5717597525141899708141964453255795866376774074706952893595531092541237211666\": [\n \"3209050874579569658832840115781805623226812874678440192970117824282269718672\",\n \"1\",\n \"1\"\n ],\n \"11985370819084851227027999820193920847380858822502883062117328963123352327168\": [\n \"10754816869761876093289330151890640815455953560460238834722161331550390408174\",\n \"1\",\n \"1\"\n ],\n \"21737449255885314210394715884158056803612360413205388201965014672584826197655\": [\n \"7525742929074837490402364562487723132570724574901740035071497690555064146997\",\n \"1\",\n \"1\"\n ],\n \"13800093371919630802405491639468065610037840959962753626356873990326753525651\": [\n \"8474919208548789955986286745953675061664018232189078400271064559758480347313\",\n \"1\",\n \"1\"\n ],\n \"18327619914133263698614569117630692245902484180378585757208710802650918787299\": [\n \"17937771211227259269160301465645037529041481246960553483086990707639219739183\",\n \"13800093371919630802405491639468065610037840959962753626356873990326753525651\"\n ],\n \"2792769919644659479861401007422844522802419120855897350022564715705401905021\": [\n \"18327619914133263698614569117630692245902484180378585757208710802650918787299\",\n \"18925891283747332184307963948912296627731243655300986810448949535599236326580\"\n ],\n \"6124116526502442718369101930691297552418530507532105864918049892168024299136\": [\n \"2792769919644659479861401007422844522802419120855897350022564715705401905021\",\n \"0\"\n ],\n \"7957394529591300865848927863616324505383046333694305564062153855826437126811\": [\n \"17417535582636804562274640674764218772324476992957163671688121449149900984838\",\n \"1\",\n \"1\"\n ],\n \"8337656459353559140641942578812292374651640028611048985292984502299894919054\": [\n \"13949409284920971807639568467264384968937947228381146335808320730038253887183\",\n \"1\",\n \"1\"\n ],\n \"15162980058278059617250323659132595707295480282786898847160850169956131207046\": [\n \"11176465765282586591812628804586084532673305921392947125021008840847987287683\",\n \"1\",\n \"1\"\n ],\n \"16666879347135086077222830332164159388771211514715074698091351131172818048715\": [\n \"15162980058278059617250323659132595707295480282786898847160850169956131207046\",\n \"17298698827712603071671263026241417568037701467481949813732258463831047510108\"\n ],\n \"44781648117933576843248634233762135689727785266253334290388451327586933581\": [\n \"0\",\n \"16666879347135086077222830332164159388771211514715074698091351131172818048715\"\n ],\n \"1994073623533529188898534403260380342828250499788754089473816374250189584578\": [\n \"20109722045238558618291338113403101289660307327664257001412195742790577856284\",\n \"1\",\n \"1\"\n ],\n \"10147700108746211926385922624073009826835047720568936996468778065614472026860\": [\n \"18058038109475143565190633354808051836455549825149774651770853082163563884837\",\n \"1\",\n \"1\"\n ],\n \"3325353565728518805649178471068890350505592878211790797526062582004588882570\": [\n \"4623912068726867133084798792316257195398858235812118283204886609613547953213\",\n \"1\",\n \"1\"\n ],\n \"11703144957957232672569987284668205597407968591319388067905421202402493053735\": [\n \"713908421343694891751435952733157848233742225555612696624051379576881645413\",\n \"1\",\n \"1\"\n ],\n \"15775833089829478593711104908557396161072582008979648876778632926697214131736\": [\n \"2731395081763329326264417300465375458241874535786747527213537484217255949067\",\n \"1\",\n \"1\"\n ],\n \"12181475192193967276448788490261585427756549945174178276761843868979913642491\": [\n \"8923866980535475525764370952418200911198702634143380950756270420462902131720\",\n \"1\",\n \"1\"\n ],\n \"12020008312774768191705763263575403066877212133941223941074403268808153580559\": [\n \"11061782821313578060044553426617983896158694605045660426399106167197295167902\",\n \"1\",\n \"1\"\n ],\n \"2694974127292257545629775766474204586832996445588195352073993241692222728723\": [\n \"17808988917927757435827183875236056010181455871192383620506211933906501166575\",\n \"1\",\n \"1\"\n ],\n \"21242871702456949799103417113263936550132596896837232544366480376939347030583\": [\n \"13398048144415271200927933361603691577457774167909353932563092498479005385643\",\n \"1\",\n \"1\"\n ],\n \"6685489310343516839533977756820209783458947834824138311557660591287931536857\": [\n \"12829658410040824753947892949158770296396677195987865770906304604396523321967\",\n \"1\",\n \"1\"\n ],\n \"327365009827957659504100482563959772851819088272088510978310344854644663852\": [\n \"2753620843332280841939773155598495776034550524400391631440231172920163995346\",\n \"1\",\n \"1\"\n ],\n \"199653085427609340139437806170796131696095765548712690374642873001260839974\": [\n \"2967432797576956886186828473487749022360629872057826530672528229716639695156\",\n \"1\",\n \"1\"\n ],\n \"10237423918123059744257190244089818609575039522638870976518884758199701183651\": [\n \"15382429711759016562355200758829570376853862626133385842742245673748481895012\",\n \"1\",\n \"1\"\n ],\n \"4932699432813045479219528081096245923188304935167675503499030198932442498536\": [\n \"17632730309695485960907088707968601976946513029308908557106375006112657597769\",\n \"1\",\n \"1\"\n ],\n \"10454251152277802896325994668576305308187842926806262634894865986994468418227\": [\n \"18454060421372693210908043467588593961374203727986512631794968048217499555948\",\n \"1\",\n \"1\"\n ],\n \"13205710190440923554391209882306568866840907534035113817260998412427534510577\": [\n \"20006660766418170771665586466125157918210070829891793696656808171942283712209\",\n \"1\",\n \"1\"\n ],\n \"9013702148418298214538334519611598882941848192394154629109634628652975563743\": [\n \"207855929720471157713920217555236431051987742822329946506855947698734652860\",\n \"1\",\n \"1\"\n ],\n \"13119258129120571461278303163189927041195802904045429334443849725944510738862\": [\n \"13010577472522638960265723573783148997658588893961480242934068519123930432708\",\n \"1\",\n \"1\"\n ],\n \"19318033296176913959970158751808869203805986438547017619485661538910621253849\": [\n \"21757153111746642064199520004553055540926358370939864553472875930178949864888\",\n \"1\",\n \"1\"\n ],\n \"11749718631105510758130152456990298917859593477741198063985745786156374194926\": [\n \"18189376897165345223096044888245632672620343171878173981574951074619121472981\",\n \"1\",\n \"1\"\n ],\n \"12126687895416432506375732451890160140510717675137705663278473194271737778089\": [\n \"9625782978888932433646577487992475445024953989443680878904678013738956502213\",\n \"1\",\n \"1\"\n ],\n \"6365649957241032177304703885929367789853885713817126386155681385475463414105\": [\n \"6420185958049565225118358388500478467019345873189569708888683207466338239269\",\n \"1\",\n \"1\"\n ],\n \"2661715594949374680215655970944688759034393804583279379267328057110061710315\": [\n \"21107482645652328918773183770692424833595547329889832916562575967559307148691\",\n \"1\",\n \"1\"\n ],\n \"12003619503154681406620420502472460476542631674968511616008784336204334138535\": [\n \"3045792721761169378950652097469221916161092803663315731375763340538194433873\",\n \"2661715594949374680215655970944688759034393804583279379267328057110061710315\"\n ],\n \"9052545570286341204668935695084937602310459137241964521465186674165131523932\": [\n \"14564201491225095650090835771409553338637394381321735476885346865221730856029\",\n \"1\",\n \"1\"\n ],\n \"17567451921759567297714061148962706677608991061672747904788528211427806346333\": [\n \"18077216483555681399127850956688789843587884956845082134664526461330445478535\",\n \"1\",\n \"1\"\n ],\n \"10708547870504894467425982967419188826925200543750502204440454990921922711635\": [\n \"13400703926056732448558912511164956776268644919038200881855123311013713770036\",\n \"1\",\n \"1\"\n ],\n \"8282748737764351937084083648089159392584869161652409614129925736779714807269\": [\n \"8320677706163211526447204115022162146987374871227047896449187605444152454438\",\n \"1\",\n \"1\"\n ],\n \"20653249915233351762540493121908253379988072107860280685630135441977014215387\": [\n \"6407144421899283648347609315337819696788282652653773479514369397585972070601\",\n \"1\",\n \"1\"\n ],\n \"5780184904382705065929848217565166979104419937109419684844734457432096476201\": [\n \"7141207500628990376968727664853370226701944655993082421490237399308768472209\",\n \"1\",\n \"1\"\n ],\n \"2547183452906169931788566848303135855789698752818138048063530925472606899766\": [\n \"14098359733298264907566070147723582259433346195697763880668181571720706412510\",\n \"1\",\n \"1\"\n ],\n \"4027212521632603371667525510965231895115187656980379122043649133698507676849\": [\n \"2547183452906169931788566848303135855789698752818138048063530925472606899766\",\n \"296380987548499601231869192147049366785682652236372704302470481006437187345\"\n ],\n \"5445215775317165262064304013229226661902499389518037759194696807189638913428\": [\n \"4027212521632603371667525510965231895115187656980379122043649133698507676849\",\n \"0\"\n ],\n \"21001284695960023930824415511483346921693325834514586696461512583345730208511\": [\n \"1022894848873133857590942856542299764647834297509822689732573701132860727059\",\n \"1\",\n \"1\"\n ],\n \"9695369197307779537999780691046800072417103560917908436889711797421236132978\": [\n \"2046352455759952812936821617811660133621136154537922754813796111294729112549\",\n \"1\",\n \"1\"\n ],\n \"4963204717669157781336500336010420202710064078055132554924998051464925306860\": [\n \"9344547898488691351296922815007286417739060450964103698658800611432827077062\",\n \"1\",\n \"1\"\n ],\n \"8334179992691671826092700332953829988993410226123488276309487815982887277254\": [\n \"9813859178552128953760898099708140407489728076043712207910796756023464440265\",\n \"1\",\n \"1\"\n ],\n \"17855082475657218472752243403446621638114525677180077348576363274125115424789\": [\n \"13401191848897406420064523948539146971624026672388298954584249156660635009661\",\n \"1\",\n \"1\"\n ],\n \"297686667397864177588460717553556202045202606136050234630508257209625531619\": [\n \"14737188072137080257308713879671844554314404201309817035152342560027539218900\",\n \"1\",\n \"1\"\n ],\n \"87664156211775995299354322851823258528726963535493343730823897791978004841\": [\n \"17026897412759956626481288936561942904944363278066284356791313383798762464489\",\n \"1\",\n \"1\"\n ],\n \"9137359671365915089012417317381223242230326354245459509510483492145234777440\": [\n \"7566417515514692873462780235758559081341517809633704811569018375271962296898\",\n \"1\",\n \"1\"\n ],\n \"4667930442345398523527698639836812570109178485052452667332244117076537296278\": [\n \"14366065104338826706173487602888659677893487090860210948526857472331239736490\",\n \"1\",\n \"1\"\n ],\n \"9099028599068271082841574737296428412522412238181593660969792876927218363356\": [\n \"10410974836463254923467395230392173238178740517861743293134831297708978875638\",\n \"1\",\n \"1\"\n ],\n \"10525813290494193632124153046894225311747535047977593356837734851475509949902\": [\n \"4163581017343870847788014974719944145331091014556181903836728318365914788228\",\n \"1\",\n \"1\"\n ],\n \"11263536468606686502394099482468845689038016671562478036652512477675934481034\": [\n \"4570579840788894376384203023152350859875791264068213160178304459327581627848\",\n \"1\",\n \"1\"\n ],\n \"7001002566034207930043415585180404800727364167654502235966978871179372243516\": [\n \"21476282591242440641066581416638276698789380657254546757881828569970814382546\",\n \"1\",\n \"1\"\n ],\n \"4981937867421563185448402600456001508443811931346884371401951891639440751368\": [\n \"20619866232103689305523838263356006863435161384337369763536051149955652185633\",\n \"1\",\n \"1\"\n ],\n \"17497062694002289541882654151798446445441002881114191794247288105588370294781\": [\n \"3360713762456622461938003949020238582441092835712645565934176864784103906784\",\n \"1\",\n \"1\"\n ],\n \"17108659595559669723133139340794887395213516538180941192270956303693999570015\": [\n \"20277078437592121399240491670624648855669316235415946821437472231367830556607\",\n \"1\",\n \"1\"\n ],\n \"6572901113296450661839306475751383696473620440204441926250231470616469998967\": [\n \"17108659595559669723133139340794887395213516538180941192270956303693999570015\",\n \"1157872724543004260218859949474936590116170537999415609377345012940377676703\"\n ],\n \"1669234036704644968799063382592821621641193108452255442147189281258166160167\": [\n \"0\",\n \"6572901113296450661839306475751383696473620440204441926250231470616469998967\"\n ],\n \"15391026071974869680657956553478626742559468854307328992910695491872300906256\": [\n \"19447357333793802337044165627618422500204243996899415785598287262617321312889\",\n \"1\",\n \"1\"\n ],\n \"21251423682178472600500820935039624861479853445177017238875172898069819398070\": [\n \"13296643320555460822903290914263173235416749135155954158785115876469565292512\",\n \"1\",\n \"1\"\n ],\n \"15682139567441413866529761821580656415855228448032861247080405079717086356308\": [\n \"11595612861481062530451312983735376028971762193032886857947203542606526794380\",\n \"1\",\n \"1\"\n ],\n \"1559797248202997868532146796677208665776824189166824647493727645078647408061\": [\n \"15682139567441413866529761821580656415855228448032861247080405079717086356308\",\n \"11347419297768967569505972915786270981007143858685651850957780189212986498563\"\n ],\n \"3511620109332717887570156251218794048031875259595274983473942816540048172983\": [\n \"20953029433437007969967085619682437680540932222823048892248952909779301580799\",\n \"1\",\n \"1\"\n ],\n \"273010885287225708512597639244280136467038349123955477248822935283229977904\": [\n \"20013298105701435927206983623562907533605579120246274486826129870193195740365\",\n \"1\",\n \"1\"\n ],\n \"20906282090224633349486129374525178673761992528472273139815532922920418952531\": [\n \"15000976044831140683519958750006803874250795347818981916632697722338171003646\",\n \"1\",\n \"1\"\n ],\n \"180805269781517940065709120515363839007799704011624768711291783145354278694\": [\n \"16773518075005581703450416173451901003103236405435264030411390758136243079775\",\n \"1\",\n \"1\"\n ],\n \"15138497632390686747622435282205290792209475110570244764029445792634611174540\": [\n \"18929313471547553691971069984796131698563805323896978081501701422600804720162\",\n \"1\",\n \"1\"\n ],\n \"6442677760671885928903452988435131908289178811817653018805167874124220904082\": [\n \"14023117751478677745322567021009514273455996369856985738200913984680915647866\",\n \"1\",\n \"1\"\n ],\n \"17058564158196995626417690137643335328908282447429800822552201723009037894403\": [\n \"12834566621188416752293392527750929549200278098235662637100278470304392127059\",\n \"1\",\n \"1\"\n ],\n \"16905942869467323590450577625877264010158970172902197167933219690037866407128\": [\n \"3308661547554538505966296619194463316184824332726193239385074971625287832082\",\n \"1\",\n \"1\"\n ],\n \"1796103742652743153089254045475651552103337558609766082181555557120145119534\": [\n \"16905942869467323590450577625877264010158970172902197167933219690037866407128\",\n \"14137495728406170035221302738616895274927640368788430851775882745314590510418\"\n ],\n \"546003766901978933348780460485886708497440993166640111376569250816881265775\": [\n \"13196316018126673550244470432979334052732971465448523942304424983072306497831\",\n \"1\",\n \"1\"\n ],\n \"13549311473900342244002747729804668060267531025421496111842430552300649392906\": [\n \"7071949891533848731582383280524603267237316990030994598665476470876636543276\",\n \"1\",\n \"1\"\n ],\n \"18000882054938666575212883910832133942747927932619788768511370242428078378001\": [\n \"18874480880964420065009897787317670066934884802904786899497975671798961801213\",\n \"1\",\n \"1\"\n ],\n \"9106131888692297911688205938652895905005870160370832949665932043140960843774\": [\n \"9626233857531708722860058066949303001986784509886415361451518311294370682113\",\n \"1\",\n \"1\"\n ],\n \"14057963499960942314314574464217433154920872367082357466319146388482460290512\": [\n \"7572979182313480814185105644539544119017248888656760032876570124952532507342\",\n \"1\",\n \"1\"\n ],\n \"21251090988269943115410704256173862308495771831889924452278360670904551174722\": [\n \"20037584918677297769921442810619279929028427195628302047483020480801477467446\",\n \"14057963499960942314314574464217433154920872367082357466319146388482460290512\"\n ],\n \"19501833707573554190706033462399972497161562095149225419170030494574701143051\": [\n \"6249291000911702465085741875089756290991075907921014558473007572738751919152\",\n \"1\",\n \"1\"\n ],\n \"9395622996247750581563697926694100735036148914061614010336581552943820692092\": [\n \"3036459495269126178332217932761729823823389283210302406060907098980998527281\",\n \"1\",\n \"1\"\n ],\n \"18482849482008488691679096570866477262464378964646567390028707167662885401611\": [\n \"21698474565404737780888189130197435714199991560739425719667149942435361996531\",\n \"1\",\n \"1\"\n ],\n \"9726758911231752447956918633871612938182212365772476109050350075318369815052\": [\n \"7197033273310315565402985067135526737955875970713147894784515254475384934216\",\n \"1\",\n \"1\"\n ],\n \"10952618773255166910849594701800756468269786548363225674292288877336544074910\": [\n \"2550999446671689470551815974923404951204820634659829466615479029413317032982\",\n \"9726758911231752447956918633871612938182212365772476109050350075318369815052\"\n ],\n \"18276895428404122229618255768684288674996955430601707285290626557127864590410\": [\n \"10952618773255166910849594701800756468269786548363225674292288877336544074910\",\n \"0\"\n ],\n \"3717439842715466445930778745204031180482604379165101699485656941949334833767\": [\n \"18276895428404122229618255768684288674996955430601707285290626557127864590410\",\n \"6130261708778513400268305411758191312747364061795704300750899343757704359485\"\n ],\n \"11667519233936119951837441470526265188163246337886609625461468623361905465051\": [\n \"20661728763671820946973177240948210321137297756708171564008688187938904707842\",\n \"1\",\n \"1\"\n ],\n \"2428784160027027749057991266581582949457256791142873083449835879821704584151\": [\n \"17293645218924437338844920073133992240800380110831325738334392617171140904345\",\n \"1\",\n \"1\"\n ],\n \"3804474737092025058046915456472383772000634266008748950409052123796363698082\": [\n \"13562144398660763570439505797553039711875729421422378412090928616094981799006\",\n \"1\",\n \"1\"\n ],\n \"5708108199537597861359579214880322862086285751523251165758862078013040972857\": [\n \"1958335428410139265857340615730038308108059518260000768213024484163826285291\",\n \"1\",\n \"1\"\n ],\n \"16028352113432223478008356354353489399387371915029001086285295149418096169100\": [\n \"12955108707793822418054868029854140007022096974002312750733103849630837391410\",\n \"1\",\n \"1\"\n ],\n \"13724399028770115458678059068666950231145427924600943309227635234644345259339\": [\n \"16028352113432223478008356354353489399387371915029001086285295149418096169100\",\n \"20091706864402659411367555370615661109721965025995345782980799741804861349285\"\n ],\n \"14013816527377058006964665054205203158560680487344083818779931715471167920797\": [\n \"13869873797230092396493028808021247144308942069685810165512412255756427829880\",\n \"1\",\n \"1\"\n ],\n \"11340517275502761833915177887926080291907958164776360685862859697576569304763\": [\n \"14013816527377058006964665054205203158560680487344083818779931715471167920797\",\n \"4913839833572119329974811421132120154078072203101096352728792389100668580044\"\n ],\n \"7464078868583408281306429617142169795740832102190014260861438891605165715825\": [\n \"0\",\n \"11340517275502761833915177887926080291907958164776360685862859697576569304763\"\n ],\n \"7564380898408072074705422655374447512770474453362049528189158681410654363717\": [\n \"7464078868583408281306429617142169795740832102190014260861438891605165715825\",\n \"20451867444051742618377058659306605302101323092565734894752847897229517726731\"\n ],\n \"12148954084425921211254828949358430734371766355027963668818004562099299382773\": [\n \"3480549480148774939080435243455537678730403473244123766285391592727461989052\",\n \"1\",\n \"1\"\n ],\n \"9401551476010057827961755826133408968147931234132890886968320517780256932441\": [\n \"12148954084425921211254828949358430734371766355027963668818004562099299382773\",\n \"15041915952496318829794004305329125794510624896283992390762019552550811681144\"\n ],\n \"21315384616914725023339849601022606893757477209172128707858151892060901659169\": [\n \"0\",\n \"9401551476010057827961755826133408968147931234132890886968320517780256932441\"\n ],\n \"11390294894991711748630910830934085896810291491295954592658245913595611325176\": [\n \"11056810262885466998924834248551808414112903435353842324087983311668542984323\",\n \"1\",\n \"1\"\n ],\n \"8369718725433842662495922450324449661955011449277350661678278087890688155753\": [\n \"1537264807650989987425042704812651083478880153039000635594497267318795424918\",\n \"1\",\n \"1\"\n ],\n \"6545242116941918424072851699106213475528213866146017347084398706326457850897\": [\n \"18796765527814070172956626178161623301762082301342271070906728079234162893164\",\n \"1\",\n \"1\"\n ],\n \"20639697693352222591201792348354552251037234523088844356292382478526798243241\": [\n \"18385560919374513879793875019010046066959332962181030510762785624246046497309\",\n \"1\",\n \"1\"\n ],\n \"10050529675856787346805813019203225059211403001105932957031179393396791830359\": [\n \"2200000144664267224040651702912124736771813061643999292600895576453261624696\",\n \"1\",\n \"1\"\n ],\n \"8498518664727497081912047463745749853121584425637326967093103693172019779256\": [\n \"3502659862938134437091172552179980162802943919117963796840039917376697621224\",\n \"1\",\n \"1\"\n ],\n \"1031939736863374268019521826272555450467601588151301299884208624191545736823\": [\n \"15184000930158320033872649941546014596983639364127306464540086621484540732009\",\n \"1\",\n \"1\"\n ],\n \"732839259743518717574494370091578414725094123169484001182130648578642881118\": [\n \"5969297090587449276296466339744636059158243926542468654648057956621717648696\",\n \"1\",\n \"1\"\n ],\n \"6503475875503036684014208940082117529746741342537850892353036794062446142154\": [\n \"14291595110296384203175879872670511666020185193997374280321004884111370281656\",\n \"1\",\n \"1\"\n ],\n \"8179446914802406824197247286502502874002632032525433477322340633171115294883\": [\n \"7270802682869318410790964207766339931506570625105829783435539805802440684897\",\n \"6503475875503036684014208940082117529746741342537850892353036794062446142154\"\n ],\n \"17815599025939435381002037451510375398808148417522138644282883252125343140613\": [\n \"8179446914802406824197247286502502874002632032525433477322340633171115294883\",\n \"0\"\n ],\n \"21257714720003307804392812657905004890792505832852555859859592032788534023397\": [\n \"2589533733903316582093995581353588555194114601998025887126284201969531412037\",\n \"1\",\n \"1\"\n ],\n \"19840565054830921690078228797089697591565618571574930312814764750335369771860\": [\n \"21257714720003307804392812657905004890792505832852555859859592032788534023397\",\n \"6344925861287339662634240366017147666981828020526168450964136288620492141463\"\n ],\n \"4426778426977264483812291271693496136724736807616222632589794006697491044063\": [\n \"0\",\n \"19840565054830921690078228797089697591565618571574930312814764750335369771860\"\n ],\n \"15670685768770309039937151908080077263285266490712256752559149149666143298698\": [\n \"392261343419341483116733756704827555768145315971419837717628457959212263238\",\n \"1\",\n \"1\"\n ],\n \"17974000391027039206898726670027794915340904879295316509821417420308179406390\": [\n \"15670685768770309039937151908080077263285266490712256752559149149666143298698\",\n \"18118856399764228239862481450759899191719619734845801685974327676762637124141\"\n ],\n \"5104199336678184147566467386405231987297823000687437874815612022226426057134\": [\n \"20126455988083148648449115355660885172804028573317428587146227414898121808545\",\n \"1\",\n \"1\"\n ],\n \"13531086235731420975027623082153729514709036273447710726455459944003920533230\": [\n \"13542276651645845598429567113757137778413676265317400591220154591998536731506\",\n \"1\",\n \"1\"\n ],\n \"15832545066875603995966135370278152664782044559243501310420089809285802443369\": [\n \"19012070675189338476078716818578552648659039232395929716901669732275284987403\",\n \"1\",\n \"1\"\n ],\n \"20636505069683252492860219538030071349300442963802050193870709863738295681630\": [\n \"21309492639625976408197676340903714220118374225835459780213885392756652128666\",\n \"1\",\n \"1\"\n ],\n \"17466425962606978839219883427136606301150891983592650003124334408706071187842\": [\n \"12883971423428023902321473284558213691913830310933190961862643153536800859692\",\n \"1\",\n \"1\"\n ],\n \"21289311352892018070639176429324816099434349545734369363321332016414512978325\": [\n \"5409965425489443476532336079279100479429510317957571870674033470426353247636\",\n \"1\",\n \"1\"\n ],\n \"1322552574516205292015790554540596367308318447750665107929792721084809810752\": [\n \"21289311352892018070639176429324816099434349545734369363321332016414512978325\",\n \"18682801507303402617769365808023808546083227554615473279292626021596301429706\"\n ],\n \"13128409531770987290466564371345635820422646157117352212903158523653999913386\": [\n \"13958518910929692693116698723535774847046757939458443635801018709339004562244\",\n \"1\",\n \"1\"\n ],\n \"10746294335159986683574984605350393077958745230377138608703030137327586263894\": [\n \"8130808624186338677164645887072250064116334665502560357415724733313084247333\",\n \"13128409531770987290466564371345635820422646157117352212903158523653999913386\"\n ],\n \"3695213945559644890933183373654221930919081055204518035342373362323463690991\": [\n \"9333027936523800416160126566410459978333617108946397447559557883250149677757\",\n \"1\",\n \"1\"\n ],\n \"3728031296392612941071875324678111835282924895804901456932029492401443192686\": [\n \"463315720240706462703514482220393366381925514298065782768685338703623195788\",\n \"1\",\n \"1\"\n ],\n \"4883911055219358971257795339499721372663553269036881497385172250936627323092\": [\n \"12076932445716025067309558320823732862968762063237124666692827708277882132413\",\n \"1\",\n \"1\"\n ],\n \"16453732101352023795986301326330955101739038502686052102215580647716608485181\": [\n \"2335996751721593245333286074766982091470346534716264429427023568916420800680\",\n \"1\",\n \"1\"\n ],\n \"4262450311710421485850012963950187694212509512999785954021412857820230185140\": [\n \"3879953829866476835180713652979684170430887402033823575314370709309493384503\",\n \"1\",\n \"1\"\n ],\n \"16873375156101500917480910123145757980021002606493744749032372090691103500436\": [\n \"5974737338078223810224315254632497413036258029076171341209574884750528317763\",\n \"4262450311710421485850012963950187694212509512999785954021412857820230185140\"\n ],\n \"7492163161594625431894408118365457504843991969904254432235707191061450655124\": [\n \"21197953450109152090512190641047845650612788449028284116893618474903174308044\",\n \"1\",\n \"1\"\n ],\n \"4711338116712944578363022940128369788869777564975646989975810151325254906123\": [\n \"18510324501499547456718723698455892714731543563544102509782134537098758644606\",\n \"1\",\n \"1\"\n ],\n \"8438324841105137210443069573098833158547773014424079179866735161116128971818\": [\n \"3157893734539108710767479021078103584884099197512218452017145872998435104896\",\n \"1\",\n \"1\"\n ],\n \"2633269251181317727379964253855876419396363107234243680988395693652610705070\": [\n \"4309492236300588071857507376196576627550833435469849597402810278304240252122\",\n \"1\",\n \"1\"\n ],\n \"15831689216715872603777802174057237331710088134392159239514943044306574326573\": [\n \"16220212911331790173870801869162824849881056457161550577330660343947036086267\",\n \"2633269251181317727379964253855876419396363107234243680988395693652610705070\"\n ],\n \"6746185279730899352988731595607474816333416420257614883473035198084399601405\": [\n \"0\",\n \"15831689216715872603777802174057237331710088134392159239514943044306574326573\"\n ],\n \"14445645686843271431126633636506781031364992651567135634571721265726320605965\": [\n \"16991030116260156036148692232891617510389638155520855873522552008763235462280\",\n \"1\",\n \"1\"\n ],\n \"11654563065575602638018877016963971504324092642530312953764566612203405805662\": [\n \"9107158155376117990001275334867755385788503843056521734205743320804722157081\",\n \"1\",\n \"1\"\n ],\n \"13871073404834332662935172680660136106590934654779805278235525594381811463700\": [\n \"20502822308541699347658831756611118429063194059208062608791609893651114612946\",\n \"1\",\n \"1\"\n ],\n \"2123452309922641535374643410855983101194201120109737843967617862103295704720\": [\n \"5112332794453846992376527011289048954421772259686114281324075889424004972837\",\n \"13871073404834332662935172680660136106590934654779805278235525594381811463700\"\n ],\n \"7342280705973613769942204422162309189597006465883891090877673729804761605172\": [\n \"19504743469307074684181491857815263823917436701396700698840523368318686366794\",\n \"1\",\n \"1\"\n ],\n \"12088664935339580824405230215406333480439485973346135719730626501742019940707\": [\n \"6095916110889251481703393897065041141609965154851685679123410600850566776738\",\n \"1\",\n \"1\"\n ],\n \"17888856917833407162182938185966015099287850083605952883262317731244534872129\": [\n \"20019171202909895155791358039794554037815725792175966672705731637117352208033\",\n \"1\",\n \"1\"\n ],\n \"11407706689737036863641100570841296857798098076699951003077309920558562190725\": [\n \"5946735158109150923892698618943011177230394081448528838872959066317919488138\",\n \"1\",\n \"1\"\n ],\n \"18587200178755969856582860239984886116433632120923134796607110835659562823752\": [\n \"17321380868745480907097277151936647547977892863618144271034528284111761295516\",\n \"1\",\n \"1\"\n ],\n \"16605780925124704025103967782332664294671477720277894299444504865357588902938\": [\n \"1739423045432682693243625556738063104832957120265376015323378848475886655577\",\n \"1\",\n \"1\"\n ],\n \"21158069343924905582479831973912527246777983437188852030175308549355682003036\": [\n \"21112436074206340409170740059961676932584164927416999120757320155456526454163\",\n \"1\",\n \"1\"\n ],\n \"2117728090316140037765563695291412390116687076988971586176205299545406791092\": [\n \"5036544779891820215682202656296940162380137798414733092285968111901641737245\",\n \"1\",\n \"1\"\n ],\n \"1858293149583243077523556913466741017023667304071978559008998081278508925555\": [\n \"2117728090316140037765563695291412390116687076988971586176205299545406791092\",\n \"4965519346451510758913965259879312192697767156364584695051839527378152657796\"\n ],\n \"4301929212961819770018884278756087139417884950398977283796964463719715122125\": [\n \"1858293149583243077523556913466741017023667304071978559008998081278508925555\",\n \"0\"\n ],\n \"21604260339437694774903582789762349029947432586805190113064426846469594161980\": [\n \"12080765502813264585981546963807153376082224810628717544125351205781645344763\",\n \"1\",\n \"1\"\n ],\n \"19498389130013687833245693651147953627973319144858969992986387489594249978486\": [\n \"18923827772400701660806419305106418626245345802784794943162061270959600024854\",\n \"1\",\n \"1\"\n ],\n \"9519631087681710164640282280034822000475095041578844006621920593633876292529\": [\n \"9995813140166827906683665506788151256080856504578271352158520362753347794042\",\n \"1\",\n \"1\"\n ],\n \"18478438420931446488050886082236530844339022740911695599570252939425224593551\": [\n \"6287550570554044524482260300330918496872350201020929496773999729389726183658\",\n \"9519631087681710164640282280034822000475095041578844006621920593633876292529\"\n ],\n \"13149316362394749883477946323825264676955087932893556568906597429399968802604\": [\n \"18679502776387176025901024881010552620739663471605340603875245253861507064966\",\n \"1\",\n \"1\"\n ],\n \"15262782207417368302001974968648077480862094584888673293892114091879638849891\": [\n \"13458736196147181293570429997005904893910098545954284166615528369699842900438\",\n \"1\",\n \"1\"\n ],\n \"16518716540962974748265683516361439304968565580221135412376667023617348725247\": [\n \"19762078024389342692583242224711919065993791665324399317509115299427006683916\",\n \"1\",\n \"1\"\n ],\n \"15113231935002840703841187895831627809419072564119150450246071719298637191915\": [\n \"755333637060745875128942817914955052812418298380288701423636747499940493887\",\n \"16518716540962974748265683516361439304968565580221135412376667023617348725247\"\n ],\n \"16040227772933199671325910208121493555149968887274832157941858022553283128571\": [\n \"0\",\n \"15113231935002840703841187895831627809419072564119150450246071719298637191915\"\n ],\n \"1932821923498744392634758137161507835647740314266327715490999082583578175171\": [\n \"15481902051822504553968945852540328140117728097240157301110670329603914153799\",\n \"1\",\n \"1\"\n ],\n \"8509308489595596016789795403666001866809992207774505005639126069608333204874\": [\n \"3684317499397525160223160669571613220700710087221599259973002188009736746451\",\n \"1\",\n \"1\"\n ],\n \"20012682428868673282781258574307177509425117335177518596996028561327574541297\": [\n \"12076255091330598121146197073215330815666346453732389719494997874396770632566\",\n \"1\",\n \"1\"\n ],\n \"10690606477264141473143169747598762706756953486186406069945278005983481240061\": [\n \"15604282593134256837629825700663716158117709591471572763758687398323701983357\",\n \"1\",\n \"1\"\n ],\n \"11310677465039035856535347214419771838244438606195716030583007862298145892635\": [\n \"16668561809268919332043536276136198962124374619547755910164743905071195525727\",\n \"1\",\n \"1\"\n ],\n \"17943889734409244647138395584748508292085254441004333637075384931820907034062\": [\n \"11675606076337873589274841847744787121489118002175976742924832696521022376346\",\n \"1\",\n \"1\"\n ],\n \"14506150565942876944305261001350300719330328355796923481859150505867120491278\": [\n \"18000350652651919778791942370965141213148719147368149121572844315574510981909\",\n \"1\",\n \"1\"\n ],\n \"15096142432012343459480385705178230468439316574004760273443374459827313112211\": [\n \"8265272178459474849050763866499982553800218435845186890402743514209495713679\",\n \"1\",\n \"1\"\n ],\n \"18083701000773505765362505305814607580161616872486460614151608050740046027280\": [\n \"15096142432012343459480385705178230468439316574004760273443374459827313112211\",\n \"5647958141794337992690997232618061083623907747282858217290867068455197955316\"\n ],\n \"7617487472353273321639874096631484783811027179679819108217541606126601699756\": [\n \"18083701000773505765362505305814607580161616872486460614151608050740046027280\",\n \"0\"\n ],\n \"17967201493083466151240834528648643280322707305571488245365963253042664615805\": [\n \"7617487472353273321639874096631484783811027179679819108217541606126601699756\",\n \"9983819895475634914673855348732548077275491891203946699046507770540593839490\"\n ],\n \"10229639926597960727228902359711269790658501353637375634153550376645611188249\": [\n \"19420482914438714870295516590666510907668543567917823475226597223618993021766\",\n \"1\",\n \"1\"\n ],\n \"21875616718066952402881888134819533349028031782787057340383091454111678385630\": [\n \"8186104702810680188732505726097040059894562613385576642220916356800581151385\",\n \"1\",\n \"1\"\n ],\n \"11584349090566393036934177055875670472462572845299275651748222934407055403111\": [\n \"18262309926320028769057143307391332868154687512446688642729425907769812916638\",\n \"1\",\n \"1\"\n ],\n \"10585235033325404314368823767927835292826123317175336931739507351530097056149\": [\n \"10726461612076851033073065236586321740272169407426593272444973846661692622740\",\n \"1\",\n \"1\"\n ],\n \"13883561932380991273168781568011933370867676857966462438547802141291696267801\": [\n \"3031518141518575326593472187178677449519084332351074571814375832036706486047\",\n \"1\",\n \"1\"\n ],\n \"21430365520188133714899051976044731982614982155224101925035824656054067759187\": [\n \"13883561932380991273168781568011933370867676857966462438547802141291696267801\",\n \"5139548248845068755788178477632615505491644633860184427762723115433070295324\"\n ],\n \"8311958304969246928564684774828449577604387598613346902445232708903805977175\": [\n \"21430365520188133714899051976044731982614982155224101925035824656054067759187\",\n \"0\"\n ],\n \"21171329744930791200983669994882625689096372895689309813723902025027415048327\": [\n \"8311958304969246928564684774828449577604387598613346902445232708903805977175\",\n \"0\"\n ],\n \"1134712833750190705789386231012243040309257515872743429542722604804218694209\": [\n \"15505674885100795548388330467357070064709170287301575466884313752518637869122\",\n \"1\",\n \"1\"\n ],\n \"15386753042005678578866134577450566606929357687507506992629042326276181337791\": [\n \"2823133331477842959146860485187634428947391757921179512595729656375710628604\",\n \"1\",\n \"1\"\n ],\n \"10589944102989943226471219596373432519855916199817672588649792259664044787000\": [\n \"17939169378697279072819826595548763625103446296983323896618326346927460810039\",\n \"1\",\n \"1\"\n ],\n \"6097120648513184680681385017617925617686917853108444476894190247414105535052\": [\n \"9637850440739362911739583304489831907800339978868862050828866766353735931475\",\n \"1\",\n \"1\"\n ],\n \"19049322483859380984684719979383364772166235817122421472270895675409277881887\": [\n \"21844798407296062494136210770235965107971715902416536897170331698486120148515\",\n \"1\",\n \"1\"\n ],\n \"14500568535041450624752663302193563229764943879548722813546204778773207073392\": [\n \"3362393492612387941768272124681937211062354782123345122872311475675681587617\",\n \"19049322483859380984684719979383364772166235817122421472270895675409277881887\"\n ],\n \"20318431669737755059065214491701577958637024246972479989637217777910917608552\": [\n \"14500568535041450624752663302193563229764943879548722813546204778773207073392\",\n \"0\"\n ],\n \"16564874032251702141171124159320059530174593080341763118821546462788116459272\": [\n \"14850903809965437091501038312293220551026369764657294502367896600785095493946\",\n \"1\",\n \"1\"\n ],\n \"2236925573032157519892130489988441936752804417705492233259532528891993928572\": [\n \"7147356877163991147408392113631740011824217571955789907081834514902569496436\",\n \"1\",\n \"1\"\n ],\n \"1899562089001497730265396666595997793922410981159688103114119632333083795011\": [\n \"5299300663111410090857607925068549285659382692679476622526942540513886997473\",\n \"1\",\n \"1\"\n ],\n \"10590103214045400092177695033165633032850777340744928789841509141990752875647\": [\n \"2911061001947314172860086593966386564293240550335674970219253339019116197312\",\n \"1\",\n \"1\"\n ],\n \"18132302407154121829948259320757798544595440001264876785677903929651597981313\": [\n \"10590103214045400092177695033165633032850777340744928789841509141990752875647\",\n \"18103517796468333915625078520482239963341102714322854036739938866269055582203\"\n ],\n \"11682489052650028378286343675761287356412371174662718049423300366845655631860\": [\n \"1790995393283089809887054093605315638968396850610592825943469636645657547042\",\n \"1\",\n \"1\"\n ],\n \"6055489917159242670859299682039896098477918229051501082211856703376851986242\": [\n \"15306477531447703905420903202879798334709498041728516686593712349083198073073\",\n \"1\",\n \"1\"\n ],\n \"1372340838193217176670596182888313729522197317713522804442448521686337553298\": [\n \"6055489917159242670859299682039896098477918229051501082211856703376851986242\",\n \"7028200414323447075272754339819464192661922543488879935867991648447450138820\"\n ],\n \"1551999901219333921105088186138742503733734830429447821353256766437221833244\": [\n \"10002368868551416291110585901047598062561790280417875826996872421957722629632\",\n \"1\",\n \"1\"\n ],\n \"18915313953868495777997257612908112340985790577450040969531765309270918946775\": [\n \"11780845289008714466661787986219161838662042131695747536724575911459857619818\",\n \"1\",\n \"1\"\n ],\n \"13361723707472833038285078013693387425973038211313812916947728256075956227563\": [\n \"5643073533650503149162724372225542833863678481463700109041406040238592258181\",\n \"1\",\n \"1\"\n ],\n \"5200514218120709760500999839257257663100179294602085966398972461317333357789\": [\n \"13480334358525825322364337013625975715033595363373963439191474089412676111905\",\n \"1\",\n \"1\"\n ],\n \"14846337715346397463329307973802368319370460388149552816558839618825153221056\": [\n \"5200514218120709760500999839257257663100179294602085966398972461317333357789\",\n \"4981937867421563185448402600456001508443811931346884371401951891639440751368\"\n ],\n \"3836888005545053387462757699366407511373887316753182606552702856449242300378\": [\n \"14846337715346397463329307973802368319370460388149552816558839618825153221056\",\n \"0\"\n ],\n \"16134015535227313144774947804043014107478757775278797923137703583843239756051\": [\n \"10455694351829032231705903403769004935512691309074002753824700382676653189275\",\n \"1\",\n \"1\"\n ],\n \"4807067626333294911692230649912654322673678600971947698113778333248982657086\": [\n \"16134015535227313144774947804043014107478757775278797923137703583843239756051\",\n \"3001099875746753785812815987938029127544250903893548038209975252618541021289\"\n ],\n \"18407885331553198509429525271488442597536028834998959496795407520269280459962\": [\n \"0\",\n \"4807067626333294911692230649912654322673678600971947698113778333248982657086\"\n ],\n \"1459363878842684475704575509561250196306973195599303247420552692916845671988\": [\n \"10226593188810941846259762021070213832896251339808552893284954997611109658426\",\n \"1\",\n \"1\"\n ],\n \"6274742682898714874096933761341541498905049987772107127455240227800076360755\": [\n \"14411024667559118874611768304457679319201782588013833878255482739652884303177\",\n \"1459363878842684475704575509561250196306973195599303247420552692916845671988\"\n ],\n \"5320337652367284505637409425482296360253969677059489353341522107623992882618\": [\n \"6274742682898714874096933761341541498905049987772107127455240227800076360755\",\n \"13549232568213181075935081815144577021419420357194049922739434825340113304790\"\n ],\n \"13291832500232813070829498180762382889699455440031510563776097849460279923604\": [\n \"12557263297158309443923528969571119196046674400756601631412427006266358465328\",\n \"5320337652367284505637409425482296360253969677059489353341522107623992882618\"\n ],\n \"13493656688240832778096474068074555546372598731961249276098800517182084318578\": [\n \"6692153784412194920093871936733768126484012794401401466809189679872441079826\",\n \"1\",\n \"1\"\n ],\n \"6062500512639911096552459334866131499851156287738556918916755073691454389055\": [\n \"8440668664225333758205426943778619440257844675831969110671251511941228268748\",\n \"1\",\n \"1\"\n ],\n \"3135982375824005537863439114947432047921832148405184150906605758970871277086\": [\n \"16921894565724310260242510770423116050450213670678142385620966657229216530192\",\n \"1\",\n \"1\"\n ],\n \"14927745875199727259818804029927316453947209023447376958339541907244909637452\": [\n \"17547305615813648500311144923082362727949526986275048125351740690281042569253\",\n \"1\",\n \"1\"\n ],\n \"12470989638173960509702611367532333943512592718210109104553938820142928682045\": [\n \"14423521212566873126721810906577525440232259094564306193860932737150759679004\",\n \"1\",\n \"1\"\n ],\n \"13073634388082861870642423797619025687576925291039371796009368534348298778387\": [\n \"15872029154845977104323360109091032400415555584608865574761180634602925925040\",\n \"1\",\n \"1\"\n ],\n \"16139014187765342695114997416301757973089025965186833461874189661169591900319\": [\n \"20918183654891251883652312642044179520875601502301968898550586827376555263396\",\n \"1\",\n \"1\"\n ],\n \"13387205378843504867079034080270687734945582333426506149034703786559026878069\": [\n \"18063257428802859575922303724491308709318299980299527286912455694158215787655\",\n \"1\",\n \"1\"\n ],\n \"17833133310138396346170091123118817969356780853891249162111141601521572677378\": [\n \"11905820006447258868631281920190503932484830737627499669049554409882604390715\",\n \"1\",\n \"1\"\n ],\n \"6378637012700450488574295068595061753679092388557500646851600996346492512235\": [\n \"6582739027108480104424133434444226963415182722157924756067343773452007259192\",\n \"1\",\n \"1\"\n ],\n \"19014282972406552769365234243582707611096351405017950665805482663916746104185\": [\n \"13990529748753862224261749406640821189749781569184518977967514169818927573871\",\n \"1\",\n \"1\"\n ],\n \"6641167827903974447734536011134225834018803508415200240526624485621877487594\": [\n \"2947315173816972012000550732760190364247460148991047741559693286078020177875\",\n \"1\",\n \"1\"\n ],\n \"10927694195562862555767814886704686636159193395721992520251525009049648999593\": [\n \"7966781309366144674271711811658886625126014281040689312717138902497720363100\",\n \"1\",\n \"1\"\n ],\n \"9909000209816056671380083370872539946181447753543231760425447405658263857806\": [\n \"10927694195562862555767814886704686636159193395721992520251525009049648999593\",\n \"9467781261372706952172778351297495213861117597472271216973754593703824373797\"\n ],\n \"3926165252103278625765801618018207203050850092057091312644981959803059205032\": [\n \"16805310110434381542828470519853343162252159836975330437045307237617893693685\",\n \"1\",\n \"1\"\n ],\n \"20902049334601170808332855812773798860759778159004881460721050336503358174001\": [\n \"17043731087468134416560258762106668808467846655198143208908220225987677083819\",\n \"1\",\n \"1\"\n ],\n \"17882047458521468941505491751081086849251806727903909410896497709088987731008\": [\n \"21293888361494920367621052999012792525868068318954001900109274587027402590152\",\n \"1\",\n \"1\"\n ],\n \"4065850390125891870019110937891390263878069662850002916036271869195242317106\": [\n \"18150624932505874465931289971963596207178193238586338596023673953823632577003\",\n \"1\",\n \"1\"\n ],\n \"10521543478002311958577373132758641362445035036359781872413230628573785206207\": [\n \"6649274467164584472975465073649506502655397824882951057892846360042665508274\",\n \"1\",\n \"1\"\n ],\n \"17889581984853511773414632758620956384462805119633177934430934833768927871663\": [\n \"16066586970310094964544227519320530581351213378178475222591808317829292235151\",\n \"1\",\n \"1\"\n ],\n \"13943061955025180882968023337501795323121499547919593153151754095755022994919\": [\n \"5448472364780906740110954473310370523122303948933607815293594558650747979068\",\n \"1\",\n \"1\"\n ],\n \"20194536537989641975391885632952746654178978606228467264842098410808212656709\": [\n \"492469685115988687500651180684912245125391127788008365902778916930189701226\",\n \"1\",\n \"1\"\n ],\n \"20134199414478855687498087880016414856100379543074088162396658085862505648079\": [\n \"9881204666796791292039926384213001953300516965145542206189755076464838114353\",\n \"1\",\n \"1\"\n ],\n \"11001940584832532628466794584299188246198609914159853588384822994062110671475\": [\n \"14973098227231557028745429308310550684944316026222762243236258842852137494741\",\n \"1\",\n \"1\"\n ],\n \"20592498902449195844916510254539689445175688764322227861125799866656852373471\": [\n \"1533232511607063819371318164325074227741515287345309434232056515291303483032\",\n \"11001940584832532628466794584299188246198609914159853588384822994062110671475\"\n ],\n \"9691892234434417525522912358356356703201136087049319524644171831769138594625\": [\n \"0\",\n \"20592498902449195844916510254539689445175688764322227861125799866656852373471\"\n ],\n \"14945488822784189046366179130875373660589003189002636484380689829075037506428\": [\n \"5223028594525770898400260173963076768679612088532251200116409534457621653628\",\n \"1\",\n \"1\"\n ],\n \"19843214007095396362268233377247361319197156943415975465902552835653409158527\": [\n \"348457961709589348524895138147859043650416188418835334213910256290115651078\",\n \"1\",\n \"1\"\n ],\n \"18092527053181786178141034466336195491859529426076842006444087863007048972440\": [\n \"17979185409585277147802350103791215693278117587706749715248090084260560538643\",\n \"1\",\n \"1\"\n ],\n \"19832160452811511462041803264965607133970174326928053435601513739129051726351\": [\n \"1208078793161668450613829919273294002523295697994241429090733657610068783227\",\n \"1\",\n \"1\"\n ],\n \"21439111771473331173063930672960159190756842445062376860002567514024530997060\": [\n \"7047484462954314624565160048067120431557944375236250936487841422970150098709\",\n \"19832160452811511462041803264965607133970174326928053435601513739129051726351\"\n ],\n \"18948046559831600067627563575869723637882328671220464698237251173000975678360\": [\n \"7459913186975959985622659583999077239229922425769117634711380340820642449232\",\n \"1\",\n \"1\"\n ],\n \"7078016512455009831358299118637920911229423476298126157515951626606432082700\": [\n \"1691581526851526967001814912848015184611762389993026463877136228310837098371\",\n \"1\",\n \"1\"\n ],\n \"15588893007446256199237841049860549963863947341080630955397578652728837694471\": [\n \"8601741167572735948589433961177597084336703417853614671299116806715750320206\",\n \"1\",\n \"1\"\n ],\n \"18366710286851056772070832955426654371398337491358263217888089349964972994899\": [\n \"17748228613412375651959371179326355422931819143232913366986530859872422812439\",\n \"1\",\n \"1\"\n ],\n \"14518557696178074574719628879180197576382597001650822571675827956659440425417\": [\n \"20758598869923187905160417504058283014662454964167948874274360999367358871625\",\n \"1\",\n \"1\"\n ],\n \"6748537275799352676314195652035123154087808909192573191147144462835990892119\": [\n \"2311370482872853719266903890366712697162960778339416971763120051179913481699\",\n \"1\",\n \"1\"\n ],\n \"12412901175090206398010419540632645489071691768986161280856553393429091142433\": [\n \"6748537275799352676314195652035123154087808909192573191147144462835990892119\",\n \"19799417932977139874511402350876916059815569612640655875493661724886920272467\"\n ],\n \"10433376410547480708201003422812634355709863860095804300554724261129023789585\": [\n \"12412901175090206398010419540632645489071691768986161280856553393429091142433\",\n \"0\"\n ],\n \"15272885924769666178206647513949883976717135686927944043190206259597986389096\": [\n \"10433376410547480708201003422812634355709863860095804300554724261129023789585\",\n \"0\"\n ],\n \"20664724304029354184350219768207706165952309791796521217593252553889609249118\": [\n \"15272885924769666178206647513949883976717135686927944043190206259597986389096\",\n \"0\"\n ],\n \"1485397817866804259463541297575040344385956331963026749291717743225421723817\": [\n \"21624556333923961523749183820347884705379860245851687010712816174948739608569\",\n \"1\",\n \"1\"\n ],\n \"6217039975312035414716795323666199943429706611391976010744888567828036242243\": [\n \"12924842746058139403330756031357227383125395224218920490955405853893908237696\",\n \"1\",\n \"1\"\n ],\n \"1605842983766418158690830006305162641976267285517643920577829588177578699020\": [\n \"6085520039243899185743111403378889378670823763491712588962856950672737331563\",\n \"1\",\n \"1\"\n ],\n \"3950728421110126501764547418798931611644422001140862704574833700228275790797\": [\n \"12733821933986117141899442167500238395432896894005208797518254691743990905459\",\n \"1605842983766418158690830006305162641976267285517643920577829588177578699020\"\n ],\n \"5263533159429478606905210099651765029663540809212828185828553489619952849277\": [\n \"0\",\n \"3950728421110126501764547418798931611644422001140862704574833700228275790797\"\n ],\n \"10901194545545747086040951858496125167018952508592684379256567464506946776357\": [\n \"5263533159429478606905210099651765029663540809212828185828553489619952849277\",\n \"0\"\n ],\n \"20620856019273898819504484857791448771912241003462183489627685706605467753038\": [\n \"6974157781472116866310862187193914185054714256592433808217005426838902072174\",\n \"1\",\n \"1\"\n ],\n \"10578979327790002409249895974348478356112216753489155599415577444439333303744\": [\n \"10792820019033430605380176775269827046238381920175078981670209955497991137032\",\n \"1\",\n \"1\"\n ],\n \"14989863002120364057084935192636200121848767961374897751163532611862255914513\": [\n \"2782231652773997404873423193821745230237999354230981058300191223954560452185\",\n \"1\",\n \"1\"\n ],\n \"9512432609820759553104573194803998161163782338160915565544434625822575383764\": [\n \"17253606466967256950374467412824891110722449576275797939867483150152142808299\",\n \"1\",\n \"1\"\n ],\n \"17803451606701397341507632395220576544625665224730591853654089423526816144465\": [\n \"5982978239290204158847130552945219910347740523338979291569430380388196089137\",\n \"9512432609820759553104573194803998161163782338160915565544434625822575383764\"\n ],\n \"17415625728627473268132078877332022703228821058855927440963874666389811842731\": [\n \"12197322322797094958889716413049532066579573763469321472933502782723656926815\",\n \"1\",\n \"1\"\n ],\n \"11875505843490491907776548990445586444341622847265312495306256490375706008631\": [\n \"21458491698827142540509059352320011082243880833328248608202568441082065770309\",\n \"1\",\n \"1\"\n ],\n \"17047793542090539191497608466210710039540957031693605951088298099301855528562\": [\n \"3659295663356085978129862985688290255864688133242982789254350720389417330943\",\n \"1\",\n \"1\"\n ],\n \"804817206072522966901318197567456581268853583523264889873147818043048539083\": [\n \"13635441234883845020065256784709678705524760492982777623516188175339321637911\",\n \"1\",\n \"1\"\n ],\n \"3030048532121193094019376697565094759026292229899652445870899157505415437654\": [\n \"12409242352399828122954751075689672631101857736908319104675339469816836029230\",\n \"804817206072522966901318197567456581268853583523264889873147818043048539083\"\n ],\n \"17836725932985395282867412408877062470077436109732787628082531015300878727205\": [\n \"0\",\n \"3030048532121193094019376697565094759026292229899652445870899157505415437654\"\n ],\n \"9481341218170415999616504002074417116336661208094893059829249030937574783529\": [\n \"19008164127615851002200880620811959663168894482213972047791626537922768011555\",\n \"1\",\n \"1\"\n ],\n \"11571563330031926766723947195880125152360213012824186951784958267785684749946\": [\n \"9481341218170415999616504002074417116336661208094893059829249030937574783529\",\n \"4965607506292345097977594656966306241162851899869469073212527870285724192436\"\n ],\n \"735601284753476978640714935648534989814352770212034935937779416698106502119\": [\n \"11571563330031926766723947195880125152360213012824186951784958267785684749946\",\n \"0\"\n ],\n \"20067404839222720311656604823007008482820894402796387996046060228601271012659\": [\n \"735601284753476978640714935648534989814352770212034935937779416698106502119\",\n \"9115994678838286762785419411939986498744422267822727153075649253898710833172\"\n ],\n \"12605309530086853253976272389808798497071000586843325420031847644377280980730\": [\n \"20067404839222720311656604823007008482820894402796387996046060228601271012659\",\n \"0\"\n ],\n \"4311477064710703742149920455067655350181822021612532123140235811600435862734\": [\n \"187099265108233570452304580202075180175200131955225438271563867076357673147\",\n \"1\",\n \"1\"\n ],\n \"17520554449990252555088487879661382994075110261983787593440836183373043459820\": [\n \"17009390901810766642695466473545444115810372116236988034704167898324025290707\",\n \"1\",\n \"1\"\n ],\n \"1183153099883275933549018417197124044920957167126295037274211602244818130865\": [\n \"8578000621231293826959299395914820362545030250913458759316777924326584155751\",\n \"1\",\n \"1\"\n ],\n \"1428296281565384235751962495530538801288460671702141763178318577292467132394\": [\n \"4800271850920855131995735355519783204628128486019069156282181604257320794212\",\n \"1\",\n \"1\"\n ],\n \"4540929189175161429277919157197030252174906386266306235578440029500156842535\": [\n \"14080886617191220595036449872346269972068735775008772574601914719210314892494\",\n \"1\",\n \"1\"\n ],\n \"7200061992545620396354834846841631172995738643545413620026160184874310964764\": [\n \"18741107155219659674958425820933533141048530806780911465429268824763341544209\",\n \"1\",\n \"1\"\n ],\n \"19333759007846216879837073587074220902378130543438975082932296421771300822588\": [\n \"9670419367217265338186048461573856309616596286116854851271870623097953420188\",\n \"1\",\n \"1\"\n ],\n \"13654861244406814410510894940559779504756532614234838104375427195837760241369\": [\n \"19333759007846216879837073587074220902378130543438975082932296421771300822588\",\n \"2874657007213694453910302364856775727915388467643348399929499754293256174\"\n ],\n \"1816676785438729586292540260739497807732450244366555886333952122203125060231\": [\n \"13654861244406814410510894940559779504756532614234838104375427195837760241369\",\n \"0\"\n ],\n \"5615408559018361880170983502475912633554411899796552564298328651383625314662\": [\n \"16873344742034410651210908482774847972871123782827603939630727996799439987638\",\n \"1\",\n \"1\"\n ],\n \"19791481361804932493689824660291644341601024824333664933393031096008652206540\": [\n \"10014591480416371496520211797738310930313998208372104993804263144655174658648\",\n \"1\",\n \"1\"\n ],\n \"6951946057461636536496913313229686379288452143540494194557843779189083950036\": [\n \"17673699567328845902553226498540556132451239297099414283698062820222213233756\",\n \"19791481361804932493689824660291644341601024824333664933393031096008652206540\"\n ],\n \"20979851465895931781110722801460686318592170612857023324186202115228732584106\": [\n \"6951946057461636536496913313229686379288452143540494194557843779189083950036\",\n \"0\"\n ],\n \"16752604762234773193339827648163689443748579922935391776295752469494638232986\": [\n \"9390370063743694449590437796385682325663785907492506896687868856634153046616\",\n \"1\",\n \"1\"\n ],\n \"13181841173297370143565272897400307094971993659970747537296955378225041734053\": [\n \"4464242634787087011684810095192677187472130570916835776560492166612496096271\",\n \"16752604762234773193339827648163689443748579922935391776295752469494638232986\"\n ],\n \"11932903022312827578521362973404656185631037994336422087303558550643478147970\": [\n \"13181841173297370143565272897400307094971993659970747537296955378225041734053\",\n \"20979851465895931781110722801460686318592170612857023324186202115228732584106\"\n ],\n \"4062497527015580439180615928609858025098756000519734296439976132140318696077\": [\n \"15935893986246275227684204013602453169472555591622667736928523607507209572224\",\n \"1\",\n \"1\"\n ],\n \"13107234993883390798140755851104419684848874924469027567987401913246787555010\": [\n \"4062497527015580439180615928609858025098756000519734296439976132140318696077\",\n \"12422541231821636877862459210577038872291130173750324744463501222245792570997\"\n ],\n \"6827390680895319959439895975761296255923367865623717575011547783773795400812\": [\n \"2541008471309924972969849291890868875311272435660042209802744467478093134290\",\n \"1\",\n \"1\"\n ],\n \"11805837930393117039094901363889465073050955834183774627917439559936507967086\": [\n \"5861722014130136292070401174055547667397154029259685829863531686852921593074\",\n \"1\",\n \"1\"\n ],\n \"20476683664972633025721238661919772208236912677742575902164929629123776610396\": [\n \"6865722551898085250219179013286633179839108590773296204947286696187049333392\",\n \"1\",\n \"1\"\n ],\n \"9954788359619930462649955065063123770743380463914164232910204873797667865403\": [\n \"16618731098022769689954272778091269938725814398962248889389961641166440236622\",\n \"1\",\n \"1\"\n ],\n \"2765011389861786624760998733414356625771124318445140394085018435935300784692\": [\n \"15654566496561018428128194150679200532087190537188888651695246928893014293826\",\n \"1\",\n \"1\"\n ],\n \"9271684751064080283292122461909236402914751814860338011070006478650683087204\": [\n \"14671112951609959352661367301974875284468739135595685380836821273349003801084\",\n \"1\",\n \"1\"\n ],\n \"835439686837857219500583891282706447893619798067955270836286730024929692625\": [\n \"17811460406024431929163085439154598253482317842790021375257373836635315064427\",\n \"1\",\n \"1\"\n ],\n \"5925056746504273113096268556583024892200977144724459776822637420796564013460\": [\n \"3707176615247655363474913858496031084046832556800791990050984770103221259388\",\n \"1\",\n \"1\"\n ],\n \"2970462252587766873605191357810196190854208472185133831874307853869114812221\": [\n \"13287309855191437522121184860545387963933522604098583466322276128896208960696\",\n \"1\",\n \"1\"\n ],\n \"1019263486012558503810228516092185474472794235032017036218790632325071691589\": [\n \"15283345800021615265981873821086668065390766153716045669101368755755677391666\",\n \"1\",\n \"1\"\n ],\n \"3231694945445700884257999707574848731500309009483341986821326681982398852658\": [\n \"4728221642538116751330493068585872800437141077648431625786786908947933603251\",\n \"1019263486012558503810228516092185474472794235032017036218790632325071691589\"\n ],\n \"10002759784886101722183974854662699419528306128366733899758981845973073286526\": [\n \"21363514491915792864834481504232131969988357572833450329980157867403129993890\",\n \"1\",\n \"1\"\n ],\n \"17393554138982922183307246972720750673272045462744187582912888828527794954548\": [\n \"12225383521151000818691648227412485146950280473572092364583291094801357942490\",\n \"1\",\n \"1\"\n ],\n \"11152067442647953928437602858609619254405247260926433693826636851638086277721\": [\n \"16711683371390118825214553737292209247310971481603533627183387384769696922866\",\n \"17393554138982922183307246972720750673272045462744187582912888828527794954548\"\n ],\n \"7610299669628455108991608587351253783543140520934037340345507265828941457394\": [\n \"12098285262338850122909604525009642674172196247607446646759641327609834823810\",\n \"1\",\n \"1\"\n ],\n \"17071475937344202005111014047987997911463660202648185028885065943082069305018\": [\n \"7451156629908688559203642310961863358843883003018863855108527579140709026178\",\n \"1\",\n \"1\"\n ],\n \"15069063779426121621929928023736342347799899295428331179962738231342345411739\": [\n \"4398961873776764651295002773949302569611615594015487913180191957998451569860\",\n \"1\",\n \"1\"\n ],\n \"17619998652339401784526402183891180375895578196751841384830611979839052589007\": [\n \"17547516785586836972332347807622005777301475813631084772699282791493662712540\",\n \"1\",\n \"1\"\n ],\n \"20101221184629030451856039570238538958644774390468892169860719367278102965383\": [\n \"13998709845099358187136516019110890435617008447826595680298562484345814279434\",\n \"1\",\n \"1\"\n ],\n \"5871723943044399306730581436249139079052817213720799599007086542370311344259\": [\n \"20101221184629030451856039570238538958644774390468892169860719367278102965383\",\n \"20625800110365236274970494550368149802198425415559218637398326231009003582925\"\n ],\n \"11162568927816005444032720510506025426885344657084918545969199318297802938715\": [\n \"6744863145420159089306183695143828125794682523918458527234385156540591405888\",\n \"1\",\n \"1\"\n ],\n \"2602518568240988982822510108114411395240157915101168406335165512424865643443\": [\n \"9395154168706595298527152216432124864729809568846667331595266769239657290655\",\n \"1\",\n \"1\"\n ],\n \"18151951961769724984100573113638586689618612334633422805690808632824705898891\": [\n \"2602518568240988982822510108114411395240157915101168406335165512424865643443\",\n \"13043475011531649024596093273958534098803722887007450485080835797647378253398\"\n ],\n \"13072601173031271536967676603450418024033953722466173950895924421974420451393\": [\n \"6136775230829160714851488472440593728282869217276076944050161591711544321902\",\n \"1\",\n \"1\"\n ],\n \"15828910821469623244664910057560169793030726877775327420164916803706291891727\": [\n \"3536117642982117512206875345176414805809988346584765969216917007393622874720\",\n \"1\",\n \"1\"\n ],\n \"7259095891984474109347077295662747308792208347342077463309689936636594531534\": [\n \"8862839732745571224963904490322000560569330811638453744310839837680436237375\",\n \"1\",\n \"1\"\n ],\n \"1526464234330136705944367192484750173605732395184674782368057397728952542761\": [\n \"7259095891984474109347077295662747308792208347342077463309689936636594531534\",\n \"18063872231051888921704814808840074959262107156809481097999190381783907056788\"\n ],\n \"6276211315876961297941093935611528652079493799511589299550627734521343244419\": [\n \"8952449088590381664515962223561459996015380023029384665553218712562563062400\",\n \"1\",\n \"1\"\n ],\n \"7949779823823951669295757403425481472731754073917555919249664043490677933074\": [\n \"3805493236183540202696574800068599705957543415684203310868777441941834446606\",\n \"1\",\n \"1\"\n ],\n \"21514126975577228049059304513228312651957995186470828309735360213014019495676\": [\n \"12029340678877578535050270023581775527789409121034509942109682787373977216215\",\n \"1\",\n \"1\"\n ],\n \"11525693738700186258900850900151947058863705326411581253782144053446327740553\": [\n \"21514126975577228049059304513228312651957995186470828309735360213014019495676\",\n \"8259294368177270491799281735883678644955068071503154196561789975689860120882\"\n ],\n \"4322957650944846947863235435861828763554923879349524012158119519317197054315\": [\n \"0\",\n \"11525693738700186258900850900151947058863705326411581253782144053446327740553\"\n ],\n \"13965914143172924256939920337423828307094837043361235311142786364809942029410\": [\n \"21407128085687491198484373911070732350146456457609169389548697743455998665801\",\n \"1\",\n \"1\"\n ],\n \"7465259848695893924381320712487007388681169453632639216959495338211965463493\": [\n \"11749744244247660368086752715900869920445185124188211243379503668091579704090\",\n \"1\",\n \"1\"\n ],\n \"6916109082141268008526022868288430661427546961330117775002648195000467292227\": [\n \"4526969776460159220922129438053321943743856269212509009259879644988694193755\",\n \"1\",\n \"1\"\n ],\n \"4727765958127521155005500891049454792460198666353230806002637316243258991489\": [\n \"19129552189815049130823422134230907466550391708900240846724432959296585947380\",\n \"6916109082141268008526022868288430661427546961330117775002648195000467292227\"\n ],\n \"1574189671959107697895020606964587280004578414941839208844626689737466607209\": [\n \"0\",\n \"4727765958127521155005500891049454792460198666353230806002637316243258991489\"\n ],\n \"1572967929294205966595697071658135577920388110622190615733706714286170403203\": [\n \"0\",\n \"1574189671959107697895020606964587280004578414941839208844626689737466607209\"\n ],\n \"14844961611060997998444437416567671491722906947245440532980538490858951266943\": [\n \"1572967929294205966595697071658135577920388110622190615733706714286170403203\",\n \"0\"\n ],\n \"11124092587974749952544011808924615509321065697380649434692315572123304034466\": [\n \"20291569908023399349572309386138328960180947859740944018830127035364284269098\",\n \"1\",\n \"1\"\n ],\n \"16638923852339367304183372183719071359170265601739749194313026288368230039795\": [\n \"18315190409700497843070903647859216146924858139773046203489571045317407601293\",\n \"1\",\n \"1\"\n ],\n \"6729639646517133273023382553628024625148176752623005702016599623713856344350\": [\n \"11911741751978972395085688202555232880718999834897678440017506264759283252391\",\n \"1\",\n \"1\"\n ],\n \"19487244979340121351645717208305713215268090963196436792739523169849571310632\": [\n \"8395051075933907585231684332211500619081070015535294530822232154435646980153\",\n \"1\",\n \"1\"\n ],\n \"13799068468357968646174170047025745310751730512139767858491678609835225483668\": [\n \"12588231254693081926627930881278636871133717520786245819330419106536411696793\",\n \"1\",\n \"1\"\n ],\n \"5729318988532011149610244110002559606275292823431038835503367251643051141599\": [\n \"5911198880270383241641990216098876656363501911669907678298161486005201638703\",\n \"1\",\n \"1\"\n ],\n \"3011592906923936605119001122250083290649538988079793322775426444372375987556\": [\n \"2830146988909995287407680200575430258960911252521377357740381044988952215299\",\n \"1\",\n \"1\"\n ],\n \"3440297317783179626206547273344079286655655581659233653979415303657398295735\": [\n \"2997771726388938346357623493128089148328569131035244964377528463750194922022\",\n \"1\",\n \"1\"\n ],\n \"4091678079058782851125486564354248355418117271228948721613118114999779922528\": [\n \"10172938774581341693798710854036624310875279566141009203764012041931830016908\",\n \"1\",\n \"1\"\n ],\n \"21530605149795130787252197623522816153838537774023500155706126655856314946994\": [\n \"7249272003036625606841513425854929019081524186612561323070069888661316401239\",\n \"4091678079058782851125486564354248355418117271228948721613118114999779922528\"\n ],\n \"14813270408132736729306079943588494329777310885360557686014288990337942351314\": [\n \"21530605149795130787252197623522816153838537774023500155706126655856314946994\",\n \"0\"\n ],\n \"12445080049409354817294232050105793222372724550819502960486543918788363135190\": [\n \"12934704196199092551935307535130429779552218862319309696545475872798001012668\",\n \"1\",\n \"1\"\n ],\n \"6100557309765593225608767523808440173604801180170500568250476112326708139014\": [\n \"12445080049409354817294232050105793222372724550819502960486543918788363135190\",\n \"11506615362834869817958687662747755267610406483095271947477597605577091226068\"\n ],\n \"19908232653816248072278727590389716703523102683430833407531545732144778949807\": [\n \"6100557309765593225608767523808440173604801180170500568250476112326708139014\",\n \"0\"\n ],\n \"15147320276290589738934906851980072247685558921299256721317122474350155431055\": [\n \"7028773535445020865170099627799973556224988704825824101700949718910241817323\",\n \"1\",\n \"1\"\n ],\n \"19907003909248594452038889019850501981647422672123725577951811162881436252968\": [\n \"2579597678617937278523632243881764285158068304445977533751886812384494237777\",\n \"1\",\n \"1\"\n ],\n \"14102731855767497142803316513337110392713197605012459288515584290581421901136\": [\n \"19765163466324284971443138924302001410066100463876379857727616609112265433836\",\n \"1\",\n \"1\"\n ],\n \"5279139810574066974026810565586501894023762651732586060577649433210332740818\": [\n \"12942864973630546282212548861326705055511769242844768586006079270919271308186\",\n \"1\",\n \"1\"\n ],\n \"3513742716596042217378790264914675483069765471386026832245876366047260110131\": [\n \"5454729300734290316924598734882649463511717912756350318692623764286558544591\",\n \"1\",\n \"1\"\n ],\n \"9882034461247426139691055980262329681102504753108796420208877182196451766235\": [\n \"12259705979223521136140271551281099044562643971065132004222190736544228961385\",\n \"1\",\n \"1\"\n ],\n \"2428364783411029136289497482926744074133079003892685984509635336066434264817\": [\n \"9882034461247426139691055980262329681102504753108796420208877182196451766235\",\n \"18759068769871770554694853415673169283340490423507129997300624845814678232219\"\n ],\n \"15225483747563088986075885907382085777417459938705813790881967901186647452020\": [\n \"10994934410713697181517578903147426560293569752315686291344401831357194796031\",\n \"1\",\n \"1\"\n ],\n \"12787814385022127521553768089007138980982550939505730807506413150849753098365\": [\n \"11148332430017833379166344972381954395498464298493619116471038719055703148786\",\n \"1\",\n \"1\"\n ],\n \"11774486523666556642775395844799710354430140714651817489925238378840068221564\": [\n \"19254101271447843870504062424125560907574936859047934078923373341825906019487\",\n \"1\",\n \"1\"\n ],\n \"2164991764455073093051625881283172603647141002686976748397448026135214473813\": [\n \"14811473458515307944313591940277920060201042236386612250611690138547624364745\",\n \"1\",\n \"1\"\n ],\n \"7872296946744422915318905654777688877726525596383933235734584104635648030482\": [\n \"39283001639021261012511580338361210727456650665291511253803194292271649369\",\n \"1\",\n \"1\"\n ],\n \"849760393728775941973241174795353716638559459242371281125166162227612244341\": [\n \"21442092848251352564481620990810275006564931615323087498304330755916000275678\",\n \"1\",\n \"1\"\n ],\n \"20454831224765650165596878300795026783164915268969253525577114252053428787931\": [\n \"19515532496272438419129772244985745450346466530667115117192214366561766494293\",\n \"1\",\n \"1\"\n ],\n \"10199468046253699331670348021047559583700548318540134774348147654688161056749\": [\n \"581779726162571332094840751806613706020847474876140447844048475454405152485\",\n \"1\",\n \"1\"\n ],\n \"13273245547911291154434146522239673029672616000134322266716541324216648384749\": [\n \"10199468046253699331670348021047559583700548318540134774348147654688161056749\",\n \"13375480360797039580021713068904508328930371843649942815687240092318143379196\"\n ],\n \"19086943178680452912504691528803687061265650723733276950829556970897852177717\": [\n \"13273245547911291154434146522239673029672616000134322266716541324216648384749\",\n \"0\"\n ],\n \"1869462066745815070678501869848791015650390134188384704068365990071853834890\": [\n \"2876355055961606628371223637038284326187531447071210466275785631348943427254\",\n \"1\",\n \"1\"\n ],\n \"9624260367624488855674046377650626568986011944535478945007557576838129216868\": [\n \"16188516459011586393342526961896562675238952626813495426953735669289556724425\",\n \"1\",\n \"1\"\n ],\n \"21258130215421736028935711547781952748871064746174655498118757326866676460193\": [\n \"2164991764455073093051625881283172603647141002686976748397448026135214473813\",\n \"9624260367624488855674046377650626568986011944535478945007557576838129216868\"\n ],\n \"7446827572330430906035211604438313606475769537864568407908374301573316140084\": [\n \"21258130215421736028935711547781952748871064746174655498118757326866676460193\",\n \"0\"\n ],\n \"7307103356774125209480385332079155840048445140594417306807012518378216417586\": [\n \"4851669805341187080913577992404203445777724129539403602323509864731714555113\",\n \"1\",\n \"1\"\n ],\n \"9233328206737662634260652416424756906592671337216817772658769378902077015994\": [\n \"10770491134608918030576525554342937876148518980448300539372636382610958524966\",\n \"1\",\n \"1\"\n ],\n \"19110696056374850196273860619389399265114775673121734035013795630047735946382\": [\n \"5431580943995558644459931093142126790008890504485489598620031520685101566411\",\n \"1\",\n \"1\"\n ],\n \"17019229770283799243149142635536833677582509869890560002633608285173672454903\": [\n \"15285056317782827586916651329345216970782364725852716127488703682217303063243\",\n \"1\",\n \"1\"\n ],\n \"14389749785295727873016828430109486800294075652753687202769721429456602584513\": [\n \"14854232139971138483239146981189498892172862551252274011555804930054645084609\",\n \"1\",\n \"1\"\n ],\n \"14243217030501880208853196749257887992229826610837314738098048408451490062721\": [\n \"18484058671840563106181044611991904632043140409126373261281858056867278656227\",\n \"1\",\n \"1\"\n ],\n \"5355202807897790752124650324282580749298547096022821905249013925808512215786\": [\n \"18507394336598691129363293900665554377444235226823813440860923511016786664507\",\n \"1\",\n \"1\"\n ],\n \"4434362710894501438848415838918384471899055280887143838829673581928000557150\": [\n \"5355202807897790752124650324282580749298547096022821905249013925808512215786\",\n \"15683986926399598667551166963354645905707346698528243389063329322399077914359\"\n ],\n \"6731464372637300782773596502803568565684635710010788273649420962838647473903\": [\n \"4434362710894501438848415838918384471899055280887143838829673581928000557150\",\n \"16889331632158280391094316299949405282519623013124014614904201750698359217992\"\n ],\n \"1753247352014584363286111303363972486177952169350891103517575006940741889362\": [\n \"18193219625713374811316247547087636243220530839406636456890733180189289149646\",\n \"6731464372637300782773596502803568565684635710010788273649420962838647473903\"\n ],\n \"13527281593434224465425012162539841464846894749322203877496097177931043167158\": [\n \"3952716968981556573830353635826943300824427272421975102225064351499125628140\",\n \"1753247352014584363286111303363972486177952169350891103517575006940741889362\"\n ],\n \"1764138329669916806931259706751198600462817734266414955970963337391845459737\": [\n \"6822673845372305346648614146021565936282918226557380327877479350498671147985\",\n \"1\",\n \"1\"\n ],\n \"3221033416120345424233306400351050868687564346425031635815631861818071409876\": [\n \"3268888231227556885822583940572367832279803917660214743765446114247912016661\",\n \"1\",\n \"1\"\n ],\n \"2379293531590382726044148376746444575344385948688948642524845188095021416623\": [\n \"17563056439365598491264862655485252584033762559553056536605495557963937949041\",\n \"1\",\n \"1\"\n ],\n \"21290072895110196215250269952533975288672584073085618750583869520695135671229\": [\n \"17474231025006107959344495542644903135230331691559354932792233498371344993509\",\n \"1\",\n \"1\"\n ],\n \"21178386031721883586879933919092185517682492759495461451843195609660104538576\": [\n \"6558656481848203299554448138050469038485410479318503537028655742987575992395\",\n \"1\",\n \"1\"\n ],\n \"18380005666191450769479203861091564427339884700910578515548748110485575220618\": [\n \"21178386031721883586879933919092185517682492759495461451843195609660104538576\",\n \"15360081776133402875214230628165050195061367753868773956497782504559940019334\"\n ],\n \"20276804624214067200827228029710311089339208170265435571668972801617166884701\": [\n \"1719568980192448047199605259187379537126260538301063074822392136212714372756\",\n \"1\",\n \"1\"\n ],\n \"11098761563112726946812913350210075752312962304064087386041033329672032594444\": [\n \"8584875969261321146459101752488346968616445193423192659629923769881528756003\",\n \"1\",\n \"1\"\n ],\n \"5457201112412779998762851643136740604867074186947453226010478468758367335764\": [\n \"11098761563112726946812913350210075752312962304064087386041033329672032594444\",\n \"6592268507221174687231438609864891373862117763153908396564566854885663986051\"\n ],\n \"20980709568558466795621425045862444694849261818865612531184204447938877939870\": [\n \"2866565891957607588949592037180183355983394444055923416692973549655396919175\",\n \"1\",\n \"1\"\n ],\n \"5280007326492786982552032189386005939772444014426844905981430859293835512290\": [\n \"21074931863320638102952426512271286962023852684475427166385092513396568757549\",\n \"1\",\n \"1\"\n ],\n \"12681641862585325389934487119151509559676848782507819047781655661995675570662\": [\n \"21157441961828207357503616865202062855448137251692050393106622319806397975412\",\n \"1\",\n \"1\"\n ],\n \"19788821668674711755041560269040837630763037933692679318723130980055349996704\": [\n \"9055169943418340279118357612097201297419293845486045689614990755918792988496\",\n \"1\",\n \"1\"\n ],\n \"16741910547626757452215273016604094309310583274809777850569519396871266249605\": [\n \"18948046559831600067627563575869723637882328671220464698237251173000975678360\",\n \"19788821668674711755041560269040837630763037933692679318723130980055349996704\"\n ],\n \"5559642799930571114537899922574318568735790337075208531314468075477480374794\": [\n \"14220598194229311527710759305279840035717257755346175299256223919131814007976\",\n \"1\",\n \"1\"\n ],\n \"1458334500720759689570141561642766325953152398120104077952952594035449043443\": [\n \"4083747272620503223137344188606791811491323485263702280378415034566135053709\",\n \"1\",\n \"1\"\n ],\n \"551419499628079194271806499624798709506884032113242520992722404869649741128\": [\n \"7260887384922015484198259202124052117131257465429308021782227803398509977746\",\n \"1\",\n \"1\"\n ],\n \"21656194276528191502828447735495077970736693903258318226938993336322288860687\": [\n \"19470720052325077898360010564294487632687180964573644047814703590222987457472\",\n \"1\",\n \"1\"\n ],\n \"2619162317107440188551299725085517466909888286756714882764568472500804002125\": [\n \"21656194276528191502828447735495077970736693903258318226938993336322288860687\",\n \"2562447284103098002521218265392759812353979130580518253314786604629157946126\"\n ],\n \"18530979092021771751742324280072194235282896606679421611923815118014440640450\": [\n \"5071024945812254410735136319152401376228029164139101034810586787243701021939\",\n \"1\",\n \"1\"\n ],\n \"18739027969035050418309484172178268146151578038386606134552880060708975263586\": [\n \"15938692320348033042186286413956606714265688115321145682074409247552792016101\",\n \"1\",\n \"1\"\n ],\n \"16773657811247281661813802319570665656405704953190850175220115278538404599205\": [\n \"11223212941223286561892371783211040052643658295703620834823468335413915205381\",\n \"1\",\n \"1\"\n ],\n \"10749169406703426968261994748081526618288256909255746571807440189192630742469\": [\n \"14425421765081180544224316989566411779149728526934487054368056941122234370526\",\n \"1\",\n \"1\"\n ],\n \"2489513638056049099309713895181513082442948503088557172883714069860795139946\": [\n \"10749169406703426968261994748081526618288256909255746571807440189192630742469\",\n \"21609863520591990761080783438155096962059237978464197139887465019268948653909\"\n ],\n \"21552302352623028190187928386410934771724624003243971948772603279860979170698\": [\n \"0\",\n \"2489513638056049099309713895181513082442948503088557172883714069860795139946\"\n ],\n \"17439841670416005438912818539298256951187985050564256473940264821177659509018\": [\n \"21552302352623028190187928386410934771724624003243971948772603279860979170698\",\n \"16151177129202542903445631382908112289938560553580645055681087107160553489538\"\n ],\n \"17470380749645568617156322527926744598431974223595171000234141705945343503485\": [\n \"5603169088973859623266570503599748983518460524124583571154152947113613305964\",\n \"1\",\n \"1\"\n ],\n \"10137455207630752433483969148579783711434743683943225204296626429346334687662\": [\n \"3694271621192624077551136609101897422985626932457551499835220322021483495868\",\n \"1\",\n \"1\"\n ],\n \"17746533777620905412759812761267303905274413324534171750047996781249083304745\": [\n \"10137455207630752433483969148579783711434743683943225204296626429346334687662\",\n \"18075812223267980403254068910183734664903187859701502075651277827891924235958\"\n ],\n \"14663533414619886484386881350332387574169992088326711716313022203430774664086\": [\n \"8129017715369887352822418897246700685660427512618393450241059063092645329386\",\n \"1\",\n \"1\"\n ],\n \"19645153799163840849083498712012724247208258356082337867999946814165982098600\": [\n \"18326138794164380140612788103523864312582379678925310435609725305041425514617\",\n \"1\",\n \"1\"\n ],\n \"17154063925510812847471091168915044600430635044458046094190675186097806313890\": [\n \"6943850826167754356855329786238633695320932433877670738406429450752007358913\",\n \"1\",\n \"1\"\n ],\n \"6192243521486942282871714061014168474746285667683863555706475617578582785798\": [\n \"16109341462371900182924863516801081850310921659442222466729761612912729980347\",\n \"1\",\n \"1\"\n ],\n \"19895120659904828572323084668585969801839701548779572962178614850572123643072\": [\n \"19765426478105330593015904213331143432821996316941981051797927581564176119549\",\n \"1\",\n \"1\"\n ],\n \"21591706914489467870572686109397352513610039191218957959613198718251201970316\": [\n \"19895120659904828572323084668585969801839701548779572962178614850572123643072\",\n \"470536165207887596694290394462502178043179272293770416811304293917522161729\"\n ],\n \"6529602880899120447017691069790723119121975988476091228113114473465129022706\": [\n \"16525936509437070265927738914981881222456871793718757036638766722182916262378\",\n \"1\",\n \"1\"\n ],\n \"15296036149051996676249948267412705310050532154381707866513678189504704830304\": [\n \"6529602880899120447017691069790723119121975988476091228113114473465129022706\",\n \"14663533414619886484386881350332387574169992088326711716313022203430774664086\"\n ],\n \"19101509798174823023738955971151240860749380655671403879220160324129064511313\": [\n \"1056189025227374826587911127479307252127717625819920252076916376282082638013\",\n \"15296036149051996676249948267412705310050532154381707866513678189504704830304\"\n ],\n \"7381761087350081538189855907393453966628742734915690989448991444622379214640\": [\n \"5848626483256106299253647496794324697318370249726020953133227680878513344624\",\n \"1\",\n \"1\"\n ],\n \"10427145340261668465584187969880096986995040739899353634534034477098782661871\": [\n \"7720042834477350767478389865014679495596923857457986152501790810445077133099\",\n \"1\",\n \"1\"\n ],\n \"19381459500408028088439156109801965419322053791292655974184335319859999126460\": [\n \"11928078567937498051698438892249814207035889620181958986071744544838785463202\",\n \"1\",\n \"1\"\n ],\n \"17377686386896503728082085429222365416347370339760772259067527876580988230913\": [\n \"14060675875338493731775231122107049591110734175721998753357986606923427321165\",\n \"1\",\n \"1\"\n ],\n \"18288528050850833950845810796272606721939776070083392730431031624421622699820\": [\n \"8621775703416278875339997821825531569406030622567249059527117987922255887951\",\n \"1\",\n \"1\"\n ],\n \"21293897139612976455560697236203901890717884989033467268641647023311737293773\": [\n \"21746821295697559731256828411318652140195218664577979364235264517480784098837\",\n \"1\",\n \"1\"\n ],\n \"14767684066319549034108722898593679306854964076686225708947957815688566642485\": [\n \"3942374429940788463896010050270719375385219366668488172553387233436300512438\",\n \"21293897139612976455560697236203901890717884989033467268641647023311737293773\"\n ],\n \"11378929716384814398532458838272187881378871190218497547214204115428598637863\": [\n \"0\",\n \"14767684066319549034108722898593679306854964076686225708947957815688566642485\"\n ],\n \"10981401351352823315399274234975613140994690137946217764705614544018901444441\": [\n \"11511715719748139107914819022057085957393268637486243676896969000344343532262\",\n \"1\",\n \"1\"\n ],\n \"2763790541616851802147165672761516854768713101222168290111402536919927096201\": [\n \"14470734055083187246246203655292913704671916086348456533395794056038993015402\",\n \"1\",\n \"1\"\n ],\n \"20646943473274053351917498354330594088968602311176548127533585330743914942186\": [\n \"11494602417526341554195255400386377281549033991156641557392434572603348596762\",\n \"1\",\n \"1\"\n ],\n \"8253667941381656763792486118447488542946940732333481143006456579132483431799\": [\n \"12564867589207450209651001873209987320466826565129679692408942344670810468960\",\n \"1\",\n \"1\"\n ],\n \"6268013254685202960366379083725991054801391479510423985787694265153082979661\": [\n \"17969404509645573956250161511275704883715814712055770213634593535826046319977\",\n \"1\",\n \"1\"\n ],\n \"18312312034045916302103290064969408444169731882904205071091403532477582381040\": [\n \"4086172577094675659668390092180653587043510828333788052397368294503363824745\",\n \"6268013254685202960366379083725991054801391479510423985787694265153082979661\"\n ],\n \"14699661669216550276081807563109255752224343222697577672514154496673436330659\": [\n \"18312312034045916302103290064969408444169731882904205071091403532477582381040\",\n \"0\"\n ],\n \"19411371381229888032444727240579447346520297450098532212589502641899785074999\": [\n \"0\",\n \"14699661669216550276081807563109255752224343222697577672514154496673436330659\"\n ],\n \"8060214646807826782284819394547022603938638472354308451364158085195967352894\": [\n \"0\",\n \"19411371381229888032444727240579447346520297450098532212589502641899785074999\"\n ],\n \"801244513011745853339886574286131062480432770088419865784317877333228260761\": [\n \"10967448062909233659709516533151702571107598311104476556195121051579779939803\",\n \"1\",\n \"1\"\n ],\n \"1750364484947387207195986696637545547482346026876351580844461899830962295303\": [\n \"14031461071679256261266771398623950279929756904188493888603491706441456874889\",\n \"1\",\n \"1\"\n ],\n \"1202618158714749915651848237431178727864194848370915332748759373770699267868\": [\n \"13618530634181419921952065589537874809424272226647996096628013566270848245821\",\n \"1\",\n \"1\"\n ],\n \"17745200156598942621294239730703713701344030152330485822256336360827566932490\": [\n \"20287254206197712481176685900499523689072157239031173868133049365500038407784\",\n \"1\",\n \"1\"\n ],\n \"12568142250960678965764495889001207434546883072559555645671973394764475992072\": [\n \"852693959630456659287902378750974535144848896072768002146788428825286264917\",\n \"1\",\n \"1\"\n ],\n \"4254890193309469582525556433094218954775159478246747546595624292030563410126\": [\n \"9783135951878853835810309504926818360053809562746132825294235272697556661\",\n \"1\",\n \"1\"\n ],\n \"10683053000956756192588420079793515570322609714885836630030712504156905752312\": [\n \"11470007753773722126153994688342312730271012012342898259772699170127119928822\",\n \"1\",\n \"1\"\n ],\n \"665688136072305149808720349289811425234335207106757640310830220539533323698\": [\n \"7044019619891986090519894968314165830801074754870439980658324326649211415234\",\n \"10683053000956756192588420079793515570322609714885836630030712504156905752312\"\n ],\n \"5383799231414273364371057110307508897055670359278679528983794911210587360101\": [\n \"13209292807216317863942230817381560957891111451226285778535417445008087539701\",\n \"1\",\n \"1\"\n ],\n \"7670350755605443436780351931295520928806403884840171976144854019771449233778\": [\n \"4776841464068135415512056063498047677432487868865903518840385396084440057755\",\n \"1\",\n \"1\"\n ],\n \"18788359439832251530188381298103598471621863350984897028716278974222767619287\": [\n \"21542891125248717572109780874662167641124213979943477543095623262565501409105\",\n \"1\",\n \"1\"\n ],\n \"12428010214633480087387883256158377784293132422288937777709895121662117389098\": [\n \"7065739759482418978502396740990549911147649574349803782224373440386645340563\",\n \"1\",\n \"1\"\n ],\n \"5375167711801411922785633790620454309291679424893063389619002298894298989096\": [\n \"20073373594394805831107255597571442046161114235844079568039601927680204467484\",\n \"1\",\n \"1\"\n ],\n \"1844822371069835246851542071778792097324657779647895897274437344442488321261\": [\n \"8793962885142312443367112824198224627911881361457398385201765766629273679023\",\n \"1\",\n \"1\"\n ],\n \"21279162658080153290037554750009878887594031981082326800941267450600018865737\": [\n \"20536211325270625778465796537252678227140432468564034947650433868293616979170\",\n \"1\",\n \"1\"\n ],\n \"12606061715607864384221691010078699722846457975890117152850854149206775979100\": [\n \"6384260651422178187903326849906183048732856732297952807558059663503921286840\",\n \"1\",\n \"1\"\n ],\n \"21072428279504192451076963773752134629651221451946736484884086204076638812395\": [\n \"12199832748860692632446188892068792193402528381722155955487651956257752857169\",\n \"1\",\n \"1\"\n ],\n \"20243998440058117914169088747847590081111663685100656227646523884918584186419\": [\n \"19856747214800478100624341878111108808131158629959018259074492382672738522396\",\n \"1\",\n \"1\"\n ],\n \"17449498060383246100824243883057339851586276944523968284447451085895995789434\": [\n \"20489041285237188332825712649228993493435802735199264485508132984198803449232\",\n \"1\",\n \"1\"\n ],\n \"11169026236336427465770892328458051706854621588483004702834487330904083019536\": [\n \"14087592661495472807925431847425677260939835782985850259163517192465366323121\",\n \"1\",\n \"1\"\n ],\n \"2287902505396170448661574841473755247649261040421841904108216162891182283997\": [\n \"2050965958040425463627309531267045577159977866729490317418689972147979674705\",\n \"1\",\n \"1\"\n ],\n \"14640670043114977693356628818187847287416166036418980476589434396984303386409\": [\n \"886677971387006445151770065761308784008475435064474314817230675577828720653\",\n \"1\",\n \"1\"\n ],\n \"7775397114255932828207828040236700184365849154862218055497950903306899064499\": [\n \"14640670043114977693356628818187847287416166036418980476589434396984303386409\",\n \"5739933633524636870940157864525834868648364310095949965403525815448933793130\"\n ],\n \"16031580268293800382709188931554566801221634486187327829944571224811767572296\": [\n \"2135469597644548771967599140955664593437542891786180591800450335567640536380\",\n \"1\",\n \"1\"\n ],\n \"14246351185707319080113792767717941147566314319510353829778580890805590464785\": [\n \"1105275057373290023689489380684705882148514772506135207520259357707664005774\",\n \"1\",\n \"1\"\n ],\n \"10321721006049582212971803680088270048055229844280962367470818017753375695858\": [\n \"19735154792934679916077675124320605341611765669099350392502608462329567432239\",\n \"1\",\n \"1\"\n ],\n \"17426444470261978134806239997186411027836281484841314431107951176089223293971\": [\n \"1073041414260861249275793333700578254408413074434128004705679479926450637331\",\n \"1\",\n \"1\"\n ],\n \"11723851427684398795031850057349256501092904472428315536860112450091870115274\": [\n \"13822475664143976892733964075076385655422727846437263090897522801948847793904\",\n \"1\",\n \"1\"\n ],\n \"15534556457233811187632106792220369412130702525962669042791642323460185892820\": [\n \"11723851427684398795031850057349256501092904472428315536860112450091870115274\",\n \"8709055541571756846654041798720610307106620183620080830875812731932369214692\"\n ],\n \"8082762212480442064577650175715531125318591743044993452923576377252386147547\": [\n \"1931876345686945134758968603303207604408514062186504633887882520795224912069\",\n \"15534556457233811187632106792220369412130702525962669042791642323460185892820\"\n ],\n \"16524329671731764716237028850924042906276424850231305740067458372898030046422\": [\n \"15071558731018898537182161711649220789103000306280231749504515257963230104795\",\n \"1\",\n \"1\"\n ],\n \"11138172285746328310977161988151640032908125864130545793288543385116473291825\": [\n \"3060178471351692447098438135555591343685002521321639830288236427239044561862\",\n \"1\",\n \"1\"\n ],\n \"5216995005535534245401889682956734033579943511009251027586488154511087399695\": [\n \"3024131753090323148028001124358070354037616540005726056579171853320649263968\",\n \"1\",\n \"1\"\n ],\n \"14149596558039816898018818983585810414919272018039845895304381888925665937364\": [\n \"12515761726153621997070714137985508717525065367611676245975129910084773434691\",\n \"1\",\n \"1\"\n ],\n \"2783065949509243654502209857373602613559810715014587256028197371106464554104\": [\n \"15782675381059256077380999594292605737101816075312368788870960690730427116901\",\n \"14149596558039816898018818983585810414919272018039845895304381888925665937364\"\n ],\n \"13003843671821154690736853907068957893603359703850168258352446096975674828442\": [\n \"5376689070259655450779162813652976065992680013476527709801152136118183069509\",\n \"1\",\n \"1\"\n ],\n \"19014626550208907796766248936856959782338096995800753984935854673666486285449\": [\n \"13003843671821154690736853907068957893603359703850168258352446096975674828442\",\n \"11875505843490491907776548990445586444341622847265312495306256490375706008631\"\n ],\n \"11719049570313578000938011335041203063753663404776757593882678001769219802014\": [\n \"723161758803864470233698202924582770163173552187709039722433379512060508360\",\n \"1\",\n \"1\"\n ],\n \"18266407908761252420638627622758600967209871494437416549693263518402384475127\": [\n \"11719049570313578000938011335041203063753663404776757593882678001769219802014\",\n \"15735450559431173702930617526146370132956313687938619031374476065469339652787\"\n ],\n \"13837901017237917860212646114526050253394928147246120883548434250271525687629\": [\n \"18266407908761252420638627622758600967209871494437416549693263518402384475127\",\n \"0\"\n ],\n \"13477932060118493634266193364522943536654187875652972159916807866307497466331\": [\n \"2188584711278448559958014577107088283811211444416285977760212468096326954306\",\n \"1\",\n \"1\"\n ],\n \"8467029617103737928133621352486003384215935650018000189380979046199202355566\": [\n \"10863569512549780136370409537047170968811876229591595729859806742929067279879\",\n \"1\",\n \"1\"\n ],\n \"17474435296103823691455969903303840657669332738548923690638995855549821917665\": [\n \"9829719469434773955995735222678768213294924039711835978572680944051534161905\",\n \"1\",\n \"1\"\n ],\n \"20845708372760410948971759876256250988396248784858556023889916621588618448054\": [\n \"3714760622093803187481970406003163454127524713722415678638355800744332759041\",\n \"1\",\n \"1\"\n ],\n \"7777883482914090689693765833590620432126656973107458230686276332022231889200\": [\n \"20577617884538093359734460128046084520580415654316155219277901909004355467283\",\n \"1\",\n \"1\"\n ],\n \"18339394314857898895144205214713700961349149733070283780659839786184699985128\": [\n \"9808214260030361918651092776126182698150429310608015465858354099998977279911\",\n \"1\",\n \"1\"\n ],\n \"13398679614755961749119656869698073244380524251224938784191743919293313171970\": [\n \"3680536130689322557299516326128159844706185166717409488564122434763623866694\",\n \"18339394314857898895144205214713700961349149733070283780659839786184699985128\"\n ],\n \"11874461227878201655852465402841648341367446595923813048347068291458879577905\": [\n \"0\",\n \"13398679614755961749119656869698073244380524251224938784191743919293313171970\"\n ],\n \"12758891631282256659461381103183562810994330415753984043885506975626588037136\": [\n \"0\",\n \"11874461227878201655852465402841648341367446595923813048347068291458879577905\"\n ],\n \"14682933606654340540960091764954888032806543382053962580737475967787198321723\": [\n \"12758891631282256659461381103183562810994330415753984043885506975626588037136\",\n \"0\"\n ],\n \"228579349004710440886110173453739893227382548922085276262125448251039480172\": [\n \"667017427600245759215068543920712643403732321702947793481749309029160366312\",\n \"1\",\n \"1\"\n ],\n \"21537825660373987256289951978497750472740308211987267546441298388295935227515\": [\n \"8716894978783591419056147444002294762575974743646371924539628804213980977735\",\n \"1\",\n \"1\"\n ],\n \"8294456303853980653577684595583600523825996729136719747241572756138207471812\": [\n \"20971234719859097726383159160959513649621785495945827864118333729226238519711\",\n \"1\",\n \"1\"\n ],\n \"20231314331582816049126854605301323169373309216555851016439585153448546258109\": [\n \"7908702200317943879173739999376672818449684283039774316616661259326809454873\",\n \"1\",\n \"1\"\n ],\n \"6642207688035796972322274789805029505566291055632666407302542920056879719578\": [\n \"14446027850105171219307081117259311596227693156968703120412444928059348967405\",\n \"1\",\n \"1\"\n ],\n \"17122219294527164957835050910173941136721620218186221505532367975636373765814\": [\n \"21379320791027766033067170540660542055313554395033865830351355680053586167438\",\n \"6642207688035796972322274789805029505566291055632666407302542920056879719578\"\n ],\n \"16844909154011250399911432293192400587040118937429943731565001840512659720577\": [\n \"17122219294527164957835050910173941136721620218186221505532367975636373765814\",\n \"0\"\n ],\n \"1840874320989181767368865984282189876699435517398851134786489310530689715343\": [\n \"15738335459705261714873025699664442375301183115506029445068332544259062754351\",\n \"1\",\n \"1\"\n ],\n \"12252929199684494283689107486264264097568745124592435112878118429641242430812\": [\n \"14109120004657839075196638156311229019572356185219605207426117684602492218446\",\n \"1\",\n \"1\"\n ],\n \"9292287116100249917026873277817705929297191917785692507074622436582545688849\": [\n \"7015100500115762668058377369332545911456175147031381235287672279095474789134\",\n \"1\",\n \"1\"\n ],\n \"17756334797382038318776830496495984662815730481917772615466906990360891878799\": [\n \"9292287116100249917026873277817705929297191917785692507074622436582545688849\",\n \"20800459169918909700382078807168089342872644051101568176497942882085842012331\"\n ],\n \"10042120463600772709213014379709034779622869828171957887526103922768673454995\": [\n \"0\",\n \"17756334797382038318776830496495984662815730481917772615466906990360891878799\"\n ],\n \"10826535325536929240553459729241886584961638399718668815582139988099904214794\": [\n \"16351367876776558243156923939204791467929390514606872802367169081492900509001\",\n \"1\",\n \"1\"\n ],\n \"3796744093384967306682474491453208587706083413336422342072905436561765327483\": [\n \"21577340399491789163256708199163597708494889178338095422348063365001533313084\",\n \"1\",\n \"1\"\n ],\n \"3759019646525403741957238432576289319665700677773257000338505743264607269799\": [\n \"7608785045163061598145461501168616453507740188419880136651348974903418882509\",\n \"1\",\n \"1\"\n ],\n \"10309664939085854278658430642906360433129565686682276532185609103238777812728\": [\n \"11737095637158993999024109651360548950394577817098349644451812756724105478520\",\n \"1\",\n \"1\"\n ],\n \"17025331805064906560270220215077803522470324308844340621798457057960762464085\": [\n \"8926785714725780818534609245661001066907528813053270683667676436735764381117\",\n \"1\",\n \"1\"\n ],\n \"3127735216373031790052459835230592082016451552926355263450829907712541606245\": [\n \"18496419629313509705010352604702469105204109277317956358880218000352752122232\",\n \"1\",\n \"1\"\n ],\n \"13682692493121380812506277824298317634504695385435604399758878366278050149727\": [\n \"14481126571082817786420701106992654529913845017836380745582401907777208787986\",\n \"1\",\n \"1\"\n ],\n \"11190592996598871239190819065980571249544254969254184471793448964307530752756\": [\n \"12563503528337809954653344094831498525539616176474253256594540725673800685895\",\n \"1\",\n \"1\"\n ],\n \"19554191996942949451834801229614227763151895603303681007371489599696125487809\": [\n \"20082146116832435291348349699907227946045093639237755037732476725478446031235\",\n \"1\",\n \"1\"\n ],\n \"15840854112188362186822858066448211555799922642567831635060966992551705716805\": [\n \"15302800668609010296292689366184355192077551186322084005845345672764480032613\",\n \"1\",\n \"1\"\n ],\n \"4732342111053081944384481071406486452690858236540715289899593948679860295089\": [\n \"15840854112188362186822858066448211555799922642567831635060966992551705716805\",\n \"10180441319356365133706216706514204541843721193393987297978352796775277297073\"\n ],\n \"10823585074193751511828220296397167824443020926547374832258123767434174471544\": [\n \"4732342111053081944384481071406486452690858236540715289899593948679860295089\",\n \"0\"\n ],\n \"20716401526303089529598636466915844896850586288108644886476457236434746098856\": [\n \"10823585074193751511828220296397167824443020926547374832258123767434174471544\",\n \"0\"\n ],\n \"2566856502639406726269479191021029367122113591049885632660605664684477688220\": [\n \"20716401526303089529598636466915844896850586288108644886476457236434746098856\",\n \"0\"\n ],\n \"9711562419584222935415841597912817943945405176418169090145092549184805518387\": [\n \"11340500365946307061956477818381298344669136289123418453207886993738050767467\",\n \"1\",\n \"1\"\n ],\n \"12562944360822958306485672771955460777525283980155524744941158676786453761312\": [\n \"9404580283583003627119471304502104674074000170710565305867902456455273948180\",\n \"1\",\n \"1\"\n ],\n \"768685257611224173849846349260600898642311172712904411218434079125688386624\": [\n \"16529482356182299334023664002919365054562902552481191063052430228516832080991\",\n \"1\",\n \"1\"\n ],\n \"11630522254204153195836711912194985922876132062400707959595999906182491591294\": [\n \"9909678833923458852846169177378124572883436250098957032025055733221129186611\",\n \"1\",\n \"1\"\n ],\n \"11233531853020737097042707239539242035283478642342383141171699767005917890298\": [\n \"11630522254204153195836711912194985922876132062400707959595999906182491591294\",\n \"17386204415922952609825368430974503991817797763960112353156795987224590372701\"\n ],\n \"3702694980204099783286815126003542079171075324281684221405268185469213385068\": [\n \"6437324928302692912133660770620727748148163333821770684463121113943499838259\",\n \"1\",\n \"1\"\n ],\n \"2994357658632952128117804835266135277717215677143975385891939080224707817693\": [\n \"864634613859298915008327367175952160946548348256887785318916002405576217567\",\n \"1\",\n \"1\"\n ],\n \"1945796991161278424306947613221829030928447717570293911083127148804031663076\": [\n \"2994357658632952128117804835266135277717215677143975385891939080224707817693\",\n \"19489859478078179453158040718047036737880456297723072822144879225783015717770\"\n ],\n \"9021056759552712466962262536020026559244094903595948973397558470348771831230\": [\n \"17013451674234352601573885444935891149115364591484144321524216933267625605517\",\n \"1\",\n \"1\"\n ],\n \"15537447886003439410145352133462610167684888813762552940510165666675105296812\": [\n \"16569664572805530280102170589110655511115221398987300433336170704315095234613\",\n \"1\",\n \"1\"\n ],\n \"5094811734579561892034991640169368283932588732089439209252543996517819578776\": [\n \"87866202438765739731405276910656045184162046888705631384924116371095962115\",\n \"1\",\n \"1\"\n ],\n \"15364219373469050153161139681503723029349412863636851315979832593740399982444\": [\n \"3966381531469633253168088812448059288114161404498605475727505455340543000787\",\n \"1\",\n \"1\"\n ],\n \"5751105164842800914100601604659740868891720438329163251275128668343435775182\": [\n \"11089231011248565011590760077438586099244225389486503614493849516515433112453\",\n \"15364219373469050153161139681503723029349412863636851315979832593740399982444\"\n ],\n \"6225603708465379193153509636640752887845663966099880646646359515603972999511\": [\n \"0\",\n \"5751105164842800914100601604659740868891720438329163251275128668343435775182\"\n ],\n \"8218485772190698342855199729277955775065779430632673148102147588934930571757\": [\n \"0\",\n \"6225603708465379193153509636640752887845663966099880646646359515603972999511\"\n ],\n \"8647677848016118983037054206240764655780394858827891421133771562735825957388\": [\n \"8218485772190698342855199729277955775065779430632673148102147588934930571757\",\n \"0\"\n ],\n \"13120840015759431425502795748189296880194302526068162554679735055863517144504\": [\n \"8647677848016118983037054206240764655780394858827891421133771562735825957388\",\n \"0\"\n ],\n \"8507731675006291350325696383286737784887803445948989537682960458134110729476\": [\n \"3865300262442105582935250738202337558180280107732882645548358141877158720495\",\n \"1\",\n \"1\"\n ],\n \"6300288698254010846274262993653550635979008147459645185060423421966153380082\": [\n \"5321202314621809644471427676397199121427396386850295478251963110543007706210\",\n \"1\",\n \"1\"\n ],\n \"21035563456995477452026639541988355504658560882215712793051498022945012666115\": [\n \"14271447744896366243794795127311187316133010326534722702764399446546609045848\",\n \"6300288698254010846274262993653550635979008147459645185060423421966153380082\"\n ],\n \"15121337203912295921479117445368151223495891521794006223680003776986303788940\": [\n \"1871485518428056778067200303525664330633197917152941503226480293942601792303\",\n \"1\",\n \"1\"\n ],\n \"20941833405226553644168352956278067520517575997929866185908421986941682503454\": [\n \"12452927413333578206055311154370202220776896273276042068866658112737181262764\",\n \"1\",\n \"1\"\n ],\n \"11127998091680611517848656708459836155874737967528006779146564658719301994273\": [\n \"9328819206407701224047858361705631017174759163662388949725340304038188634899\",\n \"1\",\n \"1\"\n ],\n \"13164494210926716609681779591521447312300634821309822290727819881184278009998\": [\n \"7940073131170276249701963250761986980590524585947374746079184107423942151002\",\n \"1\",\n \"1\"\n ],\n \"21051016831247048942415790043542715672781951625391622925081960848466657753194\": [\n \"13164494210926716609681779591521447312300634821309822290727819881184278009998\",\n \"9078999069984768127336945912726287790606135102856859549572289760393333654198\"\n ],\n \"5459234348790383768097147947414657821700556453513669124565773044727551467840\": [\n \"21051016831247048942415790043542715672781951625391622925081960848466657753194\",\n \"0\"\n ],\n \"6447249242562374206230061291888213983004112968885202870528203320313064115213\": [\n \"8939858648845983768285963109396724114817096044774355148343933492300859149947\",\n \"1\",\n \"1\"\n ],\n \"17637812739240523247713829341754989670432124788631034451073731043428753639169\": [\n \"14893369381081413408106588410065505285242803622788057859884525288314288824852\",\n \"1\",\n \"1\"\n ],\n \"20793629487746582371330547535340528484494026289971421424877206286150724375457\": [\n \"7835227353360834784524429007682571444072481817748482945065676238912939485468\",\n \"1\",\n \"1\"\n ],\n \"13019691730685934616395262007879029188337656682967121143585220932571698717596\": [\n \"17586840099534340668786098773762904509760338449248324565142226283927520033730\",\n \"1\",\n \"1\"\n ],\n \"4498869714934099572776502076465232822551076253230216440931848574191846593608\": [\n \"20059346286236153662139596634843568354444632107286005109793398225084197079371\",\n \"1\",\n \"1\"\n ],\n \"7139389074759993678171318870957298794843244125564434639144141647076449875573\": [\n \"4105881192562088603563411537317682058787271897168557384264930423715169097779\",\n \"1\",\n \"1\"\n ],\n \"20647880565660059507542394200881822188371833799469494972544653263170953688925\": [\n \"888867010565896263275252044409679185710374992359262026884845711373850814099\",\n \"1\",\n \"1\"\n ],\n \"5194016964994816437927177617761787361791782212785248711777492499351975667097\": [\n \"14596898156298576020116196402032390236266451188529111772588235953145746086300\",\n \"1\",\n \"1\"\n ],\n \"20269760283047984660779050943649865731984979278692970713728123855247832705718\": [\n \"2577730434458710611076006705062464014646483537749694807977507148041038665976\",\n \"1\",\n \"1\"\n ],\n \"1481103622648647345321595928252448173208837246753226228934224733718194265815\": [\n \"9761456385798653053179653041739098296627523386380507253522618604187229526460\",\n \"1\",\n \"1\"\n ],\n \"11502422487902710051602491679994830687721872539877206912016870523298718387994\": [\n \"7743158329223399849263103143504056678790090469253172355697361634930064103776\",\n \"1\",\n \"1\"\n ],\n \"3500581291910531335945389362485821955412926661520715833822268451411532442514\": [\n \"11502422487902710051602491679994830687721872539877206912016870523298718387994\",\n \"19350348587257606214470706604695697695960299218240686515176555435449507929926\"\n ],\n \"1288524987504810287794685082783546871128562443830977680701272613535833612790\": [\n \"3500581291910531335945389362485821955412926661520715833822268451411532442514\",\n \"0\"\n ],\n \"19863736178082356648959212988376531491441582372133792991978772783576002784570\": [\n \"0\",\n \"1288524987504810287794685082783546871128562443830977680701272613535833612790\"\n ],\n \"20371841751310182695254402694854015812374033560056280808686497507314292954798\": [\n \"2616056618545361215563125725875864401338834867026821257053380253085657248181\",\n \"1\",\n \"1\"\n ],\n \"1616002312009968642891677276721216604023263439894877253497908501311333047251\": [\n \"2065893495316453509463198315256245137291715988070589696857275907337805152919\",\n \"1\",\n \"1\"\n ],\n \"19974608219275984928891638632977986968813221926739097892791906129108614861367\": [\n \"8430845001099884153188020428725170661127325881838507261543367553297673877978\",\n \"1\",\n \"1\"\n ],\n \"20143902199187221771297072206628061657264901729094758086561984758375460357519\": [\n \"4584811338771908684442927226574218968858539760431284387769126420156131730312\",\n \"1\",\n \"1\"\n ],\n \"3675429731170587396568710147060049656122467742663431689895596533483489642392\": [\n \"850823473870560644994688286033348316098996466176425752335865426231149997464\",\n \"1\",\n \"1\"\n ],\n \"20367365301731367847698944455245842949597604580866880233959478457676653302986\": [\n \"12233985506989861951819225464671251625478955724764181740293157496695040894726\",\n \"1\",\n \"1\"\n ],\n \"413280874545354407671541354697430956839815191262934484120501237368347745866\": [\n \"13403225026782525061591235008805481661979539656096588629398050060570645759234\",\n \"1\",\n \"1\"\n ],\n \"20999947149556482782054313563221383512509195930327933231835332627454927766585\": [\n \"20836267511729215221066589528185307015677884985022037276963633668994827556927\",\n \"1\",\n \"1\"\n ],\n \"1530048629803160826966922688943749292939679580738179859124434270468172006226\": [\n \"12930426666609366688188003785007585500301662484325388352254599666285016929013\",\n \"1\",\n \"1\"\n ],\n \"16298096407052396116942826083541682079022166535831041470593302895001119882287\": [\n \"20888636153897241856208263218959470816164287285657921375883781603017340157261\",\n \"1\",\n \"1\"\n ],\n \"15691201170177951228031565299620999006220136986876557306736456243386186760591\": [\n \"11799181199261657227802010710407801248976509160916378049520110286662753678301\",\n \"1\",\n \"1\"\n ],\n \"742831293921728084548510161610161835142731836653968240078551846003184569764\": [\n \"3272054536227444543577626393798749721152100366322103653054120437571208332335\",\n \"1\",\n \"1\"\n ],\n \"10326855504359425309255687664951805501205847132209332425082130595195049840009\": [\n \"18407467190373182273604744311303250293935808128674771756219931137070115943720\",\n \"1\",\n \"1\"\n ],\n \"6912118944663377959266217779866534473374742313730097074273239908085673180936\": [\n \"13334016358553605267005112668625384897420045414818374646561255071275770772007\",\n \"1\",\n \"1\"\n ],\n \"18055744026699477492434721554478231477599085031668903866142164127329730007371\": [\n \"13196411768476930192690264857036791723508224073643869238442797445415417088274\",\n \"1\",\n \"1\"\n ],\n \"14697835054605862769863748097888272940890239944308476770127941909682244892710\": [\n \"4544048083032090531872928552771347225747927760553538863453945022778820767471\",\n \"1\",\n \"1\"\n ],\n \"2524292838491721272389616750578579553702744240664384818099404450900425982750\": [\n \"10162320619544468359389764399687600492202632508577688660728811088597385106025\",\n \"1\",\n \"1\"\n ],\n \"6310176985601134408451518150502812803408492743737855482378430293789890359272\": [\n \"1031939736863374268019521826272555450467601588151301299884208624191545736823\",\n \"2524292838491721272389616750578579553702744240664384818099404450900425982750\"\n ],\n \"13525902411494190701785577803242930051431441839434738083595550835362009336366\": [\n \"8126779079622004429511197333970397033499440062575993534738579274667094959397\",\n \"1\",\n \"1\"\n ],\n \"8775721223436301511551717120915831738208356611841693066074710564152388091661\": [\n \"9449337320207455535039724086348927136929773924133461407793680979073219498001\",\n \"1\",\n \"1\"\n ],\n \"14194551968600481273545125570215320384025522156762804837880768409354265241957\": [\n \"2852871182872813657856380244367454235565702950367943487214350005983698537880\",\n \"1\",\n \"1\"\n ],\n \"9235285007071710963655518562349917079367133763410255568194055179699113729802\": [\n \"20759463528006935463587144853347476136615358420677276447641490612670312670341\",\n \"1\",\n \"1\"\n ],\n \"18337640781051855123423674183321536145980290711790949880608589078368383690170\": [\n \"9198105532056408691713877247816788997778229763800657356334131456217164934703\",\n \"1\",\n \"1\"\n ],\n \"7687073913789907962590559193565619782198057165997119249168279659235044226683\": [\n \"10321721006049582212971803680088270048055229844280962367470818017753375695858\",\n \"18337640781051855123423674183321536145980290711790949880608589078368383690170\"\n ],\n \"17003481663395108942370013063489692359753494565055793658542636599339160629741\": [\n \"7687073913789907962590559193565619782198057165997119249168279659235044226683\",\n \"0\"\n ],\n \"21285619731261780069597499884412092802260835920606584128114352296699838858457\": [\n \"0\",\n \"17003481663395108942370013063489692359753494565055793658542636599339160629741\"\n ],\n \"20690929860159622800195278101434051331521931669701475885461296312411801546001\": [\n \"16785707603224584665871568824282850912920954101540109293510719072336212384854\",\n \"1\",\n \"1\"\n ],\n \"14910279232593879445024736565564667540193741329214155087533568493879004389810\": [\n \"21801434537566076720413196604331841530851163208588989515447723839055882014495\",\n \"1\",\n \"1\"\n ],\n \"13427312023527361369814114148965862585945588189327694665474137056179413317749\": [\n \"5932197931936106230740117359367561585162414423432926602360768392178099149716\",\n \"1\",\n \"1\"\n ],\n \"18430573199566292208965327824050016997973534037997714536134152127376370604548\": [\n \"12516379377731226302739229528148541080394981022988610656058667508708821611835\",\n \"1\",\n \"1\"\n ],\n \"15545664574193595778031873171006598947109252695223449721325081828200548486790\": [\n \"6218708962849630008264896908675230874425979166038725708059558689843975619654\",\n \"1\",\n \"1\"\n ],\n \"12820649584085506974388845086956766875312864871640753694001518916409594942734\": [\n \"4151893968701012111838541977535298501563371259333670505807930328276786408005\",\n \"1\",\n \"1\"\n ],\n \"7251914122027201971232171603932360220992824661141134049205461519420135579044\": [\n \"2151985586671156402663630560513563726749167517158089833085726493496643827290\",\n \"1\",\n \"1\"\n ],\n \"18944170902365950361023964117143726019397279929013725095559052323798834453353\": [\n \"10239247673035610018977184904473494430261534160768870491317332606740714927428\",\n \"1\",\n \"1\"\n ],\n \"21668664311615523513243191809821456713059004828403037505783535768331654279772\": [\n \"7880555823127579861776221612115883653629587351558396190644344018527019694314\",\n \"1\",\n \"1\"\n ],\n \"11030813254079515453698419696782385646316216942882487844394034937111881942365\": [\n \"18974524415737098754806734366702902984676644295867858622914049066727417725118\",\n \"21668664311615523513243191809821456713059004828403037505783535768331654279772\"\n ],\n \"2368297344314694456421592732716715544705994950206456023144194031242952689317\": [\n \"16634944065659906970427759467503345559002184256077729185389301659559038024114\",\n \"1\",\n \"1\"\n ],\n \"9413529516194644307315685623699652211781534697801270487479342551223700406673\": [\n \"9528048566795817314339067548943524508251377379603000852800452059814995420341\",\n \"1\",\n \"1\"\n ],\n \"1010375567573946731203027079504560517380193413768507250312268876299217928971\": [\n \"5350884449402048757778425039751797387675170616593002519708571133424982928984\",\n \"1\",\n \"1\"\n ],\n \"20173189944299758465632953548087983095315593882045638069185091829332272380134\": [\n \"5067667912898292363368289157018822994544706701367151193387195216928771518359\",\n \"1\",\n \"1\"\n ],\n \"2358834196095205247338300823095287422071458957756461580633239750849865198765\": [\n \"2617637146778508009313613517338840930508224117590795568695189247616275666740\",\n \"20173189944299758465632953548087983095315593882045638069185091829332272380134\"\n ],\n \"4553220166879019648810200113157759569094479335076959600296730270049048567651\": [\n \"2358834196095205247338300823095287422071458957756461580633239750849865198765\",\n \"3288378926216269445499946824271426311196809160428394187080615182971559025670\"\n ],\n \"17722877456500066905069309656677745734334096100218258258835160280267086319443\": [\n \"0\",\n \"4553220166879019648810200113157759569094479335076959600296730270049048567651\"\n ],\n \"17349353827003155103444960334846430297766666719685580145714262658761696347499\": [\n \"18673571627408013938161764778457895235972367650790846066524232387175028820538\",\n \"1\",\n \"1\"\n ],\n \"6617732527132532013706114222969359935821661836282019606950550280964425169059\": [\n \"19986325312880910104073512218815542383549519962205584232824765587807237938163\",\n \"1\",\n \"1\"\n ],\n \"21216601443858426435877862887162794092360429793855316225107036480639222534650\": [\n \"7221852206606974166371098229200718449199082847930591884094231172223161956021\",\n \"1\",\n \"1\"\n ],\n \"21697107716791122184960297932849183319720026708913758834583929317703849306493\": [\n \"7940868148960534827924736076552038371935217910529965085404460696395735813958\",\n \"1\",\n \"1\"\n ],\n \"10303738759268936102768898834031497261549364599983764458652678187973473128986\": [\n \"6654984720084095700818381219740480591766329520509529050656554371489808342584\",\n \"1\",\n \"1\"\n ],\n \"2904833215284175455890215352718597674227890364114375381796482101395163026504\": [\n \"8262111616760237430411745116766152345220100368408256366958109386594321750673\",\n \"1\",\n \"1\"\n ],\n \"16453322465985992422884489585971335362183484985130727877643934419138017406602\": [\n \"4804245461537811878709054997496142627935017239070964832322460310155097180654\",\n \"2904833215284175455890215352718597674227890364114375381796482101395163026504\"\n ],\n \"7399547019005391551004131743359716973135183690434141555440872503431217775663\": [\n \"16453322465985992422884489585971335362183484985130727877643934419138017406602\",\n \"0\"\n ],\n \"763488047882366999795024670757944350094301116583640388900022996656699958105\": [\n \"15987408681704055077458925833000692063756077257470445018864587493617087658201\",\n \"7399547019005391551004131743359716973135183690434141555440872503431217775663\"\n ],\n \"4387031708786782248099904377109074398289653224337286115840163003323796503125\": [\n \"7650154450472646882445484268546464701345894949710788811322999582674754489895\",\n \"763488047882366999795024670757944350094301116583640388900022996656699958105\"\n ],\n \"4307010771788830023894264310036782274089293426068288013926319398054174598990\": [\n \"10012064907475442566100000034937479804291865074695390489410820514447693148282\",\n \"1\",\n \"1\"\n ],\n \"19138756431146127767826114190195760104039446957152039497444903248560518626041\": [\n \"6490000573834634944203989279351002882924135254499992070207240038580076016380\",\n \"1\",\n \"1\"\n ],\n \"288490338566774560562501589003831194146323902665428076819825905445472174719\": [\n \"12866632727553536659364441951263186173353146498787240332222114365560220094924\",\n \"19138756431146127767826114190195760104039446957152039497444903248560518626041\"\n ],\n \"2714332496110341643872646056327198909498947851528827169094336047676916582255\": [\n \"14722169978360789139691432199407706091641562255457736957545639251135280407188\",\n \"1\",\n \"1\"\n ],\n \"18153107414757957114790817439503176311310015860775007305620425077483800742711\": [\n \"9278329122586638643205448604985435666541469893550977868991811876417038072009\",\n \"1\",\n \"1\"\n ],\n \"7451389704362974138807702020130688739907876542299803350744496981205131041527\": [\n \"17598221311957530000807471834841722928386854568063488277955781901678760354342\",\n \"1\",\n \"1\"\n ],\n \"9882029517809141254553762153032054593313494583284856600263124451553431188640\": [\n \"9233328206737662634260652416424756906592671337216817772658769378902077015994\",\n \"7451389704362974138807702020130688739907876542299803350744496981205131041527\"\n ],\n \"17188436475015626020884406691168168346278202715533364636418357539058854785677\": [\n \"6425688327693379718261619668495566740231851608654902295861920083167920292750\",\n \"1\",\n \"1\"\n ],\n \"2470762611057368223138189118614886601440044917790363816779247902155839106897\": [\n \"17836936181449980043402958540528089981667440197569896352425029647324494912511\",\n \"1\",\n \"1\"\n ],\n \"10026153121540030613670344025051936478738838671013950776894429696317815893185\": [\n \"4565621163556308006882567204056918986188530952982171451964224302728798339496\",\n \"1\",\n \"1\"\n ],\n \"12794811868595254388451058217761178555059639161092350319294046804046452359385\": [\n \"3043808492663179109992590138490784176652599018582515963654246961416239693049\",\n \"1\",\n \"1\"\n ],\n \"2518824193923676707946418817693904244537124122206413029259609617228823883628\": [\n \"10039773797191088543062082395406836801130244149675397763510597679196372168454\",\n \"1\",\n \"1\"\n ],\n \"19424772867093641030915237242652215312450385327007222654067433271102734881985\": [\n \"21175178648219695156392346583932337958651678236884335976715505616568457150029\",\n \"1\",\n \"1\"\n ],\n \"20409490749161056339823662004240364437528152265413263534337001319106808539345\": [\n \"16413668912343339513276317690522573035110546095820020435269587033395600806897\",\n \"1\",\n \"1\"\n ],\n \"13884649112258107490928463740605723720064555563965213646296670837540209544138\": [\n \"81629070500258528182052058938588873375498673967101086657941721241504289516\",\n \"1\",\n \"1\"\n ],\n \"2978990836045917479337904124418366310924890988220211591005274475345871416592\": [\n \"3693447528499231889053962456296073782337975347902188139665685114858906336785\",\n \"1\",\n \"1\"\n ],\n \"2063412201604842153329011782368670176635951289493513331365614895187873678259\": [\n \"5307366384011744032230969679954520149221613623619532484309805434455656328838\",\n \"2978990836045917479337904124418366310924890988220211591005274475345871416592\"\n ],\n \"6620000032716449373187335791334030826754008598807386219703216249000811624095\": [\n \"0\",\n \"2063412201604842153329011782368670176635951289493513331365614895187873678259\"\n ],\n \"1910735907666766329108036284333169222816147015593920836569065650223878692645\": [\n \"1303467182440256297519449517609856892718594591546442377332107460769786142971\",\n \"1\",\n \"1\"\n ],\n \"14613545030310504093253400284296735355618921600019444632798687619305668448976\": [\n \"20962412540416839074091524311975658111814512911904082282557835942090416571959\",\n \"1\",\n \"1\"\n ],\n \"2503210496315498057502812950765680375416485810844444604609210401190992425444\": [\n \"14613545030310504093253400284296735355618921600019444632798687619305668448976\",\n \"11948998138627604431054610650206086163280020436928499353727674529710777142722\"\n ],\n \"10940921374914953254775833702902346333166476441807012239118410214890051497174\": [\n \"7166542915825554195200744392544786223122412817246877588130703722328771448024\",\n \"1\",\n \"1\"\n ],\n \"9010249272655017506364537855272628068884981696732725338307438590189216800495\": [\n \"9624007318074017457377976005099879701363275936085376550275997801771996357132\",\n \"1\",\n \"1\"\n ],\n \"14908943463766495168626448337596173948364670510700013848091291249554908690238\": [\n \"9010249272655017506364537855272628068884981696732725338307438590189216800495\",\n \"11923215531128690717027850288765140063406319503732871645776810854926185244221\"\n ],\n \"10335438499034966651011735212088919440448462602853594519965712575286729978145\": [\n \"14553936206856393778465412420019222717671926683094030745491002662780807728726\",\n \"1\",\n \"1\"\n ],\n \"15087250564240484055986403348401328206835276438118309089403020837102929824373\": [\n \"10335438499034966651011735212088919440448462602853594519965712575286729978145\",\n \"19116502754908866724404225140639344579059552070801394327811849248500170141676\"\n ],\n \"21609538728288767894455757028765948483457240535299386585046392937585470949499\": [\n \"0\",\n \"15087250564240484055986403348401328206835276438118309089403020837102929824373\"\n ],\n \"20540028924656340780971294373068073849926482534147939210927310679538604256435\": [\n \"11280954420896930899249193217105017666872153949456986593290889768386389265226\",\n \"1\",\n \"1\"\n ],\n \"12381132735806727600377167163103050209861011456277458082668706634467626378195\": [\n \"16662486087441201463332905826350749402531447211893673317273149099857767190103\",\n \"1\",\n \"1\"\n ],\n \"11221256906645689618397996897848535760554301706762098903571126096755464676737\": [\n \"1303625832171250171385613939896893038852975938270637405342881927027743101161\",\n \"1\",\n \"1\"\n ],\n \"10354052641673290211737573166721452009458420682560359902408333507343278085786\": [\n \"11221256906645689618397996897848535760554301706762098903571126096755464676737\",\n \"12326326032077538636790608736011170664807025803333589663509028680040802242750\"\n ],\n \"399760113583839131526924754466577045664723178297020831161760508174714879382\": [\n \"10354052641673290211737573166721452009458420682560359902408333507343278085786\",\n \"0\"\n ],\n \"2999884539257285571594765193452635028536365625719556659815930154182906955681\": [\n \"10883081515616691965474085594371397880293930994543447459080695854771172916955\",\n \"399760113583839131526924754466577045664723178297020831161760508174714879382\"\n ],\n \"2925296307862729938149402900381475786156102316003633670666143850208679720310\": [\n \"7792889473237387263827490758076817459530422743583762073765935342432289503451\",\n \"1\",\n \"1\"\n ],\n \"6081090989805911274166016527441575508326520633245222466401354649461932008880\": [\n \"11785892860893976694751629222653086458124796804762031624407407287025268068056\",\n \"1\",\n \"1\"\n ],\n \"15699034053302372839922811664144151023342041253514228395780884178247768664812\": [\n \"18718676059527047884774342551562154275781092175293123829995294250691636658408\",\n \"1\",\n \"1\"\n ],\n \"17631517960015684110949376661799650532564829975143715228904533872615817471563\": [\n \"1464919138516866619099479517146571747918912503307471019532613909966171572156\",\n \"1\",\n \"1\"\n ],\n \"12926186603368247215780608415939778131854776172616387147114949872394095179562\": [\n \"2547294173478510353695003537100214128050466569404768041539601477536831558613\",\n \"1\",\n \"1\"\n ],\n \"18786573273568497505469691139908258241984886427652242494671609462784661000779\": [\n \"13270280302665962740492605137127291975262817023657693016484779556220076275980\",\n \"1\",\n \"1\"\n ],\n \"11855736246993652202791469757920103275507400517132880884661470971900146908412\": [\n \"14909941698836992664662504141227442154876331035942311418222821196247202975922\",\n \"1\",\n \"1\"\n ],\n \"16957112148666583766994299602526840692025976098709250135344983623807157003175\": [\n \"21131262610572095505083843652064333940117065988624720489443061098098666841152\",\n \"11855736246993652202791469757920103275507400517132880884661470971900146908412\"\n ],\n \"15902221623711777280979333064280556462913056582315318081417665750871263688318\": [\n \"16957112148666583766994299602526840692025976098709250135344983623807157003175\",\n \"0\"\n ],\n \"16417096748349732641645908266860683265768539801478095757354619751089838949032\": [\n \"17583942685802593319807136223054410001349115255840302971192594967819568254531\",\n \"1\",\n \"1\"\n ],\n \"18289627078418820889596435139317574830922336018055310236718497793293587549000\": [\n \"9530092764289938686484359183450929781231665987374053242312451766800983929537\",\n \"1\",\n \"1\"\n ],\n \"20019018473623854082284939107286056542557709184547014524438887217998721744787\": [\n \"16498852283938169520874797970851283467880519141167483391106927791302786781455\",\n \"1\",\n \"1\"\n ],\n \"20248412564999019828103080531745120409626134379660056351869536996301507146044\": [\n \"20019018473623854082284939107286056542557709184547014524438887217998721744787\",\n \"20010257251452716026329355060568645884877297085226601886613392360233915882448\"\n ],\n \"18108903508213630441312505585455227603995274485982487325097468471036383402537\": [\n \"416441408825934926098428679424270941093406298633143784641229223486909080363\",\n \"1\",\n \"1\"\n ],\n \"16872370731565568029893472409842133269183552477029405456555038244952475437366\": [\n \"19047566319198387080147128778940417118295480154789925361416460813910257571725\",\n \"1\",\n \"1\"\n ],\n \"11029282966409292320603195080641969445585866957839712441099315949814851236165\": [\n \"927525884045434310818337544486106840542192589483440530107252606855625716613\",\n \"1\",\n \"1\"\n ],\n \"20510277728010492412368903212741735338017115125385487506053260841681823767636\": [\n \"16780678305972149835641725483212529875184872501010226755870413510350866262120\",\n \"1\",\n \"1\"\n ],\n \"8027591174787365033185304061728239654094169874946531475681887953429178895614\": [\n \"238463538661208177536923795664823722692671861583995749303241005889205282350\",\n \"1\",\n \"1\"\n ],\n \"6862387202650364357413150119221346894608209171918897186287367675673103710668\": [\n \"9245669336111892601413647004812408691827522839541325895872088057293269978794\",\n \"1\",\n \"1\"\n ],\n \"15397087334601760605963210002164881915475404015632359731920218103441649708453\": [\n \"14283737438420543432770860859217317737148895503795424140111035813503845714584\",\n \"1\",\n \"1\"\n ],\n \"18112596229646082181438296041600664891796052895612643461737852628100831317565\": [\n \"9426528629215666085276378621240053257499179189242485775311233076313365981375\",\n \"15397087334601760605963210002164881915475404015632359731920218103441649708453\"\n ],\n \"3299162786794647539965635267014825735716171644719778834450679340428021058790\": [\n \"18112596229646082181438296041600664891796052895612643461737852628100831317565\",\n \"0\"\n ],\n \"16323106814339165727395305534147138084984900392789108404586556374499971490112\": [\n \"3299162786794647539965635267014825735716171644719778834450679340428021058790\",\n \"0\"\n ],\n \"7622829878647606275804528782224211668238587426134723269381122107980264587474\": [\n \"10747119620839853400696002893940551693162443400348993923902193338131780685961\",\n \"1\",\n \"1\"\n ],\n \"10278765715739342877511968405473539836838399092031582771705882574278014953624\": [\n \"7622829878647606275804528782224211668238587426134723269381122107980264587474\",\n \"21210590979807392229920696706693546179529660969443978185195267211951775216659\"\n ],\n \"8677982078250583546002682754054379014562951315333530059118214931483008129519\": [\n \"0\",\n \"10278765715739342877511968405473539836838399092031582771705882574278014953624\"\n ],\n \"5438922460458317467047855393945244955088717446282313067475174754304779066550\": [\n \"14961328138614286187328148410415002923481172082530317521825014089903550754401\",\n \"1\",\n \"1\"\n ],\n \"14650132893487949901677407702378080063667028280277850575601176461810232857318\": [\n \"11698623717807365592865459810547444333844033775036124660483889340242517444269\",\n \"1\",\n \"1\"\n ],\n \"2269537598691779442702845292854034072727015806251482833019860923823873492733\": [\n \"7083335529885660956947108906132668065522183282544779864656781672048071048612\",\n \"1\",\n \"1\"\n ],\n \"19974344447180753742459843236253649325614553080838278523457128970690723407588\": [\n \"7415075622760382965871906023194350175151153588962231844091952783492091599351\",\n \"2269537598691779442702845292854034072727015806251482833019860923823873492733\"\n ],\n \"17821288242613325627983879057203299094161131949931998899401065373488309409248\": [\n \"6252582818584511739434914889979601779558105036217061714185233694099687700561\",\n \"1\",\n \"1\"\n ],\n \"11244212906326686385287909325904054779515479191078088662190845793951031290505\": [\n \"10500091906541432979270287523411481210222433222845922483187628590259539732698\",\n \"1\",\n \"1\"\n ],\n \"1286509241518576029569907654962147235557260776705264830700970767237802966117\": [\n \"15495458742053402689988607604364411256513614854385175344153718021026488475738\",\n \"1\",\n \"1\"\n ],\n \"6689318526176260054926596669650018877109297813531000313515255217147043975456\": [\n \"1286509241518576029569907654962147235557260776705264830700970767237802966117\",\n \"19137148758131718098616166067803519235756360287818183136508529208871171579937\"\n ],\n \"4814007271095470476781526407030539873772311018872502183373927991867622791485\": [\n \"19119302811287869389306262089335975164113598364729349751688987720707283440728\",\n \"1\",\n \"1\"\n ],\n \"12703928730750597067014403410651301238656419634162592154854161185590382197748\": [\n \"8414702921681277642602885477226522725356616591807757678333086308156409277991\",\n \"1\",\n \"1\"\n ],\n \"2382940038866872409517486108324335657225972361818725528143578067812423121838\": [\n \"12703928730750597067014403410651301238656419634162592154854161185590382197748\",\n \"264607729930270383838045320114382795328148426194214440658807457655609514807\"\n ],\n \"8247272801145914466123309712092896807009431355308849474448678558027833792743\": [\n \"18400125538473965374721983781060876266115836124249561422278549837443084225188\",\n \"2382940038866872409517486108324335657225972361818725528143578067812423121838\"\n ],\n \"16339956244888562476860323631678600072479894292052003445443391505145706164102\": [\n \"16694517828453740792721969315577526100394012016032573830352677814876267182361\",\n \"1\",\n \"1\"\n ],\n \"8807508093103029638776860217106172313842421278495799954075945882147834272499\": [\n \"18123725893329643213124737427248530688413989605530839192716863240814005688370\",\n \"1\",\n \"1\"\n ],\n \"16938021754119215081293331176862849992653871251860494597165488918929374728391\": [\n \"12332452398484393578374972099929887776752202608885672558265441184970409541827\",\n \"1\",\n \"1\"\n ],\n \"2453110782713181266949405826273093227748459052346024019647270027493624749567\": [\n \"11163444487241388400473023609346725318159807835617216564842285457056542594811\",\n \"1\",\n \"1\"\n ],\n \"21370636057339844472319591797998408632846151992869331017560027144206805342552\": [\n \"18915572780679382121393558750619706898026424316235138579448780095169609460087\",\n \"1\",\n \"1\"\n ],\n \"3928946613928134330626323735201975347450618934862121687949272604992444742853\": [\n \"18783992909849599004329751975474431337780809216858882394879733106313800165315\",\n \"1\",\n \"1\"\n ],\n \"4420808116499753814258787311710123595993087342910937811614758160665392481030\": [\n \"17697823354352840961740932114930834533394277095708198485599151953809890609401\",\n \"1\",\n \"1\"\n ],\n \"14825331673510651109502220590778176636122317132259362181179774425398477678374\": [\n \"13579291150068967887210781265561882335567164370117666956429057472528972959333\",\n \"1\",\n \"1\"\n ],\n \"7004986071103249257464188835244922827414664084118135456015404540816145427441\": [\n \"9337897539508064453860475379374002846916288791899060073950357076061322656102\",\n \"1\",\n \"1\"\n ],\n \"20732182726854259828164309436724367056953030746862589457772279829575303542456\": [\n \"19665454235752068918418855552514589047993008504170303942074607241569868770794\",\n \"1\",\n \"1\"\n ],\n \"10426366070630092078992417382702358867609321327333938613440883448528517782536\": [\n \"16397613528357091199525598243722563813707990162928568350955616274373610095715\",\n \"1\",\n \"1\"\n ],\n \"21275196138180656949286450230232412463503573955652260095714965147019379016531\": [\n \"13183601709639352758679685227347178203665907326699067567384945913946127705978\",\n \"1\",\n \"1\"\n ],\n \"523659930762696056969151581527707410807694590641065537250329802922479579794\": [\n \"20356548677561593661040342508848012066353359457690024526844225489417926297700\",\n \"1\",\n \"1\"\n ],\n \"12261037513235478469230387478111518241815227602782354597875884318699012393198\": [\n \"20673744404094534999000005505735879303419378060526726585127450813629443477744\",\n \"1\",\n \"1\"\n ],\n \"18507030376640977403783709485594328870513138875332288471117193780668402207946\": [\n \"8942826759011601615501871361860345834724737896820012798282505136079841798890\",\n \"1\",\n \"1\"\n ],\n \"16137405208579873845617137217447724481505627066015849637954241618027379370520\": [\n \"18507030376640977403783709485594328870513138875332288471117193780668402207946\",\n \"574969760106132090655749319681355040920582077329809960757103375839764048634\"\n ],\n \"14573634915215619543990282031489450701446600551443841280348586429401110311656\": [\n \"0\",\n \"16137405208579873845617137217447724481505627066015849637954241618027379370520\"\n ],\n \"7733506449659253523282629583401179027860574142331880107301644583567532732432\": [\n \"11537971046309730791027369968845754360929906083379750188239164893150147495531\",\n \"1\",\n \"1\"\n ],\n \"10786216179408785448179605254545007288458755543670089823164420279196386034588\": [\n \"7314224656839468502264513124803292901430894173292438040214952601496489008364\",\n \"1\",\n \"1\"\n ],\n \"12150691563457934515192820410127496517937439856197895630910866014912422290002\": [\n \"13174070956560392384163284000279498130959226442767958583656875956389910980269\",\n \"1\",\n \"1\"\n ],\n \"9306315760504044383030159203202126639796859877271872629368744508595660459864\": [\n \"14650132893487949901677407702378080063667028280277850575601176461810232857318\",\n \"12150691563457934515192820410127496517937439856197895630910866014912422290002\"\n ],\n \"13226206337882856962432338044412888978836784434972108015772925689088148100063\": [\n \"9306315760504044383030159203202126639796859877271872629368744508595660459864\",\n \"3561817375585272904819168605895095524736867568350934109998403407206960470124\"\n ],\n \"12070452550655129579733601014560135221222306104465962700739664988629813201145\": [\n \"4150186572413903629751183027628234575464399439712450799895419611259692073441\",\n \"1\",\n \"1\"\n ],\n \"10963673502134487910460317722947318006259225760976841772353046753943946098803\": [\n \"14410184983734444920401362888244221162254194146243114479472418699590127939297\",\n \"1\",\n \"1\"\n ],\n \"7370064540622681234278641385281820479960219551822137730571256206375042869714\": [\n \"17594915351866087428997051958120114719028504848010447620588479345848683264434\",\n \"1\",\n \"1\"\n ],\n \"9205112637439314870066938550371657553707933118854980434709064470565859322256\": [\n \"21224568433332578610590149114603300943107363736002118197195799039443972777301\",\n \"1\",\n \"1\"\n ],\n \"16417668665354986142879489974104829899498799086555768351277527246420351532626\": [\n \"21740712740755072450562829268113148009858111081639359195276155518776832589228\",\n \"1\",\n \"1\"\n ],\n \"7141221429165986518011297211205673288172163070926339763115040849919112608053\": [\n \"4961805851758204562407718124078624725828680446410490046447368121507274260073\",\n \"1\",\n \"1\"\n ],\n \"1311503549282761147963881715988659226814956126347254157023871479023597273789\": [\n \"13501822406243081452579577565313739087530334514826693786173524252061127793272\",\n \"1\",\n \"1\"\n ],\n \"19282449248963040114811577511343306778832784550686428912166877339534349318473\": [\n \"6634188208616825922028291668962622226237285048023858945820627639984341395276\",\n \"1\",\n \"1\"\n ],\n \"105992587728455292428082937318235183643868392988828644192076350320613041258\": [\n \"14394740408467920221822193278537748241796583316267193210133738193523524795109\",\n \"1\",\n \"1\"\n ],\n \"16272998499163932267520579786615498740820085468855565527628394534274897650754\": [\n \"9723499981188893485735043247997434242196891144498934603770176985673276577384\",\n \"1\",\n \"1\"\n ],\n \"13215787754996863381136446233750497901518457973718521980964973833309911731408\": [\n \"11632370167609971022994527681855627205482715394309315268706525530022135989793\",\n \"1\",\n \"1\"\n ],\n \"2258866209482836085475505476213097542340249306769303492378761887510590041519\": [\n \"19407146037470144622156661060478087395816648014053228028791804349328601866705\",\n \"1\",\n \"1\"\n ],\n \"20451940272688034432184134463400716251606714668784706443144462102351919574205\": [\n \"10007460690737845662392655535851164628705653153682463281761794554149272978580\",\n \"1\",\n \"1\"\n ],\n \"10316559303840439757987988288880202735221332767248113357046071502013384784419\": [\n \"1862874230448483942852511602423476117641178737110699659252185295435513126406\",\n \"1\",\n \"1\"\n ],\n \"18349512675993680675137000381762933819777704822613505508713683469484956043198\": [\n \"4479355943924940082380074824748449510119031266063269181043878998786340974201\",\n \"1\",\n \"1\"\n ],\n \"11905468725469673201241060189066251532176587593129922272312116967339685726503\": [\n \"16122974987342735703918695152359595132527855499245915026421891253179965337192\",\n \"18349512675993680675137000381762933819777704822613505508713683469484956043198\"\n ],\n \"4266473667622179754010661615111255930899505262861768248473184463314118670407\": [\n \"0\",\n \"11905468725469673201241060189066251532176587593129922272312116967339685726503\"\n ],\n \"19648046286631695777798709088443391500868725152723720624455570721986755051269\": [\n \"16784826014306010850529511754758221189240055476606995687347715092324356164228\",\n \"1\",\n \"1\"\n ],\n \"16219886509109533070863718445298673999939317918463973040227856707887162289216\": [\n \"19648046286631695777798709088443391500868725152723720624455570721986755051269\",\n \"18319141066150647481075806459128718191911879452909086303724589408559239989159\"\n ],\n \"7404495713071859550014419460791040453571450782959504835241272003423308296486\": [\n \"0\",\n \"16219886509109533070863718445298673999939317918463973040227856707887162289216\"\n ],\n \"13027789935111675191134528844560084875818294703264268740009001491107060860153\": [\n \"7404495713071859550014419460791040453571450782959504835241272003423308296486\",\n \"4534566154328788225493296402757370791206802269486655516167379084827018666387\"\n ],\n \"17457427034808340945375216092184228287513552063760643121618280213840103218166\": [\n \"17770829970026794090612936034883381541497395405396636598471047391423622570364\",\n \"1\",\n \"1\"\n ],\n \"7428606954187260395564538118959733946906253576812611290798322074649546961955\": [\n \"7961540817645875298612683819271277458214113946276208649894247936252248392566\",\n \"1\",\n \"1\"\n ],\n \"15319407900716082468541577217820879667521231196301262204133145611297700798380\": [\n \"10205625729482197297748039031942289697519154962849508647697058880671364897913\",\n \"7428606954187260395564538118959733946906253576812611290798322074649546961955\"\n ],\n \"15457328535780203192226223079291304486819690736552871052502625059173727159942\": [\n \"15319407900716082468541577217820879667521231196301262204133145611297700798380\",\n \"20012682428868673282781258574307177509425117335177518596996028561327574541297\"\n ],\n \"7007938805840503856977313771377872862834358049872645863356158997969897048812\": [\n \"15457328535780203192226223079291304486819690736552871052502625059173727159942\",\n \"0\"\n ],\n \"12596433359912946917416079416836752404860249984685380176231369624949856964929\": [\n \"259644207691075045944726333333218513049785380354995223981483530697857716572\",\n \"1\",\n \"1\"\n ],\n \"6876598200291909943124227743971233489160058527343658366225101018012353121759\": [\n \"13282611555538778751284822742975653581666166159463413534419324421152259515820\",\n \"1\",\n \"1\"\n ],\n \"9831328002215680962927747098207192205760324302086453196500707364716265054451\": [\n \"18245588063061806893489300844824395932122168801396009796517751389599232274775\",\n \"1\",\n \"1\"\n ],\n \"16948710661533436527206244288136424349269685046341865070551167984387775438104\": [\n \"12319382575641479824854509478649695073647843097394098225962492694592400253638\",\n \"9831328002215680962927747098207192205760324302086453196500707364716265054451\"\n ],\n \"7058366505116863525700033543950851971405473177790870158461200073955196076342\": [\n \"18236665461692925240966110953084757008578085815225658757469573264246132312927\",\n \"1\",\n \"1\"\n ],\n \"13613031483742165663900352519531480022966222266790472068482410549560560123865\": [\n \"20983197726356662869634312953629962645907817626944999902057640392220807033328\",\n \"1\",\n \"1\"\n ],\n \"9908615906697243336573065590944803395085440910323418624943698266256165745772\": [\n \"2990427653587326990204511341943783940758480075413430336253338727988430598011\",\n \"1\",\n \"1\"\n ],\n \"18815198573007448197762599082435005501314540046177999578470765862003484683\": [\n \"6898461508183734895488592187712922958363203875503172997846752310303794204018\",\n \"1\",\n \"1\"\n ],\n \"17465924508950894336718684410311138078803930564029399965292506690290542797254\": [\n \"12026643442800408443701018603376595503604987953977969479483076451508025354841\",\n \"1\",\n \"1\"\n ],\n \"13187839599699859620538289038971833766593493331331719732744296138488540868359\": [\n \"4682347724709995640610364907310958085127296605090629750245087113085481274797\",\n \"1\",\n \"1\"\n ],\n \"19790853739053994765275901134475556028640715997519092095380562506124136542707\": [\n \"10108653505328795592003095685529776416968606739028705486268975639082990178477\",\n \"13187839599699859620538289038971833766593493331331719732744296138488540868359\"\n ],\n \"11235512108948716419357721915378494293061671362832710253644461543186904638792\": [\n \"0\",\n \"19790853739053994765275901134475556028640715997519092095380562506124136542707\"\n ],\n \"10533968408078923573250915264447665427610513732330887953176720480659466149506\": [\n \"11807498682476421297641224275039240922893441567667902801584432884997973665973\",\n \"1\",\n \"1\"\n ],\n \"3545074106347302160579925180806335041214509594426089419927795517870618317706\": [\n \"12448411366655971956269179452165666117999119986772229238893515566632914451557\",\n \"1\",\n \"1\"\n ],\n \"8970410241530589238418440555269802445291912113104577217152584589958884521181\": [\n \"5667343713874259069370713508031384036224115105308168004143477376651410165707\",\n \"1\",\n \"1\"\n ],\n \"20706624076234730176965536514952278917337146754295958163550011095225695826418\": [\n \"7190001148726351008100692264762895941244182000762116681824617965960861298664\",\n \"1\",\n \"1\"\n ],\n \"17328476441198186513920866072352465001884339184056776193295743723385048448990\": [\n \"20706624076234730176965536514952278917337146754295958163550011095225695826418\",\n \"18467868472598404710778983823951830701299759597867136326598051673900739617767\"\n ],\n \"10807669622242395778734978692196412003533767039389175613930796515528207405537\": [\n \"18097912552775410580519166602836584783312946564759913640424301349361028318630\",\n \"1\",\n \"1\"\n ],\n \"10757659164794094191714719551949850370949257742081445415457209810724947582826\": [\n \"1116962996017731522574139058348071692853521349661219586142266521046136218920\",\n \"1\",\n \"1\"\n ],\n \"13410020193205505105612083416066770581838316020639215671542375966922956040947\": [\n \"4071410608568554958129024742378348535635253118114885990357860368786731385044\",\n \"1\",\n \"1\"\n ],\n \"347892515545173496617320169212508829345138296098001252406031927889318983273\": [\n \"9365168087998975329329100222422226827625810187786204879182839776328124999568\",\n \"1\",\n \"1\"\n ],\n \"4726307943452693477544097343243699913365827219079507977973620244031240574032\": [\n \"8785730695756140150769461735205519609889315597479704436504047507172414052517\",\n \"1\",\n \"1\"\n ],\n \"17081927310349188066035039412766024506441042405505670856098351503729762558797\": [\n \"4726307943452693477544097343243699913365827219079507977973620244031240574032\",\n \"4862783364422663794219441256062435060030330840221705725901233729946386390313\"\n ],\n \"21294485280096454660420693583490034610376909918620203428407802215138375991514\": [\n \"17081927310349188066035039412766024506441042405505670856098351503729762558797\",\n \"0\"\n ],\n \"1234485474915663377073728142879322663342473343362919743404405511303928295753\": [\n \"0\",\n \"21294485280096454660420693583490034610376909918620203428407802215138375991514\"\n ],\n \"7043521303533246023640871019972402563759777048362478915320620489172296694683\": [\n \"1234485474915663377073728142879322663342473343362919743404405511303928295753\",\n \"0\"\n ],\n \"13111486748156485178398809295412883187431943703014396424146402398689304680631\": [\n \"0\",\n \"7043521303533246023640871019972402563759777048362478915320620489172296694683\"\n ],\n \"16647628147227789815823678930321892963657348082027496677015500084242446538051\": [\n \"0\",\n \"13111486748156485178398809295412883187431943703014396424146402398689304680631\"\n ],\n \"12172003468521444253871174626088521757643351513803429267670654179541369164117\": [\n \"11767043070981971710580288474096943143886859777197801719217642766563217818680\",\n \"1\",\n \"1\"\n ],\n \"21841196019591118574951198090806253169912456284351529258665351132319015923027\": [\n \"2212844269682813633427218650003958414343201648811466872294129114943760393897\",\n \"1\",\n \"1\"\n ],\n \"6624263878530704986711969025442049352016892768995810807944202711895315479783\": [\n \"4601739751221106025979098456016594826680951598338339728195513408262273727616\",\n \"1\",\n \"1\"\n ],\n \"21258350265059710978851922940189202485059080113549957980715527005893297374506\": [\n \"8383625472770843065486742806381297677532648377469657503111587690154360919711\",\n \"1\",\n \"1\"\n ],\n \"4142641601486560981855880062733803966433396388550005741999331417005956164058\": [\n \"9880325640569721838660822038908268922924064456785785444289101233357450592598\",\n \"1\",\n \"1\"\n ],\n \"5796202484427252796953632683233843500951151352724702381368197176133007477880\": [\n \"19656800258292742984706480339011586559440987635489006384396764280791768771565\",\n \"4142641601486560981855880062733803966433396388550005741999331417005956164058\"\n ],\n \"2305719791134271475035228517172886816036853649065444046938834797094622544959\": [\n \"5796202484427252796953632683233843500951151352724702381368197176133007477880\",\n \"0\"\n ],\n \"20991246611483921430924752215640442650962861389943315499837393903589171651265\": [\n \"13986603920543520986972790842153644380743855358346758020600256220486658821631\",\n \"1\",\n \"1\"\n ],\n \"15785633846604185763008691241792001435104675342711995116373892760457791926335\": [\n \"20991246611483921430924752215640442650962861389943315499837393903589171651265\",\n \"19040001687081069605890771918068007088275963711025941946497573656346325496804\"\n ],\n \"21558194847550916341412277280963305776249780602616026126362390547887660260847\": [\n \"15785633846604185763008691241792001435104675342711995116373892760457791926335\",\n \"0\"\n ],\n \"8808299313207860189075008688588322381184926011859623708115248982847635970505\": [\n \"20759498950962239608041468172240957512200132156608681539654525476114320853500\",\n \"1\",\n \"1\"\n ],\n \"4736474602537433355165091654025193205208635695145730415667615528516012891998\": [\n \"14007319679107868520803616521029924383189070505214092243897173270449631952557\",\n \"1\",\n \"1\"\n ],\n \"7950479049778288556730235894472509109561047507305460376026245465487455772626\": [\n \"13226206337882856962432338044412888978836784434972108015772925689088148100063\",\n \"4736474602537433355165091654025193205208635695145730415667615528516012891998\"\n ],\n \"16437553231197661959824112900475910930176744280898908378021593099216552702006\": [\n \"1435563054228086566549657361759757980533049422004432620315399282281463915895\",\n \"1\",\n \"1\"\n ],\n \"14135253044284767622477993631873331529673961033153837949789307745886103663625\": [\n \"16437553231197661959824112900475910930176744280898908378021593099216552702006\",\n \"20814368230043893258683349487748486561393224107338976238154101947349964605494\"\n ],\n \"1612101420773398162998031931376101569994933502207269854611219385031266911597\": [\n \"14987930140154886405992510941972178816517152412597379813901166456554363100977\",\n \"1\",\n \"1\"\n ],\n \"756207010469996200063892133325455196306819928574831687749586622869512712423\": [\n \"10035293641102036109711073228452720033184485588349222259540405143393992313077\",\n \"1\",\n \"1\"\n ],\n \"8640700095672983522864411832367729752145538059222423178576470786867943661849\": [\n \"756207010469996200063892133325455196306819928574831687749586622869512712423\",\n \"3926165252103278625765801618018207203050850092057091312644981959803059205032\"\n ],\n \"9862828740520303485729780267194450809540789284944616297935878348121883581632\": [\n \"13303494758289769379348694499361342740872290148493690878563012735411846847856\",\n \"1\",\n \"1\"\n ],\n \"11662396898880906318116150636076849339093708701319457354469410836134256603298\": [\n \"15963194601689856253779857029738780621204147787145285626920275702576750503775\",\n \"1\",\n \"1\"\n ],\n \"19472484862820299298250359064625843766782106191161377298554709737458761113586\": [\n \"16159420119770614787942948088217087041269845130345475221312393435032273892266\",\n \"1\",\n \"1\"\n ],\n \"8488905688786018688410451310051593269928720784180003517958894484441355889853\": [\n \"17019877662307383713754158814531356890951190108974940897342440994810842866105\",\n \"1\",\n \"1\"\n ],\n \"4880788660877990751429593833080075234566329301308923881633939428363315257446\": [\n \"16702776445674253512295852448468898084004041640069352400450101693462578549120\",\n \"8488905688786018688410451310051593269928720784180003517958894484441355889853\"\n ],\n \"14574116696619767032063711495258810907730034646217958294695416069122132482442\": [\n \"0\",\n \"4880788660877990751429593833080075234566329301308923881633939428363315257446\"\n ],\n \"1741191732844055430343854340052756459530869480501175867645850637723566823545\": [\n \"14574116696619767032063711495258810907730034646217958294695416069122132482442\",\n \"0\"\n ],\n \"17634286384744780250706402303166505050092231464174754213363418780195293625690\": [\n \"1741191732844055430343854340052756459530869480501175867645850637723566823545\",\n \"0\"\n ],\n \"646226627677793803642115304414309796671009522491094298507920031771680301771\": [\n \"11509825399382491409630792426479318165021488807571362268219614021458613006567\",\n \"1\",\n \"1\"\n ],\n \"5077686674759030190546504399245111731461243888205196168682212050014969611241\": [\n \"18327651835661844551680155175535753069123381188012973745395799023984433319794\",\n \"1\",\n \"1\"\n ],\n \"20583997583811209828555122783127856264955312426465518077990535136995219517860\": [\n \"851661619374092507502702596487237707018979520633412443989643290710421294752\",\n \"1\",\n \"1\"\n ],\n \"20168555314701995045350635579824299030148180530985816402877705340627025301287\": [\n \"5220257105426035200717276369760666823801382968233549881650998226877040962825\",\n \"1\",\n \"1\"\n ],\n \"4975993186935517852576671287796683441758007300400016844718111970251760700180\": [\n \"148242216123023890003399889390608919582503489079034406154088888711483187520\",\n \"1\",\n \"1\"\n ],\n \"9661769172198528421147785877088151497006356371498580106338713818901903640095\": [\n \"8683305745314064190749583794112045671302542625753001124750070560169251365191\",\n \"1\",\n \"1\"\n ],\n \"3454800105097608030536674862545984441272121471006373358929285671825488957736\": [\n \"642291478421853462221802444693673933247053904421070561311252878953442881839\",\n \"1\",\n \"1\"\n ],\n \"14502784729683509325796322122748136315377424172591981939219730560103735659110\": [\n \"20091843412373834526182528768244649178722670681615610972531031705989579629397\",\n \"1\",\n \"1\"\n ],\n \"5638836739802893744833370975848651992885915314467393186660180523247248894284\": [\n \"7106664127892293151507334092815128535744902697377443987562200972223473209167\",\n \"1\",\n \"1\"\n ],\n \"899086897205511629936036158527954091541152541125709083401841573250535568147\": [\n \"612196744742734933901282226184677174097819928689256653151078511017292147571\",\n \"1\",\n \"1\"\n ],\n \"7207805009314032042656622220428424847232127330095873913399216181767489461486\": [\n \"4314523864040921735054392992282995755151492604449779559947707505688095061646\",\n \"1\",\n \"1\"\n ],\n \"16206841812518043968258216816254520821329244236966901407391701217789498435776\": [\n \"16208736229164595260529316328989184949427807811811131822674705499967957185299\",\n \"1\",\n \"1\"\n ],\n \"21223833561108403627674393886652507570397865448674448982472525993351613151691\": [\n \"11127998091680611517848656708459836155874737967528006779146564658719301994273\",\n \"16206841812518043968258216816254520821329244236966901407391701217789498435776\"\n ],\n \"1023165462999011386638030310577327736883988494994466691693811894204378299347\": [\n \"15927376112720914576236970022610100638005877891338837238073921827026803991496\",\n \"1\",\n \"1\"\n ],\n \"3718791229958912782477786966616283254492308957736628182578757459609753466540\": [\n \"20861713735396529549290492987948553492386663713755183110246498877942871044328\",\n \"1\",\n \"1\"\n ],\n \"14004136415945153993196667038346720913649393662629011519642417484372359139085\": [\n \"3718791229958912782477786966616283254492308957736628182578757459609753466540\",\n \"228579349004710440886110173453739893227382548922085276262125448251039480172\"\n ],\n \"5162708011269360249073323361199995846195302996129127475865165838191192928951\": [\n \"14004136415945153993196667038346720913649393662629011519642417484372359139085\",\n \"15753843818605954120494691268882114626284408909219434025226227248362886172398\"\n ],\n \"13292176255042455967865596216434394486463566227597224295772202749200658700947\": [\n \"12671826707202862779538862138761419363458409859095936192905803627602032710160\",\n \"1\",\n \"1\"\n ],\n \"7536877459672374356084305491671209892530644923255459827950557302029635963063\": [\n \"9670998581366132614050400644785668239796758361263668545500881455619510694590\",\n \"1\",\n \"1\"\n ],\n \"16202088391788607282428144657044204168129495155213326057767158363008676213687\": [\n \"16320317187381733239256137205165516756281349988520978008732349253446442531345\",\n \"1\",\n \"1\"\n ],\n \"4032177274638443950305665399433669622552032776261520357625145458815283362575\": [\n \"1314065906259694650329320209907361575924878365819493789435902390263566047685\",\n \"1\",\n \"1\"\n ],\n \"13316915123496657020108353702705828798650659567634518311632669975728073222275\": [\n \"4032177274638443950305665399433669622552032776261520357625145458815283362575\",\n \"2423377269022500150334182567803068621340943298755299754334822669668999340172\"\n ],\n \"138496049340717351101971981566294168945271207388304072068398394366350855287\": [\n \"13316915123496657020108353702705828798650659567634518311632669975728073222275\",\n \"0\"\n ],\n \"1955988404718114748673073626196843098231601882198294581996220071024596844775\": [\n \"9725166091144672916844768041795370077922354458316136421383211796885815105652\",\n \"1\",\n \"1\"\n ],\n \"8139547110740974761824950825773350095004353639685050868892190455559884476928\": [\n \"11817676658170920393071456483268107961610500215009780403551513412423717651754\",\n \"1955988404718114748673073626196843098231601882198294581996220071024596844775\"\n ],\n \"11734502975547487511095642096861325194135755242583533527176357878468387341798\": [\n \"2195804704752764855305500364188238292990763921165363977670852581232791101862\",\n \"1\",\n \"1\"\n ],\n \"16393482067329907135201430852753469585443885304212657706015644746711430747584\": [\n \"8201601471442074059481549811957036425978546209579835358480369707478951837125\",\n \"1\",\n \"1\"\n ],\n \"14368684446438861994267359643195596973481043721262046238083082006288933440608\": [\n \"13821809949190791390609078615632903067451390369809034692832118681582984660589\",\n \"1\",\n \"1\"\n ],\n \"21402160757097754700575901632679071913541246764915765214856765984616799513744\": [\n \"8480602006969438307810635918273979860145437572077425141428903229013326532196\",\n \"1\",\n \"1\"\n ],\n \"11035051506583074517291735418652159805354317633561631950153222783344028898206\": [\n \"21402160757097754700575901632679071913541246764915765214856765984616799513744\",\n \"7098879614337379468874835881819763258056778244069961008148582343577895799380\"\n ],\n \"5909079632667467676588243805993158291626196678329024169028543228272641971766\": [\n \"11035051506583074517291735418652159805354317633561631950153222783344028898206\",\n \"0\"\n ],\n \"21722835411846123382515034572587473080149164069375865826778566796638945018236\": [\n \"17445419663363985779967587076641392425275564322710011060851008474894515587421\",\n \"1\",\n \"1\"\n ],\n \"14030235765108129063621276350754628323646457925424022840128140141205336047867\": [\n \"21722835411846123382515034572587473080149164069375865826778566796638945018236\",\n \"10260235162731285065428641509933265118408777509226034777726162284076426863433\"\n ],\n \"10517325725377483658183587780019629603836955769376751460303647911652625032421\": [\n \"0\",\n \"14030235765108129063621276350754628323646457925424022840128140141205336047867\"\n ],\n \"7091222615338979757711821223965087333729155293195786411894718677147618285973\": [\n \"19169865645122457300640365625361476728820192617414169341010205411862481462441\",\n \"1\",\n \"1\"\n ],\n \"16716117313422752055121014599560059706991025092578411629713737588160912433215\": [\n \"11237993869846111366562843358017740809428869708509544716166311019564538484377\",\n \"1\",\n \"1\"\n ],\n \"12637399024931075540626066435061639142483805583487119337732791159485025953809\": [\n \"17573725657897674835768888451982840752436019041116147491313321358403797666960\",\n \"1\",\n \"1\"\n ],\n \"7952313125861207999101546879739349953241252485708802733568700728781248575588\": [\n \"10548634608205804206591252968897788754278866846084277008197765386377098106928\",\n \"1\",\n \"1\"\n ],\n \"10426448512858139843176029584445586479792064899819958727356485662095712304328\": [\n \"4402599518400333036791113112011965750356835091487169233440579093396535486230\",\n \"1\",\n \"1\"\n ],\n \"3552982969735933098531600849999769325556505209303128578548279311246897537845\": [\n \"10426448512858139843176029584445586479792064899819958727356485662095712304328\",\n \"8921404326368919511374550156262464128271745993369744804951670890397624870596\"\n ],\n \"2741922304732912771020108750456998558359712419978707060070632671419701010707\": [\n \"8725109204624559358390190034824644096166678366660169213457348699649292140767\",\n \"1\",\n \"1\"\n ],\n \"8330510807043394798850792081396929329778391311164059208496747698792962178432\": [\n \"16208238732537306160814293751946461794600786583288491087939588928361581985264\",\n \"1\",\n \"1\"\n ],\n \"14108661445012937360957360872952281610530561030136484735907051178239040273105\": [\n \"15860519312689539894283453939571179225503351041869640375344847782853869261725\",\n \"8330510807043394798850792081396929329778391311164059208496747698792962178432\"\n ],\n \"1317640981048089143074363349969299518603034703786332452242161254565838710534\": [\n \"0\",\n \"14108661445012937360957360872952281610530561030136484735907051178239040273105\"\n ],\n \"18314742936775858713083423498513358708690184133874450418790866404684149389319\": [\n \"13894516420723510133204515852473752010411498530099947353507131324852388986210\",\n \"1\",\n \"1\"\n ],\n \"1240724879365215248394894178738905722177134122066449168174119652901243170271\": [\n \"14307472736135424260013607733776773172769623921447769681341669452753140163817\",\n \"18314742936775858713083423498513358708690184133874450418790866404684149389319\"\n ],\n \"21017816159825334084389501967473961054674273059497752739697730064628153885549\": [\n \"2412461942017887868103140535934323132337189763939329734891335289592823931547\",\n \"1240724879365215248394894178738905722177134122066449168174119652901243170271\"\n ],\n \"8451622368688157968109552870032607374366182388753704601955280683408439489769\": [\n \"6244507547630945460451622551087895554555483217052107055493923818057574541817\",\n \"1\",\n \"1\"\n ],\n \"19517681433214481924781754916803392026547314477168287009398177636557511589524\": [\n \"8451622368688157968109552870032607374366182388753704601955280683408439489769\",\n \"18811576604556438821479341076103027894345874152397556566448824187593315885918\"\n ],\n \"8770939486751401633703690733976831975624448189459674231475209036129803546359\": [\n \"0\",\n \"19517681433214481924781754916803392026547314477168287009398177636557511589524\"\n ],\n \"12465953376953955118504365570224015671699521998441345543264101831530279260338\": [\n \"10050777242312497713381206913604205266168974494007627467580930690411376778898\",\n \"1\",\n \"1\"\n ],\n \"18266117374865175908057801680485022854467525925253550553547104309593294986023\": [\n \"12465953376953955118504365570224015671699521998441345543264101831530279260338\",\n \"11513212683109614252359602161569881047356151921230220783495505132131256874251\"\n ],\n \"21765784952850138375170925491985101809099920432856995052222796674514468136611\": [\n \"0\",\n \"18266117374865175908057801680485022854467525925253550553547104309593294986023\"\n ],\n \"1002495738175113552900313082810300300601747394138301659497559136557675331815\": [\n \"0\",\n \"21765784952850138375170925491985101809099920432856995052222796674514468136611\"\n ],\n \"4398824795843331159858863843226920897566425473753455663345724723198003184246\": [\n \"19566753614263028677855378221444844658258803778238469208369047653023270616305\",\n \"1\",\n \"1\"\n ],\n \"17754358935334973116214311156319031043826124629605926811803994872726990057205\": [\n \"18846237940080075239633993934407199466568622991854030339556144319871578920444\",\n \"1\",\n \"1\"\n ],\n \"18019698115315967752428997127609707785867886328109757419180309015184779886961\": [\n \"14880995764282112728410004320998535387931940933264906284007946117015764023519\",\n \"1\",\n \"1\"\n ],\n \"9741688313958002903983864909728614833320322935991187451585799602253683934028\": [\n \"16165866794662674174999554113865834444776414229822496505526570947103203267033\",\n \"1\",\n \"1\"\n ],\n \"17370746894291278474031648794851569694635092330999551450760628829592417995251\": [\n \"9741688313958002903983864909728614833320322935991187451585799602253683934028\",\n \"14190708841708303994215279368791159328978982197990379706293922082562071826122\"\n ],\n \"5119088379420827732072751698192305369651622779055422060395427164661945505086\": [\n \"17370746894291278474031648794851569694635092330999551450760628829592417995251\",\n \"0\"\n ],\n \"5884306508444195514751677254043623291978154206960567119711614383683790938894\": [\n \"5119088379420827732072751698192305369651622779055422060395427164661945505086\",\n \"0\"\n ],\n \"8904081421266901650285529271887742525609348084089899176281498311826113530015\": [\n \"6291530103977072792559001236768479738118157919574966081342017618504769502880\",\n \"5884306508444195514751677254043623291978154206960567119711614383683790938894\"\n ],\n \"2863363295730206769353681878872057842186909472640019195525249856050402250952\": [\n \"8904081421266901650285529271887742525609348084089899176281498311826113530015\",\n \"0\"\n ],\n \"18186443437038973877058717959967424407413033696326924059934115649549059825342\": [\n \"13656610193319554791406115713151798301930842214990896985885611530946419660499\",\n \"1\",\n \"1\"\n ],\n \"7334189210566400038261712470546356090890098808505409910770293163305352683934\": [\n \"7827088709179878514728138383498552051999835377380269339981218698379175167342\",\n \"1\",\n \"1\"\n ],\n \"8101755532177998248590547316037459278673466146852877703127699226120302941576\": [\n \"19626728228747710787365166850706651453742730390698619805582686264349340425359\",\n \"1\",\n \"1\"\n ],\n \"6324638589820860853650220919972569383277122881545783696755570566242828678596\": [\n \"18103822097720474607264691936686906098266269549620154163655456476678004175680\",\n \"1\",\n \"1\"\n ],\n \"10699369569218772097615212667799102660251362344083575894478149966315340792222\": [\n \"15825160405874534839883871118199613376108754064414930323907377220385319882590\",\n \"1\",\n \"1\"\n ],\n \"21519057960812414638153861780731857146562273067536088794053414684744676926614\": [\n \"10699369569218772097615212667799102660251362344083575894478149966315340792222\",\n \"12415472245130429902422223082206203220937897882760928606538773727998886273286\"\n ],\n \"6484472387914846721511131546239133359417337177435210929122460289318566517719\": [\n \"21519057960812414638153861780731857146562273067536088794053414684744676926614\",\n \"0\"\n ],\n \"18032644694579846427678176181668064408642561013072523594129187052234539662913\": [\n \"6484472387914846721511131546239133359417337177435210929122460289318566517719\",\n \"0\"\n ],\n \"7436350396826697830672070130380617095878306623958219132852829726611974068915\": [\n \"16665535452155223274713419410661275732772558549680999201565745232258404652888\",\n \"1\",\n \"1\"\n ],\n \"17582214338250959061315365154215363199561500528953259255356311769818790704320\": [\n \"7436350396826697830672070130380617095878306623958219132852829726611974068915\",\n \"18730559424815106756772739239314735383282765885430111142904712223486904567779\"\n ],\n \"5797828666217882822563343635588955615430156328585163730374830353245914755643\": [\n \"17582214338250959061315365154215363199561500528953259255356311769818790704320\",\n \"0\"\n ],\n \"14395032816887213762855463154524386592147134856096452405919219377788177393596\": [\n \"16921270448828146681094980345286411920345284117491915903424169554599255737215\",\n \"1\",\n \"1\"\n ],\n \"5024217806418664003017610411286595784988472068548294089119640712557215526096\": [\n \"7412761720860742449555612361311491081640536413555205618113129169018789412275\",\n \"1\",\n \"1\"\n ],\n \"20950332695146915822919089499141439947305097253878152021980254435407364301528\": [\n \"15204391807973804456052978886048629608554602152150936269617008088454270842384\",\n \"1\",\n \"1\"\n ],\n \"12551073716927580019301992266948561320785644215350498131081394557241575036305\": [\n \"8032361234968899714770894693319159909860656034052025529517359086328941162044\",\n \"1\",\n \"1\"\n ],\n \"2609327223387372769886708128377556622077193970957580895348407400773261552824\": [\n \"20063569137119735923140377042215242222807795726789136893195475468637437436287\",\n \"1\",\n \"1\"\n ],\n \"7856145013513208118907113500862672391740496984019472180527135047027747619203\": [\n \"17858676772382944498456666919376753941640529307184504763621927947452221292896\",\n \"1\",\n \"1\"\n ],\n \"17290441499045184362082719945272742776146979601469432447883640655769997576601\": [\n \"20262789596396490758100757463202611338680998186352109100453460848355031707650\",\n \"1\",\n \"1\"\n ],\n \"4702760344885239046199993242822864040765990209687102587185294855580565471301\": [\n \"14367946026386308956942183117541310834059103016291744852795932031706167849621\",\n \"1\",\n \"1\"\n ],\n \"2036646716001814839373302270385976218962561243019439608909355702734757453789\": [\n \"3449834583598030730504562296227247179253628561179015010449587476810805046038\",\n \"1\",\n \"1\"\n ],\n \"11426519641667735225650335676345659565669117008863915657666055361587547560837\": [\n \"21535556314815504515937192686208754623434570193545351785697056032147337493247\",\n \"1\",\n \"1\"\n ],\n \"3487144294589424914862084833834895631196127925181703831537527332315266427446\": [\n \"11426519641667735225650335676345659565669117008863915657666055361587547560837\",\n \"17424601047602916679956875224572209786444335572866136658152343255689551850320\"\n ],\n \"593537923935289560526679026171918911803060850692963143356857265000462017270\": [\n \"0\",\n \"3487144294589424914862084833834895631196127925181703831537527332315266427446\"\n ],\n \"17773531787772237375720313998706825281711851421335514439221259886371781529827\": [\n \"0\",\n \"593537923935289560526679026171918911803060850692963143356857265000462017270\"\n ],\n \"19176508610066202316312828468022248498064043986283556765896367212253027989473\": [\n \"1712325032000000512535631244865044618609796375523564068941152388348522004150\",\n \"1\",\n \"1\"\n ],\n \"4263139749390264641836332213714294523110054805241117131554410092170147097357\": [\n \"20038349315848712876991818934828506905373288075805053389481585439972782368697\",\n \"1\",\n \"1\"\n ],\n \"18391380131076637506499481018959800704954127885391191328915838031897722977049\": [\n \"506367391418693940340362268801691582462420605463614300744948558576778984023\",\n \"1\",\n \"1\"\n ],\n \"18166518687014610484145515868917095343151762938418168713419299406600451645006\": [\n \"11417922351717804776997075457325295184858418513737361401942221996341563420616\",\n \"1\",\n \"1\"\n ],\n \"863505037921509213256132778982256159035113344156298226282978038700866868447\": [\n \"18166518687014610484145515868917095343151762938418168713419299406600451645006\",\n \"5229864710853579067691905094807853701216228086448593944150467650831429718424\"\n ],\n \"999385051772698675431405582463403013969467145600111101209755814164782604040\": [\n \"17877262277674534006421364210806423137998347170874535075506007857331825247446\",\n \"1\",\n \"1\"\n ],\n \"16936425530516878420470512771776593739656839937185678332654177023612653776088\": [\n \"317985240356071427022785123812781261325984155628167786968115619961966483858\",\n \"1\",\n \"1\"\n ],\n \"7966188365560484289324431135692507554125437462877537786123416535906216186994\": [\n \"19984755228553754452146652646034525144819467351037679832592427628673982398678\",\n \"1\",\n \"1\"\n ],\n \"20852864436372199968549776746563914627775707587374767221588479748617987502640\": [\n \"15190699572077707543298406414284728949757411486774058014487891979969330175055\",\n \"1\",\n \"1\"\n ],\n \"21484464186163914358219225052776595139385120319699544468361400477338891308852\": [\n \"6184887965538474506865743958145920911706917600874035771271485712967463252297\",\n \"1\",\n \"1\"\n ],\n \"1380953471818132468923764627886106350245532612611152767617018333096047714052\": [\n \"8636941720457905414833212252135422318707877285576150640564295876671271587777\",\n \"1\",\n \"1\"\n ],\n \"18294669376564405536138680205957249479100791489818465534027013006358881695016\": [\n \"19190045137517919773418945635523842595204464069789126861234487572629732805449\",\n \"1\",\n \"1\"\n ],\n \"14509488102550905871572799421190503585876467453980099522719909708478645502315\": [\n \"18294669376564405536138680205957249479100791489818465534027013006358881695016\",\n \"7885423357177837076813851713593304074688799126001999619723358599413590383669\"\n ],\n \"18685856727547442762517807092222197881153106273268092337437370170840039159724\": [\n \"6487228244169146654989611818987741899477891370031792727714532652190059655684\",\n \"1\",\n \"1\"\n ],\n \"10328919169171327644685122958524036839461147142280009702940898481435706149224\": [\n \"18298236816055010131724478735082054405601211213156145117313406976524727500232\",\n \"1\",\n \"1\"\n ],\n \"2742076376690504212141471072138419067897489231296708563853058387202982207477\": [\n \"16468668839452744115857887014507142244220763871953549291505639003265813270389\",\n \"1\",\n \"1\"\n ],\n \"7283563030987930515549424471789473884585252101442611209566569208919868530122\": [\n \"6430732796556867505390855223331075857837265920530664634237364641166616801890\",\n \"1\",\n \"1\"\n ],\n \"17445404866886253877026669348948402266836198228268416351005043143775714183924\": [\n \"20189919910305622334024942539535919610956486906636521708377451722367842780670\",\n \"1\",\n \"1\"\n ],\n \"21010822580092903771086401196811298624807331725043554607027240347684585778428\": [\n \"5141381059453500646191602915565505314819316897821001108541336884185505435283\",\n \"1\",\n \"1\"\n ],\n \"10759120944461695683611554974969037871195858479541804163731042080754184282964\": [\n \"7508432954157331720936289983010290792372276007538137623742225276854588980024\",\n \"1\",\n \"1\"\n ],\n \"17346921601212595606025482043678762825412355579305643053095434535458803040888\": [\n \"5657259304436811728236944262383649013951234465338224127905699357268717358391\",\n \"1\",\n \"1\"\n ],\n \"15066467316169399832453354700510866690537254616183822560508364398956634690767\": [\n \"17346921601212595606025482043678762825412355579305643053095434535458803040888\",\n \"10589944102989943226471219596373432519855916199817672588649792259664044787000\"\n ],\n \"14582967235848753966091137684229622203034230824186585190978802861517819684761\": [\n \"21168098521519446964405946670169318195579250378360491914931485212563395052431\",\n \"1\",\n \"1\"\n ],\n \"11547853651250321315890315284270792615562225361750507003221053381969642630098\": [\n \"1039059901513571961334787731490862249353753973562240078913462223886196793019\",\n \"1\",\n \"1\"\n ],\n \"11245809302172741714112121280416199783969352518677140495628461129038477948630\": [\n \"18437274133026752784110256922465169245353827588381381233763256639200536784918\",\n \"1\",\n \"1\"\n ],\n \"5970938220607152727717077012544099894764037402168313750277721671329524342521\": [\n \"19279093277288917121056060557310212222769699012243487599794170248481140660878\",\n \"1\",\n \"1\"\n ],\n \"21237492762953799077096217622592804801855081399012894730725448216675247712875\": [\n \"6297555236395527203353869441204440081738558746219344107041698233137870756900\",\n \"1\",\n \"1\"\n ],\n \"9367765069929053538765983793823395674382105729771355331365279065019303672682\": [\n \"6696101726058319879897188133834511025794338668324542168315150584971203850388\",\n \"1\",\n \"1\"\n ],\n \"8008437290798094887767051600656788591700248633109481177002564855528898335274\": [\n \"13713621743191004258515742390385502018198995260361156742360659743022679637419\",\n \"1\",\n \"1\"\n ],\n \"11806636420115360982454080756813875640522749596703436121674593174623378540294\": [\n \"11399316279997216897262341043330466940108969041795020039002232041404944990601\",\n \"1\",\n \"1\"\n ],\n \"10453085450393264986121974490205001185318939840334283544914756377099893351389\": [\n \"9069863633425528865216121359152964133633281310038478448013716563744601820140\",\n \"1\",\n \"1\"\n ],\n \"15184560605128680864490226284676873554713858511560209280565337301950328201161\": [\n \"9121861029725429225038348828619541097842475518761091402105579132685879752319\",\n \"1\",\n \"1\"\n ],\n \"21727473849846002707045301573652621545639009191446048498091170842818967501258\": [\n \"12577050362988001176561306177750030065819024569754133213562830194883973641202\",\n \"1\",\n \"1\"\n ],\n \"12391391391196605076026757635488904583228262157901538550093171815028743548027\": [\n \"1647806454588853473708216848483116291901783216101821854449165958810565249762\",\n \"1\",\n \"1\"\n ],\n \"1490397893356765170990267914029485006180848519831704069245203400897774122526\": [\n \"12391391391196605076026757635488904583228262157901538550093171815028743548027\",\n \"10376496790412431474681294799242838528476558683380069825645732104823935782739\"\n ],\n \"18365214457253197905313284284116654472135155675921651069400562307878722451113\": [\n \"0\",\n \"1490397893356765170990267914029485006180848519831704069245203400897774122526\"\n ],\n \"16999759441715468031501371916910764418789187711448447268391723158421719328582\": [\n \"18365214457253197905313284284116654472135155675921651069400562307878722451113\",\n \"0\"\n ],\n \"1077640737395356799428792454282338970901700334863057024692246827192462590881\": [\n \"16999759441715468031501371916910764418789187711448447268391723158421719328582\",\n \"0\"\n ],\n \"13463029012942254187412828381881826235748835393224108244022393608920180980959\": [\n \"1077640737395356799428792454282338970901700334863057024692246827192462590881\",\n \"0\"\n ],\n \"6714589563340685220059428432010525111655033031410010877562249389645715392664\": [\n \"19770224309063608858748930078921247036772476930895127337454048516690856835224\",\n \"1\",\n \"1\"\n ],\n \"20118909111426223201127344223564107959800536654026308877280066697698662696590\": [\n \"14242915242647209483729202056779501025041045048562826430963604056011440135487\",\n \"6714589563340685220059428432010525111655033031410010877562249389645715392664\"\n ],\n \"8409156158698479732640405332912991242755966841335567412472640491134870576071\": [\n \"0\",\n \"20118909111426223201127344223564107959800536654026308877280066697698662696590\"\n ],\n \"19794622145692972940273863132740670594433241090269633078089190702892644301285\": [\n \"0\",\n \"8409156158698479732640405332912991242755966841335567412472640491134870576071\"\n ],\n \"6179543369162383468579219348964741361614042971174712177952365504698508587879\": [\n \"12903110545558640268103034132703659998670828920735196101839910830168501343336\",\n \"1\",\n \"1\"\n ],\n \"6128867817257271274861170286574012406729191168315147126228116454923950266216\": [\n \"4364449181461105969488166738512337326220529914040695855014293609655965062022\",\n \"1\",\n \"1\"\n ],\n \"11230310300236552360576278626479795335761984486316591347042507966927079355239\": [\n \"3055868330439971639775208257095421439978179331169796262666431513669809925058\",\n \"1\",\n \"1\"\n ],\n \"3800764328060073906423547875167711981167845224666134931348268997956516826825\": [\n \"10675883840062417032509012955689149480698437136633693786591411216990122752537\",\n \"1\",\n \"1\"\n ],\n \"13190144216968705369081108065726612802077320663362835858180030579428387895727\": [\n \"11424852215455657321018566509032373075540140390281386261816183598871152635839\",\n \"1\",\n \"1\"\n ],\n \"10893926661207944908201188713465185377768673175800365487319564940945469707436\": [\n \"1669234036704644968799063382592821621641193108452255442147189281258166160167\",\n \"13190144216968705369081108065726612802077320663362835858180030579428387895727\"\n ],\n \"18198597477883963025599753031222973410826019238071415355474041376984953455925\": [\n \"10893926661207944908201188713465185377768673175800365487319564940945469707436\",\n \"0\"\n ],\n \"19629070117547384500922292730749850511252754919097014504845523068612463863343\": [\n \"12101468952967989873251845202216243737103257954619291081830690943710011973446\",\n \"1\",\n \"1\"\n ],\n \"11821515415314582914413968609734481500339616375261629542865134216227360976855\": [\n \"2890570633108069861004683497722825233609453942690959215180534488021156427514\",\n \"1\",\n \"1\"\n ],\n \"7870765392907254549445046687604636005503585049114270806762602110721728746676\": [\n \"17401257458320231671594805909095485583212659371073401824109624379550051551232\",\n \"1\",\n \"1\"\n ],\n \"6196578104919293106822574101068511784139379036868223845015083574811791170823\": [\n \"10803580000575098202738384395393822131540036047287365138618448934832706331026\",\n \"1\",\n \"1\"\n ],\n \"4990962538970893179658147402582343830251073061533001828088828341407711138555\": [\n \"558297510752831546990434616222014929166880638132147894962470064814558308129\",\n \"1\",\n \"1\"\n ],\n \"11221317139121375546050927337138486319368814101693210900952394141508996490568\": [\n \"14985344087496441571855471041080333744012183737196072865094437963543190888044\",\n \"1\",\n \"1\"\n ],\n \"9008394845203498898869636314425306898234755706172215722425256257676846300449\": [\n \"6322049513786644677506785184005947001284387683312278984212996764121723302441\",\n \"1\",\n \"1\"\n ],\n \"40556511217423771344959086971134795593522027045501889907221488679670347343\": [\n \"20119407716619583813690242971070472285190697100189972353118305897434433835812\",\n \"9008394845203498898869636314425306898234755706172215722425256257676846300449\"\n ],\n \"11520046816638390769536924371516437364855309334904610663883069736271293138492\": [\n \"0\",\n \"40556511217423771344959086971134795593522027045501889907221488679670347343\"\n ],\n \"3063236333025329456222063316854666526803726345669858546001363192056132596994\": [\n \"11520046816638390769536924371516437364855309334904610663883069736271293138492\",\n \"16135335764914158080029475155287185371799640323652569360949909085458705498305\"\n ],\n \"20619041191116707379216749702407299980768326899312035281187892347517715522747\": [\n \"21054028378046882434949422943708397746863918427697361527254166148629168694614\",\n \"1\",\n \"1\"\n ],\n \"21417075415399715364314681643853731479471097827462712897618892113957841614012\": [\n \"12066150040076562638741457715822039548378209608359541676582581506823962479534\",\n \"1\",\n \"1\"\n ],\n \"11851538466887565293437785039718157932295400404176334627109160970638181213997\": [\n \"19266483596432723573177215438455736069006576012260431489128759909842885846314\",\n \"1\",\n \"1\"\n ],\n \"6271791787873699798830170524593179423502044667347146054735469484195683000584\": [\n \"1434321684524766404518042334059138140145657280805936203169372742495723917308\",\n \"1\",\n \"1\"\n ],\n \"4517270046737099379159722595281201033383035263393340502912692969278416104043\": [\n \"3105145924268036957875762155981830963421225898738824664480821324436717171979\",\n \"1\",\n \"1\"\n ],\n \"17301339531631921615740165469855437660429017490515820636631437626057306170841\": [\n \"5989944772313070019966901829432766621527958601877097641889202007714899265365\",\n \"1\",\n \"1\"\n ],\n \"21547717979755720474905667628872623402312629140053736291263990268558201388842\": [\n \"5125412144526658430504505080217151621907276581465651736633360052452569857351\",\n \"1\",\n \"1\"\n ],\n \"10261318520975943250521207586996484203238898269977263406742534092080995854263\": [\n \"20096630426881290456402325704794939391164742012724871803074995713633961525164\",\n \"1\",\n \"1\"\n ],\n \"2708579978215159852952112143278935357161079240900086148254475891300290150212\": [\n \"21452786654520372087534993351382828287779275185285622651455204765515457561604\",\n \"1\",\n \"1\"\n ],\n \"21138849726171713106396815794937748963721042363021802398932093100896035668959\": [\n \"749238437922204520864789305830476782655180360883592940368903359902870911136\",\n \"1\",\n \"1\"\n ],\n \"8844403088033407919321203344864432552680205762213156412449848263913821866614\": [\n \"18523162571251334961320453444178536356515601490405307653706693277420609219339\",\n \"1\",\n \"1\"\n ],\n \"9245360746035660142573734163035066800845728711889556716576365402346038459852\": [\n \"17302169053880401739827222942883440361170914424660393166883370351752615950712\",\n \"1\",\n \"1\"\n ],\n \"5803347081269301906981979897070296442939353705945157455316361627367798167704\": [\n \"3127735216373031790052459835230592082016451552926355263450829907712541606245\",\n \"9245360746035660142573734163035066800845728711889556716576365402346038459852\"\n ],\n \"15980078113738204224676529060824673984150548876559971613324148430175921886052\": [\n \"0\",\n \"5803347081269301906981979897070296442939353705945157455316361627367798167704\"\n ],\n \"665359109112952699380376887033879023375204649490635503030800098144658631743\": [\n \"0\",\n \"15980078113738204224676529060824673984150548876559971613324148430175921886052\"\n ],\n \"3164725810846651436461919880669130559988126202167641584772664094467006448915\": [\n \"16821966373516528635982497700452108944161288227340709147041762592100623236152\",\n \"1\",\n \"1\"\n ],\n \"4319507199630660636994161072064293482725438222058233044044662390393342837574\": [\n \"6378637012700450488574295068595061753679092388557500646851600996346492512235\",\n \"3164725810846651436461919880669130559988126202167641584772664094467006448915\"\n ],\n \"9755451015531664934523353892537796943921572082842402571479115076620187801427\": [\n \"9540682580378563813774187983253278285676858244517829917132729077227512389090\",\n \"1\",\n \"1\"\n ],\n \"17188711704824875287862592740455683020101128810241341421020409760783850581353\": [\n \"1698423634459568683611926123350154372372900743848665186260145645922398818952\",\n \"9755451015531664934523353892537796943921572082842402571479115076620187801427\"\n ],\n \"6514540003095024312412414842488545484385073632155504809185571001472328676994\": [\n \"17107782328485922894941943452429415563448885056126645824231716211399879876227\",\n \"1\",\n \"1\"\n ],\n \"5863098676339168336633878866076748303618430499191880211804110418847331578069\": [\n \"14606250113300640135448472021598420934614707971275364187952869873519106854058\",\n \"1\",\n \"1\"\n ],\n \"18178661490262606290359280212431566217082918056285801074192371911114567413980\": [\n \"10478448697325414754896113547381058841128639054718341863199924687928229180732\",\n \"1\",\n \"1\"\n ],\n \"3096644246794188273748022333424466243929450644257137313066821540520464039163\": [\n \"9151367505079945470815215337107603057706260460135893044549596724943009254863\",\n \"1\",\n \"1\"\n ],\n \"15342777671737915550921549541330898476554760831838244538732671208969987310661\": [\n \"19169226878549185571474441927226327850843556836858674235647166302336271793537\",\n \"1\",\n \"1\"\n ],\n \"6677445935432099429929134573521396101137532559264100782622031027716246877614\": [\n \"6966737652839949568212766499374545297924303676920096296608910459530479952170\",\n \"15342777671737915550921549541330898476554760831838244538732671208969987310661\"\n ],\n \"12797365429450880409472568934314826580284764022757115542251818760069434986854\": [\n \"0\",\n \"6677445935432099429929134573521396101137532559264100782622031027716246877614\"\n ],\n \"17410196010032557703481835622717688851265345275263436954976131271038099139302\": [\n \"18135082932101430722413289944600583580515456893056875042994342826333615171233\",\n \"1\",\n \"1\"\n ],\n \"5741323040092211338653158972147719368563512631156187183167228298724415350886\": [\n \"15266136387333693783413016764569819969588957935742974007412950659824240344931\",\n \"1\",\n \"1\"\n ],\n \"2516671310322202306871676540720904099835155917244349693881003333398080106059\": [\n \"3736180125952164582083598206601060496783615008717318310660405764937695156472\",\n \"5741323040092211338653158972147719368563512631156187183167228298724415350886\"\n ],\n \"6996214554807967773423772546578927461697100480498058179965284656409561682088\": [\n \"20759150552019436819595067812206634665225257095254480737331014781596938130916\",\n \"1\",\n \"1\"\n ],\n \"11598461847697268313396345002667918580168858394640853069883877834663552052749\": [\n \"2126164619662992809987682834009295505531239975336661954705148970390061070084\",\n \"1\",\n \"1\"\n ],\n \"18141187324980074135579791292072696553206322139248680165564443218633738320803\": [\n \"5198436862194131355171059955356977768282212607372006812798275431156101606566\",\n \"1\",\n \"1\"\n ],\n \"4664608873097577638283471424102732997697599731480430441174841585466912148738\": [\n \"13787127090574513034064834068972670926333054617430200624207259597647347981607\",\n \"1\",\n \"1\"\n ],\n \"21873206753050714887722834434877375832666054198553714328737134200565585121295\": [\n \"9935801979818916977549145981849574996711122781763856296203605396063492276779\",\n \"1\",\n \"1\"\n ],\n \"16187833295278128106435130503961146763279333339890817812864725585353254350478\": [\n \"14184890271732128927358254264763439910885466285320609040768784515228904562130\",\n \"1\",\n \"1\"\n ],\n \"21117114136615746610466382470307413896158778926011376682727741267155826813331\": [\n \"14267863724182147729091891384443639356470604111790507284829759904725968713096\",\n \"1\",\n \"1\"\n ],\n \"11092535619122988458541048476140910289609976531396340877602175522841660542245\": [\n \"8195293704049705344193969092776632560967118278037896072628053775277802258764\",\n \"1\",\n \"1\"\n ],\n \"5117826362585395871091394697730069023902569292453686130501038914063375190723\": [\n \"752706136105077726640403158957991863110667397906778120321175461811508879037\",\n \"1\",\n \"1\"\n ],\n \"2294506909832270570312550946654527071390969397450577845050298126016919629365\": [\n \"4818408762770808454454502939055287380902392329144919963397874714446576208013\",\n \"1\",\n \"1\"\n ],\n \"9097936150173324650131142190342049366887537812631137048464597861330327349370\": [\n \"108817525485906169146777233157410989278961527757404928084613192789937376372\",\n \"1\",\n \"1\"\n ],\n \"6596439718263810213357759082950360705200174802966644454205267620145323033754\": [\n \"8840042073724901022802631635682326553042573713170137912954150216220325265109\",\n \"1\",\n \"1\"\n ],\n \"11973092472790020106664193425056229810489924717443602417729877441592949508267\": [\n \"13663240088439934814001554252683719077052009596082189813858087232257467449563\",\n \"1\",\n \"1\"\n ],\n \"3219968410078484892766829234091772837611529787915058733795045098507712932912\": [\n \"1834955712373648474030275560282133292603068477693218094419353352719450888196\",\n \"1\",\n \"1\"\n ],\n \"19817612878606912461339820112113727768983305544133179043461238990985706915947\": [\n \"12698806291210527796657737908677754248581915894204083917778186897331929421081\",\n \"3219968410078484892766829234091772837611529787915058733795045098507712932912\"\n ],\n \"14709349654327829366204319846041045241479817882845431744256117007024904253826\": [\n \"5170384721897699849303387790559752547750073640660377732118587925566777958291\",\n \"1\",\n \"1\"\n ],\n \"11604454811579155373487037468817605519590665422934348317677311163071481891191\": [\n \"8502853743638325665318010182581666131453788935965798627594051213526970239385\",\n \"14709349654327829366204319846041045241479817882845431744256117007024904253826\"\n ],\n \"6325666087054479886842375826284686876447011258940709430277953877905634205502\": [\n \"3867878338612666763564588253191623414519162305095939277540805837614487470581\",\n \"1\",\n \"1\"\n ],\n \"16699472920253169860309837107215464134574755574916130365435620208552357813753\": [\n \"6325666087054479886842375826284686876447011258940709430277953877905634205502\",\n \"6263139497565896389989221118000919988100280687074407018874424463297402689777\"\n ],\n \"70445252848113554682483894104255265848095261992019501836556258681623996266\": [\n \"3067816161230645787332076819598560851635968975131020993485814048743960976727\",\n \"1\",\n \"1\"\n ],\n \"15525607837785222983476450692211735483888646000553537484990667713405179199368\": [\n \"10821121430282274384757023838447122863474583099351127926252027199158360689170\",\n \"1\",\n \"1\"\n ],\n \"6209404785903152662215193143354357632094750985904439460869771084041301105488\": [\n \"8176691093549621988549927867008752859488022409471976705045797219660795853628\",\n \"1\",\n \"1\"\n ],\n \"185265191332713516365541357609686640173513954761988485817016858949000982229\": [\n \"17793074876670704561109644382365344308007727202726510310588293596108245714469\",\n \"1\",\n \"1\"\n ],\n \"19761458207047205962907669997511090107371826556947260213833592319159765907768\": [\n \"1591479957664847427890164508570655254679362173565518287612040704714675517856\",\n \"1\",\n \"1\"\n ],\n \"1434384356700435759477687611748169050515015874947479368810879834960666232964\": [\n \"1216153503675605353397322771306158884061683410022786016933060640477419484834\",\n \"1\",\n \"1\"\n ],\n \"21657806031501967689165479807350773879830652098339061764737644127958632780504\": [\n \"12905089077437223415336044230351445108286617452999414782488694821548777849487\",\n \"1434384356700435759477687611748169050515015874947479368810879834960666232964\"\n ],\n \"1795391012909644108390000065890455297216172127713908226556743327489143596512\": [\n \"1204974093418966114361312392732854288856313147655384710085226884027028784504\",\n \"1\",\n \"1\"\n ],\n \"20405337200797423580654620629402490583330825205372542579103372743032367901685\": [\n \"10050529675856787346805813019203225059211403001105932957031179393396791830359\",\n \"1795391012909644108390000065890455297216172127713908226556743327489143596512\"\n ],\n \"17078068825435506975713397540971826575676730330462798111967751499662748628184\": [\n \"20405337200797423580654620629402490583330825205372542579103372743032367901685\",\n \"0\"\n ],\n \"3536016242988001913506102845473535424564751156989283272869028254929589671895\": [\n \"17078068825435506975713397540971826575676730330462798111967751499662748628184\",\n \"0\"\n ],\n \"9313652602769989376588055098225963628740760293885892749636503448455620731204\": [\n \"6266432445584408839597110847921532061555057787692320262574067208845048871000\",\n \"1\",\n \"1\"\n ],\n \"20966442509309995722709283285437239140256069438827334732770348320711828630509\": [\n \"1176649596538452227565298022677775848188630915578769894146913995511041988571\",\n \"1\",\n \"1\"\n ],\n \"14047562900183570616936173856304895966978356936839791360427912051295173571699\": [\n \"6875511217931052129016570262690108352319793051304520216356417832279193880696\",\n \"1\",\n \"1\"\n ],\n \"16731676748955166866828461696641124202008048542999888028921830748884948165149\": [\n \"8738917756212188100757883727756434065903896181900773334525347184765352875280\",\n \"1\",\n \"1\"\n ],\n \"13901984786155670547858005600349842057108266870407829540974743760132425847614\": [\n \"6044112346134023819271228497323785932874634121133108966136640572288083854322\",\n \"1\",\n \"1\"\n ],\n \"20532698999565279582386258713511263471543350267814650213050237527414840749093\": [\n \"13901984786155670547858005600349842057108266870407829540974743760132425847614\",\n \"5086509839234807417713312409470286282676825598309992842593525267129714162834\"\n ],\n \"18778657908451667287224726588601286057860878866801273516188996033349689249293\": [\n \"20532698999565279582386258713511263471543350267814650213050237527414840749093\",\n \"0\"\n ],\n \"1767424343616296158843731348449153351193995472044430411529152734370025114095\": [\n \"16154506583066674105123329056623476940095710733996183103561537620608489331482\",\n \"1\",\n \"1\"\n ],\n \"19614369320466275301437847138397594982181515745637549360628433176601796245087\": [\n \"1767424343616296158843731348449153351193995472044430411529152734370025114095\",\n \"21639505199239209164436945591657459058977010048255389055387100667640537351926\"\n ],\n \"6411986172929407230150468510410159764245665821510281870454500506132124186765\": [\n \"19614369320466275301437847138397594982181515745637549360628433176601796245087\",\n \"0\"\n ],\n \"313866766755032442127784153778859603709232155433408982494093182036593059924\": [\n \"0\",\n \"6411986172929407230150468510410159764245665821510281870454500506132124186765\"\n ],\n \"16121666970373783105193813832438575644029506160141048698051938667372379407220\": [\n \"7465259848695893924381320712487007388681169453632639216959495338211965463493\",\n \"313866766755032442127784153778859603709232155433408982494093182036593059924\"\n ],\n \"8961201544972873398925955699216605905354246084276675388158428854258860487464\": [\n \"14077463434590918401675382249453005313885424244215638457465952077199705026548\",\n \"1\",\n \"1\"\n ],\n \"15211472014359032543313408126012939229652761476635675453953323479797921810503\": [\n \"12903953439793543477123832400434495531221280492559811057062103642113927774385\",\n \"1\",\n \"1\"\n ],\n \"11465160474945715933694628899672445498777056750739755761952506271571734816259\": [\n \"21864665702149463188991831419497799232094457193222505852817044035115807304566\",\n \"1\",\n \"1\"\n ],\n \"20221481129747652007390729528310637183693156694829377559849634421907646845720\": [\n \"19125943699290697911835356875071680938781099210917544736188173860093817278982\",\n \"1\",\n \"1\"\n ],\n \"8446458810840985869240244384370113755441526417313002536301892636697342801160\": [\n \"7957394529591300865848927863616324505383046333694305564062153855826437126811\",\n \"20221481129747652007390729528310637183693156694829377559849634421907646845720\"\n ],\n \"21873313104600061108364283633326779471755893604176273930961685094569203905051\": [\n \"8446458810840985869240244384370113755441526417313002536301892636697342801160\",\n \"0\"\n ],\n \"1450749527251329980167694264590474389068950181531832546844948388665312419941\": [\n \"8933824325639441590909165581644814641295924303992947295580011205615122185693\",\n \"1\",\n \"1\"\n ],\n \"11213749409295204708279123344521099889788682488853438759622575340745071659280\": [\n \"8218912791827346632123323712164218673409150436895900950120279643700203951294\",\n \"1450749527251329980167694264590474389068950181531832546844948388665312419941\"\n ],\n \"2964742486395478860221706442571832607899490131776857110993427358585480385686\": [\n \"0\",\n \"11213749409295204708279123344521099889788682488853438759622575340745071659280\"\n ],\n \"10834424131460553798187284561006679690082368958970533346747706932224992300891\": [\n \"16518475955855251459534451358140021331741263700377005190224694545293293513632\",\n \"2964742486395478860221706442571832607899490131776857110993427358585480385686\"\n ],\n \"2298236879829578005139130551905754411319428055424100876729882809587201816453\": [\n \"13798270624276315154217417691228769478825714092548328507424963281845381902465\",\n \"1\",\n \"1\"\n ],\n \"13925725315285458808051300713623997621990180308038153932709011281423569485320\": [\n \"4410403290574660177366600680351840976959733444624001253201078243962125255229\",\n \"1\",\n \"1\"\n ],\n \"14230790437046102318150677556036005179121107453876335094545806115994659545636\": [\n \"1130726372348932966085536734810689833648543054840503598388959708942009430284\",\n \"1\",\n \"1\"\n ],\n \"16590663930808314944232844232709384535106989640595538025446038120283375865444\": [\n \"4205575127799484994027839880915308942992971866542562069465645470822783626612\",\n \"1\",\n \"1\"\n ],\n \"18573315201635197658962785411975081171468049684086514420310879745191006243199\": [\n \"11971537466967774841940434775349763233753306990900561962148359144113608153223\",\n \"1\",\n \"1\"\n ],\n \"13597089176498456407363815330803991403088747556699133725963026923939887994090\": [\n \"20496017701272004464839717479135750618705439265587848312157617639836148851619\",\n \"18573315201635197658962785411975081171468049684086514420310879745191006243199\"\n ],\n \"14366288078233512686120748976281460526214292081496505713015406308786861373495\": [\n \"5926947349778662164012376989111306390126176941827102871896044378978252201525\",\n \"1\",\n \"1\"\n ],\n \"13994159736589004143721630343924795964886941782123750655104176836575436228054\": [\n \"11641695206547363036947115317697928152820376169950364165337609839683770667609\",\n \"1\",\n \"1\"\n ],\n \"9215295273123954618763779827389472055105016196333682705784924260843298109896\": [\n \"11356732385615621804636653005737804167025972633392948448101632434248548390773\",\n \"1\",\n \"1\"\n ],\n \"4779807459416347417069939312908247966033747967983834001702587550655872676124\": [\n \"1653845350473711590646382006162973615975709155356017416529972127686944791419\",\n \"1\",\n \"1\"\n ],\n \"11671729593204975698551146898956913298398936531434549170009614905850452201287\": [\n \"4779807459416347417069939312908247966033747967983834001702587550655872676124\",\n \"19128831851231640484199423638018930739424394231095632477063550484199371482150\"\n ],\n \"11354445722548137114399252024411020734938495696978425185963122390860573038773\": [\n \"0\",\n \"11671729593204975698551146898956913298398936531434549170009614905850452201287\"\n ],\n \"7074497925480033602229409524852448438000448258561554900719809664602441668897\": [\n \"11354445722548137114399252024411020734938495696978425185963122390860573038773\",\n \"0\"\n ],\n \"10132989826698557895338914032458699599131830671331577484659736059902973811310\": [\n \"7074497925480033602229409524852448438000448258561554900719809664602441668897\",\n \"0\"\n ],\n \"16159370448545408827192261982267651643310937047214327515134620258558273504247\": [\n \"938864726889050610417485903040836997895020039984132989662697069493646879368\",\n \"1\",\n \"1\"\n ],\n \"20199200941934687219215086585551351515000551071556172991127018702610008434050\": [\n \"12776299263996281519583898657151275890671335450774075867418901698000589802110\",\n \"1\",\n \"1\"\n ],\n \"4393629341481321456216747793917668307281339889469504020686653305008064213795\": [\n \"20199200941934687219215086585551351515000551071556172991127018702610008434050\",\n \"6489278523920468143788340865161186957163688421121174275578499253200763997458\"\n ],\n \"1766065958669192161231368532595519163302667243109304330870828897773776733132\": [\n \"4393629341481321456216747793917668307281339889469504020686653305008064213795\",\n \"0\"\n ],\n \"1998754031706707491244624140146986393760719248370175218318668473303182617941\": [\n \"0\",\n \"1766065958669192161231368532595519163302667243109304330870828897773776733132\"\n ],\n \"19742450715078386793245570283619365745129742829409011998171757886530876514239\": [\n \"7678069648244911465345448558238863186717402763698492374582799089411143516032\",\n \"1\",\n \"1\"\n ],\n \"4831681037378618131244970009391477204381864510519194378888252579943959555558\": [\n \"11877359589264801620243667548480090484580538328704939511140515256440545456613\",\n \"1\",\n \"1\"\n ],\n \"4580660635851585106627301157000213643902587645592769850867843705449242505323\": [\n \"2868457985281382544103670652926276569120214189351860770046359065469717224104\",\n \"1\",\n \"1\"\n ],\n \"16582293713231916878947563066521138755156217819588363858050718811209210726786\": [\n \"4580660635851585106627301157000213643902587645592769850867843705449242505323\",\n \"5736989731182102111838842875406037217337635578664961317097858207359212251042\"\n ],\n \"4100794760571671842985079174383561790752536843107344157595300747818380248517\": [\n \"0\",\n \"16582293713231916878947563066521138755156217819588363858050718811209210726786\"\n ],\n \"3416870099781235059147502272128111487883255963961640363847090248398917293084\": [\n \"4100794760571671842985079174383561790752536843107344157595300747818380248517\",\n \"0\"\n ],\n \"4595675533740526920641799185005523698880729054279004016521021705052971111213\": [\n \"3416870099781235059147502272128111487883255963961640363847090248398917293084\",\n \"0\"\n ],\n \"9557161457672731047701214698014526365223850386295121354583285609356022399707\": [\n \"0\",\n \"4595675533740526920641799185005523698880729054279004016521021705052971111213\"\n ],\n \"318792763629932771034380744591736147258172735961566509441269960742255280921\": [\n \"13526510764975747300684122146978005164497953249433065918129415948409617573964\",\n \"1\",\n \"1\"\n ],\n \"17078322372732456685492506276355248475405726613588666221614082031438656794451\": [\n \"16005056032297615591258973116366801962759074776120674498684447371054877914485\",\n \"1\",\n \"1\"\n ],\n \"21489228784124253991128819184627319896518394554210899217098146858067348192687\": [\n \"17078322372732456685492506276355248475405726613588666221614082031438656794451\",\n \"20922530786937332804074677930798292435400817899445481837351844364652235125286\"\n ],\n \"6335569541547294700092199759036195614307780076052086132028452664319762951094\": [\n \"21489228784124253991128819184627319896518394554210899217098146858067348192687\",\n \"0\"\n ],\n \"5611782594208122650446103957037283368936066444061426983717263190549341063186\": [\n \"6335569541547294700092199759036195614307780076052086132028452664319762951094\",\n \"19014603162291420185435644652496416741539400848257957601199633871347814081820\"\n ],\n \"18084121552573891453918317762833652859091697895270202904567663721600629671380\": [\n \"0\",\n \"5611782594208122650446103957037283368936066444061426983717263190549341063186\"\n ],\n \"15666589972796226676579103023130377642561151644160875829253379150750489708046\": [\n \"18383548205993345054388179822558642554460862022134714919110609338753188446736\",\n \"1\",\n \"1\"\n ],\n \"10655136973152968264611258129689139176423301162230662338792229989687851970269\": [\n \"6186395604636028091174052551049589021026175214178749387574613098888141957154\",\n \"1\",\n \"1\"\n ],\n \"18961598021460674508968635591574398709353670140093130099218088313981341096601\": [\n \"4285449492236941160474419182134656520665400593949086432439805576440668637644\",\n \"1\",\n \"1\"\n ],\n \"10508324551294227761684897482672312862973421523611743346828504096019899684404\": [\n \"16270762620908394851159295492072123609691316472305411046107105460566374436175\",\n \"1\",\n \"1\"\n ],\n \"14183992459717513464821717067448683523648932071074874244803095517375827290264\": [\n \"10508324551294227761684897482672312862973421523611743346828504096019899684404\",\n \"12261727164936159621755201749298985409060049985783785489651080092431534309893\"\n ],\n \"3119380487862881970203733151710018682367417750466784624651211569217404862242\": [\n \"14183992459717513464821717067448683523648932071074874244803095517375827290264\",\n \"14942244434039604570678799826372119750552993709308487684316083809888885106235\"\n ],\n \"6557870835702014390356233633152442021518754898149503976748788937736517905606\": [\n \"130878068179629610335095934154034084744062718362360377956182133709655330463\",\n \"1\",\n \"1\"\n ],\n \"4076770562180126181505779736508751066175795259700744253667712749888872237232\": [\n \"6557870835702014390356233633152442021518754898149503976748788937736517905606\",\n \"4927753395225886034759672979693113235988591173003285950332389861709171306903\"\n ],\n \"6296905992315331326545186567365935274052141434727883213836399118960722586815\": [\n \"21258350265059710978851922940189202485059080113549957980715527005893297374506\",\n \"4076770562180126181505779736508751066175795259700744253667712749888872237232\"\n ],\n \"1405452258250900623204210428913573776246715414457270791823267230529948569971\": [\n \"14061080233357781922854015093561990545849082849603073362258414257334574369964\",\n \"1\",\n \"1\"\n ],\n \"7944633453916606725830283964678924383688246665244270253330962118474934823835\": [\n \"4099827551646030287827045930968332250289238652301777970508419742050499413404\",\n \"1405452258250900623204210428913573776246715414457270791823267230529948569971\"\n ],\n \"14453497507362262199313026799854799618839496980335368352325948742132413342595\": [\n \"7944633453916606725830283964678924383688246665244270253330962118474934823835\",\n \"0\"\n ],\n \"7961936050824769775694884440632572208355746210362748058535336594951554804784\": [\n \"14453497507362262199313026799854799618839496980335368352325948742132413342595\",\n \"0\"\n ],\n \"21524948619538592635181798938985321287031005333255326757401612598439443099634\": [\n \"0\",\n \"7961936050824769775694884440632572208355746210362748058535336594951554804784\"\n ],\n \"8339150999261906337472363820378889585222503127464813175613870789091459907769\": [\n \"19093656559125997802083675776585728151300816012636433510650294542584199495901\",\n \"1\",\n \"1\"\n ],\n \"10548114706226440665203551812910024973804671809702027478577294950018435782345\": [\n \"6010903050037055295038723371936519259145937555691548937682632962155518778648\",\n \"8339150999261906337472363820378889585222503127464813175613870789091459907769\"\n ],\n \"9589579046498563895090362665744043391510890009947002410371313059815113288865\": [\n \"10548114706226440665203551812910024973804671809702027478577294950018435782345\",\n \"0\"\n ],\n \"13806284123904051572487381135048849700478938547524053656426435979142284970720\": [\n \"9589579046498563895090362665744043391510890009947002410371313059815113288865\",\n \"0\"\n ],\n \"11372398584166411557586173277818079330565017216021021682994346990571740291238\": [\n \"4934344546163021127544628737363814285700412261159664670261858767396767974731\",\n \"1\",\n \"1\"\n ],\n \"8997906500057682382446137819198122904891896566269372863749027869925657676285\": [\n \"11372398584166411557586173277818079330565017216021021682994346990571740291238\",\n \"16185076022229938095237607908527477765987854697720502262720985739316507339173\"\n ],\n \"20928862718908317371730260018460394789051312891830496064151920775522050701298\": [\n \"2685620785283416615659297224962366883042410043015149720390684918142111866731\",\n \"1\",\n \"1\"\n ],\n \"11646977877666677134328457287261263959392874076948941100882151833820011557172\": [\n \"7327841061958375701025560975147340414108966377964507005929462947928724828384\",\n \"1\",\n \"1\"\n ],\n \"827955546416252497500642790428916981365906955468439006968564263911503412096\": [\n \"18006630078981633195012283401778787312814852900266976707528724176733251153405\",\n \"1\",\n \"1\"\n ],\n \"16553724588863002946168167553463432577761052957228505863274568892588344127360\": [\n \"827955546416252497500642790428916981365906955468439006968564263911503412096\",\n \"7393423363962939106872941339821936870925762063288075095986376920878644251099\"\n ],\n \"11551048419146636037513467456642620729164361760478544870788050208677609055396\": [\n \"13292318563834796957149810649924303903613108078892876236609950079946431798738\",\n \"1\",\n \"1\"\n ],\n \"12006932109039896248956154888110993859200271432831088515159556520699833615860\": [\n \"11551048419146636037513467456642620729164361760478544870788050208677609055396\",\n \"16187833295278128106435130503961146763279333339890817812864725585353254350478\"\n ],\n \"198219152817326516082186039222491926451065100892207799033737845906963024627\": [\n \"12006932109039896248956154888110993859200271432831088515159556520699833615860\",\n \"0\"\n ],\n \"570622335134818773743825840709753937314466826442203044867416427994383411830\": [\n \"198219152817326516082186039222491926451065100892207799033737845906963024627\",\n \"0\"\n ],\n \"17826042299131748013438395097832462766160059702165917540033710114021581545376\": [\n \"0\",\n \"570622335134818773743825840709753937314466826442203044867416427994383411830\"\n ],\n \"4918513200054366977270238345214404867619499214531733021447949652318899824875\": [\n \"1715137045407229787957435624428186231088693307911242296018491473509061622174\",\n \"1\",\n \"1\"\n ],\n \"16255197119000102976777905734448580892763657165416644513732353281999039958982\": [\n \"10789658647920748741752392666624475234583000204181318977436045003840131480328\",\n \"1\",\n \"1\"\n ],\n \"9807987487194680600140608938070543784092394818003606622375008775613653934470\": [\n \"2131042060786288217336538842274397649681835973209571161038619721974135920375\",\n \"1\",\n \"1\"\n ],\n \"2779863442610758829274466557028607747393292162686343276876416847165923668319\": [\n \"9741940015454966673617528686052364121604368862596208992667934205510879820739\",\n \"1\",\n \"1\"\n ],\n \"11106013884016702144587008589853467314622648548020556603816536364448444364230\": [\n \"6120441011545911040233375984829213091550888308635299888150174702891042350782\",\n \"1\",\n \"1\"\n ],\n \"9208839010863308369761592742760668249619758873040968389266515517811023108770\": [\n \"8263101289712036689520878411427651743323179361503235228994402834516407460123\",\n \"1\",\n \"1\"\n ],\n \"5069986228293100189416122250274883224971987212477629580645527837651158681919\": [\n \"15597178746917005985397715727579135163773187986914818771238579716534361728984\",\n \"1\",\n \"1\"\n ],\n \"4012029840245204490438926780747728860835818121212068270718213429882433099627\": [\n \"7068121698939415661402063197766054886980101310835253499813692701451857291404\",\n \"1\",\n \"1\"\n ],\n \"1939816045321462760508767151775239280023961036251502283981303025973662636636\": [\n \"11087970769420761112470736527422296041023312108252174859202595220228333130030\",\n \"1\",\n \"1\"\n ],\n \"2401262973133534912469780991491702082187483909858821364503068551101487363737\": [\n \"15427019988227831855147488429602852288871252012841216903470095110652598257226\",\n \"1\",\n \"1\"\n ],\n \"12250258753121710060958372250369794327146190474736470260454523970926773082611\": [\n \"2401262973133534912469780991491702082187483909858821364503068551101487363737\",\n \"6704913225863405144062303360995515309302224463564489058829748027887681044430\"\n ],\n \"5947951306745955254009707154519473981988047742937971722293916484012027397798\": [\n \"13768937009855641548015706242879590528871167578178167596459303620099802857190\",\n \"1\",\n \"1\"\n ],\n \"3037287099198806856929434736404983099647785409467971769010111959386351109374\": [\n \"3771902206048269847026975540668958769257175093251696783822191684387274034402\",\n \"5947951306745955254009707154519473981988047742937971722293916484012027397798\"\n ],\n \"518292112733164969061009129384359045227830120678916638915134442522717967474\": [\n \"0\",\n \"3037287099198806856929434736404983099647785409467971769010111959386351109374\"\n ],\n \"2661811875051859262796161047167215011881168977498648358226260101077661254432\": [\n \"518292112733164969061009129384359045227830120678916638915134442522717967474\",\n \"0\"\n ],\n \"5020728723341564675612500103802415818068458620608291932804157772979317240455\": [\n \"0\",\n \"2661811875051859262796161047167215011881168977498648358226260101077661254432\"\n ],\n \"1316313185207916890904049165866258131826701952943224420523584349345036210516\": [\n \"1853216855128355638938583230799089819390613926834555389340026847207277608927\",\n \"1\",\n \"1\"\n ],\n \"19049438896411311226905617976827313785197018635753599132477709375926995151211\": [\n \"9406741346741536954763015782155959707434325998646321830691079656499409517473\",\n \"1316313185207916890904049165866258131826701952943224420523584349345036210516\"\n ],\n \"11267676558176212318357916858953054963142695203474622152644497265756743384198\": [\n \"0\",\n \"19049438896411311226905617976827313785197018635753599132477709375926995151211\"\n ],\n \"17947984981366863727430188248484216581379472712048648085024000484417492977853\": [\n \"61881907694648528392353908726422780997095438423059149495877995002252180737\",\n \"1\",\n \"1\"\n ],\n \"17205722052970972061436185820927605045732559880862058541684116367574716353753\": [\n \"9106131888692297911688205938652895905005870160370832949665932043140960843774\",\n \"17947984981366863727430188248484216581379472712048648085024000484417492977853\"\n ],\n \"19229090466693511872082693140008529747330909960295983729763006665008904712662\": [\n \"15104025718631824505292717333856150251447485724107076186492541182350386536868\",\n \"1\",\n \"1\"\n ],\n \"13080682926699457707285435479423792553568985689192139658534945916673456125655\": [\n \"8857319773293204861361615415708681820931627621986291778949869136974725284658\",\n \"1\",\n \"1\"\n ],\n \"3063815581666298736644243095306842638312104123129244888490015470488650789905\": [\n \"6017347197902430907566113678704408260384390979595220044827202137118139751912\",\n \"1\",\n \"1\"\n ],\n \"3392937652719656927712471663988240171598242300001231584330888666016726361090\": [\n \"846334147450658843401314283996653917051601080379070903240290902038955655961\",\n \"1\",\n \"1\"\n ],\n \"20970752275670120794415071069492464612897868268861557606224735886650362936521\": [\n \"17954819202315643434943398229326994446572731435491560958544030535782938963917\",\n \"1\",\n \"1\"\n ],\n \"20354727128111773251058599964692578427844263236470183287621221768737364723507\": [\n \"12722874242434515404255842487237363393312441514888056272802491881083236182316\",\n \"20970752275670120794415071069492464612897868268861557606224735886650362936521\"\n ],\n \"14468818944154368983511899824523817255982341660070433517658932094726266730232\": [\n \"0\",\n \"20354727128111773251058599964692578427844263236470183287621221768737364723507\"\n ],\n \"1206299023268888809726852291411525385892387897797877293859483076540343960675\": [\n \"4270206751004559369072634117273638241263307889237034036113247811201049375140\",\n \"1\",\n \"1\"\n ],\n \"10199325648644261875977984427131237966623516831901583010362078228309099144999\": [\n \"19229090466693511872082693140008529747330909960295983729763006665008904712662\",\n \"1206299023268888809726852291411525385892387897797877293859483076540343960675\"\n ],\n \"18455821090969491215406461116228729629805046204189116203020592636173993817186\": [\n \"6709027032845964524051460248654717068956572519536129561782681099853734568224\",\n \"1\",\n \"1\"\n ],\n \"8652629450536588965998644494515957794226135266353977319149989347976590245071\": [\n \"2926076456513676474236017769287234363082726742003728275601225485897258106426\",\n \"1\",\n \"1\"\n ],\n \"53159579704897952011946994315553865202591050596870005994346694376855978835\": [\n \"19915350201729550338657347175009742941280460183812132760301847964346437584262\",\n \"1\",\n \"1\"\n ],\n \"21111243409969111142722809532775539071292933311178906323509619930535690613354\": [\n \"6683190989514585521993352743546230831243108314935031986161475120177020450767\",\n \"1\",\n \"1\"\n ],\n \"5027512466578206683579742799782112756633411724898849254437823955786649954570\": [\n \"19853790120537165863568130453050397899042298901146803760171023832014485468714\",\n \"1\",\n \"1\"\n ],\n \"16634589125077330731354382889341808532259828313859842466114454408326028607613\": [\n \"3454834784451623017222987732733348840990457678419381459646861287390651221962\",\n \"1\",\n \"1\"\n ],\n \"12931374537219825452979601320128425278112512551394108084393469999454631587760\": [\n \"16634589125077330731354382889341808532259828313859842466114454408326028607613\",\n \"3960594624008378526872547594557974542740491704395299784979749324515477885762\"\n ],\n \"16128491100507329447072602912916572601749193030530996093656554236453982646663\": [\n \"12931374537219825452979601320128425278112512551394108084393469999454631587760\",\n \"0\"\n ],\n \"11269043375081746400574585122017115296477866231772364255003501596953176505998\": [\n \"15457768178333516618398894817270107451863314230992541048672241735762231095583\",\n \"1\",\n \"1\"\n ],\n \"8782631993077527815152034480122282909209828943661228660026891646961265095874\": [\n \"5702132717669091613855644600734013683006227356208206686244153003390942428788\",\n \"1\",\n \"1\"\n ],\n \"14855772113919498841871764534622204593500482611759132084985817414341031725051\": [\n \"11272900110165976350974527663553841922905922848546887164869560394011442457858\",\n \"1\",\n \"1\"\n ],\n \"10402893129086595770411342175625396921387017895825679992318411660073923865754\": [\n \"7419159645704571618958491311903308816111263883705824984508437929853036508493\",\n \"1\",\n \"1\"\n ],\n \"15107207449572554188956074722485771217830688154756484699686411266502254698934\": [\n \"16870386123505487188913370358511202135494666871166717401854587184619646779983\",\n \"1\",\n \"1\"\n ],\n \"20331859581705442358114795759027897267831264621357652650581355807956402304999\": [\n \"13026780397844776020010947465528356283476578881406695834945402363606611356896\",\n \"15107207449572554188956074722485771217830688154756484699686411266502254698934\"\n ],\n \"13404888185484127698983271666007180227089874581020699766768958375673293136293\": [\n \"20331859581705442358114795759027897267831264621357652650581355807956402304999\",\n \"0\"\n ],\n \"14762938942710219622375433164426728756186012579788156987202206770902130078951\": [\n \"13404888185484127698983271666007180227089874581020699766768958375673293136293\",\n \"0\"\n ],\n \"267106435460634618265703726851101203256484916472616274822189492692781578821\": [\n \"14762938942710219622375433164426728756186012579788156987202206770902130078951\",\n \"0\"\n ],\n \"9757292342941230234343309782786038588837824369934075151435441975967689057650\": [\n \"8009043111437237690720644769602330949809868602382469106244733080924202300805\",\n \"1\",\n \"1\"\n ],\n \"10663078131314894314299725544622467978120298923370195577833133616313393885159\": [\n \"20854644393131296341564610714879939160404493507452157688438188202812565303640\",\n \"1\",\n \"1\"\n ],\n \"15264885021345772111741277776595347916671521351946337516154761422206749594866\": [\n \"20923690375167634925640166855534807482700112562569110179260785270848234575077\",\n \"1\",\n \"1\"\n ],\n \"18863800276663667239968492359253441256862614882943122557627479385313125841911\": [\n \"16141689786735621026765513557917460671192830047663867284676687160658960549807\",\n \"1\",\n \"1\"\n ],\n \"7514451349482996431426443902770691751711504518389185180724785585883847716394\": [\n \"9274873004620640416745948657082304929821322439838099876007475643595556127973\",\n \"1\",\n \"1\"\n ],\n \"14147264396636552670096491012640949993454068375922604866804488695033771984861\": [\n \"18226362810655028262115050535921164980302710295250209259863129194554776978114\",\n \"1\",\n \"1\"\n ],\n \"6787711262243374919958316388424231873144412352977773342815073273007724669003\": [\n \"8168483388486226979246766514090273564785126670042722205747803566898918871843\",\n \"1\",\n \"1\"\n ],\n \"14893773206142272964564184561097453090145401602428401969115292390530909227390\": [\n \"14922581463465095672406972287337840449483973226814243012006040635905310124083\",\n \"6787711262243374919958316388424231873144412352977773342815073273007724669003\"\n ],\n \"4293141309627499668989948470955926833723192267221703934946341024059938659599\": [\n \"15411498421703402926394556819455327818877871244585155686526855986139492537082\",\n \"1\",\n \"1\"\n ],\n \"20038776233088985156015462241916577121067636217544561349217685185608825107756\": [\n \"21024238282640214331538872472071791123007935930157044302817702130790240999077\",\n \"1\",\n \"1\"\n ],\n \"9367440986560059373299559045592972862338403104642669783254933421741604000776\": [\n \"19780884318872108852055818299315387622452122849074999446329285298717057215225\",\n \"20038776233088985156015462241916577121067636217544561349217685185608825107756\"\n ],\n \"3878492135302126862750787551708172360237536193304577645924667101205581476547\": [\n \"9367440986560059373299559045592972862338403104642669783254933421741604000776\",\n \"0\"\n ],\n \"14821336610532656308357007810744285538983223237281114933224900158859562318265\": [\n \"9590615294639801063538908431085097270730836453446990843956701146224678885162\",\n \"1\",\n \"1\"\n ],\n \"9061168219859579641634110656122998804073293930709307473139667540624214343727\": [\n \"1676769145806687182924492855385907667032660885511912315060795251972453666512\",\n \"14821336610532656308357007810744285538983223237281114933224900158859562318265\"\n ],\n \"17368339637732817910557598519329634026940964294956379446688586431866887776768\": [\n \"9061168219859579641634110656122998804073293930709307473139667540624214343727\",\n \"0\"\n ],\n \"19665100016677116118594868834977355881882507684530253495238917724162220481574\": [\n \"18300098116030422431858817876367391706763118177406953098443847547442299755873\",\n \"1\",\n \"1\"\n ],\n \"15613874683857490917280567588404576426280168676941973424643683493270179256535\": [\n \"7846856864725479075663067066645804302072348678512813271820947697689809173031\",\n \"1\",\n \"1\"\n ],\n \"3764733441019061679172728206344739399578957650272324394916745073492861423300\": [\n \"15613874683857490917280567588404576426280168676941973424643683493270179256535\",\n \"6912118944663377959266217779866534473374742313730097074273239908085673180936\"\n ],\n \"4350942451973770708880366453616988377525064284993387808137985718061339523541\": [\n \"0\",\n \"3764733441019061679172728206344739399578957650272324394916745073492861423300\"\n ],\n \"21460333289114742504739423892038025407424795670911620045035904143216519241203\": [\n \"13129863211807638102795051364967970022282666147727521285665828535849281089788\",\n \"1\",\n \"1\"\n ],\n \"19300845913389511899860683940584645242762905308123836539483294445051169502550\": [\n \"21823045324356014970442443352673915519828229215176468675090428725235039124273\",\n \"1\",\n \"1\"\n ],\n \"7321279064162345281462452748453863534234057394724283936242690780775230192805\": [\n \"21112194614735253425884087702879628185004523686862596714291658860664609165987\",\n \"1\",\n \"1\"\n ],\n \"7740767893833978577053444829419293918733847075064557798249456352991579138035\": [\n \"15197805479835775764242882952274674782370226664666338091071458788024346183260\",\n \"1\",\n \"1\"\n ],\n \"2908048945198888495700255301147710031835004688860288295320589497277620651769\": [\n \"1318485884083578902178893689442925505964243101709923199527360438686398321120\",\n \"1\",\n \"1\"\n ],\n \"12755526772811511424352465907884207193180525329202467010832989222662606891112\": [\n \"13569849568103969665233034772495097505329943110104134252117551822063965437708\",\n \"2908048945198888495700255301147710031835004688860288295320589497277620651769\"\n ],\n \"8774271050106452525393675822385992188924352773455709992319735820366419632163\": [\n \"12755526772811511424352465907884207193180525329202467010832989222662606891112\",\n \"21690230533603943505867019501985605422083945202316517310805267685943691218990\"\n ],\n \"18331056233106597626720182477674940453087983607243514213984493896847166286113\": [\n \"14721537250408020360986281192451510266035547615735088090245648586311723161199\",\n \"1\",\n \"1\"\n ],\n \"7249300446042270979448033423683100103980592200151716177199875665381943876940\": [\n \"8410334987658261643749707266914616555370674253062084610548861581825524343838\",\n \"1\",\n \"1\"\n ],\n \"16843890141296952532719773892390642491703433844281883539012932995653483890679\": [\n \"18553487581917150828462619283716378061336897052822783174225748612848175959685\",\n \"1\",\n \"1\"\n ],\n \"7387146428213901157345089654924357008401656869306147351855274438266160906745\": [\n \"18933826377807577470452380750410671342652000668830474102924145849321865125164\",\n \"1\",\n \"1\"\n ],\n \"7474667214610157831550951380502543480554139937513521209084880100092029088701\": [\n \"19502254276317807247852896471104158569617925623230393374384620619734558069840\",\n \"1\",\n \"1\"\n ],\n \"21687094494629774222871871807423306417212708503942770902648100318678227963715\": [\n \"2542006510138795078103807533061702668431447860981125244659027232153563697413\",\n \"1\",\n \"1\"\n ],\n \"10552609766375036575121917268295953839014811788632212756393835682827684309369\": [\n \"20790990006814116644582019693381332037871521820327854807963114132663762138464\",\n \"1\",\n \"1\"\n ],\n \"19782247863918524115799986509222698176523422957360846386187587035591769089277\": [\n \"425228992876256388048146924738076443655552643387130921952034106727378674000\",\n \"1\",\n \"1\"\n ],\n \"13706863326760024504468420037864071104137032312808856261123636313896913028207\": [\n \"2742972774224374674959541658513430617959924708876015821919042443852050450043\",\n \"1\",\n \"1\"\n ],\n \"438726588382400089407971984319982551622455007435669690132250895241382225295\": [\n \"3530617478784249440036062547610734517652471538848091042188073031987681198149\",\n \"1\",\n \"1\"\n ],\n \"4038823566009129455077979230765783866920011152102835757839201771243390825508\": [\n \"12747283200093289966615792781294837805238728341287573150052487273359031408925\",\n \"1\",\n \"1\"\n ],\n \"3754157919702933558482089789042529683837668918424865684768355449878815731758\": [\n \"16001493734115635761204588496746950186227080961422138252051085854035779370313\",\n \"4038823566009129455077979230765783866920011152102835757839201771243390825508\"\n ],\n \"13962542339905470622525664467648783441788868023630967545419044636006345479890\": [\n \"9400198361367779274293095976828719106586127643606416612873430761511508916389\",\n \"1\",\n \"1\"\n ],\n \"18595271815132371174684938590922243222667746847410736689417487478467189545752\": [\n \"14861654316533344704393721900667633692311592368865413671048287539727190293483\",\n \"1\",\n \"1\"\n ],\n \"9459952763559779423754543425744994734536929222557671677448341729508240552199\": [\n \"16013574185350084872666406336373375317664246759249687239905898199476470844182\",\n \"1\",\n \"1\"\n ],\n \"14704813245004733364789691573323507239855301785061254288819250940221553318426\": [\n \"9459952763559779423754543425744994734536929222557671677448341729508240552199\",\n \"2036646716001814839373302270385976218962561243019439608909355702734757453789\"\n ],\n \"18332690982507541504856669489205017932716569599043902602454815241797290275159\": [\n \"14704813245004733364789691573323507239855301785061254288819250940221553318426\",\n \"0\"\n ],\n \"776701473749239364978589436258128913976313676170367149890752663672916145354\": [\n \"21279829495656203566742843550585340349744735917625920377040244098455308795424\",\n \"1\",\n \"1\"\n ],\n \"9729713301225340366943738023582334223605065311940286781731641248350786486849\": [\n \"21622884239288426194120451722946781699457723466516345880799946972435825236400\",\n \"1\",\n \"1\"\n ],\n \"7583246967794215112498123841601668507014538635089801446141825207606311129022\": [\n \"7635855621860785764087566780896753297834207011806432498904598821843983504768\",\n \"1\",\n \"1\"\n ],\n \"11455046393426991967230021529420783940681543562784526426061512349524054053382\": [\n \"4620518449388974430496350966839857836312225543405744670848935597795130290923\",\n \"1\",\n \"1\"\n ],\n \"11888319278369822618365080873015776584492234812300109871179987967927017824685\": [\n \"15147320276290589738934906851980072247685558921299256721317122474350155431055\",\n \"11455046393426991967230021529420783940681543562784526426061512349524054053382\"\n ],\n \"15415790245808767409746147329621869694151451353526995068091897481153003928105\": [\n \"14339831427131946340164887214563024626134584501218766413469349262928760302831\",\n \"1\",\n \"1\"\n ],\n \"19974100237136544018707660810428197723784468646130486252110003950077323527402\": [\n \"15415790245808767409746147329621869694151451353526995068091897481153003928105\",\n \"11944267933907712894826118266078238728876361225936058889214171158457449307801\"\n ],\n \"13894605034687605606551230382270025216360144005612669395375763862865284150828\": [\n \"19974100237136544018707660810428197723784468646130486252110003950077323527402\",\n \"0\"\n ],\n \"14530070709330026271215805129197137465016230798376368909860363321703914644574\": [\n \"0\",\n \"13894605034687605606551230382270025216360144005612669395375763862865284150828\"\n ],\n \"4616883253520836128960047470858451396927313523079336854839112326894932029900\": [\n \"8092592061853260524460998172722055779450292210396814642129465091458600294741\",\n \"1\",\n \"1\"\n ],\n \"5248392879471030278189494760474135203358190072832264201302662385821176100406\": [\n \"8253632461717788770626097334252995019043946629060719346977503931277070849344\",\n \"1\",\n \"1\"\n ],\n \"9309483617399151081097270450064911822415804528497996245690331684613529110077\": [\n \"10945596092333654798693775160489476240255674683955118324689347101478305303504\",\n \"1\",\n \"1\"\n ],\n \"11515464027204540717562465567270132100423839241798292928385792386071325292372\": [\n \"9309483617399151081097270450064911822415804528497996245690331684613529110077\",\n \"2963635382346026274975868999979812872089556196152464747157114389421895102102\"\n ],\n \"14266986487225350603127137952479316058909718177411368699926205698055831798370\": [\n \"11515464027204540717562465567270132100423839241798292928385792386071325292372\",\n \"0\"\n ],\n \"2569867771833925265447652108781319376009689289541237648104465480166515777238\": [\n \"3755415774328402596038545898901704209011813889962862911431289182154752525007\",\n \"1\",\n \"1\"\n ],\n \"19848440788244772102769967690069335588989988144408296770240192319813240908069\": [\n \"2569867771833925265447652108781319376009689289541237648104465480166515777238\",\n \"3513742716596042217378790264914675483069765471386026832245876366047260110131\"\n ],\n \"1147280336596978099178700684476606710868948725511565722449614488212922946431\": [\n \"19848440788244772102769967690069335588989988144408296770240192319813240908069\",\n \"0\"\n ],\n \"770890950751196335553475091769537229445838507847741913128308036847957838571\": [\n \"1147280336596978099178700684476606710868948725511565722449614488212922946431\",\n \"0\"\n ],\n \"15658536002832536383468587433806345586542771956189085359297555955801732620083\": [\n \"4787475557429397148758205932312407885905519278823888675642075843743147706480\",\n \"1\",\n \"1\"\n ],\n \"7065820029198690293902125485236801453673514692795984758181679404033654878119\": [\n \"15658536002832536383468587433806345586542771956189085359297555955801732620083\",\n \"19826611935523444711049514609435399230993288219947703383494360247723242460866\"\n ],\n \"2078921339575638259085973234048335361436718779318729440454333876800763446401\": [\n \"247411807606965365335860585375993032171902919038177494647739577318303556305\",\n \"1\",\n \"1\"\n ],\n \"15064850380661413330472179898526672066219916700795466485694762778672020644019\": [\n \"15904843741985903570983142318153747020382000553594570436140536052948716870551\",\n \"1\",\n \"1\"\n ],\n \"8970142628928063202238767027546471109096553064739811598238929408284159892053\": [\n \"13645475940502496320074432686212991610972565809598427885625116878824067041069\",\n \"1\",\n \"1\"\n ],\n \"8167648943471994555189140057896967031034421318036760348720668262349428749894\": [\n \"3138093266278240793632320661756391579713442755021001819184026137410511145771\",\n \"1\",\n \"1\"\n ],\n \"235425682336180887658749189985263562641669379618587828646787494219765012047\": [\n \"9894334719371208126761625519333214022744742576003644701096184797764433017795\",\n \"1\",\n \"1\"\n ],\n \"16206958934170452444716153094781775506408906302502324553478414893004484738037\": [\n \"2779863442610758829274466557028607747393292162686343276876416847165923668319\",\n \"235425682336180887658749189985263562641669379618587828646787494219765012047\"\n ],\n \"9035373700795642304897763750708686791971325703852416220288869240297071114796\": [\n \"0\",\n \"16206958934170452444716153094781775506408906302502324553478414893004484738037\"\n ],\n \"18947303145068756128156003047684605320710972145873915932125148865910329490289\": [\n \"5198788279672814759959575043039720920966405028311140033405924863985157929685\",\n \"1\",\n \"1\"\n ],\n \"18212916254755979035990233336144989821409062216373352022998586592565189085252\": [\n \"21831065787366673999072834931804917842759175686807920251999034087062874200277\",\n \"1\",\n \"1\"\n ],\n \"6894173591086259454177957674476114893786570244886663369980859772466851017234\": [\n \"11781648641851101036456939227126998162804351339741220944431780770861378229118\",\n \"1\",\n \"1\"\n ],\n \"3073258367261491145630114201985243755304496397231783495789726863368274313046\": [\n \"14978256866126917351981846418191131440046464435161362805251746936960952379227\",\n \"1\",\n \"1\"\n ],\n \"19538957934231572526441346298987882143565239043383253883825755806185065625325\": [\n \"17989433027032549993996826463148824296749989862353270504407932477890681641040\",\n \"1\",\n \"1\"\n ],\n \"16399460105226228160715200400369710781797460534173125615331665101878888637519\": [\n \"20268278915759498676708769722278413309918650320096846198656610789620946252607\",\n \"1\",\n \"1\"\n ],\n \"18351902204641017676576775479713241311590006699655823526502232735237740222486\": [\n \"16399460105226228160715200400369710781797460534173125615331665101878888637519\",\n \"323153698441231903471800389244751078039924698881348217990097682230114478002\"\n ],\n \"2521536555683977472016818720892249271854810077887247116106727478626806174481\": [\n \"5282584996324423805031722401709115404449890903058191582465165095838712871195\",\n \"1\",\n \"1\"\n ],\n \"7948208902560653383188529545778601798164942362380608301791854749291510042419\": [\n \"21592140070144505876189473329629487678633515394728694374885072166136532186079\",\n \"1\",\n \"1\"\n ],\n \"7029298805412882467242621269299718437248722015380140466896915372586239257019\": [\n \"1945796991161278424306947613221829030928447717570293911083127148804031663076\",\n \"7948208902560653383188529545778601798164942362380608301791854749291510042419\"\n ],\n \"21168956917538464296007405278602258568094443883403939442669287243454322022112\": [\n \"0\",\n \"7029298805412882467242621269299718437248722015380140466896915372586239257019\"\n ],\n \"15517305481662075461645247254588762384543463119354548202461167983629825210521\": [\n \"21168956917538464296007405278602258568094443883403939442669287243454322022112\",\n \"0\"\n ],\n \"496356360329218390770642736446041949399966315865160456672249433199672768187\": [\n \"15517305481662075461645247254588762384543463119354548202461167983629825210521\",\n \"11267676558176212318357916858953054963142695203474622152644497265756743384198\"\n ],\n \"17711851890308837136734623226126195934638127703221224707227686800181726883514\": [\n \"8166149104193123740208650295819391405875473798331662500678197926379630584722\",\n \"1\",\n \"1\"\n ],\n \"7822544518260363147106697253852668647154071939385686219239703425085648891647\": [\n \"1890993794935178976853209795996270544246112652004752657762264979829771709929\",\n \"1\",\n \"1\"\n ],\n \"3527363351228269001199606016899415338371331328538379895554615969448751620328\": [\n \"7643091676753765985315291059983453337879920794326984005385531015764744570404\",\n \"7822544518260363147106697253852668647154071939385686219239703425085648891647\"\n ],\n \"5923425135395660681127451131260205457657408111382018942035243940175975433241\": [\n \"16366648851877256159770681550816983771407927712185082073794403079082729413919\",\n \"1\",\n \"1\"\n ],\n \"18149450039889344859937578065728783934456726351268806133302518746682447981909\": [\n \"12599831140689846531301768283733190694248964710341770798695831462490894069947\",\n \"1\",\n \"1\"\n ],\n \"6395261780477669655966363242186903639300949232104123181565777556058195798986\": [\n \"19093620526034908180056059747051266900769076565558529687880601269338606947197\",\n \"1\",\n \"1\"\n ],\n \"20855401852714378358096026790696506144101276367762189595510043911939274104689\": [\n \"9428192822296949475597421834455453186211255828976337680080791049677746711841\",\n \"1\",\n \"1\"\n ],\n \"4968015332352462019500076446639619015776911726915020942375381494761825168282\": [\n \"4398448547920866764222236336642562248270474985533744668830335264367309919197\",\n \"1\",\n \"1\"\n ],\n \"2101548778390084844328856140447445663034178061047909069023158578771249743463\": [\n \"4968015332352462019500076446639619015776911726915020942375381494761825168282\",\n \"7102278524296137027051972603638653024316556165139486084599301530098117262243\"\n ],\n \"18236059432888338674225033568144173436132363612932906771331379277935856352484\": [\n \"2101548778390084844328856140447445663034178061047909069023158578771249743463\",\n \"15691201170177951228031565299620999006220136986876557306736456243386186760591\"\n ],\n \"3469528306775583667907858366427228278762528744325861530738251867932194769749\": [\n \"0\",\n \"18236059432888338674225033568144173436132363612932906771331379277935856352484\"\n ],\n \"15674333372106921012633730502870595362535161605190412700534709014041456451251\": [\n \"3469528306775583667907858366427228278762528744325861530738251867932194769749\",\n \"0\"\n ],\n \"15640329692765703126016094955747894064032796055321380365013190711211125911469\": [\n \"13737608308046200933885738983651818622160553917984178088503762781253429964498\",\n \"1\",\n \"1\"\n ],\n \"16407797620075305669256593080944428312108857751629501648688009629300049368960\": [\n \"12649490296381939127109751013192720990268161846567523212910682157859910241836\",\n \"1\",\n \"1\"\n ],\n \"10975546721448117027739911842110162218064146041455552754725420851947873619140\": [\n \"11212166216415617299715416284926057246187751313889714650342803213193403181663\",\n \"1\",\n \"1\"\n ],\n \"13019872633340622787153392666620890262379512402421236275359665280522267951786\": [\n \"180805269781517940065709120515363839007799704011624768711291783145354278694\",\n \"10975546721448117027739911842110162218064146041455552754725420851947873619140\"\n ],\n \"8596863241599992233264751708270277196102647357252398263457614213040924028945\": [\n \"1552267009164905852184212176271407764991584887307635111058745353298319845158\",\n \"1\",\n \"1\"\n ],\n \"21220331713060081632106189057607681701748919698835897160570637103273079586521\": [\n \"7140105350492285126674206757102719408588731534869330571514735461285720335129\",\n \"1\",\n \"1\"\n ],\n \"2193680288749582198831658675605114652769168943560972145851657129741178349614\": [\n \"2879576541058801376726434685259996286695890977600043949581793158928031900605\",\n \"1\",\n \"1\"\n ],\n \"10515307120902072696185946310970533732917610839769710545483510504871991686590\": [\n \"16372216111093473232855826591298573787197382697784236052619466193934408577761\",\n \"1\",\n \"1\"\n ],\n \"21764788107000287716991952446650257300988818508498117622915948016870376792330\": [\n \"914151311270269449972927290574461586389440265745107599526716050546373030414\",\n \"1\",\n \"1\"\n ],\n \"20868139019791837192981405645917964649131340681869460257679684343809107987801\": [\n \"9839683191223872553350035128519144278635116881694032408098451765127277668650\",\n \"1\",\n \"1\"\n ],\n \"9845574322751039827219083655062807438468343316379272801864620612066457689512\": [\n \"2967627525737819222243355523948884939970339499584177454419762701959175247315\",\n \"1\",\n \"1\"\n ],\n \"6579023310519583364958209987583917945317942078785725718590284098162370686043\": [\n \"9845574322751039827219083655062807438468343316379272801864620612066457689512\",\n \"8509308489595596016789795403666001866809992207774505005639126069608333204874\"\n ],\n \"1419140030059400993659083708346481800949572389180591004737786534611268407956\": [\n \"0\",\n \"6579023310519583364958209987583917945317942078785725718590284098162370686043\"\n ],\n \"19555538272843711451767446024968238817261990320808993657251998077666623770133\": [\n \"9187803906880568027389773723634126170656449889942603099476617725871614022741\",\n \"1\",\n \"1\"\n ],\n \"9064391579896141636223522998557763191911465831893822153064417023451049063662\": [\n \"10065173353876506998477906896302904489359266233607666149647460540014961396311\",\n \"1\",\n \"1\"\n ],\n \"16714868391711516429359202766337341594886220985186082357828382248403401397696\": [\n \"19661584343883462729564900269722852512843201960602455796756238086370129688505\",\n \"1\",\n \"1\"\n ],\n \"3981424333213728423981172013148333770902235646948166829747856579908543943450\": [\n \"10087414509075891278763615328697614769680595870462958519792527543665228457893\",\n \"1\",\n \"1\"\n ],\n \"8311722923217977947150350880337381763179599159224347719714112019281902679222\": [\n \"12690686750765137994824621225611475537557357444635695347753780683342140728247\",\n \"1\",\n \"1\"\n ],\n \"1264966319280465826954160640706277885882188640641687729556522383568221821943\": [\n \"4858204700032722648150862146875756873189972521607793147770443217704355946950\",\n \"1\",\n \"1\"\n ],\n \"12055578371956198699797919299888349464998960123929386646772165273102393344674\": [\n \"4963204717669157781336500336010420202710064078055132554924998051464925306860\",\n \"1264966319280465826954160640706277885882188640641687729556522383568221821943\"\n ],\n \"19224846534491297944132822627627197260120775775296728376567763323108952373157\": [\n \"19944878892977876885288811984691927818554122599640585069694931687716809599544\",\n \"1\",\n \"1\"\n ],\n \"14010420507533470823096020769937359435022716944169139882460509861845132573879\": [\n \"9324930076129499364665138341456243300203971871009074517967190054583949084662\",\n \"1\",\n \"1\"\n ],\n \"5118609401785870078211769704964871175644287061406063847345458989194442200254\": [\n \"15344297987795015707879226752960774267388839036559401093664769722534942215004\",\n \"1\",\n \"1\"\n ],\n \"8620795669230748480543636871204236424403887953120921463610730738179942044152\": [\n \"5118609401785870078211769704964871175644287061406063847345458989194442200254\",\n \"12376500954301627601654549025952995112020063490479515881265055983650770693942\"\n ],\n \"16551060823455123456076320436557146204973540960440213759595755657562863438939\": [\n \"8620795669230748480543636871204236424403887953120921463610730738179942044152\",\n \"13963265193004164856472872864708456995999139860184279790984459730535336177828\"\n ],\n \"14345809683238965497010116346237473862525481478579868329574907774441257997149\": [\n \"16551060823455123456076320436557146204973540960440213759595755657562863438939\",\n \"0\"\n ],\n \"11763659358860163679461749355050430479384359795758608974945965573332664749856\": [\n \"17600193744651430420936984819107194517902562356660232686583822979509617088494\",\n \"1\",\n \"1\"\n ],\n \"4081899895622637826602145079890247362683068833331100181111993617373504259869\": [\n \"20520703662385463237778914658759031283196532237547003876547243392983999158478\",\n \"1\",\n \"1\"\n ],\n \"11087986491055461359679324794621573982398006189692742231645183696035989457067\": [\n \"2461334213987481094332281414468290189495948325101455458605401033736800590536\",\n \"1\",\n \"1\"\n ],\n \"10418189997619322947434631858798348090889631370524370987503407860834402352843\": [\n \"103738457666987979380076309494848408910583966328700659907633443753227697518\",\n \"1\",\n \"1\"\n ],\n \"3575893980872444967822388230341572719804224152638205824080445465816628923665\": [\n \"21172673930105232963716927765473614719319546708615548316810484141925901677543\",\n \"1\",\n \"1\"\n ],\n \"13805628229383211475999867910345726364378593824174558093480804275771911396670\": [\n \"670625336842172476858948682471303768711484762447952742412849425367272261408\",\n \"1\",\n \"1\"\n ],\n \"13226632293783414051569469343654718253530117667993534857830101225547333185247\": [\n \"20434199935307308973079280686535322420655262493529604943254149558673792398223\",\n \"1\",\n \"1\"\n ],\n \"6434434909223047212384282827418414082699388288976834951777604587157295904609\": [\n \"1112367454291255598019405530261876857516677697639711623934517332019706738789\",\n \"1\",\n \"1\"\n ],\n \"5954103032497130622556478584645757197563169873506614047647801581072061505079\": [\n \"6434434909223047212384282827418414082699388288976834951777604587157295904609\",\n \"7750961872503548451628447568526423564700109881298982861910390122064842367532\"\n ],\n \"10664921859191040324473786500687629802851161973781236463775669516852519834105\": [\n \"5954103032497130622556478584645757197563169873506614047647801581072061505079\",\n \"0\"\n ],\n \"10597277124288097502088607396404010112637897182668682212711444166067307161470\": [\n \"10664921859191040324473786500687629802851161973781236463775669516852519834105\",\n \"0\"\n ],\n \"20235075062438034852017687963830542713962879174974314077797822613642114120792\": [\n \"0\",\n \"10597277124288097502088607396404010112637897182668682212711444166067307161470\"\n ],\n \"4974867159374938132958361923375119180237949177954507201951273329939989560677\": [\n \"0\",\n \"20235075062438034852017687963830542713962879174974314077797822613642114120792\"\n ],\n \"15507880173694536250342278889999522995819597740582108915396937211467567964698\": [\n \"4974867159374938132958361923375119180237949177954507201951273329939989560677\",\n \"0\"\n ],\n \"5052658108432632098119943607110372781977407510515402456417291029895291924425\": [\n \"15507880173694536250342278889999522995819597740582108915396937211467567964698\",\n \"0\"\n ],\n \"18986010089792647084661862753182864693229354599099246840945502336178430952916\": [\n \"5052658108432632098119943607110372781977407510515402456417291029895291924425\",\n \"4792094182293654824114844726970542636199944777384578344951656027941759333063\"\n ],\n \"16819131780653976454698162939855874003596188387261966282825781192874058373583\": [\n \"0\",\n \"18986010089792647084661862753182864693229354599099246840945502336178430952916\"\n ],\n \"11455640745359691315557048135036928222845524822080219711957555698121621582159\": [\n \"20639591679943070313464181723553961929549990395749505022313848704255580799301\",\n \"1\",\n \"1\"\n ],\n \"12841178368651131005425996492948239343497055048898889277262926028607922345120\": [\n \"12551956341899882917399552662745369538955839653945840769506257722871545511160\",\n \"1\",\n \"1\"\n ],\n \"12200945022478208708852383653633633968588255491807238782545378929962232744952\": [\n \"20960315715365755292614040324201266276059300258416729427256592598243321377967\",\n \"1\",\n \"1\"\n ],\n \"207673896481242313889586581492102172432484473887085993009564788417623980066\": [\n \"1844822371069835246851542071778792097324657779647895897274437344442488321261\",\n \"12200945022478208708852383653633633968588255491807238782545378929962232744952\"\n ],\n \"19013334510675761238556383835135990814843495157728031570326365673378635478257\": [\n \"0\",\n \"207673896481242313889586581492102172432484473887085993009564788417623980066\"\n ],\n \"4098241039939721962553338839202739461105868795427682405255234933176344387953\": [\n \"2362732423281275262864170415465918507982341500337670752780883674895155561375\",\n \"19013334510675761238556383835135990814843495157728031570326365673378635478257\"\n ],\n \"3519027591546692223605813771506550967677178145966629036589513656027524158206\": [\n \"4098241039939721962553338839202739461105868795427682405255234933176344387953\",\n \"0\"\n ],\n \"10508437938133824500123249509477625000093899072667871106479046747592923885245\": [\n \"16030446064634657537403569034032329981767721655732946542846708630923023428300\",\n \"1\",\n \"1\"\n ],\n \"17136201828548317290925965689282171127346275706703040630063349199496538269366\": [\n \"20370763108993909730771186931932914834238477049360470762004867650280564122473\",\n \"1\",\n \"1\"\n ],\n \"9340608375759726135010359821059079059729823754745510053984394585854957634770\": [\n \"17136201828548317290925965689282171127346275706703040630063349199496538269366\",\n \"7090391898806507304970855882984283748167615966562968503866769967155929979322\"\n ],\n \"953492626568629869385440924582626143000283034140630322132058601116301372220\": [\n \"8755596199416604875870733963886029937037185430410276140879601490293571008976\",\n \"1\",\n \"1\"\n ],\n \"5435909669492690827834118012294539390809095786796401595713294249271083737064\": [\n \"17897431804131186410129648253197755726018021987868006575597821943135689169310\",\n \"1\",\n \"1\"\n ],\n \"15890215595617302373609439845661740290042828277169939805884536495346490690421\": [\n \"11584349090566393036934177055875670472462572845299275651748222934407055403111\",\n \"5435909669492690827834118012294539390809095786796401595713294249271083737064\"\n ],\n \"18216671579277788999581114595777726239559717191515536296692741600824232815326\": [\n \"15890215595617302373609439845661740290042828277169939805884536495346490690421\",\n \"4918513200054366977270238345214404867619499214531733021447949652318899824875\"\n ],\n \"15260869531965875619776310922928604172343464398826268355316240028510369957392\": [\n \"14842472609219485803512757520523898128158163236268271516765853677711351581616\",\n \"1\",\n \"1\"\n ],\n \"14251628111409957455758817362144546586484700126892319720334520796628844056428\": [\n \"5378740266771044201022492176149596185472362199235114738436761439412895764298\",\n \"1\",\n \"1\"\n ],\n \"13426261693852932616732012345537389727482155316242825252917157141152139953148\": [\n \"20540028924656340780971294373068073849926482534147939210927310679538604256435\",\n \"14251628111409957455758817362144546586484700126892319720334520796628844056428\"\n ],\n \"13017105332617233687392309096944313306327718846859113973069175348487560581772\": [\n \"3380876307082347018203462455528268404224298268910111144391991176956209810171\",\n \"1\",\n \"1\"\n ],\n \"19827303506158881576297459651122507126039348813297247590552787327157420911499\": [\n \"15158442342706992145494215953520745882718619953976677939256215296945240157565\",\n \"1\",\n \"1\"\n ],\n \"19595740724617120144741375655686760297081644429021177662469225122414676813277\": [\n \"19827303506158881576297459651122507126039348813297247590552787327157420911499\",\n \"5669263809673203432966044251945009735122841363180605089879359916853873965347\"\n ],\n \"14079768546058046311400423927424075498959739561584991082361804882194349945363\": [\n \"19595740724617120144741375655686760297081644429021177662469225122414676813277\",\n \"0\"\n ],\n \"2341838949691743463293225407894113466714043301559301728515888874157771734079\": [\n \"14079768546058046311400423927424075498959739561584991082361804882194349945363\",\n \"8614980324110212902778427589750854090959236572317041975647199542059114389258\"\n ],\n \"13658436028520720439626608405943169766126570077352481933376641753312112812754\": [\n \"18355488695637079958447791826708695920215817372766926016285883866030403895999\",\n \"1\",\n \"1\"\n ],\n \"20761878511405786114647103832945843937623237725956718485637680127680143041583\": [\n \"13658436028520720439626608405943169766126570077352481933376641753312112812754\",\n \"5127465296016522722027757561889735546185245434294753056141109883494454770549\"\n ],\n \"7236881723044828031211124775130143228493962827679810673416353114534010081652\": [\n \"2711959074264450184087272065795928880653622915701595142197999399142885478401\",\n \"1\",\n \"1\"\n ],\n \"6704421856563637833612041186276761274668880043579203134085892033756173840608\": [\n \"20845708372760410948971759876256250988396248784858556023889916621588618448054\",\n \"7236881723044828031211124775130143228493962827679810673416353114534010081652\"\n ],\n \"4998081070191910134784132990934800738442485977050141756924284341507943727760\": [\n \"19644456037989038267692843249890653492944822653323391591304239541041278235565\",\n \"1\",\n \"1\"\n ],\n \"8592856611431757495121408095102493607227746859221210021371653306122174841282\": [\n \"10055276355720509347996195878221659568843506479973103067380520420297941905420\",\n \"1\",\n \"1\"\n ],\n \"4907048893465785125989667723109499583497343216462650735400028518131878542201\": [\n \"15487660253793453124787066185223905356910214686691346510253703368049854874084\",\n \"8592856611431757495121408095102493607227746859221210021371653306122174841282\"\n ],\n \"1882585562225919313731968148247788886151194718748923666394506612400974862962\": [\n \"0\",\n \"4907048893465785125989667723109499583497343216462650735400028518131878542201\"\n ],\n \"9803117266965247046602774324528244869626209512535675892150736887440200649318\": [\n \"0\",\n \"1882585562225919313731968148247788886151194718748923666394506612400974862962\"\n ],\n \"8128829108249271620379298569099495187232478823156012855063474236477682737101\": [\n \"9803117266965247046602774324528244869626209512535675892150736887440200649318\",\n \"1197988004399598311718434332306243037680727437557946155121576408969504259099\"\n ],\n \"8003579621626145372475255298115876970377671356589907697341226340952634079387\": [\n \"324820445975091143859453738578802936426081127926045854254473719228984478011\",\n \"1\",\n \"1\"\n ],\n \"15271996753633428962585418954345978309479126086284326680378131514270642793253\": [\n \"8003579621626145372475255298115876970377671356589907697341226340952634079387\",\n \"17833133310138396346170091123118817969356780853891249162111141601521572677378\"\n ],\n \"4481994066690247984411717881108252079478170423475863064720925488741485613680\": [\n \"0\",\n \"15271996753633428962585418954345978309479126086284326680378131514270642793253\"\n ],\n \"7582190883338827980202866409055564822455779966952772075902277209558446226965\": [\n \"4481994066690247984411717881108252079478170423475863064720925488741485613680\",\n \"0\"\n ],\n \"10417069265307460154999210070326564691744384889576812519495476879633635975333\": [\n \"7582190883338827980202866409055564822455779966952772075902277209558446226965\",\n \"0\"\n ],\n \"19871620996587405288204054558852268097139058912970905842789889121330154163970\": [\n \"1316815214282692846573430352345005919938283945928851289785004992399466498959\",\n \"1\",\n \"1\"\n ],\n \"11102789144180730597191876148481953311120670381113903398349652069410737515728\": [\n \"3359476309282799892312549289718177162667971713537041356021211958728344700898\",\n \"1\",\n \"1\"\n ],\n \"3067799643998921884846458846886689205209399390364203747158266526316918562937\": [\n \"5762718356865897729093679634995718735968529710586644936963476935335786140709\",\n \"1\",\n \"1\"\n ],\n \"14026921175040199383306267197627672655254721697408276394587953837667315717221\": [\n \"11029681776105414031693736488451074774697410311636738251462681763880273748709\",\n \"1\",\n \"1\"\n ],\n \"5233882404818693567366670712248175649369445977773422867792747482985664714260\": [\n \"17740978953274091680408844036653800398266114443989655373903187835002055429348\",\n \"1\",\n \"1\"\n ],\n \"7026123407686837372870776136271302063431721061089788588872512882705767320978\": [\n \"3385392137523108667604520023063263178173952100315773894848285190317921006906\",\n \"1\",\n \"1\"\n ],\n \"15044039792007341845085704053519611481619258381750681986381940789409685351480\": [\n \"5531729427106317314794246805976426436291991920853585545338876801791223612469\",\n \"7026123407686837372870776136271302063431721061089788588872512882705767320978\"\n ],\n \"19275504321314825415801480668168528765414902159736569151225020605580461006351\": [\n \"0\",\n \"15044039792007341845085704053519611481619258381750681986381940789409685351480\"\n ],\n \"20091824261909656269934166930677314927899260583354557623592394821768221100830\": [\n \"0\",\n \"19275504321314825415801480668168528765414902159736569151225020605580461006351\"\n ],\n \"9457081510760322680058171836461736508957262021879341665180358689715791173486\": [\n \"18633659087971392439087534478041427244488265606714279462352946035612215834553\",\n \"1\",\n \"1\"\n ],\n \"4219396354574519947894945111217905384589405187396795693152928965467558564722\": [\n \"16714868391711516429359202766337341594886220985186082357828382248403401397696\",\n \"9457081510760322680058171836461736508957262021879341665180358689715791173486\"\n ],\n \"1326118367631962486546199407850961545967253436357413026919179253084967339557\": [\n \"0\",\n \"4219396354574519947894945111217905384589405187396795693152928965467558564722\"\n ],\n \"9953939748682575896917453145714789725806879893511736566893597753525885486790\": [\n \"4263139749390264641836332213714294523110054805241117131554410092170147097357\",\n \"1326118367631962486546199407850961545967253436357413026919179253084967339557\"\n ],\n \"16581672158834453468525175656949570388419053327309483051902348128589980542111\": [\n \"9953939748682575896917453145714789725806879893511736566893597753525885486790\",\n \"0\"\n ],\n \"19448173648513562049389018223207648394219363061270196338185158548235778773421\": [\n \"17733703268406954241742373978644094889362593375982848713893250167642711459778\",\n \"1\",\n \"1\"\n ],\n \"16437591172050967627542915288170826508647916362663923568323005854412668160817\": [\n \"15336524037932094935268896643859594533983921210386083968469502308246175909867\",\n \"1\",\n \"1\"\n ],\n \"17970461813902791008870437759277852116259013131532599900033072630179141266150\": [\n \"17763397089593242061191657277471113617002225660611661798671442978642608205343\",\n \"1\",\n \"1\"\n ],\n \"6254786337583107826017250374553289586242522720707750282462587439197396208361\": [\n \"15558855614960282939621561821122508806866690927288653199746009731310209187353\",\n \"1\",\n \"1\"\n ],\n \"20272542322533180336967411368316094352427941726300038647747593755407475979551\": [\n \"9911547496263757492379941181657811172241102340938555376568237799317400491737\",\n \"6254786337583107826017250374553289586242522720707750282462587439197396208361\"\n ],\n \"6391748207225409024263522231772101478636281760045853338827005427224831188210\": [\n \"0\",\n \"20272542322533180336967411368316094352427941726300038647747593755407475979551\"\n ],\n \"13020356677181868636960916461352388705919026547710207118411899577231368099954\": [\n \"0\",\n \"6391748207225409024263522231772101478636281760045853338827005427224831188210\"\n ],\n \"19615257245238905756399103853589878917972157963979246901350019619281725335272\": [\n \"0\",\n \"13020356677181868636960916461352388705919026547710207118411899577231368099954\"\n ],\n \"6304256071218587552450450021064463676490692769089307706095404979370275582593\": [\n \"19615257245238905756399103853589878917972157963979246901350019619281725335272\",\n \"0\"\n ],\n \"13856486768008046920256299358848573250401765721706008973151742294350169838297\": [\n \"0\",\n \"6304256071218587552450450021064463676490692769089307706095404979370275582593\"\n ],\n \"18843940323124978908504561497472363594440188416979117388247043787438020271244\": [\n \"0\",\n \"13856486768008046920256299358848573250401765721706008973151742294350169838297\"\n ],\n \"157728690607950188210296027586697263024479066289467625870942478160479058859\": [\n \"17277872916389934582616930192365154941240836592040214584002928587133297559635\",\n \"1\",\n \"1\"\n ],\n \"18747313079376685397649911276844552829558700551960598458464489166791430041736\": [\n \"10321563744823950978901777795739855945663012254642136063041574280869062939182\",\n \"157728690607950188210296027586697263024479066289467625870942478160479058859\"\n ],\n \"7422707284686437771748879456976877320515677903227453762814592454186952386395\": [\n \"2037713852780946167236876359649632128854894210615950900704192459460886883642\",\n \"1\",\n \"1\"\n ],\n \"4803211660296966219786404694852768735242464040221854386109180023918624739347\": [\n \"20091824261909656269934166930677314927899260583354557623592394821768221100830\",\n \"7422707284686437771748879456976877320515677903227453762814592454186952386395\"\n ],\n \"20210984134867355604781875620225519363957075245502281911155854031200878377942\": [\n \"11725563736564387537195082735801144934481614218190999261144938169423557907508\",\n \"1\",\n \"1\"\n ],\n \"16999714910592901110510167400256618276982405745513294755746927155274666327922\": [\n \"20210984134867355604781875620225519363957075245502281911155854031200878377942\",\n \"10326774112017240802373927089363231123401454890020077042998419725318476206351\"\n ],\n \"14508076759701834886868513755063462216638994847372255911786337805354343636094\": [\n \"0\",\n \"16999714910592901110510167400256618276982405745513294755746927155274666327922\"\n ],\n \"18197822082234582006567760233177928358474086768793638876235465655135146873126\": [\n \"14508076759701834886868513755063462216638994847372255911786337805354343636094\",\n \"0\"\n ],\n \"7566702289209925903813088280720404824261080058088188008916902094882906115358\": [\n \"11665513688497743342347249286044401334201496742585529529665363121456317092426\",\n \"1\",\n \"1\"\n ],\n \"12972500630458660017139802810236197449776282775650824064830445548106715561193\": [\n \"3885293970209829543986247743132106323528097421947493637537631541316938233885\",\n \"1\",\n \"1\"\n ],\n \"939792136637140767459337714074360971771860997943103905440402285505900370519\": [\n \"3494270098756499527635683560134845189444446133615808951534489959544883055077\",\n \"1\",\n \"1\"\n ],\n \"15618587104067268376094104342326084169850354713970387623488171177806937063748\": [\n \"9527931264155153207116704890641327429114473192047451530512577833310963836549\",\n \"1\",\n \"1\"\n ],\n \"11929176223277391521679638208899111800326388119238776556052349419126017859214\": [\n \"11611053153895082161161011572202181025339565579013587134612257639232621447216\",\n \"1\",\n \"1\"\n ],\n \"108439475486320241181052922680707811350784410028257251833065459984152792804\": [\n \"11929176223277391521679638208899111800326388119238776556052349419126017859214\",\n \"7952313125861207999101546879739349953241252485708802733568700728781248575588\"\n ],\n \"2008766650873281772316895063770353897925012476853774417851978748829029173296\": [\n \"0\",\n \"108439475486320241181052922680707811350784410028257251833065459984152792804\"\n ],\n \"4987702316434185279808021174459056174359110955566708740146146348454239245390\": [\n \"16789730430784550057574403290638262535469180741453394475221820236575586993392\",\n \"1\",\n \"1\"\n ],\n \"10945789031056970577553387971395001106229367140516900817348350502488381705409\": [\n \"11130526916766023032425926834692056121734096623532048190183635945202163205217\",\n \"1\",\n \"1\"\n ],\n \"7150729700382391126394681642112396811218882576280314889092457816910137775929\": [\n \"16126169100375052415151176648204716536082821030498031038742145683356643668097\",\n \"1\",\n \"1\"\n ],\n \"4315651169317771841849724139571150892843074136784771259491020212160733162177\": [\n \"9907840500476809969544740986697173195851752557515404190539488582524280351837\",\n \"1\",\n \"1\"\n ],\n \"5685991148809288121823196834921236989532205333600682963714815151400171121103\": [\n \"4315651169317771841849724139571150892843074136784771259491020212160733162177\",\n \"9052545570286341204668935695084937602310459137241964521465186674165131523932\"\n ],\n \"505035756699274795251300597478440752100207122748597618936853813730866728891\": [\n \"0\",\n \"5685991148809288121823196834921236989532205333600682963714815151400171121103\"\n ],\n \"9778078455374261937134271403899439847234050758975852835764746171919011709668\": [\n \"1285431754917767143023535212940390791641013978049294411540035344118202633567\",\n \"1\",\n \"1\"\n ],\n \"4098855891194448182206577616297778617712700310319892089089863566876891981140\": [\n \"2464838457444181034223439476277908049250980126816110637219692435959160632539\",\n \"1\",\n \"1\"\n ],\n \"10536016560705148518299128814232771732009430575515006031676856656559459268042\": [\n \"13169545540202825722768918723928343042818529344469369099196061542623752993515\",\n \"4098855891194448182206577616297778617712700310319892089089863566876891981140\"\n ],\n \"15854947226505736517535824111822441197680983008398798854394557642222955881052\": [\n \"0\",\n \"10536016560705148518299128814232771732009430575515006031676856656559459268042\"\n ],\n \"5306515548779168562537457293749989225034147526171369296994253347022410710596\": [\n \"0\",\n \"15854947226505736517535824111822441197680983008398798854394557642222955881052\"\n ],\n \"6926157969686386099686858258341763154832406624610783507032991981146383583276\": [\n \"0\",\n \"5306515548779168562537457293749989225034147526171369296994253347022410710596\"\n ],\n \"1601024850474022730823591652064127734889609557658268493885855624568614173822\": [\n \"13266715527974750116500503964332584112600044401899813756869670193775562184810\",\n \"1\",\n \"1\"\n ],\n \"19407333065279705142137802746752242128569506293064150944303429948180541748911\": [\n \"19901141023339262909033264052627652158022581695659862635833003367468329408080\",\n \"1\",\n \"1\"\n ],\n \"18151927607293765926821988705197834765280226312957067077513779992884882952668\": [\n \"19407333065279705142137802746752242128569506293064150944303429948180541748911\",\n \"1148070910270672179278107543003796669126648146290898637038263053656773404866\"\n ],\n \"16000024537165182926496124109601311338494122010580917160445179624078481908028\": [\n \"18151927607293765926821988705197834765280226312957067077513779992884882952668\",\n \"21415203932992765024761306525654608060872574301318425031599967619966264805954\"\n ],\n \"18194128879872255627799622044135154722118464393438126923459858218941769804445\": [\n \"0\",\n \"16000024537165182926496124109601311338494122010580917160445179624078481908028\"\n ],\n \"2977421939506968603378942485986274299888141408990169167823079697512650655930\": [\n \"7692809303390835027392150490422689881813006419972575662139387864784401007717\",\n \"1\",\n \"1\"\n ],\n \"9964155808661179432649097014619377903749215931015878187874718316894776164260\": [\n \"2977421939506968603378942485986274299888141408990169167823079697512650655930\",\n \"3545074106347302160579925180806335041214509594426089419927795517870618317706\"\n ],\n \"2237207550805121699363205092245429324634682516444421021823947896311086859372\": [\n \"5230570634437132203040683665685943970271928716364201156664235287394453172481\",\n \"1\",\n \"1\"\n ],\n \"7648281925983994404475885679010128807778851200812339094510943279049523474242\": [\n \"2237207550805121699363205092245429324634682516444421021823947896311086859372\",\n \"20129325116615365076360629144173573765399661681198416289245740044839068730937\"\n ],\n \"15587977492147509456511515652531441722978715844160037190862901845256552029674\": [\n \"0\",\n \"7648281925983994404475885679010128807778851200812339094510943279049523474242\"\n ],\n \"10313354282586740429542569758459332777963042912669621831174403919900871178638\": [\n \"0\",\n \"15587977492147509456511515652531441722978715844160037190862901845256552029674\"\n ],\n \"17412371325823281916015950003424878961268405388941967765386792858972431204142\": [\n \"10313354282586740429542569758459332777963042912669621831174403919900871178638\",\n \"19763617408759917316535928388600384267937395708274672343173112451954436428855\"\n ],\n \"2120420227109734055827880323637062474470812829052180902183173898834872853315\": [\n \"17412371325823281916015950003424878961268405388941967765386792858972431204142\",\n \"17205722052970972061436185820927605045732559880862058541684116367574716353753\"\n ],\n \"2372860209486726897319663332075399652938095739703711156792039941326139964086\": [\n \"9677410368378761817619943519271689312243132156276303642522653911353218496579\",\n \"1\",\n \"1\"\n ],\n \"18118742924735164917715189553044747073658520053086400011534281049296322773942\": [\n \"5621312589078751953801427520066736075950619625069620636662586218831248056658\",\n \"1\",\n \"1\"\n ],\n \"16117773373399724397772626215372794443408352816024085898767529355086089862410\": [\n \"16352191474744363543477659339276468992837128617417787804446822620695893156251\",\n \"1\",\n \"1\"\n ],\n \"18323294109085444358569187634915043008730713446160716243010488923410808777835\": [\n \"18764807355429757166912364592089569410946456035166559014396176910700735457898\",\n \"16117773373399724397772626215372794443408352816024085898767529355086089862410\"\n ],\n \"18819435447968981026701012231928075746059220890737869587568653136098049196969\": [\n \"18323294109085444358569187634915043008730713446160716243010488923410808777835\",\n \"12396776108265590189798147708613290082281613522685000043396797345291976249523\"\n ],\n \"12430441171397346022214391747355095662845290279690346615845534752572948509299\": [\n \"18819435447968981026701012231928075746059220890737869587568653136098049196969\",\n \"0\"\n ],\n \"21591971398716636782611776585800684509439705803812942839024214627293807605724\": [\n \"12430441171397346022214391747355095662845290279690346615845534752572948509299\",\n \"1447369231416401186033862776363898127100442386008768325131112410501390051069\"\n ],\n \"14989410623109660790269276881492375260284126505466721448494228493071099804127\": [\n \"10553451536009373225476177887333558016070806629637498689089671478500814344137\",\n \"1\",\n \"1\"\n ],\n \"12011563868460855877597650420121178613565777480102690485035430057674630133383\": [\n \"3844462099994637710217075817429057215816170720989537396022249969749373372732\",\n \"14989410623109660790269276881492375260284126505466721448494228493071099804127\"\n ],\n \"21443722927282736408321534239370196227586463141478188515605325359186887212238\": [\n \"12011563868460855877597650420121178613565777480102690485035430057674630133383\",\n \"0\"\n ],\n \"11148080544322132426210108760721456900922479788369089192229358115563000143460\": [\n \"0\",\n \"21443722927282736408321534239370196227586463141478188515605325359186887212238\"\n ],\n \"15761634385015120961880519335643058171476346179782709082075087425041168830700\": [\n \"0\",\n \"11148080544322132426210108760721456900922479788369089192229358115563000143460\"\n ],\n \"21336415683057842984104845747307805018163027146879933298543566121436521019975\": [\n \"13297938213014804031858262509411819297957774081462289863479260592197900314624\",\n \"1\",\n \"1\"\n ],\n \"346181467956556489095501942763995816860312733584368182478172830664981756502\": [\n \"7870765392907254549445046687604636005503585049114270806762602110721728746676\",\n \"21336415683057842984104845747307805018163027146879933298543566121436521019975\"\n ],\n \"6132497298009024416303511947623612065854878580265210028881811974621421529001\": [\n \"346181467956556489095501942763995816860312733584368182478172830664981756502\",\n \"0\"\n ],\n \"6860104803260020899041001126558568156750322808909177978182714982236097548645\": [\n \"15954363017351562382843621144396731594161453622847379730215940806799761251262\",\n \"1\",\n \"1\"\n ],\n \"18123472505649366498979967606366174161946575903065320847915708895736028393240\": [\n \"6483593701227428266507414444931411668162234190599802499882281984391339792651\",\n \"1\",\n \"1\"\n ],\n \"15263967856504042293820053562457345389210399285784312443502768022115178724817\": [\n \"20028791123286272435159824388152771057557087462408030773217674848521184279763\",\n \"1\",\n \"1\"\n ],\n \"15967738329159531192900021865561775364287352951484111873126401191524458642446\": [\n \"1535425510286158955470344338611874485282621942416145498769614606184753223682\",\n \"1\",\n \"1\"\n ],\n \"636165695339069982537213753224011502499532995937339869788151681826715620712\": [\n \"15967738329159531192900021865561775364287352951484111873126401191524458642446\",\n \"392861249853433212785628421579765198462731188357576116826386258267584253882\"\n ],\n \"14096517767086345506465233571828576609208770905009204172707259905339986596138\": [\n \"5777683745534393892522206904686548935477330628534168448365199823775180097609\",\n \"1\",\n \"1\"\n ],\n \"12002065204288316244480478346475574631509446016365826526079762806635863876918\": [\n \"717833664444615562910550178409850691695408029580641089828733604884390925890\",\n \"1\",\n \"1\"\n ],\n \"17495043599305369654808336750337477719489549305726990436511606219245320466172\": [\n \"16892186287779056814762670261993509125209765724188889719727345051672912457217\",\n \"12002065204288316244480478346475574631509446016365826526079762806635863876918\"\n ],\n \"20013712298727209088575520367215373167294270337604205919461317600372726811792\": [\n \"17495043599305369654808336750337477719489549305726990436511606219245320466172\",\n \"0\"\n ],\n \"15791264076222191993700148104939125583447195021190867791167973718867523140597\": [\n \"13119514742910079876157226418731987084131453298639409129323577027678762930512\",\n \"1\",\n \"1\"\n ],\n \"3693781322065080479347678177404378615862372016062932856562490596982461314876\": [\n \"19782247863918524115799986509222698176523422957360846386187587035591769089277\",\n \"15791264076222191993700148104939125583447195021190867791167973718867523140597\"\n ],\n \"4618168164799156607664413640205610099409150518821213489006344107931136259570\": [\n \"3693781322065080479347678177404378615862372016062932856562490596982461314876\",\n \"5611608129790355237162898489354207522644765254945775588508633326136569373279\"\n ],\n \"6129570232489471878914205666106988112485077006726566134356641968889120069717\": [\n \"1329105756651009341515788157558384795182139986176195830987769532986981442610\",\n \"1\",\n \"1\"\n ],\n \"17830238498218935647905707934242487331404927848827011723282070383050686189483\": [\n \"15564459060555354490082327237314911462701733761818855823110069186773804227885\",\n \"6129570232489471878914205666106988112485077006726566134356641968889120069717\"\n ],\n \"18908332907482050908344227618820261776009587999971476973782103563803015757644\": [\n \"2557237323203801313311031464935346466824194748905207544922443199758204547860\",\n \"1\",\n \"1\"\n ],\n \"21057384964655053485298521567551088114152077625882703027256142185158976925975\": [\n \"9429527247415623161469410290566331219509231941889483186508386285533874395877\",\n \"1\",\n \"1\"\n ],\n \"20626158698212126588379416201207301540703322949647479766459805130554424923174\": [\n \"21057384964655053485298521567551088114152077625882703027256142185158976925975\",\n \"105992587728455292428082937318235183643868392988828644192076350320613041258\"\n ],\n \"2421395963334652906488699845207190546915443974570010373813238328991005184016\": [\n \"0\",\n \"20626158698212126588379416201207301540703322949647479766459805130554424923174\"\n ],\n \"5586594631950621840536853070270815240392587436012623217450280105771860285853\": [\n \"14026921175040199383306267197627672655254721697408276394587953837667315717221\",\n \"2421395963334652906488699845207190546915443974570010373813238328991005184016\"\n ],\n \"1492508656883490942065157526423277041372305172913687435543026304039525941152\": [\n \"615021784475892229755570410759178506428637701547385617201905292769662817316\",\n \"1\",\n \"1\"\n ],\n \"15278519467344862297896200530707382816961616965240764324839887007498297126930\": [\n \"5278921540096307873482718021660863123932976725686283091647284091205686078864\",\n \"1\",\n \"1\"\n ],\n \"6240979162342126178935359002134832920086968682522664394691002456800681133780\": [\n \"15278519467344862297896200530707382816961616965240764324839887007498297126930\",\n \"18602762051310049329277477257929086933185622109219170787769767013996114978233\"\n ],\n \"13020487236052125779989728289615389196623821951187170787136779742606643948545\": [\n \"6240979162342126178935359002134832920086968682522664394691002456800681133780\",\n \"0\"\n ],\n \"5268210727012140214953850957078410333847432824379081317229427023655455735741\": [\n \"0\",\n \"13020487236052125779989728289615389196623821951187170787136779742606643948545\"\n ],\n \"17266850096734206092335938567839435611478207924735100145314687789580050242427\": [\n \"5268210727012140214953850957078410333847432824379081317229427023655455735741\",\n \"0\"\n ],\n \"12305702638569608843484389968079686176752085547449088143050212633372040661725\": [\n \"17449498060383246100824243883057339851586276944523968284447451085895995789434\",\n \"17266850096734206092335938567839435611478207924735100145314687789580050242427\"\n ],\n \"1034189756949063590685876129597678822430098954035172225118412730833160759469\": [\n \"11964529245439598552773529523551842334760984830012361460145061932848365833354\",\n \"1\",\n \"1\"\n ],\n \"16473767071660645770910441379451046389678400695011765368167621967174466047001\": [\n \"16385733913087816025079039365905759862311141881389473366908164520116171253016\",\n \"1\",\n \"1\"\n ],\n \"1639608369667622914853253709546127255994006441953722687132095701489081180036\": [\n \"16473767071660645770910441379451046389678400695011765368167621967174466047001\",\n \"16306483528874403579770012666153941739151102695905274608086201897345120640275\"\n ],\n \"13003304166429597042257556665466812682958290903405851295892270360371566954131\": [\n \"1639608369667622914853253709546127255994006441953722687132095701489081180036\",\n \"0\"\n ],\n \"17194356150381684347132643336192819764339872554779154540089804413157934955861\": [\n \"0\",\n \"13003304166429597042257556665466812682958290903405851295892270360371566954131\"\n ],\n \"12626827320308841938974599210902704503215770580058123457505129124380137854364\": [\n \"17194356150381684347132643336192819764339872554779154540089804413157934955861\",\n \"0\"\n ],\n \"20792464764999169161247538852991303325570731298238152447264239767983646997864\": [\n \"12626827320308841938974599210902704503215770580058123457505129124380137854364\",\n \"20750088790815576846338784451263920113825683319615776587133673862424004577476\"\n ],\n \"5408666830981797791750164705192977562331234082067547545749623042942356639588\": [\n \"12077521687329164859465166027741280879239189118996794327142219219379771132851\",\n \"1\",\n \"1\"\n ],\n \"2242157271604213422238867261364217173598836884905273420854100373532594755727\": [\n \"2288622775188196114088073793732562340694444816122971091247119919728436420789\",\n \"1\",\n \"1\"\n ],\n \"9462638428507910775008505944386177120204992079860501251091374292952044260862\": [\n \"2242157271604213422238867261364217173598836884905273420854100373532594755727\",\n \"10533968408078923573250915264447665427610513732330887953176720480659466149506\"\n ],\n \"16717904873204198163413080326503721581512217989325087156385093840129417260249\": [\n \"5562122472934607695932230443720875951876491479125424220324974490759247121303\",\n \"1\",\n \"1\"\n ],\n \"9100125653569681511087832736734491871616384377093439203721280825798487190584\": [\n \"14195660841803653204473533128482916262452411986527067567801769989128061250122\",\n \"1\",\n \"1\"\n ],\n \"12429923878561249928483214138386643938661994927904033818748408052265153579479\": [\n \"18521191152981540046190739355651101130087569801237120937134391227239478404667\",\n \"1\",\n \"1\"\n ],\n \"5753984606258277206896913263924682770048172123759683429145523330064063772124\": [\n \"12231926340303753603222755232124620881298266327860465489430763928743318173480\",\n \"12429923878561249928483214138386643938661994927904033818748408052265153579479\"\n ],\n \"589317372956691822133528940105244402521183254356436005168521503983273251484\": [\n \"5753984606258277206896913263924682770048172123759683429145523330064063772124\",\n \"0\"\n ],\n \"8684058553839299394419588708733427784671924314939768287999192950842716061314\": [\n \"9498597865217403606733956401281656250950665085784005170238106028525307413399\",\n \"1\",\n \"1\"\n ],\n \"6756942412949659850873329174688308831309876096074942374030012894232804618324\": [\n \"18560668177607593159560849957656367240409280635834214228124428789211134787949\",\n \"1\",\n \"1\"\n ],\n \"14614651832674920905802336912601513182447171813562912361645137106600616980872\": [\n \"15258915562649872296381594893181626734586948362507593609727345247362789150626\",\n \"1\",\n \"1\"\n ],\n \"2001213264562187878728139891002149067960733627702107997258957940650373484654\": [\n \"14614651832674920905802336912601513182447171813562912361645137106600616980872\",\n \"13933025213937230532287216263936764549807454054536694376235720587631944657865\"\n ],\n \"6861158047030977576764280962042469084504543839616045440382660281265207823878\": [\n \"2001213264562187878728139891002149067960733627702107997258957940650373484654\",\n \"0\"\n ],\n \"17432753071304766841019575279245857471944908238938387198623498841204059074953\": [\n \"4731089862142654034114931811159132262256684738119210864568260358540251123092\",\n \"1\",\n \"1\"\n ],\n \"20960703980563958674025724936226916730416457995274739792429975259492879381824\": [\n \"1322552574516205292015790554540596367308318447750665107929792721084809810752\",\n \"17432753071304766841019575279245857471944908238938387198623498841204059074953\"\n ],\n \"5942190191221403179386931182324320381495510213432107897975695313793145030727\": [\n \"10904141239017489782875495901614521005326846626076011512733676502996842836619\",\n \"1\",\n \"1\"\n ],\n \"15208345368546816202682828830551777687160087999451074622751460330227856031690\": [\n \"12997143868414141240332984226596905872263283283780290360095870416124662608973\",\n \"1\",\n \"1\"\n ],\n \"16948130185236652236780190414971067018973390922871832452408722151466809362994\": [\n \"15208345368546816202682828830551777687160087999451074622751460330227856031690\",\n \"2591488730656146856318624071467318773934611237132366687111709618176551973513\"\n ],\n \"6188358685693502953276526136876502972349299176686806214702593726732578726080\": [\n \"0\",\n \"16948130185236652236780190414971067018973390922871832452408722151466809362994\"\n ],\n \"11721870425082577684429580663770114094353644986330554536257500162862926405348\": [\n \"10034734170699335701737960919756687253640470654926248104237442204995211992222\",\n \"1\",\n \"1\"\n ],\n \"9835518729972664123157592276151902736858412010062218161074191401172853462062\": [\n \"11721870425082577684429580663770114094353644986330554536257500162862926405348\",\n \"8943809333558215245636343025274937360553352343405146085691007440580946048034\"\n ],\n \"20389705819112960319456906440137824078381316358014567341322741157592645882579\": [\n \"3040771277671945867289157245830034021280174955611083884594289947963408454004\",\n \"1\",\n \"1\"\n ],\n \"13524447557732835928228778483063290742073363711952390770826816425363116590534\": [\n \"2113359739282213615761800797905639128351021877124808859058711597668862526171\",\n \"1\",\n \"1\"\n ],\n \"12045170166680295631753521116503832681648366226841884773750386571375523044117\": [\n \"4655198783430261144766496305840703051131462379818658371077829167700110435169\",\n \"1\",\n \"1\"\n ],\n \"5187593390757646032683155907469227568575731854957515956955419691041518326388\": [\n \"9688237241292525643007330364042585444820291400207232486290519129837228693899\",\n \"1\",\n \"1\"\n ],\n \"16304610417300942656508397650039722709754580385502532032816802594365238179024\": [\n \"20879626018840428424732597652018410585248847931360781049538076288836065153533\",\n \"1\",\n \"1\"\n ],\n \"4249051125859362387623634968112954915949872886901269485455043334548517207440\": [\n \"21761061304309475546858389470857846382393221638541606924337464742673745581671\",\n \"1\",\n \"1\"\n ],\n \"18818719409759880060460205191027230077693608523957749151778361258800335909868\": [\n \"4249051125859362387623634968112954915949872886901269485455043334548517207440\",\n \"21206681896755500748923507319136339740444508953498640498097746068241565255263\"\n ],\n \"14535964692358695571106045911067902294858238416431178477917947338164409783464\": [\n \"9414945233437803809694038848356640904149998558280709308676213995846704042094\",\n \"1\",\n \"1\"\n ],\n \"3362858870616646986509524146994839496270670225869297859849901190080562460124\": [\n \"14081351132912884354594701556231320666911899057465729924692259272494237897214\",\n \"1\",\n \"1\"\n ],\n \"1205253021128140016834511116608084681636845686556595942393256723238117611638\": [\n \"14065932650130779360123614580452282369262496087603640387127354808189262444101\",\n \"3362858870616646986509524146994839496270670225869297859849901190080562460124\"\n ],\n \"13799966771427374260748942393486255718440955204375795866856806352767160186639\": [\n \"18245739285934827467283421681050663085274608320656640153120757124519917910404\",\n \"1\",\n \"1\"\n ],\n \"7911696696883622413743019107909653408115132060979644371696516773018478020573\": [\n \"20219373471038306008647433695488297932125089018510613142640376135831875974355\",\n \"1\",\n \"1\"\n ],\n \"20148900358273206859865727339494341294397410898621968246465076111088311453957\": [\n \"17241430764544214712599594450307202868609167538169589744532954342394790165541\",\n \"7911696696883622413743019107909653408115132060979644371696516773018478020573\"\n ],\n \"2443618212038387909014656242180329815967013321555518254495987769246698411094\": [\n \"0\",\n \"20148900358273206859865727339494341294397410898621968246465076111088311453957\"\n ],\n \"17290736755790477616341861869168178624874258402026967393826008009045175350058\": [\n \"0\",\n \"2443618212038387909014656242180329815967013321555518254495987769246698411094\"\n ],\n \"16998969139522414295292595498351219976866097008323325804708589447384843703784\": [\n \"14517746665007996104053383058686710449593663338824317455591647343021606606647\",\n \"1\",\n \"1\"\n ],\n \"19238951415698909733230211354079815550379222851094267884996419166519380422281\": [\n \"21527147447931794512225772836978378725736898415167402719618977597708432737939\",\n \"1\",\n \"1\"\n ],\n \"4468320103527622867311822068599161983079224559943765241225385259854845618702\": [\n \"16521545451646762480337098274305124962620184929710463495310824744401835645181\",\n \"1\",\n \"1\"\n ],\n \"19513286298721740383900616071314308793492228838208496315654390504061931333959\": [\n \"19112747479335262419160838971247512887746804762368222483802559144224813699085\",\n \"1\",\n \"1\"\n ],\n \"2889034165652139878121589237202326578782388450966915853451636498204524787514\": [\n \"9050146749396711407254371212855599967445047974135733197736563403068861845429\",\n \"1\",\n \"1\"\n ],\n \"20699082678203276631622673963308320174448499155179760150890858709775994130249\": [\n \"1935778509880556994596020810774262180947089101350937718829973441413534932277\",\n \"1\",\n \"1\"\n ],\n \"17006998662578820517135237575779718629283863291923820439338267760323074870327\": [\n \"6447350471000692936050657597723803396178306607625941210580285402510563562791\",\n \"1\",\n \"1\"\n ],\n \"2782435156957890442386910523374021118025841769030268117788332946958075979595\": [\n \"5398733050118332773525639254439651175995164259400594137873456037788333917208\",\n \"17006998662578820517135237575779718629283863291923820439338267760323074870327\"\n ],\n \"8793205646239886512452066807761003342544071950527215801404560189989150159829\": [\n \"15324286006260774235051201921126774940688274949369094524919035862355771243102\",\n \"1\",\n \"1\"\n ],\n \"6679016530437989437789539889200353586183588425474444657756464423016926373925\": [\n \"10804416434509074732724398887264998831990653419896570624443704821776923737276\",\n \"1\",\n \"1\"\n ],\n \"18931339018146504047278472099201253861519538801775301275573232116242419956896\": [\n \"2872572139596702625282253397262385223485441882735978470843120616472203143957\",\n \"1\",\n \"1\"\n ],\n \"15422630053356926080623067192252451840817825272312426223826627305826400060216\": [\n \"21199984880302814574264221781364751005559394959131814044335824770642833714406\",\n \"1\",\n \"1\"\n ],\n \"10967710931292387670436433080237382846529509937732299629230133618294859906969\": [\n \"8323429674458202053223628208699224881207771762139596498993775385192652631376\",\n \"1\",\n \"1\"\n ],\n \"2993634203176924769372736888040250763032022930593827617357054502715227036950\": [\n \"5026111479318073998539260388406369990701771439502532747755047554694703615241\",\n \"1\",\n \"1\"\n ],\n \"8143126299939708877120325179407868352392126691996114645090548054762720586687\": [\n \"2993634203176924769372736888040250763032022930593827617357054502715227036950\",\n \"9033615043295686937346787395739811260585579750756361834416928917802962658802\"\n ],\n \"6695089038917777892461942148865377353477296545258058432696299403358495306653\": [\n \"8143126299939708877120325179407868352392126691996114645090548054762720586687\",\n \"20168555314701995045350635579824299030148180530985816402877705340627025301287\"\n ],\n \"11667781866114206258483852766168766491795658664925121387548402308549986424265\": [\n \"6695089038917777892461942148865377353477296545258058432696299403358495306653\",\n \"0\"\n ],\n \"13904638070916729530141421994037221243936553674192084582094435145749270594511\": [\n \"0\",\n \"11667781866114206258483852766168766491795658664925121387548402308549986424265\"\n ],\n \"608451769395773752970159804741301187755766346040788160675243841220461845538\": [\n \"19578716171491166766072154991116270839051060036087317708197903186799024228123\",\n \"1\",\n \"1\"\n ],\n \"925558954837887703950356185223380136695363737184953759878030080264532871491\": [\n \"17251004440493167599666874756423893333975701213018765008365043053639159647677\",\n \"1\",\n \"1\"\n ],\n \"10084151719327975685099386882100047896406509424870496819987555419290956824498\": [\n \"925558954837887703950356185223380136695363737184953759878030080264532871491\",\n \"16524337165854401605899437459566309346159653772393249927911625478288472890612\"\n ],\n \"16483095245722884598156539740053627242119389428932932491886160989825072758024\": [\n \"10084151719327975685099386882100047896406509424870496819987555419290956824498\",\n \"0\"\n ],\n \"14192045504094937032637340732136857329736017955760191111298434215004097620848\": [\n \"15062334691395355079759355829656930664747404235644226268285793598400516814435\",\n \"1\",\n \"1\"\n ],\n \"11863519158411856641625389838008983417171959577721895861282059273373261735522\": [\n \"6143427023385637979501429577962350134730738679578836811471564478620727097618\",\n \"1\",\n \"1\"\n ],\n \"21185852130845208738210699648627452668301393662087338353731840554142450091080\": [\n \"7183601588749112717946439578689569619844433989215158722667719082231003359920\",\n \"1\",\n \"1\"\n ],\n \"13061433284238077003803752334813312980868594721743065003687290374617668319476\": [\n \"14406589300023698124964278671998112793951881102137071737373001953613100787090\",\n \"1\",\n \"1\"\n ],\n \"13036761862250347040181646849504795807060807823979664320051084442913932361413\": [\n \"16239667090423217342742378198320128548374801080891082418922578429753852582499\",\n \"13061433284238077003803752334813312980868594721743065003687290374617668319476\"\n ],\n \"11360528435391243662679636099366266530890444405296224553593930189262905199659\": [\n \"13036761862250347040181646849504795807060807823979664320051084442913932361413\",\n \"0\"\n ],\n \"12734460250759031618919730889804560998080085705196035528515320727717808497008\": [\n \"0\",\n \"11360528435391243662679636099366266530890444405296224553593930189262905199659\"\n ],\n \"17225830067710583274353535322501208404762764037192712481527135175038600651566\": [\n \"12734460250759031618919730889804560998080085705196035528515320727717808497008\",\n \"0\"\n ],\n \"5139260103000317318534447614062788971928339964557478591562879844192234332870\": [\n \"0\",\n \"17225830067710583274353535322501208404762764037192712481527135175038600651566\"\n ],\n \"12708269852134282058149245761616401192320194231769814550056540520037384507212\": [\n \"5139260103000317318534447614062788971928339964557478591562879844192234332870\",\n \"0\"\n ],\n \"15369875304522907998157911343934522841314968058994523747855749330183106091289\": [\n \"8521622438484115832126495606857179172164833598341503266037867096949100483808\",\n \"1\",\n \"1\"\n ],\n \"11174931543283907835349222884943123843611981283240797821688783434346185195040\": [\n \"10324017376212188478034314791783696418350174765651317404551585868669236645793\",\n \"1\",\n \"1\"\n ],\n \"20127449688447572971093284923679466646550351081242561081761679820531857522113\": [\n \"6406728076471992534142989006787710050037609031134193214820362419017439179222\",\n \"1\",\n \"1\"\n ],\n \"1430105660833057064370947254612111201309294778475151097063101075584585767748\": [\n \"9600692364443677338197576422134442241954473358767689100762129060654757077463\",\n \"20127449688447572971093284923679466646550351081242561081761679820531857522113\"\n ],\n \"17473817177103033792249248661706679944607236548748260920412376002579548438592\": [\n \"14956663571893337400522655959062502247680474523168636545291098549144138867753\",\n \"1\",\n \"1\"\n ],\n \"11032315019306543201713639751406072746594325212587326247732278205275072525443\": [\n \"3872027539638993701216571547176304643493166909797936559905563213777279384915\",\n \"1\",\n \"1\"\n ],\n \"7244922633647032218794267431970608233967154968213148921299012161033120133080\": [\n \"8148102002476965431747228819763751557963984853070280298232277879472792245320\",\n \"1\",\n \"1\"\n ],\n \"11343693272686777994241576184561936389070236939852754848742381144128769503124\": [\n \"5830844966219149040709175183633085433937389973932255016335270049619295607635\",\n \"1\",\n \"1\"\n ],\n \"14781626321817056537732198614959873317184727702460463203541521771408633418049\": [\n \"4427985935289744471894932304769140672290514658499556978204016785329001863243\",\n \"1\",\n \"1\"\n ],\n \"11934929906369808840286665558582280084181476736809334978220526221893694344238\": [\n \"18380005666191450769479203861091564427339884700910578515548748110485575220618\",\n \"14781626321817056537732198614959873317184727702460463203541521771408633418049\"\n ],\n \"12461387983382821625760576169862673426460936849551836819670310339208921834709\": [\n \"503469087526981620864495507682634212918533534015386795914101675295218146295\",\n \"1\",\n \"1\"\n ],\n \"1964893383563167779822040222821236834454577423076417490956211076829461716868\": [\n \"16574475422874857409642286606380173473921611568517761786820714920187796161737\",\n \"1\",\n \"1\"\n ],\n \"7585874691616460413834498507225390204046635885713038733561431275145688679664\": [\n \"14313610825663389745058818781745430472278701473159031915338977803500607965804\",\n \"1\",\n \"1\"\n ],\n \"4891286509399254183198194636079165420924780812185622757143817535011598545486\": [\n \"15950765355929597602120533926023354711948296797030802291043053612630446385629\",\n \"1\",\n \"1\"\n ],\n \"757794483568770504510869167517436740393944396531803953353095248620531056912\": [\n \"6776832488042569440809927539602195809939930695201920767172874849781267693411\",\n \"1\",\n \"1\"\n ],\n \"4705232015947909587306382386140563162091282952737333563783933353352584461490\": [\n \"2516671310322202306871676540720904099835155917244349693881003333398080106059\",\n \"757794483568770504510869167517436740393944396531803953353095248620531056912\"\n ],\n \"11597878866458215415507643913616829336576162539714695844715768483339729548523\": [\n \"0\",\n \"4705232015947909587306382386140563162091282952737333563783933353352584461490\"\n ],\n \"3735065756818939911519276611030685666259865302403274886946270487823054636965\": [\n \"17932375392891761395840072791380064106267898656039599207642840879090399560743\",\n \"1\",\n \"1\"\n ],\n \"15163970939241999695892854678877578966995734653454606570895597024101249877044\": [\n \"2960159139127600943453065099225280893523792964207293642860370023955302143359\",\n \"3735065756818939911519276611030685666259865302403274886946270487823054636965\"\n ],\n \"20937005135553053701977948335595971581785402810036375795053890968826456653011\": [\n \"0\",\n \"15163970939241999695892854678877578966995734653454606570895597024101249877044\"\n ],\n \"20634208338592085900693785134000248466955934397034857118521402287656287685401\": [\n \"0\",\n \"20937005135553053701977948335595971581785402810036375795053890968826456653011\"\n ],\n \"15414379160445691848004480681733841355812523524336927964421972345661815319666\": [\n \"20634208338592085900693785134000248466955934397034857118521402287656287685401\",\n \"0\"\n ],\n \"17318470471249816235443496083417846294504767614566871588446286746312891385293\": [\n \"15414379160445691848004480681733841355812523524336927964421972345661815319666\",\n \"17666510146379651130050330917031627760904447315585587127208232112116884942508\"\n ],\n \"15060867976802286735530844027497412200758766264716727903768701632616774921460\": [\n \"12764160590000238757611617273993395722570783461375727160041173863671909638605\",\n \"1\",\n \"1\"\n ],\n \"14244120590406853849537051657977542466798134922687779777555887774920410856077\": [\n \"19738592554451036581795563883113682610321669756765504828128420147396487979289\",\n \"1\",\n \"1\"\n ],\n \"12693746125656234170503740015643204313145571062553506436505325160763789197339\": [\n \"6007236437477725144389923737903123847930879225920360696358917619742193049680\",\n \"1\",\n \"1\"\n ],\n \"7618399647790582217915303451757372935682454886242819589381254429393780636682\": [\n \"6685696015593875756062230115826992890994336405419793934356939625803538382414\",\n \"1\",\n \"1\"\n ],\n \"5792433888174651941206870252498698235645403245724384815783053712254960575942\": [\n \"2311048961656487043712142600139680385947389958633705815576840367447810977431\",\n \"1\",\n \"1\"\n ],\n \"4552735055257384890602872625984524541628589310726742869826732107827909889039\": [\n \"5792433888174651941206870252498698235645403245724384815783053712254960575942\",\n \"14558771587066920640844440399975651783072523375469028691272295888155903511534\"\n ],\n \"5406535410828256291562644320083604368960778081514953044239173580535260876027\": [\n \"15627444291854082915950943556055916665463283957972871577883844553425408916739\",\n \"1\",\n \"1\"\n ],\n \"7008779688688188466669177076465296937438242329617554556435166887399755606236\": [\n \"12906649132453506304510702073582709569926619850551881677712452392757339316335\",\n \"1\",\n \"1\"\n ],\n \"10449876199599660532137567473228029310589510844200619144347291643307060834277\": [\n \"20285205003812186295215889345971571001287284329340200536480790358497927336370\",\n \"1\",\n \"1\"\n ],\n \"14454459671887586290064743497369965349992191729788001345160976383627089534423\": [\n \"15412145705794372243041291854647327885861494622000917768981606949536492384823\",\n \"10449876199599660532137567473228029310589510844200619144347291643307060834277\"\n ],\n \"12931201814102653373398914131854102156768616184263348005711953777641000808316\": [\n \"2879616667603985543925358498911295812012493058169612780337518217664381299424\",\n \"1\",\n \"1\"\n ],\n \"13254913565127636219819817793959833220137702286563726257036873083959230986294\": [\n \"10088768868672985295049527525096481012833296793485761213315594054938193320348\",\n \"1\",\n \"1\"\n ],\n \"12411514925219415417743123695214452737983434582551953598366797236000517270406\": [\n \"13254913565127636219819817793959833220137702286563726257036873083959230986294\",\n \"5194016964994816437927177617761787361791782212785248711777492499351975667097\"\n ],\n \"10802719691980780504967980811799549173987329656629576465183711565494438931247\": [\n \"0\",\n \"12411514925219415417743123695214452737983434582551953598366797236000517270406\"\n ],\n \"10088296649984118609139887638054596977703584942628491861455219484328905772552\": [\n \"13267335978305128556118788643292061484185837341685280260375370460482927795518\",\n \"1\",\n \"1\"\n ],\n \"7555098382344339131102787470799424164275572864834231030555852540127451422690\": [\n \"10088296649984118609139887638054596977703584942628491861455219484328905772552\",\n \"21670244110176994284211045472674640267375205646084433209795367962804320968896\"\n ],\n \"13726574377952096948697610491584754991406124676461583119827888865583661118540\": [\n \"0\",\n \"7555098382344339131102787470799424164275572864834231030555852540127451422690\"\n ],\n \"10588680252236844830100044187349114619341818756887740473948050337307934392853\": [\n \"0\",\n \"13726574377952096948697610491584754991406124676461583119827888865583661118540\"\n ],\n \"18572404245861438228742333101788261161110386135190295564208859789983083228075\": [\n \"0\",\n \"10588680252236844830100044187349114619341818756887740473948050337307934392853\"\n ],\n \"19090543106755519388487470554917409298902593934829001789843527675819815456072\": [\n \"18572404245861438228742333101788261161110386135190295564208859789983083228075\",\n \"0\"\n ],\n \"9153738016680274457868688947438662868971821859427007974302691087222857361727\": [\n \"19090543106755519388487470554917409298902593934829001789843527675819815456072\",\n \"0\"\n ],\n \"7104119560715641002005609397574268873999489105019324908479480269733284729252\": [\n \"9153738016680274457868688947438662868971821859427007974302691087222857361727\",\n \"0\"\n ],\n \"10014130361056876314554704962512233992675950888012731000931123858118098220265\": [\n \"7306895125071999572920327643803859039893184944296711029715311251640299340778\",\n \"1\",\n \"1\"\n ],\n \"14186426353673948988899298363009450838556835089020799320828093716966807307584\": [\n \"11415983656454557476051404913809460853224871280413324793626495300544050805169\",\n \"1\",\n \"1\"\n ],\n \"8184812689939272694946832788648176537820426805028651118332800382667682311363\": [\n \"15238565246006887280007895704897659737189546476987771720300301200083396009148\",\n \"1\",\n \"1\"\n ],\n \"5785882410603764202925126689778322451014989166779864308310671507761817039167\": [\n \"8184812689939272694946832788648176537820426805028651118332800382667682311363\",\n \"6679016530437989437789539889200353586183588425474444657756464423016926373925\"\n ],\n \"14755646275912590182188748232898547889894319828456165724254974850944175885207\": [\n \"2869727822026217948050646503138288304745325827530200272876447403893846867793\",\n \"1\",\n \"1\"\n ],\n \"7105572884564439387617883399259633609949974843687555655994901324643954092224\": [\n \"11701553931210655631950474824753842783695202594088401759866911557735149525923\",\n \"1\",\n \"1\"\n ],\n \"179016586751449076939390129563350808218370749333424022070199398781467295492\": [\n \"10761731754583856496867561608787538118937462611396647380332074945078125923466\",\n \"1\",\n \"1\"\n ],\n \"3560844572017313509400322349943392314373919336996181275080892586387359543233\": [\n \"179016586751449076939390129563350808218370749333424022070199398781467295492\",\n \"1034189756949063590685876129597678822430098954035172225118412730833160759469\"\n ],\n \"13588988732716624380053841673786082091459061530546406031409250240346116352626\": [\n \"3560844572017313509400322349943392314373919336996181275080892586387359543233\",\n \"0\"\n ],\n \"469054250498717384453512157243786514060279960490522763492834800110333056358\": [\n \"13588988732716624380053841673786082091459061530546406031409250240346116352626\",\n \"0\"\n ],\n \"5723551022104617579721699379908256819541791913523946904939859754136495135906\": [\n \"469054250498717384453512157243786514060279960490522763492834800110333056358\",\n \"0\"\n ],\n \"20274220583462721612776467014070740466825379673684612879520905848787038852248\": [\n \"5723551022104617579721699379908256819541791913523946904939859754136495135906\",\n \"21419161047682275597062226228683229706746927237257623987225535085815202013274\"\n ],\n \"13392202330697917935834426849733617911390999251209726896603148274716676097593\": [\n \"20274220583462721612776467014070740466825379673684612879520905848787038852248\",\n \"0\"\n ],\n \"16557991859084739289163604694146981963316445880620679131607278311011948225604\": [\n \"15718977092144863856423054393872637878213814558533579095084188182038546596219\",\n \"1\",\n \"1\"\n ],\n \"13746908519184208003570406127601347619340191258614935393822211446502827110895\": [\n \"5603039430014602774175950303933248302579686888489762534793651930701926683386\",\n \"1\",\n \"1\"\n ],\n \"3230315199867642666689401154920948948174773724917865920553506359048331962649\": [\n \"4293141309627499668989948470955926833723192267221703934946341024059938659599\",\n \"13746908519184208003570406127601347619340191258614935393822211446502827110895\"\n ],\n \"5164948452267551658120806065216099826980142361052592605737686966157710455666\": [\n \"0\",\n \"3230315199867642666689401154920948948174773724917865920553506359048331962649\"\n ],\n \"8137874181841740881586999530919954988903049419918991489193232197796651095497\": [\n \"5164948452267551658120806065216099826980142361052592605737686966157710455666\",\n \"0\"\n ],\n \"5031928539584989191243224119191918892671346537497582789244134075129081144299\": [\n \"15220045829764747358066604974929883113684451860266114132260766060255014534223\",\n \"1\",\n \"1\"\n ],\n \"5760737507413527869643623438897560093152529199609181014918677727318510935158\": [\n \"20852864436372199968549776746563914627775707587374767221588479748617987502640\",\n \"5031928539584989191243224119191918892671346537497582789244134075129081144299\"\n ],\n \"15880966363464895934039049067937036613675221357521380691804590745970866099307\": [\n \"0\",\n \"5760737507413527869643623438897560093152529199609181014918677727318510935158\"\n ],\n \"13066422797376708828884825862787904447865989382385463394093376104996960901827\": [\n \"0\",\n \"15880966363464895934039049067937036613675221357521380691804590745970866099307\"\n ],\n \"17907535177152960071579340741547647288311743865216970340067321042232655441173\": [\n \"18311228466257535503695125577109438022852018326431379092461623268792877762644\",\n \"1\",\n \"1\"\n ],\n \"12579956248535072329051027595898861908524260169394035488978128083432321668973\": [\n \"3395331216245252506598192631147183219951667278504626174554457693723980334179\",\n \"1\",\n \"1\"\n ],\n \"11890289405039672754628175106106553699613620500566639473598677072665528089764\": [\n \"12579956248535072329051027595898861908524260169394035488978128083432321668973\",\n \"10426366070630092078992417382702358867609321327333938613440883448528517782536\"\n ],\n \"16919610807929440528141371537585058016020034169711613647558106150699465377276\": [\n \"11890289405039672754628175106106553699613620500566639473598677072665528089764\",\n \"0\"\n ],\n \"7709176278865294186377272681568146777773101255262443327346489203111026811389\": [\n \"16540593267368534689127350873454298879333372618132769526107068933128071369195\",\n \"1\",\n \"1\"\n ],\n \"17600917991850048774694555479568875509635303516372093840935672886066997777781\": [\n \"7709176278865294186377272681568146777773101255262443327346489203111026811389\",\n \"4065850390125891870019110937891390263878069662850002916036271869195242317106\"\n ],\n \"13426709345382055166254144408953121776568294296579789487673811300058857630635\": [\n \"0\",\n \"17600917991850048774694555479568875509635303516372093840935672886066997777781\"\n ],\n \"17116543641916693458876994243858339286125848163317680339795631801205955312754\": [\n \"1967026505745516151183452690163997267795360937638651102034573769881843230344\",\n \"1\",\n \"1\"\n ],\n \"15944432934307626243517208349891562449937201613667140778992295981294975103449\": [\n \"3882728134821459898881464423394449153995274627183205926816070468137611075073\",\n \"1\",\n \"1\"\n ],\n \"3663868353732871700065212272036076577541058025630323433398438102549798298864\": [\n \"14185387542714770810026317471423169641111072091954612886756837713550233178016\",\n \"1\",\n \"1\"\n ],\n \"17570134746567763069315110998398572514954894714293422196989704066085499787792\": [\n \"15386747095544945004939286928451948825764569823989762453832656391304292398853\",\n \"1\",\n \"1\"\n ],\n \"13145435917739228156103253196368061810403873017941923961095036242079979723701\": [\n \"8929671941909460210775605432210361240861305447427735741463028329893868980325\",\n \"1\",\n \"1\"\n ],\n \"1751343369275187864315058155721552510032888219471312956375054144247735645353\": [\n \"13145435917739228156103253196368061810403873017941923961095036242079979723701\",\n \"16965087076545516254935653404058381824848291426681816442098456865842824940520\"\n ],\n \"980712154111092864183267051111896752603401045821554406103647875218710335766\": [\n \"1751343369275187864315058155721552510032888219471312956375054144247735645353\",\n \"16819131780653976454698162939855874003596188387261966282825781192874058373583\"\n ],\n \"10820148296656408086580101661150604529856642047952015447915658756324583711806\": [\n \"10928413055176359470217644946092054888434762909386451061738433509905217841820\",\n \"1\",\n \"1\"\n ],\n \"14981916837580762707714527349472697734108566343280894304047780927373487757795\": [\n \"20503442249779878909628295177250737420632373281819152456144061627676531288690\",\n \"1\",\n \"1\"\n ],\n \"3383842693912249391386319858360674748801600710106305181061378647610306228927\": [\n \"14981916837580762707714527349472697734108566343280894304047780927373487757795\",\n \"11752862560012518338603422728406795514328338742431122688378630419714967580816\"\n ],\n \"9743676671964973992088986853199084269347720729623612644731929427266253451446\": [\n \"0\",\n \"3383842693912249391386319858360674748801600710106305181061378647610306228927\"\n ],\n \"16732947306578235540048290115283574119058001844714504995442709216926741621518\": [\n \"1542703045176873935525828675844745634403848425378300136497219147166168773099\",\n \"1\",\n \"1\"\n ],\n \"9649192918709595064602671633514711007620899253939526186187279458676047791661\": [\n \"13426709345382055166254144408953121776568294296579789487673811300058857630635\",\n \"16732947306578235540048290115283574119058001844714504995442709216926741621518\"\n ],\n \"21574790487687769182843174539426216635045846579160058718085711299820206450290\": [\n \"0\",\n \"9649192918709595064602671633514711007620899253939526186187279458676047791661\"\n ],\n \"7086650016603606913221214337940259452594949400254766066952923061684820648427\": [\n \"21574790487687769182843174539426216635045846579160058718085711299820206450290\",\n \"0\"\n ],\n \"13182554459485375466595819579144506776642492356022818005568362439286266848482\": [\n \"13356870176570461462614193908575906763171821339332758096966996182843335290153\",\n \"1\",\n \"1\"\n ],\n \"7930595965919806557933027614507913179884748443056643105558927176533798967717\": [\n \"21514896293091342441820592038186848261324444303038039663616303933899483177896\",\n \"1\",\n \"1\"\n ],\n \"18613075992592770942931607334744478010452406292427589095635924362578031277910\": [\n \"3936316809715421034860420353360786576444001964591398099361632058170370289701\",\n \"1\",\n \"1\"\n ],\n \"10673407088329991294478021465729262123264681202019181143153720552997191941042\": [\n \"19284739037746376082916077937439495864722900299528381569511593736212989200552\",\n \"18613075992592770942931607334744478010452406292427589095635924362578031277910\"\n ],\n \"56428904265568759536136091920800354925922591418035220346478555384501025194\": [\n \"0\",\n \"10673407088329991294478021465729262123264681202019181143153720552997191941042\"\n ],\n \"20863587765903824086354830956941482686146343139775851999646889065448977371275\": [\n \"775657565290465364108966930575557406071876917056499453728735420574908093425\",\n \"1\",\n \"1\"\n ],\n \"2141328176766450483623527392066417330088248999652185593955992030205774785698\": [\n \"10583405216448841502009581502935981286842333878957009625407450985494101645687\",\n \"1\",\n \"1\"\n ],\n \"9439032723927482178481618970110156540564178025165835020186296335805391232994\": [\n \"11165100861984102490645129001987286534391735448704647516337072674543710154057\",\n \"1\",\n \"1\"\n ],\n \"12443035527019440719852994908284503981891655701197258384902175896707608494476\": [\n \"8442580067907035007095008318113080032509438337852136675563856498166383268866\",\n \"1\",\n \"1\"\n ],\n \"12593877007849403709989417576521086726566297475301268934278313414679574948938\": [\n \"18901659500537183211859649719526418414833042668108838770509973127449852191663\",\n \"1\",\n \"1\"\n ],\n \"19954017611935854138933514164496398500130587744702056614158448750426084788863\": [\n \"13878012915769711198389321793279816532431274088206560354283588529238108521723\",\n \"1\",\n \"1\"\n ],\n \"9902756758609389811834627615804539915936865803169433785779154628094577505748\": [\n \"6462274881448115859038632473800039149993091387341035806156455028937863630943\",\n \"1\",\n \"1\"\n ],\n \"5849354692533368188745776385770605266355634582719450859245857341165481308547\": [\n \"12626818599984296381523174643104886410458764238653743898978404979531052964170\",\n \"1\",\n \"1\"\n ],\n \"7637811450559022767703590700400072180617097499400329669084874069159492123928\": [\n \"10658701689831494144721402908980170358090638572217354579459209765787706692373\",\n \"1\",\n \"1\"\n ],\n \"18249380945209383278723407218121582866374818177789721671222033168333708327578\": [\n \"14506150565942876944305261001350300719330328355796923481859150505867120491278\",\n \"7637811450559022767703590700400072180617097499400329669084874069159492123928\"\n ],\n \"5462875439367018939214857886343783050513238655713260007949145563397699697631\": [\n \"0\",\n \"18249380945209383278723407218121582866374818177789721671222033168333708327578\"\n ],\n \"18739935904467363862544060795450863402262853112526742869263379446669098896608\": [\n \"5462875439367018939214857886343783050513238655713260007949145563397699697631\",\n \"0\"\n ],\n \"2994949702013648296966804878495613224005326055770680657826559619575882207769\": [\n \"15532990402799775119457990895890405691546997856212366411432877218069260514085\",\n \"1\",\n \"1\"\n ],\n \"7924155479229456887420596709442225289057236266166585979365337166770083081996\": [\n \"13174982801426836769344201851853437546743683566333795010901400828883324232566\",\n \"1\",\n \"1\"\n ],\n \"3353550026296146485368408624795825349954841298859290464126254739696458503639\": [\n \"7007938805840503856977313771377872862834358049872645863356158997969897048812\",\n \"7924155479229456887420596709442225289057236266166585979365337166770083081996\"\n ],\n \"8580082422971346106888998460747593371157293585960015339396969361144185186239\": [\n \"3353550026296146485368408624795825349954841298859290464126254739696458503639\",\n \"0\"\n ],\n \"5189992819188543863216509925890064434673095188378544355260563831298386766901\": [\n \"13408256073158018226754745882084378828242525093385594084109197865388997286599\",\n \"1\",\n \"1\"\n ],\n \"3686643815110498405274760694736935627018033929685600259047760272889949296628\": [\n \"4599482549587111447832198055634389418510542274407790082506802374087195843612\",\n \"1\",\n \"1\"\n ],\n \"9720701974433208113736549120802747791102320847018979677837649123878133026621\": [\n \"20518836285381987899311019777910017299534575452600510774693387826668409725068\",\n \"1\",\n \"1\"\n ],\n \"13248339530842106074316647099689686169950935578038861167017446653928416417668\": [\n \"6784064675643571369840458906193193091071966306951524761403110859843937198384\",\n \"1\",\n \"1\"\n ],\n \"14279621133706505297281363430263938397825604514019163293128619531581352399374\": [\n \"10980471395803378298670254969565778744442685286019022245907616989286317620394\",\n \"1\",\n \"1\"\n ],\n \"12807538258854551202322919121460240090932750711252659054914486741860901149190\": [\n \"5863098676339168336633878866076748303618430499191880211804110418847331578069\",\n \"14279621133706505297281363430263938397825604514019163293128619531581352399374\"\n ],\n \"6356785092009351091040508384766950502442344866713217960034104219424015347353\": [\n \"12064603432995947516235455170563071970003136912315943664961809241379869455480\",\n \"1\",\n \"1\"\n ],\n \"8039569229852277684905371197650221286187966885858495327352689938472285057032\": [\n \"17733819659173312086178635754231509711948674111506376778327758040873837307522\",\n \"1\",\n \"1\"\n ],\n \"4047548341525002181061075088135098017836581405677665574104446264180127132031\": [\n \"8358912298593426640263477460930083781115302691260618997490697122803185252384\",\n \"1\",\n \"1\"\n ],\n \"20012283313732058178215453900916958320316602909825182080650630611310093975112\": [\n \"11726539134930410130369609848251577145246554065212177846468064211151915954257\",\n \"1\",\n \"1\"\n ],\n \"2677336250253756053280439103339246266626948721848957895043166575315379190157\": [\n \"13480631041413231309563643820367608507004038474327784178007686068598860493860\",\n \"1\",\n \"1\"\n ],\n \"21882941281451403158913447381203895692834074473209366240285574437843369526187\": [\n \"2677336250253756053280439103339246266626948721848957895043166575315379190157\",\n \"19126442794743866882609606705351245045849547150225094381115723007612340086181\"\n ],\n \"11313486670090368465313894179216376036440939939270734122874852274170662421737\": [\n \"1492508656883490942065157526423277041372305172913687435543026304039525941152\",\n \"21882941281451403158913447381203895692834074473209366240285574437843369526187\"\n ],\n \"16808846686599472013141703634317289779785878715055670280946449248566028491783\": [\n \"9367300252082718622732931406657815784542155040013289316044277630239848739292\",\n \"11313486670090368465313894179216376036440939939270734122874852274170662421737\"\n ],\n \"20266202036236714397753415516170232417171556375970747926587600670435945754404\": [\n \"16808846686599472013141703634317289779785878715055670280946449248566028491783\",\n \"21237492762953799077096217622592804801855081399012894730725448216675247712875\"\n ],\n \"5288108565397669015738012803410861151485536034550080491423681823574661778514\": [\n \"11041680861585513561759101683138188625636237494786961863400668796980536984878\",\n \"1\",\n \"1\"\n ],\n \"14883290850670429785732252449297428317764208930574565816812075635914981978467\": [\n \"21506409723655612341563207184946208144377798770561955255608106548804673945493\",\n \"1\",\n \"1\"\n ],\n \"11004407203331596952739038618872491814652263974539029664536849764599982832717\": [\n \"17025932718872958779280782166249695136696404628087633876194773085066066180913\",\n \"1\",\n \"1\"\n ],\n \"1301863811965208521230104710276853802772533624680956505197069634996248217803\": [\n \"11004407203331596952739038618872491814652263974539029664536849764599982832717\",\n \"19300845913389511899860683940584645242762905308123836539483294445051169502550\"\n ],\n \"12824667912694300702672086718692414292954292913939540379524548273517572919011\": [\n \"1301863811965208521230104710276853802772533624680956505197069634996248217803\",\n \"0\"\n ],\n \"2269131510510908250485475922072993510029972982221568096825284252777851613372\": [\n \"12824667912694300702672086718692414292954292913939540379524548273517572919011\",\n \"0\"\n ],\n \"14514854123552709062200855143389594478012786230894135033366729802194108562067\": [\n \"2269131510510908250485475922072993510029972982221568096825284252777851613372\",\n \"0\"\n ],\n \"11624736441039931736056020126204514482563177157141582138356028523940772754511\": [\n \"0\",\n \"14514854123552709062200855143389594478012786230894135033366729802194108562067\"\n ],\n \"7354835197261939861574948775132401854937507116661929114698552017497348545062\": [\n \"11624736441039931736056020126204514482563177157141582138356028523940772754511\",\n \"0\"\n ],\n \"14741466396464026001747048408415835271024738960097509122426670492107827785318\": [\n \"0\",\n \"7354835197261939861574948775132401854937507116661929114698552017497348545062\"\n ],\n \"18246988707151083287312762749480112979597270833659482712904456595502312889670\": [\n \"0\",\n \"14741466396464026001747048408415835271024738960097509122426670492107827785318\"\n ],\n \"8303621868581857815449200291631774114491374251000494791859794255303910282509\": [\n \"15787874911870038732382911861999908239205989591054482021207283772016514179149\",\n \"1\",\n \"1\"\n ],\n \"12877571119059462809782843726956294592003725910948427272670425511759848819565\": [\n \"5813700556999001730605702935158591759465118036587853152885920072150598336043\",\n \"1\",\n \"1\"\n ],\n \"15686882392034330080914203019546788831920311309261835324061060164185769994206\": [\n \"1363192215503127931109729314199908540730596222867331273267091526541968741960\",\n \"1\",\n \"1\"\n ],\n \"17959118996829976160951640167712386399708897608250974863305889024778476290379\": [\n \"9808029729482049197318772789206607407064025639386480482766576691449620385149\",\n \"1\",\n \"1\"\n ],\n \"10483075088888950857111815364739843971894115421826195887568169941396909277287\": [\n \"17959118996829976160951640167712386399708897608250974863305889024778476290379\",\n \"2341838949691743463293225407894113466714043301559301728515888874157771734079\"\n ],\n \"5621124919693197123350299737791705301615064289610604585146022398376466277416\": [\n \"10483075088888950857111815364739843971894115421826195887568169941396909277287\",\n \"0\"\n ],\n \"21361703103055901932168036255098518199663519702556625431438106989952694405458\": [\n \"16709632062103975098443996783430255071944286160278292851165134611185425662295\",\n \"1\",\n \"1\"\n ],\n \"17130944491154818924617512070333822233446085927449814343109534018821565592009\": [\n \"21361703103055901932168036255098518199663519702556625431438106989952694405458\",\n \"16948710661533436527206244288136424349269685046341865070551167984387775438104\"\n ],\n \"11476121755231090130673390374688694895911680227253355017429929120938189827348\": [\n \"2297914518196811898503260970911528864388442121599440012234993098224141325624\",\n \"1\",\n \"1\"\n ],\n \"1825523967203300843779731914710918000771848906027756526453979280226226544107\": [\n \"11963694844113735863835209891572702634504598556354153580202985411081303972631\",\n \"1\",\n \"1\"\n ],\n \"12825027442749897694577176015093427455736139553549837528737082764732455406406\": [\n \"18366710286851056772070832955426654371398337491358263217888089349964972994899\",\n \"1825523967203300843779731914710918000771848906027756526453979280226226544107\"\n ],\n \"1632103854818413383836374599009128895329731079647109435959515255832244695345\": [\n \"0\",\n \"12825027442749897694577176015093427455736139553549837528737082764732455406406\"\n ],\n \"3552417244289916076108318784301802902679130359344275949937399109288688008777\": [\n \"1632103854818413383836374599009128895329731079647109435959515255832244695345\",\n \"0\"\n ],\n \"15907514921273278518248354460766258185221297285896184944511379523615277289862\": [\n \"0\",\n \"3552417244289916076108318784301802902679130359344275949937399109288688008777\"\n ],\n \"12820770489267602377747577717602637004441333372944884791717446982516392458473\": [\n \"19820298651577854436954873577301879879767091497930898941552522621034751149056\",\n \"1\",\n \"1\"\n ],\n \"9062001307062439932593717228699600852083567844752402781409504036399091406384\": [\n \"4947756907375832731701718610536045871893694981285692467878431423992810929069\",\n \"12820770489267602377747577717602637004441333372944884791717446982516392458473\"\n ],\n \"3984796665646163137296666924490370119152333670431209148947107666855031511248\": [\n \"9062001307062439932593717228699600852083567844752402781409504036399091406384\",\n \"0\"\n ],\n \"14361329036298427602082000689499789145819670939771334897643208252330246210016\": [\n \"0\",\n \"3984796665646163137296666924490370119152333670431209148947107666855031511248\"\n ],\n \"315259524750122756536804441124807070890482435213150734903561867908496368123\": [\n \"14361329036298427602082000689499789145819670939771334897643208252330246210016\",\n \"0\"\n ],\n \"16788101785796484724028724242896432987856199966383194330072491274787492970723\": [\n \"315259524750122756536804441124807070890482435213150734903561867908496368123\",\n \"21250477614923419712967706756481221364527599223890255273211216432317259539628\"\n ],\n \"9995177309381731470626452286539862482694117263964697594896209928846670657169\": [\n \"7865346620156390109116381335255928626726602111856388392258998284267052532715\",\n \"1\",\n \"1\"\n ],\n \"5420328306573399107155507102944807207340040228167578332282285992171003072104\": [\n \"9213989285304160600746957612755418551220932769793499658013903764008795034364\",\n \"1\",\n \"1\"\n ],\n \"1464516071299919897017100362856630802852089396645166140360451456562763401742\": [\n \"5420328306573399107155507102944807207340040228167578332282285992171003072104\",\n \"288490338566774560562501589003831194146323902665428076819825905445472174719\"\n ],\n \"21089647622562555869161087684114371886849942177453066787513306865430790677331\": [\n \"0\",\n \"1464516071299919897017100362856630802852089396645166140360451456562763401742\"\n ],\n \"6507465786347592979039027991769323197549219162324521430699977502611997108360\": [\n \"18148944034263748858769496599425592662171102807674046050767961001881682899621\",\n \"1\",\n \"1\"\n ],\n \"12276067120842419445872199539950673059876689606361534146230314701865201658027\": [\n \"13689536832856785688560107263594019074013409095492674090056189738601096351719\",\n \"6507465786347592979039027991769323197549219162324521430699977502611997108360\"\n ],\n \"2796387175376355623657800351567276397824952602373755190971306690877857426502\": [\n \"0\",\n \"12276067120842419445872199539950673059876689606361534146230314701865201658027\"\n ],\n \"2385058683808619498470548705350596559068605793170394145722553429103950344225\": [\n \"0\",\n \"2796387175376355623657800351567276397824952602373755190971306690877857426502\"\n ],\n \"765194530979520488837571736636023713766863843015969905385518395607332015680\": [\n \"0\",\n \"2385058683808619498470548705350596559068605793170394145722553429103950344225\"\n ],\n \"507199312701918832168559552308980823642892186124681029920072679086542080295\": [\n \"765194530979520488837571736636023713766863843015969905385518395607332015680\",\n \"16373320125618344192635269962768608169647245380697522758408120888583299493666\"\n ],\n \"12466207492782358381278358187902199192479496296962389796037354045466834485063\": [\n \"507199312701918832168559552308980823642892186124681029920072679086542080295\",\n \"3878492135302126862750787551708172360237536193304577645924667101205581476547\"\n ],\n \"20632663927282195727071056284951036538035998697865092703592527533697389651608\": [\n \"358374894753647578335691376890927694186413957880241989369089259432191834103\",\n \"1\",\n \"1\"\n ],\n \"7320726046760183049364244147344080001807613516013232295272230989834936275452\": [\n \"3409628164172326686806483813990745703869200804425607027307594325761165764238\",\n \"1\",\n \"1\"\n ],\n \"10531695906473190105158139149069380610484227076324053174097016918008163868622\": [\n \"14821674852999714045811513083782506911211894534954929276015446987888033594705\",\n \"1\",\n \"1\"\n ],\n \"165683351387211564735034482290945821440421330168316069876261240317245727278\": [\n \"13107598094884129486189460128257997015955775753760579413882086102800573384833\",\n \"10531695906473190105158139149069380610484227076324053174097016918008163868622\"\n ],\n \"8072043343414700389577054262577542600561747020780698522289613464224696489239\": [\n \"0\",\n \"165683351387211564735034482290945821440421330168316069876261240317245727278\"\n ],\n \"8244462539814144221252793550216634466868828158874324283574251476066909856362\": [\n \"18983688248687520487807485485696757812095456866077341425531264654893726538502\",\n \"1\",\n \"1\"\n ],\n \"17481087888003440048000077267950226459896202415331988013424054190270092457910\": [\n \"8244462539814144221252793550216634466868828158874324283574251476066909856362\",\n \"2323795859328826483883981871765498919474058782566043575258821764942917422110\"\n ],\n \"16912004626141979303377736808324552282869647039478355275877700262493138517365\": [\n \"0\",\n \"17481087888003440048000077267950226459896202415331988013424054190270092457910\"\n ],\n \"1383367887631151470803195576659244059337072293242073680874577472560234652218\": [\n \"5648288922422231497371997266630656902317684287633356455175424901467816610321\",\n \"1\",\n \"1\"\n ],\n \"14187865829577900087490018566421790913716264404402954302873667417930156077245\": [\n \"13474428872094663364597887314695795832347117609902088774506267622161546442193\",\n \"1\",\n \"1\"\n ],\n \"1356112671542051256222044028995108987264012904763871851681662745115364213959\": [\n \"6389765435848291507773395079357374528761338762834487605985419312124481415690\",\n \"1\",\n \"1\"\n ],\n \"4251951921527414218477332997497399218721577148885524956797274704676621576676\": [\n \"9011267210271183153179070629124893670909925154785543267298326316105657721324\",\n \"1\",\n \"1\"\n ],\n \"585409632429073589121326714014812974990557693885028562003380501946945294839\": [\n \"1772844838583890334925376635053230298986654380250190824606334473884500539729\",\n \"1\",\n \"1\"\n ],\n \"7176613916150275009584021929638343922132559399599410999501209532272170088611\": [\n \"3455823700451394048501212838691594247870713158760433053440846466254594584158\",\n \"1\",\n \"1\"\n ],\n \"8923465748755808651343497792021123785386672267772762393069517804630597408782\": [\n \"17274514429854532552474681132190710674365082891523369160162662867951769116611\",\n \"1\",\n \"1\"\n ],\n \"16063057972781075888550656269111115203771381008563997143611015087986365086070\": [\n \"4741001381116500865349848530591454649759811124785016808558762907724399270265\",\n \"1\",\n \"1\"\n ],\n \"4887603226026562115963691125909464422018335587268415320833841131986510293503\": [\n \"3433218323697172132783877463330559991232596683917600296454300826015930204538\",\n \"1\",\n \"1\"\n ],\n \"16893686010102824180524103187883134976842047269303069998915291854357781846616\": [\n \"11675692648902053330891451272902369964360103518269429182654463611870044866574\",\n \"4887603226026562115963691125909464422018335587268415320833841131986510293503\"\n ],\n \"18130935507633193969962484795549385671461090922722418915807679049183483121607\": [\n \"0\",\n \"16893686010102824180524103187883134976842047269303069998915291854357781846616\"\n ],\n \"6023811613086281741068521682778048429527152658767872480950276183583179116429\": [\n \"18130935507633193969962484795549385671461090922722418915807679049183483121607\",\n \"0\"\n ],\n \"17072348282461791485273667221763155511179755270598063799158367125113069343777\": [\n \"0\",\n \"6023811613086281741068521682778048429527152658767872480950276183583179116429\"\n ],\n \"11784225411623219606832316119793440360044125514966902146383326524832461548084\": [\n \"17072348282461791485273667221763155511179755270598063799158367125113069343777\",\n \"0\"\n ],\n \"11777708046052044512133580185240573489429415871620049465499014706338254066020\": [\n \"11784225411623219606832316119793440360044125514966902146383326524832461548084\",\n \"0\"\n ],\n \"16507595555708907753846196411172866765957076837129906971092521553279182876821\": [\n \"5180421030531193907652391060820327016985331426909952095037670092379073345041\",\n \"1\",\n \"1\"\n ],\n \"16339872980846187586923554395927267525722476717595993496585860527236391797981\": [\n \"12090745807916520485362156896185132471103320918140275208986411519405504541426\",\n \"16507595555708907753846196411172866765957076837129906971092521553279182876821\"\n ],\n \"8347438782867466744297045250174194530722140810933846632311308628412179701948\": [\n \"4413453408734939293559933848369091719672958245029091967758773526173653043804\",\n \"16339872980846187586923554395927267525722476717595993496585860527236391797981\"\n ],\n \"15378656612430691776443824014167351537872585278383437075807731985143439877001\": [\n \"8347438782867466744297045250174194530722140810933846632311308628412179701948\",\n \"6620000032716449373187335791334030826754008598807386219703216249000811624095\"\n ],\n \"18155759580148813506033055993583466801865536655951659564103654916638754437126\": [\n \"9854308125408061108770286242246477265006987849473319477371693604789768504152\",\n \"1\",\n \"1\"\n ],\n \"4425681972783711161315256846577964601725427552013328711012954158171501251767\": [\n \"18155759580148813506033055993583466801865536655951659564103654916638754437126\",\n \"18239895258299049301886266471069832464736528240536862068384941270311181232080\"\n ],\n \"6587526813172101575681796853306617438639744964521721042642404877240837920780\": [\n \"4425681972783711161315256846577964601725427552013328711012954158171501251767\",\n \"0\"\n ],\n \"20648260346198931863685724098634265378586695462926414805872968085103136908742\": [\n \"9128125284851079932618489728133325713220670983076844274303862840045179587994\",\n \"1\",\n \"1\"\n ],\n \"12124941733063497091688332730373997069059495566514792380980741191381001120627\": [\n \"2250213525880190918420361857902667108283024695840284637107951303642907605697\",\n \"1\",\n \"1\"\n ],\n \"17407143678864623892136178808852479788853877988362488365235753141483145297862\": [\n \"18289627078418820889596435139317574830922336018055310236718497793293587549000\",\n \"12124941733063497091688332730373997069059495566514792380980741191381001120627\"\n ],\n \"13982819230130485083402363634315289533179085591496573295286597344586747515191\": [\n \"14051645849299754026014929930694286899618305622274855452123416855854834322795\",\n \"1\",\n \"1\"\n ],\n \"16572603561811996232843861705256347569417010433125963919378646347262092131869\": [\n \"16146702723964358842566528803297373962150749630093935589206225441883336553428\",\n \"1\",\n \"1\"\n ],\n \"1497878122503275492778127924214287741516403121019248872915200065653431230244\": [\n \"1772434947695334629463079417105266683987964497430165179084442094473788769897\",\n \"16572603561811996232843861705256347569417010433125963919378646347262092131869\"\n ],\n \"19192603867155163683577129009647120917432892731953474850812347541478737032579\": [\n \"4074862463755580695195230760085877369215504194689260805465097942488744367305\",\n \"1\",\n \"1\"\n ],\n \"7554858682054258448720377036633061078624669035991967830854306798080694827191\": [\n \"2719642453322706643587504647805912461909745623545047520263931896376600979036\",\n \"1\",\n \"1\"\n ],\n \"5330249097138623162002408482862692801155954514075048570174421778292479446000\": [\n \"7740767893833978577053444829419293918733847075064557798249456352991579138035\",\n \"7554858682054258448720377036633061078624669035991967830854306798080694827191\"\n ],\n \"18493958133691667365710885627349585616837914310963219882887696117082555046024\": [\n \"7672643489018701979767074111809098316030820168602641820227288330096577623269\",\n \"1\",\n \"1\"\n ],\n \"20045318572690624932232256877466722020108515742794203825033504331391646807009\": [\n \"18493958133691667365710885627349585616837914310963219882887696117082555046024\",\n \"18739027969035050418309484172178268146151578038386606134552880060708975263586\"\n ],\n \"2536495980510625977965693290867207423511007389086292958510163399800378098978\": [\n \"20045318572690624932232256877466722020108515742794203825033504331391646807009\",\n \"0\"\n ],\n \"21206385164343309296566700467713694796132560802244352328124425932041981880739\": [\n \"15264885021345772111741277776595347916671521351946337516154761422206749594866\",\n \"2536495980510625977965693290867207423511007389086292958510163399800378098978\"\n ],\n \"21666700082226391740071283664756610185267102249274581883616994590396812840133\": [\n \"7514451349482996431426443902770691751711504518389185180724785585883847716394\",\n \"21206385164343309296566700467713694796132560802244352328124425932041981880739\"\n ],\n \"5606534383083781097751464878622882306499905205726152431370105907152497366156\": [\n \"7725359892767875915012198730180471202028102134067016801813304154641635591770\",\n \"1\",\n \"1\"\n ],\n \"14289287805497107888986331217418300395311934484770958446116881366538328419712\": [\n \"5606534383083781097751464878622882306499905205726152431370105907152497366156\",\n \"7251914122027201971232171603932360220992824661141134049205461519420135579044\"\n ],\n \"10610554527155726160514051979291232899073887270051228514127279027132448135500\": [\n \"16077072410353739219491150348691017263146160001880462883878849888160018493577\",\n \"1\",\n \"1\"\n ],\n \"9287780245242627026858989060582638297890822572525693800960195571874571973655\": [\n \"9343076503700956744852189434667107421761267061274409821674315806416324544784\",\n \"1\",\n \"1\"\n ],\n \"13879425098089991292219359484165037416062098210412633930931189452376310784350\": [\n \"12143814399759006263861665173655442685482606555311939495648435776766844325498\",\n \"1\",\n \"1\"\n ],\n \"1686394928667299499899688044285231824522972250188779136818867324266387941426\": [\n \"2705148619396293558278048518468911204939839921944467852405701069737166613161\",\n \"1\",\n \"1\"\n ],\n \"3727486635215251072656832131806039441146145871394548573788354609087627668448\": [\n \"7538410881365880305990462247854630804102380921461960684709556013329367987665\",\n \"1\",\n \"1\"\n ],\n \"17747381954090430143077407785412465552045401804045850899304373017329381551584\": [\n \"3727486635215251072656832131806039441146145871394548573788354609087627668448\",\n \"14187865829577900087490018566421790913716264404402954302873667417930156077245\"\n ],\n \"6622490977095992167674947997502180853306928306901602951202757619319510606475\": [\n \"17747381954090430143077407785412465552045401804045850899304373017329381551584\",\n \"0\"\n ],\n \"8466462642554288328561798631011054898073401155679369876746914684501207078296\": [\n \"0\",\n \"6622490977095992167674947997502180853306928306901602951202757619319510606475\"\n ],\n \"20747713421390402693779191420362866264815302217457865987859699682755691522555\": [\n \"0\",\n \"8466462642554288328561798631011054898073401155679369876746914684501207078296\"\n ],\n \"15737118897629458690914440810443855090115274916777942647331521300479480589455\": [\n \"12720622244453116250062464323260752218617785994086843418817452214290750198952\",\n \"1\",\n \"1\"\n ],\n \"15539045436203083262216374701751383621725137176917183586585897574613998268713\": [\n \"5559642799930571114537899922574318568735790337075208531314468075477480374794\",\n \"15737118897629458690914440810443855090115274916777942647331521300479480589455\"\n ],\n \"5306023133579053260544141238880416911566769989359237543286825431637774140906\": [\n \"15539045436203083262216374701751383621725137176917183586585897574613998268713\",\n \"0\"\n ],\n \"13626934408529381671007074842736291333617229655029370278397579568139126463015\": [\n \"15598672473717585876299193759303593755614091821704075106866078267044866085178\",\n \"1\",\n \"1\"\n ],\n \"13381510104108759766437900972550156147649379084681057639847761107785363653104\": [\n \"4902507092733477134731908636537543957853983677814307471011481012486086684428\",\n \"1\",\n \"1\"\n ],\n \"10987723888672671587868752787861030262884517469276298906182604071830822742706\": [\n \"1200734017517025132403438817933248362767466466442154841112118759506483047736\",\n \"1\",\n \"1\"\n ],\n \"19227735744624808849399983197621111736685421491633700048103464171222080080487\": [\n \"4200071928195790243956565187309923586071524989706305173563960402386565590271\",\n \"1\",\n \"1\"\n ],\n \"7109851146551671068223505344311388392674633361489266754392841659946633594850\": [\n \"17047793542090539191497608466210710039540957031693605951088298099301855528562\",\n \"19227735744624808849399983197621111736685421491633700048103464171222080080487\"\n ],\n \"1134449347486645998413690614376424174800047692040487907777927183712772064203\": [\n \"4759843808090282596325475963124942751408037668891592905416852486654176284975\",\n \"1\",\n \"1\"\n ],\n \"5309142064160620326675358275403092603144549750551383225814212097821398661222\": [\n \"20315056646777586368972156182981331261796834295775916635325186844318037285281\",\n \"1\",\n \"1\"\n ],\n \"3944735411556856347871198407382441771802140793110246661871669043955569795026\": [\n \"5309142064160620326675358275403092603144549750551383225814212097821398661222\",\n \"2030920489590324544756587867940768989073756650681667091599717805582061082057\"\n ],\n \"14110689679151502185286592935883169738187145777647996866490534203633643173697\": [\n \"3944735411556856347871198407382441771802140793110246661871669043955569795026\",\n \"0\"\n ],\n \"6266853689396486305468301994730038696194040690232205246509653351588313886023\": [\n \"0\",\n \"14110689679151502185286592935883169738187145777647996866490534203633643173697\"\n ],\n \"16331973632492993668842910044544963590414398365966922624654176804354601356530\": [\n \"18291505347272779371055311879330639526626861893862046178800859607913547970559\",\n \"1\",\n \"1\"\n ],\n \"5878047247385999048900136526871140845902577060219892220760590539064227257987\": [\n \"7016738095297565535946377660173103185469432867705680255243414404124566103130\",\n \"1\",\n \"1\"\n ],\n \"11072682014697051298756810485558074976976156207576155526374827325349206381963\": [\n \"1210690546614320656274844183868674572284012610241553033793741140763559496065\",\n \"1\",\n \"1\"\n ],\n \"8612403181870690500750002924844248968795283763738588695117060678216955467792\": [\n \"11072682014697051298756810485558074976976156207576155526374827325349206381963\",\n \"12797365429450880409472568934314826580284764022757115542251818760069434986854\"\n ],\n \"11504000177642105074881015671821446401414845785031314263189145809949718765641\": [\n \"2356546260399811056498289898148157691363801210218514427828092377650795124060\",\n \"1\",\n \"1\"\n ],\n \"6578161713738597918066249496509762949355322314430491729905297690104344197507\": [\n \"20085996456186034891360864359329326010904733251850522115556033478795497668093\",\n \"1\",\n \"1\"\n ],\n \"9754408257977043883878471325758754051962616605404009979813849384069150460738\": [\n \"5984310554160081527113572786681368456251690263763449788056847451533667618503\",\n \"1\",\n \"1\"\n ],\n \"21280071268180094506225560247858650767549464236602131535197029818492930722669\": [\n \"14689971721194963716310339707753085506586768644717852219916710686666139698144\",\n \"1\",\n \"1\"\n ],\n \"20986327852796919944803018735442337432222503507673319747224177536708503188046\": [\n \"15380173447445117152243839285574054865039704064983508249114425440082645507926\",\n \"1\",\n \"1\"\n ],\n \"18731252373228020193465759319835133092656201160285320763325438065961022316998\": [\n \"16721781844053697815036906403130251250956514704427472768457335108340365573592\",\n \"1\",\n \"1\"\n ],\n \"17276493063040632903746722607769866918235457049627077828287776210404562889321\": [\n \"13810292865147462486177451160356909722897748537727128399983831843544997090995\",\n \"18731252373228020193465759319835133092656201160285320763325438065961022316998\"\n ],\n \"3727036594042601717184301651498850366677206336833903072941007810991740578492\": [\n \"9076229736238283162406267407290306574175234599077912067718760496598728298748\",\n \"1\",\n \"1\"\n ],\n \"274509251357502078509383538690639848003267270943685632937116221914856469816\": [\n \"3727036594042601717184301651498850366677206336833903072941007810991740578492\",\n \"21460333289114742504739423892038025407424795670911620045035904143216519241203\"\n ],\n \"19568640817123188057632425317393590504784270533625729169474335113013307729029\": [\n \"21173375677538544535031965714777273360763255203156023552194490640982569409707\",\n \"1\",\n \"1\"\n ],\n \"7840691920373378195466169586801607099185736159027493801437350289869846150124\": [\n \"20902049334601170808332855812773798860759778159004881460721050336503358174001\",\n \"19568640817123188057632425317393590504784270533625729169474335113013307729029\"\n ],\n \"19528600850811188079037999829668504497174381646668250156217085390446112537408\": [\n \"11875141635468203141903005251877400014702242090691073227996392309222988998242\",\n \"1\",\n \"1\"\n ],\n \"21370986376531307511171221921867963054008861693557806250100583766382055860084\": [\n \"21348950158585255910953580981973471622963350749631280776286455611720373790307\",\n \"1\",\n \"1\"\n ],\n \"11216759725772527952919493264397033442360882658689048956872847175507690109816\": [\n \"7090216878637642666747995440939582408392414313708283446508208932096878310171\",\n \"1\",\n \"1\"\n ],\n \"15163385250317778477409910553988098622347163692771098364659409886449884700143\": [\n \"13912643779521687358780542402781817016477469493105511721576476435412340064193\",\n \"1\",\n \"1\"\n ],\n \"12548401870592363261164074261830200943012884175839488228312711620020694770774\": [\n \"20725651784723678824696317765272183469865134389750455905197106490978322583957\",\n \"1\",\n \"1\"\n ],\n \"15531654683717503602402843387551957802424580788395216238215066183437450712285\": [\n \"51658507356026794367529717826469652994822864755885081369962282906974788638\",\n \"1\",\n \"1\"\n ],\n \"13670624089857304596106918875907629060556180672207586006882827460779551242044\": [\n \"6597226142319959455278901915876542419467143110276407344531340253966486804604\",\n \"1\",\n \"1\"\n ],\n \"14649695571664500809605037578014521728584187282787592144798862110174848709591\": [\n \"8438040653184337494397275298636376776507599853744294650758659051161763253639\",\n \"1\",\n \"1\"\n ],\n \"11387266892657930886590673881306554565030912299407311346670157405913826695704\": [\n \"9883366540437349534574794217930020663307987339028811664687722660079982141919\",\n \"1\",\n \"1\"\n ],\n \"12022582734574363242637814277760743762109701665736175812616015094786758762322\": [\n \"13136459253117900703810766098628732119395436403339175691803039610119009697217\",\n \"11387266892657930886590673881306554565030912299407311346670157405913826695704\"\n ],\n \"8814443800070814595209954174548938554531809207606687799090080423811387833440\": [\n \"10565161300218271564747438108456871763235043049994126027895745112733646331957\",\n \"1\",\n \"1\"\n ],\n \"4205545723808302579152025924807041927576008097943381427418297974488555492583\": [\n \"8814443800070814595209954174548938554531809207606687799090080423811387833440\",\n \"21404308038778464534394965446190162827351034903277644554442303304212184275944\"\n ],\n \"15767793809744917382237821445533879960180168697349792132715511777071966526353\": [\n \"11053659372994185182038264666145473312455509759332436104617650550516415368661\",\n \"1\",\n \"1\"\n ],\n \"9834101501102464337725042775172506856983325405965584972676453224729965733631\": [\n \"11992184080796359144992444706036828394974028261659269556206503971722752095012\",\n \"1\",\n \"1\"\n ],\n \"18826631812287229532191551563580299400414338179436093045073037900232511763670\": [\n \"3495561662616662046448661403408050530800493816509286881557122692611012922114\",\n \"9834101501102464337725042775172506856983325405965584972676453224729965733631\"\n ],\n \"18107552145808469864469795045443510190640504941118585089757274795148834033193\": [\n \"0\",\n \"18826631812287229532191551563580299400414338179436093045073037900232511763670\"\n ],\n \"5301896024001810709433651065818534730667407977942829748625307573356012907094\": [\n \"10641841171772200259195269214109032635602657872419759367395232507511361125969\",\n \"1\",\n \"1\"\n ],\n \"1477575208487613555237889408458730255713887650965137992480089413120427768184\": [\n \"6568311564480679982576139725200697069245249180155437165991334134569208960345\",\n \"1\",\n \"1\"\n ],\n \"8832132918649932406435480833512299023760644415710185865168434803443816802365\": [\n \"11905873323720432697737757251416089135890803172632564442761154011309182659037\",\n \"1\",\n \"1\"\n ],\n \"15084952908600924518554049780418810383354816393126704763542717054834333224412\": [\n \"4891286509399254183198194636079165420924780812185622757143817535011598545486\",\n \"8832132918649932406435480833512299023760644415710185865168434803443816802365\"\n ],\n \"4216164672948977098450457771931964424822690932070454761260620836695705111321\": [\n \"15084952908600924518554049780418810383354816393126704763542717054834333224412\",\n \"0\"\n ],\n \"18254571309840877364849922917537137855939080997891732583600997598393930214028\": [\n \"13796858086495574720569830636113779938709562367897461198657823732286935333623\",\n \"1\",\n \"1\"\n ],\n \"5033067057327717070935612270230707064663379905240578835993303398500723070762\": [\n \"12599385171206805727800217811900648618437869359984210819394463757658417153752\",\n \"1\",\n \"1\"\n ],\n \"19839299377628550459886711961664710742782568664514650454734870828011703804306\": [\n \"15103865179119534071797911013405318783826755167599353308976425466239592684407\",\n \"1\",\n \"1\"\n ],\n \"4524709102636707755316327111214695877042063027294303083241423139743718643162\": [\n \"4771841136978711393855042434238463796257516577935624703727765928290634139025\",\n \"1\",\n \"1\"\n ],\n \"2027961822616911252064913896439180496498107837116109439069855014246918691086\": [\n \"4524709102636707755316327111214695877042063027294303083241423139743718643162\",\n \"3626780963874431103876843179515595820401534336953155684097694116879597031905\"\n ],\n \"1327217088481550817090066694064350338576282254020876434647417339138686223916\": [\n \"0\",\n \"2027961822616911252064913896439180496498107837116109439069855014246918691086\"\n ],\n \"8479262539108659307120130926462819384246935217700894996382614336073148652224\": [\n \"0\",\n \"1327217088481550817090066694064350338576282254020876434647417339138686223916\"\n ],\n \"4218397273884892871851689532046763655860613963087784959142506332483697986455\": [\n \"0\",\n \"8479262539108659307120130926462819384246935217700894996382614336073148652224\"\n ],\n \"20562887859949643276650093224824448847757681584576651771722685129089729188908\": [\n \"0\",\n \"4218397273884892871851689532046763655860613963087784959142506332483697986455\"\n ],\n \"6424366679056971552012452731613308836147203706739783202221572954367264040408\": [\n \"20562887859949643276650093224824448847757681584576651771722685129089729188908\",\n \"0\"\n ],\n \"15519705984386501796793429096424765363691038865375888914782703981897087587011\": [\n \"6424366679056971552012452731613308836147203706739783202221572954367264040408\",\n \"0\"\n ],\n \"13259003252458803098628018306831031497414157413540803101716552415587571315192\": [\n \"12546268985586423906669402879231715425059937384041684626553022108052237895878\",\n \"1\",\n \"1\"\n ],\n \"15148741246421314138488833898629205627873098551603976397857780073756864802647\": [\n \"9630645602392870296313653438637562695643342445754015142029089983153977580940\",\n \"1\",\n \"1\"\n ],\n \"17015912582915906619604375659691866245381527622241899909906149205107421060186\": [\n \"8890568726331179428350365732972804445468828162532971743164332648261740881525\",\n \"1\",\n \"1\"\n ],\n \"16250486405029731303428185800142250996357571294098363318540283317141449035867\": [\n \"13072552335055942253144836525802420803970130693891804872052481706405444201885\",\n \"1\",\n \"1\"\n ],\n \"18420495470663662604104906551437741961726869627255336055806711463088181243809\": [\n \"4518443117797706993613705065186786400261435809605995564755018098604890601067\",\n \"1\",\n \"1\"\n ],\n \"9407496984206693290342413463595889807519074528802310373206289443253651384421\": [\n \"7733506449659253523282629583401179027860574142331880107301644583567532732432\",\n \"18420495470663662604104906551437741961726869627255336055806711463088181243809\"\n ],\n \"8472390179577395394061181813675329772278268600955463810865450657776660856162\": [\n \"13811251428379622874023473956476907599448192173271864290675327367675216699591\",\n \"1\",\n \"1\"\n ],\n \"20403288439908140559187870535100959911832795518798355238240320756986264702069\": [\n \"17697220223474163650509608963371934549536560921360045109326833538525635802593\",\n \"1\",\n \"1\"\n ],\n \"1156073461685393325909373595633880065739996131321312100731312244696591643307\": [\n \"20467863849614106132898659370822345942595301006980219409628015498503234407224\",\n \"20403288439908140559187870535100959911832795518798355238240320756986264702069\"\n ],\n \"1386924913279251996323867942027667776009768355636310710399947653234352729878\": [\n \"0\",\n \"1156073461685393325909373595633880065739996131321312100731312244696591643307\"\n ],\n \"15408017271845492423600392045934005595746034481879985588287143880710946128843\": [\n \"21778238869655895021546983888862031542941230805886052025296793429931051938860\",\n \"1\",\n \"1\"\n ],\n \"7227169653653697227686753700002827410457436956404658064595922800660947782176\": [\n \"11826698765807248458250103713105771439737537496283034805926831713594258109819\",\n \"1\",\n \"1\"\n ],\n \"17641285842180392130682422355654104701593666198399697670441829611831737541267\": [\n \"7227169653653697227686753700002827410457436956404658064595922800660947782176\",\n \"15152034164874790060689957068145688670387565168275278434627639539665231901942\"\n ],\n \"9733695256385343556277832653931777075412855549700303337893506715795390489977\": [\n \"0\",\n \"17641285842180392130682422355654104701593666198399697670441829611831737541267\"\n ],\n \"6428442833101085201961634355324688303162686210321452867302036520210755396696\": [\n \"1174130095727050502681098469782795728994857438908421803782843698800103460889\",\n \"9733695256385343556277832653931777075412855549700303337893506715795390489977\"\n ],\n \"7339942812111947153618678578870908645261420101617824694723455553700273414566\": [\n \"20137307415992463111336987558029339651104952285196607816716880696930126702378\",\n \"1\",\n \"1\"\n ],\n \"17031841630915381530232561310519164876625746552475059915580456254833437274086\": [\n \"7339942812111947153618678578870908645261420101617824694723455553700273414566\",\n \"17368339637732817910557598519329634026940964294956379446688586431866887776768\"\n ],\n \"20199293230085398147132179918841984658160276976309904588415085217701412046605\": [\n \"13437548122916426487738454028209356817388433400119409791017659502013620506946\",\n \"1\",\n \"1\"\n ],\n \"673962901568864890220068086045261516045106290512659609939843726476513246363\": [\n \"9514128540475532906730488211891367714586851751882824183335121784192326922278\",\n \"1\",\n \"1\"\n ],\n \"10615964405814950418405505528834923383440594953045405996867675972703038768952\": [\n \"1964310283123100819112289066785281278021355861437685965462140164163052197177\",\n \"673962901568864890220068086045261516045106290512659609939843726476513246363\"\n ],\n \"10544462508148010181829760970124970026235251082317209375929436122523879880031\": [\n \"0\",\n \"10615964405814950418405505528834923383440594953045405996867675972703038768952\"\n ],\n \"12901563950987336130664297594230963130924142005892720415333918259578787513638\": [\n \"4610024438631749360553457902982200456378175487195943355561717853151446680485\",\n \"1\",\n \"1\"\n ],\n \"1835594151845585082014298725488815935526293331751703983834630803100167737272\": [\n \"19474852815974317480223834641987836850896065503193710497283050202023065913966\",\n \"1\",\n \"1\"\n ],\n \"4589536904808545461009753067245687278418282522103717797830341269596656771382\": [\n \"2930597679387085730746292977588909335075116915029004778312379390102316617053\",\n \"1\",\n \"1\"\n ],\n \"9631582969545641504798604669064643042204150355593231703312429622747124784381\": [\n \"4829270596760035032122615490353569591838044777209901285987173049635982314282\",\n \"1\",\n \"1\"\n ],\n \"16045815937839757114941312928440837263439694100406231255861579855205073106194\": [\n \"18259611737420796310980823674810895629171740486497663447819478583900658195265\",\n \"1\",\n \"1\"\n ],\n \"9849039768824300606978908560325270461026335557596691827829491290726646806675\": [\n \"7080003865418892756912520256170825358501674225044024903297824051855683078396\",\n \"1\",\n \"1\"\n ],\n \"13133178531078323049931819082013214237747933842660043673225791512489785723828\": [\n \"15385239157399981020324044237045606562008028870816712200837786088213704928356\",\n \"1\",\n \"1\"\n ],\n \"3548016648020657266709072230934774549947503695810169238719221867691323643214\": [\n \"21044812055339272431585580361534913180643653866947269576195183111595187501089\",\n \"1\",\n \"1\"\n ],\n \"7736886511239274133972122763654522909053551168098719363440904711483933933419\": [\n \"6986087686383435693038760779127534876723797213195331114545222239177303233970\",\n \"3548016648020657266709072230934774549947503695810169238719221867691323643214\"\n ],\n \"11475135546035748936340303695039048312660032067328915789480028810397750530371\": [\n \"0\",\n \"7736886511239274133972122763654522909053551168098719363440904711483933933419\"\n ],\n \"520997539669201751757220031264044126811828165939053848063868862606239629327\": [\n \"0\",\n \"11475135546035748936340303695039048312660032067328915789480028810397750530371\"\n ],\n \"5972952298309651077153341100280088312824267825324825105872038059138889404425\": [\n \"0\",\n \"520997539669201751757220031264044126811828165939053848063868862606239629327\"\n ],\n \"9154495338473065517472697671167698775198510962686155370676922966418724385376\": [\n \"0\",\n \"5972952298309651077153341100280088312824267825324825105872038059138889404425\"\n ],\n \"12391292786072667779198536629421810666256656750954552735718993306428982695076\": [\n \"13890228923875951024885148819075577494058255050773706664757653301728128274\",\n \"1\",\n \"1\"\n ],\n \"19394214331729394838383268813187387353343162900744865717326551897981824136086\": [\n \"5838796307112188359375862013956219596722188020676804769670384739942277395145\",\n \"1\",\n \"1\"\n ],\n \"3240674818913604986459227966230614343419759014932975526968082242431897313194\": [\n \"21671997156995551245763667848364369287626584865336882040189779917153825017709\",\n \"1\",\n \"1\"\n ],\n \"5745521727022748811855053351078357758576564578889823418094304578961599783394\": [\n \"20095025463353249219006482653263285824525675831306305132609946337150281221696\",\n \"1\",\n \"1\"\n ],\n \"15269724662095079446471595939162420136900936252544967669682818515385790662217\": [\n \"10452635530898244998965357736862153117165209369923892073706042957211037268856\",\n \"1\",\n \"1\"\n ],\n \"3029250337876299145476548472809999742167006258390836703485646440977452351720\": [\n \"11157896504016676819731041194165121807968118987405935130078928733878802127680\",\n \"1\",\n \"1\"\n ],\n \"4060468299565091811026917492379361347739922588299473048898390429436787534653\": [\n \"3029250337876299145476548472809999742167006258390836703485646440977452351720\",\n \"11162568927816005444032720510506025426885344657084918545969199318297802938715\"\n ],\n \"8685713224694899818113082512182595259373287312889802436696997975604193382789\": [\n \"0\",\n \"4060468299565091811026917492379361347739922588299473048898390429436787534653\"\n ],\n \"5753151226483284149733506393627598312064509563923277620710574395663944687869\": [\n \"6324638589820860853650220919972569383277122881545783696755570566242828678596\",\n \"8685713224694899818113082512182595259373287312889802436696997975604193382789\"\n ],\n \"5234929441975115491763501763790718004678019048575172238069035122563329681316\": [\n \"20511645131138190059944678564200239003763755242671805268250679276001153777468\",\n \"1\",\n \"1\"\n ],\n \"21363562553588388941495517704587270985446197362222258522518138618891220893261\": [\n \"17620957213726207446967605767991295068506424629768164481238718854998265207052\",\n \"1\",\n \"1\"\n ],\n \"4117293716439246607682460353884958561088025811924107083570136120577114325707\": [\n \"2149264410967889399981067192236058451798877499526587870228006634280157920668\",\n \"1\",\n \"1\"\n ],\n \"12475374386729382222634417545507833913798895476918622860200362764863079824878\": [\n \"15158433966501057919025979256009315038684191707790747026535285257082051097444\",\n \"1\",\n \"1\"\n ],\n \"7286657981032143555240521336614075874623321280334932264282399996109551787234\": [\n \"12049428480507316655040575544607592348692802089461961420989110056791662051815\",\n \"1\",\n \"1\"\n ],\n \"7901942882039523777803885661745650965920274685970865831153480969090894624667\": [\n \"5584727063194437256169532693659674230314610860991822170307767085294296179731\",\n \"1\",\n \"1\"\n ],\n \"7730220026025007854770384561242069492512878964703738317909172343037142773868\": [\n \"3352758464152863650373635270587696070511006931832989583020749123194730965418\",\n \"1\",\n \"1\"\n ],\n \"651282912468717636608694966344093000368782136788276745831612699980734329952\": [\n \"3997370710968576005673356086851715119756356199693319706291422442617972274095\",\n \"1\",\n \"1\"\n ],\n \"959567122238724779451746673355858852996061993311103965488384770545283841285\": [\n \"4044881130369217209392522997892862273993187207456972307778840628692332302290\",\n \"1\",\n \"1\"\n ],\n \"21396695410254909049953162532952962735704823241164725331262604471277659791592\": [\n \"21225075871911735906235952454396306980109032527463058024805205224876677201204\",\n \"959567122238724779451746673355858852996061993311103965488384770545283841285\"\n ],\n \"17424199325035222290960640520368954931774738419188314209320102424696424345386\": [\n \"8834564056087483978753246115283125959856864506354621406162247418970289592247\",\n \"1\",\n \"1\"\n ],\n \"156777751795460025884462627895194837988872361703981093128964436893699366425\": [\n \"17484298808726285517637420009250848810757177892466803003855005228774170057921\",\n \"1\",\n \"1\"\n ],\n \"19245234259734580189035819350616032983824070460330266400200683695102931089590\": [\n \"8895678698152598031621227322381079692045560466494642781724861860522726950996\",\n \"156777751795460025884462627895194837988872361703981093128964436893699366425\"\n ],\n \"10532591113050998317175630790406676396732326874567479068144218126683477528971\": [\n \"19245234259734580189035819350616032983824070460330266400200683695102931089590\",\n \"0\"\n ],\n \"8759924785012904110054816877130418423926865804911809825368063419487224999186\": [\n \"13070377774852890022171285611048524185479417993420157235289894481227840540915\",\n \"1\",\n \"1\"\n ],\n \"2909829337880743071907203934146045192536788646196853982447157579281073566683\": [\n \"3086261180003773210547419241174130860681175187649048439264899683920896433944\",\n \"1\",\n \"1\"\n ],\n \"21439328406084040697240177262652250884891186760600755409324786799758422477404\": [\n \"7087721342332629817465663268138469530757192197178851108220001353601047109882\",\n \"1\",\n \"1\"\n ],\n \"14629906261960369072644745253469044826770665052831192394955467882869899692276\": [\n \"4494209165733085328506624901870073503175426290729498214154854560035341382952\",\n \"1\",\n \"1\"\n ],\n \"18274000859020994728711858679184236681449292053743470982022232769431090818542\": [\n \"13797742582019541362511627159480985563750222715658414147275073067803443365088\",\n \"1\",\n \"1\"\n ],\n \"8959209543736878358627782984536618395603089307871446742380835250922437122295\": [\n \"21373857275014872432472855391829471431096365744235739453698800689523465255316\",\n \"1\",\n \"1\"\n ],\n \"9941324666661340753405611587646500931390492076134553346177633753291264540163\": [\n \"2696416950704992636843086383898849404794322469842821103780478826631628372616\",\n \"8959209543736878358627782984536618395603089307871446742380835250922437122295\"\n ],\n \"10880432673160392023180512379805039141175149316787007333110638830364194012650\": [\n \"13870574953535994141010133605884810014990397419429921268857604032447863436721\",\n \"1\",\n \"1\"\n ],\n \"21434907084965862301529536832248834238537757661072660015117961700048757681409\": [\n \"10880432673160392023180512379805039141175149316787007333110638830364194012650\",\n \"16236046485286009054874589834981784153250775088722210135016549578293085054404\"\n ],\n \"3506503641544567650682752409146675810744511484163819390015620259616845394737\": [\n \"0\",\n \"21434907084965862301529536832248834238537757661072660015117961700048757681409\"\n ],\n \"17409500603070377177174440658607079950811835240982477002234674469854426978625\": [\n \"7625241652467927765450569930830190248770623920264817786275451664440503632850\",\n \"1\",\n \"1\"\n ],\n \"7472159448163065655137609918866818815068367538053217566116404579125752595365\": [\n \"2391870946237520117687819835901144767820265137864034015416452950127350603736\",\n \"1\",\n \"1\"\n ],\n \"8326013453233295357026854834488523541550772635313957534847759556642164773771\": [\n \"8431203730099293210589940020735830338253033544252304875806549758403081220027\",\n \"1\",\n \"1\"\n ],\n \"21011755069397751110290388785938153475545867867903603654897298279208459169258\": [\n \"2370520787955885103471991991823348495304475892505908021466644093011401207800\",\n \"1\",\n \"1\"\n ],\n \"14296950432734925257129554792926115726234529911922767709921798043736867243175\": [\n \"18184523310140706328098214114696769191160751773318829260673819073613136305357\",\n \"1\",\n \"1\"\n ],\n \"8955564915423090252388589307904984463496683000581513978250691200144047909402\": [\n \"15703308016320691937677388847734088120498931974319984223201154695759339932110\",\n \"1\",\n \"1\"\n ],\n \"761354238113115953596930599468465687418459952949042856500278822268124033033\": [\n \"15676547725263087425338947999581633392413070922934773087014135053722150573017\",\n \"1\",\n \"1\"\n ],\n \"4199899772257461352304672072581368867962798534929189086634715109814339232877\": [\n \"8365887932086082876837390363792727695737093775964224147047853466025937298400\",\n \"761354238113115953596930599468465687418459952949042856500278822268124033033\"\n ],\n \"20815763483928277505694079718021699118928510673357721008966106272044929038624\": [\n \"4199899772257461352304672072581368867962798534929189086634715109814339232877\",\n \"0\"\n ],\n \"15514819705197148027644401825203131883301327731769793605257538905369153576602\": [\n \"335770865078744666445996466083225376668670184451759789696507510824748389079\",\n \"1\",\n \"1\"\n ],\n \"21406370113823142684382562126273585540066774177792008227642479802167338620872\": [\n \"9459289069406188371203555677751288528987752707282335669941361137475265178835\",\n \"1\",\n \"1\"\n ],\n \"427353162952425972898188998444631765088101291992614260624117995336917520457\": [\n \"16576108789442381271122053677863202242181340270663261517035628489412843723426\",\n \"1\",\n \"1\"\n ],\n \"4917050661228904834918404413813351405832631501258414902963974248702663147731\": [\n \"15862060967122432499029834879616443456499083613076085707854538017830436169772\",\n \"427353162952425972898188998444631765088101291992614260624117995336917520457\"\n ],\n \"13282797335791008732261107638599269896959247625675750187930514722682409203421\": [\n \"4917050661228904834918404413813351405832631501258414902963974248702663147731\",\n \"10002759784886101722183974854662699419528306128366733899758981845973073286526\"\n ],\n \"7346530064145233867086214192547480644897129567590698517633577735084556350089\": [\n \"12718603551930538261789818530148268405763494508761022654840127524273541159510\",\n \"1\",\n \"1\"\n ],\n \"18918760216182813233103232565946853590165351884791431257763760248220519999986\": [\n \"1385330710988655696825224561756273347987808613646624394080415691561053713954\",\n \"1\",\n \"1\"\n ],\n \"15192065852883169162373343287856815024736505315231952482096726187918082930504\": [\n \"10265298969697644533581362285397662322229606670507347573192324181960311500579\",\n \"1\",\n \"1\"\n ],\n \"11734659935666137296644820726885423531798355571329361645509183231396642034004\": [\n \"14009354375713432293735202168397380400728407979193393443891441158822361288059\",\n \"1\",\n \"1\"\n ],\n \"835927011565109706066595143935067553476622211887221856994700262255679394091\": [\n \"21250495336542558039135206159027832475237229895562494845460851080467860186478\",\n \"1\",\n \"1\"\n ],\n \"10480103617120587127403993084971756873499161683325477623631603981899980848427\": [\n \"835927011565109706066595143935067553476622211887221856994700262255679394091\",\n \"4272235792095019385275836589422856519825523627323192583055661659635575521221\"\n ],\n \"8777584021400192999060293811986887932070498123863648476204375982375847154495\": [\n \"0\",\n \"10480103617120587127403993084971756873499161683325477623631603981899980848427\"\n ],\n \"20235409838249737148850658157112302397429069256926071854884266246661830252761\": [\n \"7334189210566400038261712470546356090890098808505409910770293163305352683934\",\n \"8777584021400192999060293811986887932070498123863648476204375982375847154495\"\n ],\n \"7832950408244752874432192525512195657323636936172450932132120238424577216499\": [\n \"3783686687872554151892455790866880481856207945792696051191863034015129031646\",\n \"1\",\n \"1\"\n ],\n \"9608589722148817629815485000111176338159857161994842927551226261761450571551\": [\n \"8570040148705189303730898674645203788468505047253070475437913064373321354588\",\n \"1\",\n \"1\"\n ],\n \"9370533092486874737048954640080726275344209414697946270412946891504787605852\": [\n \"7024829760882365095618506197547585822325571923496895004932791414752511370869\",\n \"1\",\n \"1\"\n ],\n \"13571136028129820996484481370015560428035790122941152910434373617995021775547\": [\n \"9370533092486874737048954640080726275344209414697946270412946891504787605852\",\n \"17015912582915906619604375659691866245381527622241899909906149205107421060186\"\n ],\n \"3939971641882332984087909414126887247880100300040979396382747374027096984515\": [\n \"0\",\n \"13571136028129820996484481370015560428035790122941152910434373617995021775547\"\n ],\n \"3801598966200077066448133482258725248618781674226201657756702622743212304675\": [\n \"3939971641882332984087909414126887247880100300040979396382747374027096984515\",\n \"0\"\n ],\n \"12336062659911390378547764550493651957939210679021836964261662750902150500951\": [\n \"3210676194602995418044955773800925450289977829170932886732365738459548357309\",\n \"1\",\n \"1\"\n ],\n \"1034960023587246752344281406305719096522745280016572577576166248736436138621\": [\n \"6237178298065774353429427150846035658127906991909674450523851544284035096433\",\n \"1\",\n \"1\"\n ],\n \"21599196745961438834198144218970798508535499672153250736543110693831943115471\": [\n \"9280545004994338692113566587132576495144281337391623260573158820780171406791\",\n \"1\",\n \"1\"\n ],\n \"12064950909483668530572954136401773760434056436591732168024163508426536275314\": [\n \"2565457376628103852604773228637177497322330198273796969907697560974646447503\",\n \"21599196745961438834198144218970798508535499672153250736543110693831943115471\"\n ],\n \"2567321304405863421942001822586696002141963531564420734948901958756902875824\": [\n \"8605129237039683594639988346312432908222339701819289853377526555192817328023\",\n \"1\",\n \"1\"\n ],\n \"11540388816467095528739977239383747746486277230282981617821269065241828455447\": [\n \"17722877456500066905069309656677745734334096100218258258835160280267086319443\",\n \"2567321304405863421942001822586696002141963531564420734948901958756902875824\"\n ],\n \"7233304570292282598923088610389750713472330113588012244534305304313965536903\": [\n \"19978880350205757814854999789637593586173998275644943729312494894810233227186\",\n \"1\",\n \"1\"\n ],\n \"8436524847181782358211882273627555409075531016771953980674012292194576454885\": [\n \"7233304570292282598923088610389750713472330113588012244534305304313965536903\",\n \"14945659174873342028351492166512474784657186736130315686502359522328867937760\"\n ],\n \"3900558195402848970216208340410045371401579555691762087081132324792648371933\": [\n \"10511416223830698050825276153833395782617809566035368987254669989059104837432\",\n \"8436524847181782358211882273627555409075531016771953980674012292194576454885\"\n ],\n \"19930529220679090683435665352358996407784182325018397416301655769624286381365\": [\n \"0\",\n \"3900558195402848970216208340410045371401579555691762087081132324792648371933\"\n ],\n \"5222493920107492493586273888992610901746320937801892471829987848695302713681\": [\n \"19930529220679090683435665352358996407784182325018397416301655769624286381365\",\n \"0\"\n ],\n \"19502156256801050190691349085270274946173392895542496229501114707008394302359\": [\n \"20365910199985864742396030472070487007777912504089537239400972214535899318391\",\n \"1\",\n \"1\"\n ],\n \"7115564551246762522672105740236538450376465194701035919751500325926383553942\": [\n \"4092353639048004905445665574552287291915668263251930927293077903525225763114\",\n \"1\",\n \"1\"\n ],\n \"15185750674004353411521691805862378601693745714066529107129102547985403750745\": [\n \"7115564551246762522672105740236538450376465194701035919751500325926383553942\",\n \"16016067597310376370098906309052854549758273122054074240525167839992102922710\"\n ],\n \"19364030900005612252955246949751018816069824624843439985652505011337148580486\": [\n \"11639935581144640508260245378081926989218757965982865579006086240835064379530\",\n \"15185750674004353411521691805862378601693745714066529107129102547985403750745\"\n ],\n \"17582209785467769828899950636837174384031150798865261470402645508406181696552\": [\n \"19364030900005612252955246949751018816069824624843439985652505011337148580486\",\n \"20868139019791837192981405645917964649131340681869460257679684343809107987801\"\n ],\n \"1131083052495200917805738611461162281383223243491060918564992120556654565121\": [\n \"14592635566297657090445311886681870762064239719932640595842894908195671342803\",\n \"1\",\n \"1\"\n ],\n \"8674198115956819700764252112807385334858548323077003094121381252602459285032\": [\n \"8717786697279574109626498794810240009665226513870063606794851969402775126531\",\n \"1\",\n \"1\"\n ],\n \"2008992221152549026298260340575041413078582000397285460456426733434751691330\": [\n \"5094811734579561892034991640169368283932588732089439209252543996517819578776\",\n \"8674198115956819700764252112807385334858548323077003094121381252602459285032\"\n ],\n \"4644807494211119462526524759843088042526583853308893397137290160731807305868\": [\n \"0\",\n \"2008992221152549026298260340575041413078582000397285460456426733434751691330\"\n ],\n \"16475103806384755593378882458943068158041706478328865657726716252024634129396\": [\n \"4644807494211119462526524759843088042526583853308893397137290160731807305868\",\n \"0\"\n ],\n \"9191756914885582202950946506887213230388633876632837443764910008805178174977\": [\n \"16475103806384755593378882458943068158041706478328865657726716252024634129396\",\n \"14804020601769185722563124624083310523583808491909965602250755687952121164387\"\n ],\n \"10346523022652091306015088373358305925872141180034033131177144334776375191164\": [\n \"11071939512310990708239671982494462730507995644374165185804235438936671612513\",\n \"1\",\n \"1\"\n ],\n \"4629107117830510966919005848953536156644244021455798925623012945969801440407\": [\n \"10346523022652091306015088373358305925872141180034033131177144334776375191164\",\n \"5438922460458317467047855393945244955088717446282313067475174754304779066550\"\n ],\n \"7461642773633498705491908557530467895251186932609875350696036732364903478378\": [\n \"0\",\n \"4629107117830510966919005848953536156644244021455798925623012945969801440407\"\n ],\n \"2826712844094652064885709987761786897845032860225873459384664059148676081011\": [\n \"11594777832027139105237280525333520116031817284974760088695248417593243315630\",\n \"1\",\n \"1\"\n ],\n \"16621279738001925168009537110570780543054260100393736920179135922245596522355\": [\n \"4895560498942430489716434539338435531255678143046941226484102022746218222917\",\n \"1\",\n \"1\"\n ],\n \"6564239179812278038706667725632060521862749154071506530292409505199497189171\": [\n \"18444052905155788813944379157123259617286612575061046531007382821325160346187\",\n \"1\",\n \"1\"\n ],\n \"299878609687431638982089195477297477775362699752097036695011789372380068259\": [\n \"2774859497455412832280369674951204288578458715618525985166915097931876959013\",\n \"1\",\n \"1\"\n ],\n \"1101887540696313853043200059985348954899787223849546310199295694037477164696\": [\n \"299878609687431638982089195477297477775362699752097036695011789372380068259\",\n \"6365649957241032177304703885929367789853885713817126386155681385475463414105\"\n ],\n \"19879709498983813938851039031757093779215506701101484186098039667516353553318\": [\n \"1101887540696313853043200059985348954899787223849546310199295694037477164696\",\n \"0\"\n ],\n \"4218720137395969745767590256801665273128667917898042938668919029786131155005\": [\n \"9973792665186348690645129249446302133416360856380614401012801482515307581897\",\n \"1\",\n \"1\"\n ],\n \"6678895035615088274637016494886852854830441940012186182550445390291783022902\": [\n \"4218720137395969745767590256801665273128667917898042938668919029786131155005\",\n \"8334179992691671826092700332953829988993410226123488276309487815982887277254\"\n ],\n \"5098190698050229644661315730005883859705904387605878416870907875188921542133\": [\n \"1996843898535630838351513270982045270853724939567254733224851168102442268162\",\n \"1\",\n \"1\"\n ],\n \"16752303222118643402766357037186237638560061890501601373376250518905776084841\": [\n \"5864717204977997429552489244771505519285701041770260737954548151717936499443\",\n \"1\",\n \"1\"\n ],\n \"14543406589173584315363490255667797936419934023894010367639084092205993221461\": [\n \"19983583682185912283632443217533456055486284309342457242686856726136618300848\",\n \"1\",\n \"1\"\n ],\n \"10154068698431628101707987268474285838075433092809106776420243205317117346091\": [\n \"18997465448090006280566272563325286007633402852378613508926963652246096715385\",\n \"1\",\n \"1\"\n ],\n \"8298385251994039755196055828748312934558571234201119984422430477903040657580\": [\n \"12110408744465485607815409992327577345217766114687895160864469758495309233454\",\n \"1\",\n \"1\"\n ],\n \"13511111480489382815118931094464245298918825572688489251915873412212087953727\": [\n \"5288108565397669015738012803410861151485536034550080491423681823574661778514\",\n \"8298385251994039755196055828748312934558571234201119984422430477903040657580\"\n ],\n \"3387085333058994730340642112988790851390345506922297947368441916187852828431\": [\n \"1997458642264518946491670679205063451746155073890363503113375987930625341319\",\n \"1\",\n \"1\"\n ],\n \"10363380220056172591739440805722316376841040576294137701090395712133588731088\": [\n \"5525672682624649889852406732700495599376905202283237210467381932256442579414\",\n \"1\",\n \"1\"\n ],\n \"15925152909169575467742900277485487062012450911013844442722106485705945490125\": [\n \"1479605868002088652403642118759111594830172492519430985722329835727116248206\",\n \"1\",\n \"1\"\n ],\n \"13798216806444502357478587825338680208499195196405593001905794981936719727430\": [\n \"15925152909169575467742900277485487062012450911013844442722106485705945490125\",\n \"420088708177809543557119947127496610993018732643450996954281714400804683470\"\n ],\n \"15918109271850691015697496781539095946272338305314326549668328968106248452981\": [\n \"19456339232454700015405244594738618254412029170524879334850793617718549427663\",\n \"1\",\n \"1\"\n ],\n \"14549589518242130672714547711050020202321066814829313141303171147261969152494\": [\n \"14228139623750399830973251179337556303966215000894592507634107750672275726281\",\n \"1\",\n \"1\"\n ],\n \"12095633291527844488741317114289859405676218431573121479803176289464985665264\": [\n \"2420541456698240658265654859535957155970155296309829528492473633319697868966\",\n \"1\",\n \"1\"\n ],\n \"6632027862758186678214677802776117972088253849840102424320378239791348037347\": [\n \"9406935903648304995668313424302084587639370573551323290661505507145070187885\",\n \"1\",\n \"1\"\n ],\n \"20972737510377519607780715922703488335442947251347036565281355658409339680916\": [\n \"5436469983948761237000164916556772728625767478349274349090451315143647963118\",\n \"1\",\n \"1\"\n ],\n \"16036131326349658252165986065465220369568902451430080308759496819676539088177\": [\n \"15128369914966228581064526262425615783264517504355344905513407277473068057150\",\n \"1\",\n \"1\"\n ],\n \"1982461432241935094315408128803278599068403076589926605750838417510228390745\": [\n \"16036131326349658252165986065465220369568902451430080308759496819676539088177\",\n \"13042242536948727834155461190279155505945639420901155242394599975790507749583\"\n ],\n \"12992807536208400307924310171271573947941436543289975797958128799616313175687\": [\n \"1982461432241935094315408128803278599068403076589926605750838417510228390745\",\n \"0\"\n ],\n \"14084375056102839711690543962748517515853053906718987417598263666554088571944\": [\n \"8950460741905852947059848023517570903459218329627304859467088036412244182004\",\n \"1\",\n \"1\"\n ],\n \"15089599762729957536584848785845116695188608349911806897366475798487077464498\": [\n \"14084375056102839711690543962748517515853053906718987417598263666554088571944\",\n \"12226873353425030409917575469230355830757379856712041239084210939417577980001\"\n ],\n \"10455114661339424541062069765764304703810658929852242972333157620200195858892\": [\n \"21585545933398530239569063561488263232334427890661961753142716225455392265124\",\n \"1\",\n \"1\"\n ],\n \"8226000030471029368425943425403933873599099797651534379417399427444015135560\": [\n \"10677993713977305540167503264229674552402176380290383954221383703999934673114\",\n \"1\",\n \"1\"\n ],\n \"10519369234212318462180814599980990305365016860593233483104565244598030961623\": [\n \"11788744888891353271409709432983513494207524821800804907176970359985265690496\",\n \"1\",\n \"1\"\n ],\n \"1884727656511394989242132918848002373526001363089654900836710259499113758460\": [\n \"10084707446428049391342789430560306827280814795058243125747499355585346097597\",\n \"1\",\n \"1\"\n ],\n \"5111413828560048745295855986219898542400236005782931415174012811701196568706\": [\n \"387603685096097110443295253074422918491370423891777448105209181438865240958\",\n \"1\",\n \"1\"\n ],\n \"19571164652886428036003326558475929290147394882233569158032709568575786012200\": [\n \"7991565336390449143520691899766786162826300267432351279287844866966999233076\",\n \"1\",\n \"1\"\n ],\n \"5611954846892850235635588350193499147503136360981174834488939554328159465547\": [\n \"5073380232570973885727001475150960034227032137294512768478990807336022064464\",\n \"1\",\n \"1\"\n ],\n \"11350046215299107389194850301135309274020213450143330884166055704195561230877\": [\n \"11392446872432760972420203505412429396144521623578917981008333080263232274701\",\n \"1\",\n \"1\"\n ],\n \"589098675985958274912718675900575776653827846997713964686612455960098744382\": [\n \"19608110646096696998887112800306851079108891998954898761094024302868695661392\",\n \"1\",\n \"1\"\n ],\n \"2321381910066109767887016293845452521559909652638494626766983317160676709459\": [\n \"7368637650911259189401330333470509917170218718442445480957323009322690207530\",\n \"1\",\n \"1\"\n ],\n \"835795923446791747824462663631535227521599134942632837851027329995529816580\": [\n \"17031841630915381530232561310519164876625746552475059915580456254833437274086\",\n \"2321381910066109767887016293845452521559909652638494626766983317160676709459\"\n ],\n \"13365538776944949667451473628474921580289434929624492800660289866471372087594\": [\n \"2822309247420632244247878302124728661473112177983804838637468099213028916145\",\n \"1\",\n \"1\"\n ],\n \"13266008813710200458934323803359584897961717450003852135196419199163429677145\": [\n \"2284684414893610684283140853518098739554751590896072375820491896274299102202\",\n \"1\",\n \"1\"\n ],\n \"11149101228016223483561345915561440002702566545540191185116590670139741297320\": [\n \"16743364287773392300935816080482331534582231060742965933508485072617438218215\",\n \"1\",\n \"1\"\n ],\n \"16893213226466093164344175094673472621837893013896449966791330468052176873590\": [\n \"11149101228016223483561345915561440002702566545540191185116590670139741297320\",\n \"20300541887632719324825840287924159998264072368617938356341207314347611145680\"\n ],\n \"13496736842787755143534760093113937089371431925415102239246749471919976159847\": [\n \"16893213226466093164344175094673472621837893013896449966791330468052176873590\",\n \"0\"\n ],\n \"3786706445890863756673358640773668196640821163606620538001624221638730878785\": [\n \"18323998538880437942532645503369295454377793928664492000332686317118658534185\",\n \"1\",\n \"1\"\n ],\n \"9795869537788460401192966317544576226326543710924938885073537223646408413899\": [\n \"5379483975483638743516514222664490176149200024704993962071383989736008337063\",\n \"1\",\n \"1\"\n ],\n \"16982813344241978794596187791207367237244343319043517525877459849201542328486\": [\n \"14340377690612330216390699898766251610466848863662195502691222450906886495530\",\n \"9795869537788460401192966317544576226326543710924938885073537223646408413899\"\n ],\n \"17595585241020497090513327516001368910513159710977601109575716750659917059688\": [\n \"16982813344241978794596187791207367237244343319043517525877459849201542328486\",\n \"0\"\n ],\n \"8408240800637346578694566791810681697615835782440030635933478530836027776405\": [\n \"17595585241020497090513327516001368910513159710977601109575716750659917059688\",\n \"0\"\n ],\n \"10990267459165655976652026554116095690907724018104844013543885024667524284439\": [\n \"23586420926869587981855452881551048027686692059128697870291636270474244214\",\n \"1\",\n \"1\"\n ],\n \"877509432849871731901593535715243301170628278809370018780356722480432212022\": [\n \"12435218608541242646838859997655330123214939208696673052576020174462207369681\",\n \"1\",\n \"1\"\n ],\n \"19190397696230636321706353304531997899702050543066296431405058467760338808366\": [\n \"18865814433804179193879426559165266181123630195116472449053015642087286898812\",\n \"1\",\n \"1\"\n ],\n \"12279126294876712112701078539372253720144208025517236476736809248346631826222\": [\n \"4345258696880129975525602326033215975489270292045331766102189618322427088590\",\n \"1\",\n \"1\"\n ],\n \"1340864784204753919139028739365464592776878945175207409080835233301401094728\": [\n \"21251090988269943115410704256173862308495771831889924452278360670904551174722\",\n \"12279126294876712112701078539372253720144208025517236476736809248346631826222\"\n ],\n \"5650302871929168753959132051113391288831676730442319605123675561751287072275\": [\n \"18781944312748838233661321965288701239431279606739251424837970506431936152716\",\n \"1\",\n \"1\"\n ],\n \"14633801159626284951918094066691358372944987163310657782929598403295269482435\": [\n \"14552650628930873600240889565593332397144524982462326111345172770698084349551\",\n \"5650302871929168753959132051113391288831676730442319605123675561751287072275\"\n ],\n \"4177382189209977298631085332210397071418140786773953613083304767442404108801\": [\n \"14633801159626284951918094066691358372944987163310657782929598403295269482435\",\n \"0\"\n ],\n \"8458448575942799353714935052926730622351001425823522372222530163361328730325\": [\n \"0\",\n \"4177382189209977298631085332210397071418140786773953613083304767442404108801\"\n ],\n \"2554605948874980274637220619568196060401311075036718817931419985447041202184\": [\n \"8458448575942799353714935052926730622351001425823522372222530163361328730325\",\n \"0\"\n ],\n \"13167045068536300570470757861563734362185730993897200327665072947474201914482\": [\n \"10748903333131790749310403501202703880778645872071505024399085212946459625275\",\n \"1\",\n \"1\"\n ],\n \"14622883101308540538064585179997027268247061965257122937939424847390220770674\": [\n \"16320922013400238312034622338485203706676052205944167384892178540829878654949\",\n \"1\",\n \"1\"\n ],\n \"11415629162943597717151027986656751176164959954775951737491766901388739471678\": [\n \"16843917093915461533825908525034000884004126021261085321722742254923590208615\",\n \"1\",\n \"1\"\n ],\n \"17920368756208459594775513092588403682272113879185241029847449270196704045296\": [\n \"11415629162943597717151027986656751176164959954775951737491766901388739471678\",\n \"3553782074666239871386430419254056874717239517337313346466093124484045086259\"\n ],\n \"2479847518350907861410198305257657638812559821866197212682835295069330697888\": [\n \"16336198096112435870220017294356488907484486533908014596838293045878333737753\",\n \"1\",\n \"1\"\n ],\n \"13659262929167885626591318724412930545990275197918446457451955651702871879458\": [\n \"16328493857534505249296234246055804050677092559804920805724537307664264716416\",\n \"1\",\n \"1\"\n ],\n \"13125424937264576413238807223916826451575597485115855071113578117033204506685\": [\n \"20767116637897289965650842768045333821591444968166597965359338399422661559365\",\n \"1\",\n \"1\"\n ],\n \"14346811060419191017094126702863523752074979126531200309720622458877106579940\": [\n \"19717080934036721274044691347300776821032419073329519664188871402947995314322\",\n \"1\",\n \"1\"\n ],\n \"18046726005629104332346323887067962670087059680405551314267555385240817229119\": [\n \"18031603712579353726804718570287150647811739886975934124545999482390980796572\",\n \"1\",\n \"1\"\n ],\n \"20094260086478313426754750729437389398527972293852423570755104540981871777156\": [\n \"1698194946442806760335922564438741174700135648091962518121047692110152105639\",\n \"1\",\n \"1\"\n ],\n \"3206198113858696007175154372410872574270296328681654463776980247818782638508\": [\n \"8408240800637346578694566791810681697615835782440030635933478530836027776405\",\n \"20094260086478313426754750729437389398527972293852423570755104540981871777156\"\n ],\n \"14403113793430251224971393148826666012473688791837249792500862031209636178178\": [\n \"13862895446832993182180516813341282737000122770490054444428162403976141923095\",\n \"3206198113858696007175154372410872574270296328681654463776980247818782638508\"\n ],\n \"11178828595586156508012570405027716939666357915229196541464149545556502679862\": [\n \"20738794824580950560735082509104503020181978264715250122133354802598895412886\",\n \"1\",\n \"1\"\n ],\n \"13604364291936969410211763443934535962241664081022372582343762564973763283755\": [\n \"20275353289398131998499732840357222325698854738170783420114493104798256612797\",\n \"11178828595586156508012570405027716939666357915229196541464149545556502679862\"\n ],\n \"5571606589256339012229772415849550144739532840283793264715627783761606289695\": [\n \"0\",\n \"13604364291936969410211763443934535962241664081022372582343762564973763283755\"\n ],\n \"8848285924035569378285739476564230205564471679166122298033471808695874201650\": [\n \"0\",\n \"5571606589256339012229772415849550144739532840283793264715627783761606289695\"\n ],\n \"10270774705208103021837547676123961083413482740486153908984530779940418128958\": [\n \"0\",\n \"8848285924035569378285739476564230205564471679166122298033471808695874201650\"\n ],\n \"18744057593758402908062676671324963563437976395301690913275124630621604464814\": [\n \"0\",\n \"10270774705208103021837547676123961083413482740486153908984530779940418128958\"\n ],\n \"4041711964186783966169025900517026123219011085605454210626298350557303996318\": [\n \"0\",\n \"18744057593758402908062676671324963563437976395301690913275124630621604464814\"\n ],\n \"2231215470959177988763803702090827144310325297260570366171402056187837257560\": [\n \"8318457643996011272018119531044381038705478093324534922596826105363714257112\",\n \"1\",\n \"1\"\n ],\n \"7190848778447069810079318357316378380579223231307456298681282820298038747911\": [\n \"3179518684386131075284713524237188690229067238450089217843030210098258503461\",\n \"1\",\n \"1\"\n ],\n \"14023383045839968291022075958278389910789953058773137137761779237355605566083\": [\n \"19269851576635520063441882842886441580610030322822719046200090393591350000516\",\n \"1\",\n \"1\"\n ],\n \"11968869328799072641345835092472954895507391508543798930663506481681576347738\": [\n \"2406911289315958105626138492174462421896100098837934715705635960316841200518\",\n \"14023383045839968291022075958278389910789953058773137137761779237355605566083\"\n ],\n \"16094950723192450537092949451315140599857160821036966583360705468118420809139\": [\n \"0\",\n \"11968869328799072641345835092472954895507391508543798930663506481681576347738\"\n ],\n \"7605334543875852481978888154105856547616851368665705715533711471354597265412\": [\n \"11063556916338598439889712254142996488924112698878058773317469279419126512504\",\n \"1\",\n \"1\"\n ],\n \"12970724788470637863011101504476149060495349362054026040825502273490861623978\": [\n \"15269724662095079446471595939162420136900936252544967669682818515385790662217\",\n \"7605334543875852481978888154105856547616851368665705715533711471354597265412\"\n ],\n \"18636037303720197497861694399524082660471210785844694833631584659727073945984\": [\n \"0\",\n \"12970724788470637863011101504476149060495349362054026040825502273490861623978\"\n ],\n \"2481448822572123176536669049107165754879106235271179336735200878541591074516\": [\n \"0\",\n \"18636037303720197497861694399524082660471210785844694833631584659727073945984\"\n ],\n \"5083420213873221920020118511443085888688210203348255626292007266085940482985\": [\n \"0\",\n \"2481448822572123176536669049107165754879106235271179336735200878541591074516\"\n ],\n \"15977659118901057546873512143503735490737683117300304002818573007595365590291\": [\n \"8499029171475827309157795872437664863999883074389813691679130817676545420866\",\n \"5083420213873221920020118511443085888688210203348255626292007266085940482985\"\n ],\n \"12522914302230309830296297199925080877022149114799168192762666880304076213752\": [\n \"6507941033266728408723631110983975701025383932585047763246116342323183054623\",\n \"1\",\n \"1\"\n ],\n \"610008864105819253257287968649122747403572675691067776164128215019198753738\": [\n \"2416725476824747255843209773151190988836948797449040755337594992106731673472\",\n \"12522914302230309830296297199925080877022149114799168192762666880304076213752\"\n ],\n \"2636037216594489390972649688426113226129853310546962144097291965592002602987\": [\n \"14910279232593879445024736565564667540193741329214155087533568493879004389810\",\n \"610008864105819253257287968649122747403572675691067776164128215019198753738\"\n ],\n \"14128412914366801758666335010630848971464008167780184313274179803118614566916\": [\n \"19032175299655464378727296382955252748984414930764943751333433841652236647660\",\n \"1\",\n \"1\"\n ],\n \"12963244979415428703354358884429499758716376815603517440230773756881368595450\": [\n \"20940384280036646059876043270734655755271872814150094635674646436108478377808\",\n \"1\",\n \"1\"\n ],\n \"17936517565286883185961425948784180821041662735447487943240674226538100801217\": [\n \"9732403644613565250313729980694854241581121698301671978713831378248493366264\",\n \"12963244979415428703354358884429499758716376815603517440230773756881368595450\"\n ],\n \"20560152545508855312644467966443129054541839601351533252149260826045447501474\": [\n \"5196802437555290404710135523228580635328003585225304009931295241183425893573\",\n \"1\",\n \"1\"\n ],\n \"13560797327133358918504123563677108550973978750759661351259669393776649152324\": [\n \"21386133174528068012001205847544712502835069625084997407155600137852161722258\",\n \"1\",\n \"1\"\n ],\n \"5160464434751198728684635816502811839145834103285230296929913501616552699916\": [\n \"2529430785008442246367183181124351289566063598085849256488856283970584927017\",\n \"1\",\n \"1\"\n ],\n \"12565600933543559937019816904060666084277019018207022624735542298821639117015\": [\n \"3786706445890863756673358640773668196640821163606620538001624221638730878785\",\n \"5160464434751198728684635816502811839145834103285230296929913501616552699916\"\n ],\n \"3684870190366196235910473639367249123366171745008239302163396842621388357554\": [\n \"0\",\n \"12565600933543559937019816904060666084277019018207022624735542298821639117015\"\n ],\n \"3804233466380443134482731516094545075408156708128567193496309804807623485167\": [\n \"3684870190366196235910473639367249123366171745008239302163396842621388357554\",\n \"0\"\n ],\n \"3358619779812861962584701883181071492224783020258551901544146514416797455022\": [\n \"11952772173546043698554124689373781406095539076644426781422227109947451157685\",\n \"1\",\n \"1\"\n ],\n \"3914072736704586481105312634766387787300318145308605982344689281856145419271\": [\n \"21658684710981795724856955558546558448205882928068648589299312733300571172326\",\n \"1\",\n \"1\"\n ],\n \"3302048423679480285995462792384885653619949789662688450138640717349943605618\": [\n \"11782086462542946375823888089045670823514046343652766160365267644376251888366\",\n \"1\",\n \"1\"\n ],\n \"9317280251966447553322266620416706411527400825880109310662051490737020831480\": [\n \"16314909663041135509770006068741749011668614574551512500192217268184388052697\",\n \"1\",\n \"1\"\n ],\n \"8163571855000998984672794918150629809720511131244062693954840010347013069983\": [\n \"20102091726901451554884458047330816728644814066680043055096908960472917661480\",\n \"1\",\n \"1\"\n ],\n \"18220620776744766601726064137088304966398918663981611799305361699404591808615\": [\n \"3841059742396845129228070157513416306881033477091466608922834722508584428728\",\n \"1\",\n \"1\"\n ],\n \"3852689069612981863438225880802427056591542208224772635803152679464131119989\": [\n \"193477260809934232077151049478055920081993179207815490069632052806659201324\",\n \"1\",\n \"1\"\n ],\n \"3989898923823245881020746081351915940803850171259469432931619020349468042079\": [\n \"3852689069612981863438225880802427056591542208224772635803152679464131119989\",\n \"13549311473900342244002747729804668060267531025421496111842430552300649392906\"\n ],\n \"5010673549392394167256111791216253485719314422693863067410785897675164977024\": [\n \"0\",\n \"3989898923823245881020746081351915940803850171259469432931619020349468042079\"\n ],\n \"8490061633278199548969764768778922713780210014918674271828992505741581338039\": [\n \"5473443359304175681440216690234396126197869680468434784545579090609997459585\",\n \"1\",\n \"1\"\n ],\n \"5295821682310380855049980807263406541834714708665002702238697460754125925912\": [\n \"7150729700382391126394681642112396811218882576280314889092457816910137775929\",\n \"8490061633278199548969764768778922713780210014918674271828992505741581338039\"\n ],\n \"8311428278811557038760473016605047777575555263404533944008292103190818910917\": [\n \"2298236879829578005139130551905754411319428055424100876729882809587201816453\",\n \"5295821682310380855049980807263406541834714708665002702238697460754125925912\"\n ],\n \"8893262370625531216502222251410701636269327975063616784833700462140188344282\": [\n \"5166759034393113295886314062539298440657945072249660502760755163218440766056\",\n \"1\",\n \"1\"\n ],\n \"382197966702119138616822348668963017213142592285220266923706412335076059798\": [\n \"2684223475827935093535528787675793635231660614514644015481222960036669050529\",\n \"8893262370625531216502222251410701636269327975063616784833700462140188344282\"\n ],\n \"15896217398888683815917961170147992534206709771497746446327359664757041425072\": [\n \"382197966702119138616822348668963017213142592285220266923706412335076059798\",\n \"0\"\n ],\n \"19987503725454730983499977177261032502996225096575503805961172480017621219248\": [\n \"15896217398888683815917961170147992534206709771497746446327359664757041425072\",\n \"0\"\n ],\n \"5966545189385749876557008962451184618292189424674430527679378656032121832322\": [\n \"0\",\n \"19987503725454730983499977177261032502996225096575503805961172480017621219248\"\n ],\n \"1308245861772928505438736589209315871730957534537042291470374841485789718737\": [\n \"5966545189385749876557008962451184618292189424674430527679378656032121832322\",\n \"0\"\n ],\n \"11065123749613158873849571809300644889830243164807793453369405918035092552814\": [\n \"6434166081204388292403592541384290117424282096573173591324111442078519291733\",\n \"1\",\n \"1\"\n ],\n \"10445331543192623854470729635942511179889373267184898924137829719668934906778\": [\n \"7708571766551514773717842262376621955539099386553833207839259409152051160478\",\n \"11065123749613158873849571809300644889830243164807793453369405918035092552814\"\n ],\n \"4632800044255522322597103237813798354590497789481886598971904037129632475120\": [\n \"14549130266999792285625640366415571935843914591646574791679110286752993350296\",\n \"1\",\n \"1\"\n ],\n \"10979615328111187451153636268414754946207809305567584173294164791156831963971\": [\n \"11111882669435970231511255045957706730013192196909884532900974977286295570047\",\n \"1\",\n \"1\"\n ],\n \"16772755564697178420102505245779033609290493510695652414653004662164398958504\": [\n \"10979615328111187451153636268414754946207809305567584173294164791156831963971\",\n \"19919110070212326835865963165497269663314424106061880829519367065493755346814\"\n ],\n \"4250571318753654301196545555596355738696593518711797837328549135009862050789\": [\n \"0\",\n \"16772755564697178420102505245779033609290493510695652414653004662164398958504\"\n ],\n \"8181612398220785572690138986162650987694927266702793569354081819450324370203\": [\n \"0\",\n \"4250571318753654301196545555596355738696593518711797837328549135009862050789\"\n ],\n \"11823448003084871679251138583611396965663887516338526422049014953514937202460\": [\n \"8181612398220785572690138986162650987694927266702793569354081819450324370203\",\n \"0\"\n ],\n \"4119569251005985771590198929717430034361193464109779353331952569260884296682\": [\n \"11823448003084871679251138583611396965663887516338526422049014953514937202460\",\n \"15184560605128680864490226284676873554713858511560209280565337301950328201161\"\n ],\n \"12885389642559246534408931562946605467521725211436741363272731762348866689381\": [\n \"13557006616778092960882057771908321440873151381850492205215863173846975570853\",\n \"1\",\n \"1\"\n ],\n \"16830499685407652301190610484355056537375941509063987193183694192326843039753\": [\n \"12901563950987336130664297594230963130924142005892720415333918259578787513638\",\n \"12885389642559246534408931562946605467521725211436741363272731762348866689381\"\n ],\n \"20350699519054501284098311841048056433773490845242886484395393363948083941033\": [\n \"524681874462125061977610300778825147575087619846325090730628918196681690885\",\n \"1\",\n \"1\"\n ],\n \"544255563501221139076916455115399479821369815823305764320179426309020253049\": [\n \"3489815553812526391037215638475560448046063619389794913303353439128486233023\",\n \"1\",\n \"1\"\n ],\n \"18388701879492728245358305182645311936832261063138266364274561291007035161322\": [\n \"6888153115739926995652383007601241106771286757882895178994559312340839730588\",\n \"1\",\n \"1\"\n ],\n \"20025536157696900542910184283752914634916767657749968021079543590487637909042\": [\n \"2257405526672345693646415034264957611849608438469597790386393114427899402209\",\n \"1\",\n \"1\"\n ],\n \"14524682783540350829506322683529670082062995107347098944399708175766578722734\": [\n \"13062474992284066228314553668399095691821246570121777837299931667619390070933\",\n \"1\",\n \"1\"\n ],\n \"1458961998365411289209742325637051992861377689374094790420106748840308223574\": [\n \"14524682783540350829506322683529670082062995107347098944399708175766578722734\",\n \"11501503229792532456649676680416366427370165420999695682155934130126670530959\"\n ],\n \"19179299714287025726764929890517663302497277816966968384629753313404765648666\": [\n \"8799422210962391705024897386967992588646506703143949022892440285192615854940\",\n \"1\",\n \"1\"\n ],\n \"12037109481238578431659306113458260993858168747142619661733162496808342157255\": [\n \"9460720179677717684010116798273629958182245793926601996282819672685261262027\",\n \"1\",\n \"1\"\n ],\n \"21764501891655350406750995512032182134350389639220481102009311353750281055919\": [\n \"3515211264074210868291074607346373956286913529589766922611771294993373484811\",\n \"1\",\n \"1\"\n ],\n \"19531454027421906234252391956672541270053682974556576489705186029679106042401\": [\n \"12559666922182636832516857317761610568606261752165049366967507996084081025263\",\n \"1\",\n \"1\"\n ],\n \"12940309835806876092257947538222015298127789547279790040725456474886342807709\": [\n \"13228675081006653334046238639475869282589983957703024101060937410474156122130\",\n \"1\",\n \"1\"\n ],\n \"4002225259133259868553905856973655163983142348777525357704516017161861106674\": [\n \"248336141624157801686541490637670140701917425202380654727610759544280027936\",\n \"1\",\n \"1\"\n ],\n \"18518174436858097860737012493493530992592438410624360645250455495998374850802\": [\n \"19394751357772817969947110002978018803142149862494760522213671662656170369324\",\n \"1\",\n \"1\"\n ],\n \"19389738124297640996167720032405524596338959677974511737499267990720450487760\": [\n \"5002145527656530757321786433554230692671312934361529853352901874962832693669\",\n \"1\",\n \"1\"\n ],\n \"17900349072334634515175846022800739796453951499345152533974627510939937841630\": [\n \"3542852832463786258830882880505726757427689800758480419175115348988600722320\",\n \"1\",\n \"1\"\n ],\n \"8932052805750452191112352539492339954122170835805037244135368698196818726685\": [\n \"4305165647554726029242131700447744243564226554611918259344244500643873054645\",\n \"1\",\n \"1\"\n ],\n \"5068968613329105671166997643089499297695596625905113996097909370334001588611\": [\n \"2889034165652139878121589237202326578782388450966915853451636498204524787514\",\n \"8932052805750452191112352539492339954122170835805037244135368698196818726685\"\n ],\n \"1737772156125572379822231124518640796663365044929716482321500886517014172783\": [\n \"0\",\n \"5068968613329105671166997643089499297695596625905113996097909370334001588611\"\n ],\n \"20779592788767871979873550708923719279728973077905089686092074036015646109855\": [\n \"6965643722089018600530792497474040252171144203159278006740750050637051705530\",\n \"1\",\n \"1\"\n ],\n \"1752570878651247658634791366035360497016985651204050805569328084471603908233\": [\n \"14479334960157143270325127613986000383200295636579722236464833229835351793373\",\n \"20779592788767871979873550708923719279728973077905089686092074036015646109855\"\n ],\n \"2523153392568645611751477908842416136160962639928527303959273239005006391353\": [\n \"14717058407931303134978733799586742759064808515612235181302543838498629845418\",\n \"1\",\n \"1\"\n ],\n \"10892376982099588909351045740491475826780646327719168488135707154332083588757\": [\n \"2523153392568645611751477908842416136160962639928527303959273239005006391353\",\n \"5279778747886462726395405235953090149038243910749721852452985458855411915652\"\n ],\n \"3492275449778176736556299302410804956191784950519934841613837670346998167103\": [\n \"10892376982099588909351045740491475826780646327719168488135707154332083588757\",\n \"0\"\n ],\n \"2811474058751981400205662810567311243134273879076651845514855945930900902170\": [\n \"3839694779040090116370685798654011253129213256804247964363106441184249343300\",\n \"1\",\n \"1\"\n ],\n \"18449994505337940074119678538636268094473537470157054733765376495312579255512\": [\n \"18171503136430108065635626713685836914520091649307706097236227702594316823864\",\n \"1\",\n \"1\"\n ],\n \"11688900210136294367408414196648813892555181970885037904197204059754153523760\": [\n \"18449994505337940074119678538636268094473537470157054733765376495312579255512\",\n \"10987723888672671587868752787861030262884517469276298906182604071830822742706\"\n ],\n \"21326516834756188510540267628425346241984981473705355824736366520366966442804\": [\n \"11688900210136294367408414196648813892555181970885037904197204059754153523760\",\n \"0\"\n ],\n \"2042954369595352805070665965229095065838170738534249422279648874779074548604\": [\n \"0\",\n \"21326516834756188510540267628425346241984981473705355824736366520366966442804\"\n ],\n \"1449123925774391921415691770849045889080090759962069551379682979603881780978\": [\n \"13650292034244390717608312617839605529859262322831471983200634799674254142804\",\n \"1\",\n \"1\"\n ],\n \"7023067835189130672585004548367495229403211030099647384097713082552682627967\": [\n \"13025429810934099795667155423425496933046900995287623080879062432516421606343\",\n \"1\",\n \"1\"\n ],\n \"9212157376010055842405548810797847317064128757136763585085690325746486280633\": [\n \"9210287880315097107840288506997425449307899657536450214389887867844088345858\",\n \"1\",\n \"1\"\n ],\n \"14395071819118694460968892085432180325506184341550360107468058058779095778649\": [\n \"4032239649997979535624464452081319013947380180660811552400854512654650501821\",\n \"1\",\n \"1\"\n ],\n \"11550742029577600888593745128880474901918989960320324171584856402144578937522\": [\n \"14395071819118694460968892085432180325506184341550360107468058058779095778649\",\n \"3695213945559644890933183373654221930919081055204518035342373362323463690991\"\n ],\n \"8147321749202685886210524619127850712037918054756465650094676687695439676043\": [\n \"12336062659911390378547764550493651957939210679021836964261662750902150500951\",\n \"11550742029577600888593745128880474901918989960320324171584856402144578937522\"\n ],\n \"20618860464790652569943343896000726472359357733492566678850587457542394575913\": [\n \"8824355539697611184677051710482513989695799217054673734933328700900751518611\",\n \"1\",\n \"1\"\n ],\n \"16108350334530152833716550204417004661292818502481629187644594705053671839363\": [\n \"12650326962764686335098373567420586569897587226320089381955622382696674843169\",\n \"20618860464790652569943343896000726472359357733492566678850587457542394575913\"\n ],\n \"12433017878110559006883776435787054660333063404565590161400638796097846430036\": [\n \"16108350334530152833716550204417004661292818502481629187644594705053671839363\",\n \"0\"\n ],\n \"12900889855895493290652957399239894116180428114433150520936657940057217796785\": [\n \"12433017878110559006883776435787054660333063404565590161400638796097846430036\",\n \"0\"\n ],\n \"11061421646688816604325239066082049378604615130306264430174930871146128715816\": [\n \"0\",\n \"12900889855895493290652957399239894116180428114433150520936657940057217796785\"\n ],\n \"9387576549444250517553030528117760691676477429709081316791393827713341556297\": [\n \"11061421646688816604325239066082049378604615130306264430174930871146128715816\",\n \"0\"\n ],\n \"14042571037047480253882605202728445319785707424233866624256569607985552855282\": [\n \"0\",\n \"9387576549444250517553030528117760691676477429709081316791393827713341556297\"\n ],\n \"8483650356038036485769346010694139628125338237230788633185622321151394798681\": [\n \"14042571037047480253882605202728445319785707424233866624256569607985552855282\",\n \"11604454811579155373487037468817605519590665422934348317677311163071481891191\"\n ],\n \"18990754929319364379985791265330170540943947881048469611168470274240858904171\": [\n \"16232445365663646719545902323087599353129118866896073536400221011249038674631\",\n \"1\",\n \"1\"\n ],\n \"311197959420001641012465089280915520426214165356371158138656410633910723403\": [\n \"5520465368449121126593135510668183897740356228598539338386708113887421156877\",\n \"1\",\n \"1\"\n ],\n \"21176565014658320771504003194248691752822001260096075150406161739608873345931\": [\n \"1866675669235932829880382667781413099564606604412441481424079311526887360540\",\n \"1\",\n \"1\"\n ],\n \"20111655800633083900562488002061437247331859081800842735267758583675296109425\": [\n \"21469810323792387780919204658156499115551323133714882446033313516409054364891\",\n \"1\",\n \"1\"\n ],\n \"13294744025815052864742973912352205645885928203781444453651335071826476806838\": [\n \"20111655800633083900562488002061437247331859081800842735267758583675296109425\",\n \"6926157969686386099686858258341763154832406624610783507032991981146383583276\"\n ],\n \"4238477119971619813902242629238936528240271666279719115975966727922617753512\": [\n \"11169776309867132901901681660278014423724046878613777471597368066359795549169\",\n \"1\",\n \"1\"\n ],\n \"13625080268811600441127602078666320184610795819639494094268055942570199389204\": [\n \"20344973984013352005639753738365462537673048585291902302527191776520583889385\",\n \"1\",\n \"1\"\n ],\n \"17742400835734861857821197001913426886472780268287673628139654459478604386789\": [\n \"18972725477523095235671812848113004371431576872718439015541743849495665935632\",\n \"1\",\n \"1\"\n ],\n \"18572252214316686721302200951030087486619689980373574097197890224224304344666\": [\n \"1669441905955080773750648983929339913071242972497019844236523808054589775410\",\n \"1\",\n \"1\"\n ],\n \"16206656614315688067505126197610416267902614309580520077802278937971789325119\": [\n \"20001219838887036186657862119963585332609579804878061238796006033215169592887\",\n \"1\",\n \"1\"\n ],\n \"8164255900672293915144322363624758517871432693714801482963900969289877233150\": [\n \"16349618402662028198742810995386216078055829807485491380218282915443094113816\",\n \"1\",\n \"1\"\n ],\n \"16534971393222082270945524750448163184091087748675650704520996146262692718771\": [\n \"14475742875788754759849348374265774291484424756524854046439591924045700157050\",\n \"1\",\n \"1\"\n ],\n \"14594950600650184476480949275845180262923039349478172753221714555873084236550\": [\n \"16534971393222082270945524750448163184091087748675650704520996146262692718771\",\n \"13879425098089991292219359484165037416062098210412633930931189452376310784350\"\n ],\n \"20079650003728590166199744345798997166085156142208872143685642519055801876187\": [\n \"0\",\n \"14594950600650184476480949275845180262923039349478172753221714555873084236550\"\n ],\n \"3087461840322767372091849256120570218498812287404974352764656269178987551354\": [\n \"20079650003728590166199744345798997166085156142208872143685642519055801876187\",\n \"0\"\n ],\n \"14968542117616678705808762630238846240747356254400665516792070863644710089170\": [\n \"11017400710020614680578880457954717950148409778146196482732887129581584822625\",\n \"1\",\n \"1\"\n ],\n \"839821966450257286741516089009484218701217870588424170237055970087017003118\": [\n \"13688110538793442728563330760205517939298317364914216000892497471751734569585\",\n \"14968542117616678705808762630238846240747356254400665516792070863644710089170\"\n ],\n \"14575899312195194827876128724923000070207507210067540776776032026073528413208\": [\n \"15195329709371372490291999719628991421171776561668014391903656776197639838665\",\n \"1\",\n \"1\"\n ],\n \"7174281465844433428768031535179624934419267320506175947391727557933519372787\": [\n \"11719463086362926055338584961911305122316386212254979684753937348367051487346\",\n \"1\",\n \"1\"\n ],\n \"17988554355291437793600674319211516449496385156510083387207088979551347814436\": [\n \"16673317186887461356015118385605485107769714214783311556270744208309012291035\",\n \"1\",\n \"1\"\n ],\n \"13713792399202132223508996550516743294264824902304025696893359071464614579470\": [\n \"17988554355291437793600674319211516449496385156510083387207088979551347814436\",\n \"801244513011745853339886574286131062480432770088419865784317877333228260761\"\n ],\n \"19376181958639362261805565269001220021576140694813881888162783390520011473044\": [\n \"9129453739551350134949349312103504333333007861556807986445233603959590204823\",\n \"1\",\n \"1\"\n ],\n \"20811273101978635347759017847354318246678704283075336355375558555491394775776\": [\n \"14758344217558220145380583519145564086085492188630581918636589369014333578950\",\n \"1\",\n \"1\"\n ],\n \"17218969339994172541839948418167211499212431973139009630200914689349552429086\": [\n \"9530308935318291629106550829747021135987991943631261187444573800696120350976\",\n \"1\",\n \"1\"\n ],\n \"17398813781647213183127530670127387598212005438259881200593044831555084290583\": [\n \"19135568662972681919676437800607422513235177779257544931136678606670002776394\",\n \"17218969339994172541839948418167211499212431973139009630200914689349552429086\"\n ],\n \"1135717010140726029113098746099047513066417317816266311036259795335073445662\": [\n \"14869964393234208115401436523952409101809272723898222851552029735101815370583\",\n \"1\",\n \"1\"\n ],\n \"13932230639057372510305682899959887958273936130178695807375469214299997494977\": [\n \"9504709900946504222108959356039188409248634415085489702317299157198917579332\",\n \"1\",\n \"1\"\n ],\n \"8377946734432736036456169471231999443488275309673535692693958598486089643118\": [\n \"10544747047939421218591184232794664334420555723239885079633908877649568942294\",\n \"1\",\n \"1\"\n ],\n \"19885638289061148448947079885180874195846530528983381925159324720111016260294\": [\n \"12477168890068956070488162747474718264269086114085992928719139031388744673505\",\n \"1\",\n \"1\"\n ],\n \"6790357151843477061160575026868089227678945740503396686223819777285076132113\": [\n \"20086932113316208408077477469218708074175906568542236788601417106217091926093\",\n \"1\",\n \"1\"\n ],\n \"20104247394723505337844475387556137947784542587095481157234188622239855373910\": [\n \"15008628056981340396855759979903335800732387057877488205817714613327877750654\",\n \"1\",\n \"1\"\n ],\n \"17204261907902148790326593014820775832842046896026976090906681248849913152208\": [\n \"1585379377249129686638433639473531117859091128684270234256455739318354413400\",\n \"1\",\n \"1\"\n ],\n \"16850146390327482186796312667153468386572146472027962575055470123563567328803\": [\n \"15465931890390946241782116984276879313788720516287374700440225441784332549485\",\n \"1\",\n \"1\"\n ],\n \"6880093659557815645276537930493107312765177025250103103274721577756257554944\": [\n \"15176932414972449900060637262365708803418432818081781544867154313043902392648\",\n \"1\",\n \"1\"\n ],\n \"2625791156365555814147980374246021354476163268309030600969147834338983067417\": [\n \"6678096801595557901051873642156988162861830018487513789242192308774678037691\",\n \"6880093659557815645276537930493107312765177025250103103274721577756257554944\"\n ],\n \"20570865332279492050943311377074473795112944978548536817888087109997616806647\": [\n \"2625791156365555814147980374246021354476163268309030600969147834338983067417\",\n \"0\"\n ],\n \"21059004477776707683724559388632696165903532449949521437427601570697286267472\": [\n \"0\",\n \"20570865332279492050943311377074473795112944978548536817888087109997616806647\"\n ],\n \"13663539322546420291339939140500560758649022548183217470906979302518863653950\": [\n \"0\",\n \"21059004477776707683724559388632696165903532449949521437427601570697286267472\"\n ],\n \"12283285033153355333324679616441436269029373302725715863921422337947180201941\": [\n \"0\",\n \"13663539322546420291339939140500560758649022548183217470906979302518863653950\"\n ],\n \"1749503065729476409145631877939601833922931345293104306740177024982469304631\": [\n \"12283285033153355333324679616441436269029373302725715863921422337947180201941\",\n \"0\"\n ],\n \"17011696293883092315612003312287148797297979362717519866498911224573167436014\": [\n \"7451341019590877739002807582167355553604229338676714225998832070727382251751\",\n \"1\",\n \"1\"\n ],\n \"13409810899281071879298875387955496044291910681126539758879704489369569806470\": [\n \"15455214899936114491808910335440077618155248901493248849569219156448570424825\",\n \"1\",\n \"1\"\n ],\n \"21843590297837180884621752386398463567322899992095639791677829133141205214583\": [\n \"15348581231177089706714791591893965798962301237319840406507806809660218516354\",\n \"13409810899281071879298875387955496044291910681126539758879704489369569806470\"\n ],\n \"20295735747324469832611353665787840320279851780324883593808601793254275203545\": [\n \"8770939486751401633703690733976831975624448189459674231475209036129803546359\",\n \"21843590297837180884621752386398463567322899992095639791677829133141205214583\"\n ],\n \"2247142894754290435604575746899529797463425206370270336975312519326240267933\": [\n \"19677941698938155068354614301300756232382311959230698958782546332456480801272\",\n \"1\",\n \"1\"\n ],\n \"2153887326075784794249553586979138817553464497789718108775490221798297997705\": [\n \"15074971541129320903624769063779664189828439300573935733808910502131704359391\",\n \"1\",\n \"1\"\n ],\n \"17779007318307624573168202156552392908669121675390152858524737271455097634263\": [\n \"847686806517188993153605668801786105608208451584986776463243762343509020429\",\n \"1\",\n \"1\"\n ],\n \"7527794692448282948560349596194218664233315991772786125404032158840300531700\": [\n \"17779007318307624573168202156552392908669121675390152858524737271455097634263\",\n \"13870091948543977352601539586539078280313470008551776148520372459334168964837\"\n ],\n \"10807971867481465619133737237498767239780845867253376146845046523131876820082\": [\n \"4251159472918120941932748418106959107357735078662253974581689162002180085250\",\n \"1\",\n \"1\"\n ],\n \"5224662880304015924479622634733412208912475955967254634249635122245293535972\": [\n \"10807971867481465619133737237498767239780845867253376146845046523131876820082\",\n \"5098190698050229644661315730005883859705904387605878416870907875188921542133\"\n ],\n \"10793901937545749483043346795387588566409601247099968039857573383943916203394\": [\n \"2534057551444236799635180991518414295654408689712806745673926117234782308714\",\n \"1\",\n \"1\"\n ],\n \"2553079736813289286021298640437452984699898835186443886265462143580980930940\": [\n \"11258167122929658761769947143716357345904730106392180323196143438409394464381\",\n \"1\",\n \"1\"\n ],\n \"17060303576271795259486290153721972000459254150606884250802969580312685970289\": [\n \"15536541083173039992071833148841597906075173050475439221329778322478827468616\",\n \"2553079736813289286021298640437452984699898835186443886265462143580980930940\"\n ],\n \"12700501384672067835400080532371215516926777857918978347408014267575143511232\": [\n \"17060303576271795259486290153721972000459254150606884250802969580312685970289\",\n \"6658711726462652707845047512029236993959600124554379546878406175216164037944\"\n ],\n \"11806908546181906859440284571171045884926543678378672264256085493890878932763\": [\n \"12700501384672067835400080532371215516926777857918978347408014267575143511232\",\n \"0\"\n ],\n \"15308717333063989786909455713003951254605568391654857675134657382281235608798\": [\n \"5439600155710791047214734504286217320226223832347685364997359532179415645779\",\n \"1\",\n \"1\"\n ],\n \"15451059979477231471851410630344455191519627455066212002284771613647719117741\": [\n \"2546792274663638589023666973186598203089451736947484808690335656118684309463\",\n \"1\",\n \"1\"\n ],\n \"18821117093874066837311843181317309083008017410291409447317172679777338405457\": [\n \"7210345770421109678453701098603128484922410239959181979801053077037095368166\",\n \"1\",\n \"1\"\n ],\n \"17602149842399397493325534254007580549843771281494071749892004574692185825508\": [\n \"11244561975692964813072817729797204991715356726678666272331402983078535778131\",\n \"1\",\n \"1\"\n ],\n \"6190654047786527307832545947255435073874514831357224121568804063342664448230\": [\n \"17602149842399397493325534254007580549843771281494071749892004574692185825508\",\n \"15007088594881443439129578056655892560704354193152477895488578792012626219741\"\n ],\n \"21109208028585682428032707120557873166880398838964177797536724780722120922156\": [\n \"0\",\n \"6190654047786527307832545947255435073874514831357224121568804063342664448230\"\n ],\n \"4804442954591170024813320238975744733391382638764653851001205307286422065114\": [\n \"19240303171648455807421435856962360771101665676888263010353238385540439977181\",\n \"1\",\n \"1\"\n ],\n \"19573378741776720888109647841566518366643488626485902296515910946474063269974\": [\n \"8745976361886882474318548011921680875566954123429673722876026773476336777569\",\n \"4804442954591170024813320238975744733391382638764653851001205307286422065114\"\n ],\n \"15101905293961227509787943696876877415840544143017811154394074749520363254969\": [\n \"19573378741776720888109647841566518366643488626485902296515910946474063269974\",\n \"0\"\n ],\n \"10605254363026240636973110180200379005428113720626883925190082048401331264475\": [\n \"17603166979083839723988848354329225331495757993849541494931959581423790897678\",\n \"1\",\n \"1\"\n ],\n \"20351604809342155108263433473136670364996068659668745769741120418199838245951\": [\n \"16921960996547652703582427376388093952154082661297845148001605112197480496203\",\n \"1\",\n \"1\"\n ],\n \"3581213522288697586101293978832573860785790751073992161137489746475664892073\": [\n \"10420205285517922706608986985210515508992993257040173332956447892809359257926\",\n \"20351604809342155108263433473136670364996068659668745769741120418199838245951\"\n ],\n \"16083208404155063484835861991728316552561642257583103483223568855490503927069\": [\n \"0\",\n \"3581213522288697586101293978832573860785790751073992161137489746475664892073\"\n ],\n \"1881645260700556214249597585908927678741533049087155980408098041403757961954\": [\n \"5922394107678062924257481401492854104148791753285515178448972087299348069204\",\n \"16083208404155063484835861991728316552561642257583103483223568855490503927069\"\n ],\n \"11226423070740752649710788046307168182268000747658337211433323049379159774893\": [\n \"11934929906369808840286665558582280084181476736809334978220526221893694344238\",\n \"1881645260700556214249597585908927678741533049087155980408098041403757961954\"\n ],\n \"1767350162538494925424098352909567162828227618834321564574683989226168772526\": [\n \"9131139801586169909368379282033705359620443498741572710785114467480270503896\",\n \"1\",\n \"1\"\n ],\n \"2182649931228686007110714639036523731192819948550856642626484844581156451565\": [\n \"7472159448163065655137609918866818815068367538053217566116404579125752595365\",\n \"1767350162538494925424098352909567162828227618834321564574683989226168772526\"\n ],\n \"10488998967147475747350865253854084359886825235154708315441849239726860231669\": [\n \"0\",\n \"2182649931228686007110714639036523731192819948550856642626484844581156451565\"\n ],\n \"10286848869008683509650559097713067043222449714032226275990589838390162206081\": [\n \"15614037286021127998727448475960964580188970895026274021331795596661652425554\",\n \"1\",\n \"1\"\n ],\n \"10258292825288137033881577629429478439641154844635076144143142262272549286816\": [\n \"7402573443632833310007276670050677634488524900113636099314693113169820078060\",\n \"1\",\n \"1\"\n ],\n \"6550410577615644903705682984705858022043790451721126804928800483870868195646\": [\n \"2460344945570291830524392606517962227953958311033900378100934309462333211352\",\n \"1\",\n \"1\"\n ],\n \"8062110133593114648560535953535199841946015518554288631811282916087149038019\": [\n \"5771040028753282439136721476606621627969683389123582002201684488614059390353\",\n \"1\",\n \"1\"\n ],\n \"17500161516152199297050710015934731443792165616174560136503997463584388222715\": [\n \"8062110133593114648560535953535199841946015518554288631811282916087149038019\",\n \"14121549011455479744804772854234692254059111175492675037757777442017209911592\"\n ],\n \"21084364795343023617368201701420141481446475139689577197624714490218507526145\": [\n \"17500161516152199297050710015934731443792165616174560136503997463584388222715\",\n \"0\"\n ],\n \"10963244703114403147459811087028961751319571450659097828189755747106752150718\": [\n \"0\",\n \"21084364795343023617368201701420141481446475139689577197624714490218507526145\"\n ],\n \"4747254140721171263413755777226020618251653565278905115572562250626099095394\": [\n \"0\",\n \"10963244703114403147459811087028961751319571450659097828189755747106752150718\"\n ],\n \"10550082039245929080148353077083952377725666081121483517231616754043875220783\": [\n \"4747254140721171263413755777226020618251653565278905115572562250626099095394\",\n \"0\"\n ],\n \"3909548609846052245776230420095485894671175891537104484048427055561776385325\": [\n \"10550082039245929080148353077083952377725666081121483517231616754043875220783\",\n \"0\"\n ],\n \"5691864253799673601884681713936534292176796252533356350628496722280319335022\": [\n \"0\",\n \"3909548609846052245776230420095485894671175891537104484048427055561776385325\"\n ],\n \"18676032584944203355456153898262089582676466590556356914515756645668499427311\": [\n \"15519705984386501796793429096424765363691038865375888914782703981897087587011\",\n \"5691864253799673601884681713936534292176796252533356350628496722280319335022\"\n ],\n \"4294916168941686655261818658980476132252764841431165610799380864466118484328\": [\n \"18676032584944203355456153898262089582676466590556356914515756645668499427311\",\n \"14546255179778281195156072337365660532474609063181201985242032222003634157262\"\n ],\n \"18746240275886609412329904343787372508227508343174769010684134228514679204051\": [\n \"19294792069324010626201865834823065285125076251094669024165533668082077921791\",\n \"1\",\n \"1\"\n ],\n \"6576025729082274006456990368556723785270412567218867718902487683864740000123\": [\n \"14951325343781880014815650594700941795484891698367332437499490030699531576740\",\n \"18746240275886609412329904343787372508227508343174769010684134228514679204051\"\n ],\n \"19991297578400315483402782304850086834885234484317459241973743639168657815192\": [\n \"0\",\n \"6576025729082274006456990368556723785270412567218867718902487683864740000123\"\n ],\n \"21586200525429472468826240407851143071831708278041033254021113787941392049641\": [\n \"15171705665458412276686062000858753096844284183617554847235737645205192207066\",\n \"1\",\n \"1\"\n ],\n \"3680345444186566577200031692783548167818682871361513263422533233962038301076\": [\n \"7477978969775644303849155444409343419154069744714847271196650707719295133985\",\n \"1\",\n \"1\"\n ],\n \"11082676515679062729427222151188990675885045757951178496768125274439305813808\": [\n \"4777235799590462240190260054421728790752970221291487279548600469497520805120\",\n \"1\",\n \"1\"\n ],\n \"9999814616770956220348824435439764674673687398545866836030017744584433542882\": [\n \"15535754768153384945358871254814144810042623864514781982746204812118339274255\",\n \"1\",\n \"1\"\n ],\n \"1841296829613917230905150753658227932656244758663180974778465812234325682588\": [\n \"16536435207513961147499495442646648789421295092492131075407715547719537589296\",\n \"1\",\n \"1\"\n ],\n \"20650888845255860105531035289389762198302789259944226986144297706439073390098\": [\n \"16385721540790418411698062502885561405569968074551330456249564670161009370366\",\n \"1\",\n \"1\"\n ],\n \"12787478308557920281629323464454553371421089597735119680560953258897673122124\": [\n \"21299339344796763330024250788060293853908863536200909557221682331787500162030\",\n \"1\",\n \"1\"\n ],\n \"2200856922228393334510715742759084252083941368050916538137357171056418977891\": [\n \"11985370819084851227027999820193920847380858822502883062117328963123352327168\",\n \"12787478308557920281629323464454553371421089597735119680560953258897673122124\"\n ],\n \"12711979454192985426862048881701659245293609683553328560069602588697764263395\": [\n \"1416423512423101121166731254982860945866242607469294441612324706538232934394\",\n \"1\",\n \"1\"\n ],\n \"3930438879576149934785081208701238465295192269067635692718542841713437787736\": [\n \"19389877113816915248950729477215864348561737310337977539125792909697796222807\",\n \"1\",\n \"1\"\n ],\n \"16360204406577360445075785482122889578706460158456136401542627293216533311713\": [\n \"14306011490382096890719046406787873065097730685299748648964388891924336378681\",\n \"1\",\n \"1\"\n ],\n \"15300114553934692320449580471900044714133422468239289303710545954696747547592\": [\n \"17345300578407892793083366764671254446996938128811190226804425689173106910660\",\n \"1\",\n \"1\"\n ],\n \"8233214291405600260919015120547109197484880125300617674035912872440435660676\": [\n \"985290850350086015557448039033264802974713925436212502530504511490508806642\",\n \"15300114553934692320449580471900044714133422468239289303710545954696747547592\"\n ],\n \"18151188595621915266997903171699357653196718132444272877708708870401966095879\": [\n \"8233214291405600260919015120547109197484880125300617674035912872440435660676\",\n \"0\"\n ],\n \"13753672878993663447397235983234132363247487195901621968922792867788146696239\": [\n \"18151188595621915266997903171699357653196718132444272877708708870401966095879\",\n \"0\"\n ],\n \"3163942914179519904021022943359140134857743741334158534909988405849389325112\": [\n \"6555147042893699209089823965240200670395316832658647254609607264815067351352\",\n \"1\",\n \"1\"\n ],\n \"306002718049428977668740061960877909161526372695745967579718784755183548004\": [\n \"17815803309955783572495486614636174436159942905089300896611590637261262320389\",\n \"1\",\n \"1\"\n ],\n \"11793446645239168317313838109321473739894714368121319558842074672902794139713\": [\n \"192769500247074661775961591479990022537031561876221511982006639868807331834\",\n \"1\",\n \"1\"\n ],\n \"13004598883365160018415007236130464726354015180835212019850263893809575032165\": [\n \"15262381697978966690785278023216933508092302811851715282918194331813136963529\",\n \"1\",\n \"1\"\n ],\n \"11235108449541541311620918134261525818892775968510066773998378253899642673570\": [\n \"15883272364992896921834659349389266664628911265836900618496142935473887660053\",\n \"1\",\n \"1\"\n ],\n \"20156330931856395940024348351864733462270866531271342253455546993951608521185\": [\n \"21687982157634079731749969518795184562970024049025193873890971579536852637618\",\n \"1\",\n \"1\"\n ],\n \"20663324324862924219227076983874407026224722375099914497569352532891177019688\": [\n \"14113591620492170870421324447758175370217402858429158326120763283967962611891\",\n \"1\",\n \"1\"\n ],\n \"11805046419041468444685583250954898824295669952068009557468473567346508397555\": [\n \"12113779107637113480463152910172495575995869192659668039086366992665418410446\",\n \"1\",\n \"1\"\n ],\n \"275439078346670812579079777252675348589821636555065422095190693331449877616\": [\n \"8955564915423090252388589307904984463496683000581513978250691200144047909402\",\n \"11805046419041468444685583250954898824295669952068009557468473567346508397555\"\n ],\n \"20121464831712224064725145375911254830757552398658952741889129148119292041669\": [\n \"4983575321357572789777781991623042943966738795424222123441140081852505431496\",\n \"1\",\n \"1\"\n ],\n \"8880874458024948406110617961508247949017085757836253017631135481363780310612\": [\n \"20121464831712224064725145375911254830757552398658952741889129148119292041669\",\n \"10328919169171327644685122958524036839461147142280009702940898481435706149224\"\n ],\n \"17408831340968194454710115278085201571293007706600362363189872974242995895415\": [\n \"9109497950926759336745305420146733596552972964068275982929052589866952112827\",\n \"1\",\n \"1\"\n ],\n \"17026128425851829151315341911263958265707055777264719475034320797192369227528\": [\n \"13136548301240207817638716563509301922118529688916349876330140270539807493987\",\n \"1\",\n \"1\"\n ],\n \"11975267211584795384663716912178099345363891072592672658974385788209267641863\": [\n \"17026128425851829151315341911263958265707055777264719475034320797192369227528\",\n \"11597878866458215415507643913616829336576162539714695844715768483339729548523\"\n ],\n \"16114421206692808371991505514606699358875386788663971073561707481374009208157\": [\n \"0\",\n \"11975267211584795384663716912178099345363891072592672658974385788209267641863\"\n ],\n \"20996592656489018411121765835544992804166928256649807994305945010164391092572\": [\n \"11223790179106113177151229011091718491773946661645153650435707742205290740973\",\n \"1\",\n \"1\"\n ],\n \"416482320758447404270099556975350199400507277825600421980177351204672183921\": [\n \"4589238067321701505869470880740959472477866879272048449047208192605631149559\",\n \"20996592656489018411121765835544992804166928256649807994305945010164391092572\"\n ],\n \"1063464025649010570200442353133999148717925751605047840268320722834187961085\": [\n \"0\",\n \"416482320758447404270099556975350199400507277825600421980177351204672183921\"\n ],\n \"13946013763295459035455228892044569528168706654404051020047859367736268189974\": [\n \"0\",\n \"1063464025649010570200442353133999148717925751605047840268320722834187961085\"\n ],\n \"12316050172794097383259620637853255988497249348776372732699741530716858202733\": [\n \"13724736258175341385322949089447442538141824260782716165276816105711326011813\",\n \"1\",\n \"1\"\n ],\n \"15211643069173748351209202013922060640747381440478510768482996685099012265483\": [\n \"9208116720766007206280441621223537869795570390114974263925941311972683960588\",\n \"1\",\n \"1\"\n ],\n \"3756914255776737058373763519202851786027589820601049802347680620092026572855\": [\n \"15211643069173748351209202013922060640747381440478510768482996685099012265483\",\n \"14230790437046102318150677556036005179121107453876335094545806115994659545636\"\n ],\n \"5515752012779832659176489884868528803741620397189796462112728347203251970942\": [\n \"0\",\n \"3756914255776737058373763519202851786027589820601049802347680620092026572855\"\n ],\n \"403618715771338632493814795686579861425005909012061078736356000406529887957\": [\n \"3011564183428496930728882614181928869797220961417190863791011017407576867198\",\n \"1\",\n \"1\"\n ],\n \"10596782571855026813524955156017669589941924541161192069366135861342782531906\": [\n \"2969215970699467511404013959656345188377811221733237770149273949159068103912\",\n \"1\",\n \"1\"\n ],\n \"12430447574896545400570730762163946122450372324669653226256959858449998743157\": [\n \"1053165568146641403784479130940660116843295647105897830823445372973706136117\",\n \"1\",\n \"1\"\n ],\n \"21048873492671685630106405971709105408156309819180850331000694618644708407801\": [\n \"21295830935899491944316391266068991608739778692852138589856729676250881046798\",\n \"1\",\n \"1\"\n ],\n \"10573993404465958940028310124743919146693202983520807486759916863217345102745\": [\n \"13770997666909893053165141142068636510046551629093166363714901309765227112656\",\n \"1\",\n \"1\"\n ],\n \"1492585382929134951449710022024033440935343914670586251134107634652811628775\": [\n \"9433930021659181503373126591611892110995497979924375456286939936062143439295\",\n \"1\",\n \"1\"\n ],\n \"645482092009556807557259794187153908665594443675311657529693223668906849101\": [\n \"8122139276033971530920854798530850995526283386393331182045372997873771007294\",\n \"1\",\n \"1\"\n ],\n \"18430749663282803574367153877507212360982201031838538232903130612063428899320\": [\n \"12232174405750323989106462251066086044821090080390231002732278085399765427550\",\n \"1\",\n \"1\"\n ],\n \"10784508208785496189646490611126223640515931389497540470245212789928199796780\": [\n \"17889462323446294792345602585346172474553005779747560228125390034767219271793\",\n \"1\",\n \"1\"\n ],\n \"12223790857335581277902698170100387684134470717556024229927452211306272197944\": [\n \"8376331159759782601721213984164184200796880018979447606966160781614095794545\",\n \"1\",\n \"1\"\n ],\n \"21148011357007948225713780412842033116062055546653340877830152154843909432533\": [\n \"12223790857335581277902698170100387684134470717556024229927452211306272197944\",\n \"19533356380001714090396437883529553908103941721161708259470397259583073625015\"\n ],\n \"9290944879252010167206994971963506870307902218764607507931668557657703086458\": [\n \"13783807331163578474188521274657000556776168881847313193009476703653301435524\",\n \"1\",\n \"1\"\n ],\n \"16705076889757144461602872699059674754104254329235698873322362252512474458466\": [\n \"11782816940363663395574923476871895108309287088227485604334469435502592686900\",\n \"1\",\n \"1\"\n ],\n \"2110981648662418472048530267939840063655176997033443301287656921349460037801\": [\n \"17491403041154281318230388658623205410973721050543703486152059133600407537436\",\n \"1\",\n \"1\"\n ],\n \"11985688919134117562310658838467865888699982002822181509009673808384193588225\": [\n \"371024895917853373364726117067171215985962402133848668702118629561091104918\",\n \"1\",\n \"1\"\n ],\n \"13430136037504528570309460062698460454542375777560740429438665181134614340824\": [\n \"8059562407104623464688888050804051214867171594767260646546843366728678480282\",\n \"1\",\n \"1\"\n ],\n \"14100087405015876577806817651807571312385676214407405427137185689869767937128\": [\n \"13430136037504528570309460062698460454542375777560740429438665181134614340824\",\n \"20636505069683252492860219538030071349300442963802050193870709863738295681630\"\n ],\n \"3684512917486629089974174588035210547540077125007021314645848190151729966895\": [\n \"9080174297016813840570196284081622072806824952607601113683604803978289495475\",\n \"1\",\n \"1\"\n ],\n \"5201458151869530399349398884888734091884571944401713946281442110741176276768\": [\n \"3684512917486629089974174588035210547540077125007021314645848190151729966895\",\n \"5024217806418664003017610411286595784988472068548294089119640712557215526096\"\n ],\n \"15582485500559132783327675990244424807460996578163094741381451502425954927970\": [\n \"5201458151869530399349398884888734091884571944401713946281442110741176276768\",\n \"0\"\n ],\n \"19104267559435646069427355511015893323093322089292604787164512280687812310882\": [\n \"0\",\n \"15582485500559132783327675990244424807460996578163094741381451502425954927970\"\n ],\n \"18201695282137108284786802194074423326161580789590876289216966944222165027828\": [\n \"19454370583590099832853792246460537452506191509093325039482992968996655115398\",\n \"1\",\n \"1\"\n ],\n \"21491591518671623635760747288326670326331298621311559910523346250202746300053\": [\n \"4481859946981231924039769857926343126799756514485971389369033201587357743899\",\n \"1\",\n \"1\"\n ],\n \"14897095390261147622408441269806266683943969992880111318230658578421012168105\": [\n \"5104604188887958949841585791388019138395147433448055340267255435781579863293\",\n \"1\",\n \"1\"\n ],\n \"8428874725228638354638316676940749291665737678780139844788434199156706031802\": [\n \"2025582175530449817923733061397854412949442239883114367216501213280460153683\",\n \"1\",\n \"1\"\n ],\n \"4980960011989291262019117337442066716665747301075815109034429865633405627479\": [\n \"1415631477332512179398158396043960311411475838290429479486648502821315387324\",\n \"8428874725228638354638316676940749291665737678780139844788434199156706031802\"\n ],\n \"1310658318251867184393682030740504658512861732152933167000008134774730977446\": [\n \"4980960011989291262019117337442066716665747301075815109034429865633405627479\",\n \"0\"\n ],\n \"19492237774175832850511061252857226252086646027336984357144216019296112941308\": [\n \"1310658318251867184393682030740504658512861732152933167000008134774730977446\",\n \"0\"\n ],\n \"19352972205193858428316186738976018306990117130479360127427066705131172797234\": [\n \"0\",\n \"19492237774175832850511061252857226252086646027336984357144216019296112941308\"\n ],\n \"2134166751124094665573719052030263428101219199710985560860909628843765044204\": [\n \"19352972205193858428316186738976018306990117130479360127427066705131172797234\",\n \"0\"\n ],\n \"9411548237627328568414030040259406652254604691982267209709518000077718107208\": [\n \"2134166751124094665573719052030263428101219199710985560860909628843765044204\",\n \"11343693272686777994241576184561936389070236939852754848742381144128769503124\"\n ],\n \"16614048767226692633555977767811966141658568248889100907233136249837806911200\": [\n \"9321058794607549033520888721999092950929892640764006060924378677227046683676\",\n \"1\",\n \"1\"\n ],\n \"5573471482501023558815580835922143656982687119161823705661394477082466303165\": [\n \"1901762753691557229098963360440200744019427942466955292000782653737688466429\",\n \"1\",\n \"1\"\n ],\n \"486899586961088218403433210345602327961741486861424851557984935799857771259\": [\n \"6429227520894379218118600538984535243819999019866421891612814081891787897341\",\n \"1\",\n \"1\"\n ],\n \"11394151039384492479537802979339137555322731239883595616307018117595737225882\": [\n \"19099631505980502553550935103739718414885802632340897302379275240093147926100\",\n \"1\",\n \"1\"\n ],\n \"2746417433608650770606004054512116473373332183959017148134885213665354553597\": [\n \"16785645480077704321518992223259495910249894370072864847800025757323462178713\",\n \"1\",\n \"1\"\n ],\n \"16233649175110641178353935279538215854060910494263858101344882566374478347030\": [\n \"11633305956934689569297168455160112527205938846756562126510616779153228826737\",\n \"1\",\n \"1\"\n ],\n \"16358564027032530453843100523434772613238405976022818892325577875621218090922\": [\n \"720641870724270813806678302703865053679484557489707208398429951123800476132\",\n \"1\",\n \"1\"\n ],\n \"15044132523745287422577989298472240820730022251392717933023495664920909368685\": [\n \"3916205466426830360064749406439702454246167250307603224348074896660749199022\",\n \"1\",\n \"1\"\n ],\n \"20560261291073468323591643674180972314357956750973809949272083332043885010245\": [\n \"15044132523745287422577989298472240820730022251392717933023495664920909368685\",\n \"6624576447857885923892937930538921967356505534692253696877035690126643110601\"\n ],\n \"2918667750093614095736971126613162117884545482970202729609236673549857266183\": [\n \"20063703901792355539543558229713833264827649395968196903031150479944354999083\",\n \"1\",\n \"1\"\n ],\n \"2580887193528011234419148470523126051341040054618014962713599284925577339966\": [\n \"5718094877343446363504599729513589528489543961075565874080958636717071531020\",\n \"1\",\n \"1\"\n ],\n \"18069971458084908529968822461802282237161636357791271906998435455506042778765\": [\n \"16460468767637829676032528603072733145466493998320123146426965586509028742762\",\n \"1\",\n \"1\"\n ],\n \"18253769378414535190777233022719490542416183133658335371090590798569133810585\": [\n \"8560879050868897580374418317557702311632430611220561041000787481295024884863\",\n \"1\",\n \"1\"\n ],\n \"12128458438427230388820870706116545984150859390240566937414882915025263205766\": [\n \"21862725159689782596685962252544932705773503261759765826064560895621534127561\",\n \"1\",\n \"1\"\n ],\n \"1768545173023619109764447678535428978654501821545252423036021793572864263650\": [\n \"7231947217482672615379705154696921330392578988295659498191306314782253518524\",\n \"1\",\n \"1\"\n ],\n \"7295592434670853705247282078813562288100642517511199046347914862716839975402\": [\n \"21315384616914725023339849601022606893757477209172128707858151892060901659169\",\n \"1768545173023619109764447678535428978654501821545252423036021793572864263650\"\n ],\n \"18060654800494338401172208597819098445452748815281539144611879049552490143552\": [\n \"7995065813906583637884743184360216980728016083856823740875361764782471468796\",\n \"1\",\n \"1\"\n ],\n \"15715991832636725041532066734667379643763749895367236859375550381864160487973\": [\n \"17672992631621190207972445897972865897805578787815659134373415787096233198104\",\n \"1\",\n \"1\"\n ],\n \"14637103138348098810367648405556687981030025430065766550269067022465834974752\": [\n \"20448137313173261515279662490031314494879088960441471699754477251388695204227\",\n \"1\",\n \"1\"\n ],\n \"20208094149050215863395923044399383743988684489681155008119964238384629140636\": [\n \"1866656033033464547595857192628660207812755241078650488199419777331439451492\",\n \"1\",\n \"1\"\n ],\n \"14639184137948232966749368796876604267560430887625981388361012694841599096058\": [\n \"14017477155779860782777838991429378485483402612419914865593965910967735977196\",\n \"1\",\n \"1\"\n ],\n \"4350210747749737097486040970622818148269938271517260082288931498980627247002\": [\n \"6026618438161575973025827996336052447932217580482019788379040411108881772550\",\n \"1\",\n \"1\"\n ],\n \"822371217229545745573792012326609496457280250292725377072527031003611122106\": [\n \"1219001728423269706387256810232733971073239124696414815420474003890802549942\",\n \"4350210747749737097486040970622818148269938271517260082288931498980627247002\"\n ],\n \"9958101388479552010421403650670097750522777650834679737742197779006351146155\": [\n \"0\",\n \"822371217229545745573792012326609496457280250292725377072527031003611122106\"\n ],\n \"550639020067496157238172329628595308636444661121751960982307458843480265212\": [\n \"10800322980732352383508384301578303028820815200115932580601712139511216619217\",\n \"1\",\n \"1\"\n ],\n \"7956425188521790009200360459204805327722179487118804098841113248262849315431\": [\n \"14504917557286196415776334097015622270697431029781246748402804869088418621998\",\n \"1\",\n \"1\"\n ],\n \"20420563945156194624947800433082079292043646063049612689369410525283694995301\": [\n \"10200606475420811384733950042117572228900720291529384163515366580879022809112\",\n \"1\",\n \"1\"\n ],\n \"1885872555090440190095570848268848077050361116690920755141307247003153232851\": [\n \"14807737354106155686833410499546397538483275031482393094535914688094525084967\",\n \"20420563945156194624947800433082079292043646063049612689369410525283694995301\"\n ],\n \"8320471456206865488104235184290689279369358205377322990110923237710274882089\": [\n \"0\",\n \"1885872555090440190095570848268848077050361116690920755141307247003153232851\"\n ],\n \"14500203118369160513825473596251751418345875679913077866096374757163848709705\": [\n \"10688925856980353831808605672346161478716047390651851477710293758761315663726\",\n \"1\",\n \"1\"\n ],\n \"15968825199949491682719600029442829562861761727293654435878679432214335107287\": [\n \"777644857679840003981382898768288042399786419177802309813322892279800068348\",\n \"14500203118369160513825473596251751418345875679913077866096374757163848709705\"\n ],\n \"15216800841789781670447322935799908699301383882859511587664775395178750935931\": [\n \"15229065869894915653698886827879423604572589557810573435998924990598205759871\",\n \"1\",\n \"1\"\n ],\n \"9085115664150433482124008475384160758146883715801327581300639339047700079013\": [\n \"2609327223387372769886708128377556622077193970957580895348407400773261552824\",\n \"15216800841789781670447322935799908699301383882859511587664775395178750935931\"\n ],\n \"2048939897477597702568907677504182681919977911041554126699110673446809993038\": [\n \"0\",\n \"9085115664150433482124008475384160758146883715801327581300639339047700079013\"\n ],\n \"6630489570490974848627398079223627854157950790373408466854323192460195509198\": [\n \"5570576124438755104245885720141510894504613678193056753074472626970757962552\",\n \"1\",\n \"1\"\n ],\n \"16106193831431676263663628856002408973765480847304875349167501290123412514585\": [\n \"5155687584959935927510214442722975259139390556968595114521354032643052638072\",\n \"1\",\n \"1\"\n ],\n \"16873252614532898295548404109309476372508983705735635030620773756916750552771\": [\n \"14501166618371745566347427314080763000563886074871833957226544443851884590965\",\n \"1\",\n \"1\"\n ],\n \"18665645421422366728527629043411310873972552386815435904641797941752563534639\": [\n \"9215295273123954618763779827389472055105016196333682705784924260843298109896\",\n \"16873252614532898295548404109309476372508983705735635030620773756916750552771\"\n ],\n \"17293964540183698766291675772553322059873281857354557905517351265317592610116\": [\n \"9890969029676568824782453511301875398026198671611058634812904651801620274558\",\n \"1\",\n \"1\"\n ],\n \"5777948202009070249926721902939899642765203173104047221623191465344021160458\": [\n \"21300830571944280185749660697861059632844831505926153024483786170772577476582\",\n \"1\",\n \"1\"\n ],\n \"21602987231247484625507978454104219407510707605133846037031144034776079967086\": [\n \"595920534589642580413042607159365778366512675163231650974863838317838619979\",\n \"5777948202009070249926721902939899642765203173104047221623191465344021160458\"\n ],\n \"20744250499869427371267479880753280860405916119368112030612840010333705519607\": [\n \"15829258605903377474761692167785529970576177309858577705833000684947517002936\",\n \"1\",\n \"1\"\n ],\n \"7265805465402369459253285296318572231046362802666920890472049189239740842781\": [\n \"18220620776744766601726064137088304966398918663981611799305361699404591808615\",\n \"20744250499869427371267479880753280860405916119368112030612840010333705519607\"\n ],\n \"5672151689609528183328741772805761842553110427615419935905147143030277685143\": [\n \"7265805465402369459253285296318572231046362802666920890472049189239740842781\",\n \"2970462252587766873605191357810196190854208472185133831874307853869114812221\"\n ],\n \"19998097495123900062856890061043233427679880238129989256319266578687345495776\": [\n \"4550531047637270509710179783127881038286949898875977374034266413123805196603\",\n \"1\",\n \"1\"\n ],\n \"5262127839912446339689508974677148799999845830452123819339741707327025331788\": [\n \"19998097495123900062856890061043233427679880238129989256319266578687345495776\",\n \"10417069265307460154999210070326564691744384889576812519495476879633635975333\"\n ],\n \"10758777728911318692164211068513648759136099112102394219351256591527223454805\": [\n \"17353416355985642933192231414215095961008194115546138270287529402640440300688\",\n \"1\",\n \"1\"\n ],\n \"21192687421523239740213929821785896579860881559699211335122148597483153711257\": [\n \"18668709266594099583859559291864033840605492028261084163200595280758083769357\",\n \"1\",\n \"1\"\n ],\n \"9813098276736330953170026588053307063305963150139293072314048126480491789566\": [\n \"8938961208532577445247422338639139932640602757823492553073930073352454808613\",\n \"1\",\n \"1\"\n ],\n \"9778213292033703526009550874126928132849983187520268600185842185070948477941\": [\n \"9813098276736330953170026588053307063305963150139293072314048126480491789566\",\n \"3067799643998921884846458846886689205209399390364203747158266526316918562937\"\n ],\n \"10850431805928201191500157119773661680696033171902689744647339768155262481128\": [\n \"19743485436780376893603237681395033374128216570514577247976462049256527783810\",\n \"1\",\n \"1\"\n ],\n \"17660601263025571587950136532972999661206828906951395358486345306367255356093\": [\n \"12696612475075232443477083937272181486606987194603458301061077460846450035641\",\n \"1\",\n \"1\"\n ],\n \"8884181470326771659876907372746962037215792658876171736339856486994288089290\": [\n \"17660601263025571587950136532972999661206828906951395358486345306367255356093\",\n \"11489461612507365694432786200792046312840193326623904134184125189218378788831\"\n ],\n \"3361427246568261541991370689892566597254337798238802009672495830003409799495\": [\n \"0\",\n \"8884181470326771659876907372746962037215792658876171736339856486994288089290\"\n ],\n \"14047898005262289846730447257903196897950930363987415923256259519779583544207\": [\n \"3361427246568261541991370689892566597254337798238802009672495830003409799495\",\n \"16581672158834453468525175656949570388419053327309483051902348128589980542111\"\n ],\n \"19606543371030146029356916663868367911904431289714316944477479988566563014443\": [\n \"6166148177629318722880194711883516415670979592823453023694230342566392001288\",\n \"1\",\n \"1\"\n ],\n \"11073951642048501578486085566937170543537160579335399468320349526158693482342\": [\n \"7831469851888442075466882550211150162121446027078239269366936970759167676204\",\n \"1\",\n \"1\"\n ],\n \"406186396299596126947702007440855648268513642599605232845328195296284160420\": [\n \"4739176562679291223280905163665288536991583285920097989350493136648855125441\",\n \"1\",\n \"1\"\n ],\n \"9591809401897759048246898122456977786246841905266150613058493599494259375708\": [\n \"15888868609632302583725065522496405026063863358446835978998271987187786465062\",\n \"1\",\n \"1\"\n ],\n \"2865716133225813244412269272110312572738818759797813085823180265104209835125\": [\n \"20440488012341491308652296662147225712227242388325616234624853040962648465638\",\n \"1\",\n \"1\"\n ],\n \"20464793114773391348086290824477542388710713827284094223101345553562002806021\": [\n \"2865716133225813244412269272110312572738818759797813085823180265104209835125\",\n \"10953159194432149881391400583717717180388473751561148509851619031292181503536\"\n ],\n \"1349541362494919649024710625700198751823191567021461847797669165552800188654\": [\n \"20464793114773391348086290824477542388710713827284094223101345553562002806021\",\n \"0\"\n ],\n \"3487176532595008947031240719864485229957596528204567699136735286498509962482\": [\n \"15999057869390815042160231509699993384655269340523942653157743307804447393413\",\n \"1\",\n \"1\"\n ],\n \"16889694026647442061900328929749445500980079711831048082343536843273547625620\": [\n \"12239925478726547385330323647694602887297498208732639355197798540625317897708\",\n \"1\",\n \"1\"\n ],\n \"18336040999353882621562960418006027246227230933718557081297815991994193260690\": [\n \"12796554412454248699984775328825355913310812542619739279376762772701967724253\",\n \"1\",\n \"1\"\n ],\n \"9623274170518832554490414696572368171850305534816003133245191865956435174842\": [\n \"15073656220582027391503158431426417742382225199607699151959120096065056205297\",\n \"1\",\n \"1\"\n ],\n \"1545217715520840344753036940377290927161156613323400590680174488276414311987\": [\n \"20294726436925160276972036766366549957519400316159983037444246780351668878670\",\n \"1\",\n \"1\"\n ],\n \"2605589580956640023934180566121726923603408001860518685217239942978618141200\": [\n \"20171559486957051975949817409818467362890199975449456661123050567424756432859\",\n \"1\",\n \"1\"\n ],\n \"6223354666670163688069123153247427300433380861894392179219245269304881838123\": [\n \"20113307068879831234172867489369641187961683616193745202220259535437052306969\",\n \"1\",\n \"1\"\n ],\n \"8187341654122354821097614166762398195810831801520553649948398039583493852633\": [\n \"11654563065575602638018877016963971504324092642530312953764566612203405805662\",\n \"6223354666670163688069123153247427300433380861894392179219245269304881838123\"\n ],\n \"12255791591508658368297854037039759808548595314505218986422073079123299246445\": [\n \"14377482876256699965484907720097585084390798601391373799275797138460830385164\",\n \"1\",\n \"1\"\n ],\n \"13212104210451884315849762316884460278011456183689968777332232600717182515694\": [\n \"5514278971219239241718297816707095658853893835785740653820902410550792331411\",\n \"1\",\n \"1\"\n ],\n \"9739606818441220923981047091293675499737839461184045550941368393436299344842\": [\n \"4392689155617967405697226221795794493012346724271024711290831632436875846515\",\n \"1\",\n \"1\"\n ],\n \"9389542049913222878367786542004089218539163096357198748032764896359865600599\": [\n \"9739606818441220923981047091293675499737839461184045550941368393436299344842\",\n \"10656617697370210760044027928680681202776250451208445550130040285290990297932\"\n ],\n \"21130470742837444416183894628594977897770703506447153730778700934840792188221\": [\n \"9389542049913222878367786542004089218539163096357198748032764896359865600599\",\n \"899086897205511629936036158527954091541152541125709083401841573250535568147\"\n ],\n \"15172383345478387282990120893380041998774757851752876952610004313433978551177\": [\n \"272781019760444220370722250963853828771183558904008740574090248505997944473\",\n \"1\",\n \"1\"\n ],\n \"5610087777932903309916956151346020010371918008711289717910813967929918177857\": [\n \"15172383345478387282990120893380041998774757851752876952610004313433978551177\",\n \"16716117313422752055121014599560059706991025092578411629713737588160912433215\"\n ],\n \"19322989688702690078383616978212239914278148347439192451279139171276917313996\": [\n \"5610087777932903309916956151346020010371918008711289717910813967929918177857\",\n \"13799068468357968646174170047025745310751730512139767858491678609835225483668\"\n ],\n \"2575710029841698205580911710285273924593531968721671720790161999618902741791\": [\n \"7928523782336752420506281854483945528302150786495779756069044359441122880016\",\n \"1\",\n \"1\"\n ],\n \"6879090004838665553194130194700523395728416106194144483893738967068717318639\": [\n \"12230832799464140414243603474565016853376891495075263279516603504013282301545\",\n \"2575710029841698205580911710285273924593531968721671720790161999618902741791\"\n ],\n \"19046587974339424734685066629807765464684180610180755511911522426233311058859\": [\n \"6879090004838665553194130194700523395728416106194144483893738967068717318639\",\n \"0\"\n ],\n \"21674223843427922876674831902447638676810743957032962905660814724605098059594\": [\n \"6378205515818355607057519613699872862250002390373413365192736671081038695170\",\n \"1\",\n \"1\"\n ],\n \"3076972057426566391239419351721676710861392235336315843850374796544795902297\": [\n \"9753895665635585933882208436178872807710079144919986693310083675304734069202\",\n \"1\",\n \"1\"\n ],\n \"119745889554832028026219449941285604151082954501348781391913872471468037627\": [\n \"3076972057426566391239419351721676710861392235336315843850374796544795902297\",\n \"7001002566034207930043415585180404800727364167654502235966978871179372243516\"\n ],\n \"5300388167171313999484309928541385410239931192413195783795031125541059677781\": [\n \"0\",\n \"119745889554832028026219449941285604151082954501348781391913872471468037627\"\n ],\n \"20932588532560748529962012932469032404399037303976878442962200060128171353864\": [\n \"5300388167171313999484309928541385410239931192413195783795031125541059677781\",\n \"6827390680895319959439895975761296255923367865623717575011547783773795400812\"\n ],\n \"14159627621773717553985047876478898486504667868070033416323617663607226921751\": [\n \"14352875805477589162520049000714862303974622328074812784915869217944228844999\",\n \"1\",\n \"1\"\n ],\n \"16603335089309913962230819651423910130729452532231209517708188349785483302032\": [\n \"2923340510918819990994519377778347944410803883068457099293777563312734368841\",\n \"1\",\n \"1\"\n ],\n \"12636390422497318661553965988040093457801642276973883626257825308935516190306\": [\n \"11794543576859207132718215395680214466757607225746593860417964048891852169804\",\n \"1\",\n \"1\"\n ],\n \"9795800532338750776746157128586325209300778398440897322478970467262160389936\": [\n \"16281908884991884907363379193936376642589836016476182718324802714224868749892\",\n \"1\",\n \"1\"\n ],\n \"17711156107586069164744385334182471493218058607387842288107981170187325069427\": [\n \"13932230639057372510305682899959887958273936130178695807375469214299997494977\",\n \"9795800532338750776746157128586325209300778398440897322478970467262160389936\"\n ],\n \"17495386981810139975295952413318315584300789236167785233628179256188810671955\": [\n \"0\",\n \"17711156107586069164744385334182471493218058607387842288107981170187325069427\"\n ],\n \"19217882375410925239367938287629931639196796740265698286402609492066316426972\": [\n \"0\",\n \"17495386981810139975295952413318315584300789236167785233628179256188810671955\"\n ],\n \"4997071868766732113726202994282958946570437643651946945808651155966509683982\": [\n \"2928027161751694159238306191529327982543586509963549810948435109336197053494\",\n \"1\",\n \"1\"\n ],\n \"6563867996657836171214727496090148572466568829303522881744783087655784970672\": [\n \"7843644777294138746203085537032164192289067197082085423259183586096284050670\",\n \"1\",\n \"1\"\n ],\n \"21399857804688946081109001696777261038390013934439648930579404129626857009290\": [\n \"13504242190463715175439785584151676654513764785399473474306884917553927665364\",\n \"6563867996657836171214727496090148572466568829303522881744783087655784970672\"\n ],\n \"10546666694849162001395510258885592552370127093489501588171200629213779644249\": [\n \"12568343060636423194209893664367971571370963870793298892522648345455881938207\",\n \"1\",\n \"1\"\n ],\n \"16856128953093473655890291541849106642055628798040281484911866612825885649950\": [\n \"10546666694849162001395510258885592552370127093489501588171200629213779644249\",\n \"5923425135395660681127451131260205457657408111382018942035243940175975433241\"\n ],\n \"5481979667821440414083391036785858186706601830118110664209202010717099021673\": [\n \"13330222764743797764092695714474451332524466165625485218875180935626138907255\",\n \"1\",\n \"1\"\n ],\n \"18170663042437478098846202869731749301229681506024878532106794352451830133411\": [\n \"12101637697224351307052558659026273693922724076066716888095723576427705868790\",\n \"1\",\n \"1\"\n ],\n \"19790761377486546644047753307288789656488269838212248799353378515927401084294\": [\n \"9177499817731684106499373372838993117996189207319590520270419682692480029002\",\n \"1\",\n \"1\"\n ],\n \"5005894088448944000141991724848522291728225125739010468111113566744343098152\": [\n \"19790761377486546644047753307288789656488269838212248799353378515927401084294\",\n \"16613977956382554586537594770091386552501480313959233501515827555153044753295\"\n ],\n \"7554614087692121810212246458608865014117237944573548918974473191164547899381\": [\n \"0\",\n \"5005894088448944000141991724848522291728225125739010468111113566744343098152\"\n ],\n \"21487983298054431770036954265357240293297248926387227677833250420789729792070\": [\n \"7554614087692121810212246458608865014117237944573548918974473191164547899381\",\n \"5849354692533368188745776385770605266355634582719450859245857341165481308547\"\n ],\n \"6881538517787578533525727541863922454819994004688040789318266459121731539195\": [\n \"14424535347764094858639294963007225538100961511844841612754393133694651266693\",\n \"1\",\n \"1\"\n ],\n \"7897197264382870734100130269506616696403689797248604258427840213076471749645\": [\n \"19036365651463524933160790523009882052313002767426743193671232244536727010178\",\n \"1\",\n \"1\"\n ],\n \"16440065367539711053094477011506204650670928023510401679632247440717149130339\": [\n \"7480457449337642053866153841485627104118252931928078454078782411351212602046\",\n \"1\",\n \"1\"\n ],\n \"11823902081218956132463203530852505924170619560404421497374254053081366872430\": [\n \"2565251506084519507997865717311746817193765082792175176649716205364170378826\",\n \"1\",\n \"1\"\n ],\n \"19269260638506822400314066452301061010394564600137791431070413897292623661169\": [\n \"522810235527058451417267439441004924279128621285882297497275996025011475418\",\n \"11823902081218956132463203530852505924170619560404421497374254053081366872430\"\n ],\n \"19203777271731616634795350132558031766498168344098114302910808222334379610235\": [\n \"19269260638506822400314066452301061010394564600137791431070413897292623661169\",\n \"12108000438995732390077947952993388908802456953230287294677155175796861310694\"\n ],\n \"9707116768665624377339594716573644839142057618467402176089954256547051733755\": [\n \"19203777271731616634795350132558031766498168344098114302910808222334379610235\",\n \"2027563953039414776494537611141633507945998452458538030855620368855151915403\"\n ],\n \"1770641687810624242120105346523759472440694178409554266242530840934563702505\": [\n \"12250258753121710060958372250369794327146190474736470260454523970926773082611\",\n \"9707116768665624377339594716573644839142057618467402176089954256547051733755\"\n ],\n \"9370653802329897227233920110773950207654903950387607700797481401747087408691\": [\n \"18556017088391666679202224646099274867688431848531436686321116819924530666337\",\n \"1\",\n \"1\"\n ],\n \"1336509678525278684270455714507012276047389699371166784181962740496538003667\": [\n \"17167868297552476258355559252772176246262939800993168794102890543575177701353\",\n \"1\",\n \"1\"\n ],\n \"4861920056753286828750799222119009409760457061254188039030471812345777372441\": [\n \"21005531444616309286250295129967057725629185848501006698480216591363219478837\",\n \"1336509678525278684270455714507012276047389699371166784181962740496538003667\"\n ],\n \"12364337949431718286793522450850108739650263198802542907174964923152841692775\": [\n \"4861920056753286828750799222119009409760457061254188039030471812345777372441\",\n \"0\"\n ],\n \"16322586185108514414214831374436527757028944631429783030580644460148886290672\": [\n \"12364337949431718286793522450850108739650263198802542907174964923152841692775\",\n \"0\"\n ],\n \"5071851527835912584768478204850277305175963221774726446417849660731218743790\": [\n \"11115536096641636580232127520457832779624580001525922384618261230833248201415\",\n \"1\",\n \"1\"\n ],\n \"219892501251047953513483851522845843417250332741119249152833363049883974160\": [\n \"18990754929319364379985791265330170540943947881048469611168470274240858904171\",\n \"5071851527835912584768478204850277305175963221774726446417849660731218743790\"\n ],\n \"19223705621871906085355530969469964614631726534863753325114065276192909449358\": [\n \"219892501251047953513483851522845843417250332741119249152833363049883974160\",\n \"5189992819188543863216509925890064434673095188378544355260563831298386766901\"\n ],\n \"14402027723305258603936238446572337714259317140524082805994641763149096700114\": [\n \"5280856535166198577975175280013730974196770599376839545300734047721992330417\",\n \"1\",\n \"1\"\n ],\n \"530636477883924287992657972537787413592067631902686868637323754988843756066\": [\n \"14101285247571296481220699074030865200533577354995742460668445828010680185951\",\n \"1\",\n \"1\"\n ],\n \"263415764613419591973139579390689155907169547224076448143334357325447520664\": [\n \"768685257611224173849846349260600898642311172712904411218434079125688386624\",\n \"530636477883924287992657972537787413592067631902686868637323754988843756066\"\n ],\n \"954792624759650549138948196501977676469050165241366207573616776614446165396\": [\n \"263415764613419591973139579390689155907169547224076448143334357325447520664\",\n \"0\"\n ],\n \"21554132610835608759077107509446399022592240342633429704309002521286170529368\": [\n \"0\",\n \"954792624759650549138948196501977676469050165241366207573616776614446165396\"\n ],\n \"5057299537715964814807503894673288050497966316817022770101360785721639445223\": [\n \"0\",\n \"21554132610835608759077107509446399022592240342633429704309002521286170529368\"\n ],\n \"9001047021539741061366120554580857413418233216738743295539898395995989931640\": [\n \"0\",\n \"5057299537715964814807503894673288050497966316817022770101360785721639445223\"\n ],\n \"5743915528799732556661348716339829644579430853873070648890669129881673148705\": [\n \"0\",\n \"9001047021539741061366120554580857413418233216738743295539898395995989931640\"\n ],\n \"15190046365743745177791848191389531217522391864520469469537597134510081896025\": [\n \"669844181636979023817552405622810097034127473265120854491608389046159171885\",\n \"1\",\n \"1\"\n ],\n \"18971377169564862886244704599157218735554161632675861999409654419455480574023\": [\n \"19402673051723541183511328134919687577283581343977741596028318662610992440353\",\n \"15190046365743745177791848191389531217522391864520469469537597134510081896025\"\n ],\n \"19626329624769898669104303654380206982922303161031810584994356512284862933733\": [\n \"18971377169564862886244704599157218735554161632675861999409654419455480574023\",\n \"0\"\n ],\n \"12657325501082264588163898201219696793637348800156274258415879915241121238427\": [\n \"19626329624769898669104303654380206982922303161031810584994356512284862933733\",\n \"0\"\n ],\n \"3073894969407179827124943225064788497275368185754480615358094899093045573866\": [\n \"0\",\n \"12657325501082264588163898201219696793637348800156274258415879915241121238427\"\n ],\n \"432657674027087280101431405078381361947259775782081381369456813099294053958\": [\n \"0\",\n \"3073894969407179827124943225064788497275368185754480615358094899093045573866\"\n ],\n \"7741094594749452501537016307771046104366320305265556821075186269787524841466\": [\n \"15120822539654118463628984341328449051077513005589004084827724923888685796808\",\n \"1\",\n \"1\"\n ],\n \"18818445067663105043872679657651286285952694262768854062753518028990278434681\": [\n \"7741094594749452501537016307771046104366320305265556821075186269787524841466\",\n \"8880874458024948406110617961508247949017085757836253017631135481363780310612\"\n ],\n \"21667500355815066282188366141416132325047915635514635220822128517324750910479\": [\n \"16706385785169014463126819666093074234560786286141804844119377571522185673671\",\n \"1\",\n \"1\"\n ],\n \"9183883471460144355737934527138620668187633752927077415247255117862525586489\": [\n \"21667500355815066282188366141416132325047915635514635220822128517324750910479\",\n \"3032807795763098847864826904601139631867444032583618948972712128880138910088\"\n ],\n \"18527080633033453170257875103432377411218391596515949608643379585611513449849\": [\n \"7023067835189130672585004548367495229403211030099647384097713082552682627967\",\n \"9183883471460144355737934527138620668187633752927077415247255117862525586489\"\n ],\n \"4747177291706319584236634847377393540935027580962986654731683880151785158746\": [\n \"16649488063304021903510306874603313261612967879695052212568739346619518096723\",\n \"1\",\n \"1\"\n ],\n \"4252417939913967620796658880912232677242758653704549966052837567487502102353\": [\n \"17019926200254411102639332399836831685386017885744606884186342322930361405804\",\n \"4747177291706319584236634847377393540935027580962986654731683880151785158746\"\n ],\n \"19702884150182225564143396548210027799905720795631449770952799105797355937627\": [\n \"4252417939913967620796658880912232677242758653704549966052837567487502102353\",\n \"0\"\n ],\n \"21064220338165089151453450320627475552090407831604850389094845889202663236719\": [\n \"19702884150182225564143396548210027799905720795631449770952799105797355937627\",\n \"0\"\n ],\n \"19342911176041129783873221652472849866556159304321807679286376916925922640995\": [\n \"5768376771280354664709156218630387843060498818855501937398016508452472685955\",\n \"1\",\n \"1\"\n ],\n \"8166399794795128460710061484372425685964736343264273359587986001689808510354\": [\n \"19342911176041129783873221652472849866556159304321807679286376916925922640995\",\n \"13482328623087571494107453780177646165687875313087291935802714510651122135489\"\n ],\n \"6985906759342915380750435141245771368675818642577042192835684458970441403180\": [\n \"8166399794795128460710061484372425685964736343264273359587986001689808510354\",\n \"0\"\n ],\n \"3061719357353952112872118733411996526848899606473821258805957224317896575153\": [\n \"6985820097691628245546962189124476745662168991038085421981336171438348371226\",\n \"1\",\n \"1\"\n ],\n \"17666162950427446929502643350446130287044590192211436981990624063740628529556\": [\n \"9054138780978116483129232805648307285941924793952898263635548547998886411538\",\n \"1\",\n \"1\"\n ],\n \"7492381056424517340319323577009496357160525896532892100104826751899042541820\": [\n \"21578793760164586597090468604818750164164004985252087972646309467749431426342\",\n \"1\",\n \"1\"\n ],\n \"8219454099775768695957119248176217259331984642295962150945655519995637604828\": [\n \"8282748737764351937084083648089159392584869161652409614129925736779714807269\",\n \"7492381056424517340319323577009496357160525896532892100104826751899042541820\"\n ],\n \"13896953269284949908035622542224913752539153296219865491676739708739129138423\": [\n \"4871801575167925212836178753973655919075563595254074174715288704203545736696\",\n \"1\",\n \"1\"\n ],\n \"5720225121408208228363813451389025177111372290458395997172501570966372070316\": [\n \"20482463134791235944549151181911574510303245334079960235113484792722606648783\",\n \"1\",\n \"1\"\n ],\n \"3030275729742695877578133377994553239041734395380643990141760937561595854955\": [\n \"14210645183572159922202953264290984622910773781026836559718513412559288040483\",\n \"5720225121408208228363813451389025177111372290458395997172501570966372070316\"\n ],\n \"7235136549015123088316506189775114339191719373884696834590692682525366524525\": [\n \"16650024938798719249120581789394723009879663161635812917222370675055067783730\",\n \"1\",\n \"1\"\n ],\n \"15677741778756394160721254152206278853945487314134377134250030344833380127974\": [\n \"14306892359441427879565880417895048374390784474935162899038935315861344416708\",\n \"1\",\n \"1\"\n ],\n \"4991817150219577268505218506170738253335418306519109251313097739724368513603\": [\n \"15677741778756394160721254152206278853945487314134377134250030344833380127974\",\n \"15391610136450456382686216511690712508247221186589854922079321435275207231876\"\n ],\n \"20857247137552246469295224438823145684514033478718948316754267744337511354242\": [\n \"16636591242406679462677061762256241430158208043407358130611785747341717412712\",\n \"1\",\n \"1\"\n ],\n \"15323258722652340890585915997801552618752650310214603522542361672329674605154\": [\n \"9731462781360665113699308702736924309923417746048142106770052386638522900158\",\n \"1\",\n \"1\"\n ],\n \"2265984255332709101334111179896623408695130733351894378400468034303140762890\": [\n \"2904586392963183955172129747000980319112154435609900980422630607186680990151\",\n \"1\",\n \"1\"\n ],\n \"18101102937135229945850593596703761769314429959628416817910111626385428915163\": [\n \"18997202163441704707851634283745434185509070710189480014257732954413747713577\",\n \"1\",\n \"1\"\n ],\n \"6416112551371898308840297099142331806438034083533233826128104429217282430599\": [\n \"21638878420895172881513357507481909460978570932180772675437751166394444108063\",\n \"1\",\n \"1\"\n ],\n \"5288888474317437203306955897689472804603124102557072163429229335634808312476\": [\n \"6416112551371898308840297099142331806438034083533233826128104429217282430599\",\n \"11269043375081746400574585122017115296477866231772364255003501596953176505998\"\n ],\n \"6137971007927248152652997726094672805050030228216477288343947670234246573600\": [\n \"19002514331770339113718579524570908117818474988647802503034844525170008292720\",\n \"1\",\n \"1\"\n ],\n \"730128176987396781278262813955446908132672478952252572632718768491504290578\": [\n \"13807301379944245238397106811012028120690249187565720951058713549485417953462\",\n \"1\",\n \"1\"\n ],\n \"13014023557397527326443927331859209896506390867906073001024318029339929077124\": [\n \"6264341766086866174795530952329840661151788409718352238575208325520817691392\",\n \"1\",\n \"1\"\n ],\n \"6854241794632418706229415889696732092376533390579264448525881095341042008919\": [\n \"13014023557397527326443927331859209896506390867906073001024318029339929077124\",\n \"13250378683477206460117482003473352083855106871024654887232905166841959510737\"\n ],\n \"9093521302131311928137534568567512647453974958403125237122683885925427192610\": [\n \"15498510890422644210924268677060617468460775682479561507947187400504262557369\",\n \"6854241794632418706229415889696732092376533390579264448525881095341042008919\"\n ],\n \"2096274401896933155084042614591363893098254501704394714766723983332474688273\": [\n \"4323755866881427059224445123296875770877665841507189395971816404582458545183\",\n \"1\",\n \"1\"\n ],\n \"19384766218337080762664874884456405660093791293050140875336733338418355385085\": [\n \"13091564513957546951914907990423117779009892398702496404578446739130824467821\",\n \"1\",\n \"1\"\n ],\n \"16912891410625536749136380799032875763792096376531246008200691386866028978598\": [\n \"19594268987754671613591565460128595908078433726744057454554862376512405437577\",\n \"1\",\n \"1\"\n ],\n \"20123251925515544729947854114559954009064734973517303196235419166370238175905\": [\n \"8878628510479023244316776871048048034114841744308547785384439783385103115161\",\n \"1\",\n \"1\"\n ],\n \"599063173168530120037883728772414287376009000327978263819815899746947132555\": [\n \"2498577431381522645738236922617257807781222940905965726534901910021497302504\",\n \"1\",\n \"1\"\n ],\n \"12709371762478340763849392211765050995457900054841647398045482054756235140869\": [\n \"12470542558278992348051462280597725042441716286443840321735382322280876660731\",\n \"1\",\n \"1\"\n ],\n \"16904219996319013346327254928801858571276882930398716284610829302536778075318\": [\n \"208091903370773275536241413644745069444859638120403563065714118279724789099\",\n \"1\",\n \"1\"\n ],\n \"3827926821959875152686878506388058930070708730990135689256251622534957319251\": [\n \"13982819230130485083402363634315289533179085591496573295286597344586747515191\",\n \"16904219996319013346327254928801858571276882930398716284610829302536778075318\"\n ],\n \"17457146046065013241793250856472204369687594491570492586125777365955872288376\": [\n \"3827926821959875152686878506388058930070708730990135689256251622534957319251\",\n \"12428130779514581435778938696272852954427624594047336870897218880212378598014\"\n ],\n \"10728971817088455386401184663442253819984187829282023178661870626880843747064\": [\n \"16390359345567247367891490493276858366683723678669472840702274208485606841703\",\n \"1\",\n \"1\"\n ],\n \"19745780905892591659747322045645071326345910484786911825767833288881145558465\": [\n \"15352708995354954243804709665515240940063424049410155288074515653722141923441\",\n \"10728971817088455386401184663442253819984187829282023178661870626880843747064\"\n ],\n \"10260690794598279378574445509322151077658033764270563738456482274091073175660\": [\n \"19745780905892591659747322045645071326345910484786911825767833288881145558465\",\n \"0\"\n ],\n \"2243421570423357264605800232045899207902261146232474754109291339993279846679\": [\n \"10260690794598279378574445509322151077658033764270563738456482274091073175660\",\n \"0\"\n ],\n \"3738956359753209903676179138507422345554495250734805130873142689265115586710\": [\n \"0\",\n \"2243421570423357264605800232045899207902261146232474754109291339993279846679\"\n ],\n \"14638935196827478956324672159196895787442229674981778005164624350180238210023\": [\n \"3738956359753209903676179138507422345554495250734805130873142689265115586710\",\n \"0\"\n ],\n \"995895924101473378471124274970579779786432982589286531575618575333788806021\": [\n \"13793131428678897008981242685177856400386953477424231387930533525480012961976\",\n \"14638935196827478956324672159196895787442229674981778005164624350180238210023\"\n ],\n \"17596768237658129078255143536867502454505327218988357418972007521683102637690\": [\n \"7158266559188528558487710544067658698114260470019455894694203177005929188878\",\n \"1\",\n \"1\"\n ],\n \"19959086289831533173857530410868682941734333487240516189080862593918123530973\": [\n \"21790100145162514711096251345471693076243806263378964943013907839998283641141\",\n \"1\",\n \"1\"\n ],\n \"17646582736442313991578830508606204834486126961400002198870770497003752814347\": [\n \"9279946220742053994401213439255199723005587832094817859962735791883332535959\",\n \"1\",\n \"1\"\n ],\n \"539216715434511584759806635037903621075313922157402405940382997287929378379\": [\n \"17646582736442313991578830508606204834486126961400002198870770497003752814347\",\n \"18770682391079837710192353080509165806816235275125913600563152068154996386797\"\n ],\n \"18276611434647726182075316300872440945169207474075415095706109246555073037087\": [\n \"539216715434511584759806635037903621075313922157402405940382997287929378379\",\n \"0\"\n ],\n \"1575256873537710258123107527803624197525056825596626500489313010655782968232\": [\n \"18276611434647726182075316300872440945169207474075415095706109246555073037087\",\n \"4552735055257384890602872625984524541628589310726742869826732107827909889039\"\n ],\n \"16916218689261381758903455273009945769929329040301244770819739857297839974984\": [\n \"15561547761120520302834490339671306985963303451072181315588611742536121115607\",\n \"1\",\n \"1\"\n ],\n \"7839303992052991547857980258244849188101055874669983678396059621284698835992\": [\n \"16916218689261381758903455273009945769929329040301244770819739857297839974984\",\n \"6156492769174375554097837225031069628417827733971333160582414906786684214315\"\n ],\n \"4665528607327599645329287731031793175950361967027863103023413090396286416893\": [\n \"7839303992052991547857980258244849188101055874669983678396059621284698835992\",\n \"0\"\n ],\n \"15738565680258947511923737318035591010534605279114662043791942035992986657995\": [\n \"3843344540614555878854560144788568614763298771243148219871845407972743785561\",\n \"1\",\n \"1\"\n ],\n \"7761257117374843027398052525758757728855040511810798714996771240190017876501\": [\n \"8958080748602208217216963906152699922580139013516914112922379775860785095915\",\n \"1\",\n \"1\"\n ],\n \"4686147472997854442211294856681750862403808788089017255413696337297601050479\": [\n \"7761257117374843027398052525758757728855040511810798714996771240190017876501\",\n \"17803451606701397341507632395220576544625665224730591853654089423526816144465\"\n ],\n \"19587037239758598998569782805111789482453432750143428417256383542698206327751\": [\n \"0\",\n \"4686147472997854442211294856681750862403808788089017255413696337297601050479\"\n ],\n \"18670343618135278339732952368383492725783221743844839136582623660297209924931\": [\n \"19587037239758598998569782805111789482453432750143428417256383542698206327751\",\n \"11115980435863915322149232422185607692793225157120085412936047185535757455208\"\n ],\n \"11464537965241586013884749392116334129370084093277917137921738111698701623854\": [\n \"18670343618135278339732952368383492725783221743844839136582623660297209924931\",\n \"0\"\n ],\n \"12929809354263875323955987259498044240475561089125494518557807184945888922458\": [\n \"0\",\n \"11464537965241586013884749392116334129370084093277917137921738111698701623854\"\n ],\n \"4394005560816072400060669579137993545631836872493204121977145414898019615448\": [\n \"10168109479249132378783632610570732300893997236599162912077431586467973937161\",\n \"1\",\n \"1\"\n ],\n \"18340824477214222258359134666310741384183288184429416103883078286010227483961\": [\n \"20768483286522620543490248985873154911405131958006320831947491319168878805286\",\n \"1\",\n \"1\"\n ],\n \"6127207615550956815927652253740528898609894209012474764872702695732474996289\": [\n \"18074086658319270627340389490846702334309569370232754732055234455318858291955\",\n \"1\",\n \"1\"\n ],\n \"8619212049459004345162058575479151312069291671471792197597212960630079891309\": [\n \"16752303222118643402766357037186237638560061890501601373376250518905776084841\",\n \"6127207615550956815927652253740528898609894209012474764872702695732474996289\"\n ],\n \"2161606046043428371260426073093595122901273969068924160930096670481416920355\": [\n \"16337915034398201845333883085111619280512769796099399450784327548317999408100\",\n \"1\",\n \"1\"\n ],\n \"12888652897096742140599705406461596745614464538264444670313749477372430725235\": [\n \"18049318319223856338078139822444937641676005984342993410404591547820557169435\",\n \"1\",\n \"1\"\n ],\n \"5037205573426565681021516328811229895839589119036752475205188024358618418716\": [\n \"12888652897096742140599705406461596745614464538264444670313749477372430725235\",\n \"11216759725772527952919493264397033442360882658689048956872847175507690109816\"\n ],\n \"13465209614757178396497709861810715431413046604418827816387611199681894360929\": [\n \"0\",\n \"5037205573426565681021516328811229895839589119036752475205188024358618418716\"\n ],\n \"16594889340155223237040011542431758505083826108519564780210643950364814208752\": [\n \"0\",\n \"13465209614757178396497709861810715431413046604418827816387611199681894360929\"\n ],\n \"11130763331232777962833706703583082505619792427712998704692861692968065416478\": [\n \"3659694743008953191370288679267534333072251188945799242422474803006741835374\",\n \"1\",\n \"1\"\n ],\n \"5879291394637321564065737122504987380762410137941136429446733099325802253778\": [\n \"2445182705433698884195261805479377517500840887703671509834820216632603391875\",\n \"1\",\n \"1\"\n ],\n \"3882379024028413859321177209536767585334274831833813089727071575638612652073\": [\n \"5879291394637321564065737122504987380762410137941136429446733099325802253778\",\n \"7078016512455009831358299118637920911229423476298126157515951626606432082700\"\n ],\n \"3422475383579991393357845497512468132563036258994229088890884717297816298098\": [\n \"0\",\n \"3882379024028413859321177209536767585334274831833813089727071575638612652073\"\n ],\n \"11988383953572011570514703515325618849743285842717933135377471074795898971655\": [\n \"0\",\n \"3422475383579991393357845497512468132563036258994229088890884717297816298098\"\n ],\n \"19297808993341269607724722840961038096861941513246571241776174151534272629445\": [\n \"11988383953572011570514703515325618849743285842717933135377471074795898971655\",\n \"0\"\n ],\n \"3823060106183461006970603331443018290365873900615471319381329960837700726716\": [\n \"5622778137565536997745335560883582212483637999484192806907029505198124088303\",\n \"1\",\n \"1\"\n ],\n \"21014534463624298142375282796434451053844152230051593759597646337171014492013\": [\n \"13268631859672849313358676680369569802637554209112330508782935793907603883842\",\n \"1\",\n \"1\"\n ],\n \"21867748153687161489400294270630345979015597162657858550901593492043302518125\": [\n \"2714638156411255206661719639917660790491449996486990667895748759825315843255\",\n \"1\",\n \"1\"\n ],\n \"20301956473073320260213522247357582043495313511132860131770211003110634656447\": [\n \"21867748153687161489400294270630345979015597162657858550901593492043302518125\",\n \"1675714246999502336540527323804058615113678949691314049948790939798450921200\"\n ],\n \"12538204179522127977212780887949247091093674071691971475725163102116912719525\": [\n \"0\",\n \"20301956473073320260213522247357582043495313511132860131770211003110634656447\"\n ],\n \"7656541663862789828113820865694875854025372860860346559515609096240227997396\": [\n \"12538204179522127977212780887949247091093674071691971475725163102116912719525\",\n \"0\"\n ],\n \"17836127457722980578544284964966491158404503315792463106942834666890331137072\": [\n \"7656541663862789828113820865694875854025372860860346559515609096240227997396\",\n \"0\"\n ],\n \"9999949345587233603406429611065338389512275470764362535381148757800677985139\": [\n \"0\",\n \"17836127457722980578544284964966491158404503315792463106942834666890331137072\"\n ],\n \"4386951475114775110873169717646889306938827842204113348509647365501602326022\": [\n \"9719446894318209475422444592315839651427414904614104228675699035088423788013\",\n \"1\",\n \"1\"\n ],\n \"18641349336248839133576278102755149645514363146076569990074473230021234967523\": [\n \"13798520275322975441209027132576571708761018142256526124133820229434618885647\",\n \"1\",\n \"1\"\n ],\n \"18370191032058115776430828844801574187126843274107277809017561242588652203302\": [\n \"10735542537593588791267749671322538042527264376446133641203208995686893924762\",\n \"1\",\n \"1\"\n ],\n \"4540062063655295498757988353130423802192446039696345819602540136737827929689\": [\n \"7521711237796661814731305696138544045172541228736966061502386803392255329111\",\n \"1\",\n \"1\"\n ],\n \"13821584188754574532856260488936120875928178725566176908297112797711462190164\": [\n \"3550404033322588679553803648664314961910426614498829277614720370530045112957\",\n \"1\",\n \"1\"\n ],\n \"4123173415678432007122889169291300809992748506522303004982349800409391167268\": [\n \"12099243924497128412165884944964365484042427344583358215278170757048045213400\",\n \"1\",\n \"1\"\n ],\n \"10031476359184279129939983359593625905605018933127080017471364846899472408223\": [\n \"13871103522187574271525976646511525713070269539430613707073746001195488730650\",\n \"1\",\n \"1\"\n ],\n \"1975608238943025064747260708942364261653827162432994022607967105706409807693\": [\n \"14869564565904814926272941008765434585251463131330273161410855308263626377367\",\n \"1\",\n \"1\"\n ],\n \"2637187454409630072120182125256856000160907422507603711314056901507101125319\": [\n \"16215963975121701518207953886004477298812953905530413838033967240912610117433\",\n \"1\",\n \"1\"\n ],\n \"19135827984291405428245406038446404905172134323298799810832965770251017823291\": [\n \"12152584875666281061904457877071936222349332288153553167791853523214034951274\",\n \"1\",\n \"1\"\n ],\n \"17327865706632639689617527088273780892148765335603893356589694511930702949195\": [\n \"16332282864176857305590451752645444888747878789640365756621635624853454305538\",\n \"1\",\n \"1\"\n ],\n \"1479966017437684859272455301383327370660841899698113647300581970435338934337\": [\n \"16479841667244186866498557557579374265497110403106261338298365077735605209208\",\n \"1\",\n \"1\"\n ],\n \"16262112411930477049800371725449570845878325863159105463395278428462032705683\": [\n \"14047562900183570616936173856304895966978356936839791360427912051295173571699\",\n \"1479966017437684859272455301383327370660841899698113647300581970435338934337\"\n ],\n \"8620560346684129592197158567119818523112291329469537637111676543685978726311\": [\n \"0\",\n \"16262112411930477049800371725449570845878325863159105463395278428462032705683\"\n ],\n \"20179019204020001906109605685973212742586026761627973143351259094391087365891\": [\n \"0\",\n \"8620560346684129592197158567119818523112291329469537637111676543685978726311\"\n ],\n \"2066040963968310504898503825413823473476426874411390735804162255169911579511\": [\n \"20179019204020001906109605685973212742586026761627973143351259094391087365891\",\n \"0\"\n ],\n \"1152769633166969515756879077871756342297409999066477233859358008942895567805\": [\n \"2733607278873076517168711962729992802245546666184261668050568456783847335204\",\n \"1\",\n \"1\"\n ],\n \"11695824036467685150491986637737500368296572484367058999884635833792856735976\": [\n \"1152769633166969515756879077871756342297409999066477233859358008942895567805\",\n \"21704782476094012741344516441309788429887247541365388383731374694386914882189\"\n ],\n \"13404492767270637496224458487185961902844673588390343197499808023704271811379\": [\n \"17251282472730453753876645862283462919776539400600248505606250416432963353039\",\n \"1\",\n \"1\"\n ],\n \"747059593321593274611801425378068972858268271977903503817263043468507933577\": [\n \"4208497934773967387414600248610041231683937946382328195035459159928532267121\",\n \"1\",\n \"1\"\n ],\n \"19226027075474571696830570418515028351189319325016192458226483932294859728957\": [\n \"20646216082885409203586584591904318544710164522916909290539665666627585244919\",\n \"1\",\n \"1\"\n ],\n \"7155873942894211764365544707960445141494470709964830540809507525827616826386\": [\n \"2426456020032518440995124606155009101417028375969234167250353542817412184866\",\n \"19226027075474571696830570418515028351189319325016192458226483932294859728957\"\n ],\n \"17997803960236913444944772758723755298527046041939362951670888333523405857000\": [\n \"0\",\n \"7155873942894211764365544707960445141494470709964830540809507525827616826386\"\n ],\n \"18098074322444847229393178086052140989982996404156844681115726520168799798355\": [\n \"3005290048323147683276481538393350890086369364690389716636610526364907575215\",\n \"1\",\n \"1\"\n ],\n \"19015509707237244583540231964702964823057536493839327064910645119702726821227\": [\n \"6890919880569284754317283418654371110103628297987023366717502009913679543344\",\n \"1\",\n \"1\"\n ],\n \"10117513765446277671422512236884456585945463532014146677295043519254338345519\": [\n \"1841296829613917230905150753658227932656244758663180974778465812234325682588\",\n \"19015509707237244583540231964702964823057536493839327064910645119702726821227\"\n ],\n \"9433096391953210138395189695744237294374280554613688518421390017586614761433\": [\n \"0\",\n \"10117513765446277671422512236884456585945463532014146677295043519254338345519\"\n ],\n \"6135246964394958183030795259430615231730968743348792869605955558920925625643\": [\n \"0\",\n \"9433096391953210138395189695744237294374280554613688518421390017586614761433\"\n ],\n \"4069197507583678403035481704319801708557111677066455670897829048620650357942\": [\n \"0\",\n \"6135246964394958183030795259430615231730968743348792869605955558920925625643\"\n ],\n \"14052424486289531226466688757518601309969924739313131870865506827328415037043\": [\n \"0\",\n \"4069197507583678403035481704319801708557111677066455670897829048620650357942\"\n ],\n \"7188472630490052961575198377118456316631803809593938200266943316717492584137\": [\n \"19501833707573554190706033462399972497161562095149225419170030494574701143051\",\n \"14052424486289531226466688757518601309969924739313131870865506827328415037043\"\n ],\n \"21576725772963984757580137415110514690064859175771050931596363824655188582680\": [\n \"2008766650873281772316895063770353897925012476853774417851978748829029173296\",\n \"7188472630490052961575198377118456316631803809593938200266943316717492584137\"\n ],\n \"21462715437853011616346950917753306462559774915522542041202661102795583564204\": [\n \"1049927746698744563607727069233523084081454737404405454971955454346770916997\",\n \"1\",\n \"1\"\n ],\n \"15542117852816289176828818385255071773186041602616290383023930862006527400027\": [\n \"14512198569284902577050964485613499114798898267239820413992746758517937999819\",\n \"1\",\n \"1\"\n ],\n \"15280054301542875449696646201717793310231045340680900230931474704723898602045\": [\n \"15542117852816289176828818385255071773186041602616290383023930862006527400027\",\n \"8970410241530589238418440555269802445291912113104577217152584589958884521181\"\n ],\n \"15561400240496615658983058493883702101946181919362577408227557552159552667820\": [\n \"15280054301542875449696646201717793310231045340680900230931474704723898602045\",\n \"0\"\n ],\n \"6743087974218628449463458402476642874119209406165599618534796958838088037378\": [\n \"15561400240496615658983058493883702101946181919362577408227557552159552667820\",\n \"0\"\n ],\n \"11239487471630840543358935117160776471766498319919001908288773948866588172747\": [\n \"0\",\n \"6743087974218628449463458402476642874119209406165599618534796958838088037378\"\n ],\n \"3433351391343106760180115767258741000308059964196623096514097723308590288170\": [\n \"19685287327369514438427090744845550171100664381743947278884404976542379072266\",\n \"1\",\n \"1\"\n ],\n \"16130445134263190515034762303920438898021220658653816057647974626694280698835\": [\n \"13757848572900640417318229302298612988431530211472952306547849279321360423251\",\n \"3433351391343106760180115767258741000308059964196623096514097723308590288170\"\n ],\n \"15924993009021518633448321407202688019826798873516476753873684848324412044281\": [\n \"0\",\n \"16130445134263190515034762303920438898021220658653816057647974626694280698835\"\n ],\n \"8559707147773661754309928343173419220211829312288893203045982833495452304957\": [\n \"11576553832677175701829692319320994276805105920651122110936365818806102964146\",\n \"1\",\n \"1\"\n ],\n \"2990497215615108087884203772600621292425799992233161337974739567973884110892\": [\n \"20156330931856395940024348351864733462270866531271342253455546993951608521185\",\n \"8559707147773661754309928343173419220211829312288893203045982833495452304957\"\n ],\n \"8570837741987616567161339591359677714457558408616226774381343668432692045228\": [\n \"5222493920107492493586273888992610901746320937801892471829987848695302713681\",\n \"2990497215615108087884203772600621292425799992233161337974739567973884110892\"\n ],\n \"18985638049567979027323809235854467035393741476670510684373721063564926660858\": [\n \"8570837741987616567161339591359677714457558408616226774381343668432692045228\",\n \"0\"\n ],\n \"18559742932126300079981282596835040419059050846671548061360789900790653656323\": [\n \"7368517452018505158932277079343003930700833316719464740459853675775863767960\",\n \"1\",\n \"1\"\n ],\n \"12886446888590716487592901401387270522149120276270284600444405637235057170209\": [\n \"1981421662487906294409750259469291849644200751465415349998310045226915362271\",\n \"1\",\n \"1\"\n ],\n \"11237671157245131086077847737605875642106663744197689159262159238249186443125\": [\n \"9066266169576119389976563844034929634070868565116146643034082384434032499263\",\n \"1\",\n \"1\"\n ],\n \"14291169993439678597858299715756052046625852965241438023596391448620264062963\": [\n \"12409174402988428133971866194086202971372827202146744242127773935943852664708\",\n \"1\",\n \"1\"\n ],\n \"14131606600743758837130504619083387774580397585091672901576849028804990110339\": [\n \"18159786376819988049827088422521477712630527648009352440517425204657057510694\",\n \"1\",\n \"1\"\n ],\n \"11200764455995670117195839013587565174557126970972152548771401246357646068203\": [\n \"13800110200636454486533385793226185539324766058743206076996595767563525529333\",\n \"1\",\n \"1\"\n ],\n \"13776958852645018298950704006463936843421499855345572170468698216343633740774\": [\n \"5157358301587994729262082732372291091719875209894154486464042271903099457781\",\n \"1\",\n \"1\"\n ],\n \"9768229301712586561152896748167390386914769175375947130129592831670410004343\": [\n \"6980828371525763081598904425995612531929132910383060433094310821939957408206\",\n \"1\",\n \"1\"\n ],\n \"12420755858439168893935984282159797446671921871514446450725614694846040116991\": [\n \"5753564230877039676773853413153258378260809862913209506418915352305528722446\",\n \"9768229301712586561152896748167390386914769175375947130129592831670410004343\"\n ],\n \"15051676281766161782116198030192506982875558153922193394765935239683021774792\": [\n \"12420755858439168893935984282159797446671921871514446450725614694846040116991\",\n \"0\"\n ],\n \"16885445415441215512594991184022698035263759989901904333288188415096729594545\": [\n \"15051676281766161782116198030192506982875558153922193394765935239683021774792\",\n \"0\"\n ],\n \"13715451471924527619405072302476363803195742104189798100084480229316094770015\": [\n \"21711024799169809898058775588596948241682480251043932561085872443207704104729\",\n \"1\",\n \"1\"\n ],\n \"20186578462314123041172759934730611849159987775550633790620136153501013518601\": [\n \"15717869907977857794967740527495621428109117890410116206476564128031385453114\",\n \"1\",\n \"1\"\n ],\n \"2804896509438640147378634394647610304218857666308725906020976150379117561156\": [\n \"8634276878573712111991109186018520726052468751400080109074616633347260890679\",\n \"1\",\n \"1\"\n ],\n \"9464222600378577387149442616791145730405366316453620809343610152315531811927\": [\n \"19398154332780191376702498547828019264607682082268771555355820231850558608542\",\n \"1\",\n \"1\"\n ],\n \"19023430811865013479886310412496885581120492825249365624984038701810051372476\": [\n \"19453610043013781398508464380276731596803923336186871503675747487555452314693\",\n \"9464222600378577387149442616791145730405366316453620809343610152315531811927\"\n ],\n \"14577542441278416334815932085704757157281266709043786602660086821217190507376\": [\n \"20513870647844768087519934435229569180192015053178573509431585311264394674195\",\n \"1\",\n \"1\"\n ],\n \"11804882344880701067426718392084923801023099359745978071322440782945817304815\": [\n \"15254516607404468509573060327120979961805373469080160364933477175622798298934\",\n \"1\",\n \"1\"\n ],\n \"1883378597896672790795886682201941689699690242063164247971451688197324933926\": [\n \"19890096997944804901003179689156429152461165452338633409619575265478144719453\",\n \"1\",\n \"1\"\n ],\n \"4551929865182534299792511938746661531988957855313244760111358270167081195336\": [\n \"17257128093303762030683688177686997826132858557829972808274228950807798028722\",\n \"1\",\n \"1\"\n ],\n \"6623737132178861571548437089626621244728907025948422274685295857287682122788\": [\n \"3216962555440512704577399935875406824201652189129009520494950590595542521986\",\n \"1\",\n \"1\"\n ],\n \"20160549891788111762958323072650136680095048340454741689102447086252181596385\": [\n \"3167485743494993340255210299622921613228766940707496496436817589089449378879\",\n \"1\",\n \"1\"\n ],\n \"6053454010570175894104002721506139308910359085841586705827787080905266708530\": [\n \"976116723631237942742807948878617441724458114768953378308654167624336336291\",\n \"1\",\n \"1\"\n ],\n \"9250471147891802447660380439113659864271294354713236322306433544767447882394\": [\n \"1957414673668047210944675004817377314367723490040597558995603972579100024592\",\n \"1\",\n \"1\"\n ],\n \"10733361585829520448024577718774693797824191209073742755286418530266084404340\": [\n \"9250471147891802447660380439113659864271294354713236322306433544767447882394\",\n \"3135982375824005537863439114947432047921832148405184150906605758970871277086\"\n ],\n \"5985493050927879008760365160945536272918486592349404734665965542154412336449\": [\n \"13602623040009438073435896512224963401650396773728540024991403973558533183217\",\n \"1\",\n \"1\"\n ],\n \"5912057721174649725223946006605569457337246857270992394796541882092942759447\": [\n \"9711675698273379460155657946084919329112480330368260273193327236308700116181\",\n \"5985493050927879008760365160945536272918486592349404734665965542154412336449\"\n ],\n \"10877127348890168989174553335846475042186168475015053343715528880250067022668\": [\n \"5421924461871293451910892358682203878043140829874614450178546810152605603726\",\n \"1\",\n \"1\"\n ],\n \"16892826693182539682403222389497362950221199088668917868798648510515469944727\": [\n \"7134689695176734107247277044844345785362093372145212284008143386740884498066\",\n \"10877127348890168989174553335846475042186168475015053343715528880250067022668\"\n ],\n \"20416002189058608912952216787065030010694721770521098675419278533330725709268\": [\n \"691177650754013110318549686699510733785548689399531765846400309437048333194\",\n \"1\",\n \"1\"\n ],\n \"14906198825074988699600082502908676659034446806422234158635405483943846905555\": [\n \"10871620208236526606107856105134762151898493446568801736877089963211407786618\",\n \"1\",\n \"1\"\n ],\n \"9536851117337766653022960826294845633729785234964127297066790957715354255368\": [\n \"16506658999884408317489241349954908059170340354452147826866805958276251506567\",\n \"1\",\n \"1\"\n ],\n \"4543702264453628394173363628115082516066230901842891434005888075738903628440\": [\n \"15963983878958071381223293562447835269021737339796200231665914981585755837063\",\n \"1\",\n \"1\"\n ],\n \"13828183368786563624170828631065435494601622718884953017414180537946945379715\": [\n \"19437939125927582777879484556967169928785509182435909460088723375267130218938\",\n \"1\",\n \"1\"\n ],\n \"15376735929552980827380217769016950618635046109145531046564415398890018696846\": [\n \"6530738918150097173326632985915247437099526741754132448077603674645110372386\",\n \"13828183368786563624170828631065435494601622718884953017414180537946945379715\"\n ],\n \"1908209836659185314661005049804231242405878555850064512686520413219125251261\": [\n \"0\",\n \"15376735929552980827380217769016950618635046109145531046564415398890018696846\"\n ],\n \"9397739517303799858402770544109143647160188472336590294517584039364149641577\": [\n \"5057983620729868969243999609116896995201890712423340756375511613147811115508\",\n \"1\",\n \"1\"\n ],\n \"4558346140307703141847391135580666914420617571358719472496725660398891231565\": [\n \"5856598621103202461316792486411721712458078664566506226753687381960712053783\",\n \"1\",\n \"1\"\n ],\n \"12591102761348097945166091154021515404672085872164579560597298549079772142605\": [\n \"4558346140307703141847391135580666914420617571358719472496725660398891231565\",\n \"17836725932985395282867412408877062470077436109732787628082531015300878727205\"\n ],\n \"7384131820749420476944996492669440525018278148836852923128316866531439731854\": [\n \"4312477787406111950926733816858634686889038760295461783704611473911956383422\",\n \"1\",\n \"1\"\n ],\n \"12120900701668054176305809200762109370517308931654162535905305623294365237545\": [\n \"11106013884016702144587008589853467314622648548020556603816536364448444364230\",\n \"7384131820749420476944996492669440525018278148836852923128316866531439731854\"\n ],\n \"1900985498300129944056804242259056958787106492658027947311949020982142445912\": [\n \"12120900701668054176305809200762109370517308931654162535905305623294365237545\",\n \"0\"\n ],\n \"6064012081546320766599751844741831206582005293331316190990299650413717139335\": [\n \"1900985498300129944056804242259056958787106492658027947311949020982142445912\",\n \"0\"\n ],\n \"20492155976392390651934113092527461518495421575233962543907438462668222142088\": [\n \"6064012081546320766599751844741831206582005293331316190990299650413717139335\",\n \"0\"\n ],\n \"853620129681561282625218512314439111022092330023132886003164621403978435349\": [\n \"20492155976392390651934113092527461518495421575233962543907438462668222142088\",\n \"0\"\n ],\n \"20628830781608219673522383516922045343919614714407028656146843074821416676565\": [\n \"0\",\n \"853620129681561282625218512314439111022092330023132886003164621403978435349\"\n ],\n \"16443637937407319996181056518577762940869096711318208162222060244147096700805\": [\n \"20628830781608219673522383516922045343919614714407028656146843074821416676565\",\n \"0\"\n ],\n \"15552122528710843670024673499537368791515088960444389990505534039278191180743\": [\n \"8069957230554643537648588652426699412423343288499728804585653849869429039066\",\n \"1\",\n \"1\"\n ],\n \"15488723941595073633368103882014494269062400915898198816844462965614148344286\": [\n \"10287696212281261486388028554122619973856600271373558607431503136471584227174\",\n \"1\",\n \"1\"\n ],\n \"8046267429474157682214558957111278589990413703051726163420060135883169563820\": [\n \"20021667762652374100812927681785909208184642582328370446471856645192283326975\",\n \"1\",\n \"1\"\n ],\n \"18768732074639175755672764913948006477258416041379103350707159216438168162710\": [\n \"18219938532983441611282081833958927367100408893279126093442470863404652257960\",\n \"1\",\n \"1\"\n ],\n \"19037360725205733092975164967057425268140740098900738798420524409562266864931\": [\n \"18768732074639175755672764913948006477258416041379103350707159216438168162710\",\n \"9557161457672731047701214698014526365223850386295121354583285609356022399707\"\n ],\n \"2081751413669563124853029391970907734755078436646560470719418607992035973204\": [\n \"19662191947605343741597691846800655792719274762266686920890572316134824017647\",\n \"1\",\n \"1\"\n ],\n \"8804607495481139287850088388573996955605355240763088434342644835670073376606\": [\n \"4801974895228272912906844501631548295643641901908681428574990121350717073683\",\n \"1\",\n \"1\"\n ],\n \"7997085797121513851066987476317956408889616549058730860887612111967088697843\": [\n \"8804607495481139287850088388573996955605355240763088434342644835670073376606\",\n \"7458053724029556482309289404566549389902983306325480647684879397211957361779\"\n ],\n \"16814272450980156272254797819187568421404126893102804643594597609403911866878\": [\n \"0\",\n \"7997085797121513851066987476317956408889616549058730860887612111967088697843\"\n ],\n \"8036863198955229678964338462576538873165033313392655758355645823022953249436\": [\n \"0\",\n \"16814272450980156272254797819187568421404126893102804643594597609403911866878\"\n ],\n \"6894749762188466805013345036955399408018823935472085614384138801158703256884\": [\n \"20231798865659489833362585306256252453639357734688283183074931328699126079934\",\n \"1\",\n \"1\"\n ],\n \"8031690364938005421819774272080217685522632739370144839333277213609892605727\": [\n \"4440117687908955738254744159559355550832904420858009600867548671187433958326\",\n \"1\",\n \"1\"\n ],\n \"12638803775819461910976411596235900926112754177732631817342774706812272239976\": [\n \"5615408559018361880170983502475912633554411899796552564298328651383625314662\",\n \"8031690364938005421819774272080217685522632739370144839333277213609892605727\"\n ],\n \"17808979841947412902659297161261360639168879469507399559975001632955712353057\": [\n \"15364197629095570249932112456426265199766368932804149624797637543746935734339\",\n \"1\",\n \"1\"\n ],\n \"4541180170264888878711793740544014292991904971401675858580139447048153971963\": [\n \"9824120024858655494106872924155210157657921555595512045658317260762134140638\",\n \"17808979841947412902659297161261360639168879469507399559975001632955712353057\"\n ],\n \"17483059025033113808018756137386325760046713405366232920313139525570815763363\": [\n \"4541180170264888878711793740544014292991904971401675858580139447048153971963\",\n \"0\"\n ],\n \"5872216132289810207239609729910272339474150611333672822858197897693080242212\": [\n \"5645266134222495994506382961264185192599426281620013482274057148416261448719\",\n \"1\",\n \"1\"\n ],\n \"1980980777884715339195531550724069504462271065009521848828371232581772478544\": [\n \"19596414186025857579854386542035137815283889232965786299069627975031451195168\",\n \"1\",\n \"1\"\n ],\n \"12605713955426808380402643112872931224377557699829597720310874691988567630436\": [\n \"13805628229383211475999867910345726364378593824174558093480804275771911396670\",\n \"1980980777884715339195531550724069504462271065009521848828371232581772478544\"\n ],\n \"8205743742283737886506158164232675438402969107815928652841763809712155344631\": [\n \"2653995656053175881781333699854552869346166735234385434220094620727761883222\",\n \"1\",\n \"1\"\n ],\n \"9035209135356094118015443694084050722620372769040758749674565540589238650607\": [\n \"8205743742283737886506158164232675438402969107815928652841763809712155344631\",\n \"8352379151024042769527190451848753925631866524581568394942658778768805232326\"\n ],\n \"9832837995993527549492866042902118854895211641365806219100213624891680503643\": [\n \"18085875600001603263508737519031551684202799997625979343861216334041717623024\",\n \"1\",\n \"1\"\n ],\n \"10565600183026061810184714988445718771375939031607834086964621620332271681109\": [\n \"3836533314041261124042188587894766106798247750981512357380678209227525093177\",\n \"1\",\n \"1\"\n ],\n \"13840720703630842907845049392163215323572787879899927099297999149222777043705\": [\n \"1086296856134569375882547944562563824144867787753874736782564470837358454814\",\n \"1\",\n \"1\"\n ],\n \"9639004021342976002850850861726652718787389181271686186636155258121592191943\": [\n \"10944612657338532621561424269794633599302665840338209453634052307174209040349\",\n \"1\",\n \"1\"\n ],\n \"4347653324358587036212198075984611958916374617315978227760317164467285971241\": [\n \"19442219526963678723684406080986782056594826021772476733132594360158391565565\",\n \"1\",\n \"1\"\n ],\n \"15717756437674125879085782901518455624723905329811909034140939088092661131353\": [\n \"19687989412922182466129414952868018041943182607313371312977981958272565511035\",\n \"4347653324358587036212198075984611958916374617315978227760317164467285971241\"\n ],\n \"10940932485603088153653373551623458832244064549795137013703306926375990984344\": [\n \"0\",\n \"15717756437674125879085782901518455624723905329811909034140939088092661131353\"\n ],\n \"19447069366254401570157148481512020870071983214762863774047208512326931816051\": [\n \"0\",\n \"10940932485603088153653373551623458832244064549795137013703306926375990984344\"\n ],\n \"5115538719661119880116625644537472814550520619609428167536916703334717815733\": [\n \"0\",\n \"19447069366254401570157148481512020870071983214762863774047208512326931816051\"\n ],\n \"94769470828722198825052986969461378168439840822176957540727863123264416099\": [\n \"3432828229120450703551984379120587303407230463237929847877587402013630010242\",\n \"1\",\n \"1\"\n ],\n \"16624995188500655605062723784209175171587283290495193071981552588002622341223\": [\n \"94769470828722198825052986969461378168439840822176957540727863123264416099\",\n \"7897197264382870734100130269506616696403689797248604258427840213076471749645\"\n ],\n \"16027818173695782231773276464871630945874937253002227646508724586094075613092\": [\n \"1247054804903966090103673624631421114125596965234056948937748461826057382982\",\n \"1\",\n \"1\"\n ],\n \"9175694765791857060755953412588908245103871882240536880957417948330030549225\": [\n \"3753133530413260755319897471688482270970594300536992109868985527528644455831\",\n \"1\",\n \"1\"\n ],\n \"11509628093346781602862243454996191344725659701083163243689408546576205325495\": [\n \"9175694765791857060755953412588908245103871882240536880957417948330030549225\",\n \"3413574936946404943063324687109279751840055054322953444237240738086416321076\"\n ],\n \"8029872648700375989587291667767603320419086376280925941466865532711829878167\": [\n \"16480106901051403691289362750285225926790641180968921458699771875353598764956\",\n \"1\",\n \"1\"\n ],\n \"13722471788876265316475921653509640458789932314100807542126938045642257663621\": [\n \"11657142592938396416618952742283163375270630302389005785828075140776686318512\",\n \"1\",\n \"1\"\n ],\n \"9845938393051565568568922686023357589593143337642672067460583675885280045200\": [\n \"15015200407812901887551893928519249560049611704436239343339935530349523401736\",\n \"1\",\n \"1\"\n ],\n \"8325540488428551168046641188939006021755006346960558334753932413364979866997\": [\n \"12181475192193967276448788490261585427756549945174178276761843868979913642491\",\n \"9845938393051565568568922686023357589593143337642672067460583675885280045200\"\n ],\n \"16672117530603505273114195224366803024474568069127938715455173090232625668302\": [\n \"0\",\n \"8325540488428551168046641188939006021755006346960558334753932413364979866997\"\n ],\n \"20300523949827392732209183640678081563933980861715904223089047295241167772845\": [\n \"13472696404214018575603766703460594307777174999410016304559495903611785068800\",\n \"1\",\n \"1\"\n ],\n \"14071242159793482338866521030921777147763434964298354188504265128614577555009\": [\n \"20300523949827392732209183640678081563933980861715904223089047295241167772845\",\n \"17398813781647213183127530670127387598212005438259881200593044831555084290583\"\n ],\n \"4255364792638366730063277401037579441324458477543777780314809291035569099501\": [\n \"10474624343964686972848088334370560506379295392746578840265513027753549238629\",\n \"1\",\n \"1\"\n ],\n \"7349387556138573223380809607349721331604873770062886202975285684021144636574\": [\n \"5877243782425469230420406041494049820023433468088026786738402839637203745108\",\n \"1\",\n \"1\"\n ],\n \"12583412177384283869849743271536931232663994626341079756780446163688890078548\": [\n \"16815549065499986628200349515060339131266547815469419361042476183713631190114\",\n \"1\",\n \"1\"\n ],\n \"19051661294052362948304235447639326025668406331521039478335454167941315592255\": [\n \"18166926491852554554048627809895349298279331311293614031360286817306714257429\",\n \"1\",\n \"1\"\n ],\n \"10818949809396773274833037216472213505327331143821632933391861721949381048321\": [\n \"7071148344847783913995324858351135560858458650905158610476826639398251163329\",\n \"1\",\n \"1\"\n ],\n \"16526465514725983902781782135812618687007338784962304506333362176752328248577\": [\n \"10818949809396773274833037216472213505327331143821632933391861721949381048321\",\n \"9145226631284056911409217461012663702574181097572619786261031286311006784594\"\n ],\n \"11948980611922428269893285593572235214802571660287260978678316871252270555185\": [\n \"3538004745273995441923334110354660635151095131772948295219661559015287154149\",\n \"1\",\n \"1\"\n ],\n \"18766777421198572582246463990558920911541201653045251602328379853246825633292\": [\n \"19067636649724318616626014458687874604441099485357940371853034884636016425836\",\n \"11948980611922428269893285593572235214802571660287260978678316871252270555185\"\n ],\n \"9900118941570921256089769624745452913612800187207312763153745234757393171731\": [\n \"0\",\n \"18766777421198572582246463990558920911541201653045251602328379853246825633292\"\n ],\n \"8834436328698762976317254055333529053702076109328847680156827381492636279584\": [\n \"6895463097388316198419329359133900301087181340178811018578251414597431091405\",\n \"1\",\n \"1\"\n ],\n \"945600904891360286777260040976979344904542757179104289463164229789013206660\": [\n \"10343546438041488421677098419131174790038384958932865093495455825707584832695\",\n \"1\",\n \"1\"\n ],\n \"15969727579843199533609548483353762248962457411376886379395531868851482862693\": [\n \"7055627160446872239177989778703175146252621014938787110187444856675418291707\",\n \"1\",\n \"1\"\n ],\n \"6433176241394439888929787316567488779444556675935646674353542818274200143190\": [\n \"640193502854366501899864154532380330560693188244001444577771405800422622471\",\n \"1\",\n \"1\"\n ],\n \"1245594100622214719309343353606536437539154934765036739051741426849508907054\": [\n \"6433176241394439888929787316567488779444556675935646674353542818274200143190\",\n \"5301760607185328098319170369685808884214540335818046576567781555361467516941\"\n ],\n \"17011552533655000096547569489588260941871895282780517779406682235967594456950\": [\n \"1245594100622214719309343353606536437539154934765036739051741426849508907054\",\n \"0\"\n ],\n \"7339563688323935066791898478121986916841909446282775224290446018421353556109\": [\n \"10628108978169382280548517429378460059334187058126371585361760112937500798446\",\n \"1\",\n \"1\"\n ],\n \"14309803486783180818281271244350034925964467515472051864363575408708739844206\": [\n \"527675613617054405343450397315604303960345218403955236208602624477019400702\",\n \"1\",\n \"1\"\n ],\n \"5077485650806929442340493887563033681065757140409535063159022831159503401191\": [\n \"1205253021128140016834511116608084681636845686556595942393256723238117611638\",\n \"14309803486783180818281271244350034925964467515472051864363575408708739844206\"\n ],\n \"18032520795108472251747058507236434584313259303504396949684576397649929738762\": [\n \"1747061741409307692250717471711150407102894106759086275149795240087595202736\",\n \"1\",\n \"1\"\n ],\n \"2968384758788887497652805493578222949849662223766366407883587650101634196228\": [\n \"5166720321286630754233300170327440039143586689490965475635584185541603274843\",\n \"1\",\n \"1\"\n ],\n \"315149995386993407413059150141773558622523740491410849161329725950943311074\": [\n \"20258466542621747972930188903515760963304463565636240536218919941772211828949\",\n \"1\",\n \"1\"\n ],\n \"20462327942190496742296971860036936866875028229469032792558859212474706001292\": [\n \"18212916254755979035990233336144989821409062216373352022998586592565189085252\",\n \"315149995386993407413059150141773558622523740491410849161329725950943311074\"\n ],\n \"12684244060510088368954517537369537728502594879725522696619290744859172039015\": [\n \"9691892234434417525522912358356356703201136087049319524644171831769138594625\",\n \"20462327942190496742296971860036936866875028229469032792558859212474706001292\"\n ],\n \"17711585754306116652111926911018795809386260842993308413108863093052172437600\": [\n \"0\",\n \"12684244060510088368954517537369537728502594879725522696619290744859172039015\"\n ],\n \"11965592379945938340314465162687191215475127588163720931573042885979023513476\": [\n \"10562306590830068108579289416115105508042845825735900618632353314091307226165\",\n \"1\",\n \"1\"\n ],\n \"7165688569742608706952530044144597627995067111674153410621648335580129301618\": [\n \"5370916688236180687045492038392304589393820521887146288866874634599042040377\",\n \"1\",\n \"1\"\n ],\n \"11378331480054006358613287139951666550205975494237368802448434712841192434534\": [\n \"6089225797894966063841554987585349118805257448784204813458641962311007083321\",\n \"1\",\n \"1\"\n ],\n \"13127168125197400266429017563979902821328706124005201792986377429102219194773\": [\n \"13704697662201505526625623291092354282915378038614669231025855730403040340394\",\n \"1\",\n \"1\"\n ],\n \"12152027847534786521619125091035075773425156917975535066316767707897619320216\": [\n \"5868414860584528489659536096986387446050063281911295911252374293871589183525\",\n \"1\",\n \"1\"\n ],\n \"12379139208338471654708288123345627181550490417904295680839047703404862278922\": [\n \"12152027847534786521619125091035075773425156917975535066316767707897619320216\",\n \"56428904265568759536136091920800354925922591418035220346478555384501025194\"\n ],\n \"4576313296845202221626431291990760101952286699264931033911405234746938874281\": [\n \"0\",\n \"12379139208338471654708288123345627181550490417904295680839047703404862278922\"\n ],\n \"2633965078160221421201932903508049279529057196365940486560519218134082526452\": [\n \"4576313296845202221626431291990760101952286699264931033911405234746938874281\",\n \"14927745875199727259818804029927316453947209023447376958339541907244909637452\"\n ],\n \"3605877495670207748730834492022194031428609524480414464157200370569071798965\": [\n \"11700940819977762991307053468936402915541772135661138621127356204591759118510\",\n \"1\",\n \"1\"\n ],\n \"1294929502394996857153875829763737987848077328742491303818555845575025621708\": [\n \"10831202087019245153709804026298800073065504163802344333053746142742830573482\",\n \"1\",\n \"1\"\n ],\n \"13402705106436328115455626574858715646180151028134363324655045251180224478586\": [\n \"19472484862820299298250359064625843766782106191161377298554709737458761113586\",\n \"1294929502394996857153875829763737987848077328742491303818555845575025621708\"\n ],\n \"19014778145406644752693639979210000403803176004469879466712875100771981264483\": [\n \"7473962276327461138604179526373686379648459517345128960822135738453104642267\",\n \"1\",\n \"1\"\n ],\n \"18506737627189798415937219297810883125800778180425671461798353314338370485022\": [\n \"7701524346216643061933790377290660060390463301266765572665930138487183530273\",\n \"1\",\n \"1\"\n ],\n \"9494988418295808289614353426881498473382314671051186247962196389031933823241\": [\n \"12009339195361714398358375933329746299350057307157202982018411256198010927445\",\n \"18506737627189798415937219297810883125800778180425671461798353314338370485022\"\n ],\n \"4982949693717666256650170724045170151147578885593811913133766765280446805943\": [\n \"9494988418295808289614353426881498473382314671051186247962196389031933823241\",\n \"0\"\n ],\n \"850764010753834447138868086887753239305836147872420694912028643815831771560\": [\n \"3680345444186566577200031692783548167818682871361513263422533233962038301076\",\n \"4982949693717666256650170724045170151147578885593811913133766765280446805943\"\n ],\n \"20140168138245087148062505872662956557209550553660828915475898771463133612567\": [\n \"5739867708819803271599402517897188777462797125839654592016291619717337620496\",\n \"1\",\n \"1\"\n ],\n \"18285462943871759040131975499598492331039967477997852362270627220520994001025\": [\n \"16109997717098624977614260031825654725541761329698652225378403212301140920971\",\n \"1\",\n \"1\"\n ],\n \"21703908848578613693216225126673830842176674596701497543131760923207758001425\": [\n \"18285462943871759040131975499598492331039967477997852362270627220520994001025\",\n \"16811970314788515057016538809326396008828637973877918871852425300924395249720\"\n ],\n \"15799469984525955133452917047262050069079087750460303857653306456671475994685\": [\n \"5942190191221403179386931182324320381495510213432107897975695313793145030727\",\n \"21703908848578613693216225126673830842176674596701497543131760923207758001425\"\n ],\n \"17478067932600588992269424509571120763163338251467252668274051422459273222118\": [\n \"9289759030002049985974240041217475540041207575732941903254129651463459995623\",\n \"1\",\n \"1\"\n ],\n \"6026645679836048870839352851907712826599952148661236715193847805564344275957\": [\n \"14720235621776186087016427498786769011924424634880969908641264456226895199271\",\n \"1\",\n \"1\"\n ],\n \"20608132415847651401198142979897093203236296629155520293902838412760441859768\": [\n \"17318470471249816235443496083417846294504767614566871588446286746312891385293\",\n \"6026645679836048870839352851907712826599952148661236715193847805564344275957\"\n ],\n \"5101068118019934210458608837618029535746543582811235433362733971522117647813\": [\n \"13127432745063253455728794969233248530349239973581614943594782800355902539840\",\n \"1\",\n \"1\"\n ],\n \"15389174495985133840854962583104097197576064682255697878121748483059771503856\": [\n \"5101068118019934210458608837618029535746543582811235433362733971522117647813\",\n \"1621166136864252278807051888054137182882926579150473869173283832119357618495\"\n ],\n \"9884262423733690999275420251008199692165717999429016822730555217171932102135\": [\n \"3239546886431037147148530623498234411253072633656974221670022542228269927840\",\n \"1\",\n \"1\"\n ],\n \"20313778374047894797232448451400799640241763134610230031424216377053313405052\": [\n \"3070815272090305028254833627642999098167516132641762847413454346799971444366\",\n \"1\",\n \"1\"\n ],\n \"148436270565637412181679473646995178795052928790747700218134448860145669583\": [\n \"7320726046760183049364244147344080001807613516013232295272230989834936275452\",\n \"20313778374047894797232448451400799640241763134610230031424216377053313405052\"\n ],\n \"18120429422572453938052303450558447666292299782376207511246907658658350266579\": [\n \"3633368843958227448043270600306761267571244825130072185859488885303931412195\",\n \"1\",\n \"1\"\n ],\n \"7035907755741239473927535290075086924059673235197055764742453692218220041860\": [\n \"18268339623215754725395589933442908000118876435265210564843880548008465436718\",\n \"18120429422572453938052303450558447666292299782376207511246907658658350266579\"\n ],\n \"21230439508240660169962114589744203245917970604419177871246290431497366607270\": [\n \"0\",\n \"7035907755741239473927535290075086924059673235197055764742453692218220041860\"\n ],\n \"1343921251621538640742145672337283851822065218928665179209317252715571040170\": [\n \"18603601068661965594636906999323057628814881704162271908502025434355135442571\",\n \"1\",\n \"1\"\n ],\n \"10087104020244561061048848894149775275367038232008760216663876476699662746666\": [\n \"1343921251621538640742145672337283851822065218928665179209317252715571040170\",\n \"2349585917818602716618268650274339221289081089304701630184007908436268626036\"\n ],\n \"11163474569129968905290334419360122003020458055846138377368807594177294912665\": [\n \"10087104020244561061048848894149775275367038232008760216663876476699662746666\",\n \"0\"\n ],\n \"7883148214205242119211443881833161936040143217409977967317152490925675521875\": [\n \"0\",\n \"11163474569129968905290334419360122003020458055846138377368807594177294912665\"\n ],\n \"12402481546061643463722026994427075335936647057965786064774870123024318839442\": [\n \"0\",\n \"7883148214205242119211443881833161936040143217409977967317152490925675521875\"\n ],\n \"18760175944696560263341713653914605677979077716409243181877458761254550239042\": [\n \"12402481546061643463722026994427075335936647057965786064774870123024318839442\",\n \"21618527553110116512528320693249030190209304823567972991186630815934580502249\"\n ],\n \"6786024532953583845783429064915016572386561091171981980720184106631374151425\": [\n \"6129576126435830252172122909708597818326119356118072895176316591905055063505\",\n \"1\",\n \"1\"\n ],\n \"8557522552231924780028885769841410353543208357654520405524044589716622662173\": [\n \"6786024532953583845783429064915016572386561091171981980720184106631374151425\",\n \"7091927867963329250646149797765941700986862334733058802110349229789126329145\"\n ],\n \"6403608856156842765494720870736336000599576724683512285054943533125738417821\": [\n \"17684354120196634334696219787863543095345300987643467187604834520744905101625\",\n \"8557522552231924780028885769841410353543208357654520405524044589716622662173\"\n ],\n \"21255277188137709053085622028699032302813384651872435906262396691704724688194\": [\n \"0\",\n \"6403608856156842765494720870736336000599576724683512285054943533125738417821\"\n ],\n \"13905177776804766540570248863706478272261298719696153593347029092472683272834\": [\n \"15300491056294413192736806616120211490208925992122437796161376020682722890126\",\n \"1\",\n \"1\"\n ],\n \"13689613526717864265290330789119272542211915024693345441463854900005533634607\": [\n \"15544559348875842070423306147921040799699808214869501501005219740404639914638\",\n \"1\",\n \"1\"\n ],\n \"20116455702781185285934520424155673725539308693440866703605533196423819447400\": [\n \"5970938220607152727717077012544099894764037402168313750277721671329524342521\",\n \"13689613526717864265290330789119272542211915024693345441463854900005533634607\"\n ],\n \"21174677446332865523874319894434120818202245679237902515501620358854050170930\": [\n \"14246351185707319080113792767717941147566314319510353829778580890805590464785\",\n \"20116455702781185285934520424155673725539308693440866703605533196423819447400\"\n ],\n \"5293441109818487632634035572423898822237503250022629782233896030155999545339\": [\n \"21174677446332865523874319894434120818202245679237902515501620358854050170930\",\n \"0\"\n ],\n \"19794946614395323763685841057234192059251667860132194115398538218006287796110\": [\n \"19538494249509422765214672232998565019672872630849298780049076819135122239374\",\n \"1\",\n \"1\"\n ],\n \"21137633850593728401724628744743587714577727164512119201258408518157620730696\": [\n \"10033592898190620155570040013939666760494450227259971949882230708824521244918\",\n \"1\",\n \"1\"\n ],\n \"13148153439475783398208130249070725937978482853454386369262427059452926532954\": [\n \"8058777963943401652863862297934559680502448206951256930925385304201500243998\",\n \"1\",\n \"1\"\n ],\n \"14487179165885316852164917131168112145130458887095298353935831749026625068163\": [\n \"16920072513146376678641011508418297163326531685505679155601928241185004277773\",\n \"1\",\n \"1\"\n ],\n \"20158368068155052105612136912371826327273567640134763692071848964209839455321\": [\n \"14487179165885316852164917131168112145130458887095298353935831749026625068163\",\n \"19513286298721740383900616071314308793492228838208496315654390504061931333959\"\n ],\n \"558429547295752861297958975041133214121846676312298400393639446019029392267\": [\n \"0\",\n \"20158368068155052105612136912371826327273567640134763692071848964209839455321\"\n ],\n \"2852100141172436600737420333021719768330718652918700000160179776135969893471\": [\n \"558429547295752861297958975041133214121846676312298400393639446019029392267\",\n \"0\"\n ],\n \"3207193088567658480316785362067927968797608673872258334253723564584009210353\": [\n \"0\",\n \"2852100141172436600737420333021719768330718652918700000160179776135969893471\"\n ],\n \"15839543191130391412210674050342336459874893787634298842201154785418816334961\": [\n \"3207193088567658480316785362067927968797608673872258334253723564584009210353\",\n \"0\"\n ],\n \"8838240386515431841114983731032605973619049193363967092448876077433414266449\": [\n \"7775397114255932828207828040236700184365849154862218055497950903306899064499\",\n \"15839543191130391412210674050342336459874893787634298842201154785418816334961\"\n ],\n \"13697824626568691744248671366453566300936866198552523311634342733702579494145\": [\n \"8838240386515431841114983731032605973619049193363967092448876077433414266449\",\n \"0\"\n ],\n \"14277169250996104965168749633302840129226001346132159010856108184113524009791\": [\n \"11352490809826142004805080724032511994435608432273461775679498582408145197320\",\n \"1\",\n \"1\"\n ],\n \"12499100165104683430236610085333263431633831238012654586422427364502552210928\": [\n \"20307146130802541184471947432819084165081777561705871647653786664281414683432\",\n \"1\",\n \"1\"\n ],\n \"1698242303850453475837307823276747696167568195789208875990863302987230607763\": [\n \"5124895312310937470106888669616647835475750515219608515015827625849478013342\",\n \"12499100165104683430236610085333263431633831238012654586422427364502552210928\"\n ],\n \"16542787807949688542187950255100128701478601631802677702298743846763733357598\": [\n \"7802828490885495260854186523659568498066325166028147116714066063891358767012\",\n \"1\",\n \"1\"\n ],\n \"21404877556186520469462378975489522230924321295944406879826194958835120867522\": [\n \"9694366210678012027964324818823558053177192513238009632952884033788769290423\",\n \"1\",\n \"1\"\n ],\n \"19811196510661183553419545345184477051994365963050056210805532459006198468178\": [\n \"2315520048615323636201948975648339692852645619867956764935735791181437220790\",\n \"1\",\n \"1\"\n ],\n \"8154266727805948331874362708918967740062748998943731232807513710523350335392\": [\n \"12617986317468974523000949838700336275603323535715753111925364431689160196502\",\n \"1\",\n \"1\"\n ],\n \"7325168658875715488275398837201228442201665236050414351039963624649049111462\": [\n \"10798071881458213215127810524761276982727915783785114967730294811725168654267\",\n \"1\",\n \"1\"\n ],\n \"10240407476053647517702320277331945741527860942276721553421253693883048567109\": [\n \"3054894864737201690076453005978708736508890797016851947068709135585028619314\",\n \"7325168658875715488275398837201228442201665236050414351039963624649049111462\"\n ],\n \"5241787744698496206716423127683362249170080803562763971087989057088883924387\": [\n \"10240407476053647517702320277331945741527860942276721553421253693883048567109\",\n \"8326013453233295357026854834488523541550772635313957534847759556642164773771\"\n ],\n \"20112679312054818127224976053885300158492047123460402695572311774540594141512\": [\n \"0\",\n \"5241787744698496206716423127683362249170080803562763971087989057088883924387\"\n ],\n \"2237149317081990689412700515199901117256411694999272038111073807056167200234\": [\n \"21409600563382582584130660599331942730963447311154082015261061924408417013302\",\n \"1\",\n \"1\"\n ],\n \"13917274313505760067045836032319922798349485489231185621357944077372381321757\": [\n \"4034830166773201718419943525793224967852961184693260159216102469836653766620\",\n \"1\",\n \"1\"\n ],\n \"9685221507043026255441267170635491279219522306843881456443024276805160858784\": [\n \"13480663620915682188195983176014005026928580866924657449451466076188474563833\",\n \"1\",\n \"1\"\n ],\n \"9791960311812251430138885287219643321486552319012168897576215635426496073081\": [\n \"13496792691646565326903204137743540397385593921498778183365218375269071552909\",\n \"1\",\n \"1\"\n ],\n \"18165338517852749534754094442421882298796384871820855749170213822293054606695\": [\n \"19326759172561242003785417996460953879831792946268733595791866859027676892218\",\n \"1\",\n \"1\"\n ],\n \"1398354281221479288383059512126033849210299069137083192572201493047379075455\": [\n \"4888411098282991446536395779902972976320229822587103311758776024045085882603\",\n \"18165338517852749534754094442421882298796384871820855749170213822293054606695\"\n ],\n \"959245807813095027454048337871571491884384797843331617936622095633575442797\": [\n \"13804452835777358433667285689610408670100269722406525043567188373655321048503\",\n \"1\",\n \"1\"\n ],\n \"10723540960848641568791371776909117663937272349479400314154902407302941538593\": [\n \"1221089824607881160590086667350184587786262592274419290918976591771711390239\",\n \"1\",\n \"1\"\n ],\n \"135601797818341834468582857731756949534760438572215681464751558151297688492\": [\n \"1760654713640184234438788090500387163119392610293178301365247857330970822287\",\n \"1\",\n \"1\"\n ],\n \"4796367688881450772120580560340137773351854159834136461410871980479984134019\": [\n \"13400793365829120836158332279915835274020609714214580294787872424755537147688\",\n \"1\",\n \"1\"\n ],\n \"20732172858092703121591854379331501633668004133551758072327229008118419076992\": [\n \"8163571855000998984672794918150629809720511131244062693954840010347013069983\",\n \"4796367688881450772120580560340137773351854159834136461410871980479984134019\"\n ],\n \"17974676597496559933701633520283845853911664287455519569753775126256437194570\": [\n \"0\",\n \"20732172858092703121591854379331501633668004133551758072327229008118419076992\"\n ],\n \"2300053133468371438589620795970525258464258258498944311377342992387816825642\": [\n \"17974676597496559933701633520283845853911664287455519569753775126256437194570\",\n \"0\"\n ],\n \"4188426947377705005269507378650239911125800067454492867947637378862662114469\": [\n \"1698242303850453475837307823276747696167568195789208875990863302987230607763\",\n \"2300053133468371438589620795970525258464258258498944311377342992387816825642\"\n ],\n \"3419612512953726459720117981695241403778382835627515226723597987306955022071\": [\n \"21015893422757162966853491871267157314852530767588464794646559063493854110439\",\n \"1\",\n \"1\"\n ],\n \"6220346436805170759224517960834756884167583983509937532533380458198907206084\": [\n \"1846421171857856406266455973982122303054012055235782431911117491430177654342\",\n \"1\",\n \"1\"\n ],\n \"20336478731881466856644598312568220760305901495334223534338491704266085719766\": [\n \"3260803497890779375109850425026905149031550165341825358681992598038268800403\",\n \"1\",\n \"1\"\n ],\n \"13185366421119274640760511091615432464468790425186691994056626163251667123352\": [\n \"317096016454014618683982707212831254755912289857611384712647033006493300506\",\n \"1\",\n \"1\"\n ],\n \"12093209295979424911061116667185756744780282491855724022535223615872891155645\": [\n \"20009324747150174202067676334370617346249455436234247027008055772237082583026\",\n \"1\",\n \"1\"\n ],\n \"18494185196177208325901446928692707234305213145841400265787269385686013056682\": [\n \"5241049183788498665739797099056452508832471435555547711176200172283194565760\",\n \"1\",\n \"1\"\n ],\n \"10421471190597484361043297929588784227578482237445285444260680784324342907244\": [\n \"8832784029051100806386090667163771631412414959698810499073875161450072664828\",\n \"1\",\n \"1\"\n ],\n \"18651622980030246267269416096852740647090936639350592961421396454787774676262\": [\n \"1341487916302534800636859006493170123249608279165870691245701842360930409233\",\n \"1\",\n \"1\"\n ],\n \"491636553745944188419639614142872203417051692403059048609132318325202958009\": [\n \"18651622980030246267269416096852740647090936639350592961421396454787774676262\",\n \"7200061992545620396354834846841631172995738643545413620026160184874310964764\"\n ],\n \"16344489587652992554166445403989937127678590030054630010900176604356229570012\": [\n \"491636553745944188419639614142872203417051692403059048609132318325202958009\",\n \"0\"\n ],\n \"12169317207179006535872951809580099408027345564657024145521038506218443976817\": [\n \"16344489587652992554166445403989937127678590030054630010900176604356229570012\",\n \"0\"\n ],\n \"13695994712479638466744851749427460481125401774725045949074042704493073003334\": [\n \"12169317207179006535872951809580099408027345564657024145521038506218443976817\",\n \"0\"\n ],\n \"9786140991853227263602945564027817348764978205652514486083080135840477529466\": [\n \"17763499845396070956286058775985255379360534103270367045192712230388324768373\",\n \"1\",\n \"1\"\n ],\n \"5996279562531877393225136169795968503131635543834322705587935223877986782448\": [\n \"6738192089759031439065533994695846731194548865593011630671548097116546697123\",\n \"1\",\n \"1\"\n ],\n \"8698565826415025967165013252766956340011045100239488112158100757711227908438\": [\n \"14943804059412151711836920769681983842531642193075916203805754016937527631694\",\n \"1\",\n \"1\"\n ],\n \"8574333660427777364816508453364153658965678226318542741403192103525599380555\": [\n \"6354140727972045454169076469775162125984182181723735725823065008355188384622\",\n \"8698565826415025967165013252766956340011045100239488112158100757711227908438\"\n ],\n \"4269981127550362668266662384852514000292528329360077340655228055066712519762\": [\n \"11649359806182538602045059223054662942871296219042615053696126325548689386256\",\n \"1\",\n \"1\"\n ],\n \"12308288320523963082370988329352294640770152311578729373008383867219578029609\": [\n \"20684840712139577793977402541828239887533736655892885253978314220382715865883\",\n \"1\",\n \"1\"\n ],\n \"16821631558201785020557022496309541344813849206019316699095001024842578539013\": [\n \"7359508267048494750409833873388800352369062579082780303266127391724626108344\",\n \"12308288320523963082370988329352294640770152311578729373008383867219578029609\"\n ],\n \"20552281999413406612111485491955012176396015514507432217069235727725492145546\": [\n \"0\",\n \"16821631558201785020557022496309541344813849206019316699095001024842578539013\"\n ],\n \"20215116551621801017711419534913321939959850152163841941611365426577236945132\": [\n \"0\",\n \"20552281999413406612111485491955012176396015514507432217069235727725492145546\"\n ],\n \"21570447081344300968180196708222354178984225196890586045033330394087088521924\": [\n \"0\",\n \"20215116551621801017711419534913321939959850152163841941611365426577236945132\"\n ],\n \"12911435030650170462788222185206097730447546391787453950855654245853048278012\": [\n \"0\",\n \"21570447081344300968180196708222354178984225196890586045033330394087088521924\"\n ],\n \"14318808382152707396495846979713875929962479131004581964865994853225814930747\": [\n \"12911435030650170462788222185206097730447546391787453950855654245853048278012\",\n \"0\"\n ],\n \"12954135589143311390883853491565607669550231181199888086025612706841268369333\": [\n \"0\",\n \"14318808382152707396495846979713875929962479131004581964865994853225814930747\"\n ],\n \"12850814723387297794850993950233096710936039105085665080106802454496567518571\": [\n \"0\",\n \"12954135589143311390883853491565607669550231181199888086025612706841268369333\"\n ],\n \"9160454926048700490689809815943112420846820382866859930977842902869260127846\": [\n \"12850814723387297794850993950233096710936039105085665080106802454496567518571\",\n \"21491591518671623635760747288326670326331298621311559910523346250202746300053\"\n ],\n \"19661509451637336295480661571983943210846170477981994484331315644206529815218\": [\n \"20246363999033346679509943052645896032443004457597981888237044908714940625243\",\n \"1\",\n \"1\"\n ],\n \"8722531218116712700742617921247483269596845240130796336428675137579970557552\": [\n \"19196352325110944229012703092216139178089396357662155316712626069341794754183\",\n \"1\",\n \"1\"\n ],\n \"6440004403328847503669938330425397003290463712261135862305872182485465726176\": [\n \"14298121383806650446970381595614896602547242173682801504408364676264091072826\",\n \"1\",\n \"1\"\n ],\n \"11574427208153051059823056547764314823626147050962631902936111848589558750482\": [\n \"21569783136806944821698574672492125794159710910443535883678050815059373174083\",\n \"1\",\n \"1\"\n ],\n \"12485429057451720878791712559202086912658527446638471751535847594311934956099\": [\n \"4188454460973166774718111381324522007097790560866424599924561592780260183870\",\n \"1\",\n \"1\"\n ],\n \"11301469926845769684673449423494250461559014727165385943274264877747124373136\": [\n \"19775407584801661351443877576820853371142428950111083468925222324633826627833\",\n \"1\",\n \"1\"\n ],\n \"3352020360313051222913665061959311843050041221148234085122328922814388807840\": [\n \"12860042383642194255306739357048322390874704436404293525225265353811142485506\",\n \"1\",\n \"1\"\n ],\n \"19480556191274049951979873047432401634987809783376161404199430677162014116753\": [\n \"15164007067071846279045563516565677141319436664380053621684550800464482512008\",\n \"1\",\n \"1\"\n ],\n \"5491981920043606338815224045427663211800975472860274352750962728539713586876\": [\n \"19480556191274049951979873047432401634987809783376161404199430677162014116753\",\n \"14445645686843271431126633636506781031364992651567135634571721265726320605965\"\n ],\n \"3734043646889739727307882531170785019557522751983631411559498362858404787177\": [\n \"0\",\n \"5491981920043606338815224045427663211800975472860274352750962728539713586876\"\n ],\n \"17811248764537399208772310869423907543864625764844512068218305769973903448993\": [\n \"3734043646889739727307882531170785019557522751983631411559498362858404787177\",\n \"0\"\n ],\n \"19442079732775850972098055926425352613295929707211490996230608844419407511915\": [\n \"0\",\n \"17811248764537399208772310869423907543864625764844512068218305769973903448993\"\n ],\n \"3180666215384872972780839974347266354036120422106934792320464299325966057402\": [\n \"2950156873002961489914045363084837500337774290740982511898625021959694285077\",\n \"1\",\n \"1\"\n ],\n \"21822781287231610230429128526938108159317421780084917129504111313280291964340\": [\n \"2382015336400433618374470085955771743443581822547868056475943912783671560882\",\n \"1\",\n \"1\"\n ],\n \"10885123868001998196539936142128734872935773934285938964499299752934931731000\": [\n \"9988685419905783422835883454542227796017652002375010106059881473084720930460\",\n \"1\",\n \"1\"\n ],\n \"19974948173105042405605718226265786703555834190066100712513373021872171462379\": [\n \"6526945992027518501143023301757744661333178286814537917136984699793426293960\",\n \"10885123868001998196539936142128734872935773934285938964499299752934931731000\"\n ],\n \"17406689434742367465508583659424184897239381808441477010078129417503087536678\": [\n \"19974948173105042405605718226265786703555834190066100712513373021872171462379\",\n \"0\"\n ],\n \"11276527681251348331996844682288030630919349956477750070124144001454650102228\": [\n \"0\",\n \"17406689434742367465508583659424184897239381808441477010078129417503087536678\"\n ],\n \"1731293950110368788039033373815930322522916656786178470743500661043947122003\": [\n \"13598298992356452485500021366354078546930824969851665005609892945555977486736\",\n \"1\",\n \"1\"\n ],\n \"14670589809668541349790441713594102641510271944910690028904802176231558671358\": [\n \"1731293950110368788039033373815930322522916656786178470743500661043947122003\",\n \"12305702638569608843484389968079686176752085547449088143050212633372040661725\"\n ],\n \"2453522731409864206514851601350959603573082933842207970727102929344151953574\": [\n \"13174153075353074298550308376067368633617739674073538682664032990370751791699\",\n \"1\",\n \"1\"\n ],\n \"18849808392575402701935630907122835711392778168805374516748875119000631253867\": [\n \"14501197909636725421899061330218175241447639108724290079216695557857177617525\",\n \"2453522731409864206514851601350959603573082933842207970727102929344151953574\"\n ],\n \"15753301568416356245782042960568679713662113036264097384497800735535195668344\": [\n \"18849808392575402701935630907122835711392778168805374516748875119000631253867\",\n \"17058564158196995626417690137643335328908282447429800822552201723009037894403\"\n ],\n \"12435691105837557004958886573580282787553903297222783898969286212188650307594\": [\n \"15753301568416356245782042960568679713662113036264097384497800735535195668344\",\n \"0\"\n ],\n \"9831633565267443137396010337960924680518049264463317468445974257139029353612\": [\n \"8433277577684912525041886488540040750224433853831816048770770589183576668645\",\n \"1\",\n \"1\"\n ],\n \"16492519599087447780663646385587888611076193943767591563447380616313943955896\": [\n \"19005665374116793772348257653213692360883398648766332676099157545664867176912\",\n \"1\",\n \"1\"\n ],\n \"10334722542238585951134000293074780401424577753607401616399383341252497812599\": [\n \"6254231675661361331202182971548531629468880318255267374531090630845800786290\",\n \"1\",\n \"1\"\n ],\n \"4375351478692592521195188226090553531462956008301466184930140595661153156710\": [\n \"13383837334243882259083976483527186821697713243925563980800487740879662885290\",\n \"1\",\n \"1\"\n ],\n \"18844757594263324227007915079131633510974105330328325944085597372448334208830\": [\n \"4375351478692592521195188226090553531462956008301466184930140595661153156710\",\n \"13127168125197400266429017563979902821328706124005201792986377429102219194773\"\n ],\n \"16145037638308813582251346397317082599485582110301855580999571541804556008247\": [\n \"18844757594263324227007915079131633510974105330328325944085597372448334208830\",\n \"7730220026025007854770384561242069492512878964703738317909172343037142773868\"\n ],\n \"17315908780826975998511792038831263440122942253447389277963431233332011766201\": [\n \"0\",\n \"16145037638308813582251346397317082599485582110301855580999571541804556008247\"\n ],\n \"16277332204885097638293912134481260318987398397176475691001447890243246435432\": [\n \"3116659832186432774405335318729580902594791643172770612138633522937684559711\",\n \"1\",\n \"1\"\n ],\n \"1982107268960177578074922395499182969004108122258931017349876323990766998596\": [\n \"11798121097765861123010221766789111301925715939110150543235690496347862700463\",\n \"1\",\n \"1\"\n ],\n \"5985383279029276519621880465254407475087251618234623371379382647906137644765\": [\n \"8647925715933388953939483948689109779620770082533040742010113958167020184052\",\n \"1\",\n \"1\"\n ],\n \"7983413043930511380571864718137014095831145739209670023313068425442881300652\": [\n \"16792347635783825877412965953970161533776537925938297225392467155344895110549\",\n \"1\",\n \"1\"\n ],\n \"21047491941280698315248821541540247296412568118881478604760145874752261161534\": [\n \"3761265001399216968976421054705727433414319407166408357374925045158358182266\",\n \"1\",\n \"1\"\n ],\n \"21812389008614211282830321765648030639193332987896550330985199041754739112304\": [\n \"11777708046052044512133580185240573489429415871620049465499014706338254066020\",\n \"21047491941280698315248821541540247296412568118881478604760145874752261161534\"\n ],\n \"5081389118172712858848957713918037967348279383414191302215945011222742870136\": [\n \"692371050444410627004108790386693877892934125985546951442163823380406766567\",\n \"1\",\n \"1\"\n ],\n \"20234923815330587919950744570505682298896639195727008356597745539080799599194\": [\n \"3575893980872444967822388230341572719804224152638205824080445465816628923665\",\n \"5081389118172712858848957713918037967348279383414191302215945011222742870136\"\n ],\n \"11631506720128799283337646767836053128766611996673180669064289156198761467482\": [\n \"8187883171988546599591025900988359118027245072247079645192370796583316198839\",\n \"1\",\n \"1\"\n ],\n \"9509136803093650409804625505475343003060763762048988596553947071591669822120\": [\n \"5097308344424455894624505551936719096841717349703888321270890668135336118229\",\n \"1\",\n \"1\"\n ],\n \"1491449021473819109930733752114956235442089305259690242021941493590463743073\": [\n \"223062290454294709792384406963372320423619809169603561321771265972507400626\",\n \"1\",\n \"1\"\n ],\n \"3748853110614569876640829819978886063520503214298579673509730150312217428900\": [\n \"4551929865182534299792511938746661531988957855313244760111358270167081195336\",\n \"1491449021473819109930733752114956235442089305259690242021941493590463743073\"\n ],\n \"14590013095173484556255498268187630258599966697319513598885294081960833017301\": [\n \"7041192869787265082069230855091278569926375745917563799129548523309333827454\",\n \"1\",\n \"1\"\n ],\n \"11795170692282589147686595527321968603430246503205864885604969800137200086673\": [\n \"17262403150479867867097951949729378054030851703366245855248714310627779901457\",\n \"14590013095173484556255498268187630258599966697319513598885294081960833017301\"\n ],\n \"17338533587178346003487504448499524422328728054054932751769481740744762576412\": [\n \"11795170692282589147686595527321968603430246503205864885604969800137200086673\",\n \"0\"\n ],\n \"20836472529221910901132874927947968431447454498745350821252153317588127174787\": [\n \"0\",\n \"17338533587178346003487504448499524422328728054054932751769481740744762576412\"\n ],\n \"20949909011980167674605970317347488171558408169786420106349599610041637773729\": [\n \"20836472529221910901132874927947968431447454498745350821252153317588127174787\",\n \"0\"\n ],\n \"10928843223553230726752644495440081506838387193712797590829591764567045064239\": [\n \"20949909011980167674605970317347488171558408169786420106349599610041637773729\",\n \"20104247394723505337844475387556137947784542587095481157234188622239855373910\"\n ],\n \"5872331354577113623949682771486213958664593683491978164007908505376014348340\": [\n \"12454470948600515757953040735121848047680309135418859753763202466207058508680\",\n \"1\",\n \"1\"\n ],\n \"9022705347903397005876962125717607385430824779790081843918910869369767780459\": [\n \"463529229705667721392841358839440032926797986667356721115057860518832664163\",\n \"1\",\n \"1\"\n ],\n \"1972006895057097707015305511525127255989023927270512198751832942510807691846\": [\n \"11860861416308825286817356527427514751462259415279728890232788057962890583696\",\n \"1\",\n \"1\"\n ],\n \"2432662519105792715134933226225984581119792509921484822896833638290548577133\": [\n \"16663573354452982456071864373017270535263296937529428907501363963989505774022\",\n \"1\",\n \"1\"\n ],\n \"14052106123564057906645193528473168725344316068468456344009642853627174735294\": [\n \"12055578371956198699797919299888349464998960123929386646772165273102393344674\",\n \"2432662519105792715134933226225984581119792509921484822896833638290548577133\"\n ],\n \"6077336114954660303886035152915507542416116023606651514636621569850865136114\": [\n \"5802842010212970097123333962340978314228127827606470075738738897767674830378\",\n \"1\",\n \"1\"\n ],\n \"4711146506880737358561454784674333601796249808845006407305325608529445139767\": [\n \"5027512466578206683579742799782112756633411724898849254437823955786649954570\",\n \"6077336114954660303886035152915507542416116023606651514636621569850865136114\"\n ],\n \"14720171493791137402927219227095193921656963409607637355885881225474671949948\": [\n \"16154074315685913580673469339072333570771043084965500211123053600739149889345\",\n \"1\",\n \"1\"\n ],\n \"8099256989675453708474424840236072849467368176116212081616076556073211732723\": [\n \"866786727265163135833170808216633146336095428006556609933173762646069631461\",\n \"1\",\n \"1\"\n ],\n \"11830757232888327433971487553888102623029327298327588706254430774586027115406\": [\n \"8099256989675453708474424840236072849467368176116212081616076556073211732723\",\n \"9831633565267443137396010337960924680518049264463317468445974257139029353612\"\n ],\n \"15636240829623506900837818112740163857916070567833871825931483420220908355496\": [\n \"939792136637140767459337714074360971771860997943103905440402285505900370519\",\n \"11830757232888327433971487553888102623029327298327588706254430774586027115406\"\n ],\n \"11658887720692667174422391225398887563352027812973665663808003455941425609506\": [\n \"4831681037378618131244970009391477204381864510519194378888252579943959555558\",\n \"15636240829623506900837818112740163857916070567833871825931483420220908355496\"\n ],\n \"5247989968384962447975758365188153016282864834880697245270566487862418375670\": [\n \"1654905565754413186166509135190850389673596514183278718102156538760681455759\",\n \"1\",\n \"1\"\n ],\n \"9747149037749625579230277915667731846375524727733153245537859487605213103371\": [\n \"21762467553618067277772699926717159030205471211659538584627970667330060778863\",\n \"1\",\n \"1\"\n ],\n \"2782907869104584648833332360880078517687874052908265465019476807933308021628\": [\n \"852511772558207190668297006883393062205470661314508283888543229501614395243\",\n \"1\",\n \"1\"\n ],\n \"15071572092948869563006230478424806891411264150667943429756149999209984759969\": [\n \"2782907869104584648833332360880078517687874052908265465019476807933308021628\",\n \"18153833227385689832318756997423115854975573707655239142099494624774807077480\"\n ],\n \"1041452126283942778081678631779713153900235641977555154876680634928763729507\": [\n \"10964955545370738100692993021857237800287145871067528927276421915364814590151\",\n \"1\",\n \"1\"\n ],\n \"9316541793998032153488606853952703721168289564873784202393953091384118085605\": [\n \"7153893810843728711786411942319409185612870202031212121674233883386573821440\",\n \"1\",\n \"1\"\n ],\n \"10536404743682241396508478370263013330506416328723336179851068572010572598364\": [\n \"10747429830236639912499309763988800143144313722959595666423998882187241022235\",\n \"1\",\n \"1\"\n ],\n \"19480933630362479218523437438623807159369037837956128552346394483221960367762\": [\n \"1615566249788688183739010703570469509799635797426434228150779014893123262127\",\n \"1\",\n \"1\"\n ],\n \"16124905631570160976199968215330830581350458786165453314609319759300207136191\": [\n \"6069023613876025780385078659980731239275279918266178011865819935804501670560\",\n \"1\",\n \"1\"\n ],\n \"1376705792632835968182476367250353536672285728441179179126026618811766022777\": [\n \"14305390522543513747952870889494643022867777139558783352172524609291953024457\",\n \"1\",\n \"1\"\n ],\n \"12441962967220018147514518776116101505147245152575073092261937739268126166790\": [\n \"12128458438427230388820870706116545984150859390240566937414882915025263205766\",\n \"1376705792632835968182476367250353536672285728441179179126026618811766022777\"\n ],\n \"8688473757102142674357817296361780754265743156199913419255639015881763877303\": [\n \"18152949766803302711045253049134167145936218713423326467439775900509851441202\",\n \"1\",\n \"1\"\n ],\n \"15709890154315256988986043025214808323470805823688979102156918792251452421203\": [\n \"5927833170869747127961309636844292166754475442552799800054015587700936433684\",\n \"1\",\n \"1\"\n ],\n \"11910804511867520601377763762296858894126109528557543253394632699458338493414\": [\n \"21381387733338632500348638147113582544041602959324933191227777793821698241210\",\n \"1\",\n \"1\"\n ],\n \"616551390523692922588339240773104602408975646334660555325248898581550668260\": [\n \"4869364039729765328384416510542411494531918378096322253332864427531102295273\",\n \"1\",\n \"1\"\n ],\n \"6085363461722039232721831874232249474310745116125182607177288570076811184453\": [\n \"19350612003874743815553531859650657502050242367639435153143164479077797766613\",\n \"1\",\n \"1\"\n ],\n \"7800815955333302144776905425018128481590700820613759681974024146328693901451\": [\n \"3052323320985286021557661389382852282109655458137768933308482919019893678462\",\n \"1\",\n \"1\"\n ],\n \"4675710535278308544485458292168906483114466593548401811222565500093450146194\": [\n \"403618715771338632493814795686579861425005909012061078736356000406529887957\",\n \"7800815955333302144776905425018128481590700820613759681974024146328693901451\"\n ],\n \"19350144905170772729335685752322125588271470877580320284097070757407175233767\": [\n \"4675710535278308544485458292168906483114466593548401811222565500093450146194\",\n \"6555791084844867855263643434137862735240156597483539635313344533313569290439\"\n ],\n \"19848468917123379490028520631459594668351894268616513374412920745507573703810\": [\n \"19350144905170772729335685752322125588271470877580320284097070757407175233767\",\n \"0\"\n ],\n \"12609699153951654216857218821310037153403725179835057906878057448869228006069\": [\n \"11126497106560318156955966045276508809260043468773630996703824613782330411356\",\n \"1\",\n \"1\"\n ],\n \"2437659390754891173331629686011595866979818549029156550965678557063741137366\": [\n \"5566857447068945329972519617138171347563023803554673329855019664970643958054\",\n \"1\",\n \"1\"\n ],\n \"15957647492455880542013772915310874731563940530704956866132058788715774640456\": [\n \"17630542011275787547204856001690111893771584589865822633926651922523744769812\",\n \"1\",\n \"1\"\n ],\n \"47425917936352817597342530335250254289632392428226598543177985553680551617\": [\n \"115442450516854257842985426256988004454273059958670621465417656842724652887\",\n \"1\",\n \"1\"\n ],\n \"20106736736470683943842959300406816805389861924607822614696931784053795926022\": [\n \"5221872268360315217440946370485615263740862517316101549321310947669665550755\",\n \"1\",\n \"1\"\n ],\n \"8650110035196579727436005791166786800083343420536232822756991668367286383679\": [\n \"21403980993012441468225138982699899569733836138888671886923792716819354990110\",\n \"1\",\n \"1\"\n ],\n \"6640043260511613230004347502770516036150925974700156797984473778357896707786\": [\n \"5888449736338808419886819375776744095978137482760484296194954886299678387038\",\n \"8650110035196579727436005791166786800083343420536232822756991668367286383679\"\n ],\n \"17215204585369047142770893083770497724822882237073713670328812201242693556795\": [\n \"129593682013436689242631449858682224562201028149964008807314821543506618888\",\n \"1\",\n \"1\"\n ],\n \"19628141914996341869836336782613040649295080125855987750859699308896383181932\": [\n \"15714957181479039675136612674751060778021812134490312333065404570296270860086\",\n \"1\",\n \"1\"\n ],\n \"16807493600004561651782385239432040764539894416716094171175374164562942825316\": [\n \"7146526537752091829776811228537384954654331712690620765862882172008184620134\",\n \"1\",\n \"1\"\n ],\n \"8102000432844098775640623351103162062151400026583686233364547246152435661812\": [\n \"21882009629989199914625996502790293060654185774445273996341162953191932258463\",\n \"1\",\n \"1\"\n ],\n \"13691308241480837193927581951822085196967331376991397314233088009221348688670\": [\n \"8781481519035072641335363796724114991159479207486100952829977030940675250002\",\n \"1\",\n \"1\"\n ],\n \"21066670476372525914303074649576726773227813254874363933225154991626434520961\": [\n \"11103256866954813752981014891199820879195644631127306296663673138151143943554\",\n \"1\",\n \"1\"\n ],\n \"10613528299967224209298817200841310352860087750284540295819044351237266509328\": [\n \"7663711122581036301097035130159634109257730248437657927134717320386281552364\",\n \"1\",\n \"1\"\n ],\n \"2122578669906595160555019765543715842844083746499216642857682906398744117581\": [\n \"20217323091169779629870197590329802190069073347293088283402663054741170448910\",\n \"1\",\n \"1\"\n ],\n \"19681600434591353512626866517612980756900674344091667844531346799561467638935\": [\n \"2122578669906595160555019765543715842844083746499216642857682906398744117581\",\n \"10605254363026240636973110180200379005428113720626883925190082048401331264475\"\n ],\n \"12264794423251647745357622303272876283594743003725218489306664459364691904540\": [\n \"3427113545372353353345164868822509071865023055694684639088864294020998067024\",\n \"1\",\n \"1\"\n ],\n \"8622829514597682875472413155379839440342007777288716224932385644965375119221\": [\n \"8785470871723177634878774736296861478798218661110730173199436743812194639010\",\n \"1\",\n \"1\"\n ],\n \"17143450118980666079297424271364093677805959686960790958392842863213940272729\": [\n \"3943180025638551622745377235922464716244028179645661298873416132350135224783\",\n \"1\",\n \"1\"\n ],\n \"12465143796614226451703234511675337851933937300751674988213157532852796276104\": [\n \"17143450118980666079297424271364093677805959686960790958392842863213940272729\",\n \"13404492767270637496224458487185961902844673588390343197499808023704271811379\"\n ],\n \"8272950350960676966237973872608985660459063740611492773524190279548372267796\": [\n \"4793269045418880366087624429833251165229854703455077386733362774245051903374\",\n \"12465143796614226451703234511675337851933937300751674988213157532852796276104\"\n ],\n \"14805058010718184099021944604157911806658852552351355329040301442788817936686\": [\n \"5723693351084337926412379696359962033352745434958514398103375720199944548344\",\n \"1\",\n \"1\"\n ],\n \"711164657303142710880331559012245509735509581177044247619727502231094852865\": [\n \"14805058010718184099021944604157911806658852552351355329040301442788817936686\",\n \"21011755069397751110290388785938153475545867867903603654897298279208459169258\"\n ],\n \"19372812711237247877531662595368785595604433394941653398343829626073456083659\": [\n \"0\",\n \"711164657303142710880331559012245509735509581177044247619727502231094852865\"\n ],\n \"6708214882800868465457988795050477948370639724539496933173631903526803199211\": [\n \"19372812711237247877531662595368785595604433394941653398343829626073456083659\",\n \"0\"\n ],\n \"20763865209817255562608376119743705962928807441868505202051509136408240609224\": [\n \"0\",\n \"6708214882800868465457988795050477948370639724539496933173631903526803199211\"\n ],\n \"10673891685916891923319817255943970659718439396452593602628619808861190302269\": [\n \"21129514215450620948890615763951737940083797578780259469858983328337477751985\",\n \"1\",\n \"1\"\n ],\n \"15748272269825839367248666161572073592500960845165427095403161916141650797702\": [\n \"10673891685916891923319817255943970659718439396452593602628619808861190302269\",\n \"14402027723305258603936238446572337714259317140524082805994641763149096700114\"\n ],\n \"9456539805738060459229200392935303152590452735251296861059693738815290415089\": [\n \"14721976121123304022502789819969989399309294941320409443095896883605207932616\",\n \"1\",\n \"1\"\n ],\n \"7622258071833917622735854511633247502566201339646353646331456274829255084272\": [\n \"14798582412023888412435515159639075355405474151722097118451619148335685977670\",\n \"1\",\n \"1\"\n ],\n \"4033873922106182207839546454569169095051847501387793276420202842210305983207\": [\n \"6220346436805170759224517960834756884167583983509937532533380458198907206084\",\n \"7622258071833917622735854511633247502566201339646353646331456274829255084272\"\n ],\n \"9813557294853541135225892073598544474962913724134896275607236306531622394691\": [\n \"4033873922106182207839546454569169095051847501387793276420202842210305983207\",\n \"0\"\n ],\n \"1299327476400651935190584390004999091890378389250260340620431884498060191575\": [\n \"9813557294853541135225892073598544474962913724134896275607236306531622394691\",\n \"0\"\n ],\n \"4929521737033039199689280258763246473887747312639528977541836021636024607501\": [\n \"0\",\n \"1299327476400651935190584390004999091890378389250260340620431884498060191575\"\n ],\n \"722054336106558245236669743866747735833485150407389304824173304788915017630\": [\n \"4929521737033039199689280258763246473887747312639528977541836021636024607501\",\n \"0\"\n ],\n \"14120840431240117352835905756526740068700266332874768232338460915395349065548\": [\n \"18912499305527398861859382519778583387040741791040023554805023268580837930828\",\n \"1\",\n \"1\"\n ],\n \"13824714547248199521811749253897058258335509130279109140163171767774763670606\": [\n \"10700808831126736160503657739177596204466334691328598339108799395416866350224\",\n \"1\",\n \"1\"\n ],\n \"7425590772830641589756980855845649313027265839022243632724336668027367835124\": [\n \"18116342730478823504774161379292081564747119817583658659466835319233853653665\",\n \"13824714547248199521811749253897058258335509130279109140163171767774763670606\"\n ],\n \"8055943448958999756422842909718450430619613910855807979666942031541738817318\": [\n \"7425590772830641589756980855845649313027265839022243632724336668027367835124\",\n \"10758777728911318692164211068513648759136099112102394219351256591527223454805\"\n ],\n \"1516254228217149674037602756785451070890269803376339582253245942261281734931\": [\n \"3284667718339237680840202666993953919696571208010655716406813284347324556293\",\n \"1\",\n \"1\"\n ],\n \"1650340284542714939614237598473170122483487674126851870286423699330908626690\": [\n \"14596359365802399427943152162716597515062380796122941336166993632327522186487\",\n \"1516254228217149674037602756785451070890269803376339582253245942261281734931\"\n ],\n \"15763652662662173516120179769970554621922171938982077698891213746268526212023\": [\n \"1650340284542714939614237598473170122483487674126851870286423699330908626690\",\n \"0\"\n ],\n \"11569158241484267708319857176867989967464195060312802159597331853094732627939\": [\n \"15763652662662173516120179769970554621922171938982077698891213746268526212023\",\n \"0\"\n ],\n \"11257570531190726790089687918623355238670667585162116910963384133698348548112\": [\n \"17668613762275843382601992851863023399312744367593034060390452624247734449705\",\n \"1\",\n \"1\"\n ],\n \"13687324711515086814204918113548206261713612747169406159170835450998995281399\": [\n \"18101102937135229945850593596703761769314429959628416817910111626385428915163\",\n \"11257570531190726790089687918623355238670667585162116910963384133698348548112\"\n ],\n \"7780990272942628679616639500876264124210873943302435028952901449482356538520\": [\n \"13687324711515086814204918113548206261713612747169406159170835450998995281399\",\n \"0\"\n ],\n \"21869544204885444936763760383199200142106807929357565850445639164501799158758\": [\n \"7780990272942628679616639500876264124210873943302435028952901449482356538520\",\n \"0\"\n ],\n \"11694048976562571058562027122847199857905758838519813687242194409531413913506\": [\n \"21869544204885444936763760383199200142106807929357565850445639164501799158758\",\n \"0\"\n ],\n \"9823839618457724037265024208701809502834097472050852656173935476825072929780\": [\n \"0\",\n \"11694048976562571058562027122847199857905758838519813687242194409531413913506\"\n ],\n \"13255395274205485644578169741500614721441769595191348460038755408770077762277\": [\n \"9823839618457724037265024208701809502834097472050852656173935476825072929780\",\n \"0\"\n ],\n \"304799870473139745591373561835654350685141613768367350863892547997097726913\": [\n \"0\",\n \"13255395274205485644578169741500614721441769595191348460038755408770077762277\"\n ],\n \"7002161025814553320347582285630783827893455570962231554978697117473528698414\": [\n \"5484286679603939241003066359146411030303746575827473279192681949792848876385\",\n \"304799870473139745591373561835654350685141613768367350863892547997097726913\"\n ],\n \"3550062445561793650149785836658027254769168317124305108609489453791244890421\": [\n \"6928362732474827844638811442443216874001401711769177446985006307801152662688\",\n \"1\",\n \"1\"\n ],\n \"11327856287876015313939427785487235619548998163342287273366419473729351615615\": [\n \"13047819605799217385650724250024912477602068694861356542845450025658999983657\",\n \"1\",\n \"1\"\n ],\n \"21449414070276542762692623686250548214801072934081807411078927680729083829318\": [\n \"15799420622468995721593640874474338859388772514357351768070333220081299743773\",\n \"1\",\n \"1\"\n ],\n \"8583569582880624462367618814153162235136552834872139709298016259790377448445\": [\n \"4301929212961819770018884278756087139417884950398977283796964463719715122125\",\n \"21449414070276542762692623686250548214801072934081807411078927680729083829318\"\n ],\n \"16442331075747708511511527021370384164349526790598073453173293768461995990415\": [\n \"8583569582880624462367618814153162235136552834872139709298016259790377448445\",\n \"0\"\n ],\n \"20883207149809305735377728240167646793327070509144639670219264763245739823503\": [\n \"16442331075747708511511527021370384164349526790598073453173293768461995990415\",\n \"18628310389599590512622008041369266923277449347090992033879193979548590796835\"\n ],\n \"19502796096446378649353348906695217829828910353112930425019559139604230859773\": [\n \"20815535498854057177111760846302851502043581264313509819725923327565242871385\",\n \"1\",\n \"1\"\n ],\n \"2571552002500854884244963819927714903063710632000297624016339406275490105530\": [\n \"14138548111977384902611985725824798353306863067862888916699707643285049626493\",\n \"1\",\n \"1\"\n ],\n \"3211347276788141500491290247549931008585794241964037857229997515370054932496\": [\n \"4259606787353291175798425218772973824083053463472280192472782664159881840265\",\n \"1\",\n \"1\"\n ],\n \"14666550959463893358914586150540388968130331962148464199616515808793902105180\": [\n \"4259157482326898468523385106492617951014271614344312110358129868132037791003\",\n \"1\",\n \"1\"\n ],\n \"307456578135920382135920762499723033846849888839001146233123773910086693542\": [\n \"6354858864037640696919083004918966144487929664415860979570355706297547505799\",\n \"1\",\n \"1\"\n ],\n \"6468064510822511085332426753867380821478723392994015253487473514938572588018\": [\n \"18349146539264268356643590630168209336292160286822617631315580407742197917095\",\n \"1\",\n \"1\"\n ],\n \"17973155123628394636066457250008715158615432223501094354345067018417210612727\": [\n \"15443266519801521440129994519688318289823800347926833602249715193893663639330\",\n \"1\",\n \"1\"\n ],\n \"5971970570161684575388254072988690981564362044563662515791760610082335556294\": [\n \"13643164511769656800041871727117829655191896332270500619701663405801672299638\",\n \"1\",\n \"1\"\n ],\n \"17913288420887329119233365192553378416016780184065464591175958661537111511304\": [\n \"20691337417044314721360012637570613736759029968548969172446702752141369119696\",\n \"1\",\n \"1\"\n ],\n \"13336511452169263110916544755121195437438911045857953918049296278509439838681\": [\n \"2903138535859460390567013388832341418014182759623576062700806085204519576259\",\n \"17913288420887329119233365192553378416016780184065464591175958661537111511304\"\n ],\n \"6990956491767260093098933410473320014396948431016911573572381922617544021803\": [\n \"0\",\n \"13336511452169263110916544755121195437438911045857953918049296278509439838681\"\n ],\n \"21461922441303655929037838061915540957459709312821685308207583452177178920337\": [\n \"6990956491767260093098933410473320014396948431016911573572381922617544021803\",\n \"0\"\n ],\n \"20024350997354051130208479700587160274958437454810310189133323194844300965528\": [\n \"21461922441303655929037838061915540957459709312821685308207583452177178920337\",\n \"0\"\n ],\n \"6793079296548589274799748110015238566995473602196193697872212936351087639927\": [\n \"13563396229780960447544307561108719867254517177251129969027279997583322452136\",\n \"1\",\n \"1\"\n ],\n \"1694930749278757876581925199998432669128951732832834329041235314076447859601\": [\n \"6793079296548589274799748110015238566995473602196193697872212936351087639927\",\n \"16453732101352023795986301326330955101739038502686052102215580647716608485181\"\n ],\n \"17436439690411704990072355438851149283426896698123307911737779983496193017251\": [\n \"17593768541537299185699129528207902912997730195868120925939614080521394623544\",\n \"1\",\n \"1\"\n ],\n \"10938360475100078321676578852202393596675570937054119252165853019475324593619\": [\n \"12172003468521444253871174626088521757643351513803429267670654179541369164117\",\n \"17436439690411704990072355438851149283426896698123307911737779983496193017251\"\n ],\n \"5543181786233384735101957029265763415203292489308816477121651930109818610765\": [\n \"18613333039601861313574337650190525579504394235016359212109121845628988730113\",\n \"1\",\n \"1\"\n ],\n \"9644282320783387035136379729475530050347440665619678884344434891083613367433\": [\n \"5680167320704263001165157393954986505837267688718209757707946210288655359892\",\n \"1\",\n \"1\"\n ],\n \"10944104004453669709679885224836374576145010234984736492406420924537301458095\": [\n \"8080654370933543018988267828217428926682254759613922964861394231509044781252\",\n \"1\",\n \"1\"\n ],\n \"2044847382946099368365452504450463448470901639145229636273694909797794951775\": [\n \"10944104004453669709679885224836374576145010234984736492406420924537301458095\",\n \"6828417980704990702705822599715389328014631670703456843744654847315024955471\"\n ],\n \"15035387351203717860680333183716522280847492576475238054727586146034745761034\": [\n \"0\",\n \"2044847382946099368365452504450463448470901639145229636273694909797794951775\"\n ],\n \"8400842287869786058590881222768803417529002146557727226765397295301289800058\": [\n \"17952815121137031502967951164879886221651777516899842115150437201320878838861\",\n \"1\",\n \"1\"\n ],\n \"7804068633848896982819795766907467788105578822877094972057965858635790337229\": [\n \"8400842287869786058590881222768803417529002146557727226765397295301289800058\",\n \"6188358685693502953276526136876502972349299176686806214702593726732578726080\"\n ],\n \"6950436342110914727837950262226658921805580696825467677289116287014124474313\": [\n \"0\",\n \"7804068633848896982819795766907467788105578822877094972057965858635790337229\"\n ],\n \"5195979523273855243787382087356469029779635849524024931292766103973459302687\": [\n \"6950436342110914727837950262226658921805580696825467677289116287014124474313\",\n \"0\"\n ],\n \"18341310721874329577964728590749779326002488820958658545340411927023119668020\": [\n \"11139940644299705692464192840085847571199445291599314698864745757060512983289\",\n \"1\",\n \"1\"\n ],\n \"10515821171279236753603950253416920721007313243592214421556287556997089112181\": [\n \"4420808116499753814258787311710123595993087342910937811614758160665392481030\",\n \"18341310721874329577964728590749779326002488820958658545340411927023119668020\"\n ],\n \"10797294668262726647950866663555335878150907226932951896024907416961331113327\": [\n \"8930117450687909145541080428022638957329468464839823275709406231253885616873\",\n \"1\",\n \"1\"\n ],\n \"7955577523530767607925293201879898428609242542466689080318458617204710474616\": [\n \"7353297546336572785194178107082316989488966268917055774647974479529181933472\",\n \"1\",\n \"1\"\n ],\n \"14756697782211773361402672919526520143050881194538476260646073691554858723495\": [\n \"3663868353732871700065212272036076577541058025630323433398438102549798298864\",\n \"7955577523530767607925293201879898428609242542466689080318458617204710474616\"\n ],\n \"2030997881081802998915906118185373930085994361980131613962325641103963247816\": [\n \"14756697782211773361402672919526520143050881194538476260646073691554858723495\",\n \"0\"\n ],\n \"8857804105141185906377680961937639046138574029227703273676478022334382593115\": [\n \"11220944210963673400397211001993974981728743933573650708369296240878362074535\",\n \"1\",\n \"1\"\n ],\n \"17895694407543339105459693183924233659515057652011805517414742027196135660547\": [\n \"20098481990588171195527130885675342233281288406017208727687375508780456665074\",\n \"1\",\n \"1\"\n ],\n \"8225842109842045951198440015102168385709082895155671296183451167418485875825\": [\n \"17895694407543339105459693183924233659515057652011805517414742027196135660547\",\n \"12093209295979424911061116667185756744780282491855724022535223615872891155645\"\n ],\n \"13397964251622032108744946689187767130239236177043203418321206667495504162148\": [\n \"8225842109842045951198440015102168385709082895155671296183451167418485875825\",\n \"0\"\n ],\n \"7883558274359138814490599617894620010277045720161396081275882003477398150646\": [\n \"0\",\n \"13397964251622032108744946689187767130239236177043203418321206667495504162148\"\n ],\n \"13474893143358009035905612440681665266655071743164629006300004808200059278741\": [\n \"0\",\n \"7883558274359138814490599617894620010277045720161396081275882003477398150646\"\n ],\n \"8153905937733230991246549941386134791996877744599163009388055879568891596294\": [\n \"13474893143358009035905612440681665266655071743164629006300004808200059278741\",\n \"0\"\n ],\n \"1120256405445786387859944994892479851912979432985608469608074022967507782689\": [\n \"9376928275875701660396867896456545510590686121598112562556555137866545825786\",\n \"1\",\n \"1\"\n ],\n \"18849504908366639689216460649311179146219657235122701005884729140262610581385\": [\n \"19961590936008383479492535079331384348473008914170740321466277017853338831279\",\n \"1\",\n \"1\"\n ],\n \"11481183774659868207026086587547807047695320411226652709543325207379568459534\": [\n \"14227754119074837155841089737699262112543481004429267170951659270989160499144\",\n \"18849504908366639689216460649311179146219657235122701005884729140262610581385\"\n ],\n \"14232330431949632417850506022437762165869792080098004071579812860273748684917\": [\n \"20012113829129693026648137962342539016991927409652680926855766960366567800477\",\n \"1\",\n \"1\"\n ],\n \"21741624217688516404705618153369160106198152265492061970578626175356529448276\": [\n \"11169636335278950812882572561820689703090686845787428006415588504887358936955\",\n \"14232330431949632417850506022437762165869792080098004071579812860273748684917\"\n ],\n \"6411316384605453117996818442348992921053830047780973236793393583512987534624\": [\n \"19456196666598411342966645962730920089274740719234618664911351267102445215943\",\n \"1\",\n \"1\"\n ],\n \"19137087418816660701250427576672932311615899828669095901260615793800120511998\": [\n \"6411316384605453117996818442348992921053830047780973236793393583512987534624\",\n \"8472390179577395394061181813675329772278268600955463810865450657776660856162\"\n ],\n \"9116010541103471504775999320904605451749379533182786464300864679556790865282\": [\n \"20439148482740587609958516291173009319492494562819693819772136759659676693455\",\n \"1\",\n \"1\"\n ],\n \"6017569338587505391014757775716294632278536873192650116233072249334234337171\": [\n \"21738909439450706011888638721523120362929644566230261912702762536846986393203\",\n \"1\",\n \"1\"\n ],\n \"14562780284091695166293602567202684956641753124988101056955111893368162956853\": [\n \"19916345894876929772552706356795090056507806461440625321364700975494389535498\",\n \"6017569338587505391014757775716294632278536873192650116233072249334234337171\"\n ],\n \"9608099741520143139794327810381504322913635104010579164580178050692952702448\": [\n \"14946016192622776814439725159534947334518914596639954167554592961369378758896\",\n \"1\",\n \"1\"\n ],\n \"5849306237815316105453122083274605677449221730438230188667275010933210208215\": [\n \"3308636234113767150704616076209058882862956784694094898461116903968392180314\",\n \"1\",\n \"1\"\n ],\n \"2516169085067035777007741735924622405712177990031489556288176418755907688987\": [\n \"20311660460895791715141161614156407490249476115077362909366010885966698938181\",\n \"5849306237815316105453122083274605677449221730438230188667275010933210208215\"\n ],\n \"17706724106726049241073332644224608752517156351812151527173531899854130217471\": [\n \"2516169085067035777007741735924622405712177990031489556288176418755907688987\",\n \"0\"\n ],\n \"5330155262686226642368848792279721319840681104749104654972374865126724024199\": [\n \"12319732419618568216099773875738654197696983933408804565102558814835887877028\",\n \"1\",\n \"1\"\n ],\n \"1514486178683915676697856721845630326587644966512306246438062383076370699327\": [\n \"5161318978770755548147035417608142270525089382307910699450925616172387227396\",\n \"1\",\n \"1\"\n ],\n \"9618577278312100619106441115928555208231178670834130636434670392618154135731\": [\n \"1514486178683915676697856721845630326587644966512306246438062383076370699327\",\n \"11598461847697268313396345002667918580168858394640853069883877834663552052749\"\n ],\n \"18530406282249778951719902635984680213912701190136810907632885184553546527092\": [\n \"2616164512027105004944199281122622178702967738348024868712986634688939788923\",\n \"1\",\n \"1\"\n ],\n \"15908251434413071850763009220437799967116594665402570491859253113496392942229\": [\n \"21791501778922990469507793718009107927522118106331994621863249619700799209393\",\n \"18530406282249778951719902635984680213912701190136810907632885184553546527092\"\n ],\n \"657354770400471953957722511116356580143326594592224565666658278900174409294\": [\n \"6821299635272197863590599442262751473800171604949197551071523674775729489503\",\n \"1\",\n \"1\"\n ],\n \"3034499957904184699237678766137726323573739898560852438420981391603764858146\": [\n \"657354770400471953957722511116356580143326594592224565666658278900174409294\",\n \"17415625728627473268132078877332022703228821058855927440963874666389811842731\"\n ],\n \"2814767905718473170049408147018745354460888727603891321300696332137989199209\": [\n \"3034499957904184699237678766137726323573739898560852438420981391603764858146\",\n \"0\"\n ],\n \"20131539097695060234584779071289346898414322505225331110832022527930666375973\": [\n \"2814767905718473170049408147018745354460888727603891321300696332137989199209\",\n \"0\"\n ],\n \"10105697643649386751620843399961468071224299109364323941445249773254710463921\": [\n \"0\",\n \"20131539097695060234584779071289346898414322505225331110832022527930666375973\"\n ],\n \"2501956241224680286871618203565305456372493510596491466900917713790136965474\": [\n \"10105697643649386751620843399961468071224299109364323941445249773254710463921\",\n \"0\"\n ],\n \"15917539876772666683770056186966562547155591929310127948582171501441578423831\": [\n \"21875311998323631921368112756293829132822599566927992508040228181704047003699\",\n \"1\",\n \"1\"\n ],\n \"14573213930895905422716778766984957476596814093569296371635367829167724618076\": [\n \"15047659040154054757622922382785107247532372560493024275496900328118640100397\",\n \"1\",\n \"1\"\n ],\n \"12264408278393052878723188349203574704337359006096334477254568701690103513291\": [\n \"14573213930895905422716778766984957476596814093569296371635367829167724618076\",\n \"3708599327515977311432049982224002097183930054351152206499293308562227865131\"\n ],\n \"7565449424639996618533979784763015713383397429654224039726008657262236330587\": [\n \"0\",\n \"12264408278393052878723188349203574704337359006096334477254568701690103513291\"\n ],\n \"9636731273025334904089346435769597388464322780647635075408280846951114195851\": [\n \"13367783481249300446988194622463341888111605096538558156911203690814243313849\",\n \"1\",\n \"1\"\n ],\n \"17639619562949895402079714572790940351749202138892103565926897625434639090177\": [\n \"6223407010022141636531561953866376262650355001972337518443751568982930567906\",\n \"1\",\n \"1\"\n ],\n \"12570350675512608467514133128001601185421998863181301263268075065493794811580\": [\n \"19239695085992777977770477575118303362999761845131416177133063040128103325331\",\n \"1\",\n \"1\"\n ],\n \"18613926580450270652137794592641201006041112279525434722060067662479302550067\": [\n \"15102692097001157883466144936525879512144006075120127453655589728044328890703\",\n \"1\",\n \"1\"\n ],\n \"8486557411289156014554730266458560897173851018796266665462406327454214756317\": [\n \"15054002986282749939263516541290610168906835576841278637126494454707129426232\",\n \"1\",\n \"1\"\n ],\n \"8264830968263474493813971382564887385157159721403355202655026063882780577300\": [\n \"8486557411289156014554730266458560897173851018796266665462406327454214756317\",\n \"15922729821429652466190361980321824330064638714880070373187584434250157356610\"\n ],\n \"18805694411413106975990341829474139910018467055290155801022100421152015626180\": [\n \"8264830968263474493813971382564887385157159721403355202655026063882780577300\",\n \"0\"\n ],\n \"918285439358113532868044478624677473393782965630883425460916309790277938450\": [\n \"0\",\n \"18805694411413106975990341829474139910018467055290155801022100421152015626180\"\n ],\n \"9181566766351512333209010794000283426439480737010828241080288267418360601935\": [\n \"918285439358113532868044478624677473393782965630883425460916309790277938450\",\n \"0\"\n ],\n \"596847162284815810961164244970101111203940689707605480793899313988284532828\": [\n \"9181566766351512333209010794000283426439480737010828241080288267418360601935\",\n \"3163942914179519904021022943359140134857743741334158534909988405849389325112\"\n ],\n \"720460985837435500082168337207237561342912948849903724180969082261507685552\": [\n \"7958660673728253808239247778707836786814894788548730576651610325431166171043\",\n \"1\",\n \"1\"\n ],\n \"16401766418464529422739597673616873996530302254697468539439481080547935853371\": [\n \"21177427399994055690917307254891380948304933458167745822505302152072610892757\",\n \"1\",\n \"1\"\n ],\n \"8588511810853078390311019852129290368123352955854535630618011556473692997089\": [\n \"13440048948111027758039615185159648300248223899671342337676376656070177704130\",\n \"1\",\n \"1\"\n ],\n \"21088042667195614496906435301737291989934265740034344171819227497142745075811\": [\n \"13162210925456403335166649649921597199797484680953835287000336214100719580913\",\n \"1\",\n \"1\"\n ],\n \"5860466638644744349600433470596946708776827120382541805744282701608592080888\": [\n \"10990295122817491172646145305526302145788883644942622357877405701368533301417\",\n \"1\",\n \"1\"\n ],\n \"12885017307022993973702739359543768223451851895434818450875014204338051754874\": [\n \"12023221678158865146414672811884976642863982110923582592451305345806488865145\",\n \"1\",\n \"1\"\n ],\n \"9544199401422670834034939412200271450400334606362772279202609697090621925287\": [\n \"19499516863939178440662243319133537101488248667677559066222868540313789354007\",\n \"1\",\n \"1\"\n ],\n \"8451968604843033621885042967880819876665791391078451275031986562028961066636\": [\n \"14484779358213640913713646219227199358789671712956818679402424079467800590133\",\n \"1\",\n \"1\"\n ],\n \"1087365519361445335666298599264006543673766446737485363842806704445275180169\": [\n \"9720373977532424674729950531263555324489173654750311031446604690683119455548\",\n \"1\",\n \"1\"\n ],\n \"12252937350793721647865772701986466771864609781259622739919258995417254075353\": [\n \"16159341635162382017978839291539436624274799508551708984712214138173258129155\",\n \"1\",\n \"1\"\n ],\n \"981120244290970915791786131537298912585971638752803114926702875593186796405\": [\n \"12252937350793721647865772701986466771864609781259622739919258995417254075353\",\n \"3011592906923936605119001122250083290649538988079793322775426444372375987556\"\n ],\n \"4113354753589965447142981327653029090214468925572513494747218811687804514887\": [\n \"0\",\n \"981120244290970915791786131537298912585971638752803114926702875593186796405\"\n ],\n \"9511604095066667715045795237753299518629152480469473623856329667599963974939\": [\n \"20915063586677233174597149205717699347372587495305679009509446942708830171156\",\n \"4113354753589965447142981327653029090214468925572513494747218811687804514887\"\n ],\n \"14746530675357837312277426733685124681922662727372459205375227101952042335819\": [\n \"3082049330694385738212183820002116298891207842928736066200782373031267132147\",\n \"1\",\n \"1\"\n ],\n \"15030156472409304634443873869829561023225494967229127311059599693198424279710\": [\n \"11531937685358802401775911601309224509220549527254512912317642592092139552775\",\n \"1\",\n \"1\"\n ],\n \"9342052798126378041162266243688848859732819320742533680654593251479918579621\": [\n \"10992473547509148892050837664016015104148808017167525893984920543177876531362\",\n \"1\",\n \"1\"\n ],\n \"6454104574772351098847314435220326855659160470369543736438195033499572193698\": [\n \"21829426337432613264551927255058636812488469938948601957924752473038885363917\",\n \"1\",\n \"1\"\n ],\n \"5731813288009298668950342788153942891442854319576997262927710884757713031113\": [\n \"6454104574772351098847314435220326855659160470369543736438195033499572193698\",\n \"8834436328698762976317254055333529053702076109328847680156827381492636279584\"\n ],\n \"10928258567660703776012511609879085280983960971243612854570407189624890895361\": [\n \"0\",\n \"5731813288009298668950342788153942891442854319576997262927710884757713031113\"\n ],\n \"21210586131566956767354700613694046836852273516857558779254528084581671528999\": [\n \"10928258567660703776012511609879085280983960971243612854570407189624890895361\",\n \"0\"\n ],\n \"21270200686461542679926594706563615681075939317774104419130152420960458894163\": [\n \"21210586131566956767354700613694046836852273516857558779254528084581671528999\",\n \"0\"\n ],\n \"15427694152488166980576862139562605850872989570084211686045109470201123753995\": [\n \"6580530022150435682152990994531638298758014184978411735897632977127212663914\",\n \"1\",\n \"1\"\n ],\n \"19023999383265503120588996858404053366742504354437272433477603847624451682177\": [\n \"5390126124150445787107949112758919571093030969704741486969464139944847731041\",\n \"1\",\n \"1\"\n ],\n \"7260916257990027390207456840237528858502290501080365364923138084493597240440\": [\n \"6815784226040543708701286431996963430439598440663224006519636077433055944\",\n \"1\",\n \"1\"\n ],\n \"2253293988740358555612547987492488680648521139881772628204601243505156970299\": [\n \"6990815547809305024579088062888290627627519044875011436825777890821943683623\",\n \"1\",\n \"1\"\n ],\n \"19491283200584109041645099834072248244568273628704940144120682520136595979050\": [\n \"17318847280932388384671104403580236080837638373450584540137619360183632215770\",\n \"1\",\n \"1\"\n ],\n \"2547909341089062731334218885821358120778994985312107466101919563323012764752\": [\n \"11152067442647953928437602858609619254405247260926433693826636851638086277721\",\n \"19491283200584109041645099834072248244568273628704940144120682520136595979050\"\n ],\n \"6672117893541206854349824256204482437274841315958307090167943364843654530416\": [\n \"20357253885421805688394296409333719590177638599017337052929885425308464586678\",\n \"1\",\n \"1\"\n ],\n \"5991127915701755275112976827547908956844814578867688285746200610906031247038\": [\n \"6672117893541206854349824256204482437274841315958307090167943364843654530416\",\n \"5483174674368618708494478778335892589910404421728776209022219188617120727477\"\n ],\n \"6919369062652784597709000358030285027776622540006807720583429626719294412070\": [\n \"5991127915701755275112976827547908956844814578867688285746200610906031247038\",\n \"0\"\n ],\n \"19967468438152086693519913285528830237129111037768995156415350906296066218552\": [\n \"0\",\n \"6919369062652784597709000358030285027776622540006807720583429626719294412070\"\n ],\n \"11976456813764247065861130326852135680694097102030508142838531631026673734681\": [\n \"6120738316333653648085368792613838026270581606948717042454742809135831620420\",\n \"1\",\n \"1\"\n ],\n \"15313002674240869981848163967511127512611858614234709687599405659123016665342\": [\n \"88401331351224179581260056537415511020786000637459274902286855689361823104\",\n \"1\",\n \"1\"\n ],\n \"16961741969812812407389334769156898949457850105804328722587776879489519326276\": [\n \"15313002674240869981848163967511127512611858614234709687599405659123016665342\",\n \"7583246967794215112498123841601668507014538635089801446141825207606311129022\"\n ],\n \"14839114175801657842212621580080027299497151091085169367329037182712013604922\": [\n \"16961741969812812407389334769156898949457850105804328722587776879489519326276\",\n \"0\"\n ],\n \"13946734079412176402474626971354856764020116144969869423496946577130753610619\": [\n \"14839114175801657842212621580080027299497151091085169367329037182712013604922\",\n \"0\"\n ],\n \"21493055260508942109235562491402232818887859039770824965391668277278722847148\": [\n \"7398061686850098222750933816813494286506961267772773786217002005134683886164\",\n \"1\",\n \"1\"\n ],\n \"17603178485138518626196975144721515475566208532479339517286394928066672023570\": [\n \"3803454717843286864205987087629929722021366257690694968769506696742833311753\",\n \"1\",\n \"1\"\n ],\n \"14871381152015221108058509169766147800207048812319534970694386737689975771314\": [\n \"20932390057586596850617029091151537675589051882443279701866902042976489717257\",\n \"1\",\n \"1\"\n ],\n \"19596072457282116018679431353963138537875665397134523496012573729416640861287\": [\n \"15968010394753011872058300496276551085381896674174262253791769132087695319994\",\n \"14871381152015221108058509169766147800207048812319534970694386737689975771314\"\n ],\n \"21868590479116453254671635903820062055982771924254471701944832621935890753802\": [\n \"0\",\n \"19596072457282116018679431353963138537875665397134523496012573729416640861287\"\n ],\n \"17517249659774129644853663365383698667979095435928173350807993876661171028455\": [\n \"2356575336428886693505082410496165321776388812611133947654030612712172028432\",\n \"1\",\n \"1\"\n ],\n \"17215789923062309908582084707699993353120404215099913628139154205748318136043\": [\n \"17517249659774129644853663365383698667979095435928173350807993876661171028455\",\n \"15666589972796226676579103023130377642561151644160875829253379150750489708046\"\n ],\n \"7262681946617477361444067331448710924382595858543514467780106753555356516689\": [\n \"13903155197026168697799453413189562591194328618759519976068936363006945752904\",\n \"1\",\n \"1\"\n ],\n \"9115731670015971429511449297315840387364453909057238766244996777115077341135\": [\n \"7262681946617477361444067331448710924382595858543514467780106753555356516689\",\n \"3717439842715466445930778745204031180482604379165101699485656941949334833767\"\n ],\n \"973622329454457253338571761354076157906998160669879637458790271191706303086\": [\n \"21242688916821485953344542524448989508332435101417977831070994520049217593964\",\n \"1\",\n \"1\"\n ],\n \"12472148370544874956329724874922820670996536381159174528064883781874060593814\": [\n \"11093254246750728727743343456411604384053611224010769493253851262791669713761\",\n \"1\",\n \"1\"\n ],\n \"3309078452145429933191426502725051846945593382370424946828784129838349522452\": [\n \"12472148370544874956329724874922820670996536381159174528064883781874060593814\",\n \"9370653802329897227233920110773950207654903950387607700797481401747087408691\"\n ],\n \"10290025581472415045046290111414853687239372308130194473209487993346759157178\": [\n \"12045170166680295631753521116503832681648366226841884773750386571375523044117\",\n \"3309078452145429933191426502725051846945593382370424946828784129838349522452\"\n ],\n \"11809311341030279495971039814126141332368493470621288017754873451541929975544\": [\n \"6271572047973012126324657101524952676236540157327196353112237637109898592506\",\n \"1\",\n \"1\"\n ],\n \"3060064897123726490747536001440047964019836560963500018664028070786989083971\": [\n \"11809311341030279495971039814126141332368493470621288017754873451541929975544\",\n \"21439328406084040697240177262652250884891186760600755409324786799758422477404\"\n ],\n \"15519936773897940297849779537658245790261758738465568380120864856218511447056\": [\n \"3060064897123726490747536001440047964019836560963500018664028070786989083971\",\n \"0\"\n ],\n \"15510320916613230800427315741001402856152121601453997622959818726935012342033\": [\n \"15519936773897940297849779537658245790261758738465568380120864856218511447056\",\n \"0\"\n ],\n \"6031188683885853552670047035124857152947886159716563011399001391280615337722\": [\n \"20208386888838795262576897328019291702086657528474471566724145302813335001110\",\n \"1\",\n \"1\"\n ],\n \"21364224190189806057817037024047652775813457151242546657575494866816451636504\": [\n \"9536319222914710046815574777079175458416350099716021024541997415821674992866\",\n \"1\",\n \"1\"\n ],\n \"5374667038907196144457508901322193816109472050778632839492144609190391510099\": [\n \"9925767978749988070559344587932504431580943470752399629091093523645532192997\",\n \"1\",\n \"1\"\n ],\n \"13182146308616544275899786992483445577001396028560818824134381246121041891930\": [\n \"17300438837124388240546895169337916602654010650749102568256798350801919643867\",\n \"1\",\n \"1\"\n ],\n \"19528574058004383234878156165950931833175956363753639252434792928585688735738\": [\n \"4424861139677363648600179213911875371514173945142976510069562194160242377524\",\n \"1\",\n \"1\"\n ],\n \"4960192108197659690966187743272944348461563664972381700501260875718340960161\": [\n \"2482260126069806258825645161646073432738703633427021589489258067059094831086\",\n \"1\",\n \"1\"\n ],\n \"11837777087392561410317911728920689732423448741770852729295544138003770297600\": [\n \"19639291303936973383599952409506704122750827012126718672020858099409492650415\",\n \"4960192108197659690966187743272944348461563664972381700501260875718340960161\"\n ],\n \"1085733486580990459016880266361250109609726531811916139633962461145653078614\": [\n \"0\",\n \"11837777087392561410317911728920689732423448741770852729295544138003770297600\"\n ],\n \"8388564282603186724722988296464911692144933075138905109096458016630268564022\": [\n \"19476515562890159124285686776859952869453321714704920618283055558312910971158\",\n \"1\",\n \"1\"\n ],\n \"12783824561737478059236473327012897966840768878692717514402858898456480091347\": [\n \"17841867432534205732370578212660767570301057964697605994523452220090803455873\",\n \"1\",\n \"1\"\n ],\n \"18680128018629727354978675176237745063028472555568757448426909885832626594928\": [\n \"197081556597631815355251465524119162225380175739634458046058690566327003619\",\n \"1\",\n \"1\"\n ],\n \"6966538304099332090343081925852062561276129952519783838264147170116657877209\": [\n \"11168907327541816921180036915671575499536822167122806283673830232008363837937\",\n \"1\",\n \"1\"\n ],\n \"1489110867795050888611483384856730370744174845758456370197555257930598475220\": [\n \"5322154288107220183183384670792418643500659622881996613398550215845233229393\",\n \"1\",\n \"1\"\n ],\n \"877395579868233492068440103268825328793004271341582669803129402876469826420\": [\n \"5301896024001810709433651065818534730667407977942829748625307573356012907094\",\n \"1489110867795050888611483384856730370744174845758456370197555257930598475220\"\n ],\n \"1279967373006941072593662522716749429399229166814345399844676205376970933567\": [\n \"11320359901120104702884163374709238396243034760385794644576667408428395401231\",\n \"877395579868233492068440103268825328793004271341582669803129402876469826420\"\n ],\n \"1028333319671311389121224144764978694237310505077021800563146848166279650028\": [\n \"11921334813533879971047046913195924703558961451939556294762434627008875225002\",\n \"1279967373006941072593662522716749429399229166814345399844676205376970933567\"\n ],\n \"14523814902742982198557140045479668285508362590602521272039970519945541460151\": [\n \"0\",\n \"1028333319671311389121224144764978694237310505077021800563146848166279650028\"\n ],\n \"8692310129042956757433328997341388887533922270181054530675063244051538850681\": [\n \"3143433627703600934361494535262424261095187608274031616110003115836806452329\",\n \"1\",\n \"1\"\n ],\n \"20647903513333719445987123371638331021895177503784148014471364206501855712295\": [\n \"9815183219734708882995435872793699503543106901687386065010647230366222844888\",\n \"1\",\n \"1\"\n ],\n \"8474612549199955585236536582129129722083637207073195653996012052086776330763\": [\n \"11737800055196566105243563906335669273466319282668519018587143247063310334515\",\n \"1\",\n \"1\"\n ],\n \"21040331546826788993361772897590227533363906784710878921528463883176018853789\": [\n \"9357560103830837376110966067552184982292734562458919402530994605769562449680\",\n \"8474612549199955585236536582129129722083637207073195653996012052086776330763\"\n ],\n \"6250831231627200082969103903494086846929653456880822600692035037461503938473\": [\n \"10034618889301672578096097641891272389861134313243865345601683186730599413581\",\n \"1\",\n \"1\"\n ],\n \"2378568068998648151038627734077488150350452538855232183037428292614936118091\": [\n \"2922107916521451836083646250535323787211032496621543996439982791573553667575\",\n \"1\",\n \"1\"\n ],\n \"1035088886206217060187151910384576700048427648978945402016084987348513474000\": [\n \"7847811954808621338441553137632089107404163828596825293665296024887278895366\",\n \"1\",\n \"1\"\n ],\n \"17030235560996136170521118340285379047515812942468726427793504838676632418005\": [\n \"9491177058614861185804980514492173527212474515788742545220247655464703023582\",\n \"1\",\n \"1\"\n ],\n \"2862468143287005101476260167509381015141784105709914071175698909432448212534\": [\n \"17439841670416005438912818539298256951187985050564256473940264821177659509018\",\n \"17030235560996136170521118340285379047515812942468726427793504838676632418005\"\n ],\n \"19242015462102406231705315468830674397437785576252816442170334933558413807748\": [\n \"15555660414024652943908598144276223219467308393714984040579862908725649703258\",\n \"1\",\n \"1\"\n ],\n \"17713645694903465759899353991411820406503794849973193304123332453875745290302\": [\n \"10464943464427193930076208465531286308049197213749210231190061325278631417270\",\n \"1\",\n \"1\"\n ],\n \"17768800228536039068824094611437803035380228170826565083430955405421970154826\": [\n \"5706802816518477592594401014548137655692525018729331930837255302522781262455\",\n \"1\",\n \"1\"\n ],\n \"12802537329514494206212016866908420660519013832541086730262320900616465595959\": [\n \"926263446713493595691563465013464408810547132332660820324395655770750751013\",\n \"1\",\n \"1\"\n ],\n \"5865076690378817765450337353384645191585653570579079723079109799212956975265\": [\n \"14098468621380657261938425388665492104571489445566596730979488830021114070491\",\n \"1\",\n \"1\"\n ],\n \"8983851619304057666729577541121504178182359934573559429006346270723484011807\": [\n \"5865076690378817765450337353384645191585653570579079723079109799212956975265\",\n \"11065923534080062754187137135005689396879304563821573212845474805994937410105\"\n ],\n \"10521418892145885076624410078354830927525565456152518074405598994538167648485\": [\n \"12843935612493301442249441368774863285907749473537618113555679099232419004982\",\n \"1\",\n \"1\"\n ],\n \"14090862591563480816221495673688744489169923444723725192343621116122200811456\": [\n \"10907347093295174679663366200739733599482940341024621234675141734759130344000\",\n \"1\",\n \"1\"\n ],\n \"14359074975256941259198108461623785575763074021889406391580535426000668864338\": [\n \"3863241237276905227950457903046221673678748287339770061600065505465626187994\",\n \"14090862591563480816221495673688744489169923444723725192343621116122200811456\"\n ],\n \"4408085974612037513015966034126661946688150112869318638977277112141947505489\": [\n \"14359074975256941259198108461623785575763074021889406391580535426000668864338\",\n \"196055101495858029654013554991949220490900352906418212949813793464194449893\"\n ],\n \"6535977412485060353536392760127562772966518145603907224681817879107427810423\": [\n \"0\",\n \"4408085974612037513015966034126661946688150112869318638977277112141947505489\"\n ],\n \"2069310506179868465436514401104485638653295408689755164942839060061776796491\": [\n \"21019538076814586006179452986768800846019534162475621511811130581153423107840\",\n \"1\",\n \"1\"\n ],\n \"8410782327546919201091257187991166926471726326081889430780323518308616065600\": [\n \"13680337114974876549939818768760242922404809744270467265920542785772748688725\",\n \"1\",\n \"1\"\n ],\n \"14994727231802250362422077101904415773168359017436942688091341193404953481608\": [\n \"13900478943226021926546278566755781040909977091684205770517700519051120789693\",\n \"1\",\n \"1\"\n ],\n \"14710815192258572387326319200104913558894147511759968562342508633338741485542\": [\n \"14994727231802250362422077101904415773168359017436942688091341193404953481608\",\n \"19565456300273173932655130515333529483861709425477956155097208636610619242044\"\n ],\n \"11102336695977130710528332870212176022454778857756701983110154793846509718672\": [\n \"6892028133759615749077907506081722667094134802548301318681687538646975584794\",\n \"14710815192258572387326319200104913558894147511759968562342508633338741485542\"\n ],\n \"9682704850539239771751501456610622292587123556509893969468785609192403672947\": [\n \"2217176438652622361334112645662651607451147371903620652967806067650575312459\",\n \"1\",\n \"1\"\n ],\n \"4080030380247949201156893914051208504937427671547102595262995690014863027285\": [\n \"4199984530316615362679980827023976873027728661631849886406722465340704795121\",\n \"1\",\n \"1\"\n ],\n \"16524892779402243412293256453697996185434853190907372404119527624116132334814\": [\n \"4080030380247949201156893914051208504937427671547102595262995690014863027285\",\n \"9623274170518832554490414696572368171850305534816003133245191865956435174842\"\n ],\n \"14968291778022692340272696526878968761119793944315884518531107274690743717747\": [\n \"6966538304099332090343081925852062561276129952519783838264147170116657877209\",\n \"16524892779402243412293256453697996185434853190907372404119527624116132334814\"\n ],\n \"10159952649850474298904427787554625239184563322624926926614316755472212431700\": [\n \"14968291778022692340272696526878968761119793944315884518531107274690743717747\",\n \"0\"\n ],\n \"20432693038885047909503491502972792945658316683174963387239852176785312513667\": [\n \"13994990525614746662281373363751112482295561613162890279016881654869523894827\",\n \"1\",\n \"1\"\n ],\n \"10963052728631151621952907535066888694519540303324703202818525887818863535302\": [\n \"15592240093240753081716064548887935938225650430806532565837133692157026390674\",\n \"1\",\n \"1\"\n ],\n \"11430967654012615562676121244024101546177723052903236574853128484947106424842\": [\n \"20462956379580726288392007962897742332362042044855812379665795850851477288699\",\n \"1\",\n \"1\"\n ],\n \"1324198839036894925848248031618589913771805079458209246695968854826319450189\": [\n \"2453110782713181266949405826273093227748459052346024019647270027493624749567\",\n \"11430967654012615562676121244024101546177723052903236574853128484947106424842\"\n ],\n \"14908529249085267847429166151523350021711473619896915676987375119205412893295\": [\n \"5375093851813914770222618956083699420097287917854923917161460744959463953287\",\n \"1324198839036894925848248031618589913771805079458209246695968854826319450189\"\n ],\n \"2344310498098870972358738138089233844174497938412514494453340539532337751719\": [\n \"14908529249085267847429166151523350021711473619896915676987375119205412893295\",\n \"0\"\n ],\n \"12721654932686064349393042071430485548008722266882417732349087161621810790581\": [\n \"2806438069564609007382594084860183965104335202456881981031125154387560655077\",\n \"1\",\n \"1\"\n ],\n \"9565729973865250693924572208458252754873321606602396453632686875507800836352\": [\n \"13505947338206844289929737745006996528303118062612045064929380263700401452187\",\n \"1\",\n \"1\"\n ],\n \"21126624765217953029922115553310240946329177511567460121853391346592071836822\": [\n \"10560893841920050130460794986603675623683683371506678966689218143386195996852\",\n \"1\",\n \"1\"\n ],\n \"6969823164354806056556239574102750399126345474203773514514892069998772105972\": [\n \"21252218519154082393120653440308825967556753292171914553782503294720141964447\",\n \"1\",\n \"1\"\n ],\n \"15671837721583203247784266077024518351881427227725602101478531689483496482572\": [\n \"6969823164354806056556239574102750399126345474203773514514892069998772105972\",\n \"11774486523666556642775395844799710354430140714651817489925238378840068221564\"\n ],\n \"12221112450979547446800376214965636482421548692190077659583399057580531900193\": [\n \"6351595713613441782793793209948954405910043656250275666816796780476630577107\",\n \"1\",\n \"1\"\n ],\n \"2024744970778095333982790657403319624022925342086396831538116932329500882080\": [\n \"12221112450979547446800376214965636482421548692190077659583399057580531900193\",\n \"17520554449990252555088487879661382994075110261983787593440836183373043459820\"\n ],\n \"16759010862246049420700316884032800011543881257852650965888004544683055579598\": [\n \"2024744970778095333982790657403319624022925342086396831538116932329500882080\",\n \"0\"\n ],\n \"7242123698274801975764221775963128373418894886442489906864680069406671362456\": [\n \"16759010862246049420700316884032800011543881257852650965888004544683055579598\",\n \"0\"\n ],\n \"6425125066210612271035114675748602449172982692158945685736913439398814431787\": [\n \"6641167827903974447734536011134225834018803508415200240526624485621877487594\",\n \"7242123698274801975764221775963128373418894886442489906864680069406671362456\"\n ],\n \"10713383181989870944045286940737443033969683517409279760060260734331766222881\": [\n \"14179362396400552550341254821834126186639985955772915553024440982700494656292\",\n \"1\",\n \"1\"\n ],\n \"20285216029334845753198449896944607261092411534595206016916783796987018187811\": [\n \"10713383181989870944045286940737443033969683517409279760060260734331766222881\",\n \"18107552145808469864469795045443510190640504941118585089757274795148834033193\"\n ],\n \"20457175909728737680121608407446489505491318334588851792658217725892342670966\": [\n \"21817425467502351479545624094634096686932372566915815902710416165977789909973\",\n \"1\",\n \"1\"\n ],\n \"18857970704141578791402099903185503051828866238669743616149294477908520856567\": [\n \"20457175909728737680121608407446489505491318334588851792658217725892342670966\",\n \"16401766418464529422739597673616873996530302254697468539439481080547935853371\"\n ],\n \"5749207555743561721887114886582514871918090284448442472838340335404131260404\": [\n \"0\",\n \"18857970704141578791402099903185503051828866238669743616149294477908520856567\"\n ],\n \"15292157739426385500471826303616617319499488482633327959562866152807675087161\": [\n \"5749207555743561721887114886582514871918090284448442472838340335404131260404\",\n \"0\"\n ],\n \"1565978373839548584608914575932266685130713658049474282967872815421433605927\": [\n \"15292157739426385500471826303616617319499488482633327959562866152807675087161\",\n \"0\"\n ],\n \"2584955011961751688275680427402524780140800434211280901587048051394973480561\": [\n \"18543510584235161346392900961718557192285530238830445135729470929933296453028\",\n \"1\",\n \"1\"\n ],\n \"3481892361712483101922982211869030396206530330198859089760008316791277478900\": [\n \"16139014187765342695114997416301757973089025965186833461874189661169591900319\",\n \"2584955011961751688275680427402524780140800434211280901587048051394973480561\"\n ],\n \"12982132914583934583405243489272371884800665724074337499251990391242571855899\": [\n \"12920496897178416881226836586390230328746351511150903228701751898317852342162\",\n \"1\",\n \"1\"\n ],\n \"17492869866692518060905845494566660631396506099409111468434366090151257607967\": [\n \"9181030686471814102374145026916017597706479735195491426606489178204721323801\",\n \"1\",\n \"1\"\n ],\n \"5434991353290452337371977993332156198858641637772944888830591486024289073079\": [\n \"15953733067935776263095735708465993432152133366364547674735737115014112513555\",\n \"1\",\n \"1\"\n ],\n \"19250607508045439896650982307133902496163466038327362117701044902993344937948\": [\n \"6062693004933426391444761380278889001559187667987160461415287745840653355405\",\n \"1\",\n \"1\"\n ],\n \"8704046822799874791695544128662794356713866459076705388138392709155503779619\": [\n \"10206246553821714489439695734211534683607436728666332941336443072616158636989\",\n \"1\",\n \"1\"\n ],\n \"18684500199320765483843510728971050146650251309368392132365098049762555913007\": [\n \"10192674252166868042611032995504223055158476285306612160490918488072307731981\",\n \"1\",\n \"1\"\n ],\n \"10880219606064339654418424633244384529872051047077883515505834403369874435273\": [\n \"2388815474557317679751812156968566726445001056065020503817566279430231683074\",\n \"1\",\n \"1\"\n ],\n \"13308789992623206389782135551381014624079335993386094798129007709786295312456\": [\n \"17290441499045184362082719945272742776146979601469432447883640655769997576601\",\n \"10880219606064339654418424633244384529872051047077883515505834403369874435273\"\n ],\n \"21174050564625059230980295976049109466776396318202531106378316385121656528097\": [\n \"0\",\n \"13308789992623206389782135551381014624079335993386094798129007709786295312456\"\n ],\n \"12674273581304101780443619340770086474056583360679864053110624417940091984494\": [\n \"0\",\n \"21174050564625059230980295976049109466776396318202531106378316385121656528097\"\n ],\n \"328253810132371378076638443440073514523079440389384197845172324107292249592\": [\n \"0\",\n \"12674273581304101780443619340770086474056583360679864053110624417940091984494\"\n ],\n \"6662954203326636541999363917623228287913486240884843970441223991582969644847\": [\n \"0\",\n \"328253810132371378076638443440073514523079440389384197845172324107292249592\"\n ],\n \"1716099581838906907237123328570324653528086136322165354732705231555345216984\": [\n \"16228024523945074093156193777006407709358826196753049266168991784671786548953\",\n \"1\",\n \"1\"\n ],\n \"7725947278205418610444306222062502451667177903929292300726475665137012100486\": [\n \"14603864253726497194406592530874935007893748195932368829818964367034487993954\",\n \"1\",\n \"1\"\n ],\n \"15336659113446772563061032204913240358389044249648587811472330387575376763629\": [\n \"12766320830453734743951109138626333759457559520063751043288249132282578885200\",\n \"7725947278205418610444306222062502451667177903929292300726475665137012100486\"\n ],\n \"12333739513127457715462698214006213419515001140364536197273648279059565820354\": [\n \"19528600850811188079037999829668504497174381646668250156217085390446112537408\",\n \"15336659113446772563061032204913240358389044249648587811472330387575376763629\"\n ],\n \"11304160038228347454316684116223139551067792699559856699304256159423092509512\": [\n \"12333739513127457715462698214006213419515001140364536197273648279059565820354\",\n \"0\"\n ],\n \"15902507691018425563742081941664389417182993111354816267324351431605345438033\": [\n \"10320457659883819196847263367825801571436864725926817764387622168512709569729\",\n \"1\",\n \"1\"\n ],\n \"19675833297782363535462898806447103902379843922905356051607979413627763801512\": [\n \"15902507691018425563742081941664389417182993111354816267324351431605345438033\",\n \"10532591113050998317175630790406676396732326874567479068144218126683477528971\"\n ],\n \"1801302518444383527766235441957527392020592053712712654003925352637955881096\": [\n \"6433032907517029057182103217647985937208387207804653163462102698353316321726\",\n \"1\",\n \"1\"\n ],\n \"2518243780052747405714626707685330750915885769253909940546128222629276029857\": [\n \"1801302518444383527766235441957527392020592053712712654003925352637955881096\",\n \"1588023733434298896599374786887201748393412335766826817687666051944629178384\"\n ],\n \"18309012525397536884699122052781470853189643685014575329732468644352715925241\": [\n \"16960005802936976954482477576311750835284488589336783610718146900087430225451\",\n \"1\",\n \"1\"\n ],\n \"5907198946766195699255286874180990422453143705339277911422187270297780451593\": [\n \"18309012525397536884699122052781470853189643685014575329732468644352715925241\",\n \"12877571119059462809782843726956294592003725910948427272670425511759848819565\"\n ],\n \"9512380905212709886399466330347560492885533119308726214238886639436434216252\": [\n \"0\",\n \"5907198946766195699255286874180990422453143705339277911422187270297780451593\"\n ],\n \"81998773217836682817395828147966920968470978212577082120863212575244652178\": [\n \"17716142151028651333491021269238885378805960463834571998327196550983019087710\",\n \"1\",\n \"1\"\n ],\n \"13060556619513403251326507061229761596533206166769578344358647425700109813864\": [\n \"7808561610466736528849078446474190101952521888569340751511102527972786260152\",\n \"1\",\n \"1\"\n ],\n \"19137857833325522149421768837618763185553600274358326423015950587623579655467\": [\n \"21021532678425097406636153978517672667727506107149460188065918779943626316852\",\n \"1\",\n \"1\"\n ],\n \"13660259810325405027920462863209986428060123639433505713219247614218432849901\": [\n \"17074762920359259251293189683900999064814576727794930691107478731972750555388\",\n \"19137857833325522149421768837618763185553600274358326423015950587623579655467\"\n ],\n \"13105413203966980179040100505507620462916570770352599448281848638191459193608\": [\n \"8972927877579433013911273252340679124476120819884240623910580561684707212848\",\n \"1\",\n \"1\"\n ],\n \"18994291252910610986077388219256912770814345167916357627386580719025213708434\": [\n \"18084840000276664152657845801713285508439521783975143850153872131918318412986\",\n \"1\",\n \"1\"\n ],\n \"20807412745708467309958291306761320208719240477926506318919278054152079611699\": [\n \"16460445053089193850424353145873492928517300574655192080497883378998630625255\",\n \"1\",\n \"1\"\n ],\n \"231358723913855113629097696270261515107295069160870054264567039827815155024\": [\n \"20807412745708467309958291306761320208719240477926506318919278054152079611699\",\n \"17478067932600588992269424509571120763163338251467252668274051422459273222118\"\n ],\n \"5768511769601764497452445487576826999291159524563664104905756182273508146336\": [\n \"13496736842787755143534760093113937089371431925415102239246749471919976159847\",\n \"231358723913855113629097696270261515107295069160870054264567039827815155024\"\n ],\n \"17919963890230067505089116242845086129878925898528273640170108990458234524784\": [\n \"20234923815330587919950744570505682298896639195727008356597745539080799599194\",\n \"5768511769601764497452445487576826999291159524563664104905756182273508146336\"\n ],\n \"16601865395973129592766133285167980932802238111142792962962315722400342580993\": [\n \"5341808562350491720567717486567137952995055620038035979219625887602588323152\",\n \"1\",\n \"1\"\n ],\n \"7661585360980185721713702052114052705542892286738306667549599970621909957128\": [\n \"14259468093273324842463852541220689556761730969126539492772935980121917756222\",\n \"1\",\n \"1\"\n ],\n \"15377824168921278343742718857083706785445020593740842196829106365386220636167\": [\n \"2353962956934116515939272859983903336819193334812651006216360194506896889900\",\n \"1\",\n \"1\"\n ],\n \"21449761314557601047418543402243932431146229746071007141016470288672792310219\": [\n \"18837557101439206165383380266840265055648036944899927071691796342095990836744\",\n \"1\",\n \"1\"\n ],\n \"4824688762718380864754731826252435516588120086408918164695871694249765985971\": [\n \"21449761314557601047418543402243932431146229746071007141016470288672792310219\",\n \"13152443661578286088113657795584238808211746657369607788025912905352012662083\"\n ],\n \"972893275162672373585791930384266704493529043888618976467077844277103590656\": [\n \"4824688762718380864754731826252435516588120086408918164695871694249765985971\",\n \"0\"\n ],\n \"1136703693031399762909559231991100910782912057430864749207961546497043149585\": [\n \"8950342641062859273730213545349922359883702157465900873358740126454489722017\",\n \"1\",\n \"1\"\n ],\n \"10998335586523195544696158890777781116282477515141190070120920492359204097394\": [\n \"14188336313027483155259411293592005546120620374429883941904836057488264669306\",\n \"1\",\n \"1\"\n ],\n \"17180871293601817608487997185038931965357386542972238046251508353772525164960\": [\n \"7131688795448665592198227256741018742049284072889264049435076142893103790509\",\n \"10998335586523195544696158890777781116282477515141190070120920492359204097394\"\n ],\n \"422348098952553518530168804502899994435038846145535417790344362956529330166\": [\n \"20986591398391617664255409933996141359173094885007864686977513023042395974366\",\n \"1\",\n \"1\"\n ],\n \"4317671953579466181423734753294313470286226046703567839235317606401377763708\": [\n \"21519205338099884946270895974190573804037800823977290757102287337179175834837\",\n \"422348098952553518530168804502899994435038846145535417790344362956529330166\"\n ],\n \"13775400959694119010991790415394992935245072469719826879235968507836109235335\": [\n \"7213273861247815530098497932027120727893771160834173457727481850312657121581\",\n \"1\",\n \"1\"\n ],\n \"11346803224640181159507016600337933707421750420875008866842184868663865683122\": [\n \"12141580663508507505703254175231231442235854047541281544463308513133709809345\",\n \"1\",\n \"1\"\n ],\n \"11690563645817004937761905718996202394270272376804824774312406854234498071422\": [\n \"11346803224640181159507016600337933707421750420875008866842184868663865683122\",\n \"16526465514725983902781782135812618687007338784962304506333362176752328248577\"\n ],\n \"10212830037087726537699281895468334792517338189123319208962856303921413581592\": [\n \"17407143678864623892136178808852479788853877988362488365235753141483145297862\",\n \"11690563645817004937761905718996202394270272376804824774312406854234498071422\"\n ],\n \"13094506596162635361677980810319092015996739222896518393543526044783200151106\": [\n \"13491544015971576391657609309801748759169117377897656026082460391719839717980\",\n \"1\",\n \"1\"\n ],\n \"14987429239102784966405142502923588921902415723160474334730964824641184150913\": [\n \"8314383633400549054256097569590429037705704207381663513335621152591193264200\",\n \"1\",\n \"1\"\n ],\n \"16169813712765542828989980029199923669662645683286004539850762518470947765862\": [\n \"14987429239102784966405142502923588921902415723160474334730964824641184150913\",\n \"11515426535895878648538785563722933282566991114846485257527039679436235294689\"\n ],\n \"2361398070158330510154048302095416309520679021657931911970297307303851075328\": [\n \"0\",\n \"16169813712765542828989980029199923669662645683286004539850762518470947765862\"\n ],\n \"9453348684545832067097850064507627965475268695619976987744260301779807919771\": [\n \"2361398070158330510154048302095416309520679021657931911970297307303851075328\",\n \"18264272722400837725470763216499648822067825266918825731395795707769746081735\"\n ],\n \"14188031769450277900812770747906918394541977559416714536707821784380889457219\": [\n \"3920844861281998628041345547965274324309906660367260027155322927257101361397\",\n \"1\",\n \"1\"\n ],\n \"21011563322818599050850876432914394862606460744877436339976626680239739934946\": [\n \"14188031769450277900812770747906918394541977559416714536707821784380889457219\",\n \"13776958852645018298950704006463936843421499855345572170468698216343633740774\"\n ],\n \"4273552507969505471599430826845244315627874997818070756595132700453505019619\": [\n \"21011563322818599050850876432914394862606460744877436339976626680239739934946\",\n \"8640700095672983522864411832367729752145538059222423178576470786867943661849\"\n ],\n \"8799107833522033020429459861628500050294625908601365670795919208139640749283\": [\n \"4273552507969505471599430826845244315627874997818070756595132700453505019619\",\n \"8188492340709833390176194932348110223106778909441981287732060851119654860412\"\n ],\n \"18237398872838723080130536894620556358543716272544313254163411520048453897615\": [\n \"19316248247680664848884823763996314478520348770723660458147669998129339834273\",\n \"1\",\n \"1\"\n ],\n \"8038427677375272892642793319194345043810888673503339382064373195579311381428\": [\n \"11174931543283907835349222884943123843611981283240797821688783434346185195040\",\n \"18237398872838723080130536894620556358543716272544313254163411520048453897615\"\n ],\n \"18473923227530032490940148485302987447745643985149610072190724470767105673170\": [\n \"0\",\n \"8038427677375272892642793319194345043810888673503339382064373195579311381428\"\n ],\n \"17496402388448628467149094388792190908995326140685670694979809687797688053844\": [\n \"11103014968476315448037413711690229220320590635372908544726653890845988509017\",\n \"1\",\n \"1\"\n ],\n \"7838240680622945482037822798640768549991520263568634097744058589075397072249\": [\n \"17496402388448628467149094388792190908995326140685670694979809687797688053844\",\n \"1477575208487613555237889408458730255713887650965137992480089413120427768184\"\n ],\n \"17078988591807261351579744979765167084907846069830685142974175056266317744834\": [\n \"0\",\n \"7838240680622945482037822798640768549991520263568634097744058589075397072249\"\n ],\n \"3424763481237561149855840264273815579040043220143647454445321827424812683704\": [\n \"17078988591807261351579744979765167084907846069830685142974175056266317744834\",\n \"0\"\n ],\n \"16535773667897077195932928607505314979922976040560405987994220731271020900477\": [\n \"0\",\n \"3424763481237561149855840264273815579040043220143647454445321827424812683704\"\n ],\n \"18777781329127756663450517733982703906210105643966459577806649609247844053375\": [\n \"14353109885214771919502938683759956993125815622140358409718107229324378079013\",\n \"1\",\n \"1\"\n ],\n \"3397035580642080620190220090520202851801003208765153959665250266037582907513\": [\n \"5190487734550615931298905242305194729785816493130582496724513823956903846117\",\n \"18777781329127756663450517733982703906210105643966459577806649609247844053375\"\n ],\n \"21829995185949276710719921288843210623646649789382708875212574335481328104129\": [\n \"10139896609102446080778393552083771862475919884094867029462653652198554607330\",\n \"1\",\n \"1\"\n ],\n \"13994499520679582376236371659917704922327245852253571990416405589106155683733\": [\n \"1683586019795871729142152731802504860556735738550690999483730607501879570100\",\n \"1\",\n \"1\"\n ],\n \"1737093652770894281870755703059973393343607960417506448420742097445057049420\": [\n \"7426438150925186353736952345531762422642456914852280935999871104370251166978\",\n \"1\",\n \"1\"\n ],\n \"8285121920604226826363560696743648145014830677458314865345169280443842940681\": [\n \"9212157376010055842405548810797847317064128757136763585085690325746486280633\",\n \"1737093652770894281870755703059973393343607960417506448420742097445057049420\"\n ],\n \"19006249598803097406749614326220906148694385784600944207277028903206281365935\": [\n \"0\",\n \"8285121920604226826363560696743648145014830677458314865345169280443842940681\"\n ],\n \"175130556764874376903471679796261440213566359824187250007782350276051778698\": [\n \"413280874545354407671541354697430956839815191262934484120501237368347745866\",\n \"19006249598803097406749614326220906148694385784600944207277028903206281365935\"\n ],\n \"15821563362315439694711299506444855875737383453130615668740745411825545227261\": [\n \"175130556764874376903471679796261440213566359824187250007782350276051778698\",\n \"14855772113919498841871764534622204593500482611759132084985817414341031725051\"\n ],\n \"10147863661706738841929172765010900948888130797043730809274441649520594600800\": [\n \"326076888696590891616436381276492969864993080701871319218995499658636149370\",\n \"1\",\n \"1\"\n ],\n \"2961405005449051086619888178791671341225700037853670047637050884043788425787\": [\n \"14579019440425494792086765852690185936246150475423133659585709684690407175073\",\n \"1\",\n \"1\"\n ],\n \"9839176744766293893203738329566852801785488063543555066896561445820337721867\": [\n \"18340052440081999949616666153207629636927695903989701772140389983729621924163\",\n \"1\",\n \"1\"\n ],\n \"1515900073576134377593082748429985331364415662212096932995554485691395527537\": [\n \"5712813665042754204305358717679939315690239638930774949753752058626516017987\",\n \"1\",\n \"1\"\n ],\n \"5571922893823525074613444693966109374650466454572636836147420232183810168800\": [\n \"12522279817112425415123411195823961297346846477710416155041127857211639850900\",\n \"1\",\n \"1\"\n ],\n \"15958136387593369127783595721789627836997198328874802519047404076675708847884\": [\n \"16411652251674092299908485421944891443791686486992641692699005515084861053254\",\n \"1\",\n \"1\"\n ],\n \"21756318996155738357427779564720455192304507669660758480892203536364036533032\": [\n \"6858115071369808331701216576588528478505958412127988598931354016698005677010\",\n \"15958136387593369127783595721789627836997198328874802519047404076675708847884\"\n ],\n \"691767527345606475862915998238704862184814533906569641693441318532531292493\": [\n \"21756318996155738357427779564720455192304507669660758480892203536364036533032\",\n \"0\"\n ],\n \"14198281465020415898049921045760711496793404651462639902614016041655660290633\": [\n \"691767527345606475862915998238704862184814533906569641693441318532531292493\",\n \"0\"\n ],\n \"12417815498348258683040928620639213028071091528493844080928920510588099646100\": [\n \"0\",\n \"14198281465020415898049921045760711496793404651462639902614016041655660290633\"\n ],\n \"17043602685826966777155839189813373608759189077528021460772089213376236768377\": [\n \"6829742692707264737650948220726707665624959413054863622902824327268363943036\",\n \"1\",\n \"1\"\n ],\n \"21438578944204033180153691269761527542646100756396630420557563517569567641190\": [\n \"11742931375073284739113326421315061158219749769548736070751828462518087752328\",\n \"17043602685826966777155839189813373608759189077528021460772089213376236768377\"\n ],\n \"19054557349784579540458734389071305946670432603676216229849134848580456402236\": [\n \"5925056746504273113096268556583024892200977144724459776822637420796564013460\",\n \"21438578944204033180153691269761527542646100756396630420557563517569567641190\"\n ],\n \"21167329569142682360403726153972015291299579833824149342379776314328370691163\": [\n \"0\",\n \"19054557349784579540458734389071305946670432603676216229849134848580456402236\"\n ],\n \"13418534111298669672867438238910004009369344448588562443441764659273887612813\": [\n \"13628660718771658169348603196104982616578974166240878465436576349385479237468\",\n \"1\",\n \"1\"\n ],\n \"1275743567862187782487772578163101770685086778809099749596916440439949574122\": [\n \"13418534111298669672867438238910004009369344448588562443441764659273887612813\",\n \"8291071945871919355899299577429548672208569612938364218695302541308927240986\"\n ],\n \"13866845896456619998341927767089919115596291143628113348038854545291324083051\": [\n \"0\",\n \"1275743567862187782487772578163101770685086778809099749596916440439949574122\"\n ],\n \"12574800809823817477701648371996640195064283567814665933149645738177627277489\": [\n \"13866845896456619998341927767089919115596291143628113348038854545291324083051\",\n \"0\"\n ],\n \"7630835511845087199586581364898941666695878854457249358829704834940068373668\": [\n \"12574800809823817477701648371996640195064283567814665933149645738177627277489\",\n \"0\"\n ],\n \"14282450265357905118050988514038060984989876409723514701708520909291936064865\": [\n \"17406704878944448393274036473132033375940802930699535406456869426002352415408\",\n \"7630835511845087199586581364898941666695878854457249358829704834940068373668\"\n ],\n \"2322552305530350134294677956314816266363282079721969867466350401756127340249\": [\n \"14282450265357905118050988514038060984989876409723514701708520909291936064865\",\n \"0\"\n ],\n \"7151600676207631716260670597024023790314779337098943808425473220669117352294\": [\n \"17628143164999226048466081330724102468623794994762833278433412963655945734553\",\n \"1\",\n \"1\"\n ],\n \"20693364600896908843289409748203328464316340290110476204695139173786033007504\": [\n \"19276990216403742833263387609911429647579787493299011604235647077749041300348\",\n \"1\",\n \"1\"\n ],\n \"12945121160520891124229903020729742177225605830431195258033501256584424380092\": [\n \"20618147088198085708936477918640786615886185024835093462377629552720392741216\",\n \"1\",\n \"1\"\n ],\n \"16125053758503306388666893308461312636674657570976956887011388734312476419144\": [\n \"7856145013513208118907113500862672391740496984019472180527135047027747619203\",\n \"12945121160520891124229903020729742177225605830431195258033501256584424380092\"\n ],\n \"17486665582095580340309777599476832039494804346815282389010485939089212397035\": [\n \"8334449264161701750210217412952854128800687816847830136581248683190262393330\",\n \"1\",\n \"1\"\n ],\n \"14727460697230980910209493167407104983561056276533183758149989974074694031324\": [\n \"807163744430251562162114119808713236013544923455746445347625607610383171766\",\n \"1\",\n \"1\"\n ],\n \"7675275227370513539179137973942600558198861609335668166366774576359680381293\": [\n \"15461864371689516618741028097965636085481304932787024597285957580642201708144\",\n \"1\",\n \"1\"\n ],\n \"10763045657125103346094293633963721083267201800000007584968121490390249711024\": [\n \"925040263725218299501331306362756795667872465684476438688745601004408869774\",\n \"1\",\n \"1\"\n ],\n \"6910260165735290117158333527754910254944049172285582382445413122804307064501\": [\n \"17188436475015626020884406691168168346278202715533364636418357539058854785677\",\n \"10763045657125103346094293633963721083267201800000007584968121490390249711024\"\n ],\n \"9857954932913925857104947653384868893012563882526678028819444115403858019826\": [\n \"21244658328699684996110036363788794914793154106335421955180473149199456857552\",\n \"1\",\n \"1\"\n ],\n \"16800508724657169782319193261153269868317342082550248282181938154958868026530\": [\n \"5812101296069617937034702627811443975189434119281382102065454051227115531703\",\n \"1\",\n \"1\"\n ],\n \"2869235115720801515094192192067286431703134906952262737447211009886507427645\": [\n \"1763647738506271050777026779051848131094660002721755650658377195391162486844\",\n \"1\",\n \"1\"\n ],\n \"10706578470826626685751022446208801901008908146661883245828504952940956288092\": [\n \"2869235115720801515094192192067286431703134906952262737447211009886507427645\",\n \"3796744093384967306682474491453208587706083413336422342072905436561765327483\"\n ],\n \"16581878356030505266835512745535425986904828523142663507186868727077967401675\": [\n \"10706578470826626685751022446208801901008908146661883245828504952940956288092\",\n \"0\"\n ],\n \"13403118364305194973924914637666176497501723976372200553262884038632847068919\": [\n \"18394972283307695137303427210685246460817280055508800241182973931097469591501\",\n \"16581878356030505266835512745535425986904828523142663507186868727077967401675\"\n ],\n \"11046853770324558023696499671639867292118652031961188935928555693717705260492\": [\n \"13403118364305194973924914637666176497501723976372200553262884038632847068919\",\n \"19611908749466788871212169571145954667030972260081829802679252197618502121735\"\n ],\n \"18814189167234695954658673684303619264040225519504917404190424799581884277436\": [\n \"710677570399417050686420097892644438055899916092498447800608363147933546290\",\n \"1\",\n \"1\"\n ],\n \"519778887589135427948234626669824599000393293196182973638092302432044894996\": [\n \"3607725880998562307321590903700277898821880536765157335035863032555116929081\",\n \"1\",\n \"1\"\n ],\n \"15326798084842384536401365240178402897699817856629089373254706732842792167513\": [\n \"19487244979340121351645717208305713215268090963196436792739523169849571310632\",\n \"519778887589135427948234626669824599000393293196182973638092302432044894996\"\n ],\n \"6316865149638106764743129697134255200631740418262871761017762594345911149850\": [\n \"15326798084842384536401365240178402897699817856629089373254706732842792167513\",\n \"2034537454666047910229857079654076431677790538053337812917313930700974199661\"\n ],\n \"14160027770119526975300839331622909031378905745135469221704111521367093434932\": [\n \"6316865149638106764743129697134255200631740418262871761017762594345911149850\",\n \"0\"\n ],\n \"13720210759466340236613869262320921372553815551219874191732262128586932948887\": [\n \"14160027770119526975300839331622909031378905745135469221704111521367093434932\",\n \"0\"\n ],\n \"15715522796438807631457055345294872081086441862050533238788631895506756784819\": [\n \"3526002897016229994605571385421703774048079239687299745921897556610853089392\",\n \"1\",\n \"1\"\n ],\n \"8209159338642902673499073404597454801483349070988702373903761594478636577862\": [\n \"7381761087350081538189855907393453966628742734915690989448991444622379214640\",\n \"15715522796438807631457055345294872081086441862050533238788631895506756784819\"\n ],\n \"10758030555351181785018481516569574778419418541936680666964748778096215561343\": [\n \"0\",\n \"8209159338642902673499073404597454801483349070988702373903761594478636577862\"\n ],\n \"16747901280254496120392848819876374720000765154309960303174659682495588231407\": [\n \"10758030555351181785018481516569574778419418541936680666964748778096215561343\",\n \"7065820029198690293902125485236801453673514692795984758181679404033654878119\"\n ],\n \"18474631587352168502727840050822794551728341849442755548836405041809965813299\": [\n \"9681186979756472807704224936033524904537626950704036196513142415703672794055\",\n \"1\",\n \"1\"\n ],\n \"14975169095308867658773663927651522867750584504479085246452169430547852083030\": [\n \"18474631587352168502727840050822794551728341849442755548836405041809965813299\",\n \"11906258058432980879896901040374582352708354558635570708840684287050534112492\"\n ],\n \"2279045699851889852742104466220902706250562789864143601438950193540815574385\": [\n \"0\",\n \"14975169095308867658773663927651522867750584504479085246452169430547852083030\"\n ],\n \"20576234432582823269466405939858273317109202633181612864754133035440198366500\": [\n \"2279045699851889852742104466220902706250562789864143601438950193540815574385\",\n \"18527080633033453170257875103432377411218391596515949608643379585611513449849\"\n ],\n \"10660631835123302501589051337323056384893535647995084369041581524647003598449\": [\n \"20116480008113137072851808877521697050135736444501693554612150043355289558737\",\n \"20576234432582823269466405939858273317109202633181612864754133035440198366500\"\n ],\n \"12137371084561911340508645212975387349492618115600536017817458840961897959538\": [\n \"6673230889181716252808137094729645184053141591235333692835331323633664285729\",\n \"1\",\n \"1\"\n ],\n \"19134727235742005742825208611797774432963823093232129571136554564290857491146\": [\n \"3364883143998828351178830460966975102193022156776674550336695618646903156910\",\n \"12137371084561911340508645212975387349492618115600536017817458840961897959538\"\n ],\n \"63842115098040274823667503380339248008914346625737859995537345117356923857\": [\n \"0\",\n \"19134727235742005742825208611797774432963823093232129571136554564290857491146\"\n ],\n \"12851260557931221529097221188521214012340760030280643553429233963464698929452\": [\n \"9154495338473065517472697671167698775198510962686155370676922966418724385376\",\n \"63842115098040274823667503380339248008914346625737859995537345117356923857\"\n ],\n \"8258949949416927495517791168279149225967458894884718607174652481663823696758\": [\n \"17546839142388988722105856957900163839795400085690611706578163116918462233400\",\n \"1\",\n \"1\"\n ],\n \"6954880664869190856743170892794933337988762550754513346333841107446067702997\": [\n \"8258949949416927495517791168279149225967458894884718607174652481663823696758\",\n \"10759120944461695683611554974969037871195858479541804163731042080754184282964\"\n ],\n \"16239883851726302867044020093790562559705470503959304025578024092046451772265\": [\n \"6954880664869190856743170892794933337988762550754513346333841107446067702997\",\n \"0\"\n ],\n \"18293874914998711587792734004648181162799183766035806892033289264437487440868\": [\n \"6630489570490974848627398079223627854157950790373408466854323192460195509198\",\n \"16239883851726302867044020093790562559705470503959304025578024092046451772265\"\n ],\n \"4911766920996723707666613382547507945802055306277761788518258715971845042185\": [\n \"0\",\n \"18293874914998711587792734004648181162799183766035806892033289264437487440868\"\n ],\n \"17803917236068252603717245759920556770454258891319019649826778085306108617990\": [\n \"0\",\n \"4911766920996723707666613382547507945802055306277761788518258715971845042185\"\n ],\n \"8054040458583563792626118790558986866426238578690967655382268633517283133367\": [\n \"6509154699127802062732153583493491349023235613924572397595491452910403031578\",\n \"1\",\n \"1\"\n ],\n \"3189312850841603403755727738583217981359689603477757955149769394107931257805\": [\n \"20190244281077029006568679089840237142398491884115821476428306963100464922551\",\n \"1\",\n \"1\"\n ],\n \"10777933980218777955755867856771524861945376394385319868706457247516538559977\": [\n \"18085452014193431349895027814502443077586903692414092322796784845913299034882\",\n \"1\",\n \"1\"\n ],\n \"5954158238209972935253392663689821188738822427274754713642457121793104809004\": [\n \"10777933980218777955755867856771524861945376394385319868706457247516538559977\",\n \"11667519233936119951837441470526265188163246337886609625461468623361905465051\"\n ],\n \"18918437123297967481987962189423113247750909809603839031875681372099307420524\": [\n \"10510518447958599371315842166719333344275271398238478837836030433900431442357\",\n \"1\",\n \"1\"\n ],\n \"18687132462046504247987068111634426011648262703226809869016056305948492271935\": [\n \"4668372681495214028846538940620281885485358920574079815865412269387599251484\",\n \"1\",\n \"1\"\n ],\n \"2135713604102855609852516697217021042321539184229561389730560377528740624955\": [\n \"18687132462046504247987068111634426011648262703226809869016056305948492271935\",\n \"21176565014658320771504003194248691752822001260096075150406161739608873345931\"\n ],\n \"17020633604905194654266473648892450417214592320893669324352084480499439765062\": [\n \"0\",\n \"2135713604102855609852516697217021042321539184229561389730560377528740624955\"\n ],\n \"21087271985432481518416183635081830856188333304780184961473239363434559036859\": [\n \"0\",\n \"17020633604905194654266473648892450417214592320893669324352084480499439765062\"\n ],\n \"7190299056921266803763728453188271104570433012422944510432145568929263446348\": [\n \"21087271985432481518416183635081830856188333304780184961473239363434559036859\",\n \"0\"\n ],\n \"6306283245365989155235096548889976494662716466356274607642698544596594937502\": [\n \"12127161652485965063344953314070975701557480524530997406981872610093985634432\",\n \"1\",\n \"1\"\n ],\n \"15992654609173563565587290939643210586811195096107761728139068146840053651917\": [\n \"8438324841105137210443069573098833158547773014424079179866735161116128971818\",\n \"6306283245365989155235096548889976494662716466356274607642698544596594937502\"\n ],\n \"14051490234739711215668797151203391140231307401874587131840693096840330407343\": [\n \"13782011752326879902926663328651319869033347977287403278543292095613874063064\",\n \"1\",\n \"1\"\n ],\n \"9996356989246084769207863694355572214400634309980148514917548184005392459462\": [\n \"5033067057327717070935612270230707064663379905240578835993303398500723070762\",\n \"14051490234739711215668797151203391140231307401874587131840693096840330407343\"\n ],\n \"15026930627366240254855113617968551879416077131251198906229707216699796839201\": [\n \"0\",\n \"9996356989246084769207863694355572214400634309980148514917548184005392459462\"\n ],\n \"998604877030594251063008651354971390235999553512244152016036046707651295495\": [\n \"16468515355673209693257026753706169615366001711086568508232649243788145237198\",\n \"1\",\n \"1\"\n ],\n \"5650994286319280946749867119882995224543040792714719396238421511885360773157\": [\n \"14419664746092449564138360475913197594755984542629234058195934984541542409382\",\n \"1\",\n \"1\"\n ],\n \"5603470808661162469577381371582130180454301184889857193222532987458093572653\": [\n \"19750934258030142221083272011919078649488506338602336650352296167434944520388\",\n \"5650994286319280946749867119882995224543040792714719396238421511885360773157\"\n ],\n \"17082929230652987653540140280811929218567528375043800154372586641246438207927\": [\n \"5603470808661162469577381371582130180454301184889857193222532987458093572653\",\n \"0\"\n ],\n \"18576561724573013882402921999155359279786529163623183702430468625245845356918\": [\n \"17082929230652987653540140280811929218567528375043800154372586641246438207927\",\n \"18141187324980074135579791292072696553206322139248680165564443218633738320803\"\n ],\n \"2464101524034340475054104786694294217842833630917807038347152942620485510805\": [\n \"13412555975167965036464765811759463597556085374306761334321584530940099988927\",\n \"1\",\n \"1\"\n ],\n \"5249018555644399567428591790596349617918862693153845258197776923383189342839\": [\n \"8590434452033418641206022511374623758055988406713511207385062101574297355434\",\n \"1\",\n \"1\"\n ],\n \"21166024389149343435804011574863447619610276723163832581010212553946921266079\": [\n \"5249018555644399567428591790596349617918862693153845258197776923383189342839\",\n \"4667930442345398523527698639836812570109178485052452667332244117076537296278\"\n ],\n \"18849858666259565036352984238697034503766584323085409720606945233905535969175\": [\n \"5673993389911800002224846546118070195993043903343096492375558534379997946821\",\n \"1\",\n \"1\"\n ],\n \"18156576188452994184423645519152470148447809968925562909286757742369238629551\": [\n \"9302784188858420690235633385582247999945341017823628424252202744662013565946\",\n \"1\",\n \"1\"\n ],\n \"6095128759396470354568934420433014559718800838716581008184288572211855537019\": [\n \"11942227437085689141379159194070299251464743237158624889629925974227312473945\",\n \"18156576188452994184423645519152470148447809968925562909286757742369238629551\"\n ],\n \"14419198842616455326258577049833732401005987409023980301655323947795527120114\": [\n \"0\",\n \"6095128759396470354568934420433014559718800838716581008184288572211855537019\"\n ],\n \"14408913917230098656867791545664744463437475295239291221873454328471931026825\": [\n \"14419198842616455326258577049833732401005987409023980301655323947795527120114\",\n \"0\"\n ],\n \"15159673425602174318289987530520654876338295447342859209477031368454004076751\": [\n \"14408913917230098656867791545664744463437475295239291221873454328471931026825\",\n \"0\"\n ],\n \"13836289792206608775481316224965257103869158205994057143837517396477892367113\": [\n \"0\",\n \"15159673425602174318289987530520654876338295447342859209477031368454004076751\"\n ],\n \"21122384845028330450044782422084183977028199237146810968896560972262400992055\": [\n \"5240676863588073870056877986872856272513425574150706524271481499747795021430\",\n \"13836289792206608775481316224965257103869158205994057143837517396477892367113\"\n ],\n \"13607058360547638051566601984292291260149769101656218407192941560650299504018\": [\n \"21122384845028330450044782422084183977028199237146810968896560972262400992055\",\n \"0\"\n ],\n \"2269077832014296195806844694240894416348527705187956640012526434126143171117\": [\n \"0\",\n \"13607058360547638051566601984292291260149769101656218407192941560650299504018\"\n ],\n \"4045082886070264456665826239787348293926918651963358948368491724011124025154\": [\n \"13266008813710200458934323803359584897961717450003852135196419199163429677145\",\n \"2269077832014296195806844694240894416348527705187956640012526434126143171117\"\n ],\n \"1394512720086596928351259171669352923992556135211305728354167491267867100742\": [\n \"10164521258058578289436906636438535616004446906765476779838026618558192191195\",\n \"1\",\n \"1\"\n ],\n \"10531248308929952446638441497543231623739155497203483553012509056592365174344\": [\n \"3742553730668864738311320589715642684604922448143464578303426598082779443867\",\n \"1\",\n \"1\"\n ],\n \"18598745874628909251902302787099874004588804624859580275312806451491177039062\": [\n \"10531248308929952446638441497543231623739155497203483553012509056592365174344\",\n \"676002033645201705410183427689321484150193804741143919227570616411069509408\"\n ],\n \"19034126969300936367136471820466509898096102016925297429240778601184403869157\": [\n \"18598745874628909251902302787099874004588804624859580275312806451491177039062\",\n \"0\"\n ],\n \"7492172865390272651000355447571385779429352571587223390714984217674597075112\": [\n \"0\",\n \"19034126969300936367136471820466509898096102016925297429240778601184403869157\"\n ],\n \"19316337299599964000651360885371684271742089863320042512199579563223974540248\": [\n \"0\",\n \"7492172865390272651000355447571385779429352571587223390714984217674597075112\"\n ],\n \"18915104012556243099417054868029808273180106120736640650102286786975960446705\": [\n \"10184884188757067195389537817342810248299120501360801452112012731857020149331\",\n \"1\",\n \"1\"\n ],\n \"19511709762724191195310924565905755435456837944172937946101063789287569622231\": [\n \"18915104012556243099417054868029808273180106120736640650102286786975960446705\",\n \"15308717333063989786909455713003951254605568391654857675134657382281235608798\"\n ],\n \"14487360041076042722536145144285067347627141374551460162653819291752860271276\": [\n \"6306115822642237540544134432684961078572213625518783043585587899795188962588\",\n \"1\",\n \"1\"\n ],\n \"1906405172152184490384746544459556577693022010359784280496264774953791702443\": [\n \"20243998440058117914169088747847590081111663685100656227646523884918584186419\",\n \"14487360041076042722536145144285067347627141374551460162653819291752860271276\"\n ],\n \"16945809270010892939064841522688707532494931357880238753312729878364815469136\": [\n \"1906405172152184490384746544459556577693022010359784280496264774953791702443\",\n \"0\"\n ],\n \"15635089938526519409469947479951025447877350014951793168333006513813706577244\": [\n \"8887799792288588846292061158161338214539081123862149278488328293424685188952\",\n \"1\",\n \"1\"\n ],\n \"8710637482112108249090031391000569380201513980693762949121478165802243230887\": [\n \"15635089938526519409469947479951025447877350014951793168333006513813706577244\",\n \"17204261907902148790326593014820775832842046896026976090906681248849913152208\"\n ],\n \"5811105463866346986575747834194709370038844781782002006207631508257058949197\": [\n \"8710637482112108249090031391000569380201513980693762949121478165802243230887\",\n \"0\"\n ],\n \"3128289291906736600681851588682367109868422119610317711576851163695504785740\": [\n \"5811105463866346986575747834194709370038844781782002006207631508257058949197\",\n \"0\"\n ],\n \"5256744494402045170319456097435912186188840546850667671586313590362317606095\": [\n \"3128289291906736600681851588682367109868422119610317711576851163695504785740\",\n \"5797828666217882822563343635588955615430156328585163730374830353245914755643\"\n ],\n \"19653924043529533884974653939320854384401597334358922070862153088322896445670\": [\n \"5256744494402045170319456097435912186188840546850667671586313590362317606095\",\n \"0\"\n ],\n \"5243528812153670959931889792644482568944164594116347679545712330011162562249\": [\n \"9596349991566749231058426533509966463414258417588893629653870429344106591819\",\n \"1\",\n \"1\"\n ],\n \"12779739303340087349809687561460455556660579725949682590802319730156773754261\": [\n \"9682704850539239771751501456610622292587123556509893969468785609192403672947\",\n \"5243528812153670959931889792644482568944164594116347679545712330011162562249\"\n ],\n \"9797052708453544322277791465999827989554932051155095548371744850532544101371\": [\n \"12779739303340087349809687561460455556660579725949682590802319730156773754261\",\n \"0\"\n ],\n \"6958003536724878630392401278647977807624209921307893965220726668274176486282\": [\n \"6564239179812278038706667725632060521862749154071506530292409505199497189171\",\n \"9797052708453544322277791465999827989554932051155095548371744850532544101371\"\n ],\n \"7254442717866166026430682667579655209680138326422125781466186580771303717207\": [\n \"11226423070740752649710788046307168182268000747658337211433323049379159774893\",\n \"6958003536724878630392401278647977807624209921307893965220726668274176486282\"\n ],\n \"7952368621192564414813805037323098112590444565640442422708988819981881818785\": [\n \"10750578119959010325847789434967503452820344137747640762720487469039668115836\",\n \"1\",\n \"1\"\n ],\n \"5262318882027945583856142687599985547737893161955062004758376358212713194198\": [\n \"5172645774802900114796503733875375217625603099319511136001861445904669915127\",\n \"1\",\n \"1\"\n ],\n \"12674840546996280267327824294580453427973857138079737596538306474953031428341\": [\n \"5262318882027945583856142687599985547737893161955062004758376358212713194198\",\n \"20632663927282195727071056284951036538035998697865092703592527533697389651608\"\n ],\n \"19947873121318671572197986532903444427445927977456772606398934071446368539185\": [\n \"0\",\n \"12674840546996280267327824294580453427973857138079737596538306474953031428341\"\n ],\n \"12003649349936514869852910202264286948019938684137903498713619783216606570746\": [\n \"19947873121318671572197986532903444427445927977456772606398934071446368539185\",\n \"0\"\n ],\n \"13141035203792498641486291048152864414202947978270687246126797258093649193200\": [\n \"0\",\n \"12003649349936514869852910202264286948019938684137903498713619783216606570746\"\n ],\n \"18744012318416755027362684392822347317703788943294741095820134590329084578850\": [\n \"0\",\n \"13141035203792498641486291048152864414202947978270687246126797258093649193200\"\n ],\n \"3418443076844262685439005345443566615161904632616524959676817838203596325853\": [\n \"18744012318416755027362684392822347317703788943294741095820134590329084578850\",\n \"0\"\n ],\n \"11000962011684552535297166588969384275766154447563257243354577717491265376748\": [\n \"585722946021183409919163268625748991920069528484857357528313559755558468196\",\n \"1\",\n \"1\"\n ],\n \"12805856943510730231370193186087661816487486324966145560340820632367897026698\": [\n \"16964650399544515097916038685597356346538831173771880917354083661394729074485\",\n \"11000962011684552535297166588969384275766154447563257243354577717491265376748\"\n ],\n \"1747509682545006528597051692305909435675791933186972346049871672138856822550\": [\n \"10237423918123059744257190244089818609575039522638870976518884758199701183651\",\n \"12805856943510730231370193186087661816487486324966145560340820632367897026698\"\n ],\n \"13696207437840763718558023597323829839484356489191529302652300505502147891168\": [\n \"559846900775865184840760478524119785554527684508474808343774340334202278276\",\n \"1\",\n \"1\"\n ],\n \"15881155727362116830559681972085655026378166481099640799942798344080452055139\": [\n \"13696207437840763718558023597323829839484356489191529302652300505502147891168\",\n \"10525813290494193632124153046894225311747535047977593356837734851475509949902\"\n ],\n \"15322371448811325632396515520133545486322490008551624608979343747653447221726\": [\n \"0\",\n \"15881155727362116830559681972085655026378166481099640799942798344080452055139\"\n ],\n \"17610221013926113546903594005318508755435127614342134440443363246375809333782\": [\n \"21442187427778317040472613227863703007124801496518560258488322083715171614927\",\n \"1\",\n \"1\"\n ],\n \"15963561821997751589323961637795959326176341066853939456544215631103795374881\": [\n \"4553972083304218598853817939132438072515005031106402016155520214473878781879\",\n \"1\",\n \"1\"\n ],\n \"7318788578725468743534281833858271500135575623470478714931606546492275665253\": [\n \"3189312850841603403755727738583217981359689603477757955149769394107931257805\",\n \"15963561821997751589323961637795959326176341066853939456544215631103795374881\"\n ],\n \"20381843440136762222436992807817481241982827299185400709639926388770503085149\": [\n \"7318788578725468743534281833858271500135575623470478714931606546492275665253\",\n \"0\"\n ],\n \"9335601381212876690007167534486602581136263386948746451532508190826693644052\": [\n \"0\",\n \"20381843440136762222436992807817481241982827299185400709639926388770503085149\"\n ],\n \"16509836268921139020595092182882790619008620339482506910577112595750827645703\": [\n \"20652497594255465821440685103301173097629023043999063387428286618156463259092\",\n \"1\",\n \"1\"\n ],\n \"21736171380798788801903046015628583001163429200010981466496153315228836856217\": [\n \"16035673398659056168143364766688883771687307163190606514751715338182656160358\",\n \"1\",\n \"1\"\n ],\n \"6331825173845078706065467871479600263197871261782385472929673025518901558704\": [\n \"21736171380798788801903046015628583001163429200010981466496153315228836856217\",\n \"17284738521667947803048037627172879726768030449152901330881312146043776899099\"\n ],\n \"1288513339144632441353539709429275805275153174350578293374599853298668643935\": [\n \"0\",\n \"6331825173845078706065467871479600263197871261782385472929673025518901558704\"\n ],\n \"2131856363817006169289889453413612990771583989595931074844902265112282335629\": [\n \"1288513339144632441353539709429275805275153174350578293374599853298668643935\",\n \"0\"\n ],\n \"883223042776389751255135130784170808625466609760769777655150982561054065514\": [\n \"2131856363817006169289889453413612990771583989595931074844902265112282335629\",\n \"0\"\n ],\n \"10065823261541847890067087558464254656771728057745224055043658878406354800777\": [\n \"0\",\n \"883223042776389751255135130784170808625466609760769777655150982561054065514\"\n ],\n \"17385697062102636053313215470079329551851318202297538786344499291717303663370\": [\n \"0\",\n \"10065823261541847890067087558464254656771728057745224055043658878406354800777\"\n ],\n \"21829664316494818557633373231938681792988477786516543911335832135519080327251\": [\n \"1047837841690497625447917796315154315551209468175688701865386800520845152709\",\n \"17385697062102636053313215470079329551851318202297538786344499291717303663370\"\n ],\n \"12862102644320709793795074063537416155694162862252574966549569999213323277251\": [\n \"21829664316494818557633373231938681792988477786516543911335832135519080327251\",\n \"968976689581731318660130567742280361441273632712052396564757806724491080627\"\n ],\n \"12767761125972017774430700271572106732239346147899216629996614764088342753611\": [\n \"8172433974941286937422796100596726474533974408001910772016265685273775708058\",\n \"1\",\n \"1\"\n ],\n \"3327417409854206772877606950737466914283555676616335376556594152020844644362\": [\n \"12767761125972017774430700271572106732239346147899216629996614764088342753611\",\n \"614711190277324463740782495505951172355467223210913414861886446650296033253\"\n ],\n \"19659963418898248076205270484579072261958124023766562279705112425119511416939\": [\n \"0\",\n \"3327417409854206772877606950737466914283555676616335376556594152020844644362\"\n ],\n \"14866377789882962444597259875824514437276139937651284967180921270023380438547\": [\n \"15253307228943191127161310210336799723466492288881040548098100186111961370256\",\n \"1\",\n \"1\"\n ],\n \"15646795521683439670209305624564398226819101699144108971741442086520007146773\": [\n \"5204963703635680507529339050705173343793330550131769773332299415101202596679\",\n \"1\",\n \"1\"\n ],\n \"7999423884905460414938969843386615588973363845757622158759271339360592196099\": [\n \"11923631084516465075463572798852401051255610087098426630428881159863206628092\",\n \"1\",\n \"1\"\n ],\n \"18606955689136417713169757747352152769869493187322357943735851288727345166439\": [\n \"7999423884905460414938969843386615588973363845757622158759271339360592196099\",\n \"10421471190597484361043297929588784227578482237445285444260680784324342907244\"\n ],\n \"3339879891791178735812796926535049211827651977715132276054689693564377123832\": [\n \"18606955689136417713169757747352152769869493187322357943735851288727345166439\",\n \"15386753042005678578866134577450566606929357687507506992629042326276181337791\"\n ],\n \"16278852691876674434709714718944410698913848267387319825791443625498517912433\": [\n \"21089647622562555869161087684114371886849942177453066787513306865430790677331\",\n \"3339879891791178735812796926535049211827651977715132276054689693564377123832\"\n ],\n \"11069363047203738392963732048199905328039664223486012470179216087721050180181\": [\n \"8988853303807166362166444309777374509446369568746967034281260259972554008959\",\n \"1\",\n \"1\"\n ],\n \"10939628573347012403207166785851290008233083383023852089236700202085672667273\": [\n \"11069363047203738392963732048199905328039664223486012470179216087721050180181\",\n \"14974984051728447384301552721718794286911061735581873550414199374886879427935\"\n ],\n \"2743604216921863025886741588394672058030756039541080918424472257017595637930\": [\n \"0\",\n \"10939628573347012403207166785851290008233083383023852089236700202085672667273\"\n ],\n \"15883930132872728530881052006169619327244052443301818846089653290011452157519\": [\n \"2743604216921863025886741588394672058030756039541080918424472257017595637930\",\n \"0\"\n ],\n \"14066192961008305549359353111674746538736787454494207425928026235367772118221\": [\n \"279442674537226738968347907534982104577665803263121137148832638815639185233\",\n \"1\",\n \"1\"\n ],\n \"21509031172420148468852758956642523488496926488044797648154671070012659429803\": [\n \"8689112959456830548879665841016908695550232031735607576594030468207311797364\",\n \"1\",\n \"1\"\n ],\n \"11134807650015492019657965878012469964569790883226866200557874361206102959306\": [\n \"18758122409747140171772615572641486174055027168685881490524825722983152702236\",\n \"1\",\n \"1\"\n ],\n \"6573004558803608829547902632311823794648576225209660221102259058490237543563\": [\n \"13681807209827878489327858377040220406314569922497890252502599293824779231945\",\n \"1\",\n \"1\"\n ],\n \"20198994508291578694046679947980377137755513532013762333697782073203017856196\": [\n \"17702021129902387445493677985224008334448291649954827432898510694446403269589\",\n \"1\",\n \"1\"\n ],\n \"10461980142504912277573991044997696598567734096559281325740696413359742252359\": [\n \"15575639983795702888654375316698599453865857951102868873201346970049119162758\",\n \"1\",\n \"1\"\n ],\n \"10763222547405587095627798206067382552573969495059964123760273889223977376229\": [\n \"18706895680324127950528745165959959403982374679334768101505696565302829638269\",\n \"1\",\n \"1\"\n ],\n \"16214774723595481662656611882683059972835681016229709102001386589711971629496\": [\n \"17855082475657218472752243403446621638114525677180077348576363274125115424789\",\n \"10763222547405587095627798206067382552573969495059964123760273889223977376229\"\n ],\n \"7822480696519261317557423134754549572265181369484363788840107083828640154000\": [\n \"16214774723595481662656611882683059972835681016229709102001386589711971629496\",\n \"13821584188754574532856260488936120875928178725566176908297112797711462190164\"\n ],\n \"14999859088639792746042833554464777571943529481565705986966056394052722778539\": [\n \"7822480696519261317557423134754549572265181369484363788840107083828640154000\",\n \"0\"\n ],\n \"9690581548797281363232390172004010746830192189250550855109999357853074416921\": [\n \"14999859088639792746042833554464777571943529481565705986966056394052722778539\",\n \"11806908546181906859440284571171045884926543678378672264256085493890878932763\"\n ],\n \"21244300963869508361309443618773211352619945072254592267357124893211078491885\": [\n \"20367245588033940266261244948311747182652196747153952375012542771947189318673\",\n \"1\",\n \"1\"\n ],\n \"17874967280030957877280986262478201256351082038268098006156073905986139331447\": [\n \"4642055703155134907155359637864787855783460111738676512783581763062430247483\",\n \"1\",\n \"1\"\n ],\n \"17413919557187187191815777133664167869913522839409541018291936991779567397298\": [\n \"9120101113564005389737313294354660975117460097522042072462844515423479356544\",\n \"1\",\n \"1\"\n ],\n \"11601197847080093450016968997460438769681067964923474241086247451285473478132\": [\n \"6639533993491576693527890196647057684765379643208089811515933643725494840326\",\n \"1\",\n \"1\"\n ],\n \"19577845009283555594373474285718219680946349461559352391129291823793912200825\": [\n \"8152844622638079067436871049059426747227133385692140836523265660541533616080\",\n \"1\",\n \"1\"\n ],\n \"7662794128629124558532073487797531926085087764176696822856713149838409512834\": [\n \"9263045465389501158411320584479896635266206748534337991270784378805391364849\",\n \"1\",\n \"1\"\n ],\n \"3274802833610568539714601387983944012083026590584058519921051333261119928673\": [\n \"8641195919253588925979044943955128145147424431972826133637844786737134175038\",\n \"1\",\n \"1\"\n ],\n \"16392672675036514616954420979914920201002636945175203405291567379913515825614\": [\n \"3274802833610568539714601387983944012083026590584058519921051333261119928673\",\n \"7661585360980185721713702052114052705542892286738306667549599970621909957128\"\n ],\n \"14701806145399563340027483277895905421208887372480535040297033682799161614426\": [\n \"10261491247944113032579456177229899487040835312257880662066271432125932505935\",\n \"1\",\n \"1\"\n ],\n \"16688966422756264066490654947272882703195780814458512672159913566500609332844\": [\n \"14701806145399563340027483277895905421208887372480535040297033682799161614426\",\n \"13286981525877341204875642660274131672065444131325944586758606229934744852434\"\n ],\n \"7428579765880134490730366582739549665924150378948855744175609032861955025073\": [\n \"16688966422756264066490654947272882703195780814458512672159913566500609332844\",\n \"0\"\n ],\n \"5717831248194424832021916110708249190050941194512428680074894280060686041854\": [\n \"7428579765880134490730366582739549665924150378948855744175609032861955025073\",\n \"4002719883297954144980503781423481044704674682820823729543291742596737433904\"\n ],\n \"16841607031410156601111810362845035829409532740750788797963406161753098487566\": [\n \"5717831248194424832021916110708249190050941194512428680074894280060686041854\",\n \"0\"\n ],\n \"1264693858430601590196853801521339017178821151482132263583335701955227200181\": [\n \"16473173070844033643903722801624528695713471922590271177448519329130348238016\",\n \"16841607031410156601111810362845035829409532740750788797963406161753098487566\"\n ],\n \"18139077665695037865983667591388725438555395151513323110134375949048159526504\": [\n \"1264693858430601590196853801521339017178821151482132263583335701955227200181\",\n \"5638836739802893744833370975848651992885915314467393186660180523247248894284\"\n ],\n \"10027095769119050111457828311286490726613498879128572842071738681306192433946\": [\n \"15686048811493810772102187944594383372774162270300423815652941775451634187440\",\n \"1\",\n \"1\"\n ],\n \"17676181860746342257994380682763061663356970110734569721444239302915282327412\": [\n \"16647665209839855412293386334564104054629199803789796241155589203979714877520\",\n \"1\",\n \"1\"\n ],\n \"11531732126632100480746317187087208782206643432690692521895891712110161728251\": [\n \"19538957934231572526441346298987882143565239043383253883825755806185065625325\",\n \"17676181860746342257994380682763061663356970110734569721444239302915282327412\"\n ],\n \"5485375507459272194284179508812078572171981177372309047276333764955375265317\": [\n \"11531732126632100480746317187087208782206643432690692521895891712110161728251\",\n \"0\"\n ],\n \"10961576299377975807434611031818893016797379007698795644203539154805374150236\": [\n \"4022533781238645872111579578357819718141319083383773751566175640417780866847\",\n \"5485375507459272194284179508812078572171981177372309047276333764955375265317\"\n ],\n \"14645009519443039743732548939139618381301801374074006857899873476956841639957\": [\n \"12693746125656234170503740015643204313145571062553506436505325160763789197339\",\n \"10961576299377975807434611031818893016797379007698795644203539154805374150236\"\n ],\n \"8921301877342345122518568193651933508143537174212693841314738392799539462592\": [\n \"16065662315677253795947444891944452931884338142890286551749009243291939449963\",\n \"1\",\n \"1\"\n ],\n \"18514934806502553261565067400739080305951392570035285699276478197057021404598\": [\n \"15425991337425765373364789790065891432386285170651591113620059144293243276888\",\n \"1\",\n \"1\"\n ],\n \"8730253628001618305538541793069522558447252044257649189684618651502574228183\": [\n \"9050251849461281513901084190485986534720894746116199603046807081325855162953\",\n \"1\",\n \"1\"\n ],\n \"8575017891891869101595947360541366693563006800871406335600184914483313411864\": [\n \"18167682789493922896813492876199091861722679284006183146131105136815122681542\",\n \"1\",\n \"1\"\n ],\n \"6770706449338149760361940602092155757184706304099310204281200253599579623560\": [\n \"16036205907803179038172198013974229252511557849382252578462849875430927045984\",\n \"1\",\n \"1\"\n ],\n \"5019706288710504964559848100160493594381834742475397457037593663837181336970\": [\n \"6770706449338149760361940602092155757184706304099310204281200253599579623560\",\n \"3195613241063343271849993658220149250256149456504657824213148838833930834873\"\n ],\n \"15005171163192993263148905409199791540502771492154159052893749273459151381885\": [\n \"5019706288710504964559848100160493594381834742475397457037593663837181336970\",\n \"10552609766375036575121917268295953839014811788632212756393835682827684309369\"\n ],\n \"13717715066984566232407894925895586033740517830986349357123567076166212728223\": [\n \"15113976599767812146744580927249339905119222158134672177522203231776330518756\",\n \"1\",\n \"1\"\n ],\n \"8350307458353394919158561550727485511584973168014584457872766625476222291133\": [\n \"7437031374190657365374213121054211523880775671282003360402623863395530483333\",\n \"1\",\n \"1\"\n ],\n \"8000745205007381061511751446337264689624194624069943424474576334612886681576\": [\n \"7283275697674734182258094421995567915564620152208440994679895789311920034281\",\n \"1\",\n \"1\"\n ],\n \"4703638197326136021769795667117746545830099303531721466782259900853446187086\": [\n \"20495389591484222206065412283461460116901452013629009664642778903951055596892\",\n \"1\",\n \"1\"\n ],\n \"1109943410053922735919407496840860528343955537863834504507344400364933386079\": [\n \"19006945946477402851123599812618050411312213267240966996933414559428196084622\",\n \"1\",\n \"1\"\n ],\n \"17161624288775730090855143738778076698188550523098474481564304666792864607721\": [\n \"5340621765578761800452777538580635309398929978959416887432932364494250456819\",\n \"1\",\n \"1\"\n ],\n \"7139975580538712003936311718850846319437072501062705231973978813271217745338\": [\n \"17161624288775730090855143738778076698188550523098474481564304666792864607721\",\n \"9273922511568613673737013859920375525848379568652522577256098855631468962228\"\n ],\n \"12622069222750109528916305677602007917200353250407738496535123616222345848096\": [\n \"7139975580538712003936311718850846319437072501062705231973978813271217745338\",\n \"0\"\n ],\n \"20663790741813306579748929494886858560773389811152619913187992430531829001519\": [\n \"12790102869465590658716794296369732964694085166708587287481637471447208812076\",\n \"1\",\n \"1\"\n ],\n \"18470941581996866150548602176954211424296432080811536112812210772828889420127\": [\n \"21295592420433238628584108197805560485542018999833223630201132871838296149885\",\n \"1\",\n \"1\"\n ],\n \"13256822352197315854812743222904724104406600268393760871875702076795642788608\": [\n \"18470941581996866150548602176954211424296432080811536112812210772828889420127\",\n \"2571552002500854884244963819927714903063710632000297624016339406275490105530\"\n ],\n \"5966252425472020258591420581769004135514552013933618088684920292806353430541\": [\n \"5932396745996724643651617401602388106212746940537411089496624399443799800183\",\n \"1\",\n \"1\"\n ],\n \"6910651303453614142935727352581069817957531543197955780860011580774670727853\": [\n \"4671666418304415671227832383674141416004249404985515175932854740632559465079\",\n \"1\",\n \"1\"\n ],\n \"8627816557954757484272384718643817026627950985601294937392346941492881356328\": [\n \"6910651303453614142935727352581069817957531543197955780860011580774670727853\",\n \"5481979667821440414083391036785858186706601830118110664209202010717099021673\"\n ],\n \"12344529145138195043519467009971793056548573554566890089207865686689867672045\": [\n \"0\",\n \"8627816557954757484272384718643817026627950985601294937392346941492881356328\"\n ],\n \"17577381139087820785288764192021703301652676774090938535257745659473516221604\": [\n \"17768800228536039068824094611437803035380228170826565083430955405421970154826\",\n \"12344529145138195043519467009971793056548573554566890089207865686689867672045\"\n ],\n \"9946795581142282284269097833243139871906107359941853773410527163918971832310\": [\n \"772676687060768744942026151965591303568964449272200937017507650199108322398\",\n \"1\",\n \"1\"\n ],\n \"16900930708745405820939461351534352286312810334164023176071495916371964805953\": [\n \"9946795581142282284269097833243139871906107359941853773410527163918971832310\",\n \"20002134833875626788667249929228817953813583147872912511410205838795842642896\"\n ],\n \"10692980707433678626147668588216368656628826829039583642282593094223406626661\": [\n \"16900930708745405820939461351534352286312810334164023176071495916371964805953\",\n \"15534264616201804798319458072310686284341963999888435276628986586936677168798\"\n ],\n \"4756639482896949327215110598639543777657310210188432596787666678397450691666\": [\n \"10692980707433678626147668588216368656628826829039583642282593094223406626661\",\n \"0\"\n ],\n \"11629028552619976352894589828066379983010100472550375879798725512021273619059\": [\n \"10815394377175462249880314039156013439009611971567310877587782833818387621045\",\n \"1\",\n \"1\"\n ],\n \"12149702399191070947239683032288234307671213494181717700646092941840449058305\": [\n \"11629028552619976352894589828066379983010100472550375879798725512021273619059\",\n \"9413529516194644307315685623699652211781534697801270487479342551223700406673\"\n ],\n \"2224633862741173531156605718220055508439112740837203554343460345610419808917\": [\n \"0\",\n \"12149702399191070947239683032288234307671213494181717700646092941840449058305\"\n ],\n \"3063569985206854509600518424389595067903409911953707993645773300895010783327\": [\n \"2224633862741173531156605718220055508439112740837203554343460345610419808917\",\n \"0\"\n ],\n \"20572181975220904791181173003459239054843698354720781734816889191001875046946\": [\n \"18514915694147787168385616746758370478318979469744152606230381674420856878296\",\n \"1\",\n \"1\"\n ],\n \"13208328270940003684495131082082880900140102167896488290787331293380543403932\": [\n \"13127348717895639546264599645825294777939785635723021238313032675353390905705\",\n \"1\",\n \"1\"\n ],\n \"4324041669044958784343314007017449548005077488933919680633310750638861577595\": [\n \"1859728848623720438241513723634708317797310471171965497263533121181348749426\",\n \"1\",\n \"1\"\n ],\n \"17014077264563527922715584613375784842445312852162901239677063359371129897663\": [\n \"4324041669044958784343314007017449548005077488933919680633310750638861577595\",\n \"15833830766758885053160719869605028211987678730393202724570916915759809422938\"\n ],\n \"2369325941838124623267581174417626311268339868519676441195024804220095619393\": [\n \"0\",\n \"17014077264563527922715584613375784842445312852162901239677063359371129897663\"\n ],\n \"12309219623355391604232979705795632678905124675870668689763583567056672702194\": [\n \"0\",\n \"2369325941838124623267581174417626311268339868519676441195024804220095619393\"\n ],\n \"15367938558962363186977780960045017942846140178226674523704566088885074787161\": [\n \"4850162529653677958795892377767809230731965391999865380901405753978892887392\",\n \"1\",\n \"1\"\n ],\n \"17656810829988733517586110195044293406320260483659311785114469557075472635844\": [\n \"15367938558962363186977780960045017942846140178226674523704566088885074787161\",\n \"15005171163192993263148905409199791540502771492154159052893749273459151381885\"\n ],\n \"13658430422792440249405514049009438550253052878963665890143039786869678561031\": [\n \"17656810829988733517586110195044293406320260483659311785114469557075472635844\",\n \"0\"\n ],\n \"16722484759102475695531453242165979662183755987532815782187637363081950603804\": [\n \"10835547750014130343451815631027364800573860404234346652268259519927816007431\",\n \"1\",\n \"1\"\n ],\n \"15177788044250028537025451233314584587006233363023861917877519452761550207706\": [\n \"15797898959226152079128626028615913322803366036017067433864373209274294905842\",\n \"1\",\n \"1\"\n ],\n \"17897984979696706069340204923871099906304253712346431804146780329065508621299\": [\n \"11391585123165219997690213313398446189914380443311286265848295658695701460993\",\n \"1\",\n \"1\"\n ],\n \"15371895820007595571885805095036336394331612364992544425353582361344839378141\": [\n \"7954574015451977794127200024722090915057969209795153661538757411284399409272\",\n \"1\",\n \"1\"\n ],\n \"14391393490285332258432710381202366336324660096283805801746374213236347792128\": [\n \"2066040963968310504898503825413823473476426874411390735804162255169911579511\",\n \"15371895820007595571885805095036336394331612364992544425353582361344839378141\"\n ],\n \"5600664206849874470746406478461638326286741422007598901424154789800205386965\": [\n \"14391393490285332258432710381202366336324660096283805801746374213236347792128\",\n \"0\"\n ],\n \"8657338542075381299136662838065917414342840516022572892483243753757759118709\": [\n \"5600664206849874470746406478461638326286741422007598901424154789800205386965\",\n \"0\"\n ],\n \"1108626156502018995045190890431894060218567702992799825998836015913919076955\": [\n \"0\",\n \"8657338542075381299136662838065917414342840516022572892483243753757759118709\"\n ],\n \"18133110215377672152936187125166650613513283864289089946550643692130093311293\": [\n \"1108626156502018995045190890431894060218567702992799825998836015913919076955\",\n \"6356785092009351091040508384766950502442344866713217960034104219424015347353\"\n ],\n \"8440821188456931796055844632391448639215887493270248878551805102077669891499\": [\n \"20116804774193632202021888483086613899078989617268002961889325164141605961595\",\n \"1\",\n \"1\"\n ],\n \"21273983037516015533905466889905805422158887831549209259608413003047637891690\": [\n \"15539693453684738806203370323829618465541299158398887440471011102009135254070\",\n \"1\",\n \"1\"\n ],\n \"5174492857239322622385772698485967676779676043299279612187751981156134306435\": [\n \"20438395292275105146979202451013226748256635560575804225742009506159029290972\",\n \"21273983037516015533905466889905805422158887831549209259608413003047637891690\"\n ],\n \"14711728760287357082245635686721854610971703738892064344528253848475145035133\": [\n \"0\",\n \"5174492857239322622385772698485967676779676043299279612187751981156134306435\"\n ],\n \"2777694609514457146606132881720792741177623094553209727806645381985062274532\": [\n \"14711728760287357082245635686721854610971703738892064344528253848475145035133\",\n \"0\"\n ],\n \"3428910005095051396976872137972985349759039607554260675461721197660895078946\": [\n \"2777694609514457146606132881720792741177623094553209727806645381985062274532\",\n \"13750590888872346429884715769006417810355752791671348662419837924102960454570\"\n ],\n \"12489688613872122494590440740537677860590947774677739532839765945599216906307\": [\n \"10521418892145885076624410078354830927525565456152518074405598994538167648485\",\n \"3428910005095051396976872137972985349759039607554260675461721197660895078946\"\n ],\n \"7953461760337268625729248213810488400387286048483003899147129875210527426251\": [\n \"19772840440215184679572779388607715179366795471512677118549882848633549020052\",\n \"1\",\n \"1\"\n ],\n \"860385910706588672708440139316856820065355717291081104555195963943144298053\": [\n \"7953461760337268625729248213810488400387286048483003899147129875210527426251\",\n \"13427312023527361369814114148965862585945588189327694665474137056179413317749\"\n ],\n \"355442505926724292773518818244437634356146561690193375483756783146915104023\": [\n \"0\",\n \"860385910706588672708440139316856820065355717291081104555195963943144298053\"\n ],\n \"8869034139440185891405287887152822567615670750299543863430963742960358789167\": [\n \"0\",\n \"355442505926724292773518818244437634356146561690193375483756783146915104023\"\n ],\n \"5566508238047345820971353221022927667068587468309650490536902116542245686754\": [\n \"8869034139440185891405287887152822567615670750299543863430963742960358789167\",\n \"0\"\n ],\n \"7181369381651093574561791432020430013135853141136776229119328090684353565238\": [\n \"10526668241907840656110681779667662370019545731411646922726082146832677056553\",\n \"1\",\n \"1\"\n ],\n \"2378913814002944617019262926252633518757116099988396379766541612924798760820\": [\n \"7181369381651093574561791432020430013135853141136776229119328090684353565238\",\n \"16423726156122638205893711714286734911021799032676145980425893823348233207512\"\n ],\n \"14788111060728885614444223061884899832426153915871401940908809763220688635600\": [\n \"0\",\n \"2378913814002944617019262926252633518757116099988396379766541612924798760820\"\n ],\n \"3311169970566859966658151297797459815738638445283665080569722669883789771870\": [\n \"14499753652480201315238771512566778382422644951733884086561122764040577244599\",\n \"1\",\n \"1\"\n ],\n \"12764481259212165479433261449406155772228036329810704653080601237324040344149\": [\n \"20536144589140748999733296833457957877754863378254535458757644437048124081233\",\n \"1\",\n \"1\"\n ],\n \"8321744245059382100329700894754742375768405162369312269647035082889032996931\": [\n \"12764481259212165479433261449406155772228036329810704653080601237324040344149\",\n \"2287902505396170448661574841473755247649261040421841904108216162891182283997\"\n ],\n \"10681760601694583884565713397098758631257109480775040349817090650528686684091\": [\n \"8321744245059382100329700894754742375768405162369312269647035082889032996931\",\n \"0\"\n ],\n \"14556155272232124381987873600150914424801679838570908491338920520105644677098\": [\n \"10681760601694583884565713397098758631257109480775040349817090650528686684091\",\n \"14448994631013416436199482451144262883126347105333879101662466508731269703455\"\n ],\n \"13969548397689056256992204228130997892907874403120888685185192878746650302257\": [\n \"6753029346140319321846548713927376663453527622395884168488057519682100927302\",\n \"1\",\n \"1\"\n ],\n \"14877200318864904965826855621266451958310086374275071431291121773517823475281\": [\n \"19146342914673592075054344638360206480088463659367647741691138014554111134857\",\n \"1\",\n \"1\"\n ],\n \"2340361772018976394889339041618490523056520538257092253952405836356246505077\": [\n \"5710107386079762658946480536502865741307381699569414184694956516188317898025\",\n \"1\",\n \"1\"\n ],\n \"583724532425337615118306014318101846525157635247984701965000897356745274263\": [\n \"2394256663840388251169747823363722852513604033048301377948662416125096026166\",\n \"1\",\n \"1\"\n ],\n \"21144678735917438937874459600116255161858030353838524418634555751692730606909\": [\n \"10114090595273461159808305058200493076466984879987578867978229209153288886664\",\n \"1\",\n \"1\"\n ],\n \"15649613962069840790459995218189988958077644334049263104590661031947764791558\": [\n \"21144678735917438937874459600116255161858030353838524418634555751692730606909\",\n \"13401003265460788124311446493114442429631135017389854206554989278460433876897\"\n ],\n \"5242660193297828788775943187674789937897520771293424550984987582968125108544\": [\n \"0\",\n \"15649613962069840790459995218189988958077644334049263104590661031947764791558\"\n ],\n \"13535814584847417939096112178973362474775331710629165768020114829229251961017\": [\n \"5242660193297828788775943187674789937897520771293424550984987582968125108544\",\n \"21438787943147219401005292864034951015813672943030676318885155369751453775394\"\n ],\n \"11176693909148925340547820608624843920209716573057948519647164579272200425751\": [\n \"0\",\n \"13535814584847417939096112178973362474775331710629165768020114829229251961017\"\n ],\n \"13073288204223972946852813395692991122892143453227031091993394563785530601205\": [\n \"11176693909148925340547820608624843920209716573057948519647164579272200425751\",\n \"13642989202935664349009992176995969910989861412143502289249961654485940375680\"\n ],\n \"2718032671223041648984822278677125454990684448901841589065624753326293405293\": [\n \"0\",\n \"13073288204223972946852813395692991122892143453227031091993394563785530601205\"\n ],\n \"1160763697699436075676484394164780365245101162602104493245485430174235966106\": [\n \"9969797660782844064374352681772612943884301145455867245810437326181538975937\",\n \"1\",\n \"1\"\n ],\n \"5945095030517986667702623395741951504433089611839236722368827889705979247752\": [\n \"3930038496564632156894649625297303519468673866947841661764027437386432807030\",\n \"1\",\n \"1\"\n ],\n \"14547196026791894761890663499032243662754914821365967829930046874989475405589\": [\n \"15918465335219336693588065927528370471265276784386767812825009553524294657538\",\n \"1\",\n \"1\"\n ],\n \"4843695130113309031829616351335299722917206376542948349445044045854321580089\": [\n \"3352020360313051222913665061959311843050041221148234085122328922814388807840\",\n \"14547196026791894761890663499032243662754914821365967829930046874989475405589\"\n ],\n \"3371508476283597562997500517477532335306324590761219585903330242035423306306\": [\n \"0\",\n \"4843695130113309031829616351335299722917206376542948349445044045854321580089\"\n ],\n \"13459518833189731973675095893170794718809786246176434210480691916853403583030\": [\n \"0\",\n \"3371508476283597562997500517477532335306324590761219585903330242035423306306\"\n ],\n \"8311475766589486850208904922092200732248544458907256515779890819271810310652\": [\n \"13459518833189731973675095893170794718809786246176434210480691916853403583030\",\n \"0\"\n ],\n \"2546582877077082599158489693819644757432524660144621070565469045740592985531\": [\n \"21569931165127564234264954156780159691002309008751872159886785187039472214117\",\n \"1\",\n \"1\"\n ],\n \"21057167465893981149076619787640894395840706820853658275317128669272127371709\": [\n \"6095831234739680960579129751078388868226203447522435533949873679735445246605\",\n \"1\",\n \"1\"\n ],\n \"7057211699356020109421715522803457607577945244957207109945799574278258960409\": [\n \"21057167465893981149076619787640894395840706820853658275317128669272127371709\",\n \"16638923852339367304183372183719071359170265601739749194313026288368230039795\"\n ],\n \"16249010907108860484918500423283535362941756961038404178593386253716500360635\": [\n \"12801565456942481835002401328874147733320074598438754227456193613963698389156\",\n \"1\",\n \"1\"\n ],\n \"17036727850462645726433963303693071870371402716494767606277396862655748211112\": [\n \"6218529285699124729094960572815841583170070649215279647291141742823449223741\",\n \"1\",\n \"1\"\n ],\n \"9720613777935205905853876156688106639879307709775751488794865770701434461395\": [\n \"13925725315285458808051300713623997621990180308038153932709011281423569485320\",\n \"17036727850462645726433963303693071870371402716494767606277396862655748211112\"\n ],\n \"9299617455802118981500979073078135847155406940260809654894235084787131110028\": [\n \"5147234515467975324637229959594220665000436265704302685590083098577202486966\",\n \"1\",\n \"1\"\n ],\n \"7754291825570332573910950054250735440045507154185489105385124187396603011584\": [\n \"9299617455802118981500979073078135847155406940260809654894235084787131110028\",\n \"19176508610066202316312828468022248498064043986283556765896367212253027989473\"\n ],\n \"902822327266369362116748121253022828666877328988625421175902338656054968687\": [\n \"0\",\n \"7754291825570332573910950054250735440045507154185489105385124187396603011584\"\n ],\n \"833474714051472842107119927946042067375079685507999842187573468408983297493\": [\n \"4896181316279363317248250215544989719334209583997714688045054946471356073876\",\n \"1\",\n \"1\"\n ],\n \"13827306574562070028278265930767560801847858970101937334409281053640764131215\": [\n \"833474714051472842107119927946042067375079685507999842187573468408983297493\",\n \"10585235033325404314368823767927835292826123317175336931739507351530097056149\"\n ],\n \"17808147751813737890399832078162374833012887470912950035142820300612822792026\": [\n \"13827306574562070028278265930767560801847858970101937334409281053640764131215\",\n \"0\"\n ],\n \"20073782263311089788040917905891666938759807590243662239546501496350401839927\": [\n \"17808147751813737890399832078162374833012887470912950035142820300612822792026\",\n \"5571922893823525074613444693966109374650466454572636836147420232183810168800\"\n ],\n \"11310349041615460201676559572221458346785677533689318516626073709128996524528\": [\n \"20073782263311089788040917905891666938759807590243662239546501496350401839927\",\n \"0\"\n ],\n \"5291539283821973956951805298215288719117033824473723141938574683568919452082\": [\n \"13862153801997365080390198053282228902647195867325914636214566613287510641502\",\n \"1\",\n \"1\"\n ],\n \"14382510657986414144553836601862604054008671280603066754281980443990996254941\": [\n \"20924986125068212719193616843667100322518525233244848112834448140852208479031\",\n \"1\",\n \"1\"\n ],\n \"20527732026905162491850607836093841345934219427320370445197141646816231660450\": [\n \"20752783461193881250621153245159342894316989798616857779891745364650698194788\",\n \"14382510657986414144553836601862604054008671280603066754281980443990996254941\"\n ],\n \"10736831317201755010304113844417729183621731991395072087244738151033903639741\": [\n \"18199468807206552034252622028795565944648118948916060040241674049242113566736\",\n \"1\",\n \"1\"\n ],\n \"9910353360973274689825801479285305021967945286946071272984689496036049368499\": [\n \"4613138995434859386322759414146757434374112153890284079870489033638275259952\",\n \"1\",\n \"1\"\n ],\n \"9628003801361097723626181771492904402913676877089041689551244193971587269213\": [\n \"948217106738073525454392401462989079383404825672954974943022223590805729437\",\n \"1\",\n \"1\"\n ],\n \"6816646671074169653539320674714069090302967982574842544577918169815356400880\": [\n \"18641533671490610667872324810859209639542951606613907201163399362054627088394\",\n \"1\",\n \"1\"\n ],\n \"15151177893318936858208267327241984375321989611634166291758855632898185322206\": [\n \"18334242020152352811168994294095601816358660364754644289301228040181414562671\",\n \"6816646671074169653539320674714069090302967982574842544577918169815356400880\"\n ],\n \"16314743396433350466302195790510678240086362642853579606486779559092895958249\": [\n \"15151177893318936858208267327241984375321989611634166291758855632898185322206\",\n \"0\"\n ],\n \"9022011655332188944155516220860489301254851628381843247330608514374053821032\": [\n \"1210404822947542679004129091245210304016799720788812394302243280282962207917\",\n \"16314743396433350466302195790510678240086362642853579606486779559092895958249\"\n ],\n \"15065974166992590806019353269154771111127298843502472003711108258924383225593\": [\n \"9022011655332188944155516220860489301254851628381843247330608514374053821032\",\n \"0\"\n ],\n \"16661846683472129781083507227513046071998186368070461070941275699327504718511\": [\n \"0\",\n \"15065974166992590806019353269154771111127298843502472003711108258924383225593\"\n ],\n \"10038892471759385017783967604537987166110849387152311211477081533225937939386\": [\n \"20295730829293018277585364899086468173432059503396028193245846055562115523953\",\n \"1\",\n \"1\"\n ],\n \"13532131373884418273490613632383439627579157104668357288702630350050596237262\": [\n \"2379293531590382726044148376746444575344385948688948642524845188095021416623\",\n \"10038892471759385017783967604537987166110849387152311211477081533225937939386\"\n ],\n \"18306434202501430720558063409154307965024535504697143128841368258278522166694\": [\n \"13532131373884418273490613632383439627579157104668357288702630350050596237262\",\n \"0\"\n ],\n \"10107443669961281177748031080255224508678962418785067828151328081984912142220\": [\n \"10069489159880397176541278800363034323582119137248355821190354482556644646267\",\n \"1\",\n \"1\"\n ],\n \"7312233434936977800745796176349418399909928974055506491314933809378911071800\": [\n \"11734659935666137296644820726885423531798355571329361645509183231396642034004\",\n \"10107443669961281177748031080255224508678962418785067828151328081984912142220\"\n ],\n \"3462099162911357771704135359221140896111041577912898439840038090779043308615\": [\n \"6428442833101085201961634355324688303162686210321452867302036520210755396696\",\n \"7312233434936977800745796176349418399909928974055506491314933809378911071800\"\n ],\n \"16176460140819967437140356297423868299833795684553662710014722063681695324053\": [\n \"1149927850571561259322739508635023490218308001741919871860145142597471631026\",\n \"1\",\n \"1\"\n ],\n \"2652813848888604058485322341906268026286848756062739505659206981852920239847\": [\n \"16176460140819967437140356297423868299833795684553662710014722063681695324053\",\n \"7104386947664234730462875978993481266922866285588774728427288339602524782585\"\n ],\n \"4664623384567983750921599757906403370104536182829789316939561867411233299276\": [\n \"7387856632494849182786580327185581497749656769125546229739912404561053791752\",\n \"1\",\n \"1\"\n ],\n \"3905480719341723028344679927046826271653745281258887499832689852256659868293\": [\n \"3234533381052477081893236684425617281045253094325572236944378925025205092001\",\n \"4664623384567983750921599757906403370104536182829789316939561867411233299276\"\n ],\n \"8580255936033174628099837771523920324608189589424990734091994389559265470087\": [\n \"0\",\n \"3905480719341723028344679927046826271653745281258887499832689852256659868293\"\n ],\n \"8109350388315931482528562773570356913942111651536926202004842468216297316520\": [\n \"8580255936033174628099837771523920324608189589424990734091994389559265470087\",\n \"972893275162672373585791930384266704493529043888618976467077844277103590656\"\n ],\n \"9937440121512669817871976843465415959069635504884799902310842100439944084962\": [\n \"21088039861643235594650452012932022864053374319018553550203210419723874313938\",\n \"1\",\n \"1\"\n ],\n \"10067171845868162562994114003505200719374612890387219817303989616816490910925\": [\n \"1859929936728910436134210753787546977343511811581819490772311015978565887566\",\n \"1\",\n \"1\"\n ],\n \"2152344154432114178753048762119512916090725573223421491364286885587547197458\": [\n \"8903672397719707550756066673098207746513592303101335613667427077667166112172\",\n \"1\",\n \"1\"\n ],\n \"19904486802054545411773981588771998278761098467534938817316328476277977902599\": [\n \"10437792320394338618934592635659513703188850589072954620952896536135677612178\",\n \"1\",\n \"1\"\n ],\n \"20317088384355094841884023065399899897829890269720488626228268279615997694024\": [\n \"551419499628079194271806499624798709506884032113242520992722404869649741128\",\n \"19904486802054545411773981588771998278761098467534938817316328476277977902599\"\n ],\n \"17126690991273622668754413887045827304371872773906753386548238999336433150960\": [\n \"1529081866333582880694765177621510009537240955134196706400083062498765543363\",\n \"1\",\n \"1\"\n ],\n \"9857153353281558462544584936364688181378109984910384763549269344705598532505\": [\n \"15316901951514958406957841524685447767671028170774016372010778425718781088799\",\n \"1\",\n \"1\"\n ],\n \"8541744376297176904955862086545346785272794576387453149853343825951855714904\": [\n \"9857153353281558462544584936364688181378109984910384763549269344705598532505\",\n \"2096274401896933155084042614591363893098254501704394714766723983332474688273\"\n ],\n \"13676188499348898968685673418535193076451161439466212026849850318063540462729\": [\n \"8541744376297176904955862086545346785272794576387453149853343825951855714904\",\n \"0\"\n ],\n \"8027082203174626704387635645341675936114591724912336352318490613410874026416\": [\n \"0\",\n \"13676188499348898968685673418535193076451161439466212026849850318063540462729\"\n ],\n \"11377012384085687126139798733419800656582020507219047904995341461411214572758\": [\n \"8027082203174626704387635645341675936114591724912336352318490613410874026416\",\n \"0\"\n ],\n \"13045250843066472325661222583461424694454559980715975222911790822522531254846\": [\n \"19145343228528808885068350345242547264312460767725176695712167079872031145186\",\n \"1\",\n \"1\"\n ],\n \"2001560489792356952604135476573290090458379572915374762974000299001058914834\": [\n \"9769593371908421241846244701382760097620312651920743464918399682126896906050\",\n \"1\",\n \"1\"\n ],\n \"6545170137458135326354775983779307348694091475025943960313620378986802165814\": [\n \"21461969427462223729586340049949221582659472677276799030981474290293508004418\",\n \"2001560489792356952604135476573290090458379572915374762974000299001058914834\"\n ],\n \"8252749947941152815749687102395080311398812072621595624152616701886765072408\": [\n \"0\",\n \"6545170137458135326354775983779307348694091475025943960313620378986802165814\"\n ],\n \"3966141087146112065940237420539378674738016233423660669097814918969137083328\": [\n \"8252749947941152815749687102395080311398812072621595624152616701886765072408\",\n \"0\"\n ],\n \"20542212258441776048357493442277603445943491135462160774099370839341049314566\": [\n \"1508364841282476649069992482411420792704335172027436557897218585379842310542\",\n \"1\",\n \"1\"\n ],\n \"10179467439219875957615709415064381099358955349733209469754771625391550480443\": [\n \"15754907436852295601829944397264943341033307720777728269142151360567221442406\",\n \"1\",\n \"1\"\n ],\n \"5026859744721900886819821652438526933248453452546250123190042819497434973238\": [\n \"17275838724597043081720543068131371473428898572091377342504300423074328297297\",\n \"1\",\n \"1\"\n ],\n \"1605460459633638546397040341211386616530824023310649682292830327565799392108\": [\n \"5026859744721900886819821652438526933248453452546250123190042819497434973238\",\n \"18289150135313392238882063419280905937823748079092313149857018537617772976564\"\n ],\n \"8715228007215643055923004969675131284207524802619702494520406168515983081151\": [\n \"1605460459633638546397040341211386616530824023310649682292830327565799392108\",\n \"14755646275912590182188748232898547889894319828456165724254974850944175885207\"\n ],\n \"7855001631684007691359480352663406303496095533303592480427784976190431548780\": [\n \"8420182996773812550990022980600110956170924525850020208912992000699467585130\",\n \"8715228007215643055923004969675131284207524802619702494520406168515983081151\"\n ],\n \"12588582796012778348517447988670231587968715732531676552089455421547692987499\": [\n \"566082580236450733399756262892619184296706609981322843759731266826944248202\",\n \"1\",\n \"1\"\n ],\n \"14304005120900627445246331647640205897029434251305781688068472492640629648147\": [\n \"4720346944542067447018699562082192012442997924562934167565146461169788543814\",\n \"12588582796012778348517447988670231587968715732531676552089455421547692987499\"\n ],\n \"5002830840813092062443708625004022859464132630552685643693074109831938720881\": [\n \"7461475128791567718830990232437508454318682889619453121877397066312174274764\",\n \"1\",\n \"1\"\n ],\n \"13096190343139956852537420021571607889524326476563686450368516978364532090445\": [\n \"18541544854439049595156373136485225269897029001441101047914871211625198279012\",\n \"1\",\n \"1\"\n ],\n \"575706312382436756684925769905430837216035868240957841531033503710905944271\": [\n \"17467804636275287575296924541448202559008574393737086437264166774569781374324\",\n \"1\",\n \"1\"\n ],\n \"10037176234910602306735236106237894407502294024434498307858689153970668376610\": [\n \"13475317232409644000958101313872272848982023205284737871387276157614078190806\",\n \"1\",\n \"1\"\n ],\n \"244966089166175537523856762237906049043778875532524710136638664831187824751\": [\n \"12082172207596517736409856069173651237964271264250331202546358223745998880245\",\n \"1\",\n \"1\"\n ],\n \"3677422183796154666434311059223572456586031880522155882041880374836750051028\": [\n \"16743366385826519052036439363320189284297584658439012758364872547505062357825\",\n \"1\",\n \"1\"\n ],\n \"9519593229848062409516220067930400572117075858129403526097465717777257306943\": [\n \"7570052205058999673268790630696059280723219179023170391758088328598131029593\",\n \"3677422183796154666434311059223572456586031880522155882041880374836750051028\"\n ],\n \"5334844897398756482916302105366777901554068961100274912905908228446714352245\": [\n \"9519593229848062409516220067930400572117075858129403526097465717777257306943\",\n \"0\"\n ],\n \"20455370836551185887465243929861461815349608384917265295280726874519013261314\": [\n \"0\",\n \"5334844897398756482916302105366777901554068961100274912905908228446714352245\"\n ],\n \"492542941439631510525278138535755629088293806187975525465315459732817812671\": [\n \"20455370836551185887465243929861461815349608384917265295280726874519013261314\",\n \"0\"\n ],\n \"21419293610199195470179649891759704883056285660838382161844667026825923945423\": [\n \"492542941439631510525278138535755629088293806187975525465315459732817812671\",\n \"0\"\n ],\n \"809989167736158622030726758119444325730460021042860314281491422371789022386\": [\n \"0\",\n \"21419293610199195470179649891759704883056285660838382161844667026825923945423\"\n ],\n \"11348285896323079602201211572406281221101527492840098488035142793151453059057\": [\n \"1565768099524665662780064282080674579906858273880305955892125337028462878008\",\n \"1\",\n \"1\"\n ],\n \"11003933090866644177877012090078348587936884484877859670797200953623168818345\": [\n \"11348285896323079602201211572406281221101527492840098488035142793151453059057\",\n \"11627805585232576579516424903690616520323654355773584030597219485543461197559\"\n ],\n \"2565497125746373550001394321353952470321832593354066014676985745584875959893\": [\n \"14276725326176447248890183959242733129537280722099775011858548603087498942359\",\n \"1\",\n \"1\"\n ],\n \"8324803992693849637847819146222243871824732923341753282247015053102879427956\": [\n \"19026824381152134275945293551193854979870251076387658565080508385527385706613\",\n \"1\",\n \"1\"\n ],\n \"20991830899195632702273251668251677889928363543657281714157951591649587911143\": [\n \"19170024977849865472872578943156675624489103609785183373302588593933457456865\",\n \"1\",\n \"1\"\n ],\n \"33246386135929673233290106936435688034422202931657319244585342517318381713\": [\n \"13324499705719573169279793983681351754721439189131261232874672736375792315279\",\n \"1\",\n \"1\"\n ],\n \"6047282624772581896425613466226489168022982090470901686039100758742521123972\": [\n \"19871620996587405288204054558852268097139058912970905842789889121330154163970\",\n \"33246386135929673233290106936435688034422202931657319244585342517318381713\"\n ],\n \"3915817576488714730948786387483145286301938146760828391491076983796411289320\": [\n \"6047282624772581896425613466226489168022982090470901686039100758742521123972\",\n \"9182536553553154677708704063811780315183699595196951177274225797753976550745\"\n ],\n \"17915299451375663470027019793433796385149996264155963485363310908239366170433\": [\n \"6861327034313076014571480207209676917837731915033187574572175867758591638680\",\n \"1\",\n \"1\"\n ],\n \"4776431439568619761798765916395945399853657955126823931647159355681298617483\": [\n \"1601718078944911317350117889912209667825304691588245267070310708948364214059\",\n \"17915299451375663470027019793433796385149996264155963485363310908239366170433\"\n ],\n \"5680127891360672356854186360136452410541765964805689352582384471398909246626\": [\n \"0\",\n \"4776431439568619761798765916395945399853657955126823931647159355681298617483\"\n ],\n \"18090876881600671410657835691019115022492254204456555641429741253750482819092\": [\n \"11872091052858707266368072674427497183137755137276406462648925194369024030596\",\n \"1\",\n \"1\"\n ],\n \"1460254761831128674649067797925342437496019670246003349883004214988976849647\": [\n \"14291169993439678597858299715756052046625852965241438023596391448620264062963\",\n \"18090876881600671410657835691019115022492254204456555641429741253750482819092\"\n ],\n \"8235340423142628724254212670608755323101691166880463744575257381543123798028\": [\n \"20135711946255934497536679581151457111358042490849212574269128214381699798192\",\n \"1\",\n \"1\"\n ],\n \"7869874911024236471869026394218355449822090559118546599121571129484540162444\": [\n \"15425841461643570161755423433976170820346416487081392178056759506010266393707\",\n \"1\",\n \"1\"\n ],\n \"3952254932558585954056033928963447365676887825378433426987014535689109222396\": [\n \"4923848205540086744559095661514519827878113392117662320071495108296479593981\",\n \"1\",\n \"1\"\n ],\n \"11472075575263951037942718137784484228180669834382352403628060656189705548365\": [\n \"2074811241072684027507858001446809119574923812080560138304125214092403150406\",\n \"1\",\n \"1\"\n ],\n \"18611296434334038293140661656036897504608697514316407815679771335409651400122\": [\n \"7556856598863651333332586034068099766105559966514395625366004827859054510662\",\n \"1\",\n \"1\"\n ],\n \"19367713801356089511506964478802365993019809359446445381572188285790025399256\": [\n \"18611296434334038293140661656036897504608697514316407815679771335409651400122\",\n \"19936843355648380458657204823094383175781047727747778856618442138379193440796\"\n ],\n \"14477218383279202936469912938289066206319462838497846225284909431404498995364\": [\n \"14242500596073658325194872867739729672179832996606714662370529752952784332817\",\n \"1\",\n \"1\"\n ],\n \"3903288998096027811360218263367511793351847288484926067991529355953930029945\": [\n \"13490865414236780998246754508164082560624597792406353004483613433262957841448\",\n \"1\",\n \"1\"\n ],\n \"18989871237860093488712916961126983665906023367738484093872245421619645765453\": [\n \"19111622632460033938828474378345119617104540197096582654106270012323494482815\",\n \"1\",\n \"1\"\n ],\n \"15732750210437360107817780847603371510758159650093964882720325799434424962490\": [\n \"14395032816887213762855463154524386592147134856096452405919219377788177393596\",\n \"18989871237860093488712916961126983665906023367738484093872245421619645765453\"\n ],\n \"20196944891864431511716778416844652783007399393074124740523908638697080493949\": [\n \"15732750210437360107817780847603371510758159650093964882720325799434424962490\",\n \"0\"\n ],\n \"11369595938260302795101893531272011245678971269968559513715716259844210253256\": [\n \"10763970689557451274781267500652274870764369191380203776227546464939952114609\",\n \"1\",\n \"1\"\n ],\n \"10817847370074321820468454189693392616928276119956920019518966622851958526202\": [\n \"8876186623619715837874073260811795455551099895371765307042947965516175328868\",\n \"1\",\n \"1\"\n ],\n \"7254590333192119105564867084529323367330680417119591282257957579233843318615\": [\n \"11322866078948698765888990151592064045387321492188503495265316730537772082822\",\n \"1\",\n \"1\"\n ],\n \"15273750015162831954601247931777471284622580791093084207228459598026581316126\": [\n \"13424577546893435257023742301145591600649410895033092840695411492468546199103\",\n \"1\",\n \"1\"\n ],\n \"7063187860072908182793521074669206478046006786441541326270448829333589870450\": [\n \"17204969096992794599574292278954658471248289240564172334350330724399632380123\",\n \"15273750015162831954601247931777471284622580791093084207228459598026581316126\"\n ],\n \"16279378568184211675175909237023952026870966076471922237161299104773079233367\": [\n \"0\",\n \"7063187860072908182793521074669206478046006786441541326270448829333589870450\"\n ],\n \"15603887790487612910636378553946538502112133028611624352920159761358088216787\": [\n \"16279378568184211675175909237023952026870966076471922237161299104773079233367\",\n \"0\"\n ],\n \"138987423722905442995493985306441503449272690045372701157791979094731047370\": [\n \"0\",\n \"15603887790487612910636378553946538502112133028611624352920159761358088216787\"\n ],\n \"18114155163044461360303980669788758644932931888686583447314744984633266656300\": [\n \"0\",\n \"138987423722905442995493985306441503449272690045372701157791979094731047370\"\n ],\n \"15323156046433234768134173184988503643480009793409043998989307289850763426491\": [\n \"16025140449995041831343635862957822858871862745588469957315220654763252048689\",\n \"1\",\n \"1\"\n ],\n \"11109943777386844471045221348213828196673887897677223848933819700540796902519\": [\n \"7689981491239430078108976109454961560407472948257325667361529623839587295944\",\n \"1\",\n \"1\"\n ],\n \"4596698884818203419899095369410599943719120190886492216202389129443295109742\": [\n \"21174265792336466503850705581227886985685937271332044554224711753682795051034\",\n \"1\",\n \"1\"\n ],\n \"15816203878650255794654496781548671730695650463914675387390244367060288484317\": [\n \"4596698884818203419899095369410599943719120190886492216202389129443295109742\",\n \"20646943473274053351917498354330594088968602311176548127533585330743914942186\"\n ],\n \"6968219762315112675228043646490057491230387903120089816320131863950024721310\": [\n \"15816203878650255794654496781548671730695650463914675387390244367060288484317\",\n \"0\"\n ],\n \"17418145994317845352119318118209337060037665159460268683558864749444213565281\": [\n \"0\",\n \"6968219762315112675228043646490057491230387903120089816320131863950024721310\"\n ],\n \"18713183819435382315248119248217879283581588675793376763113320829589621323890\": [\n \"0\",\n \"17418145994317845352119318118209337060037665159460268683558864749444213565281\"\n ],\n \"16641018365161787637946382560602902370094884151602906004107321036090154615028\": [\n \"3277591755015044107022185915592997849025592518047262937812395276395592751210\",\n \"1\",\n \"1\"\n ],\n \"19686211464697949197425181983526885179442362648753966223083561448819871698350\": [\n \"16641018365161787637946382560602902370094884151602906004107321036090154615028\",\n \"1601024850474022730823591652064127734889609557658268493885855624568614173822\"\n ],\n \"20160160166879559294082895416207799561122329233560602885635181016008345634883\": [\n \"19686211464697949197425181983526885179442362648753966223083561448819871698350\",\n \"0\"\n ],\n \"11330071501662710651159333547294585938648942880180924030493517204005358419343\": [\n \"1828668653492487226348421513060508782256959914285678678205353149405080617226\",\n \"1\",\n \"1\"\n ],\n \"7791224889215311280413015851524191877287548634462249303507029805252940197283\": [\n \"18032580499704779117036232339947737250418358037794008517162125003438504224097\",\n \"1\",\n \"1\"\n ],\n \"513269061904880997005419853996182920963585902599709076799568876577623020762\": [\n \"7791224889215311280413015851524191877287548634462249303507029805252940197283\",\n \"19665100016677116118594868834977355881882507684530253495238917724162220481574\"\n ],\n \"3117091530284798442254496815399152855654640486617814605095856166006169745822\": [\n \"6795978203021315240608730558396124706395087359555233644600559200453393717228\",\n \"1\",\n \"1\"\n ],\n \"8804049106213321721861948999350147242551564338026592132119794558854758416247\": [\n \"21009956254637973652669583045921175296435785785770222648991968032818684508150\",\n \"1\",\n \"1\"\n ],\n \"5903025381666232055722294902671166888264409164594094196806679282020625852193\": [\n \"8804049106213321721861948999350147242551564338026592132119794558854758416247\",\n \"19770956717932047073937702250606585749137801849172055707893550533066690026164\"\n ],\n \"2916112920134330647218035809833375246081782343221004054411185892494925944264\": [\n \"5903025381666232055722294902671166888264409164594094196806679282020625852193\",\n \"0\"\n ],\n \"20743196779347248605982467938652476048476746146756660952952362940186764540270\": [\n \"0\",\n \"2916112920134330647218035809833375246081782343221004054411185892494925944264\"\n ],\n \"6744359819292106094902410118290389509675016467648259221643632865197281465823\": [\n \"14010420507533470823096020769937359435022716944169139882460509861845132573879\",\n \"20743196779347248605982467938652476048476746146756660952952362940186764540270\"\n ],\n \"14303926404698373602676703144818642619147649879270383559975506964282119299614\": [\n \"2390461366353841813697691715759108848890744588398303643403308647941325213365\",\n \"1\",\n \"1\"\n ],\n \"19479719013415661810687018393713453291469504243957189117777214825895460640957\": [\n \"14303926404698373602676703144818642619147649879270383559975506964282119299614\",\n \"4254890193309469582525556433094218954775159478246747546595624292030563410126\"\n ],\n \"4434582094874550640336279809706047807641307045970252038252839669896196709606\": [\n \"10282629503108791520345702256014791252011296785313386093476868181591626099766\",\n \"1\",\n \"1\"\n ],\n \"798477781704906784215652638088409238545483522618285571399270384245273079869\": [\n \"15099423571511010709411786378810829047190594088170191001452997519471097766832\",\n \"1\",\n \"1\"\n ],\n \"21106130800280135241098995819592814613115699076183815671581462314848313732452\": [\n \"8635426316501655776148324227250605902859574974772185224699210293791586070385\",\n \"1\",\n \"1\"\n ],\n \"10522844457550451489674304115300914997077059921270414052484550824938163839487\": [\n \"16768429817227488405076550555811484116735225586469146481519999234878276679402\",\n \"1\",\n \"1\"\n ],\n \"2278718754968954224670060427247158906296179834525831360862255590864034399253\": [\n \"4075037729393786315843777702471726379816533989815472503257703128505517116642\",\n \"1\",\n \"1\"\n ],\n \"14908548038659782893165247402953652697777583767788866759039224502097413649479\": [\n \"2278718754968954224670060427247158906296179834525831360862255590864034399253\",\n \"21279162658080153290037554750009878887594031981082326800941267450600018865737\"\n ],\n \"17095306238014301492761130662772410736790617641105497681833200952710151729837\": [\n \"14908548038659782893165247402953652697777583767788866759039224502097413649479\",\n \"0\"\n ],\n \"14201130099316259693279856723922929993163681707607471899179853314688243018483\": [\n \"344972044429419192836055443336162080171650415972771914530909595686234327982\",\n \"1\",\n \"1\"\n ],\n \"20229213135485524672757397711096421628496947257079036862877627351479838467554\": [\n \"14201130099316259693279856723922929993163681707607471899179853314688243018483\",\n \"21417075415399715364314681643853731479471097827462712897618892113957841614012\"\n ],\n \"9138483477257866241874204589403893906646260890359076220006914745575062667035\": [\n \"20229213135485524672757397711096421628496947257079036862877627351479838467554\",\n \"0\"\n ],\n \"17127792380865080506465359092460558206164006834372117593888111620049036946475\": [\n \"9993356443473118691940401071433934692055748754855491968854434573076946532601\",\n \"1\",\n \"1\"\n ],\n \"16967423690440945673382158640732993153370652857978991253823599074577969064267\": [\n \"10515821171279236753603950253416920721007313243592214421556287556997089112181\",\n \"17127792380865080506465359092460558206164006834372117593888111620049036946475\"\n ],\n \"8193097340077389022422838582379621500882376400702367381590355959657695143748\": [\n \"11301469926845769684673449423494250461559014727165385943274264877747124373136\",\n \"16967423690440945673382158640732993153370652857978991253823599074577969064267\"\n ],\n \"16401629083857187767773189210083932696019364768746203846460521046878974713142\": [\n \"392893456267584891365626940523394779819749681047842259088870838848251646413\",\n \"1\",\n \"1\"\n ],\n \"5209233188248348796945924623981464464197934030455563108814372686028075774556\": [\n \"10542369020151564853868771214091997083726978535530464578124327524760249482714\",\n \"16401629083857187767773189210083932696019364768746203846460521046878974713142\"\n ],\n \"14433195499418412511919158774890226305653778827842617460294821781337109588447\": [\n \"5209233188248348796945924623981464464197934030455563108814372686028075774556\",\n \"0\"\n ],\n \"8710731583191732925936622031998695988939113891554583462798357361177533114687\": [\n \"15060867976802286735530844027497412200758766264716727903768701632616774921460\",\n \"14433195499418412511919158774890226305653778827842617460294821781337109588447\"\n ],\n \"8506909208872982834694799095166437429258110436060194784636797281663120029988\": [\n \"8710731583191732925936622031998695988939113891554583462798357361177533114687\",\n \"3759019646525403741957238432576289319665700677773257000338505743264607269799\"\n ],\n \"1735501907656289871249868203201359938676723574564997298451760217578639702997\": [\n \"10586494874099861443146593246449204024373930621021558512040268615899441583631\",\n \"1\",\n \"1\"\n ],\n \"5910238494735810519740512980614083202228896275118573044350002601458388923254\": [\n \"1735501907656289871249868203201359938676723574564997298451760217578639702997\",\n \"18641349336248839133576278102755149645514363146076569990074473230021234967523\"\n ],\n \"20019787019273822700465176360461246470653567628381330241051719200674862375700\": [\n \"8514548589463124358088730921740262811649633414192588090289778825002747072078\",\n \"1\",\n \"1\"\n ],\n \"20189267433782358989305142097488064439435677961022353314202724886417847440816\": [\n \"20019787019273822700465176360461246470653567628381330241051719200674862375700\",\n \"7618399647790582217915303451757372935682454886242819589381254429393780636682\"\n ],\n \"10302541253775999962987600029481744516407628547188948618879257973943319995657\": [\n \"7509878500112047797943327627154375457345963849322466001957878709653545704247\",\n \"1\",\n \"1\"\n ],\n \"18611033535324446186286572276204863695603734163890580370911022932374050395395\": [\n \"20527732026905162491850607836093841345934219427320370445197141646816231660450\",\n \"10302541253775999962987600029481744516407628547188948618879257973943319995657\"\n ],\n \"4700510229645002996008161799770342451420113415542319921544277039762074201921\": [\n \"0\",\n \"18611033535324446186286572276204863695603734163890580370911022932374050395395\"\n ],\n \"8265783299514005215186122975378494040353453754294609932418925837944220667313\": [\n \"18876492497669143052097502506490454688634047330522924030967226487310103207900\",\n \"1\",\n \"1\"\n ],\n \"17532176400265730801042334171674674806484925814460128388230076242190053978809\": [\n \"21417246998028422471237959517009203405924892725081907951519014204684723460137\",\n \"1\",\n \"1\"\n ],\n \"5190842343542310811638999056146023594426284463621126667127355097572571090557\": [\n \"17068356049147154767446877974877990880458404976080113343118497164778557753287\",\n \"1\",\n \"1\"\n ],\n \"11653187407021092980995198788523207429010766260854374643636356719072983230881\": [\n \"5229055798273203701572832092874213561785075145306315873517528950171015757475\",\n \"5190842343542310811638999056146023594426284463621126667127355097572571090557\"\n ],\n \"4669834151875960704915483010572200470073589969990901078415081252425651309780\": [\n \"11653187407021092980995198788523207429010766260854374643636356719072983230881\",\n \"0\"\n ],\n \"1065049334704434197914831115170311580972586673192146957572297941548564954644\": [\n \"0\",\n \"4669834151875960704915483010572200470073589969990901078415081252425651309780\"\n ],\n \"81619665344996168596792060085238456904102376598576738233761186286007231969\": [\n \"1065049334704434197914831115170311580972586673192146957572297941548564954644\",\n \"0\"\n ],\n \"18041558915367472893491864513259348164293738065536435762538191457759947344511\": [\n \"0\",\n \"81619665344996168596792060085238456904102376598576738233761186286007231969\"\n ],\n \"13346614917097062458534594216526108154815886797694356325548604085759338250881\": [\n \"18041558915367472893491864513259348164293738065536435762538191457759947344511\",\n \"0\"\n ],\n \"10853017558488811752114025691558984438455624437228563368121421815215928353684\": [\n \"13346614917097062458534594216526108154815886797694356325548604085759338250881\",\n \"0\"\n ],\n \"15234311539928099325498785760638011518679669140436757339921610121906808548936\": [\n \"19525001896711967985661540152509044097087351027384321415959829115247375249631\",\n \"1\",\n \"1\"\n ],\n \"19644946784692355120314787667223470707584818174683645877246817699625789667348\": [\n \"7851167788178035135892879701305961633433936049722192416997817001068513776113\",\n \"1\",\n \"1\"\n ],\n \"12421809081356153020474204539741980748439226465756504584512648582857001101023\": [\n \"19644946784692355120314787667223470707584818174683645877246817699625789667348\",\n \"10159952649850474298904427787554625239184563322624926926614316755472212431700\"\n ],\n \"2105250209051953770629651909168774361734553985952702585488513734668682995347\": [\n \"12421809081356153020474204539741980748439226465756504584512648582857001101023\",\n \"389392354937187744124766044646443195584923779942306897818959619312608410670\"\n ],\n \"12430337525622476245039963002910010654677321847286426873124456839489183482910\": [\n \"6056722558701275588043028170575170172433059692110940259518683775469798549846\",\n \"1\",\n \"1\"\n ],\n \"12305542887132378532619180961416476947909534247953778483433119822636300163347\": [\n \"9888839169901706662408315272094867069468434800344683535188860350082706457293\",\n \"1\",\n \"1\"\n ],\n \"1883382043594299868156639632821952227261819415260109638644901311594460305313\": [\n \"18313750436534089967784950268018435769688150737504548532438408128206161380711\",\n \"1\",\n \"1\"\n ],\n \"11359339225122764144481551180240170003279830871020635141969292410442010468022\": [\n \"18266078337046706687269632862155242004288235203311300696584694784128106153237\",\n \"1\",\n \"1\"\n ],\n \"13674640839303017182345360023134150678926748166664061353947660796180595810797\": [\n \"9765573605536934036896422397088239371356182040745569424089560107821890032315\",\n \"1\",\n \"1\"\n ],\n \"11245136810155591688328907871963263537556833149673284170921011491962370688509\": [\n \"11634588708164035272793717473800286081222192872344745029053330816298522331045\",\n \"13674640839303017182345360023134150678926748166664061353947660796180595810797\"\n ],\n \"17313386019440281702603258595583299109415407475773473407147950673494269776782\": [\n \"11245136810155591688328907871963263537556833149673284170921011491962370688509\",\n \"17408831340968194454710115278085201571293007706600362363189872974242995895415\"\n ],\n \"20593706464328065266091107073298649277083559102577638723659982377638862600014\": [\n \"16091184286470342359529621217024388935402502646578140467872205282398299000085\",\n \"1\",\n \"1\"\n ],\n \"7700750833552451087879778453659412109916236299270297626414640039498497896402\": [\n \"2053888876870678590842346210243932431953700748699205406822327006626596737268\",\n \"1\",\n \"1\"\n ],\n \"9953141065961242002055739202744752542392768996221979384750948762792312495418\": [\n \"7700750833552451087879778453659412109916236299270297626414640039498497896402\",\n \"4053706344332530328538752975875207937665720717634324335246423651092647753487\"\n ],\n \"15812703763139875556785537365198087294551080887271557680558469869946462007629\": [\n \"2015735441649695098916473599250021017925604258019259683886096896195707778131\",\n \"1\",\n \"1\"\n ],\n \"15455264917537561826658530108628785610725497594751951701483253731435025141900\": [\n \"2159852503489359740483294531412323981852425420380262759443786814576947248279\",\n \"1\",\n \"1\"\n ],\n \"1036772675874387987244533943299185171200576659112472047658637053094501137312\": [\n \"20677849277525029538588488749418239044325908568139382509389761077618557880322\",\n \"1\",\n \"1\"\n ],\n \"17885728081194468046043044478915948172013189785010490656750917748024961029436\": [\n \"6608887396338976615285963648880956965492385355258485400734209573976850831671\",\n \"1\",\n \"1\"\n ],\n \"14637617921977987651685018807929439651637053339886752938224082441940821019755\": [\n \"11141222192428543952834518634100886086071387361105011800556571868001961016376\",\n \"1\",\n \"1\"\n ],\n \"12537209493834897899928452596098067580766419552030396583965455042116083288250\": [\n \"4319507199630660636994161072064293482725438222058233044044662390393342837574\",\n \"14637617921977987651685018807929439651637053339886752938224082441940821019755\"\n ],\n \"20793184380218457548559718873659534564133154376176716255980031221442050316436\": [\n \"0\",\n \"12537209493834897899928452596098067580766419552030396583965455042116083288250\"\n ],\n \"21389473606751477718565711258542777111344525275585997361432827542343591395376\": [\n \"19095822793091018772623452051898904701173963047586558809223975274417368889254\",\n \"1\",\n \"1\"\n ],\n \"19279426688144010583208391503629493883564295748578407528923198756111738036126\": [\n \"19062445650252034249062160008194407691329288814817057485644511585143045749417\",\n \"1\",\n \"1\"\n ],\n \"5570353201725448928574147029625642860513807405614831297957953902151887775397\": [\n \"1969265761306657531079503632725082885116988957354799014475765598379565929060\",\n \"1\",\n \"1\"\n ],\n \"1684973286724957682532757524780801888318396855788107844275869333582529093335\": [\n \"14934872321469104964703937379960084603289209506780369634616091153488842985746\",\n \"1\",\n \"1\"\n ],\n \"12433637758079901461425147216951895404136320952406587382057735219193714729075\": [\n \"1684973286724957682532757524780801888318396855788107844275869333582529093335\",\n \"4061381053030850355297475162906159565731726876915063975139604169557421526257\"\n ],\n \"3026387226540461817383520002174703662807823384786838912018359861414446097816\": [\n \"0\",\n \"12433637758079901461425147216951895404136320952406587382057735219193714729075\"\n ],\n \"14988427889401273691436717647363912401820602324111317320339489660607801879064\": [\n \"17980801408843191778009592152565880899038050169042251357059004549077060125118\",\n \"1\",\n \"1\"\n ],\n \"12857632044496133650668920942807951020597379229123294007606461417526049620057\": [\n \"14988427889401273691436717647363912401820602324111317320339489660607801879064\",\n \"6894749762188466805013345036955399408018823935472085614384138801158703256884\"\n ],\n \"18892104767919973974211528584593118958021945928576229483446381861262761241404\": [\n \"12857632044496133650668920942807951020597379229123294007606461417526049620057\",\n \"0\"\n ],\n \"2656585966067470494123857556383826200703856740380419554266967707301878107020\": [\n \"18740956179512573729005571101284342191579243566611048117008532982740443118947\",\n \"1\",\n \"1\"\n ],\n \"6333416466995419631469794635401507921766624672863107103631618642994601381911\": [\n \"443218397476510796313111896027066979598418800739582747345537723865596186740\",\n \"1\",\n \"1\"\n ],\n \"1682830020308009319733123232403133082060997647939723538399832986210632739305\": [\n \"20009632983849917882631778003748257373136804830675369631740588553210818406299\",\n \"1\",\n \"1\"\n ],\n \"15866491505565603883219286411829766381330379001891494284352216924377652444123\": [\n \"7670350755605443436780351931295520928806403884840171976144854019771449233778\",\n \"1682830020308009319733123232403133082060997647939723538399832986210632739305\"\n ],\n \"3804212416388459428353761988545989540571782041359134529997371806635575616554\": [\n \"15866491505565603883219286411829766381330379001891494284352216924377652444123\",\n \"0\"\n ],\n \"18245131227831246327871788273594215974615382313705220573392377254619107221229\": [\n \"3804212416388459428353761988545989540571782041359134529997371806635575616554\",\n \"2164382837001071275289900477737678599283878174677228100400077893303458480247\"\n ],\n \"19976967999827465984693417120574532688867476655047871422027400082098038201224\": [\n \"13139685374184462661634850704224022440668014357188168969257189769945370109847\",\n \"1\",\n \"1\"\n ],\n \"11202508534474807037809687198943385991483327637113446336056628670143431607719\": [\n \"9384006087616046313815937052374651008281447708700521551867871878485532286100\",\n \"1\",\n \"1\"\n ],\n \"18261647734868204045945426159269156552206427905173135321900702939398504505354\": [\n \"20924478421077844514279538162282371039714919570378760287092694941240879353498\",\n \"1\",\n \"1\"\n ],\n \"6410808395298275564436121487894919592389665795871175740587198318255711541623\": [\n \"13544076949949052272623815806509752166722782757434041524726313188761318616296\",\n \"1\",\n \"1\"\n ],\n \"2427099977023840479947132830562698583895896290678133277373961272001486582806\": [\n \"6410808395298275564436121487894919592389665795871175740587198318255711541623\",\n \"1337172480282385512114639084914651363147831703190698012565006281600716096146\"\n ],\n \"15445880174072529413363251918473220033155263980978600231046226962988145228497\": [\n \"0\",\n \"2427099977023840479947132830562698583895896290678133277373961272001486582806\"\n ],\n \"17186507142485874755971500810832442777253890806147714015624620084671675790980\": [\n \"0\",\n \"15445880174072529413363251918473220033155263980978600231046226962988145228497\"\n ],\n \"15270549460500880158101662184940527555990527063269496451756171691566613769055\": [\n \"17186507142485874755971500810832442777253890806147714015624620084671675790980\",\n \"0\"\n ],\n \"20549487749830510467024884796447825246446594800741468335422281051160087135973\": [\n \"14301642413266536310014734545333747070241578919907353592850928849517204989550\",\n \"1\",\n \"1\"\n ],\n \"3919303176812071187821874839564924200266254001393298479408088729494924327173\": [\n \"17362202149242318653125375488451030197753837889984751643771567307717527016744\",\n \"1\",\n \"1\"\n ],\n \"2726150435605221854760611275341292330779640391000668141868876721315134764297\": [\n \"13813004126817202549620746632623168652033166960476703561723098193073658494713\",\n \"1\",\n \"1\"\n ],\n \"12328686521929293097190936449933015558690212590282183323777357152895734371551\": [\n \"6098183702138312656279289403182964440907516546391101546354403784469224115834\",\n \"2726150435605221854760611275341292330779640391000668141868876721315134764297\"\n ],\n \"18416843887308250895515150968846468039164677156592573245070962468294662458964\": [\n \"0\",\n \"12328686521929293097190936449933015558690212590282183323777357152895734371551\"\n ],\n \"2144296933882374627621816256975616653494655741939407371152727255738103333510\": [\n \"7377162869007935334121981633276716656537571562006006859757234295248214414060\",\n \"1\",\n \"1\"\n ],\n \"18667416906797269867397795802121191908421678123272307255981943608224170530322\": [\n \"20279053524456655189474064568078845927108059540248813902547075681782364496721\",\n \"1\",\n \"1\"\n ],\n \"2291002531168633197231239018601008603263847759704419887342192639892169448870\": [\n \"20788090644069649030598436125612493054953622150114916840905982377841526304695\",\n \"1\",\n \"1\"\n ],\n \"16789667778018913534852410876378189533733393074073971397325790276790546975064\": [\n \"2291002531168633197231239018601008603263847759704419887342192639892169448870\",\n \"9335601381212876690007167534486602581136263386948746451532508190826693644052\"\n ],\n \"11637072125525099943597827848043366427619569765451015778485961547293093471366\": [\n \"17424199325035222290960640520368954931774738419188314209320102424696424345386\",\n \"16789667778018913534852410876378189533733393074073971397325790276790546975064\"\n ],\n \"1583764665058781706836623901531728321322871065561934960621394517814406700382\": [\n \"17241462073310431262423485103406027696355026939723277697095125318079879967027\",\n \"1\",\n \"1\"\n ],\n \"7797686944314717739329838200214057757604996474794955621040511196058816677390\": [\n \"12544334504127214136770145510455181475036335215230820159388683029325299211959\",\n \"1\",\n \"1\"\n ],\n \"4255269940799491632417795135228482430013512646700725649125867467038078668811\": [\n \"20324138406562596687475253811273154471634470831740078580272929898108760390589\",\n \"1\",\n \"1\"\n ],\n \"5871041116962802467643785445788179816522067336187686219420012117722054878324\": [\n \"8704046822799874791695544128662794356713866459076705388138392709155503779619\",\n \"4255269940799491632417795135228482430013512646700725649125867467038078668811\"\n ],\n \"601264094084202812237427098214285304009608733353195173518686358324532253210\": [\n \"9341455565446555576349842638378056492971753197471468269785089781800694021139\",\n \"1\",\n \"1\"\n ],\n \"21110652946074054091199932340333393157762034685267785725545977339402021266271\": [\n \"18092527053181786178141034466336195491859529426076842006444087863007048972440\",\n \"601264094084202812237427098214285304009608733353195173518686358324532253210\"\n ],\n \"6281310410563584626794648964251769327798950209158183335456731811062408317102\": [\n \"8282864901298970303836719196268386915550169025371565790023626000415293368276\",\n \"1\",\n \"1\"\n ],\n \"15636814472998376350954983159667461960917361572178924312722776241556738893489\": [\n \"16451941738121413498501396524067831379957666268473887592780033954263346528826\",\n \"1\",\n \"1\"\n ],\n \"17055783270034496301864615164272307297237993956737988092479553689780050745874\": [\n \"20186578462314123041172759934730611849159987775550633790620136153501013518601\",\n \"15636814472998376350954983159667461960917361572178924312722776241556738893489\"\n ],\n \"10282872739368256133233451418332026304515341054787649967862166074308290798732\": [\n \"17055783270034496301864615164272307297237993956737988092479553689780050745874\",\n \"0\"\n ],\n \"7682341017015283601653462550305380475516467213324793339354079069490121514093\": [\n \"10282872739368256133233451418332026304515341054787649967862166074308290798732\",\n \"0\"\n ],\n \"12837289635126294483074467775239676464412904443000206874964011529846063471533\": [\n \"10448626389383598087741641798712057864461167510338192839853847931747370454729\",\n \"1\",\n \"1\"\n ],\n \"10234671006917836857020389278659890791339044794048135952066461878514473793289\": [\n \"4351941251281919865766081204013309197390791270258537520968113417432484819224\",\n \"1\",\n \"1\"\n ],\n \"4249984854348490052352111731308583636141476404615807033431708130715808162528\": [\n \"10908160876656189123298579235696843457281388524269224636959967459070614648870\",\n \"10234671006917836857020389278659890791339044794048135952066461878514473793289\"\n ],\n \"20726400399027420207094501334409735119116992417645872868273800116798366121441\": [\n \"6105326736412962701832146172868282898539689292306023731841755345770384161217\",\n \"1\",\n \"1\"\n ],\n \"9323456525446759560393955825940948361560531678104381570097603429373793597511\": [\n \"14050595720624420158091372462830319776285874277691642002144917929615129899311\",\n \"1\",\n \"1\"\n ],\n \"20533317588190296838895743899326800068187628078675598679039636548778490188517\": [\n \"3454800105097608030536674862545984441272121471006373358929285671825488957736\",\n \"9323456525446759560393955825940948361560531678104381570097603429373793597511\"\n ],\n \"5556514622640476035845857290347694590652779282340531984308317706930498099328\": [\n \"1134449347486645998413690614376424174800047692040487907777927183712772064203\",\n \"20533317588190296838895743899326800068187628078675598679039636548778490188517\"\n ],\n \"13154265779195935287190697132311726420265868035864055713365617478907241704309\": [\n \"20961567269787288500406925194938267779360478030192693611865576806018999753732\",\n \"1\",\n \"1\"\n ],\n \"6660662462319470758429993105920379581374741658679833456534022565794369980359\": [\n \"8861667286753212537647674699758541040305042917255735176464809210593441397248\",\n \"1\",\n \"1\"\n ],\n \"19468847944262321245369689942331754203776376148363453907027047193596456948492\": [\n \"5160498904431566499565702154768916375388153333340443120306285461496500784577\",\n \"1\",\n \"1\"\n ],\n \"6374743327353155978048003344058379985059196707897678457403380390601494327987\": [\n \"804163122206356053324751603427926783956901015378505675168867762300649277912\",\n \"1\",\n \"1\"\n ],\n \"2109619296213656178344062259778192004556918107150756855843390819707978804530\": [\n \"12982411767520286887185521636485658987005566432872345678379405381085788003816\",\n \"1\",\n \"1\"\n ],\n \"563039498326909687244853366590136757343376752953810781017565344226553424800\": [\n \"3063815581666298736644243095306842638312104123129244888490015470488650789905\",\n \"2109619296213656178344062259778192004556918107150756855843390819707978804530\"\n ],\n \"14097133184222996020692971615201482987172039004381557258361063767772840541735\": [\n \"3807088549205467613920797934938723497833841072218914577402956979827907025582\",\n \"1\",\n \"1\"\n ],\n \"248551874515660456315516977607293623881025257669822960752774785107180649794\": [\n \"10919711030682443104963633244483587679494166328753542390464260304944673778318\",\n \"1\",\n \"1\"\n ],\n \"8940634272730206596435961947775205474541341545443384872677430197877997830952\": [\n \"19962008157948207959363955197106966212059112563598534077214884548030756496880\",\n \"248551874515660456315516977607293623881025257669822960752774785107180649794\"\n ],\n \"7993177179261884939244998144467610072393197720599187152438026483821765750084\": [\n \"0\",\n \"8940634272730206596435961947775205474541341545443384872677430197877997830952\"\n ],\n \"3862564880757784303845745686718866309588284862313240854803096562325117467059\": [\n \"7993177179261884939244998144467610072393197720599187152438026483821765750084\",\n \"5293441109818487632634035572423898822237503250022629782233896030155999545339\"\n ],\n \"6097604874497320189472368559669636822400373999305790607055056932087834217535\": [\n \"3561718860394605114351427651093524958535837659156712100273786576183903561184\",\n \"3862564880757784303845745686718866309588284862313240854803096562325117467059\"\n ],\n \"19464418549646842208518878671433759358790298271371139264843538583593461012264\": [\n \"10162788171904023543255687852671494089643635140346790247307781787596311875053\",\n \"1\",\n \"1\"\n ],\n \"7267746863198948043419397741782170330636047318475329385103145052608943056896\": [\n \"9049208398302031085504446850557225632109118115370968701633632224103015055067\",\n \"1\",\n \"1\"\n ],\n \"6557955849120916343153600333479452262428691971403038990464365272705583888394\": [\n \"6920222823245123018640714582765258710815541956412596357578928969359687541177\",\n \"1\",\n \"1\"\n ],\n \"12088920158165906006433899673354726161220578821252676151138016806953276257791\": [\n \"17634286384744780250706402303166505050092231464174754213363418780195293625690\",\n \"6557955849120916343153600333479452262428691971403038990464365272705583888394\"\n ],\n \"2341477601228248115412026932476290992826967618001352464611882438901351462825\": [\n \"2455706541691121270640614914574577625338537125128038647736371850880739164284\",\n \"12088920158165906006433899673354726161220578821252676151138016806953276257791\"\n ],\n \"7893035797305762628234026371461752417834108848597165650410728591183884605470\": [\n \"12129229197021626842044192986172156192357536586379126783041600778467637650976\",\n \"2341477601228248115412026932476290992826967618001352464611882438901351462825\"\n ],\n \"14573012515641693028077366635447132755288509890474499367589095500010313540988\": [\n \"3220672655265720928002364267026665832268807896266034648331147016769415836381\",\n \"1\",\n \"1\"\n ],\n \"19559389138233524091610165251031609884130279621492807162963490434774074758677\": [\n \"15510956182788798592844699990168946262657694865309954530833654599353981197735\",\n \"14573012515641693028077366635447132755288509890474499367589095500010313540988\"\n ],\n \"20521989022646000987553795300243422730344849755875441633760345144527013772341\": [\n \"16929921214100574286050456252885541780845261523110694551154913684762381765320\",\n \"1\",\n \"1\"\n ],\n \"12265489892023302374457926602993533304962258294899225611398663005205202160753\": [\n \"20521989022646000987553795300243422730344849755875441633760345144527013772341\",\n \"7260916257990027390207456840237528858502290501080365364923138084493597240440\"\n ],\n \"10061406106038138223869380676643216307487657296349059188818405246076250161462\": [\n \"12265489892023302374457926602993533304962258294899225611398663005205202160753\",\n \"11087986491055461359679324794621573982398006189692742231645183696035989457067\"\n ],\n \"1731127990769878309848246404202651405857483456947455213908172430063181493996\": [\n \"19294025685377751670358497203578665724270476286028374590035875224347828506522\",\n \"1\",\n \"1\"\n ],\n \"8081885243371561578520866865462421120526475092274961576177729492030366259007\": [\n \"1731127990769878309848246404202651405857483456947455213908172430063181493996\",\n \"12499652141722835174954574915797898327036086326388726897325291388410892923351\"\n ],\n \"3766619709080343340476111269169753624187851942694873090229506293381894236154\": [\n \"19659963418898248076205270484579072261958124023766562279705112425119511416939\",\n \"8081885243371561578520866865462421120526475092274961576177729492030366259007\"\n ],\n \"3014339795293610157816139218492781913405543378546335442258267366089177668288\": [\n \"644372177872631970611034931696384480697510057736952227083403939855315284593\",\n \"1\",\n \"1\"\n ],\n \"4294228183916208142854541880795834633738460043117538512278764255355799831517\": [\n \"770836591706263571859527493565229378252843377626668286386302894916598039900\",\n \"1\",\n \"1\"\n ],\n \"12682404814834489765469144623079836035516709395466003126831940994667286308809\": [\n \"4294228183916208142854541880795834633738460043117538512278764255355799831517\",\n \"11504000177642105074881015671821446401414845785031314263189145809949718765641\"\n ],\n \"5653650212197165786830308499410176844937043974477078613645247186412314804436\": [\n \"20509253947486235290203355786009703727559492468584682429402050936317289745746\",\n \"1\",\n \"1\"\n ],\n \"10636258391038040416863385066150603159430901777139973515519634880203173578282\": [\n \"6667321967697983731369186585461902602710994040320092563639102465925898044953\",\n \"1\",\n \"1\"\n ],\n \"1977089609907495358709499398114423812111158776476734708459441746986738924493\": [\n \"10636258391038040416863385066150603159430901777139973515519634880203173578282\",\n \"8187341654122354821097614166762398195810831801520553649948398039583493852633\"\n ],\n \"9695352353769082761567165677256320634969799483229373752955558307591865446010\": [\n \"1977089609907495358709499398114423812111158776476734708459441746986738924493\",\n \"0\"\n ],\n \"19055319329505337099101929397408034219625844628944484828546521918922255404014\": [\n \"9695352353769082761567165677256320634969799483229373752955558307591865446010\",\n \"18843940323124978908504561497472363594440188416979117388247043787438020271244\"\n ],\n \"21646133247261326070081122327740131913028128386815274830548094117606054514478\": [\n \"262594773233409188723421120166536738233342822240869630071369426312065727024\",\n \"1\",\n \"1\"\n ],\n \"12848593940580169753667455982585528530182191213775966281667358590261401284516\": [\n \"16365630861931177326836682091962574439601902382451679666287499865341338822881\",\n \"1\",\n \"1\"\n ],\n \"21786987840421368077073131052708661123626201098161090149087144527369554228267\": [\n \"12848593940580169753667455982585528530182191213775966281667358590261401284516\",\n \"19885638289061148448947079885180874195846530528983381925159324720111016260294\"\n ],\n \"10194570648261042236812493854974530397483777594093235877154559136468538484743\": [\n \"0\",\n \"21786987840421368077073131052708661123626201098161090149087144527369554228267\"\n ],\n \"18644381448111149875156691651065483101895779741777874510880574535865522978458\": [\n \"10194570648261042236812493854974530397483777594093235877154559136468538484743\",\n \"0\"\n ],\n \"16525360369294108791243740710055864974257188599962199247682889428348098620477\": [\n \"20914465618776094211475254281102009930191541835290488644313477186233756275353\",\n \"1\",\n \"1\"\n ],\n \"7599367088682148651075221309307700555896098438034691222094004361156212417877\": [\n \"19760239737441270841738388754632305070889177810129178348782270369801809902805\",\n \"1\",\n \"1\"\n ],\n \"16794281392329400947122052111001842785298153926944048428616145923308505384238\": [\n \"19769739742714822401023599251296765233071640574578456478501883485346263752563\",\n \"1\",\n \"1\"\n ],\n \"15915613610610146885875468986096295580711182901926844030881714895916978406809\": [\n \"4467519307314453844676282746509078481392544758818710048423045541034902697111\",\n \"1\",\n \"1\"\n ],\n \"20408406441373221883278477128240013375947987005854105825827296621798410108736\": [\n \"10373450363355512532396549647563413832083375315495491721135143324465485625903\",\n \"15915613610610146885875468986096295580711182901926844030881714895916978406809\"\n ],\n \"19169641909605979572399463337122247799457850833683699302861840916218167335018\": [\n \"0\",\n \"20408406441373221883278477128240013375947987005854105825827296621798410108736\"\n ],\n \"10532404607074408004585143946067404725478227495564516248968181215295332102943\": [\n \"19169641909605979572399463337122247799457850833683699302861840916218167335018\",\n \"15455264917537561826658530108628785610725497594751951701483253731435025141900\"\n ],\n \"2035505040919079486684488666019441258419898437716620830927804377120541356982\": [\n \"1975608238943025064747260708942364261653827162432994022607967105706409807693\",\n \"10532404607074408004585143946067404725478227495564516248968181215295332102943\"\n ],\n \"19528053660469056686909844451889265672527342959472133582792953259861002102834\": [\n \"6857422487681397886724265433105952910074314795301789953652912272846962956590\",\n \"1\",\n \"1\"\n ],\n \"2246707334029181566670554289396410442987377454061344335721423279058240213695\": [\n \"21418477881697951140862379492719109136462035768808641278242840097695957499314\",\n \"1\",\n \"1\"\n ],\n \"8023470010715027160835436865123059607720169615887163757660213496659827805060\": [\n \"2246707334029181566670554289396410442987377454061344335721423279058240213695\",\n \"10521543478002311958577373132758641362445035036359781872413230628573785206207\"\n ],\n \"10452456337730595426393338214842076125871968917230389156603455537587197669756\": [\n \"9900735362031199442228516197888620793800124584693454010152807337705993476423\",\n \"1\",\n \"1\"\n ],\n \"14117792764014233413363554715588293720885798604713506955710314773401347964167\": [\n \"10452456337730595426393338214842076125871968917230389156603455537587197669756\",\n \"11190592996598871239190819065980571249544254969254184471793448964307530752756\"\n ],\n \"10901559834782583165078474133272724317765033775566223848581370860749360299766\": [\n \"14117792764014233413363554715588293720885798604713506955710314773401347964167\",\n \"0\"\n ],\n \"6434391957959133791402024255857876739191730796203803288481968996022073842526\": [\n \"14821930761085748225367723217607965942212025015853936530135579062494703239577\",\n \"1\",\n \"1\"\n ],\n \"18110361564997936156234320563954580791654373603079587731099119492845990439099\": [\n \"10048396338278750222291478369577677394619112418937135859265073537972192958730\",\n \"1\",\n \"1\"\n ],\n \"19395706385914683375434514861308150759419684611312237347658039944935361551975\": [\n \"18316221463076619723638100180214052031318001699082208987153242667618486050549\",\n \"1\",\n \"1\"\n ],\n \"13202711150045344584717355176888202182320045563599452598464204529077861967519\": [\n \"6098753174483996998386452648038671730721449870200360386684942950148772207191\",\n \"1\",\n \"1\"\n ],\n \"16479259507160689598782487451851762370312660768693141180201680594449778691160\": [\n \"13202711150045344584717355176888202182320045563599452598464204529077861967519\",\n \"18391380131076637506499481018959800704954127885391191328915838031897722977049\"\n ],\n \"14060027334027389087127577432557161180577851599188899999647722442251646928594\": [\n \"9064391579896141636223522998557763191911465831893822153064417023451049063662\",\n \"16479259507160689598782487451851762370312660768693141180201680594449778691160\"\n ],\n \"16074580326297924102697053908731780943351770632223580504670148273000556338394\": [\n \"18091628941421142959733178743975404195546826882377847174124650003963858656105\",\n \"1\",\n \"1\"\n ],\n \"16509105650333627190875155398584707693078758193142499493209293251303198068126\": [\n \"4895788723555772836917869173901673219660873606584865979128158362408799784175\",\n \"1\",\n \"1\"\n ],\n \"8443433903139941516261390116914245073336518875714771291020143203586147846918\": [\n \"16509105650333627190875155398584707693078758193142499493209293251303198068126\",\n \"14530070709330026271215805129197137465016230798376368909860363321703914644574\"\n ],\n \"20609978243085447562483540072501832630507147166726096310292042522796850921472\": [\n \"6279640841791794746525917509136887338840442939280848701191617783145833853221\",\n \"1\",\n \"1\"\n ],\n \"10457409630034148486414472887537279520442035892717197801391570172358466861561\": [\n \"20609978243085447562483540072501832630507147166726096310292042522796850921472\",\n \"10147700108746211926385922624073009826835047720568936996468778065614472026860\"\n ],\n \"3040068824867854591786902650086230573419910399584757021421128737600207908088\": [\n \"10457409630034148486414472887537279520442035892717197801391570172358466861561\",\n \"0\"\n ],\n \"3472529623133961102512019039713606180471559412198547213180208985084252943103\": [\n \"0\",\n \"3040068824867854591786902650086230573419910399584757021421128737600207908088\"\n ],\n \"7445592901300825804042677141744185076863364876898086690677243132728442364231\": [\n \"3472529623133961102512019039713606180471559412198547213180208985084252943103\",\n \"0\"\n ],\n \"13070457135253305245363111763277524176675483982731003067803943389549975653622\": [\n \"7445592901300825804042677141744185076863364876898086690677243132728442364231\",\n \"0\"\n ],\n \"4065026353390549804640221549417546644831089476493637805461064791497225268232\": [\n \"0\",\n \"13070457135253305245363111763277524176675483982731003067803943389549975653622\"\n ],\n \"20637419177880866147082168236501736629490041655375668123305770921753388161428\": [\n \"12802537329514494206212016866908420660519013832541086730262320900616465595959\",\n \"4065026353390549804640221549417546644831089476493637805461064791497225268232\"\n ],\n \"9549320058970910656887330042983994330975062223044558853348594315953783807461\": [\n \"1812361015307739763875143533775805242602727342254715000473628261363001211036\",\n \"1\",\n \"1\"\n ],\n \"20434406427608507710303505784087063089048059988305030335861910522507585532720\": [\n \"4034957957291515080505314067837729859013565559545812236495945673368267625154\",\n \"9549320058970910656887330042983994330975062223044558853348594315953783807461\"\n ],\n \"8676775637449404502135298005215946450180706886732906556304840474763818075302\": [\n \"18587200178755969856582860239984886116433632120923134796607110835659562823752\",\n \"20434406427608507710303505784087063089048059988305030335861910522507585532720\"\n ],\n \"7764257401984426535338049199572618040349732396048563300728756563286726232665\": [\n \"6028575762573542191508119923090202099342221798697693878310273852627373378977\",\n \"1\",\n \"1\"\n ],\n \"6465114421502234251700934743066583268878282756095454547775758749891663411071\": [\n \"7764257401984426535338049199572618040349732396048563300728756563286726232665\",\n \"13274720660234670033622616026067922170897813446613955043685214995988014360707\"\n ],\n \"1110500402489377381241571228839007386694758953507115450475829027663532615193\": [\n \"19418776477569280030509900478960915900011283732527788131936989223333224711696\",\n \"1\",\n \"1\"\n ],\n \"11419484740658889198087049315114341026805424925734700397429308638321466724556\": [\n \"697065473106798558588250082040583046417003470531147079482125314125645756992\",\n \"1110500402489377381241571228839007386694758953507115450475829027663532615193\"\n ],\n \"1063607794939084550429260226157714406228829470797778161094596412612542977552\": [\n \"0\",\n \"11419484740658889198087049315114341026805424925734700397429308638321466724556\"\n ],\n \"8107873453224548906666988256550793604462980464016619378177969204435458414693\": [\n \"1063607794939084550429260226157714406228829470797778161094596412612542977552\",\n \"0\"\n ],\n \"20737557997860927801611970849867435694872023702755710669063403738147730888053\": [\n \"8107873453224548906666988256550793604462980464016619378177969204435458414693\",\n \"0\"\n ],\n \"8229708986989655579416667832590970414240822278764072082449760359034087177973\": [\n \"20737557997860927801611970849867435694872023702755710669063403738147730888053\",\n \"0\"\n ],\n \"20274132536016588003510679088869117703658788110576435795188094933303435147249\": [\n \"11408655630159418955610491403762916681735499964167315882334822616898303235384\",\n \"1\",\n \"1\"\n ],\n \"11667421306520805788781171920483978246299310854621990989572249080527001331617\": [\n \"20274132536016588003510679088869117703658788110576435795188094933303435147249\",\n \"11476121755231090130673390374688694895911680227253355017429929120938189827348\"\n ],\n \"10245635109970029353745194551655658214619285232508962973596709580702737486070\": [\n \"11667421306520805788781171920483978246299310854621990989572249080527001331617\",\n \"732839259743518717574494370091578414725094123169484001182130648578642881118\"\n ],\n \"18014888243026684616193035547860289655992252823276492192430957312998736155516\": [\n \"0\",\n \"10245635109970029353745194551655658214619285232508962973596709580702737486070\"\n ],\n \"6868295872779766426654578729746740951013853155735037989536094096968311488798\": [\n \"6082193915045870962048888937889057300054781723753870253048166837634385442490\",\n \"1\",\n \"1\"\n ],\n \"1306812065303974286131876652076068960426547260007706311935724062492293905688\": [\n \"12884551163614320134173280957281349431880991528374816962035254390501467684812\",\n \"6868295872779766426654578729746740951013853155735037989536094096968311488798\"\n ],\n \"13576868178925042300413918922648030566608676415857934620770913054024285115947\": [\n \"0\",\n \"1306812065303974286131876652076068960426547260007706311935724062492293905688\"\n ],\n \"16853749598982248392993135244899546811334201085989494181617702095894343401067\": [\n \"0\",\n \"13576868178925042300413918922648030566608676415857934620770913054024285115947\"\n ],\n \"10900897349254381365419547540262340403912354188229776831780006251583890738875\": [\n \"16853749598982248392993135244899546811334201085989494181617702095894343401067\",\n \"11312138720296926211093525454613247675155222583159360284745598653666657580700\"\n ],\n \"12145255410826787313177433441198074523003453650606142720083603898519765000993\": [\n \"1049236286041800183223210723680657704544297111077341021053500274925589638755\",\n \"1\",\n \"1\"\n ],\n \"311097580134839412337717651368498171426032358377847911428457446901471874873\": [\n \"12145255410826787313177433441198074523003453650606142720083603898519765000993\",\n \"9022705347903397005876962125717607385430824779790081843918910869369767780459\"\n ],\n \"15254746587712410717465865507370077713709217779681272492770793034766391680754\": [\n \"0\",\n \"311097580134839412337717651368498171426032358377847911428457446901471874873\"\n ],\n \"299671072290943842812866711178872586237856547757100536889952507236514049093\": [\n \"15254746587712410717465865507370077713709217779681272492770793034766391680754\",\n \"0\"\n ],\n \"705118787104413837391166125542264539460550067813463346404247351272414322452\": [\n \"11939083735378695765306231033784825943213020838629016749684485784177976065805\",\n \"1\",\n \"1\"\n ],\n \"13856486930093019359307030858998672297929063974160650946894467520621011392935\": [\n \"705118787104413837391166125542264539460550067813463346404247351272414322452\",\n \"9666124973223253577087597739108884249281137421380943332785849742443041166191\"\n ],\n \"5468956667412001663661605860734278377363717092698167422597381736958439897867\": [\n \"0\",\n \"13856486930093019359307030858998672297929063974160650946894467520621011392935\"\n ],\n \"18354286930147810372401386683470954340365968531039110817899817304332954059326\": [\n \"7527794692448282948560349596194218664233315991772786125404032158840300531700\",\n \"5468956667412001663661605860734278377363717092698167422597381736958439897867\"\n ],\n \"13617139988407566107312894142636154456813505192006924445685597888044914694477\": [\n \"0\",\n \"18354286930147810372401386683470954340365968531039110817899817304332954059326\"\n ],\n \"5903970304266296864730704071149781972435246767838086374979973610749476201011\": [\n \"5793747815285583478680431275634972413384716639639827315255402863506242523614\",\n \"13617139988407566107312894142636154456813505192006924445685597888044914694477\"\n ],\n \"9600606261738548932230340850936723984416222977433325490753676944365314860877\": [\n \"13100301883297420699355107679104539121129016384970915659559454216357313444398\",\n \"1\",\n \"1\"\n ],\n \"20790071821359243920284890223928276641728589398793815505621330689123639618761\": [\n \"1006216082420507267188275644798770673543263641356327005066694465971897656658\",\n \"9600606261738548932230340850936723984416222977433325490753676944365314860877\"\n ],\n \"18268472097503805208069300288276223772851041962762888587330102442237396820364\": [\n \"0\",\n \"20790071821359243920284890223928276641728589398793815505621330689123639618761\"\n ],\n \"10008181320322639282744431354784721447990761639668907999265287696475801699205\": [\n \"21438494987450257526756867528428508931863873054632602342565409662483403448968\",\n \"1\",\n \"1\"\n ],\n \"20914764567005419355532381391918512842132216429197092051620657564981528728919\": [\n \"820911984354803207150455714006379397652184371342110518516120942257301425250\",\n \"1\",\n \"1\"\n ],\n \"13589526148642150205983134026866740287360501670252372832531238096450317373557\": [\n \"8855216253087962578434135595183293991355617769582576799046177934947576503664\",\n \"1\",\n \"1\"\n ],\n \"516001680053816611536128126544300976405348085864297713112989739695239483532\": [\n \"9862828740520303485729780267194450809540789284944616297935878348121883581632\",\n \"13589526148642150205983134026866740287360501670252372832531238096450317373557\"\n ],\n \"21503091209501441635256243822019721519534538609051400928111244305165972517839\": [\n \"516001680053816611536128126544300976405348085864297713112989739695239483532\",\n \"6137971007927248152652997726094672805050030228216477288343947670234246573600\"\n ],\n \"1095378409264890303823066658901073407444854126041784857404481166406928570599\": [\n \"0\",\n \"21503091209501441635256243822019721519534538609051400928111244305165972517839\"\n ],\n \"11963934231051152063834673532608795977333167151887723115269006636930298533121\": [\n \"0\",\n \"1095378409264890303823066658901073407444854126041784857404481166406928570599\"\n ],\n \"1562709320228162515969043740275111049636580152128468068507452809094974423916\": [\n \"16615630382973564533725469267630905254157804049653189532192755894645123050342\",\n \"1\",\n \"1\"\n ],\n \"16953427274852987342008768316116598492262471429145901508266649925270692719652\": [\n \"11538605374990495675680962637794688968623914180603458289988125518935693256879\",\n \"1\",\n \"1\"\n ],\n \"21817507440701143341913509760061832132873708243711420666338199250697660277452\": [\n \"20206147538647190755445639371018955256194096648490129484584350448057963824709\",\n \"1\",\n \"1\"\n ],\n \"14443709419970215661192748553884459512093959934187020182177881865023157751436\": [\n \"10912966246475505347208599172425466978563164617264846826247341219305142443770\",\n \"1\",\n \"1\"\n ],\n \"16981631561503342635597209865601872779026936778708248054372620816894858807595\": [\n \"14443709419970215661192748553884459512093959934187020182177881865023157751436\",\n \"383036665493500959200705858681141922291662142744065883931340583876027483552\"\n ],\n \"7544750299292768019144542276718449478074516687452266373296473441928260922487\": [\n \"0\",\n \"16981631561503342635597209865601872779026936778708248054372620816894858807595\"\n ],\n \"10374438873813974341085523293012724904291666717277218513532248427027691302014\": [\n \"7960805750574332342084694505903685700358853530111331334266301178769349591485\",\n \"1\",\n \"1\"\n ],\n \"6324431677536434236849370622617550549320555006990199517790488313720010224687\": [\n \"10374438873813974341085523293012724904291666717277218513532248427027691302014\",\n \"1884727656511394989242132918848002373526001363089654900836710259499113758460\"\n ],\n \"3430513880317350291552578627186458733752665812966911370781251838474908743672\": [\n \"20487543154935430019044533510709556980355431924108128942340027233612773546509\",\n \"1\",\n \"1\"\n ],\n \"1044147370686396014260923528856693268068369928406434195791062590820433899567\": [\n \"12437709103432314079031419865016851259758646878166636729461839319684638676238\",\n \"3430513880317350291552578627186458733752665812966911370781251838474908743672\"\n ],\n \"1126853452669913772022190240805094236681480403527627481167501677679948973354\": [\n \"0\",\n \"1044147370686396014260923528856693268068369928406434195791062590820433899567\"\n ],\n \"9930434908580890041499225833650780514458703082912289454668967298712795555345\": [\n \"14774372640327044576514887580278176667812256896955159425021867703471871395589\",\n \"1\",\n \"1\"\n ],\n \"10862902736276704627609600735563228220583226643709640921568223257253855279730\": [\n \"9930434908580890041499225833650780514458703082912289454668967298712795555345\",\n \"18879657569717555340022771365992693521381396906429662916133802753017221073942\"\n ],\n \"10224760537234866129281781131914700195466744429447379901749062434106663910585\": [\n \"1030530999597816662093445180156839055962899991797504084835229942306998817749\",\n \"1\",\n \"1\"\n ],\n \"440274402263585307369300293006776071421784553849677368736523839796139310052\": [\n \"10224760537234866129281781131914700195466744429447379901749062434106663910585\",\n \"12926186603368247215780608415939778131854776172616387147114949872394095179562\"\n ],\n \"17356436379666087236855170996372801590900448846349036883068305181091251714771\": [\n \"440274402263585307369300293006776071421784553849677368736523839796139310052\",\n \"20198994508291578694046679947980377137755513532013762333697782073203017856196\"\n ],\n \"11194924787600059569673975486765278504072805066351706973689388096551216291281\": [\n \"0\",\n \"17356436379666087236855170996372801590900448846349036883068305181091251714771\"\n ],\n \"21394923172908312432377916488336551271981245400175331848708489740073306022094\": [\n \"11194924787600059569673975486765278504072805066351706973689388096551216291281\",\n \"1565978373839548584608914575932266685130713658049474282967872815421433605927\"\n ],\n \"11174847737307998665205453111082997611929794543551135132764196146805625881700\": [\n \"11013655719015462714512771934489206991523701239532821412380862584369575693228\",\n \"1\",\n \"1\"\n ],\n \"18772727354088457858686775690566611039008008320392373888812723409145538808873\": [\n \"7262039410396408401008747620992529884086819673171124855194073917744182360781\",\n \"1\",\n \"1\"\n ],\n \"6513378274543352740792796954916933699148015280794829707356630278224115382801\": [\n \"2396284192271041147676588397085560504256243764360640763870462228876370157577\",\n \"1\",\n \"1\"\n ],\n \"6005218772138813553987414144706707630515323291430522617162856448320942336109\": [\n \"21553642918054654901257872248522152985561739461374643192621678583809629278764\",\n \"1\",\n \"1\"\n ],\n \"5022113917595326283432109954605653749230534231509403238600522121643167689249\": [\n \"8201083278025094746621225884575809937042882872636204086064035906041365867137\",\n \"1\",\n \"1\"\n ],\n \"1185726046525646493581382281368980008352878955386382117301173663517805627393\": [\n \"19847119093087866832470483006402797102116577340073877584006751699934666237829\",\n \"1\",\n \"1\"\n ],\n \"17778722563964596788568328030218573563596812338475320679240922225158897409668\": [\n \"7135806718130800147034648972848578662392202513962189232672125795881906467757\",\n \"1\",\n \"1\"\n ],\n \"21011101673509700599763861782696063877373806398211215816466218185794151466378\": [\n \"4998081070191910134784132990934800738442485977050141756924284341507943727760\",\n \"17778722563964596788568328030218573563596812338475320679240922225158897409668\"\n ],\n \"9432656589066143768391232541468085910709052305876525443226905464336852852598\": [\n \"0\",\n \"21011101673509700599763861782696063877373806398211215816466218185794151466378\"\n ],\n \"7600291655547867192431725687240134215041119414106046061874966260050489732983\": [\n \"0\",\n \"9432656589066143768391232541468085910709052305876525443226905464336852852598\"\n ],\n \"14793105119007177197472164252222150987986883955316710373087569090594521052758\": [\n \"7600291655547867192431725687240134215041119414106046061874966260050489732983\",\n \"0\"\n ],\n \"596142982311376576511285825337516808556312797766869242441076088341803705265\": [\n \"16456155088709797465595328218267025035641392151771043429055857355969433530507\",\n \"1\",\n \"1\"\n ],\n \"15020152838436844655877508238370600534223689145472416007771872932813938612392\": [\n \"11266272753942137860692732620672392207465522093346478339051778741124807359390\",\n \"1\",\n \"1\"\n ],\n \"5510338570646365766334942217333427668333066884758141707016152481258421388157\": [\n \"11813822703885573029049598026947395868153048679915189666546875447439508087074\",\n \"1\",\n \"1\"\n ],\n \"20676503461559493553976320783915841335729634737648006496499980346398554783589\": [\n \"5510338570646365766334942217333427668333066884758141707016152481258421388157\",\n \"11185544032030423986282215352096688249653862622069560567795126637116614541189\"\n ],\n \"20111146836763908336162250542586192415005533651799268467616311126423538229200\": [\n \"0\",\n \"20676503461559493553976320783915841335729634737648006496499980346398554783589\"\n ],\n \"18516968868349434134807098149233336355551912383435160474130037501524433864196\": [\n \"20111146836763908336162250542586192415005533651799268467616311126423538229200\",\n \"11682489052650028378286343675761287356412371174662718049423300366845655631860\"\n ],\n \"10880104046986938850628575177733511014407668692076614487166627623649115066796\": [\n \"6999970102691852028171379791388995016089108049795130292312034926361342049198\",\n \"1\",\n \"1\"\n ],\n \"11177032384377201706383578478155605828020849029668229964493890124395925590298\": [\n \"6832771439006402420630369157636917316439649331322680997440164190884374908556\",\n \"1\",\n \"1\"\n ],\n \"18379015769193520623029282154897051775935589264470187017924451045861645543767\": [\n \"12374694531779111408135504385924646952958454855519236067279032453497455079664\",\n \"1\",\n \"1\"\n ],\n \"2524834788588096804203329514829976807968834095191426484309977792772713026708\": [\n \"12261037513235478469230387478111518241815227602782354597875884318699012393198\",\n \"18379015769193520623029282154897051775935589264470187017924451045861645543767\"\n ],\n \"21690931179329043557119621238975428496691249266522207247294566147309633224741\": [\n \"9608099741520143139794327810381504322913635104010579164580178050692952702448\",\n \"2524834788588096804203329514829976807968834095191426484309977792772713026708\"\n ],\n \"1566498903313809174584717420578543713668998805465137933417340085258865237265\": [\n \"21690931179329043557119621238975428496691249266522207247294566147309633224741\",\n \"9832837995993527549492866042902118854895211641365806219100213624891680503643\"\n ],\n \"7875384816280045769023542392422981029726963907064601657330613596067840080654\": [\n \"752739644697183829290015063773481322202796480829873312601432632968930750973\",\n \"1\",\n \"1\"\n ],\n \"20956711227210841992643705829611252287097012421350195239038585590068229504859\": [\n \"16304610417300942656508397650039722709754580385502532032816802594365238179024\",\n \"7875384816280045769023542392422981029726963907064601657330613596067840080654\"\n ],\n \"9963194646754501283032762462935663359049588867151662962782558297249023667924\": [\n \"0\",\n \"20956711227210841992643705829611252287097012421350195239038585590068229504859\"\n ],\n \"14081225844121949163713419115684181855656435632163265795712513303786808635769\": [\n \"9963194646754501283032762462935663359049588867151662962782558297249023667924\",\n \"486899586961088218403433210345602327961741486861424851557984935799857771259\"\n ],\n \"4619640830413880103591532692275729485743436502732313063567878285011980318309\": [\n \"16284421674941769538720702283163753100652200264225766887865640226497977089370\",\n \"1\",\n \"1\"\n ],\n \"2413680677459869658372273890338786654762001716075932143242175887983728717046\": [\n \"19242015462102406231705315468830674397437785576252816442170334933558413807748\",\n \"4619640830413880103591532692275729485743436502732313063567878285011980318309\"\n ],\n \"382442565595994256283886579587812094620666017373160198954007491503161401774\": [\n \"4672320644946393534497452430510120514981798865815474870897944935258575149801\",\n \"1\",\n \"1\"\n ],\n \"19302712756386842856953702472889513389263207519112176356540788143162509687791\": [\n \"13995028073870436441033831563222586500780640624743011839183484208431502346371\",\n \"1\",\n \"1\"\n ],\n \"3916861707784424253797805118923136677116988022308785919098922144634562814775\": [\n \"13885089219054932239872008782957307344550362965412858236092330371935668008500\",\n \"1\",\n \"1\"\n ],\n \"12779047359679299930048413113119516256223767828671527194775228219393242373821\": [\n \"10708547870504894467425982967419188826925200543750502204440454990921922711635\",\n \"3916861707784424253797805118923136677116988022308785919098922144634562814775\"\n ],\n \"6674344798628773629940407984555253824812697449304659517295863123161984356719\": [\n \"0\",\n \"12779047359679299930048413113119516256223767828671527194775228219393242373821\"\n ],\n \"1101005617988181382156057514672683896918415489598137139893223490818075586319\": [\n \"0\",\n \"6674344798628773629940407984555253824812697449304659517295863123161984356719\"\n ],\n \"13043742147483639553239202332092336082163666406800280492504408948214973881835\": [\n \"0\",\n \"1101005617988181382156057514672683896918415489598137139893223490818075586319\"\n ],\n \"5906812264181002101225576900907737476795763839932018158935601308846894931707\": [\n \"13043742147483639553239202332092336082163666406800280492504408948214973881835\",\n \"12999353450119386675472526634034392286599823113108802823412216045953386603280\"\n ],\n \"12709098784293736035205673496933480774659012083045588746679099482097307291017\": [\n \"17779836889789759426891650419479108394428014929348156303871104628635914757471\",\n \"1\",\n \"1\"\n ],\n \"7219580412635615140218252623329132394469576550915445890893185395693322507333\": [\n \"12709098784293736035205673496933480774659012083045588746679099482097307291017\",\n \"9778078455374261937134271403899439847234050758975852835764746171919011709668\"\n ],\n \"4566718835675094499210207993168425015855622663050302279577278185305944469910\": [\n \"11058321669361012768638114140959667967621516419468715674175976684731562191563\",\n \"1\",\n \"1\"\n ],\n \"5144818494365646008735455967659056980110451539851449655338390352397939801488\": [\n \"9100306198612264001622006149014017629197123771363325315240351672813989682316\",\n \"1\",\n \"1\"\n ],\n \"18763501344318781134069381634646384630680709811986277192320658486973372360438\": [\n \"3297320468520663731294776361366149081481968766281861929414938505482231870702\",\n \"1\",\n \"1\"\n ],\n \"9594729591308058558813242320888203863711889863708524338004270021810674757297\": [\n \"4140783501839799955085553044714487499807890890391136822804265630517229589391\",\n \"1\",\n \"1\"\n ],\n \"21809303177747334712566724056326488375707480022565087023565070174348162547040\": [\n \"9594729591308058558813242320888203863711889863708524338004270021810674757297\",\n \"13226632293783414051569469343654718253530117667993534857830101225547333185247\"\n ],\n \"13015621555286504582929619119451162788499179876403174200793002469322534008838\": [\n \"14582967235848753966091137684229622203034230824186585190978802861517819684761\",\n \"21809303177747334712566724056326488375707480022565087023565070174348162547040\"\n ],\n \"8481317605043684155724499475395046465392262154247312154163863890309188993995\": [\n \"13015621555286504582929619119451162788499179876403174200793002469322534008838\",\n \"3915817576488714730948786387483145286301938146760828391491076983796411289320\"\n ],\n \"6797378168727991484301577286776952994858799722269282983781171372975656080261\": [\n \"18598373262173506654519379113254142780511060210243168557280764996664478989993\",\n \"1\",\n \"1\"\n ],\n \"4099277588643336815160089303354688299205804205753967761367995566155108690626\": [\n \"8110051695911659222874859323140237957825598304943049778708416744773909944394\",\n \"1\",\n \"1\"\n ],\n \"3122083532916106931550307454666175653978022217155886132207612994968381837951\": [\n \"4011805144269968189086018737052712834356062981245980569656386176465770361955\",\n \"1\",\n \"1\"\n ],\n \"5380423652112159714170212796830473478703545923269031053221704804953281318908\": [\n \"16919610807929440528141371537585058016020034169711613647558106150699465377276\",\n \"3122083532916106931550307454666175653978022217155886132207612994968381837951\"\n ],\n \"3333950927098728137017417251785797588483017705741173181815183973336301199579\": [\n \"5380423652112159714170212796830473478703545923269031053221704804953281318908\",\n \"0\"\n ],\n \"4229241060212961392773004550192457728472440289460106149153758068726752492644\": [\n \"19661684673291028454715157021988911670848193777148863521311546478464275762276\",\n \"3333950927098728137017417251785797588483017705741173181815183973336301199579\"\n ],\n \"6426393150007678896751959706805672378234689116545350014558956636747295371578\": [\n \"5664981431126376780936644802071481533623476343646126948501844485938807879923\",\n \"1\",\n \"1\"\n ],\n \"3351531199273672559632196402012963575328572767312386993136253332499050142905\": [\n \"20925325546423788768973353646850803592554855601626772140416664359611453006636\",\n \"1\",\n \"1\"\n ],\n \"9142018098334706826929538303027818033309115965789828112637424978540790150918\": [\n \"16362164544829089795212531162291969983270099083646128714183839294517065917266\",\n \"1\",\n \"1\"\n ],\n \"4568706776217401414014275842223904109293073594705891367926551338980298803898\": [\n \"3646702773503005654720493484317081789725061268718754461952487943700789849939\",\n \"1\",\n \"1\"\n ],\n \"19928836427083072500709803099026572700831319104693941216164280234156122296135\": [\n \"21109208028585682428032707120557873166880398838964177797536724780722120922156\",\n \"4568706776217401414014275842223904109293073594705891367926551338980298803898\"\n ],\n \"10560074455191039501765663355698071434366137779644415310805503077253125855478\": [\n \"19928836427083072500709803099026572700831319104693941216164280234156122296135\",\n \"0\"\n ],\n \"6666598589454646048201291290921327316893354882019661865359238542994998311000\": [\n \"0\",\n \"10560074455191039501765663355698071434366137779644415310805503077253125855478\"\n ],\n \"14475702422365753739172329363481351314927637829531239361513410884368657913773\": [\n \"9411548237627328568414030040259406652254604691982267209709518000077718107208\",\n \"6666598589454646048201291290921327316893354882019661865359238542994998311000\"\n ],\n \"13492384275757185239548794679838919902472294624568853998878337518346945196713\": [\n \"11496479255326807346877076248593731828741002776707921758139453557830362086217\",\n \"1\",\n \"1\"\n ],\n \"19127774501604121203799762645144616067210836643385100672271475425712234817561\": [\n \"15546732546759373001775986731621185297934162270793953065384618870114479671637\",\n \"1\",\n \"1\"\n ],\n \"19293205348500654947655282561267009778770785652422420787604685233128340510260\": [\n \"6166180833565800379773462228648657414141868704822937628283932597206586286609\",\n \"1\",\n \"1\"\n ],\n \"20168331172628656125242830300175466188162346420822307923064559101558482095065\": [\n \"2510331201301618461537287547861302141393842012335125051296349415014701780567\",\n \"1\",\n \"1\"\n ],\n \"7993804548970818606044729772437516504162216651762607754291258017437900176725\": [\n \"4259108914696594404111380717522995702522897748169087315920870917438515727120\",\n \"1\",\n \"1\"\n ],\n \"2775694796105064098556945326869225601616914973213319690515396219205444259065\": [\n \"261576857231468669975803156190359281641865734067130505040309982840207639709\",\n \"1\",\n \"1\"\n ],\n \"1867991123885727034059413581315635912348848745229854050042272138982296762765\": [\n \"20500119193357659446660987601322206224742232500859921495097147624391605547118\",\n \"1\",\n \"1\"\n ],\n \"13756454527659359229380418977457024772982933107374843225607462965278396222210\": [\n \"14181949791654833262894443231631818751260698341419962793464612123384726836227\",\n \"1\",\n \"1\"\n ],\n \"1654532357919195961381052160179928809015161455289621692699859732947203195417\": [\n \"11080923541662505295750212312136477122451207361925277713002403352258067764145\",\n \"1\",\n \"1\"\n ],\n \"14945496198814696905250510355702469050200021114670431128858433933889524795737\": [\n \"4814463881042476669780049785290937515675935924686428634312495076586678115012\",\n \"1\",\n \"1\"\n ],\n \"15887326674030539246330266553056800492597300082989469065076309560982214966760\": [\n \"21650963588226636554852122547439458051161046849141391362220842122966492740939\",\n \"1\",\n \"1\"\n ],\n \"14740089868660893652459015564989079191535162453247305576878791713980460011069\": [\n \"21476509002591426093760143509510445720925330670570572662675271907556351563740\",\n \"1\",\n \"1\"\n ],\n \"13457707942466899928525074941202883606601716367750011900270564983824245542951\": [\n \"7957250070335682166426521861934877276749686308097479980792603529051626461302\",\n \"14740089868660893652459015564989079191535162453247305576878791713980460011069\"\n ],\n \"6882442763491440855014561886269956436616651087392366136241844705972248492688\": [\n \"13457707942466899928525074941202883606601716367750011900270564983824245542951\",\n \"0\"\n ],\n \"17451468854900763976756954034685990604308859463028095365504648292321723645612\": [\n \"17663395209522568093760366659909849456860487044844331149497974675573336224677\",\n \"1\",\n \"1\"\n ],\n \"2803333863158662103445694985837731230177128405613512486811449760753272815266\": [\n \"10632680729862894099782295457839547026394470710333578160871913332873634737622\",\n \"1\",\n \"1\"\n ],\n \"6788076295463347942103505028709993265342240301495754265083670882766767764505\": [\n \"3555749474831694856628056321524210832918101116352332535408990434274149170818\",\n \"1\",\n \"1\"\n ],\n \"21316332479901524366910985460171486704196464783423780772849652559870262169157\": [\n \"9561734647749585118747527686489975730885373010123375736515009454982734828803\",\n \"6788076295463347942103505028709993265342240301495754265083670882766767764505\"\n ],\n \"2455868066143776475400073177654057065790470144730237407738424364671587710364\": [\n \"21348261702344448917460084127065351318734342071885458425186103876630956338279\",\n \"1\",\n \"1\"\n ],\n \"20738101067582060440344140575646771384212852768702023447444104142532291791276\": [\n \"4525223398283902095276896026759946763012126096220006776875990599893772857686\",\n \"1\",\n \"1\"\n ],\n \"18161150034294788204232710575242088727718048957263190760019761838341956137321\": [\n \"2305719791134271475035228517172886816036853649065444046938834797094622544959\",\n \"20738101067582060440344140575646771384212852768702023447444104142532291791276\"\n ],\n \"8967370099518955267096138804888301431731764863739049782090987721785985428690\": [\n \"1480456873548417343580309615156452817343119862900343190535795247303626072358\",\n \"1\",\n \"1\"\n ],\n \"18420315264709264663856222417220217529797898534118778067534750159701407171873\": [\n \"18340824477214222258359134666310741384183288184429416103883078286010227483961\",\n \"8967370099518955267096138804888301431731764863739049782090987721785985428690\"\n ],\n \"4078853183672808928727133072357353213782563345403331377564760327937010794155\": [\n \"18420315264709264663856222417220217529797898534118778067534750159701407171873\",\n \"457970091600595052876934775747142842144714832532319522204971929518718233970\"\n ],\n \"6116761011441522908250254639773359417398400749021988571200645910997404366082\": [\n \"4078853183672808928727133072357353213782563345403331377564760327937010794155\",\n \"2437659390754891173331629686011595866979818549029156550965678557063741137366\"\n ],\n \"6110525440785961557683034167666872876398567442537045016129938421492286566571\": [\n \"15860521854766425307321540692915504694998954590805266535038834401850157907913\",\n \"1\",\n \"1\"\n ],\n \"5564840482930923829776380801728390405003615000599399523853783693793510218839\": [\n \"14549589518242130672714547711050020202321066814829313141303171147261969152494\",\n \"6110525440785961557683034167666872876398567442537045016129938421492286566571\"\n ],\n \"10034300291063731780925290558060918662435877858284405212681412343894934909795\": [\n \"16020757857630589743552511240724791619912834628762165567489682209363078146887\",\n \"1\",\n \"1\"\n ],\n \"20404956647153641330787214009923556156011833443687589798679407969020207966045\": [\n \"20083098961258185733564138876321625511309729782227617383466840037308422260005\",\n \"1\",\n \"1\"\n ],\n \"16230400128511407159240694018343294244274450562365940577378586015847142627038\": [\n \"20404956647153641330787214009923556156011833443687589798679407969020207966045\",\n \"13525902411494190701785577803242930051431441839434738083595550835362009336366\"\n ],\n \"12016311709788241369512153099579423939152222118521848075545642012514100003878\": [\n \"16230400128511407159240694018343294244274450562365940577378586015847142627038\",\n \"16195426593927676106181362860250608995639014693351272159140873123561232406314\"\n ],\n \"21488690029681971635859669086168008013850377053565641463410673003323066584009\": [\n \"12016311709788241369512153099579423939152222118521848075545642012514100003878\",\n \"0\"\n ],\n \"17362418124745855995488735161580624002330184191807031227966642816635859825032\": [\n \"8373777533272992040887288483857222795681353894869957030415186252933388587132\",\n \"1\",\n \"1\"\n ],\n \"17319339862565717659543387805638845705369865829166668634288329716655308531914\": [\n \"20595583951184478120987731436889909970058684908330811799010679033136322498483\",\n \"1\",\n \"1\"\n ],\n \"7341075898440860470799539246007092599854246040018759093104229945647207886657\": [\n \"12264988878497079821299582573850042798986697038830937943955691837723060028061\",\n \"1\",\n \"1\"\n ],\n \"19879899135564156937679539415379855927642935582509575549986254795515672248094\": [\n \"13285792653000338832473218513575111061120496948164503146614818663801862709196\",\n \"1\",\n \"1\"\n ],\n \"8941748302818660142277658557231070182651975600044666247741892170799191915195\": [\n \"12190943213332698346762349761933796213218805942226827180701166262135144564501\",\n \"1\",\n \"1\"\n ],\n \"16398305443967077017205774501189312620870451331816044406844409946734748382961\": [\n \"3041366925827357109646742554068171346323554846691615943072956709116069828642\",\n \"1\",\n \"1\"\n ],\n \"12117776159399934172510676152358452919302019178793549086337893372862260023168\": [\n \"1986369540589418144285726247103853607887368945462092206355032846600306667260\",\n \"1\",\n \"1\"\n ],\n \"3500104852606194976587099094196610945926373558080484052269723562922229408899\": [\n \"6990212307258296682496935501789080063616147798762924473794579373027324813044\",\n \"1\",\n \"1\"\n ],\n \"6926034514218353852493090912603726534194003197943764777065454916169753828535\": [\n \"12251775949518909079257727550860686761965730811645589802801723536807158005021\",\n \"1\",\n \"1\"\n ],\n \"8947485174915322513261587682540373155402158583504392223186331995095463834536\": [\n \"20628991407242193747599261022894503490784725588809717870578805489233689427545\",\n \"1\",\n \"1\"\n ],\n \"4802972726458620610235152481047062340710056209340040280545613420522696170503\": [\n \"19502796096446378649353348906695217829828910353112930425019559139604230859773\",\n \"8947485174915322513261587682540373155402158583504392223186331995095463834536\"\n ],\n \"10689614945347549598358121151828917359078407728762251544362522210835893655224\": [\n \"14989863002120364057084935192636200121848767961374897751163532611862255914513\",\n \"4802972726458620610235152481047062340710056209340040280545613420522696170503\"\n ],\n \"11683645024774523830205019037997117503869028424644751451538471668807590364189\": [\n \"2197364234391325209423614194732055096846485864375852284568543407202363983149\",\n \"1\",\n \"1\"\n ],\n \"19744158009828410550228616950340033117571556552873236449872731391115109428194\": [\n \"1153270816319014894713291772373364990341460831774539510775288476493663461793\",\n \"1\",\n \"1\"\n ],\n \"15448121396975291692819813338491818116937490112415117742318691245728315653957\": [\n \"17173788599127807078785670755298538413492708739467638006556963704106636384598\",\n \"1\",\n \"1\"\n ],\n \"7271649547962501362288676502962648168581059859338202315891042867963136105836\": [\n \"20768526457514441870690543058611356777035893126179184397908367433174425805992\",\n \"1\",\n \"1\"\n ],\n \"11292139342156470942853304763930615679188028114004361818247981483574893660812\": [\n \"7271649547962501362288676502962648168581059859338202315891042867963136105836\",\n \"5306023133579053260544141238880416911566769989359237543286825431637774140906\"\n ],\n \"499453095625426846519501330090741371361510417696846279388530147812937610855\": [\n \"11292139342156470942853304763930615679188028114004361818247981483574893660812\",\n \"0\"\n ],\n \"19451271810387357806358935542908955729158282957920412657225413570168641927882\": [\n \"10826074530778418075124137310917888627916510463909605179085456053457410497140\",\n \"1\",\n \"1\"\n ],\n \"302997607169738450250832472890765660302424442898823358110408945361995081462\": [\n \"8602625542190492346787620489402554811019794425292262681163340420541986180576\",\n \"1\",\n \"1\"\n ],\n \"16173467882398316640038473601366808874493236485654678507221589962465334795514\": [\n \"302997607169738450250832472890765660302424442898823358110408945361995081462\",\n \"17497062694002289541882654151798446445441002881114191794247288105588370294781\"\n ],\n \"12283195664166907634443650808772177632219930241091308354339493964618607479401\": [\n \"15324524650456854617925167969303314873526684932981425946060481722389653976598\",\n \"1\",\n \"1\"\n ],\n \"13270819302456482860289332648761308976148054509583651803254032611838535479306\": [\n \"12283195664166907634443650808772177632219930241091308354339493964618607479401\",\n \"12840624763386206850911534495925643360063403117096888928147930832254430573281\"\n ],\n \"10501581293892535140987735882630346064144438577578902491340424726819793638031\": [\n \"8486129091077865774996540722263346409864453831648263748291330146216652774026\",\n \"1\",\n \"1\"\n ],\n \"13366799048345847280008191149424364931478849780435039094261788423235712292808\": [\n \"10043673226322808835045784189616561072961248150063023567473563498673812243825\",\n \"1\",\n \"1\"\n ],\n \"18994379530727680635415936220343241299594773365362758395049257741570150413260\": [\n \"2613293486818590545864762125513388559740005344104850242633567580883319491957\",\n \"1\",\n \"1\"\n ],\n \"4320665129454768843861745785922811397425184986749903526129935068411423999407\": [\n \"19327591612627668079724371307248837220751710052610176044787650145712223965939\",\n \"1\",\n \"1\"\n ],\n \"1605390757980435217208149515536003840582148809810551865903229171711052685706\": [\n \"13554805469418480523239722037396568473935338104305491357268535706539392127978\",\n \"1\",\n \"1\"\n ],\n \"3681459463841205390158083511808466379681229072110791403493485991314735207995\": [\n \"21539604459108824518379833678597011034766255860866791004975042597928946514755\",\n \"1\",\n \"1\"\n ],\n \"18799627419034089826315014710241118658584534496860993563752195433419961210263\": [\n \"13375568197681341266949767845821631120296973922259277184567324758984288303427\",\n \"1\",\n \"1\"\n ],\n \"6774853819518059116487569737606528510188803732281170165958593150506353107380\": [\n \"18799627419034089826315014710241118658584534496860993563752195433419961210263\",\n \"9839176744766293893203738329566852801785488063543555066896561445820337721867\"\n ],\n \"15112693928669608441972877950268373752976405126811213898837214954387609671856\": [\n \"0\",\n \"6774853819518059116487569737606528510188803732281170165958593150506353107380\"\n ],\n \"1631051142192311541826391569999944216651360230906909392517128563722045342964\": [\n \"0\",\n \"15112693928669608441972877950268373752976405126811213898837214954387609671856\"\n ],\n \"14418248181060385843113150866193953442004542306594543276544716528038653694095\": [\n \"13358978504956909517009181652159143810841265528110088004962238016795490625603\",\n \"1\",\n \"1\"\n ],\n \"13200149135965177079659088553957593392299872540651405342987245110651427991342\": [\n \"8371534534735986335764596607296655369504215352851558881733768331549017657878\",\n \"1\",\n \"1\"\n ],\n \"16732357702368769305146842931006072523357744113850352956175100094556814662100\": [\n \"18368002176832366711726496608481089352384860079101930509290088061858485083736\",\n \"13200149135965177079659088553957593392299872540651405342987245110651427991342\"\n ],\n \"11316698527801622362471265657071937683246700620939246222155848105437775889610\": [\n \"16732357702368769305146842931006072523357744113850352956175100094556814662100\",\n \"0\"\n ],\n \"7655505234319025200429450315645498297155176672315868239101932894850620619877\": [\n \"11316698527801622362471265657071937683246700620939246222155848105437775889610\",\n \"13270819302456482860289332648761308976148054509583651803254032611838535479306\"\n ],\n \"21811534981832142441301344578006487816187910625273495912487655816467766551556\": [\n \"4643254410684037913240480278612785411211430932529111583022410039094679446171\",\n \"1\",\n \"1\"\n ],\n \"16232391022599462162302163639582279738777540143975867705634182647155594065964\": [\n \"21811534981832142441301344578006487816187910625273495912487655816467766551556\",\n \"19316337299599964000651360885371684271742089863320042512199579563223974540248\"\n ],\n \"13519776431773679111621067965385866968466439743401948404124787252877905723686\": [\n \"16232391022599462162302163639582279738777540143975867705634182647155594065964\",\n \"19375212038696516525713957875295993634583123083826807977960832541619595769368\"\n ],\n \"543878748610295642041283952036373806146853444449436620210965959937382184031\": [\n \"13519776431773679111621067965385866968466439743401948404124787252877905723686\",\n \"0\"\n ],\n \"466351970427829472818155138402931029489124399360878578019342080402250495656\": [\n \"1860278599531536020433168753896041032367439276028096434883808470646913160965\",\n \"1\",\n \"1\"\n ],\n \"11945665208941178562393597222470974007143524485560743391651267661182888490295\": [\n \"466351970427829472818155138402931029489124399360878578019342080402250495656\",\n \"17570134746567763069315110998398572514954894714293422196989704066085499787792\"\n ],\n \"4397909312155415366170424757292060636645183370943424400545643123228559681063\": [\n \"10862902736276704627609600735563228220583226643709640921568223257253855279730\",\n \"11945665208941178562393597222470974007143524485560743391651267661182888490295\"\n ],\n \"3071059220479511588516429969548319420245023095855546800531729600581693428727\": [\n \"14458623161838105995791801109677998573451841039901503665856336424312561265696\",\n \"1\",\n \"1\"\n ],\n \"10686134576032545478804284693313102651293386890589292473403939450119791566549\": [\n \"5794891531596124133329109356866046610002889372755784456023810421285435664169\",\n \"3071059220479511588516429969548319420245023095855546800531729600581693428727\"\n ],\n \"16988956849019430392225342822816046467715124700642518553432148417237632518257\": [\n \"19949151253090737903653639839948160588943434484031293715357699710726423055606\",\n \"1\",\n \"1\"\n ],\n \"6267040949108525591846883693142958298861984098045675263222228283528897272543\": [\n \"10984046076749875699934675255271629683047913444470125383007272081570295127570\",\n \"1\",\n \"1\"\n ],\n \"10069051697956540850348601925257311329743986689896263383128574974715208862779\": [\n \"16219649999032297982818640172628342831769582462295821486901624839938267746234\",\n \"1\",\n \"1\"\n ],\n \"6393334271404172016450569560941763599180411458639919315923996103740400227805\": [\n \"11140569771225520279311887267692788523492238328371217473326796673842651040679\",\n \"1\",\n \"1\"\n ],\n \"17527752575700364466202869295088494713050651621282853381712772896468561135192\": [\n \"10430784898948296311115662381860335408460282840569815484436557625183775958661\",\n \"1\",\n \"1\"\n ],\n \"7343278071431288173183256218289943187431193050811685923376078205535346114609\": [\n \"15618587104067268376094104342326084169850354713970387623488171177806937063748\",\n \"17527752575700364466202869295088494713050651621282853381712772896468561135192\"\n ],\n \"11057786730611456677318944932846040212379307446605251645089734208634837018354\": [\n \"0\",\n \"7343278071431288173183256218289943187431193050811685923376078205535346114609\"\n ],\n \"15004963287790400465997317510092753287837814212690633711725971581813185244287\": [\n \"21462715437853011616346950917753306462559774915522542041202661102795583564204\",\n \"11057786730611456677318944932846040212379307446605251645089734208634837018354\"\n ],\n \"11874069567288941401017503996383224652999214671128655745135460491509222805575\": [\n \"15004963287790400465997317510092753287837814212690633711725971581813185244287\",\n \"8350307458353394919158561550727485511584973168014584457872766625476222291133\"\n ],\n \"8381305057832345389609082455416808685121019447052192587075936060922981535137\": [\n \"11874069567288941401017503996383224652999214671128655745135460491509222805575\",\n \"0\"\n ],\n \"21560672348311398942048673674900527387136882563631204033732706777238461542786\": [\n \"3487176532595008947031240719864485229957596528204567699136735286498509962482\",\n \"8381305057832345389609082455416808685121019447052192587075936060922981535137\"\n ],\n \"3487133401201467053409066920895219884473345924842977232734871598323863364500\": [\n \"21560672348311398942048673674900527387136882563631204033732706777238461542786\",\n \"6881538517787578533525727541863922454819994004688040789318266459121731539195\"\n ],\n \"13815705245582541008736430455009499690667146804434458626390248333235352234367\": [\n \"6399204524634988972829816834839833062630727980632848176259427327686533455673\",\n \"1\",\n \"1\"\n ],\n \"3104457700300816900941597309778899834744321924051454152309761619182337008755\": [\n \"21584522663795396742135073144582401516982802580754186979496674712073386144564\",\n \"1\",\n \"1\"\n ],\n \"964314359691667862316543596389993063125273569574447664139818020102034252085\": [\n \"8110223526883279911374359560045497103964235285377962381620305049278091940311\",\n \"1\",\n \"1\"\n ],\n \"18042120479386261806230825931407830870728759714762759466329001321415982652901\": [\n \"964314359691667862316543596389993063125273569574447664139818020102034252085\",\n \"12503414847277226867864548893640351252769910601209738445750197251664416115944\"\n ],\n \"5667583378917893798978925880381528232295075366055972185760480199110921002305\": [\n \"0\",\n \"18042120479386261806230825931407830870728759714762759466329001321415982652901\"\n ],\n \"14510089652264364901976243349241086302459982305111735605456859957097300292602\": [\n \"18442704263883792810938571300704669366863697236316624626092365988140563849415\",\n \"1\",\n \"1\"\n ],\n \"12697302652616588609199193188206487024753761341047008301176937146778336386488\": [\n \"19137087418816660701250427576672932311615899828669095901260615793800120511998\",\n \"14510089652264364901976243349241086302459982305111735605456859957097300292602\"\n ],\n \"18622391205985837762747440335596796109265552758464583958594199303001484052003\": [\n \"0\",\n \"12697302652616588609199193188206487024753761341047008301176937146778336386488\"\n ],\n \"18558687696372090721554451676134255110826502768278779067334054724068771059615\": [\n \"5173333505384257135113321541711148218488987093566192131934615162253803647778\",\n \"1\",\n \"1\"\n ],\n \"13711183262021185128043763126494788104508369684943473451718626372434955923795\": [\n \"10060099315469416841040958078341039914812818303015246660428502141701680957476\",\n \"1\",\n \"1\"\n ],\n \"818398465805167147148474346886927961648000279001065588983019345395176751299\": [\n \"14966115916710863979879217245208654820431644526494922255970994236709667716463\",\n \"13711183262021185128043763126494788104508369684943473451718626372434955923795\"\n ],\n \"9121629027135328406963666649740969166468678034824967695435786987992044492855\": [\n \"818398465805167147148474346886927961648000279001065588983019345395176751299\",\n \"20266202036236714397753415516170232417171556375970747926587600670435945754404\"\n ],\n \"6629326733104110991339912394252083524008180576374540771111278290065192381202\": [\n \"13021417443815031743527980948058034639510945925544138276266038031504548246324\",\n \"1\",\n \"1\"\n ],\n \"4711334209030121191547192576670585246030021198259236935088800243269599543033\": [\n \"3104457700300816900941597309778899834744321924051454152309761619182337008755\",\n \"6629326733104110991339912394252083524008180576374540771111278290065192381202\"\n ],\n \"19090367265234069216803479252676729612545477071976823328076613370446360165302\": [\n \"0\",\n \"4711334209030121191547192576670585246030021198259236935088800243269599543033\"\n ],\n \"15044109965017288594875680056884914782320267203461969722588024967779668694457\": [\n \"19090367265234069216803479252676729612545477071976823328076613370446360165302\",\n \"0\"\n ],\n \"10927175925546708324252143060777288282878872021284658235438426273625552543453\": [\n \"15044109965017288594875680056884914782320267203461969722588024967779668694457\",\n \"0\"\n ],\n \"14711900641881804479280335904560726629947479442135790212994952412405868390967\": [\n \"0\",\n \"10927175925546708324252143060777288282878872021284658235438426273625552543453\"\n ],\n \"825091745949851534868901568509176938650696027606827930493744745320331963823\": [\n \"5510416951569877418766665432854740661005339585476688399869275871500501878008\",\n \"1\",\n \"1\"\n ],\n \"16449387612659918436099656886939897533204690954116027334335799142047729206722\": [\n \"11497440488375505490021946671176732038983420219378752652927903637441676152427\",\n \"1\",\n \"1\"\n ],\n \"14040154175801508233668169831986943279678822533744743456368014409373564687738\": [\n \"16449387612659918436099656886939897533204690954116027334335799142047729206722\",\n \"835439686837857219500583891282706447893619798067955270836286730024929692625\"\n ],\n \"12008434249140097039741176671369677351555936342843137228255221470934197528066\": [\n \"14040154175801508233668169831986943279678822533744743456368014409373564687738\",\n \"0\"\n ],\n \"16342651592719881984555619355565190124897099736574917626387570997250561354646\": [\n \"13703534586071793370276633040427456178090135918730074798205213659062541312465\",\n \"1\",\n \"1\"\n ],\n \"6681341196400673779819785934617505586038495592388469554361442506888492263703\": [\n \"16342651592719881984555619355565190124897099736574917626387570997250561354646\",\n \"2258866209482836085475505476213097542340249306769303492378761887510590041519\"\n ],\n \"5083623248888248876558354140374096548221465730714503577541430159652193939337\": [\n \"0\",\n \"6681341196400673779819785934617505586038495592388469554361442506888492263703\"\n ],\n \"10190425941963972471795920384754485711482709685155225145113537952330757438952\": [\n \"5083623248888248876558354140374096548221465730714503577541430159652193939337\",\n \"0\"\n ],\n \"13156377623309323400505604420069706895213883995271628012882085968235695950081\": [\n \"877509432849871731901593535715243301170628278809370018780356722480432212022\",\n \"10190425941963972471795920384754485711482709685155225145113537952330757438952\"\n ],\n \"14480539975828979266752409312495548999840727150980494265978345657157866078135\": [\n \"4067189118159846485893664165340849073186490352203117573015601068476187075074\",\n \"13156377623309323400505604420069706895213883995271628012882085968235695950081\"\n ],\n \"18256501241465403633590005225384874024896636791396323386189549311268924537229\": [\n \"14480539975828979266752409312495548999840727150980494265978345657157866078135\",\n \"0\"\n ],\n \"15959787839148777151536966811515724284746851662999077280841513171570286669706\": [\n \"18256501241465403633590005225384874024896636791396323386189549311268924537229\",\n \"0\"\n ],\n \"12530267844063358081893381813947883378221754841573888068128113781629323216462\": [\n \"18361524394155325537760126035439548128770590045795947909131040727390327645942\",\n \"1\",\n \"1\"\n ],\n \"4628629558759888449447072426942206683074877133798834997988662522304531011324\": [\n \"5110901676093978890440713442513937521986261022244373181829335176972701224338\",\n \"1\",\n \"1\"\n ],\n \"5630297779840997353377809207093016271562663730951313553376834721925316170332\": [\n \"15158089206038124351618868471670160270398856279052903752908839967664405435784\",\n \"1\",\n \"1\"\n ],\n \"2351763918179208688131072655131815222256522660377437252376955526718637966233\": [\n \"20831554269113880156881004277698636243932877971346886994998299564384671020306\",\n \"1\",\n \"1\"\n ],\n \"20535127876043159516299565538085080030768883416429331604426491703349219052623\": [\n \"18043710932022698807884884191629173236933206227475679601046936884042558614303\",\n \"1\",\n \"1\"\n ],\n \"9532137501056461773067417789738860209047064694744981741463348949784910165782\": [\n \"15694153694046519242829186445133934781736238428688340879487836760809917251144\",\n \"1\",\n \"1\"\n ],\n \"4826038031819146147907127984382730131796887518420607106759833845739648327238\": [\n \"19188614519485970979390483927210739050849147227527760846495477299893142426355\",\n \"1\",\n \"1\"\n ],\n \"15471364613713794235358042914515494603353049162539362878593378420199618806824\": [\n \"4826038031819146147907127984382730131796887518420607106759833845739648327238\",\n \"4320665129454768843861745785922811397425184986749903526129935068411423999407\"\n ],\n \"6394149560682465090084337350112425638785056786750949320526328482290372739238\": [\n \"8937486607500957384902245519650965328384462973597942742531136315232942489132\",\n \"1\",\n \"1\"\n ],\n \"1808858726996984356284058269614782776895707188952604864138191717829617400238\": [\n \"6394149560682465090084337350112425638785056786750949320526328482290372739238\",\n \"9472248477839003350377660048858316217416461306681213703240933187401344432649\"\n ],\n \"19219140964970393478346689031160495157143276467093464462167367099656321450541\": [\n \"0\",\n \"1808858726996984356284058269614782776895707188952604864138191717829617400238\"\n ],\n \"13779414231101053242326595207697865704164304329044676562896300523225353719769\": [\n \"0\",\n \"19219140964970393478346689031160495157143276467093464462167367099656321450541\"\n ],\n \"6590237082501142472806013808172449584249405862088703886735385411299526297871\": [\n \"0\",\n \"13779414231101053242326595207697865704164304329044676562896300523225353719769\"\n ],\n \"5423018423341450528279075324182413613625627463346230642006666696528791562956\": [\n \"12526982015286555647720627663478934277340614237699168587236791428305418297535\",\n \"1\",\n \"1\"\n ],\n \"12760963479270125846865168940466424025730818228039395782311714986338796528901\": [\n \"9301113218822140223218015413656140017042534000590141058044397191451204388230\",\n \"1\",\n \"1\"\n ],\n \"21436225206374257509883274165503122014489622616160154577822867641120244287291\": [\n \"12760963479270125846865168940466424025730818228039395782311714986338796528901\",\n \"53159579704897952011946994315553865202591050596870005994346694376855978835\"\n ],\n \"6535372871750565323481130188440998476323582700745891535185589050723039662076\": [\n \"21436225206374257509883274165503122014489622616160154577822867641120244287291\",\n \"0\"\n ],\n \"21381669807445518487035474004383920340778430203418661810075098776379359348118\": [\n \"6535372871750565323481130188440998476323582700745891535185589050723039662076\",\n \"0\"\n ],\n \"3716080603002048962344555964011020910369248771415098736615495560774865233276\": [\n \"668991402933030814038115783462716710843443132499200422341226325443767046756\",\n \"1\",\n \"1\"\n ],\n \"996585508431554371332111990027910929622353613843175285452254672639073914424\": [\n \"3991650214375878207587972586520542299839123006997095670197871097283365601635\",\n \"1\",\n \"1\"\n ],\n \"8864689176962706415443572861818391463115856578751280754223876659234161491447\": [\n \"18162885230321585359950755710611968807382640151058098304411372971480217715043\",\n \"1\",\n \"1\"\n ],\n \"6418097608285198601926015735824420342441760258586312967136521154798825258593\": [\n \"996585508431554371332111990027910929622353613843175285452254672639073914424\",\n \"8864689176962706415443572861818391463115856578751280754223876659234161491447\"\n ],\n \"21762103674081372543865559623623847070934863729210502379409569911338295625980\": [\n \"6418097608285198601926015735824420342441760258586312967136521154798825258593\",\n \"0\"\n ],\n \"3594012227021777832015879960148405079627012248733018845283814234804966651490\": [\n \"11226958751523500000995298728452980428613038135321979978785845678425171840749\",\n \"21762103674081372543865559623623847070934863729210502379409569911338295625980\"\n ],\n \"7463440157750436949103171860109540071517079556592679525249918608667543138169\": [\n \"3594012227021777832015879960148405079627012248733018845283814234804966651490\",\n \"0\"\n ],\n \"1704968765639867233024122775097822960394256606585466797174844684828374378188\": [\n \"7463440157750436949103171860109540071517079556592679525249918608667543138169\",\n \"0\"\n ],\n \"9075468820569921001542046806164977094582764905855781290959631584121159837679\": [\n \"1704968765639867233024122775097822960394256606585466797174844684828374378188\",\n \"0\"\n ],\n \"14145767562396276233390241835822967481273978368292009239804102663775226223520\": [\n \"9075468820569921001542046806164977094582764905855781290959631584121159837679\",\n \"0\"\n ],\n \"16358567059043652484340663984617013694165355299786597908884540393907263643498\": [\n \"18477808798202831811684236466179447288625481127686409422936439038722678203406\",\n \"1\",\n \"1\"\n ],\n \"2750751585402416223606440440911632250673653775881327268452021869924353056902\": [\n \"1339800012969807319352025067347278749044014162756105835684256965201123027650\",\n \"1\",\n \"1\"\n ],\n \"21727948733356382829676268600451623139646326223704896816295097231894578432619\": [\n \"2750751585402416223606440440911632250673653775881327268452021869924353056902\",\n \"16752698446946849579796962254102470332348648184590354774427228989181216985856\"\n ],\n \"4744469998834457436562973152094043113759235061916467938600234714553189834925\": [\n \"6147118628921007426751988557952192735890452977612826902992860777435828789716\",\n \"1\",\n \"1\"\n ],\n \"1023463589317353945485798174085442766197230325655397434656454112128113422788\": [\n \"297686667397864177588460717553556202045202606136050234630508257209625531619\",\n \"4744469998834457436562973152094043113759235061916467938600234714553189834925\"\n ],\n \"9251841605551501375418227401533272278118283322401201427806086798092424661419\": [\n \"0\",\n \"1023463589317353945485798174085442766197230325655397434656454112128113422788\"\n ],\n \"12245487574749228192011091193532116906591286333284919224614464395951262550246\": [\n \"9251841605551501375418227401533272278118283322401201427806086798092424661419\",\n \"0\"\n ],\n \"16679202003481123087614732570647860057711514575681212879133428946406758208484\": [\n \"12245487574749228192011091193532116906591286333284919224614464395951262550246\",\n \"18933866369404083812708072595640310074749489328218518447449373233232088564691\"\n ],\n \"946195922667646881910240788284316433228431559812294012527177192444301131830\": [\n \"0\",\n \"16679202003481123087614732570647860057711514575681212879133428946406758208484\"\n ],\n \"20387354877214816246855190084890621675957227165080811184054032222952300060049\": [\n \"16108798311941706644745414545547967123961323762609618454828968102202055427266\",\n \"1\",\n \"1\"\n ],\n \"16173867259530218138762065242684875191652903001977499586158749666887748732630\": [\n \"16742104734955910412445528468649388930089757066115371588940950994270926640764\",\n \"20387354877214816246855190084890621675957227165080811184054032222952300060049\"\n ],\n \"20686118162085099862973669929180607945449591621328294082617957048128537903145\": [\n \"0\",\n \"16173867259530218138762065242684875191652903001977499586158749666887748732630\"\n ],\n \"2509980546832908472422983830289328015645045180709464616452003750002942665136\": [\n \"20686118162085099862973669929180607945449591621328294082617957048128537903145\",\n \"0\"\n ],\n \"3275030957136129193720903242933603730683533246450562693453669593810325080790\": [\n \"2509980546832908472422983830289328015645045180709464616452003750002942665136\",\n \"0\"\n ],\n \"13023117464189105136214588457407910981739844294358259298948507983340015740870\": [\n \"3275030957136129193720903242933603730683533246450562693453669593810325080790\",\n \"0\"\n ],\n \"6801057320088409752527180959915851451572932372895208687161608497372461380178\": [\n \"13023117464189105136214588457407910981739844294358259298948507983340015740870\",\n \"0\"\n ],\n \"2878969128034776505685329529765566054707869409777013417223801274633300594999\": [\n \"9044482343822562425110851138738338346632109978272124882069655700313711519836\",\n \"1\",\n \"1\"\n ],\n \"15729210161079934123889152284466842269015851019654917158746308208539429164997\": [\n \"2878969128034776505685329529765566054707869409777013417223801274633300594999\",\n \"9909000209816056671380083370872539946181447753543231760425447405658263857806\"\n ],\n \"3702909596074152695519560573969740033405288661126954290984295119432821897600\": [\n \"0\",\n \"15729210161079934123889152284466842269015851019654917158746308208539429164997\"\n ],\n \"95586616993967196653387208418845281596514964608241298186989858250467686608\": [\n \"3702909596074152695519560573969740033405288661126954290984295119432821897600\",\n \"0\"\n ],\n \"19312512510465222692893224837014924392145229362146649932354700928608228750222\": [\n \"1557375659810516105649147855969943324160766507516140346219414989636137430460\",\n \"1\",\n \"1\"\n ],\n \"5746638573501268795726123418395647461346030960433197462733569155777049385152\": [\n \"15280576375813495691271197752025428549791500990588273062466322613648120016834\",\n \"1\",\n \"1\"\n ],\n \"4838857231968005115586927594281302450670591059292510544103242766167316961141\": [\n \"16908151759244346703947484669204439923158471501462434812088693411243979132737\",\n \"1\",\n \"1\"\n ],\n \"3153685479217775440463683095386109334337750991900137305903671516943034608868\": [\n \"4197493279872746356597453142521866929329366229028891893293620988663865838967\",\n \"1\",\n \"1\"\n ],\n \"7437680980929463289986520116709823020784583103385094356978112063009066592013\": [\n \"14135253044284767622477993631873331529673961033153837949789307745886103663625\",\n \"3153685479217775440463683095386109334337750991900137305903671516943034608868\"\n ],\n \"21123954055057154509432499209372215609010897332801751387449365055809069524713\": [\n \"9704347313741527719956557345533389942177333127799693950219438514302372369546\",\n \"1\",\n \"1\"\n ],\n \"15558393888728620618060929998627245201803027989900518012896882736412980056547\": [\n \"21123954055057154509432499209372215609010897332801751387449365055809069524713\",\n \"13392202330697917935834426849733617911390999251209726896603148274716676097593\"\n ],\n \"11511941038392936977620576377608218396156298149746498080107967601864806622009\": [\n \"17074022430259934459477693165255948366456103592488169818849240494195210337731\",\n \"1\",\n \"1\"\n ],\n \"13668090497776501992591075348326253779518654655210117206868035997742364592696\": [\n \"11511941038392936977620576377608218396156298149746498080107967601864806622009\",\n \"1365273235462926077701823098981919502667691508228053200772754222088785365843\"\n ],\n \"12620212579364045338316468618634897378703249237416794283217693282239103190495\": [\n \"1244850414157714292422267938143494602897177650142182140863570344331361593457\",\n \"1\",\n \"1\"\n ],\n \"8556973149959572787398675271610108789284487377898380563825416969374556834456\": [\n \"10784508208785496189646490611126223640515931389497540470245212789928199796780\",\n \"12620212579364045338316468618634897378703249237416794283217693282239103190495\"\n ],\n \"13685683978326055004829664227469359035753093524578092400184477672989150934272\": [\n \"8556973149959572787398675271610108789284487377898380563825416969374556834456\",\n \"0\"\n ],\n \"5711395052223888569196273738142363429597618677879944376050834292577939863737\": [\n \"13685683978326055004829664227469359035753093524578092400184477672989150934272\",\n \"0\"\n ],\n \"6323508265798205807566379645654504618251235135953482387807343520332546571037\": [\n \"16233649175110641178353935279538215854060910494263858101344882566374478347030\",\n \"5711395052223888569196273738142363429597618677879944376050834292577939863737\"\n ],\n \"14430265627880162586234688400957846637068672173125830662084562286246309640453\": [\n \"6323508265798205807566379645654504618251235135953482387807343520332546571037\",\n \"0\"\n ],\n \"5521109956117325406058631103334794374530453402845118267374041269728898456494\": [\n \"4808289298415227556646044604262821003952244391865451497703499091908917709338\",\n \"1\",\n \"1\"\n ],\n \"20112088247281706890523858877604522804619101696176521331127831412701202962164\": [\n \"11867968022757868226629814530167817219871220936396174016904493265736455495313\",\n \"1\",\n \"1\"\n ],\n \"10289745521262380448183040550959293543219688396789511963987244245253468844260\": [\n \"21030823324592728762263382395164464395999097074391577070572073468946931735553\",\n \"20112088247281706890523858877604522804619101696176521331127831412701202962164\"\n ],\n \"6362608361401045110813671476324465026816412796884761762746871394073263952638\": [\n \"1055264314675187722945551531852884648743088644088799345335557871564422943131\",\n \"10289745521262380448183040550959293543219688396789511963987244245253468844260\"\n ],\n \"5300312738161511947952900204157291450695072761844497545926098580681928404413\": [\n \"4387031708786782248099904377109074398289653224337286115840163003323796503125\",\n \"6362608361401045110813671476324465026816412796884761762746871394073263952638\"\n ],\n \"15094319759559845528657493035263890927711161411628995067454456585077469683700\": [\n \"20027176055304315315059417156543904164003158163893487277154525006502708357553\",\n \"1\",\n \"1\"\n ],\n \"20018635472322892396842924727184712999640122968924258913386895426153966563294\": [\n \"15094319759559845528657493035263890927711161411628995067454456585077469683700\",\n \"14186426353673948988899298363009450838556835089020799320828093716966807307584\"\n ],\n \"20510928895686971257226581218800122717472410272161897214369338049545077212868\": [\n \"13461422036169673029945752275335191591751953101794229987012367659998381386021\",\n \"20018635472322892396842924727184712999640122968924258913386895426153966563294\"\n ],\n \"11769348788397605196271052981552109091079488385277988571780401431164680833724\": [\n \"18530721727466679829744976487169596960343686668335427463821142470780619382177\",\n \"1\",\n \"1\"\n ],\n \"19213179376443616406401181189917975215879958918935215194440013536430976083915\": [\n \"17160818545899205044137235986452263425384775326402959027512479173824560440793\",\n \"1\",\n \"1\"\n ],\n \"19791849070798933624693517011382843699930487926200965777121801413823161289279\": [\n \"21761327956635231966497065459952438550070705435410902006691108306160752919572\",\n \"1\",\n \"1\"\n ],\n \"9604152440736831549499441479922566006585037035172586695638650174705160183368\": [\n \"19791849070798933624693517011382843699930487926200965777121801413823161289279\",\n \"12562944360822958306485672771955460777525283980155524744941158676786453761312\"\n ],\n \"11471997358183072083812853793667021227327920687715702018887656603103959506627\": [\n \"9604152440736831549499441479922566006585037035172586695638650174705160183368\",\n \"0\"\n ],\n \"15653870682893304535295812498222670210429533773700026551715939157374140086755\": [\n \"1428863522014247096913801114405332583851189670015219039025556115598099964615\",\n \"1\",\n \"1\"\n ],\n \"17583241308695682344624623920272313348677561639705460899823706231325504227441\": [\n \"20808538644719508900382030023329847522988452974010460459729467385063022085592\",\n \"1\",\n \"1\"\n ],\n \"13783863497795719197598651697998224572953812254828035491395176204893268106550\": [\n \"5928876397221186311026297165932010822407093059372966317402378948820622626104\",\n \"1\",\n \"1\"\n ],\n \"14580273720275776142646810648025316712853825081494408655029336244164547877174\": [\n \"13783863497795719197598651697998224572953812254828035491395176204893268106550\",\n \"2042954369595352805070665965229095065838170738534249422279648874779074548604\"\n ],\n \"9130273474684941001122299131131538569462186086484838341856613116898018756499\": [\n \"14580273720275776142646810648025316712853825081494408655029336244164547877174\",\n \"11003933090866644177877012090078348587936884484877859670797200953623168818345\"\n ],\n \"15533190698619669549080360576077137416945050778598008827612698415828459388145\": [\n \"18014888243026684616193035547860289655992252823276492192430957312998736155516\",\n \"9130273474684941001122299131131538569462186086484838341856613116898018756499\"\n ],\n \"12995241592462298734296067694197349208326985283116692066848552649028570258056\": [\n \"596847162284815810961164244970101111203940689707605480793899313988284532828\",\n \"15533190698619669549080360576077137416945050778598008827612698415828459388145\"\n ],\n \"9399804624450725113356106191767121424479293080008882357753154036178831746652\": [\n \"1545998285904947761643922777626796533895618290833095847715426520817368971559\",\n \"1\",\n \"1\"\n ],\n \"13629038166918321680980999008077324163955270890212404362235870188915873642321\": [\n \"19775394548347666661281377080639559145415230042650803263674997559161889473766\",\n \"1\",\n \"1\"\n ],\n \"14899781408079434604849220941778763342051267543432541475796224704802029723788\": [\n \"15259133716198850710693616677046544888724037839797514182912617122709591732556\",\n \"1\",\n \"1\"\n ],\n \"1077443787879482382386835182322807152493224592522826296758475462059597025803\": [\n \"14899781408079434604849220941778763342051267543432541475796224704802029723788\",\n \"1062053733426562591251248722208339749672623352863707611656238159213424320491\"\n ],\n \"7642877541748191871018882032889245209691675225992781897723286008694334025700\": [\n \"0\",\n \"1077443787879482382386835182322807152493224592522826296758475462059597025803\"\n ],\n \"11418552710905384289765981480277355333673861275888623407640504218916275189609\": [\n \"7642877541748191871018882032889245209691675225992781897723286008694334025700\",\n \"0\"\n ],\n \"1282573435652267276983702758587807460489970295492460526785230236497215193438\": [\n \"0\",\n \"11418552710905384289765981480277355333673861275888623407640504218916275189609\"\n ],\n \"11977614354552198375436389441259244160416597263002482399531810005991975996036\": [\n \"16508612924975341697331594594948838656062577701839024269669323721988627101279\",\n \"1\",\n \"1\"\n ],\n \"16382751394091619194891784794774088563368099494116234970367953478407270156925\": [\n \"15992455753224354761266476370893654778262663536450523500475296934372903276119\",\n \"11977614354552198375436389441259244160416597263002482399531810005991975996036\"\n ],\n \"12421096167071723238824739834487800340707655437264248027716784937073073303804\": [\n \"2501956241224680286871618203565305456372493510596491466900917713790136965474\",\n \"16382751394091619194891784794774088563368099494116234970367953478407270156925\"\n ],\n \"3022415966854527560270159320780770293476594068474732255383530407844758942893\": [\n \"12421096167071723238824739834487800340707655437264248027716784937073073303804\",\n \"0\"\n ],\n \"7597175336808421032597827551716509017090377922131066691323830958267106388807\": [\n \"20285480664198910038020680873615633480823440503032886237739626131086915976452\",\n \"1\",\n \"1\"\n ],\n \"5369958772708628169521879517041745355076418058767104062671272723007961377561\": [\n \"7597175336808421032597827551716509017090377922131066691323830958267106388807\",\n \"1780802815644341485697119980180521534495070303788877319266536253965232763679\"\n ],\n \"6571869729719608550052647327963651491157515154248492943250613474715117641119\": [\n \"15656256752449961601039952081116757568844760061138247447311078351258698220434\",\n \"1\",\n \"1\"\n ],\n \"588948279444621315218257548670383584415963360558921249395414575823373334191\": [\n \"6571869729719608550052647327963651491157515154248492943250613474715117641119\",\n \"17711851890308837136734623226126195934638127703221224707227686800181726883514\"\n ],\n \"17171906989718594235717403319289463574214463599031457551835038807059784356053\": [\n \"6024048675249158691973448131823885017178623480905753496007486273493673812558\",\n \"1\",\n \"1\"\n ],\n \"10051312549051436497754864028548629192363509059950167492738772595611913743817\": [\n \"1972676934150717209745654975921372812509592311854583786061997752161083953001\",\n \"1\",\n \"1\"\n ],\n \"5576846667420172877520890654249846091498319574732984092404464133598792259803\": [\n \"1748177769205779639656259387866423537055260227559937007196589375302211420616\",\n \"1\",\n \"1\"\n ],\n \"18741267606903336983610151315149784880539258242926262544553055189684491071533\": [\n \"18379371552926585511583295288163033613220300363191502246981005826232095661239\",\n \"1\",\n \"1\"\n ],\n \"8694860314549048532112781618329289877089433355934954303111521035996987440672\": [\n \"12232034480505248759248236005035563629068781396896273602774455372960718323408\",\n \"18741267606903336983610151315149784880539258242926262544553055189684491071533\"\n ],\n \"3696535860741623410152611344239944161588909828898969623323747335159050742554\": [\n \"8694860314549048532112781618329289877089433355934954303111521035996987440672\",\n \"0\"\n ],\n \"14064309845611891485856455470251053553805761391290168227429464824444238558936\": [\n \"17054041361839915358026835800189573144597973935431504034065183275084609133006\",\n \"1\",\n \"1\"\n ],\n \"1869032005563827325412299624716599848520796984863878297837547419653129298339\": [\n \"19016440530509948680463371273440801531728579418443293153458574769794296421318\",\n \"1\",\n \"1\"\n ],\n \"19688034032654127759257768588528087161086348082205932842261082711703902052254\": [\n \"16695234049253838784934816333156319372778652533878589931581780648801833627023\",\n \"1\",\n \"1\"\n ],\n \"19083089074201464953246057363248322806065708997724118899603470387778527849826\": [\n \"14467488703856009644871067213508888515108165822494592182109623805064816916931\",\n \"1\",\n \"1\"\n ],\n \"21564305185778379427672326041476932483493043146045283815495350377780092967651\": [\n \"593972770584345172538958870173258845774195081531284691401973603482043361818\",\n \"19083089074201464953246057363248322806065708997724118899603470387778527849826\"\n ],\n \"2325819453739928328748970910567744708616741596375918562676140651216134938134\": [\n \"0\",\n \"21564305185778379427672326041476932483493043146045283815495350377780092967651\"\n ],\n \"13599205569919685864339732358960412639754227820810938776194424580270807986516\": [\n \"3653672227772886163824766875625870126285130794451916243552346332433797632262\",\n \"1\",\n \"1\"\n ],\n \"13039562491467349908706761415199949298445185485076515899749115397787773517425\": [\n \"1035088886206217060187151910384576700048427648978945402016084987348513474000\",\n \"13599205569919685864339732358960412639754227820810938776194424580270807986516\"\n ],\n \"18757353466173585182585968129208849435547753404154825526953158972988475576595\": [\n \"8152290883733660214979450951856104197116102083154086069724973593323576373680\",\n \"1\",\n \"1\"\n ],\n \"9124291910695743382658675861424675057883345072973652499247657307384247060887\": [\n \"16369430320612072651527153086001563846364577873453047820812290063320012861968\",\n \"1\",\n \"1\"\n ],\n \"13089912953810805795568885852462760124799511713787377036594612377701550116678\": [\n \"5607451590570842429252977679506157555701839877789436639759786133237893767406\",\n \"1\",\n \"1\"\n ],\n \"21467354058152615348827138090861639827336075193859732108956693756815472707433\": [\n \"8106035551349575959843060512938860856207253384213947465597198635032416338678\",\n \"1\",\n \"1\"\n ],\n \"16804384772375496990817829259033043200747681594646706162967907542436218723784\": [\n \"3598528487182575762916503703932083552164272903052509270741041370810973757458\",\n \"1\",\n \"1\"\n ],\n \"17751109121949616928274310708158187308557360026464098828060652772313136847468\": [\n \"9380645975475330835572390229884847857240160162853993587615884268612168646083\",\n \"1\",\n \"1\"\n ],\n \"3834868603086970251753835050371974521070477010521582031962034810433025166584\": [\n \"13668090497776501992591075348326253779518654655210117206868035997742364592696\",\n \"17751109121949616928274310708158187308557360026464098828060652772313136847468\"\n ],\n \"19874041668500280884350229210138866230986831192884644780878475021520873733253\": [\n \"0\",\n \"3834868603086970251753835050371974521070477010521582031962034810433025166584\"\n ],\n \"10711988906364332349771296435618848915813861220721950783767208397641285933623\": [\n \"0\",\n \"19874041668500280884350229210138866230986831192884644780878475021520873733253\"\n ],\n \"8288363343227811526919689240956026851584826690150244773513813976426962488394\": [\n \"9392918062287534726325829636988591727354446782315201755187859304465931386330\",\n \"10711988906364332349771296435618848915813861220721950783767208397641285933623\"\n ],\n \"6972411002764167332417174409027098679295504875617048763993914873465502247290\": [\n \"2325819453739928328748970910567744708616741596375918562676140651216134938134\",\n \"8288363343227811526919689240956026851584826690150244773513813976426962488394\"\n ],\n \"16676464156558775193439847392977529288163912874984202021444301064177646069956\": [\n \"2705864205341712597081656037753253401992909501508549301874539381270069064792\",\n \"1\",\n \"1\"\n ],\n \"14449705677543040010347942550862522425521829720382512339014432474490434442209\": [\n \"1596621494756116060495906051273620877309425323691390058353180740641482041124\",\n \"1\",\n \"1\"\n ],\n \"112025178904364226203541156639905714151215952033193065626643149570647098423\": [\n \"17164337035471010433082674379369945932123155597880736248917932699062321436029\",\n \"1\",\n \"1\"\n ],\n \"20614795538856281508681567573828891426510893807606891921087994971475565860961\": [\n \"112025178904364226203541156639905714151215952033193065626643149570647098423\",\n \"14877888722528153868596907757972623130148446889698923746996634804464634602671\"\n ],\n \"165253641979610843924561188623112110908433812913385965755162176700470468380\": [\n \"0\",\n \"20614795538856281508681567573828891426510893807606891921087994971475565860961\"\n ],\n \"19441659698208157608514320936361356308654712425783494624107814781433789707109\": [\n \"165253641979610843924561188623112110908433812913385965755162176700470468380\",\n \"0\"\n ],\n \"20736892327175581043188788678751561532870759618542994090498167165495912532626\": [\n \"12352149386179132225954322663616383478066185720453041443744533799556962759369\",\n \"1\",\n \"1\"\n ],\n \"5703120911212069839380300534830402152183501341966623888369944671428078369867\": [\n \"19394214331729394838383268813187387353343162900744865717326551897981824136086\",\n \"20736892327175581043188788678751561532870759618542994090498167165495912532626\"\n ],\n \"14410614599294698359802475626223045342930141505151873359437358915402602663109\": [\n \"5703120911212069839380300534830402152183501341966623888369944671428078369867\",\n \"0\"\n ],\n \"1608705017082848787568033210792443238090076513849432147980239464777342505487\": [\n \"19455777848609559805940637574254789148766194031340794618168793641292475106692\",\n \"1\",\n \"1\"\n ],\n \"21550273105470524757292488496419381274243452169577832174701170832211597289043\": [\n \"17435570374657970190011528834102176830587008001047638014465678472269266918146\",\n \"1\",\n \"1\"\n ],\n \"1476984950243274621153320861305767042426654875670210809661904430924326876735\": [\n \"21550273105470524757292488496419381274243452169577832174701170832211597289043\",\n \"3065667084313183803827174218399358157389454336833803435010512706988116236903\"\n ],\n \"620430579231789815956922582169604199629374957849828098245517487055143303542\": [\n \"21674223843427922876674831902447638676810743957032962905660814724605098059594\",\n \"1476984950243274621153320861305767042426654875670210809661904430924326876735\"\n ],\n \"847402584856751503798057676377659888437071759882759211147747698441277381341\": [\n \"5954158238209972935253392663689821188738822427274754713642457121793104809004\",\n \"620430579231789815956922582169604199629374957849828098245517487055143303542\"\n ],\n \"1431526237571885660916573643909875828965379604592651037657551882244195845469\": [\n \"8446328830793922594821228090771022107265735785664871971113993808883248253838\",\n \"1\",\n \"1\"\n ],\n \"671169363740491047279502194970504186599617557907800975083870904712926725954\": [\n \"1431526237571885660916573643909875828965379604592651037657551882244195845469\",\n \"1109943410053922735919407496840860528343955537863834504507344400364933386079\"\n ],\n \"2553948726426164184686946427973244957412795282306005794406825918182280828573\": [\n \"17823494298490657232544527185235881763603589633977692663462093951733423576499\",\n \"1\",\n \"1\"\n ],\n \"14018020604971416927054350461746574763400739811095816956849688471472360901854\": [\n \"12141263794142018322638124659740255241716240747755357874846961461167393909775\",\n \"1\",\n \"1\"\n ],\n \"14963879104174958757945203262023832676296933287560873288510169838696584308896\": [\n \"2204447208955281911484706933610616602382147510973735859328434303387860678066\",\n \"1\",\n \"1\"\n ],\n \"9018748600803386000588505844108312103421204477736814076539923970667171790128\": [\n \"9212210917398431372793856064202268360916079907731390742630769072888725595073\",\n \"1\",\n \"1\"\n ],\n \"2553959626325177283048869270077647186749019720758488249847230628361056255143\": [\n \"2189982589110182170839631713753774094854746888953772012090497657366560947225\",\n \"1\",\n \"1\"\n ],\n \"15592700238345883531556836426850724616241875383901134096263883044387558757754\": [\n \"5243667471796515187213530619982786858304441827241486309914237514753263934498\",\n \"1\",\n \"1\"\n ],\n \"16198393285652764956714635698177583578617295570631427994524711272516706084198\": [\n \"14145576946162256415045889396377281611474702453599606552944715199762447470901\",\n \"1\",\n \"1\"\n ],\n \"3779908640950361580835244917986078912655010237801431492991691959678813057359\": [\n \"18905713290147361920764904445744548700808469174924904607223932204206880250998\",\n \"1\",\n \"1\"\n ],\n \"13657371868235483543589331924137696347402078591496926238087129303770010937078\": [\n \"4474616863600019876634318999261694145849683232085053655056173697732897594854\",\n \"1\",\n \"1\"\n ],\n \"9929381822298282446015863666136124396254026837900555769579359019404549118568\": [\n \"3914072736704586481105312634766387787300318145308605982344689281856145419271\",\n \"13657371868235483543589331924137696347402078591496926238087129303770010937078\"\n ],\n \"18368566488961438764949274968742968057059863273576542834120822958963315712161\": [\n \"17027983315395519425141807073017380475951089057010401167692166854962818226312\",\n \"1\",\n \"1\"\n ],\n \"18063484431088105099831319406561472091922678511785288702975630279885504101314\": [\n \"14422879047337377660319215198262537128597642446276738331986421573167533135084\",\n \"1\",\n \"1\"\n ],\n \"21637679922178826575683531746545342351576137393967937898086985448471762383307\": [\n \"4469903147708521611138865311793740591206182418194156929867864528133731237396\",\n \"1\",\n \"1\"\n ],\n \"7978776943814174873958519078184166211962004982679846138317644456196790839499\": [\n \"8910569675702130199669659408887422854688364839431233465422889666044498607707\",\n \"1\",\n \"1\"\n ],\n \"510011533993309135441553255773590395618525494055421678129014351989283155138\": [\n \"20755757504414554703357152430307012715030464061600266319103489017031740607711\",\n \"1\",\n \"1\"\n ],\n \"13726668286102613596189172182010384260766451728086025356830792086007572896429\": [\n \"2465598045963665222034611349348024343977523994080965045988475956023118902755\",\n \"1\",\n \"1\"\n ],\n \"13865441962995707935410097788305080748050245848715135189247476393355942861120\": [\n \"13726668286102613596189172182010384260766451728086025356830792086007572896429\",\n \"20664724304029354184350219768207706165952309791796521217593252553889609249118\"\n ],\n \"15781327385317126305830312919358914621029168288592324010600117998387796370663\": [\n \"9881930630382275262522130228422775731448750504407975041648019316563531654500\",\n \"1\",\n \"1\"\n ],\n \"10217720693527286831482206338403141245940608273526125018682812223230322922334\": [\n \"10462032549926041275237811510689848278166070005610344255766733590777912680755\",\n \"15781327385317126305830312919358914621029168288592324010600117998387796370663\"\n ],\n \"5634311199126115345342478508612798079503874304722267317224741985130144680887\": [\n \"0\",\n \"10217720693527286831482206338403141245940608273526125018682812223230322922334\"\n ],\n \"3242339985705386342180660846959809571575421886682735530124787018579780558680\": [\n \"0\",\n \"5634311199126115345342478508612798079503874304722267317224741985130144680887\"\n ],\n \"11951776784574331225863595715145811333978801464863654754412255218720582281480\": [\n \"3242339985705386342180660846959809571575421886682735530124787018579780558680\",\n \"0\"\n ],\n \"18800441548976276026103392373584374625745963634393114961730182649193214616113\": [\n \"11951776784574331225863595715145811333978801464863654754412255218720582281480\",\n \"20208094149050215863395923044399383743988684489681155008119964238384629140636\"\n ],\n \"11896182599302665941847927243909689828341326496161288380918062894624512809862\": [\n \"4720105008298108806253371533691059034515814364732570795357478743192804561589\",\n \"1\",\n \"1\"\n ],\n \"15197470886573111977770819522572601595292261948262103552225981666533127942836\": [\n \"251003467101519127331845884801735052575865744346298561767353810772372104777\",\n \"1\",\n \"1\"\n ],\n \"12797518141850833742520458111161371876599177693572255991248022004051402959972\": [\n \"5817446598842200910376329230462192546334047560210014562331646887396043105060\",\n \"1\",\n \"1\"\n ],\n \"2416380694569986292893888978325139709130604187848439886760700245616648499016\": [\n \"12797518141850833742520458111161371876599177693572255991248022004051402959972\",\n \"20285216029334845753198449896944607261092411534595206016916783796987018187811\"\n ],\n \"73461109506158937759579812005859691964228699844211393050581149913713112812\": [\n \"3656946378842976043293836905175780782424264893894512465176198227106078137991\",\n \"1\",\n \"1\"\n ],\n \"5694527335935459496095763707889397065126500715660017551188529502532585329593\": [\n \"73461109506158937759579812005859691964228699844211393050581149913713112812\",\n \"8722531218116712700742617921247483269596845240130796336428675137579970557552\"\n ],\n \"7470921301315674823258699227253112042923695554626907270609849336470283964644\": [\n \"5694527335935459496095763707889397065126500715660017551188529502532585329593\",\n \"0\"\n ],\n \"2145722237681699024844247964952343303042866535749331246426158099734916939453\": [\n \"4946163215119575132041385877379083184453035624532897747704804267564572592002\",\n \"1\",\n \"1\"\n ],\n \"6973805471950876529220689314015597420476989563239720790101627120015774103418\": [\n \"19890065106524880970930296418563064793013077427468515484683303370743515842480\",\n \"2145722237681699024844247964952343303042866535749331246426158099734916939453\"\n ],\n \"2723932838335398833696037235302018550227785989926751494036553652444942803372\": [\n \"10341164199451661765627854780698393393019900830489265909021384310049980353876\",\n \"1\",\n \"1\"\n ],\n \"1823099488303878253601093310975340314237190876652137436604686994433191259159\": [\n \"3727639972075104968879670373106069070417752728991438816579953316705541264002\",\n \"1\",\n \"1\"\n ],\n \"7907544724355473868417034225449110443689721873159835945589200682323576464718\": [\n \"16283290609170966074411575245357193186908787762900437116526208580013104791323\",\n \"1\",\n \"1\"\n ],\n \"9555863803890022779629504350973958249029645925645695549877678308914847297035\": [\n \"20603921251166615159891643516832625271155115955761540024646120505319124660780\",\n \"7907544724355473868417034225449110443689721873159835945589200682323576464718\"\n ],\n \"13140969355605845302700090745222311170844647993955740052326321818059392124310\": [\n \"608451769395773752970159804741301187755766346040788160675243841220461845538\",\n \"9555863803890022779629504350973958249029645925645695549877678308914847297035\"\n ],\n \"12794086387973926765839490279380329490652391243500001563542015313169208016803\": [\n \"4760474145156333134082750835484687137425000942709470464316623315987136044903\",\n \"1\",\n \"1\"\n ],\n \"2240404392586672740831811711236492195980315923698179209143499678144934251643\": [\n \"17861404100265375828072276900389242271693331004741302344818890410411469170842\",\n \"1\",\n \"1\"\n ],\n \"20333085560624135635758257207242894557807906690495601912151012787897259070320\": [\n \"6618736273356986441725507934886628667931727150831036718536385122172037255417\",\n \"2240404392586672740831811711236492195980315923698179209143499678144934251643\"\n ],\n \"3928413057131331730477648343562239572689577682948505409057220760234552903660\": [\n \"0\",\n \"20333085560624135635758257207242894557807906690495601912151012787897259070320\"\n ],\n \"15177495943329058805308452389414517595546617664536531770866728022858802267643\": [\n \"0\",\n \"3928413057131331730477648343562239572689577682948505409057220760234552903660\"\n ],\n \"5383836907648329981757078360648772479563483785606387661206107863746591229407\": [\n \"0\",\n \"15177495943329058805308452389414517595546617664536531770866728022858802267643\"\n ],\n \"4047562046472121301153600870218452618088973785605072840392030643112107992406\": [\n \"5383836907648329981757078360648772479563483785606387661206107863746591229407\",\n \"0\"\n ],\n \"6728653403367527950207420565390404115188754517536464790084122651630396192695\": [\n \"11852013216667998008870631720101117424054547047040051888231649800133332502997\",\n \"1\",\n \"1\"\n ],\n \"14507314541259013018431979246151917954988900288812593936091026216229054247548\": [\n \"6728653403367527950207420565390404115188754517536464790084122651630396192695\",\n \"6423451217177149529602322478294728887592504388891816339435399878981065005466\"\n ],\n \"5696507275375666160189746450811532496894372395919304869915704587322743567465\": [\n \"14507314541259013018431979246151917954988900288812593936091026216229054247548\",\n \"699164805886469126088794525449011013650889770361531283836198359300433725787\"\n ],\n \"136797436177266690166773581185427713015716093553827343715105038678993037977\": [\n \"13597518630418535819431968279374954133339390005272162676436353177106842282865\",\n \"1\",\n \"1\"\n ],\n \"5223381474315928517982532039268627817374483841823596215347468445483978339551\": [\n \"3763882903262925254037078083222291854453701094191966361604044240980086178761\",\n \"1\",\n \"1\"\n ],\n \"1030993620189656983504856538084445763852910817914464560289722485452742089770\": [\n \"9942750898284640482395593421128461582898130743512940408773834513716978711869\",\n \"1\",\n \"1\"\n ],\n \"4075462239187971072203843664742575069569837444438296507402561192378280335739\": [\n \"18334996199026676384734847214346520662853094197014810350586120932634727239439\",\n \"1030993620189656983504856538084445763852910817914464560289722485452742089770\"\n ],\n \"710777799319633444582988570377688027226664994399172568170811591914932799363\": [\n \"14522005096038781830938480471596767443585169520979221359400244497142809219561\",\n \"1\",\n \"1\"\n ],\n \"12012389182233577384163839864417079462408451403003173602532144999420181898798\": [\n \"8000745205007381061511751446337264689624194624069943424474576334612886681576\",\n \"710777799319633444582988570377688027226664994399172568170811591914932799363\"\n ],\n \"13584554534782885103072064628010566051577876655304540952608085280802030498173\": [\n \"12012389182233577384163839864417079462408451403003173602532144999420181898798\",\n \"0\"\n ],\n \"6641257119704980014468013973253754516290016867296313743398704553092681475372\": [\n \"0\",\n \"13584554534782885103072064628010566051577876655304540952608085280802030498173\"\n ],\n \"10391361398644449937208888882972599172155994446762031022909831957221279607625\": [\n \"0\",\n \"6641257119704980014468013973253754516290016867296313743398704553092681475372\"\n ],\n \"18250317898323757019513125723277453811811260671032758798688471394365745235446\": [\n \"0\",\n \"10391361398644449937208888882972599172155994446762031022909831957221279607625\"\n ],\n \"7866928854065109780690149577085556136176329644499189471218882244389500712871\": [\n \"18250317898323757019513125723277453811811260671032758798688471394365745235446\",\n \"0\"\n ],\n \"13738988870693877594560876806731768186184350272471928365067909052866867455751\": [\n \"13625080268811600441127602078666320184610795819639494094268055942570199389204\",\n \"7866928854065109780690149577085556136176329644499189471218882244389500712871\"\n ],\n \"3895456167374289945249013110897717888959242700396768459671925185943465295048\": [\n \"13738988870693877594560876806731768186184350272471928365067909052866867455751\",\n \"0\"\n ],\n \"17807334139871376883702016636848807251895597211088856952548498322337971883666\": [\n \"3895456167374289945249013110897717888959242700396768459671925185943465295048\",\n \"3527363351228269001199606016899415338371331328538379895554615969448751620328\"\n ],\n \"18217562498682865649864198006688580923050179076080560267208413340170347447790\": [\n \"12537924793742941102486557690201338167047131030427631649301560971930378782892\",\n \"1\",\n \"1\"\n ],\n \"21181423697355970317254475119829542247578955512858096039310786334959203930633\": [\n \"8190637342562098003418091999442406468189916789716248522504746861696740903182\",\n \"1\",\n \"1\"\n ],\n \"2591846536146165396790620127652078347312185557545219662567611821249791647731\": [\n \"21181423697355970317254475119829542247578955512858096039310786334959203930633\",\n \"21048873492671685630106405971709105408156309819180850331000694618644708407801\"\n ],\n \"15490716994363698228471248501145645410864800729880222870805015966165065512939\": [\n \"3964376501893065062982387310839595919766405409228252582225283103837610253227\",\n \"1\",\n \"1\"\n ],\n \"16159068361883843459461435741842982592314856273220601049776267483674232981306\": [\n \"12857544233200472191489792168634033921742810422153507419933981314599364641760\",\n \"1\",\n \"1\"\n ],\n \"21568974487753980411395958075698719958687193919682739474504262122212194761976\": [\n \"18536623924251897468648281042685407662114441920497511757075460784066496254887\",\n \"16159068361883843459461435741842982592314856273220601049776267483674232981306\"\n ],\n \"7882240565050614504075715627293268599011452277470325638247561283241799918240\": [\n \"21568974487753980411395958075698719958687193919682739474504262122212194761976\",\n \"0\"\n ],\n \"145761713140566611142114940088644640164947688094046726483771805120589437630\": [\n \"7882240565050614504075715627293268599011452277470325638247561283241799918240\",\n \"0\"\n ],\n \"9048996908287445796546582639031408102394859426252315539434010125887167310652\": [\n \"0\",\n \"145761713140566611142114940088644640164947688094046726483771805120589437630\"\n ],\n \"7307724632722363569499513742313369026102306296587523818496817653183588713143\": [\n \"21280071268180094506225560247858650767549464236602131535197029818492930722669\",\n \"9048996908287445796546582639031408102394859426252315539434010125887167310652\"\n ],\n \"6793231565527133211925277795031761529615843495880024508570959397208217960726\": [\n \"7307724632722363569499513742313369026102306296587523818496817653183588713143\",\n \"0\"\n ],\n \"2617109839168682004603893206962674019216535367438843273095481097585690140568\": [\n \"6793231565527133211925277795031761529615843495880024508570959397208217960726\",\n \"8381984332821857523466156256659386204383421771728263163793232529929494814907\"\n ],\n \"675351702896557212244693732592420535435376437823019073157104572233225864194\": [\n \"2617109839168682004603893206962674019216535367438843273095481097585690140568\",\n \"11639731657029542337990154443704230860681097216461085384307170388383610182761\"\n ],\n \"16096417343317942897175902555979591577774098307960447904367087921476640675729\": [\n \"4664175512609421857539292478961218414106400546361748510373905903220951663002\",\n \"1\",\n \"1\"\n ],\n \"1880872016181496445334052035871453455722335281657100498980594983345779405258\": [\n \"16096417343317942897175902555979591577774098307960447904367087921476640675729\",\n \"18370191032058115776430828844801574187126843274107277809017561242588652203302\"\n ],\n \"15526021063700378841942406835767930572873367270247494867161896965550312323989\": [\n \"930535185543588428348080431428934821945380378557475809078693006952813548160\",\n \"1\",\n \"1\"\n ],\n \"84651259899944940666798416467034339281417291003241568180624600494002596711\": [\n \"15298130911095880083899372582429174237618483218549360349052559093387564339501\",\n \"1\",\n \"1\"\n ],\n \"17259640585651966254007919942947656621962490544093880197218762219525490804470\": [\n \"84651259899944940666798416467034339281417291003241568180624600494002596711\",\n \"13775400959694119010991790415394992935245072469719826879235968507836109235335\"\n ],\n \"1558329331875259776686647348986864801603501318719032657095383952033337822645\": [\n \"432657674027087280101431405078381361947259775782081381369456813099294053958\",\n \"17259640585651966254007919942947656621962490544093880197218762219525490804470\"\n ],\n \"7899041127201954406305403666797762199864273518638747281058061458375298695771\": [\n \"1558329331875259776686647348986864801603501318719032657095383952033337822645\",\n \"0\"\n ],\n \"16881530579443487670354626206475237992710641729437506729371451485084292608296\": [\n \"11537255068488639372291202161102890799302764746828721051914279624045650853067\",\n \"1\",\n \"1\"\n ],\n \"6368248608165931151001497243346580501140685179765099822909050057515303859248\": [\n \"21010475746064702086339372111356794872205201462440378009376010821780329592061\",\n \"1\",\n \"1\"\n ],\n \"21475488068665692266256228838891533968000656806105695722060728018278304026622\": [\n \"6368248608165931151001497243346580501140685179765099822909050057515303859248\",\n \"14897095390261147622408441269806266683943969992880111318230658578421012168105\"\n ],\n \"3467114803923307373537008780663885110643930084975187829058490122489462555787\": [\n \"21475488068665692266256228838891533968000656806105695722060728018278304026622\",\n \"0\"\n ],\n \"5843966795542415513796999213118978422489434047363024825532626986522369369475\": [\n \"3467114803923307373537008780663885110643930084975187829058490122489462555787\",\n \"0\"\n ],\n \"16262845541838955330325755315244213139893562044987221916425022497112939355995\": [\n \"0\",\n \"5843966795542415513796999213118978422489434047363024825532626986522369369475\"\n ],\n \"20787559738997757931070774509551911772508740877449521948369970764850687707404\": [\n \"0\",\n \"16262845541838955330325755315244213139893562044987221916425022497112939355995\"\n ],\n \"12874879162857716049495865949627599827472851120713783368948492319305518297985\": [\n \"0\",\n \"20787559738997757931070774509551911772508740877449521948369970764850687707404\"\n ],\n \"17967885218643139953427287671912419246544110704292150226103161501175549061751\": [\n \"11442854320049650343068976534542237626190984911426104628923222374147036617633\",\n \"1\",\n \"1\"\n ],\n \"21340416286748551459478254479599345951591414629381792568977699323044258301782\": [\n \"17068232623270493151482584213162125120142995322014222875738919110090435239053\",\n \"1\",\n \"1\"\n ],\n \"16493318848309669218501926912307572529190462731580100068234166283005674925527\": [\n \"8438283050995620133206295565725913924859213222547069102638000964213174635628\",\n \"1\",\n \"1\"\n ],\n \"14138167969318303727146537254679179888350095003372736929721353675289661292443\": [\n \"9660883857876223598039644283668090210892790905085879346778639334513274128792\",\n \"1\",\n \"1\"\n ],\n \"1098853903848639277961344856611036024938625776390618169843761026196005031625\": [\n \"18400939306580985749736137937362896377167803041063581561423013258239870420241\",\n \"1\",\n \"1\"\n ],\n \"20991117306154620174106717734048399609773772252957008657033728948971647206534\": [\n \"1098853903848639277961344856611036024938625776390618169843761026196005031625\",\n \"9092164378107836254247808609885903030057772696056568049203492990499384603964\"\n ],\n \"18927508105146952116769508160481163167352756664078022121777601500281277813371\": [\n \"20991117306154620174106717734048399609773772252957008657033728948971647206534\",\n \"0\"\n ],\n \"9005189122925554912249135603462306868434469096670732277974823780114372873626\": [\n \"18927508105146952116769508160481163167352756664078022121777601500281277813371\",\n \"0\"\n ],\n \"13529378358986259327890415418217199672195129858957290463241414560805310927580\": [\n \"11718357311697819245688418263310585537520666674902953689005248772458043171806\",\n \"1\",\n \"1\"\n ],\n \"8941093667678371307027078351022947740723233936598141161157835928505822595368\": [\n \"7489275472785398740687702419600675909132112850849105449178505517650838897194\",\n \"1\",\n \"1\"\n ],\n \"11413117610672158922553657808008880010972146058179678620855017614897564451255\": [\n \"11124092587974749952544011808924615509321065697380649434692315572123304034466\",\n \"8941093667678371307027078351022947740723233936598141161157835928505822595368\"\n ],\n \"21856494890866998843668025975809732845841306700484521941629653189507848261974\": [\n \"11413117610672158922553657808008880010972146058179678620855017614897564451255\",\n \"0\"\n ],\n \"4745564356966895782468159520664522388867501907448202092647833004495591271251\": [\n \"21856494890866998843668025975809732845841306700484521941629653189507848261974\",\n \"18869820470985140453878906094294490256293433575565906082753494593758871912136\"\n ],\n \"16088867739955383119217422774105639861926824201465622155939853218226155835172\": [\n \"15647561993374974306868355917962560519060093188792649301822169895829388363368\",\n \"1\",\n \"1\"\n ],\n \"6554605857947805867415685423688352559813574237950251627802176787130567703149\": [\n \"16088867739955383119217422774105639861926824201465622155939853218226155835172\",\n \"17745200156598942621294239730703713701344030152330485822256336360827566932490\"\n ],\n \"21637676245128240188677430100288920127159700389792380914919364033127019984181\": [\n \"6554605857947805867415685423688352559813574237950251627802176787130567703149\",\n \"16272998499163932267520579786615498740820085468855565527628394534274897650754\"\n ],\n \"18690528662715252098536318305343281981962669224756815296680417887784547360439\": [\n \"21637676245128240188677430100288920127159700389792380914919364033127019984181\",\n \"3404729980503168673688534389403026298507788716054965683674797464770195231485\"\n ],\n \"15967130831133785927055904238936359996963719188187845923661699666769864365942\": [\n \"6797860400834682849326722512416282452781053246569835308162905826644270119551\",\n \"1\",\n \"1\"\n ],\n \"17391124197286955891727295127262402036798058695798271642711383217625765845782\": [\n \"9623748651651074200103239539669166206062040308676743250840768277122442244951\",\n \"1\",\n \"1\"\n ],\n \"6529027769418157018949716730124388757962214417414773733710394898333256431662\": [\n \"1135717010140726029113098746099047513066417317816266311036259795335073445662\",\n \"17391124197286955891727295127262402036798058695798271642711383217625765845782\"\n ],\n \"20895480234442057865569923034532968029078870147777498704019202759070426837315\": [\n \"6529027769418157018949716730124388757962214417414773733710394898333256431662\",\n \"0\"\n ],\n \"9029046098613335569516186533310481944827400097749136798887764833334483365425\": [\n \"0\",\n \"20895480234442057865569923034532968029078870147777498704019202759070426837315\"\n ],\n \"10648251437367005832033187679295255881152215578814321568098479518085273439413\": [\n \"9029046098613335569516186533310481944827400097749136798887764833334483365425\",\n \"0\"\n ],\n \"7038201586607281021625372357795447733078855333939421180833622405985063637673\": [\n \"0\",\n \"10648251437367005832033187679295255881152215578814321568098479518085273439413\"\n ],\n \"6677933304375086586555234002219225264236995032938895744463598146725941812007\": [\n \"4540062063655295498757988353130423802192446039696345819602540136737827929689\",\n \"7038201586607281021625372357795447733078855333939421180833622405985063637673\"\n ],\n \"1974166275048415822339799275663101830472224615289373978186060449178616284788\": [\n \"6677933304375086586555234002219225264236995032938895744463598146725941812007\",\n \"0\"\n ],\n \"7361311766709120498057982073352952894895005612491626179365561828539903820567\": [\n \"3211987323002901515263998153829642656238073218367252754769372722322669710852\",\n \"1\",\n \"1\"\n ],\n \"2385249887427176225914841274689087162354114562948142333754108560264278714880\": [\n \"13359907576092102877822277748037365115942049883532724501344088964892675549479\",\n \"1\",\n \"1\"\n ],\n \"14328082658731389978406393956478842951389264039732337727877034763189337041054\": [\n \"3683507365826998854378645448347251513084969013552960311056305551635612070235\",\n \"1\",\n \"1\"\n ],\n \"11201580394105384926698906645220199136178868910866430152512538970569102491830\": [\n \"14328082658731389978406393956478842951389264039732337727877034763189337041054\",\n \"19661509451637336295480661571983943210846170477981994484331315644206529815218\"\n ],\n \"32114464047077040762879162216358330501748243116158474315489823256038607049\": [\n \"0\",\n \"11201580394105384926698906645220199136178868910866430152512538970569102491830\"\n ],\n \"3355516378420475297226855357934474436554077442049566518677707623441207603965\": [\n \"0\",\n \"32114464047077040762879162216358330501748243116158474315489823256038607049\"\n ],\n \"20029590464892692108690165057487903323238747332181472295430584067972860661840\": [\n \"0\",\n \"3355516378420475297226855357934474436554077442049566518677707623441207603965\"\n ],\n \"17792330907706337531519573236880033457729628788964399384332478573480232203584\": [\n \"19789637846428606753444966233261074671097810374906314776271421861982982975472\",\n \"1\",\n \"1\"\n ],\n \"8893180249260926855417426009568372272346393465031607945343029570440336125006\": [\n \"2309247682793447073819106729454349034130052598190992526175599350660254955024\",\n \"1\",\n \"1\"\n ],\n \"7639009119132342260993445345784685310092478879983404710302524747345613981054\": [\n \"8893180249260926855417426009568372272346393465031607945343029570440336125006\",\n \"20950332695146915822919089499141439947305097253878152021980254435407364301528\"\n ],\n \"3228289212569239427882986672975612064231183758756538621602951206800624295187\": [\n \"7639009119132342260993445345784685310092478879983404710302524747345613981054\",\n \"0\"\n ],\n \"10270214796886492748267452034551173837956797059936780326185131480103035294978\": [\n \"3228289212569239427882986672975612064231183758756538621602951206800624295187\",\n \"0\"\n ],\n \"14932484504993376398908730718788526417952631577790832942790422467471663258647\": [\n \"10270214796886492748267452034551173837956797059936780326185131480103035294978\",\n \"0\"\n ],\n \"14648821120721082169066780291451644347772840912977660710838461987336360271792\": [\n \"0\",\n \"14932484504993376398908730718788526417952631577790832942790422467471663258647\"\n ],\n \"19744651042832619522118487346179865560439288224807575972265399805626039156051\": [\n \"0\",\n \"14648821120721082169066780291451644347772840912977660710838461987336360271792\"\n ],\n \"21465622018967515759869963080642305777290322914049789983029559558869044779335\": [\n \"8229708986989655579416667832590970414240822278764072082449760359034087177973\",\n \"19744651042832619522118487346179865560439288224807575972265399805626039156051\"\n ],\n \"18074957268943973119837471537553813868187193999109461604898860527900994563000\": [\n \"21465622018967515759869963080642305777290322914049789983029559558869044779335\",\n \"10158072474726980983388507718210749771280963831399984607469665202338924627696\"\n ],\n \"1433338485173004608788075921329658584537165413672761698710323986434185724611\": [\n \"8060239033932218202920436385293226063880646746911954712776910033513682059120\",\n \"1\",\n \"1\"\n ],\n \"8440174805660783043775080272872660153257904934359298797832005300203132264781\": [\n \"6058842434379949018427823790761311982457613034193618200922396821992568123294\",\n \"1\",\n \"1\"\n ],\n \"7390849929587081011235312109248800949136823110397564129823944887662011847985\": [\n \"14126404396009056458259213412339531892507072704112310084800172871590994342962\",\n \"1\",\n \"1\"\n ],\n \"6799863355924261659711229168540287844492999634768039801576029199202406117057\": [\n \"17830238498218935647905707934242487331404927848827011723282070383050686189483\",\n \"7390849929587081011235312109248800949136823110397564129823944887662011847985\"\n ],\n \"10989638154593264562863528978939215122898830886793999969747096418691428984111\": [\n \"5134970047496178569952776445736061537388266159911785298450734432272923791946\",\n \"1\",\n \"1\"\n ],\n \"9004009411548101385210075918525964614859382577429917390247213467754871443044\": [\n \"10989638154593264562863528978939215122898830886793999969747096418691428984111\",\n \"7566702289209925903813088280720404824261080058088188008916902094882906115358\"\n ],\n \"7678548716398824321692234388933301271153915318688935029445177500290684640304\": [\n \"9004009411548101385210075918525964614859382577429917390247213467754871443044\",\n \"0\"\n ],\n \"11645986162215587844502430328071612467243643615529855546547087924006688568340\": [\n \"0\",\n \"7678548716398824321692234388933301271153915318688935029445177500290684640304\"\n ],\n \"4203008912904875338734241560664772451736771584746393256030095547052415948973\": [\n \"8553867313439590832019495411492164730559180275987261700250566594612169507686\",\n \"1\",\n \"1\"\n ],\n \"13662212814589677214210029255823971120870764149758821239675987370824013331419\": [\n \"2273902288323846903473106410209690206502338474811007468083093107427066183641\",\n \"1\",\n \"1\"\n ],\n \"7650729331437345656851030162672501400190018188572161847224980235088380074325\": [\n \"16864643955852805859987597967294611354935894936855506758690202709902921754531\",\n \"13662212814589677214210029255823971120870764149758821239675987370824013331419\"\n ],\n \"521244556052436172909880283035150397836336738053465771271348022517339936168\": [\n \"0\",\n \"7650729331437345656851030162672501400190018188572161847224980235088380074325\"\n ],\n \"12503498467759625597911434831839738902490421784694031516870712060943885879630\": [\n \"0\",\n \"521244556052436172909880283035150397836336738053465771271348022517339936168\"\n ],\n \"15138722702976479540747553669107173279068530067993920631526866560818775114945\": [\n \"8019848688524132482692557855123110255472880327833797291594222581097373890302\",\n \"1\",\n \"1\"\n ],\n \"3175691654444597190357834445724579533252780062440731649108808887378954412449\": [\n \"2143150461857993470044363145079256774620413399859023649310109088634116086563\",\n \"1\",\n \"1\"\n ],\n \"13842809122925761583557938351727071963206256546719773442477575512068071004952\": [\n \"14893773206142272964564184561097453090145401602428401969115292390530909227390\",\n \"3175691654444597190357834445724579533252780062440731649108808887378954412449\"\n ],\n \"17414136882758673113882925203891084010749388769268693225884544809884569984721\": [\n \"1696794768578241319929452092895927810679946740306566025210505803848183179766\",\n \"1\",\n \"1\"\n ],\n \"19998756617934474005368039319725679441887220992962898006430563298708023731865\": [\n \"14677103411835707053522699650751286258947385153626923391811069249417760188883\",\n \"1\",\n \"1\"\n ],\n \"18124856248351550487583943635724747292213914720499241735051506732173900026722\": [\n \"11074169126471287599468876789775594216424597760482180241628505309342346948390\",\n \"19998756617934474005368039319725679441887220992962898006430563298708023731865\"\n ],\n \"8347996600601944626331859969001260162828389361580942759459774814794858331508\": [\n \"20417392784889446393883071253977119309027705541339734466190228929053481014204\",\n \"1\",\n \"1\"\n ],\n \"334628451762609747563376189934434208510952222235599904233873856071413870889\": [\n \"8347996600601944626331859969001260162828389361580942759459774814794858331508\",\n \"5408326966238255602440626461271226179676772774003838855069668652384817856823\"\n ],\n \"1918049189993004275056781158166468602860570963059681590898139020162167054327\": [\n \"3179438348017748641403952463686367004158446531604540980893396346741980459604\",\n \"1\",\n \"1\"\n ],\n \"14398427934201514589830144346193392384918912140684550671719111377068888323036\": [\n \"21493055260508942109235562491402232818887859039770824965391668277278722847148\",\n \"1918049189993004275056781158166468602860570963059681590898139020162167054327\"\n ],\n \"21238827021186046372573368665835219271140148713338452742710209647231484082650\": [\n \"0\",\n \"14398427934201514589830144346193392384918912140684550671719111377068888323036\"\n ],\n \"1835989560926316950229250190629767594628677822388257828587362662068247261445\": [\n \"15443582579324305778445021524543936920725537968355252685908766157152149193503\",\n \"1\",\n \"1\"\n ],\n \"20567836800717803981043103123135517190776003904969554469698838752805724972626\": [\n \"18593626552300521188055629449862067828410490781955594324638315833132167584352\",\n \"1\",\n \"1\"\n ],\n \"6554803260779020082961003152376572412229925839381016375614372257998973175645\": [\n \"15828910821469623244664910057560169793030726877775327420164916803706291891727\",\n \"20567836800717803981043103123135517190776003904969554469698838752805724972626\"\n ],\n \"17627231563395283259751062153160753202326750728833168082580892016263177877243\": [\n \"0\",\n \"6554803260779020082961003152376572412229925839381016375614372257998973175645\"\n ],\n \"4380332729284788238541029532179092873309179343739035257337354157079704628112\": [\n \"17627231563395283259751062153160753202326750728833168082580892016263177877243\",\n \"0\"\n ],\n \"8938315454803485278937343017356022164495248168419453001292708292668152812252\": [\n \"0\",\n \"4380332729284788238541029532179092873309179343739035257337354157079704628112\"\n ],\n \"9843677007802671347434119037339810049972002978338426317589288062210167378425\": [\n \"17166891352846241523437859811927505076783088537330474493224466353223169950349\",\n \"1\",\n \"1\"\n ],\n \"7279445544114355034021160420100230999213797811052340099175545942571074376133\": [\n \"9843677007802671347434119037339810049972002978338426317589288062210167378425\",\n \"7057211699356020109421715522803457607577945244957207109945799574278258960409\"\n ],\n \"21345390105613090421636585189268616711237524013963671832486182047703013705690\": [\n \"7279445544114355034021160420100230999213797811052340099175545942571074376133\",\n \"0\"\n ],\n \"9585409853880006825478097300151450144369426356024346618627514663796880825623\": [\n \"14618510819718585034605832078620743148867256049911251102134783660952636263417\",\n \"1\",\n \"1\"\n ],\n \"16121732161526202117316037435014125184859605030435182570882518018738440650128\": [\n \"17250459710651943386129816204828797124289485060481001226159178709562639471298\",\n \"1\",\n \"1\"\n ],\n \"5415453195109064641467397844833904920378576337550386341036041810542244804243\": [\n \"15188145414839366864851139981029597432259550567195988647562685747773775033012\",\n \"1\",\n \"1\"\n ],\n \"18280833179542273625195609400771545545130007545988481952084355089026523019329\": [\n \"21231597682080224700704520813401502769134075762482888057035519161172167365254\",\n \"1\",\n \"1\"\n ],\n \"12987057498377807581116805224238383518443137022811814446458081519008621469228\": [\n \"4138383540979379446547628174072627363176265743551242138711558356432824704260\",\n \"1\",\n \"1\"\n ],\n \"12108363103522601011770825901431247148383593225143794093456365337904267321600\": [\n \"12987057498377807581116805224238383518443137022811814446458081519008621469228\",\n \"5369958772708628169521879517041745355076418058767104062671272723007961377561\"\n ],\n \"12189251283829627309431850263536833258105105750476477914620246949830004042577\": [\n \"0\",\n \"12108363103522601011770825901431247148383593225143794093456365337904267321600\"\n ],\n \"1457160108473842703760538959292251551087836630064248311307565686695947273618\": [\n \"0\",\n \"12189251283829627309431850263536833258105105750476477914620246949830004042577\"\n ],\n \"11759440457108968867179291493684170001843510941570274957786624554138948266786\": [\n \"4473132785521099666773010044035759284672021684024383557478212612820262503272\",\n \"1\",\n \"1\"\n ],\n \"1649394602015261348076269308368205955427887642650507186551499016904805394768\": [\n \"11759440457108968867179291493684170001843510941570274957786624554138948266786\",\n \"14791587934915928434803808614874657188453114064005650948898905791022973356626\"\n ],\n \"3779338346941727334578743703270895165330410825087157220495435654222080165212\": [\n \"1649394602015261348076269308368205955427887642650507186551499016904805394768\",\n \"20857247137552246469295224438823145684514033478718948316754267744337511354242\"\n ],\n \"10030764468660034507688559494274695895887507777668720335255482655059819300053\": [\n \"9364282753797613203411008750860803277174309040553546705061258771165992061033\",\n \"1\",\n \"1\"\n ],\n \"919447492910169970876018375138104772777134939940106158230010487491301387550\": [\n \"15598640692229132126112758324185619553836183214856899725141497513746130125408\",\n \"1\",\n \"1\"\n ],\n \"11521713763192485473096883585271672918983797658621620459701995628619164488501\": [\n \"919447492910169970876018375138104772777134939940106158230010487491301387550\",\n \"2942107047438717746891290433725148375104595583131046293028573141299747454530\"\n ],\n \"21809659130661494983689756589149763841990424366271097181235091270147554093756\": [\n \"11521713763192485473096883585271672918983797658621620459701995628619164488501\",\n \"8253667941381656763792486118447488542946940732333481143006456579132483431799\"\n ],\n \"17969054782109835299112007584711563195807126617209324672240115920686742101813\": [\n \"21809659130661494983689756589149763841990424366271097181235091270147554093756\",\n \"8938315454803485278937343017356022164495248168419453001292708292668152812252\"\n ],\n \"16132133499399862614231261554403985425399370432914341626747045881427091971665\": [\n \"12376667326306578274891654381277995216699040907670436023252481020597177272724\",\n \"1\",\n \"1\"\n ],\n \"4754891692836799609207128485340114961904899942502715326205397116074161195485\": [\n \"16132133499399862614231261554403985425399370432914341626747045881427091971665\",\n \"11412009309276693257541278136935615256970179856294180816708425371183522944592\"\n ],\n \"14539444657431915497493268373312841673697962890359740163575986577087938543197\": [\n \"4754891692836799609207128485340114961904899942502715326205397116074161195485\",\n \"9941324666661340753405611587646500931390492076134553346177633753291264540163\"\n ],\n \"12009501458981532822581578895138141222488917074109532958796125541493140104070\": [\n \"10716807363641130093113864535383532065855118572658547109372871003916851061970\",\n \"1\",\n \"1\"\n ],\n \"3791042213903248840496645644117177360586552984527017067637269283742931778871\": [\n \"2123452309922641535374643410855983101194201120109737843967617862103295704720\",\n \"12009501458981532822581578895138141222488917074109532958796125541493140104070\"\n ],\n \"18983972571436249956869321224238966922247881483427057655032433963011773735330\": [\n \"10907944162743033153786784907920357262279741695994487992518767685775971136556\",\n \"1\",\n \"1\"\n ],\n \"15421197550665502859251549057262879358270022706523894821269794104132194984679\": [\n \"18983972571436249956869321224238966922247881483427057655032433963011773735330\",\n \"15408017271845492423600392045934005595746034481879985588287143880710946128843\"\n ],\n \"19921743805303862621976647241853533040875886210661345645067614069017118600868\": [\n \"10255559345218886028866293030681700249457248644061324293789635519547673518656\",\n \"15421197550665502859251549057262879358270022706523894821269794104132194984679\"\n ],\n \"12685127934377826038438858490237049200309993553733305761015089214242556377268\": [\n \"0\",\n \"19921743805303862621976647241853533040875886210661345645067614069017118600868\"\n ],\n \"21657285487660837020875636858437736804572428053162302862664323112810634435121\": [\n \"17616103513875823613532092943982655129911855713873415343148222720871200107675\",\n \"1\",\n \"1\"\n ],\n \"19472268994361277963436201880577534904922378054320673016628715404525732906967\": [\n \"11867201587206110486881169662928460522383628909685271282257574732516671604137\",\n \"1\",\n \"1\"\n ],\n \"6320305516179528994454849513440781309628420639672634864863055949720193173460\": [\n \"4597667465305984615454609597645441302262071796115625628293469109609740742836\",\n \"1\",\n \"1\"\n ],\n \"3971892002855143828274715014045190023107906272985022915820487186265931494370\": [\n \"21126624765217953029922115553310240946329177511567460121853391346592071836822\",\n \"6320305516179528994454849513440781309628420639672634864863055949720193173460\"\n ],\n \"14960380075806131999216446697313544062824886140454317080112049031187201422099\": [\n \"3971892002855143828274715014045190023107906272985022915820487186265931494370\",\n \"0\"\n ],\n \"3124835482078578138104081908377106306317551815906761040090070313626037874344\": [\n \"0\",\n \"14960380075806131999216446697313544062824886140454317080112049031187201422099\"\n ],\n \"18219764245690415302423106519664384457384656987572543045021427197435209492725\": [\n \"2759106829200247188755527941744221702449067991487782492905866117439483894149\",\n \"3124835482078578138104081908377106306317551815906761040090070313626037874344\"\n ],\n \"17176431795320808754367310449267359294708212456719905245386368866648716907658\": [\n \"12989980323139228304039520887472773386973944399756133748362898556285418317654\",\n \"1\",\n \"1\"\n ],\n \"7726531175766796281481969258620656270137554938405157254257643532063762881315\": [\n \"20552068148593130331943383422135468452894451445951034601207731583967095370867\",\n \"1\",\n \"1\"\n ],\n \"18323644396564488653720517511297793958210274845837324880563330173817457834405\": [\n \"21308629067803437382491594139161337943401534762230211791373063714512466232330\",\n \"1\",\n \"1\"\n ],\n \"12862318952448654245746459821981560114865847998140647837944692468815422403788\": [\n \"5507376008272872681456856302990771340811907383750356543733529640497396912230\",\n \"1\",\n \"1\"\n ],\n \"3347691788112938925835204357501779726437446146002742522427333344933198447209\": [\n \"231178874848525686484617729690026237948178622845295139288902031271520523467\",\n \"1\",\n \"1\"\n ],\n \"11794791476283218084378507152611251397748581227647334716078510776437859793920\": [\n \"3189321178742991110561548467565004833318967722047729001204638643434405085124\",\n \"1\",\n \"1\"\n ],\n \"5275105637029999358747832657016347553318832205825532911458405237921374008228\": [\n \"4991817150219577268505218506170738253335418306519109251313097739724368513603\",\n \"11794791476283218084378507152611251397748581227647334716078510776437859793920\"\n ],\n \"19440721076618448417543895182889690020377904799745664732569382954793420527140\": [\n \"18083956478553315923300394696559528960575500086407608530787697946992390505780\",\n \"1\",\n \"1\"\n ],\n \"3135567682393757736851970487242533579280657765943355556265498707200003982340\": [\n \"9452529753890007581937073226393607671108628437785551254006116286944179292419\",\n \"1\",\n \"1\"\n ],\n \"21684674612007687547209376542361584637106546371454311845127760733739604308157\": [\n \"8177444590509753001175933313808685181175090020380732786646244050923064844117\",\n \"1\",\n \"1\"\n ],\n \"21602145005142643487099998806770230289838496991131396411842616817810447830318\": [\n \"10445331543192623854470729635942511179889373267184898924137829719668934906778\",\n \"21684674612007687547209376542361584637106546371454311845127760733739604308157\"\n ],\n \"20808261193670060402113049280980833501313788127652088941387962361001182683136\": [\n \"3065633770134271535845977349836652685983794266447246157442192325529911963531\",\n \"1\",\n \"1\"\n ],\n \"13492470125361152287020768627873503252550538170090978406636061761553356240336\": [\n \"20808261193670060402113049280980833501313788127652088941387962361001182683136\",\n \"12359386725226683908405808231549892422021764914043235861674412875480756345974\"\n ],\n \"15868394810082940112025888914089968278101127645649711395136237247268307427604\": [\n \"0\",\n \"13492470125361152287020768627873503252550538170090978406636061761553356240336\"\n ],\n \"16603875178212793532152464075290556897092377627772049570105478068809588596406\": [\n \"21588545703162090176838322862659052963118330270543751187551905889924063975766\",\n \"1\",\n \"1\"\n ],\n \"6366284972292923501228008148811914263381099180105184358015342299853496011557\": [\n \"15448121396975291692819813338491818116937490112415117742318691245728315653957\",\n \"16603875178212793532152464075290556897092377627772049570105478068809588596406\"\n ],\n \"12107139760672292218148995084408365897700159107044291645266165917987479703040\": [\n \"6366284972292923501228008148811914263381099180105184358015342299853496011557\",\n \"0\"\n ],\n \"8150962999382924899559563723958234353280748029333806328182282540956175767723\": [\n \"12430337525622476245039963002910010654677321847286426873124456839489183482910\",\n \"12107139760672292218148995084408365897700159107044291645266165917987479703040\"\n ],\n \"14628881490084929864158077748639452302045761943870614431161706265927313428904\": [\n \"18161150034294788204232710575242088727718048957263190760019761838341956137321\",\n \"8150962999382924899559563723958234353280748029333806328182282540956175767723\"\n ],\n \"19127593706014269575031363017196332049773400824970650200925022624922823694027\": [\n \"12070901169283331565002757445097591309589322347481562745376883897432464524232\",\n \"1\",\n \"1\"\n ],\n \"18123431103151558090169242677791712416819525612493271344861950640926292148875\": [\n \"19127593706014269575031363017196332049773400824970650200925022624922823694027\",\n \"1023165462999011386638030310577327736883988494994466691693811894204378299347\"\n ],\n \"21451685660838906004765161908053225549760916208363803748631471301894837583360\": [\n \"18123431103151558090169242677791712416819525612493271344861950640926292148875\",\n \"0\"\n ],\n \"14738825414165747749735213817340070203537030155827357715655947283533870336600\": [\n \"21451685660838906004765161908053225549760916208363803748631471301894837583360\",\n \"8818685622014869444680102314855556392240419659250972186094141981421476067045\"\n ],\n \"1323204962961864754691934016200448691148571096172009168248155948648413463713\": [\n \"3262945876281990629908358901938099981777145793977295649391622743650303161138\",\n \"1\",\n \"1\"\n ],\n \"12215668508918439840081096404293228397834340293187692569604342954104126669025\": [\n \"464651211023766174259177998179736139743650965776172485856152008381556748645\",\n \"1\",\n \"1\"\n ],\n \"19331939279222912787566398408915017945604822441634287901461153387444549551923\": [\n \"4255364792638366730063277401037579441324458477543777780314809291035569099501\",\n \"12215668508918439840081096404293228397834340293187692569604342954104126669025\"\n ],\n \"3186344290393809125238878458664966989262687300719921907439781878938499101926\": [\n \"0\",\n \"19331939279222912787566398408915017945604822441634287901461153387444549551923\"\n ],\n \"20082856668653214636129647990822404232648031745642537233350177035601012026543\": [\n \"16210333120552191796840028803186787398425008557808229492716227877498348049285\",\n \"1\",\n \"1\"\n ],\n \"20954573756016586179019036092099190638484270189096832288788791961994832860151\": [\n \"19859141156134349081794750719129026307805222829827235675076121127417029713571\",\n \"1\",\n \"1\"\n ],\n \"4672939281348421101352196883890529539161908678348813380007434874365701473005\": [\n \"10921121448301083556639912449507625381934091288047687426101020083716872676176\",\n \"1\",\n \"1\"\n ],\n \"11328691020221650468699313215549265510820592371399728130126775424460860409595\": [\n \"4672939281348421101352196883890529539161908678348813380007434874365701473005\",\n \"12264794423251647745357622303272876283594743003725218489306664459364691904540\"\n ],\n \"21541504671523937247678525206516569396861976630091160131802248100731325798441\": [\n \"11328691020221650468699313215549265510820592371399728130126775424460860409595\",\n \"589098675985958274912718675900575776653827846997713964686612455960098744382\"\n ],\n \"19447083590042359435732205284875541586842575759991809663670572951573032608818\": [\n \"16781855416688689126127509052750857688677164669101325280649594809181611114014\",\n \"1\",\n \"1\"\n ],\n \"10176030760703230758030624601418989120316576450185326081345120564826043319554\": [\n \"21731113502350211983628916005840530696854639888831140354494805032027725481341\",\n \"1\",\n \"1\"\n ],\n \"14453034790684183736169312672743015851823846095877842848431418313160660178120\": [\n \"4275316485454730483397935788855299090237127738060742613200304264181365359016\",\n \"1\",\n \"1\"\n ],\n \"9655420902174630324574960604880272393934394927378156222037961375491119106557\": [\n \"10026153121540030613670344025051936478738838671013950776894429696317815893185\",\n \"14453034790684183736169312672743015851823846095877842848431418313160660178120\"\n ],\n \"5754814934292809237894947420972177115293414484114452460993274424825734415771\": [\n \"4237303080244298796148415229857575793955504223107833201462194472952686296525\",\n \"1\",\n \"1\"\n ],\n \"10943191433950801629881489091734681795523818172688610344039404543106279381938\": [\n \"6225118515615812852843763458964207182308651179359688643508693802336035156620\",\n \"1\",\n \"1\"\n ],\n \"2040266650503515311264720039121459494683473460691510521330766592989166415084\": [\n \"2140134577187549832436399982264033939816398239670843272145314594628940934031\",\n \"10943191433950801629881489091734681795523818172688610344039404543106279381938\"\n ],\n \"5523760788284966457605343798210198576525510025774082560492425765544914997716\": [\n \"2040266650503515311264720039121459494683473460691510521330766592989166415084\",\n \"1559797248202997868532146796677208665776824189166824647493727645078647408061\"\n ],\n \"1422298932000254002206650538334176861670158814124869782292175724198237193382\": [\n \"2761018764480918622608863073017613685725833907482565685490049167696410652237\",\n \"1\",\n \"1\"\n ],\n \"530292075928752800496396160212799515744303453579310364484136158974743078713\": [\n \"1422298932000254002206650538334176861670158814124869782292175724198237193382\",\n \"19424772867093641030915237242652215312450385327007222654067433271102734881985\"\n ],\n \"18977813533469884898370823732565911860091274459629948320749693787093693659145\": [\n \"6052754292843920523018920098992207600690061497597983361604885510678707488230\",\n \"1\",\n \"1\"\n ],\n \"10676563354022463092314886689714054092220050408051671324974612936621856407398\": [\n \"14145590729200537537479418180584196007345975035266323423368046092089949100369\",\n \"18977813533469884898370823732565911860091274459629948320749693787093693659145\"\n ],\n \"19710874855192122631964544146208180817864322801197110059734003210637096377608\": [\n \"10676563354022463092314886689714054092220050408051671324974612936621856407398\",\n \"0\"\n ],\n \"17070881863348219603539117937699701599266585569203242763885221814438499803071\": [\n \"19710874855192122631964544146208180817864322801197110059734003210637096377608\",\n \"18821117093874066837311843181317309083008017410291409447317172679777338405457\"\n ],\n \"11161901089863159736344331637133314617581111100587250883591728949633089835616\": [\n \"17070881863348219603539117937699701599266585569203242763885221814438499803071\",\n \"9929381822298282446015863666136124396254026837900555769579359019404549118568\"\n ],\n \"20037867333592309445077076093695734904353472777516263501364081375238890841190\": [\n \"20384256514063926234728425442458094496193786428699717592621989396598752099000\",\n \"1\",\n \"1\"\n ],\n \"12646168841057487842969675645914502494157932007274775208279102228957837667507\": [\n \"7761906481207925985197779249494065791205087754220153123702069222246559442995\",\n \"20037867333592309445077076093695734904353472777516263501364081375238890841190\"\n ],\n \"13709872113480268750202324056879455637028450392933080987250907398817177239667\": [\n \"7948741293687030311134670482030152150433416286313030372802335936387005768489\",\n \"1\",\n \"1\"\n ],\n \"7716575071866604824699779180275584759904471759008929192026041540085092660884\": [\n \"18162143282565435649499798889952173851870462805738746733497548196548931087269\",\n \"1\",\n \"1\"\n ],\n \"19668439072539796145181636104586252796963232804563142272955775446372972146136\": [\n \"16163129505661088682082625446729344786165023917952390992914001475164355814599\",\n \"1\",\n \"1\"\n ],\n \"2839706893270439112994483920106306451090700607172674871718037899513834969359\": [\n \"17782325656438886564457597002217073205213586826118306188611967176996653415018\",\n \"1\",\n \"1\"\n ],\n \"7391607274066896614152780867418756139537558183066734474481333478246269745643\": [\n \"3803034693924249730827290977629097486294506345685437932679738617344720810595\",\n \"1\",\n \"1\"\n ],\n \"16309640130356903001684540359212074065885453507733713533885551062564438264884\": [\n \"14334178917704365162870160138950423059219177257384739971966968379879753213739\",\n \"7391607274066896614152780867418756139537558183066734474481333478246269745643\"\n ],\n \"2896902615250529318757997801669422349135440430359513589437910211920879987034\": [\n \"16309640130356903001684540359212074065885453507733713533885551062564438264884\",\n \"20973991283331964173897225042647227986729248412558050764262106086052162292915\"\n ],\n \"1964895555608994981016112852336630654056458066214862951966138603384671461015\": [\n \"17117747001082915999126607506450406525210501316040465985387458741616549859535\",\n \"1\",\n \"1\"\n ],\n \"7637859017072106703140198527648003303316714961443260190119326427699335209173\": [\n \"19594177520859169019901650040464359973706720607281818223079755348937142426953\",\n \"1\",\n \"1\"\n ],\n \"13521854754212844814559059078226222446417420266208445902667885303078641937254\": [\n \"9439032723927482178481618970110156540564178025165835020186296335805391232994\",\n \"7637859017072106703140198527648003303316714961443260190119326427699335209173\"\n ],\n \"10361805185113143363873964280409344296473707900290347511572938648908925568717\": [\n \"6485735578587029388883462729019922324195127715705182033766782292097325605540\",\n \"1\",\n \"1\"\n ],\n \"16837664279168970091189245911471720291105310252155186773959781297502338631114\": [\n \"4656957686157357304990197104315931131292462026287720464476816613650589347139\",\n \"1\",\n \"1\"\n ],\n \"6064678527203330389669543748485007722788716795843551575763792389633645013498\": [\n \"11574427208153051059823056547764314823626147050962631902936111848589558750482\",\n \"16837664279168970091189245911471720291105310252155186773959781297502338631114\"\n ],\n \"159421082814610480499824809223391099744524762310876966273755551935092046377\": [\n \"1330306276275599601160417640006070481570554606276851277686931443991960711297\",\n \"1\",\n \"1\"\n ],\n \"20943397406051877662513414026267579510699455808034719349916001039558180716072\": [\n \"8311428278811557038760473016605047777575555263404533944008292103190818910917\",\n \"159421082814610480499824809223391099744524762310876966273755551935092046377\"\n ],\n \"8409325593282720744459618080065518889346418615219217982772431951934162823891\": [\n \"20861527387431958386054730622112334060718114969261051160434286026605842146532\",\n \"1\",\n \"1\"\n ],\n \"1166211699748747995994241246897042289493070664813364357608146650433092822128\": [\n \"8409325593282720744459618080065518889346418615219217982772431951934162823891\",\n \"10153944148055775237770237185724643922608403656184147788855076293607835738637\"\n ],\n \"1221342965988869880652615142529029018511493984182954725201467860053259792048\": [\n \"1166211699748747995994241246897042289493070664813364357608146650433092822128\",\n \"5233882404818693567366670712248175649369445977773422867792747482985664714260\"\n ],\n \"4981471945079791090906526663625544470551853585793040872136138434352809440854\": [\n \"13717715066984566232407894925895586033740517830986349357123567076166212728223\",\n \"1221342965988869880652615142529029018511493984182954725201467860053259792048\"\n ],\n \"6433810027676817748447591009020904508312650215705950263678310952521116937646\": [\n \"6752316058404610862758037444965604360398143303730487903453046410327539743013\",\n \"1\",\n \"1\"\n ],\n \"6082369080407441003243952861415513429975354616301871066916772404363879596735\": [\n \"12560830026098745356647398930142484285849414937592727447210184398487102219472\",\n \"1\",\n \"1\"\n ],\n \"358190403791151100018851456984588276802745685858443326145047522341460730899\": [\n \"11165526899689221743898665413107626177798140270314653253914490633582299179660\",\n \"6082369080407441003243952861415513429975354616301871066916772404363879596735\"\n ],\n \"3482194986258506922838458684193093985833418017197615254167049742609433772607\": [\n \"358190403791151100018851456984588276802745685858443326145047522341460730899\",\n \"0\"\n ],\n \"12914163056500968157107446305912321514986666191339503178874194515228930802491\": [\n \"3482194986258506922838458684193093985833418017197615254167049742609433772607\",\n \"19892628526853716849213943255126002746114544697884094202882474836925741765973\"\n ],\n \"6179183911442896352584200222050854027405741862937626949544139540906218297435\": [\n \"6566053573427741478862157576536818082601642864333008835856038822010446480088\",\n \"1\",\n \"1\"\n ],\n \"14810417608925989236256863890342437462827637509698675482692706835414897609122\": [\n \"14296592884308152951767698284053128870875824912792599207500391026162604734210\",\n \"1\",\n \"1\"\n ],\n \"3461143575035932441037028075819531098553402247751835966603543910082974395090\": [\n \"6130244989148235189895964392048710664968505358625109394681161428272091829691\",\n \"1\",\n \"1\"\n ],\n \"5056312834472284377926002693137893275068856322639233362021153717446731071755\": [\n \"1763705049883150744153183544245057038645040780141541920185844288124124096637\",\n \"1\",\n \"1\"\n ],\n \"7434668203279583461437503784573104598969417196411099127407100675717803497201\": [\n \"10690606477264141473143169747598762706756953486186406069945278005983481240061\",\n \"5056312834472284377926002693137893275068856322639233362021153717446731071755\"\n ],\n \"1511261046020171654885012886977250244512507037583957049824348278952989764759\": [\n \"0\",\n \"7434668203279583461437503784573104598969417196411099127407100675717803497201\"\n ],\n \"16586416451166424896495007359052227385036255981439108487449986892723321191235\": [\n \"1511261046020171654885012886977250244512507037583957049824348278952989764759\",\n \"0\"\n ],\n \"8918150509162904732888437493412412989875141411556335248687401138774098682808\": [\n \"0\",\n \"16586416451166424896495007359052227385036255981439108487449986892723321191235\"\n ],\n \"14494645936371996231360260621611658998263650322327611849763587868148551928646\": [\n \"4144042511153313639170504090169518341604070457506363847285080083418265561394\",\n \"1\",\n \"1\"\n ],\n \"12669019432079593700665881084746887571911743083647046441624587353682608039541\": [\n \"14680429983926275439525295739852456576252212366207042195152621246405761679512\",\n \"1\",\n \"1\"\n ],\n \"21087946797164368666482448637520443289766082443868238385245506404417888172979\": [\n \"18823755533899921089852623960589577658059974666387321982516114283218948796172\",\n \"1\",\n \"1\"\n ],\n \"12032719356630650395446373753304606384677207783192941092618204150018574255484\": [\n \"1772213521472199021578169931377671299136434928698603318467928078438839061249\",\n \"1\",\n \"1\"\n ],\n \"11381877722612712355456210169625928072930545701828502751374324986398062336952\": [\n \"12032719356630650395446373753304606384677207783192941092618204150018574255484\",\n \"5543181786233384735101957029265763415203292489308816477121651930109818610765\"\n ],\n \"11646065443137253259349333407340114727810465647851205179214070835858628542245\": [\n \"11381877722612712355456210169625928072930545701828502751374324986398062336952\",\n \"8640925209917293638001168881178205924098462159074799902389937425955230144064\"\n ],\n \"21813772677111462921174930353451660324165200520793344404633121979400135829405\": [\n \"0\",\n \"11646065443137253259349333407340114727810465647851205179214070835858628542245\"\n ],\n \"12027522079972404827598004654194474269682779104447795216132391917611784464663\": [\n \"17385037712756026560223728543212950359525906621018047130773394160658621180122\",\n \"1\",\n \"1\"\n ],\n \"5514093099735220523633288580586386046269505503347313493364647779477697295131\": [\n \"12027522079972404827598004654194474269682779104447795216132391917611784464663\",\n \"11244212906326686385287909325904054779515479191078088662190845793951031290505\"\n ],\n \"14766734948986751380596976251108278670987025626935035638749384444286833012786\": [\n \"0\",\n \"5514093099735220523633288580586386046269505503347313493364647779477697295131\"\n ],\n \"13502392990460726215227028459940449511523364867793886766711968707251385633518\": [\n \"13216432910627421619793200947294599456447302481097881709615976413958742129070\",\n \"1\",\n \"1\"\n ],\n \"11007219734038301034558086554717414521986990935007586766144744964134048780587\": [\n \"11843077981535147356658667740421827413157387008660256306838351154348566737431\",\n \"1\",\n \"1\"\n ],\n \"21028664492992188411412802668216413551431190706069083990041612534458332222595\": [\n \"6627809030876845441209305502238345648641319427052304749436303468845975189311\",\n \"11007219734038301034558086554717414521986990935007586766144744964134048780587\"\n ],\n \"13538918712483045600791866394397397899022885517624854944041597650881115649270\": [\n \"4812673938941533488190149845004902736511591137926249624159785253898564337907\",\n \"1\",\n \"1\"\n ],\n \"14626548996379509369181092966557358464571282023373066027573804582110363030869\": [\n \"11908081958582253871981281093102525529210492119517407186746562466964939213880\",\n \"1\",\n \"1\"\n ],\n \"12022761316476032750072038222436863105475586037761533652291804824494499362380\": [\n \"197470613594728635170060984062898592941844788298411861711890126332883211326\",\n \"1\",\n \"1\"\n ],\n \"15376849499869844571525332394403046004238887428951397589450516782745963098509\": [\n \"12022761316476032750072038222436863105475586037761533652291804824494499362380\",\n \"20133626292250792460982022389945161182709414279018601033804824643287859850449\"\n ],\n \"17495063172266820249738889101500891456019159143227826664471685268901884774525\": [\n \"8003337118056638188361055690516937316500975069532999355806737415265559731304\",\n \"15376849499869844571525332394403046004238887428951397589450516782745963098509\"\n ],\n \"8831537686473014329478455924744850745541753368071103483441643888464333222332\": [\n \"7740616526850925769583646625953213002449311069944879033733279103221770240182\",\n \"1\",\n \"1\"\n ],\n \"5389115342384948258927498709030831882051821260676213975493115694983397428776\": [\n \"14727460697230980910209493167407104983561056276533183758149989974074694031324\",\n \"8831537686473014329478455924744850745541753368071103483441643888464333222332\"\n ],\n \"13190662547768176041545232630461810602186179829434776770828148384324857757431\": [\n \"5389115342384948258927498709030831882051821260676213975493115694983397428776\",\n \"0\"\n ],\n \"20942895981973639132390431413683350508800518655566989897316846179256770070114\": [\n \"13190662547768176041545232630461810602186179829434776770828148384324857757431\",\n \"0\"\n ],\n \"15755123489288457369092871770837451093278642141323730607269364558152389064975\": [\n \"20942895981973639132390431413683350508800518655566989897316846179256770070114\",\n \"730128176987396781278262813955446908132672478952252572632718768491504290578\"\n ],\n \"13814789578272583936286380646898327150269824014846098172857657834361394560152\": [\n \"13715541207504756416606551706886078248292166568341683200201897966909921285916\",\n \"1\",\n \"1\"\n ],\n \"1968355943046315734271950443088898416844563032931014331656031534793200396679\": [\n \"18858140451625342718789787118648232861956355292565192718932310643951943402975\",\n \"1\",\n \"1\"\n ],\n \"10266089412789669401459456502153662916825371101057485048750959593188487775086\": [\n \"7898849420969210785153089624232227374668086292686015690032461478065229000502\",\n \"1\",\n \"1\"\n ],\n \"20896365709881408314380706449004343194726978465156800669718762993658110219700\": [\n \"11072985494626285527257036449723408226542220573229235468412343402197124702385\",\n \"1\",\n \"1\"\n ],\n \"18304368805656184793566504202598228075573242777588251877921828097905789688101\": [\n \"15211472014359032543313408126012939229652761476635675453953323479797921810503\",\n \"20896365709881408314380706449004343194726978465156800669718762993658110219700\"\n ],\n \"19757424986416578711424525018034549429214021897715094946437402999540682085801\": [\n \"18304368805656184793566504202598228075573242777588251877921828097905789688101\",\n \"6124116526502442718369101930691297552418530507532105864918049892168024299136\"\n ],\n \"1908645735878426577903954129462569512984645028891483787110673064965004709189\": [\n \"19757424986416578711424525018034549429214021897715094946437402999540682085801\",\n \"0\"\n ],\n \"13912043355431662509438542977434616013928526852085678333759476847974446190261\": [\n \"1908645735878426577903954129462569512984645028891483787110673064965004709189\",\n \"15748272269825839367248666161572073592500960845165427095403161916141650797702\"\n ],\n \"18164415115343246260107063381229082374449471840335836494575065078932056035912\": [\n \"11327998646127196459637506960828424075135000259576353895392632922407817616348\",\n \"1\",\n \"1\"\n ],\n \"21599666914547940917616685726548045281318481726644661768378658907858532690161\": [\n \"8034036033760474205565545160755383717768485169824623667261641517529826984533\",\n \"1\",\n \"1\"\n ],\n \"13259045957178084500077776599696691139710579464742175209386907947576716201701\": [\n \"7269988525301180943885178326920020380881557060294341871128257795410205107278\",\n \"1\",\n \"1\"\n ],\n \"9350513051637096233019039164346733138563874295305046909496492211676256598063\": [\n \"8654395857959021182496287247904181169894781316963558749512096247975974047068\",\n \"1\",\n \"1\"\n ],\n \"1606280448124659216293474244051819844201838348320583117134786947677573018716\": [\n \"9350513051637096233019039164346733138563874295305046909496492211676256598063\",\n \"9608589722148817629815485000111176338159857161994842927551226261761450571551\"\n ],\n \"985239348828775175811112691670394303108489419828632358270557069709140952003\": [\n \"1606280448124659216293474244051819844201838348320583117134786947677573018716\",\n \"4703638197326136021769795667117746545830099303531721466782259900853446187086\"\n ],\n \"3931955528613637638107419401822193031747531098463485680469374151173537466220\": [\n \"985239348828775175811112691670394303108489419828632358270557069709140952003\",\n \"0\"\n ],\n \"18568545125243446471266853809767063551658431411995288110418846987150757585686\": [\n \"12682404814834489765469144623079836035516709395466003126831940994667286308809\",\n \"3931955528613637638107419401822193031747531098463485680469374151173537466220\"\n ],\n \"18821188301521629851277138858246898587385810054382999765481243166322207133205\": [\n \"16452998025118408924018508446992132616431070175605210906684285602136206969932\",\n \"1\",\n \"1\"\n ],\n \"14415208921271681952615905936871811300923259524561137499485224987681871302354\": [\n \"11488262875233178197316789740542370376081869116414506982726474793155963893139\",\n \"1\",\n \"1\"\n ],\n \"15118635974695488824929312019053775674012940301704617627720196629628521891350\": [\n \"19619534816482308266357556430261878586389807139325285066294112031957847666995\",\n \"1\",\n \"1\"\n ],\n \"15029979440186494521778081431732214884751511021953699007791239914724541062138\": [\n \"15118635974695488824929312019053775674012940301704617627720196629628521891350\",\n \"1583764665058781706836623901531728321322871065561934960621394517814406700382\"\n ],\n \"2136793812747389849873682083550544044307171949929174758595489296747749940746\": [\n \"0\",\n \"15029979440186494521778081431732214884751511021953699007791239914724541062138\"\n ],\n \"14694268483011605956141304634652135515675940039783350896401420958551917972213\": [\n \"0\",\n \"2136793812747389849873682083550544044307171949929174758595489296747749940746\"\n ],\n \"20378253609573146394844452914051687508804367060346744556603655244353263641969\": [\n \"0\",\n \"14694268483011605956141304634652135515675940039783350896401420958551917972213\"\n ],\n \"20646747538083563883397903803267485563855045488995451752521254561554865131510\": [\n \"20378253609573146394844452914051687508804367060346744556603655244353263641969\",\n \"0\"\n ],\n \"5039448837148284802841230953825195866897190272663336736280552115132070108261\": [\n \"8371732391727674959976621385760043513700510129895379485594753525363503845560\",\n \"1\",\n \"1\"\n ],\n \"5810746722137703416614634720770558434084351164998453089478859556948389073813\": [\n \"5039448837148284802841230953825195866897190272663336736280552115132070108261\",\n \"13060556619513403251326507061229761596533206166769578344358647425700109813864\"\n ],\n \"10495085049944708262970933083379391079050391936313843853135794649884535080658\": [\n \"5810746722137703416614634720770558434084351164998453089478859556948389073813\",\n \"5672151689609528183328741772805761842553110427615419935905147143030277685143\"\n ],\n \"4447601330373478980154093697240336576841801829666859267003951068868011449393\": [\n \"13597192360277374062268660787297790085691085073694561908207032502392705076797\",\n \"1\",\n \"1\"\n ],\n \"15458219054675013029915901721636417939249474706390561737183096604706016208996\": [\n \"9492304940093551336840474668007186876502914424801803127464072371383979842700\",\n \"1\",\n \"1\"\n ],\n \"14900774652363066788232719505298237452850645932694383253412068168040718428749\": [\n \"15458219054675013029915901721636417939249474706390561737183096604706016208996\",\n \"5144818494365646008735455967659056980110451539851449655338390352397939801488\"\n ],\n \"17001931684043335946833254775270964744632828052413339558457911986477492337224\": [\n \"14900774652363066788232719505298237452850645932694383253412068168040718428749\",\n \"0\"\n ],\n \"3151316619833621571618208363978103831580227787161861794669324765997090912399\": [\n \"1684873846479984901181467029408473825835086906061445158419476326074104142995\",\n \"1\",\n \"1\"\n ],\n \"8296375130769355828224703331125835375966403252589023891045267672167318260866\": [\n \"17463232064769309039813819345327032175759445243973809747877354633635502326238\",\n \"1\",\n \"1\"\n ],\n \"1946672853167002683071878857128535202933867335751188650042040314856996429608\": [\n \"927480396644586539947671227868304097393267808594710996650167120655987537063\",\n \"1\",\n \"1\"\n ],\n \"11278695268620193851871929876791639121722627326888516372740788974065556766699\": [\n \"12067385855768312130074795548083404513545394285787802023383200970204940842898\",\n \"1\",\n \"1\"\n ],\n \"5888834251110175098007615191749201020882572342563074267716949797656814146960\": [\n \"11278695268620193851871929876791639121722627326888516372740788974065556766699\",\n \"12982132914583934583405243489272371884800665724074337499251990391242571855899\"\n ],\n \"12630094359619376878312336445753018194546670714975064595573621421027437054431\": [\n \"0\",\n \"5888834251110175098007615191749201020882572342563074267716949797656814146960\"\n ],\n \"21382419416935135538162451769574277745962473976501674353758745936238192118635\": [\n \"13560797327133358918504123563677108550973978750759661351259669393776649152324\",\n \"12630094359619376878312336445753018194546670714975064595573621421027437054431\"\n ],\n \"5182791229520084100907171741557770939490413540277851387726440868044790691077\": [\n \"21382419416935135538162451769574277745962473976501674353758745936238192118635\",\n \"0\"\n ],\n \"17513882655034977538606989523124608573837750317748186152539201660232149360758\": [\n \"15454168677687809332628242186010801416473280288205240333625727669269348228677\",\n \"1\",\n \"1\"\n ],\n \"12892594153333885793958004840160141527208141056603101572147257889832029347533\": [\n \"17513882655034977538606989523124608573837750317748186152539201660232149360758\",\n \"4426778426977264483812291271693496136724736807616222632589794006697491044063\"\n ],\n \"4183534471215979451886415657737301414692422390251705877076091236005932157819\": [\n \"19341832834454246289447640940426342432886680930717440094217897505961307444175\",\n \"1\",\n \"1\"\n ],\n \"16173108580662677446138491803145607028570784063710822598060087221978184074783\": [\n \"4183534471215979451886415657737301414692422390251705877076091236005932157819\",\n \"9116010541103471504775999320904605451749379533182786464300864679556790865282\"\n ],\n \"17926890672523924109982236967533855153250041791625356568715028310474085447775\": [\n \"3979736641824247252813421661538144613749794144790323146876987051311161474458\",\n \"1\",\n \"1\"\n ],\n \"15144399378002436969409288432527543235388829940076563480624638191089156193685\": [\n \"16320665924340083289937962166349903919567098808075986033227150773217649260836\",\n \"1\",\n \"1\"\n ],\n \"19584562444714622032649822360862067005979569279014232318610882577661237895611\": [\n \"6573801914345286804524385150651432911981459500638348439062312506808310186522\",\n \"1\",\n \"1\"\n ],\n \"6731400365098621584381415551053757184192427264388020851344662415361216592915\": [\n \"19565815527898211992034899726269744650225354957826954899229608266777088277760\",\n \"1\",\n \"1\"\n ],\n \"2065917670458410682460866895585695294529291165111889766218971181682060086969\": [\n \"11082676515679062729427222151188990675885045757951178496768125274439305813808\",\n \"6731400365098621584381415551053757184192427264388020851344662415361216592915\"\n ],\n \"5163128695042313281487020377598099149373042077719569365068705552625538940158\": [\n \"14071242159793482338866521030921777147763434964298354188504265128614577555009\",\n \"2065917670458410682460866895585695294529291165111889766218971181682060086969\"\n ],\n \"18100025747506391170181906516843771057842963307822527020925428167598384958674\": [\n \"7951499188832781222181917485004702411942081007954335264010309993772933414632\",\n \"1\",\n \"1\"\n ],\n \"10988722779878826088140651424228800501019939175742122691025212074389480535039\": [\n \"1024943513284242333204514839672556452186858936200662951492072165694781213906\",\n \"18100025747506391170181906516843771057842963307822527020925428167598384958674\"\n ],\n \"1188199719952829611193716861145588470632408555732102968708105373754472176402\": [\n \"6472518473301749962527601202821431216664191306462192585111204170513736736068\",\n \"1\",\n \"1\"\n ],\n \"8289065419210971723696962904890129522712456884381276520491704946180707592547\": [\n \"1188199719952829611193716861145588470632408555732102968708105373754472176402\",\n \"5659922735133306904124074456631539378502968589766160231426702285141089845290\"\n ],\n \"3428532987480903963132830200262399864263816267870509068387217953904415897229\": [\n \"16359714813756647977471552940255005970997841717432208908280749379914910724498\",\n \"1\",\n \"1\"\n ],\n \"10704566867123234764067580091927923203581326803540526696341917289066904802413\": [\n \"9695487807673846508445381097809287066016233834483180021742795205928909242971\",\n \"1\",\n \"1\"\n ],\n \"13901957570735179824126254170520799164269306407224970633754023913984682788138\": [\n \"10704566867123234764067580091927923203581326803540526696341917289066904802413\",\n \"6951736370462233227087613800348156046032879006641348059393609128422449867297\"\n ],\n \"8385069783347683923116226903655166179826827191866013462393156570589162935523\": [\n \"19417967083149803275891608748239086231770053289651002810543670542406535579537\",\n \"1\",\n \"1\"\n ],\n \"16786143114504446687938926426690426623737524559653030358653976177007975794189\": [\n \"15675563170893124609234855562579618726241194344548769925156052479112803644542\",\n \"1\",\n \"1\"\n ],\n \"20363588804192855843173227736218220966309164462811991123188168278474243201310\": [\n \"7981001511085112858031366924662665412315790260568904807411341285755029312824\",\n \"16786143114504446687938926426690426623737524559653030358653976177007975794189\"\n ],\n \"2979215010033329988206188317013064205475023331455522559378554562201205767470\": [\n \"150496461842035113678063652450692786876707497963436897331110898881932750696\",\n \"1\",\n \"1\"\n ],\n \"6200189274248286722486895716564748853339774066966645578009277965328633159701\": [\n \"16272855316616658886758733856394528170133221931728959087164813683465501033252\",\n \"2979215010033329988206188317013064205475023331455522559378554562201205767470\"\n ],\n \"16121267719721640303725122864928077724248290494938565037760759247483769738635\": [\n \"0\",\n \"6200189274248286722486895716564748853339774066966645578009277965328633159701\"\n ],\n \"6989515137706974284358911499132079270045992710334286615781729448580459458078\": [\n \"0\",\n \"16121267719721640303725122864928077724248290494938565037760759247483769738635\"\n ],\n \"5076502183125841411302530734109196021520987885481569869133802863318818797124\": [\n \"6989515137706974284358911499132079270045992710334286615781729448580459458078\",\n \"0\"\n ],\n \"795984308320335338221080235973033082537967822269728539525253690846684596626\": [\n \"0\",\n \"5076502183125841411302530734109196021520987885481569869133802863318818797124\"\n ],\n \"11339256000260028615791567881652752718214616527100363460487572198844734023769\": [\n \"3779338346941727334578743703270895165330410825087157220495435654222080165212\",\n \"795984308320335338221080235973033082537967822269728539525253690846684596626\"\n ],\n \"2608003557071572208373823419654745404274735784214744202554538151653821024578\": [\n \"2312288262473161612051001469322816383475639770639243702672551084633983645015\",\n \"1\",\n \"1\"\n ],\n \"17645332328175516472657555429139915963633980318464859796458441996472290734868\": [\n \"21067621540174529000400897004545933361625145873199830634126629555201582868451\",\n \"1\",\n \"1\"\n ],\n \"7526378728799879379724988097509137675321314998602293318186951484288497544631\": [\n \"7732395792000067859495196199829356954999056247015483462303905889199502041186\",\n \"1\",\n \"1\"\n ],\n \"10146413851589392069324481400087847367252927520806636642877788081909047558795\": [\n \"7526378728799879379724988097509137675321314998602293318186951484288497544631\",\n \"7800541050728596409757319018085989350905447846177756641257620275329775148121\"\n ],\n \"6086414605521637168501193151799236744998593517727692588394191201496370251559\": [\n \"10146413851589392069324481400087847367252927520806636642877788081909047558795\",\n \"6762178034352837235333257222421278778920256896346624482720114088249561632953\"\n ],\n \"6066158033952080028589281263588486258981130075966821209339103976931662310777\": [\n \"18787133254351827956353879619678069241118339368410988428979745009705822801312\",\n \"1\",\n \"1\"\n ],\n \"4255744254772484420258202800293389889168823796750220440701911777035603928858\": [\n \"9884262423733690999275420251008199692165717999429016822730555217171932102135\",\n \"6066158033952080028589281263588486258981130075966821209339103976931662310777\"\n ],\n \"14150755211000607170721100622985626381368502625127247640917404383024957595325\": [\n \"4255744254772484420258202800293389889168823796750220440701911777035603928858\",\n \"0\"\n ],\n \"12504670165010521951875569516204606133228071796519159334698043614341153762801\": [\n \"14150755211000607170721100622985626381368502625127247640917404383024957595325\",\n \"0\"\n ],\n \"5810345584871319535699270733812963576981617305142888207316377916853782172471\": [\n \"16519894005852624666381311379786360931313060716647801746048178913736965807559\",\n \"1\",\n \"1\"\n ],\n \"19120511655510086104237557442788525756724295207217880811739568445208300638625\": [\n \"12064950909483668530572954136401773760434056436591732168024163508426536275314\",\n \"5810345584871319535699270733812963576981617305142888207316377916853782172471\"\n ],\n \"13489209851594708651942747782271994969968706726912127707228618870951950920900\": [\n \"14159627621773717553985047876478898486504667868070033416323617663607226921751\",\n \"19120511655510086104237557442788525756724295207217880811739568445208300638625\"\n ],\n \"2159934397822844312951949971741640197876915685340460525421976574362762065894\": [\n \"18708163929086522966606358561235787856678773881888908601371992953674217035236\",\n \"1\",\n \"1\"\n ],\n \"21651231839301344981494127356075112205872591975916824292290544080585817288255\": [\n \"2159934397822844312951949971741640197876915685340460525421976574362762065894\",\n \"6996214554807967773423772546578927461697100480498058179965284656409561682088\"\n ],\n \"13337960550402695897271302270996323025028066340973104695140909155024595015090\": [\n \"21651231839301344981494127356075112205872591975916824292290544080585817288255\",\n \"0\"\n ],\n \"6870566955610544943544044717082330040552879126817595732814527953573012330222\": [\n \"0\",\n \"13337960550402695897271302270996323025028066340973104695140909155024595015090\"\n ],\n \"15524710756353627524855411008434353654691947230064561104166584426964190623320\": [\n \"19037688236220203715290288263533452825325395070933378517805581029195804429207\",\n \"1\",\n \"1\"\n ],\n \"4356890214329559115429062910445369885262477221120995977214658697386528616502\": [\n \"16717904873204198163413080326503721581512217989325087156385093840129417260249\",\n \"15524710756353627524855411008434353654691947230064561104166584426964190623320\"\n ],\n \"2105858191924325938908540732538754392836118797482300240550928762399040453352\": [\n \"0\",\n \"4356890214329559115429062910445369885262477221120995977214658697386528616502\"\n ],\n \"14931041450844257797555449254491962296586224101837568656995331265126563869252\": [\n \"16049771140087867969197010358478908491538703033168205346532664607770949275299\",\n \"1\",\n \"1\"\n ],\n \"1680694314071741701707384897206836084068014498535812688736902506510411948385\": [\n \"14931041450844257797555449254491962296586224101837568656995331265126563869252\",\n \"20954573756016586179019036092099190638484270189096832288788791961994832860151\"\n ],\n \"12414018027477907380331591328688400767504462843533425628443215603655179690285\": [\n \"0\",\n \"1680694314071741701707384897206836084068014498535812688736902506510411948385\"\n ],\n \"11843181569860371604117147290505884896464865437723053278531006068546724700051\": [\n \"13580464907018914911159805698817354938861924857269852795176298728504980709676\",\n \"1\",\n \"1\"\n ],\n \"3301213181617670813994481746031020002656452909083793611208242455617860138137\": [\n \"18518174436858097860737012493493530992592438410624360645250455495998374850802\",\n \"11843181569860371604117147290505884896464865437723053278531006068546724700051\"\n ],\n \"20172672449723028235976606212918698595025732684842074276111094742899191073425\": [\n \"3301213181617670813994481746031020002656452909083793611208242455617860138137\",\n \"0\"\n ],\n \"5906272699698899599644730251883026312780124046238166757916712717602725584924\": [\n \"0\",\n \"20172672449723028235976606212918698595025732684842074276111094742899191073425\"\n ],\n \"12008274505248513132082536694940810037804352586791055367369082197196643531869\": [\n \"3812615532962546929349520282272659216671487438618508935671584926094167714856\",\n \"1\",\n \"1\"\n ],\n \"17187748700743937831079914525372580762903606894228046715369450781494058515849\": [\n \"3903288998096027811360218263367511793351847288484926067991529355953930029945\",\n \"12008274505248513132082536694940810037804352586791055367369082197196643531869\"\n ],\n \"12013205699692505463460827385913236546840971200278032764450558718302470397323\": [\n \"14444275922153290002164486165332671833242571568350183247331433285758250130706\",\n \"1\",\n \"1\"\n ],\n \"5904660953482979189920562630838294625508845385216059914560686195054008542016\": [\n \"12013205699692505463460827385913236546840971200278032764450558718302470397323\",\n \"17666162950427446929502643350446130287044590192211436981990624063740628529556\"\n ],\n \"19647242174572569031521769270570255405381579963095785503679301344827928162083\": [\n \"12391292786072667779198536629421810666256656750954552735718993306428982695076\",\n \"5904660953482979189920562630838294625508845385216059914560686195054008542016\"\n ],\n \"12276882739959741306805674898794015512718200707472349218884033677882168613262\": [\n \"6372492444446388087260227354257593871472766226548385923959196485253687845323\",\n \"1\",\n \"1\"\n ],\n \"6725218999976295627754821414330859052869867887274133989016974626949590673574\": [\n \"17561899887369811110808792214641227466698566878921229091276461144182550468926\",\n \"1\",\n \"1\"\n ],\n \"1650117079383428621337093960106106019798657532037745591734525757497424101236\": [\n \"18326622971983139056700694527890671472492838159459444505854160459632316541954\",\n \"6725218999976295627754821414330859052869867887274133989016974626949590673574\"\n ],\n \"21821208589410674308965545915249422077742367739385479519425815509657577865796\": [\n \"19255901823362285035057281127572564903666157460262888353800080481461768714420\",\n \"1\",\n \"1\"\n ],\n \"13633396342683698556926932326089555690921894653598638316854115410926333258432\": [\n \"5017019220317236326062497414944514627913915256643674233423995902902284513948\",\n \"1\",\n \"1\"\n ],\n \"14318197692271351279598848165726330136001250852398089267808621273182182266638\": [\n \"11202085638725565383579577439001446075480035579867847740308070286003868936744\",\n \"1\",\n \"1\"\n ],\n \"11478514551399492800518102789050819236643519882591379062593014630156387223778\": [\n \"1000548647502442978569987508497226961938431634564530542046632776821713278878\",\n \"1\",\n \"1\"\n ],\n \"16280330927930607823852668725766160518933606677604714866623789410806356516063\": [\n \"9838469062793374822657991325693655232974470374545780404939539538159973070829\",\n \"1\",\n \"1\"\n ],\n \"13652939375181364769097217107620192279012485862415821747505048977268269065022\": [\n \"21189052893776925208175619673807052757124279654728330645241135481643303266563\",\n \"1\",\n \"1\"\n ],\n \"1838125714916681129864924141906792726926624786864297576407170667651199623989\": [\n \"3135567682393757736851970487242533579280657765943355556265498707200003982340\",\n \"13652939375181364769097217107620192279012485862415821747505048977268269065022\"\n ],\n \"11341533310554699688198252789887307485192283744229061758086259468450410864859\": [\n \"19853672763465159990593156826868292630611996324206710561101619343099894742053\",\n \"1\",\n \"1\"\n ],\n \"7211178327143676839915039858087262207194724103302579588211284591794492488304\": [\n \"7460634603912077058951104563797554333416979423630668662425226570852161669068\",\n \"11341533310554699688198252789887307485192283744229061758086259468450410864859\"\n ],\n \"3383812924140464228753510922745312691110625946047799768186496138781546444352\": [\n \"1394357068922632260308196357979572042686570492511210869589361162220677245844\",\n \"7211178327143676839915039858087262207194724103302579588211284591794492488304\"\n ],\n \"15108150298899070532441208466138855171374178806507972044476282385557070546604\": [\n \"9778213292033703526009550874126928132849983187520268600185842185070948477941\",\n \"3383812924140464228753510922745312691110625946047799768186496138781546444352\"\n ],\n \"6048081248201958702408377579704096117550725782093534579746636221547079710190\": [\n \"2633965078160221421201932903508049279529057196365940486560519218134082526452\",\n \"15108150298899070532441208466138855171374178806507972044476282385557070546604\"\n ],\n \"2655704737037158530547958289976151665540836562801819059796325864931745729888\": [\n \"12504077621159700185936240269242234033072461430720875738671007203610286928164\",\n \"1\",\n \"1\"\n ],\n \"3817546931310478923753477486354049656790067941970707778461563949032581494047\": [\n \"2655704737037158530547958289976151665540836562801819059796325864931745729888\",\n \"15144399378002436969409288432527543235388829940076563480624638191089156193685\"\n ],\n \"16020682767654918064341996090570506606874632443438559855197204968189584967685\": [\n \"3817546931310478923753477486354049656790067941970707778461563949032581494047\",\n \"11695824036467685150491986637737500368296572484367058999884635833792856735976\"\n ],\n \"21873575149961378615448883964216627858887416043743240017953126002773574193653\": [\n \"8834709061491079038365820306369410034026062927938861887502355571527765148739\",\n \"1\",\n \"1\"\n ],\n \"15402334683646229087582063562862108110088736940437813813517384510874495085435\": [\n \"21873575149961378615448883964216627858887416043743240017953126002773574193653\",\n \"4211233827046826864027821229626089134013160581029068507994815430250335327614\"\n ],\n \"15692035096803202745810977114738984616014118157291591181280181668967955739944\": [\n \"15402334683646229087582063562862108110088736940437813813517384510874495085435\",\n \"0\"\n ],\n \"21000007525838210452635637759245735902283322895135357754611942835576233361266\": [\n \"7156766636495113013017118838844531654387115146554436828942923709688970097776\",\n \"1\",\n \"1\"\n ],\n \"8787150233465681240105353754936334938473268295652906767144645419267863589514\": [\n \"20510473325533112504359286314809161133012484611309220460734260382223492135031\",\n \"21000007525838210452635637759245735902283322895135357754611942835576233361266\"\n ],\n \"7544773317953556904721222822279145899235178286781158608647789658770116339510\": [\n \"9659936440909804513824282396940246950855196123022600679377059155105920204287\",\n \"1\",\n \"1\"\n ],\n \"9158409146437699379681358523490724867255730166435282214501694196256485371394\": [\n \"19089206252041988441276314946532065735176897651610761958780433949331445495284\",\n \"1\",\n \"1\"\n ],\n \"16044173286592430716471443957205986812864373392185369754243028421968427815514\": [\n \"10986022027083273220999531036674531991485666344851930887064117410235207063780\",\n \"9158409146437699379681358523490724867255730166435282214501694196256485371394\"\n ],\n \"16033023452473839187322792955893642455005080242349090968716726337170453710938\": [\n \"0\",\n \"16044173286592430716471443957205986812864373392185369754243028421968427815514\"\n ],\n \"8653935092826423558718369839149036616409853735599221582785311415951849993161\": [\n \"13635223579346731655699658732290570656284634736360243906701909299909349438933\",\n \"1\",\n \"1\"\n ],\n \"20979962530739201723108965039528544844245698121289044923031621988198148433058\": [\n \"11749718631105510758130152456990298917859593477741198063985745786156374194926\",\n \"8653935092826423558718369839149036616409853735599221582785311415951849993161\"\n ],\n \"9538451562514614419726593195731690778593640013989794107115379872181907732997\": [\n \"6085363461722039232721831874232249474310745116125182607177288570076811184453\",\n \"20979962530739201723108965039528544844245698121289044923031621988198148433058\"\n ],\n \"14026589027989249328886449675281660537250326709594696941474282601331676756673\": [\n \"9538451562514614419726593195731690778593640013989794107115379872181907732997\",\n \"15767793809744917382237821445533879960180168697349792132715511777071966526353\"\n ],\n \"10200393445041046625908960941879741171770181722502305983517302801260541376684\": [\n \"21594196334555916502046445960410010544545393673545982712157977319160149206423\",\n \"1\",\n \"1\"\n ],\n \"2766392565733111238348388267526085348275194926492157217760842663141753521482\": [\n \"9435930907032613829902213949946811224869707802835233977082244898869661598944\",\n \"1\",\n \"1\"\n ],\n \"10334702763639209539695246283787927332362376231710375980116381582673596676189\": [\n \"2766392565733111238348388267526085348275194926492157217760842663141753521482\",\n \"18274000859020994728711858679184236681449292053743470982022232769431090818542\"\n ],\n \"889855331752988086113541105369847041655546994093135584616841170885076330445\": [\n \"10334702763639209539695246283787927332362376231710375980116381582673596676189\",\n \"0\"\n ],\n \"17212348347576037678567165073612451931724410828210809606026198058554106513727\": [\n \"1085335312079918534422351162297608557169410719504122294329872330485262483128\",\n \"1\",\n \"1\"\n ],\n \"14560566213134629552159222892350182659468028132231698327940614895166113483715\": [\n \"21777335797341544297958700905746758101123540945158417818620435351384503851519\",\n \"1\",\n \"1\"\n ],\n \"18521800592203311974094459835841119917782463065557885386409784035370303459420\": [\n \"8046267429474157682214558957111278589990413703051726163420060135883169563820\",\n \"14560566213134629552159222892350182659468028132231698327940614895166113483715\"\n ],\n \"17565886716149315439847637424272293521202655695203117962293976558503769450980\": [\n \"19991297578400315483402782304850086834885234484317459241973743639168657815192\",\n \"18521800592203311974094459835841119917782463065557885386409784035370303459420\"\n ],\n \"20399572771298065501801555036918084569815806801540139332916793859866401373357\": [\n \"3485185808618163042750661614679744347234908372720853177633836762497157617795\",\n \"1\",\n \"1\"\n ],\n \"10866883283978699032128480446000598590683601231577873741480366943581364917088\": [\n \"19302712756386842856953702472889513389263207519112176356540788143162509687791\",\n \"20399572771298065501801555036918084569815806801540139332916793859866401373357\"\n ],\n \"1349686774501053417601963103793954137434228400985983914957874236102088153943\": [\n \"20880381416532575553419621732244425931835258996369105033874627877634732244096\",\n \"1\",\n \"1\"\n ],\n \"13792332229324445794169262603387637894717967667276937065480218274726241082849\": [\n \"1349686774501053417601963103793954137434228400985983914957874236102088153943\",\n \"6624263878530704986711969025442049352016892768995810807944202711895315479783\"\n ],\n \"19718415323231192654530271457478830486039300305703814477330668633743578500775\": [\n \"17413919557187187191815777133664167869913522839409541018291936991779567397298\",\n \"13792332229324445794169262603387637894717967667276937065480218274726241082849\"\n ],\n \"15885949801052041085483503762486828994068326861691554363977429384931203213176\": [\n \"0\",\n \"19718415323231192654530271457478830486039300305703814477330668633743578500775\"\n ],\n \"13670053273066733602279659108821088608987059012366010454518788486011982482296\": [\n \"18494185196177208325901446928692707234305213145841400265787269385686013056682\",\n \"15885949801052041085483503762486828994068326861691554363977429384931203213176\"\n ],\n \"15226210182702754250284726047656520413693301097537414216761473259842372245100\": [\n \"17823055142309341940063284387614984587029078264874292207476979186809100966810\",\n \"1\",\n \"1\"\n ],\n \"16616495756109383338055072157692604734840720812494395299091990826298865525770\": [\n \"15226210182702754250284726047656520413693301097537414216761473259842372245100\",\n \"5279139810574066974026810565586501894023762651732586060577649433210332740818\"\n ],\n \"17516518056869458056689433683715102277969420214766074547286389922286901130661\": [\n \"16616495756109383338055072157692604734840720812494395299091990826298865525770\",\n \"0\"\n ],\n \"3272582357777187113131648077999366033653572745926652563936594445427376271940\": [\n \"0\",\n \"17516518056869458056689433683715102277969420214766074547286389922286901130661\"\n ],\n \"10805878493835258926160789286927540482394158349239280359749485468204337244390\": [\n \"14865269449457818609705570024308793367882596191280566402898072293193379162788\",\n \"1\",\n \"1\"\n ],\n \"4948130231436063613274007137909777266788939257391394436038501761549826293964\": [\n \"4541464836462590803312013441222945772062504519003425183685023654300302531544\",\n \"1\",\n \"1\"\n ],\n \"7605211157110868652115287403081559444245077526119328803684411025251265493545\": [\n \"6399957370143263392040211928951521383695633099911826017984133552235258105691\",\n \"4948130231436063613274007137909777266788939257391394436038501761549826293964\"\n ],\n \"8496321109089667248340581581431110475396787982598893459923678075858694786234\": [\n \"4675209504732121717095272774301753473594695588697436513668776306205773347764\",\n \"1\",\n \"1\"\n ],\n \"12046887248524700525761740344286376379590386976414426842438523065652778534037\": [\n \"9625166416874622639182530558060114353224129128821943375822264164592631736899\",\n \"1\",\n \"1\"\n ],\n \"18250271643751933298476371306760003148239582435221596202080289851724214652747\": [\n \"18114372136461204538896110510089502767872209432377291627765586792908569112790\",\n \"1\",\n \"1\"\n ],\n \"3204280729468995551773074128198572631849343446001143828764011536948387751129\": [\n \"4862369597430848813288714758329656624945606653151270282521700150965605664060\",\n \"1\",\n \"1\"\n ],\n \"12372402767653691132032813958375565573734502917268289166675475448002257552896\": [\n \"13943061955025180882968023337501795323121499547919593153151754095755022994919\",\n \"3204280729468995551773074128198572631849343446001143828764011536948387751129\"\n ],\n \"16846810705255478286948952204188352776347558732683483499219326300984484137901\": [\n \"12372402767653691132032813958375565573734502917268289166675475448002257552896\",\n \"0\"\n ],\n \"7665785269840325562558566974244262732201140748869819965518439995170403136267\": [\n \"16846810705255478286948952204188352776347558732683483499219326300984484137901\",\n \"16031580268293800382709188931554566801221634486187327829944571224811767572296\"\n ],\n \"18483609371905203103778915694242187309469305956491159111429876177206926171463\": [\n \"4745633137393741821092931260340209148884695248565468559708636639606917912850\",\n \"1\",\n \"1\"\n ],\n \"8689290701963868130748093752084468926730733349726529501827658143112352496963\": [\n \"18483609371905203103778915694242187309469305956491159111429876177206926171463\",\n \"11863519158411856641625389838008983417171959577721895861282059273373261735522\"\n ],\n \"9773098264583149645556893466981506502928241436265713522800666399486760192398\": [\n \"7015061418948984011237281686885931158927138904946248530495333383483857080728\",\n \"1\",\n \"1\"\n ],\n \"3442317427716450961256430114328850183039981190448631792025478629965712439440\": [\n \"9773098264583149645556893466981506502928241436265713522800666399486760192398\",\n \"19125704146464228726744033332429862174273450464134781956255545545829722306303\"\n ],\n \"16782776133359846426962322337500731301017095577780950781095081725489414518345\": [\n \"13372545204284574896448409170290786905769216322988547372561048293366891419337\",\n \"1\",\n \"1\"\n ],\n \"10670305953381798581524882678055372391072372143148924637139401086828152967852\": [\n \"1512781531635341879781635424013250897595493982257644751169483053803061702345\",\n \"1\",\n \"1\"\n ],\n \"18903638360849063434891257029671600418167421942531516592671908552293466204550\": [\n \"12837289635126294483074467775239676464412904443000206874964011529846063471533\",\n \"10670305953381798581524882678055372391072372143148924637139401086828152967852\"\n ],\n \"3718530960988865861163061751992678940545118049826452455935294000117466397081\": [\n \"18903638360849063434891257029671600418167421942531516592671908552293466204550\",\n \"15376950156781056368038206385368889753084112872942582744351002316009134150266\"\n ],\n \"3184006543746093969293015757071362780041439897781549669060185639278952877305\": [\n \"19170482045110976814012292271508477838343642653788408727638090645255903200934\",\n \"1\",\n \"1\"\n ],\n \"12390060583954618198813277074487421599530525074504644649287182166993533696367\": [\n \"7741037881484814805216143151762745918230466897634311887804233716644950374252\",\n \"1\",\n \"1\"\n ],\n \"9941099036489887877367806620441566561897282208138580188489972358264924704286\": [\n \"5174919752438226839850615332907178119841304600114903685817341666800953343137\",\n \"1\",\n \"1\"\n ],\n \"21047846096629825799103837903950316743287730043264840492060919015265157675295\": [\n \"15784325557778126938644088606187456289875334685754019769604619710838545466376\",\n \"9941099036489887877367806620441566561897282208138580188489972358264924704286\"\n ],\n \"11302535800846305101064310265454564992557835029922521842994504446514154172394\": [\n \"1136703693031399762909559231991100910782912057430864749207961546497043149585\",\n \"21047846096629825799103837903950316743287730043264840492060919015265157675295\"\n ],\n \"16845802739882419983893683593623185952517425111896072261998145701576431234106\": [\n \"11315803361685253583061025996403448284450230289652899904345918352084549727282\",\n \"11302535800846305101064310265454564992557835029922521842994504446514154172394\"\n ],\n \"21378704740951767369576744204250409757187150925293056339282620601858833356434\": [\n \"3888194297866906740600618435566909363892637266561330550239592387445809718642\",\n \"1\",\n \"1\"\n ],\n \"15791778526643048503787788062166034253355007173447751283138769628802786529420\": [\n \"21378704740951767369576744204250409757187150925293056339282620601858833356434\",\n \"18815198573007448197762599082435005501314540046177999578470765862003484683\"\n ],\n \"8140180970490003487734950996433425071114776811595358894063342814534090692279\": [\n \"1833403303992439268326169222048756897544926843960756931071735093486072356794\",\n \"1\",\n \"1\"\n ],\n \"8678598025790713117849229766163028169698511613657000758026298537506285498493\": [\n \"10069051697956540850348601925257311329743986689896263383128574974715208862779\",\n \"8140180970490003487734950996433425071114776811595358894063342814534090692279\"\n ],\n \"19095208609596345728212499582532314757995795446294360918558675619088404952122\": [\n \"0\",\n \"8678598025790713117849229766163028169698511613657000758026298537506285498493\"\n ],\n \"8678455456334125728515185646547412333107264086909585107030490898141184204432\": [\n \"13828629174630674911722654655914534670612534749824233260377659245193555480571\",\n \"1\",\n \"1\"\n ],\n \"7501892977456572128972508548585950976330049599317931852487413348043527417045\": [\n \"16237945174653266477223735119969509305704389639419989204996651951647654763289\",\n \"1\",\n \"1\"\n ],\n \"12306404603066282076069415306441908288023025274981567101024423296089190606753\": [\n \"17483553859602700992320028953185164949165250899805440900228614787930281107077\",\n \"1\",\n \"1\"\n ],\n \"4324554330666436264603108333256816993319526834056831391118136809882384275240\": [\n \"16843890141296952532719773892390642491703433844281883539012932995653483890679\",\n \"12306404603066282076069415306441908288023025274981567101024423296089190606753\"\n ],\n \"7939943976331104282812322442415753677681658204711219286310171118144295637821\": [\n \"3487133401201467053409066920895219884473345924842977232734871598323863364500\",\n \"4324554330666436264603108333256816993319526834056831391118136809882384275240\"\n ],\n \"19802222355884150780016763421703080119594717341465791040878053281221886214781\": [\n \"15595873063056588406675513121252388470479123021224155294273003347238262595865\",\n \"1\",\n \"1\"\n ],\n \"13077538272879599403641163003291443127002134429205543595622643836513299686204\": [\n \"14244120590406853849537051657977542466798134922687779777555887774920410856077\",\n \"19802222355884150780016763421703080119594717341465791040878053281221886214781\"\n ],\n \"10892887090833082140425392422887083673827291270556036000637608249648897991415\": [\n \"0\",\n \"13077538272879599403641163003291443127002134429205543595622643836513299686204\"\n ],\n \"18513916995940535916525275655971685013702285353572903512914855102035859554689\": [\n \"10892887090833082140425392422887083673827291270556036000637608249648897991415\",\n \"0\"\n ],\n \"15933289678368162899436500685734946896642879905611917946736068420483608707768\": [\n \"16389117170069547811057286605046976618414446994845397877585972106168815284001\",\n \"1\",\n \"1\"\n ],\n \"550635770113983570293570368793953365281138764394712629802584055422464976503\": [\n \"12972673626012553989274827222282453544658482550001698693992496778953138144376\",\n \"15933289678368162899436500685734946896642879905611917946736068420483608707768\"\n ],\n \"4876869954704874969157986763874884090541004256523094902716075085403699786781\": [\n \"0\",\n \"550635770113983570293570368793953365281138764394712629802584055422464976503\"\n ],\n \"6026914434054047465092747479670449945391849996657363120019088721678259366623\": [\n \"4876869954704874969157986763874884090541004256523094902716075085403699786781\",\n \"0\"\n ],\n \"1657808589649692236925240431473349463057901939798752707089147676924964913370\": [\n \"7438406504308927636122608832670005462419928357787450600748777197089016946669\",\n \"1\",\n \"1\"\n ],\n \"12580109956067181936297786703425828143025033869250603728065747378824500444093\": [\n \"1657808589649692236925240431473349463057901939798752707089147676924964913370\",\n \"16844909154011250399911432293192400587040118937429943731565001840512659720577\"\n ],\n \"18001526651500133164387753952462970920615351933080582705487083694689589637015\": [\n \"12580109956067181936297786703425828143025033869250603728065747378824500444093\",\n \"0\"\n ],\n \"7939237182112184927763516408792805473317131152764307454758530013570946699152\": [\n \"3713758914048734025574913802452873257631247371332268282766046127502411847901\",\n \"1\",\n \"1\"\n ],\n \"18655047763828417894276055476653546200216497608148316467169212592317252106738\": [\n \"13806284123904051572487381135048849700478938547524053656426435979142284970720\",\n \"7939237182112184927763516408792805473317131152764307454758530013570946699152\"\n ],\n \"11735355907023799963190465611967236041582628553953781359385132111722151672778\": [\n \"6123604474081719027552192541364721765236382718793891184299779591022100787771\",\n \"1\",\n \"1\"\n ],\n \"17487054545047892803126107147089418460196092241241668421007111662881116646352\": [\n \"11735355907023799963190465611967236041582628553953781359385132111722151672778\",\n \"17874967280030957877280986262478201256351082038268098006156073905986139331447\"\n ],\n \"378036952546389076636477344093103074266160265281961759699084861148023752673\": [\n \"8100904949413847095558233559408279508436638720337029015596084734326208350811\",\n \"1\",\n \"1\"\n ],\n \"18288691940021180757251172325192816023866309188045573116087712628502933242218\": [\n \"10758621736619868992844377264994779354012688229871159167198572615994428430439\",\n \"1\",\n \"1\"\n ],\n \"6536500920391905445413935267001239848875048566574209598458848052277566710507\": [\n \"18288691940021180757251172325192816023866309188045573116087712628502933242218\",\n \"12028590551511422342368738236937583152958060249631958220083628805497618357592\"\n ],\n \"13250933409227933730359994216430446892737466401098676246651138121387470366691\": [\n \"0\",\n \"6536500920391905445413935267001239848875048566574209598458848052277566710507\"\n ],\n \"19666298405770881547796968960967883967868887880922532731270390176530692329091\": [\n \"0\",\n \"13250933409227933730359994216430446892737466401098676246651138121387470366691\"\n ],\n \"16774845788498321511713010101064235467992739572238292689849447027747517490009\": [\n \"13782349094278273795304276677346315023396488765803834310863396385961182176317\",\n \"1\",\n \"1\"\n ],\n \"8303992342504703000810225049463554884261689018075074634350992356557705405453\": [\n \"21112600919970917491859355644973285934205325996939980382174648728582054145873\",\n \"1\",\n \"1\"\n ],\n \"2263169502833905564076943898225122069638153343003619699808137239432409122480\": [\n \"13109149987261258513679066612950019403479488015263354441855516162226690733769\",\n \"1\",\n \"1\"\n ],\n \"6870423405406688300117135659941232469151596515618789873786811455883597830839\": [\n \"16782776133359846426962322337500731301017095577780950781095081725489414518345\",\n \"2263169502833905564076943898225122069638153343003619699808137239432409122480\"\n ],\n \"6792033823798148628935717150196103308400238244864175350008518018844267559284\": [\n \"0\",\n \"6870423405406688300117135659941232469151596515618789873786811455883597830839\"\n ],\n \"14113381480411494770172798404046646960743296870482507946249755865271181252045\": [\n \"6792033823798148628935717150196103308400238244864175350008518018844267559284\",\n \"3718530960988865861163061751992678940545118049826452455935294000117466397081\"\n ],\n \"14142985469642828456025666354856057626462923747489525884542763515412256641268\": [\n \"8111382751148802595920287631888361197183712816978111790754621719783681895577\",\n \"1\",\n \"1\"\n ],\n \"6020415658057423246316661827554693941354319997408214601169278193926451588873\": [\n \"14142985469642828456025666354856057626462923747489525884542763515412256641268\",\n \"11421204038569785212425718784246798612546547778411266184867968399918747926999\"\n ],\n \"7493793039411428908490996773842551948239190532216900170213838741536780146591\": [\n \"5288080160385245484663664918041106411674199222802540642724277172893024285943\",\n \"1\",\n \"1\"\n ],\n \"12716283229595640451896495926699936818652564617246820095156388893710801625804\": [\n \"9816488372996516683311063801323894949546680920835621713876060853632741352678\",\n \"1\",\n \"1\"\n ],\n \"1803839229258722537098634220998603438385076450795793001096363442660829598059\": [\n \"13629038166918321680980999008077324163955270890212404362235870188915873642321\",\n \"12716283229595640451896495926699936818652564617246820095156388893710801625804\"\n ],\n \"21857142765512636646611207598096956956555139612338998675322262432060266185708\": [\n \"17445198511723984112539964563443572044686772067673576790116527846180440046918\",\n \"1\",\n \"1\"\n ],\n \"16137013189032191821870947664579434253771307881668497725520671342775514040321\": [\n \"7053074071153016523440939523266306220570707209233295965105206307688582939133\",\n \"21857142765512636646611207598096956956555139612338998675322262432060266185708\"\n ],\n \"7962432064071469296207934580282458067639129158732153932452709363117400108678\": [\n \"0\",\n \"16137013189032191821870947664579434253771307881668497725520671342775514040321\"\n ],\n \"15772215349110375481334652842208409805047255798973381163998392732061938224089\": [\n \"6376532241088907959027211629651558303054496980089940226521886216377482480201\",\n \"1\",\n \"1\"\n ],\n \"14678141286227590802972431865440718486213034991113650508618590567776012252086\": [\n \"1679802109138017224361478793117196916705318144730075599606926529682767615794\",\n \"1\",\n \"1\"\n ],\n \"4208347740372462596886680107192091097884811269393784941147748898933926366740\": [\n \"14678141286227590802972431865440718486213034991113650508618590567776012252086\",\n \"18814189167234695954658673684303619264040225519504917404190424799581884277436\"\n ],\n \"9058555832369461359353838530449834222608659488842632828741272109854665501053\": [\n \"0\",\n \"4208347740372462596886680107192091097884811269393784941147748898933926366740\"\n ],\n \"4999682646654583182260747488075443168339193346615983890295261383820032186191\": [\n \"9058555832369461359353838530449834222608659488842632828741272109854665501053\",\n \"0\"\n ],\n \"20410237421975650547742717361268652061358705742494552582433590010042886321091\": [\n \"17024005195403437731154629842792612359965350235015667227901936057643440210482\",\n \"1\",\n \"1\"\n ],\n \"13752659939390555987026389954143743725381596190327055259579301051290638577983\": [\n \"20410237421975650547742717361268652061358705742494552582433590010042886321091\",\n \"7235136549015123088316506189775114339191719373884696834590692682525366524525\"\n ],\n \"16097892559310290022822831451481004821703997062938569422381390188395466873798\": [\n \"13752659939390555987026389954143743725381596190327055259579301051290638577983\",\n \"0\"\n ],\n \"9673885392453521740926288960499485497619131759322810867424922202393903071728\": [\n \"16097892559310290022822831451481004821703997062938569422381390188395466873798\",\n \"12461002382927600140972693911673458375171095698226922823612976101705053572207\"\n ],\n \"19737077556943481120928712708243812742665351561665956512427722142537452782777\": [\n \"3267091540744071517479926265701652614419638666896676641096495846594086157401\",\n \"1\",\n \"1\"\n ],\n \"2076278362479178690477469418930807087162036127486664918397267804798466706952\": [\n \"17313333538329558088521130057244601054380855902989165150921087212721913402651\",\n \"1\",\n \"1\"\n ],\n \"13366395612079067249195712031034282210258908460975046415122865063402356780855\": [\n \"10545218755130827071829099792983349558689614088504730666674387508527823075164\",\n \"1\",\n \"1\"\n ],\n \"10549804416196061262391918605998271985570976458033639822569278164998442185717\": [\n \"9551616461189023975957474065565043310329649953013235152905359293377666013921\",\n \"1\",\n \"1\"\n ],\n \"698189025183854408998986766525830456753168486450741302580791381268010445533\": [\n \"18589475518988552864308634751482541730242565576199312216840940547041313669768\",\n \"1\",\n \"1\"\n ],\n \"4916413874443113120333382366255769029880415482123616316307897345859400061548\": [\n \"6739906673575178508006605054144803122600067190025858751025167208513551697185\",\n \"1\",\n \"1\"\n ],\n \"14300836012743828871221136437650832133734877017406643733140673038654517818932\": [\n \"4916413874443113120333382366255769029880415482123616316307897345859400061548\",\n \"20855401852714378358096026790696506144101276367762189595510043911939274104689\"\n ],\n \"4769096381968705392905723184331773745891036920152977075442574737495234830202\": [\n \"11692779211457034947246873104083984886476800567058350993478000461731744411343\",\n \"1\",\n \"1\"\n ],\n \"2747378270849558350833882232351041173768802411365197155362715679530123278658\": [\n \"16767168940409084444405644682796801651087336579938513476335296017372909725751\",\n \"1\",\n \"1\"\n ],\n \"15024173032724976628321969930426275168336946220417306902353778540984544635953\": [\n \"11404428325037818207636439967586815394999069436676064467519920014735205342746\",\n \"1\",\n \"1\"\n ],\n \"10281370791395772727467780696428142372757504202324102734863868490919551612438\": [\n \"15024173032724976628321969930426275168336946220417306902353778540984544635953\",\n \"10031476359184279129939983359593625905605018933127080017471364846899472408223\"\n ],\n \"1600110216282814228947935717514879350316331151970389572104949798676394158933\": [\n \"10281370791395772727467780696428142372757504202324102734863868490919551612438\",\n \"0\"\n ],\n \"5486569859751585916893694494275677829091716955801579080128758028166202260282\": [\n \"0\",\n \"1600110216282814228947935717514879350316331151970389572104949798676394158933\"\n ],\n \"7149651785321050863188834669353645193184513502587894741766171875159146809844\": [\n \"19712434334115636539097851484683865401709060182816117734462886256871419025951\",\n \"1\",\n \"1\"\n ],\n \"17294734705446899129944234180883094982985695992660515148433237931600399664178\": [\n \"18588431967812380805837472595641041124340410840739032031573831600723576428720\",\n \"1\",\n \"1\"\n ],\n \"3610874929473958424270183271261748619661810014396285303342693517869640356832\": [\n \"17294734705446899129944234180883094982985695992660515148433237931600399664178\",\n \"18032520795108472251747058507236434584313259303504396949684576397649929738762\"\n ],\n \"20530221571344398762206783537268819156629193812870826410320369323452680749309\": [\n \"16960883167719239856523276277805478473376087841555376212415872245959918288550\",\n \"3610874929473958424270183271261748619661810014396285303342693517869640356832\"\n ],\n \"14720856070099274177528068049839056396582437365081074869022240141001497565111\": [\n \"7884539029426022473297228876722344965575450466127721418630343960041100323136\",\n \"20530221571344398762206783537268819156629193812870826410320369323452680749309\"\n ],\n \"9854023438679072549489238647724170342455065538766870154418286248459290103677\": [\n \"19222128531157769156947236965158244444293522667991623064959480219846823713631\",\n \"1\",\n \"1\"\n ],\n \"6507894717549386996168657171343214351890530829061009204920827509426873626889\": [\n \"9854023438679072549489238647724170342455065538766870154418286248459290103677\",\n \"20379162993992641242190918354885930699545486519963697018670107412017794069069\"\n ],\n \"10950725525802909657332164594855084932100487569431955121608329843664342751197\": [\n \"6507894717549386996168657171343214351890530829061009204920827509426873626889\",\n \"0\"\n ],\n \"10234268503295858973928293819300502308006215661342690668485833587222928648368\": [\n \"12299428940610212324378816858079256744934709111621798238981884275922910210347\",\n \"1\",\n \"1\"\n ],\n \"7111228685508326598492271041446338068968980627804851036759800929680127063354\": [\n \"1199840243549864945344425776121689734618351708168177352705909098107684005719\",\n \"1\",\n \"1\"\n ],\n \"9733338021430427817975298712517888018601061756444787816044919284973008839590\": [\n \"18803478737129277349614550804261307529214727893563999211697508187023410915224\",\n \"1\",\n \"1\"\n ],\n \"3182132285670169818389326727399565955350095877805861298544144011919935467554\": [\n \"14194919517223851707445317871682679735198566949344995913747565844673400463031\",\n \"9733338021430427817975298712517888018601061756444787816044919284973008839590\"\n ],\n \"13230428343020041792443500338605811386187041719042457633245859828752051313046\": [\n \"4119300702005179468200594526477695167944443997575165648456491591953513908673\",\n \"1\",\n \"1\"\n ],\n \"3167032998945792936941040069945279552763701163156107113981812961479476735580\": [\n \"6598976768730675725749060731977822011239681507440360820119295576281564284931\",\n \"1\",\n \"1\"\n ],\n \"2180966276945217955333777642033603287234623492733895906445057426072878147755\": [\n \"4158755525949957516650829681349240393128175495657144987506721533409686638620\",\n \"1\",\n \"1\"\n ],\n \"274686442416962188429467021264193417207142577210354508881086253769287900364\": [\n \"19311667439713707051161262087089832409951027243625194899639070874651804304709\",\n \"1\",\n \"1\"\n ],\n \"17989541846681895143419829989389576752457321652432355370525692666095780988450\": [\n \"7556597963272009770889569506789017645135414579658134010093499366310725727493\",\n \"1\",\n \"1\"\n ],\n \"7881462962073719444480851544200057300280072123155416403186426826435880895404\": [\n \"9520536818506279178830125146180417284864825037960286830588203627115801577542\",\n \"17989541846681895143419829989389576752457321652432355370525692666095780988450\"\n ],\n \"18808124721579985913325782436466884179699038874182565576117342258835718405124\": [\n \"16902105513073005209878943793932733792450711811104755912438560232342095839943\",\n \"1\",\n \"1\"\n ],\n \"1537965107571329208238530995608611076983690514657707925514194370995344480004\": [\n \"18808124721579985913325782436466884179699038874182565576117342258835718405124\",\n \"15653870682893304535295812498222670210429533773700026551715939157374140086755\"\n ],\n \"21388355158663749319390278508860395777366985554878654985279817804803960642932\": [\n \"11649554294700435293218116930292596669890069354781198291956983158272388861805\",\n \"1\",\n \"1\"\n ],\n \"12473816249930320903972837039417814087906008377486806911185375175859012535413\": [\n \"21388355158663749319390278508860395777366985554878654985279817804803960642932\",\n \"3240674818913604986459227966230614343419759014932975526968082242431897313194\"\n ],\n \"5185927056715060149339517239414405253239270908853067932846708844366155427765\": [\n \"12473816249930320903972837039417814087906008377486806911185375175859012535413\",\n \"0\"\n ],\n \"13196325893010551953568424454535917545604839538352333530698858799205333952184\": [\n \"5185927056715060149339517239414405253239270908853067932846708844366155427765\",\n \"0\"\n ],\n \"2543009786272593389924795431687788758514475760501673932985598633950524286319\": [\n \"12671006365437398409389360235741026167940531425971314800306322957189680074883\",\n \"1\",\n \"1\"\n ],\n \"18081447064775600247539959904618668519397522058859485154467912603398963587415\": [\n \"2543009786272593389924795431687788758514475760501673932985598633950524286319\",\n \"11390294894991711748630910830934085896810291491295954592658245913595611325176\"\n ],\n \"7287582453033633106040176284234813209679129839716834242557194067487436210234\": [\n \"18081447064775600247539959904618668519397522058859485154467912603398963587415\",\n \"0\"\n ],\n \"20925906421512950603237370861625531239589093009787656140350478907835830282521\": [\n \"0\",\n \"7287582453033633106040176284234813209679129839716834242557194067487436210234\"\n ],\n \"16927839586145224404159137677453859214220391806802614607749338525681313046066\": [\n \"20925906421512950603237370861625531239589093009787656140350478907835830282521\",\n \"10866883283978699032128480446000598590683601231577873741480366943581364917088\"\n ],\n \"11229612987767176085072608741876078815882628598863883154439196488040500742157\": [\n \"3751589678969895711712006903068336366615758205107567382386687179849826267084\",\n \"1\",\n \"1\"\n ],\n \"16106352134178808295708701799285815980263641423306843334648540528665376709621\": [\n \"21375003302320623691960471376823390268555240859223151487744642181165546815078\",\n \"1\",\n \"1\"\n ],\n \"1818715193058065993446161005555393366909150625820818650976357461206034477196\": [\n \"17858399383070298535999315371029566542957893277724322806556491318301812286572\",\n \"1\",\n \"1\"\n ],\n \"15398196871764098201785499093221919962979878989089040507919107875538498679842\": [\n \"10246361431666871675505977984843693161834785230431243583049832270307892659633\",\n \"1\",\n \"1\"\n ],\n \"7571391640849300435580919601436488285472732877202613038764019539440391582961\": [\n \"15398196871764098201785499093221919962979878989089040507919107875538498679842\",\n \"3506503641544567650682752409146675810744511484163819390015620259616845394737\"\n ],\n \"6350907994665554581202840375505416477450676267631539279590271009892886582442\": [\n \"18668929664620640425748349829734292907463194091370174978466186058445446045328\",\n \"1\",\n \"1\"\n ],\n \"13836937080293515991993802490359975116408554731253155479034459124194659799846\": [\n \"16290638878509596976364140203943267321663153535650173408367054095871596904565\",\n \"1\",\n \"1\"\n ],\n \"10864784219694612888745712515308118830328018901327898606751310127172684593650\": [\n \"16843566435992928667480676623772373545825798665752552122340505301725985740475\",\n \"1\",\n \"1\"\n ],\n \"3384934755932334586296241248376774548014199780563083251492497186899701930831\": [\n \"6792112565740692835058687676551918188574136251993707099844546809066504084282\",\n \"1\",\n \"1\"\n ],\n \"12137001175483888992718175163010843543544538132689047652334030584396501265700\": [\n \"8532446197728277231131556135455449110730518703121203215716606603949953452781\",\n \"1\",\n \"1\"\n ],\n \"16506741509613713423345861291385207111129369860415895880230955890401128406588\": [\n \"12137001175483888992718175163010843543544538132689047652334030584396501265700\",\n \"9510172871121240770995652252387739473659114631048859323018768530542634750590\"\n ],\n \"1311045631332832692050002609236287915707314443076563905234444536862162583393\": [\n \"2510846368789126190576094324394363788369130889724180942237236437562241313100\",\n \"1\",\n \"1\"\n ],\n \"12158743807023017753863097173508515955380454654775146546924223431572445450550\": [\n \"2052267392038291176383234425328590758785438291167859489799746373998623909284\",\n \"1\",\n \"1\"\n ],\n \"5157826481091147156041857157732092922656769424529871583225535833341432527822\": [\n \"3481892361712483101922982211869030396206530330198859089760008316791277478900\",\n \"12158743807023017753863097173508515955380454654775146546924223431572445450550\"\n ],\n \"696721505994451878541567548327058154679119809495163190981312985560666132237\": [\n \"5157826481091147156041857157732092922656769424529871583225535833341432527822\",\n \"0\"\n ],\n \"8533059603285704989415168341199910225690152396143043185574790469388158416780\": [\n \"696721505994451878541567548327058154679119809495163190981312985560666132237\",\n \"19974344447180753742459843236253649325614553080838278523457128970690723407588\"\n ],\n \"20720936225619372958470416795593100724919611521175751137339418136357570715274\": [\n \"12789194010632742678923093491140565031767916069749553945796011359474873267003\",\n \"1\",\n \"1\"\n ],\n \"18122473692961561529489838323508836230840388145859685047917495529159896680036\": [\n \"18455178850285914447613619558392585896325805410435428806696423703006556098462\",\n \"20720936225619372958470416795593100724919611521175751137339418136357570715274\"\n ],\n \"19829888473964744561916687169590325575059827823331441393812134029679437673480\": [\n \"0\",\n \"18122473692961561529489838323508836230840388145859685047917495529159896680036\"\n ],\n \"5324628756484098924551081280651791125394761021666767841018796921194772964671\": [\n \"19829888473964744561916687169590325575059827823331441393812134029679437673480\",\n \"7994085607656187461341202390630603739374781787439909956850512516408980109405\"\n ],\n \"5507059072588696951778646931136544000357527253676158519622158378163245769250\": [\n \"7787276843552092975879119290861153716877241948387714005892146229714720261084\",\n \"1\",\n \"1\"\n ],\n \"15543952941997396416336774977944357143423861090833907602857286183190110869387\": [\n \"5507059072588696951778646931136544000357527253676158519622158378163245769250\",\n \"18164415115343246260107063381229082374449471840335836494575065078932056035912\"\n ],\n \"9909121924830995501255132541938079313583042232218707688118483208466469535648\": [\n \"19196678356264485239983286133721139831409634645723147080816748590106192623007\",\n \"1\",\n \"1\"\n ],\n \"9654571669679326158519653887666149929747726798557315876315385398903447198743\": [\n \"11540765724532683660299421840865534133574262061706198262823975906665575284546\",\n \"1\",\n \"1\"\n ],\n \"2310403229411955336037554480700575762514563739679209146247857081734796541128\": [\n \"3966141087146112065940237420539378674738016233423660669097814918969137083328\",\n \"9654571669679326158519653887666149929747726798557315876315385398903447198743\"\n ],\n \"20793428388576518790770025901429544082814936256499629660887839851044133660763\": [\n \"0\",\n \"2310403229411955336037554480700575762514563739679209146247857081734796541128\"\n ],\n \"17377793655136438685008139113420858208226645622251323136769711283067370692191\": [\n \"0\",\n \"20793428388576518790770025901429544082814936256499629660887839851044133660763\"\n ],\n \"5505153244973401316501435427060108350427096377214886616816923672114885783656\": [\n \"21014534463624298142375282796434451053844152230051593759597646337171014492013\",\n \"17377793655136438685008139113420858208226645622251323136769711283067370692191\"\n ],\n \"11948255537460375009447823535809995614599247135696577111491211307963281265750\": [\n \"1374631618440422719362314591680261698399274862522835143831029063687646338769\",\n \"1\",\n \"1\"\n ],\n \"16877529742930988598690021690820183664811525620447152992849828366334255476248\": [\n \"12848008000659936551334350079602123938148423690416525163368057004854945202926\",\n \"1\",\n \"1\"\n ],\n \"20878400826388175449630834370743622041271964076116350849927813655620521901089\": [\n \"16877529742930988598690021690820183664811525620447152992849828366334255476248\",\n \"3302048423679480285995462792384885653619949789662688450138640717349943605618\"\n ],\n \"11520938155306724132545357108586418667697965908586789383393477223965653146499\": [\n \"21123615331883537305014639607706080056734437335066446173987109868923472629318\",\n \"1\",\n \"1\"\n ],\n \"21802298746781898847744691303847856240538363627863400178995405482727550337749\": [\n \"11472075575263951037942718137784484228180669834382352403628060656189705548365\",\n \"11520938155306724132545357108586418667697965908586789383393477223965653146499\"\n ],\n \"1185340215902265438676767914607601336537447624163031165648548094796068906766\": [\n \"21802298746781898847744691303847856240538363627863400178995405482727550337749\",\n \"0\"\n ],\n \"18113489490771828527804776193695352355044407143410976006446757994679850689500\": [\n \"1185340215902265438676767914607601336537447624163031165648548094796068906766\",\n \"0\"\n ],\n \"17642261620034820962551755604692205527263889718681636657990378400771305125015\": [\n \"16964353336627784195467537718213041609153439055129417679874767877404882724642\",\n \"1\",\n \"1\"\n ],\n \"18013000319338267117432719244149044940242970594167581006456264699000464757772\": [\n \"17973155123628394636066457250008715158615432223501094354345067018417210612727\",\n \"17642261620034820962551755604692205527263889718681636657990378400771305125015\"\n ],\n \"1495394919918816691391336691601055627306899923034882937815760623468651255118\": [\n \"18013000319338267117432719244149044940242970594167581006456264699000464757772\",\n \"16968121310668006165849743189240355985237401792567058695566023837067428892437\"\n ],\n \"4753326962607966190647587554047969015481485830550235103004358669344920263713\": [\n \"1495394919918816691391336691601055627306899923034882937815760623468651255118\",\n \"0\"\n ],\n \"2135806272925134864755810203229358572122703317660621997528271211807642190729\": [\n \"10147567626885326135717678990454951496288694168897618725662187174322568130048\",\n \"1\",\n \"1\"\n ],\n \"7140460326871722888193983239825280690188215347201648138117907588239021702270\": [\n \"2135806272925134864755810203229358572122703317660621997528271211807642190729\",\n \"14219928562207748018460109013570599170203265380258866464474100595697346270333\"\n ],\n \"7585653694562897996086287224677302097835579763813853777816006459780169474348\": [\n \"6627658019540455197059257511953466013635696184110259902679709866273812359304\",\n \"1\",\n \"1\"\n ],\n \"15519333658010104961215509191953003075995586962147334466034302448893544722419\": [\n \"10217805461073100584847372773207996926536691939103899815685129180868804565451\",\n \"1\",\n \"1\"\n ],\n \"17544073282072556882113990178504519618045835759412284621773626105387521079303\": [\n \"19110696056374850196273860619389399265114775673121734035013795630047735946382\",\n \"15519333658010104961215509191953003075995586962147334466034302448893544722419\"\n ],\n \"18328391282647363889511493195016025379538326936955737431844219998705446172193\": [\n \"12276882739959741306805674898794015512718200707472349218884033677882168613262\",\n \"17544073282072556882113990178504519618045835759412284621773626105387521079303\"\n ],\n \"13999676078718111820599631099747102586599103673517897654642306447057827980578\": [\n \"65518081192658788471044996147097237852498580499313311817924446724358022566\",\n \"1\",\n \"1\"\n ],\n \"11472978008005561348194837805089390643931981162864558182160187902456942719388\": [\n \"10807669622242395778734978692196412003533767039389175613930796515528207405537\",\n \"13999676078718111820599631099747102586599103673517897654642306447057827980578\"\n ],\n \"285920472444631381732809522746698522291494890820936428766757833037167728912\": [\n \"11472978008005561348194837805089390643931981162864558182160187902456942719388\",\n \"0\"\n ],\n \"3205044059787929793625907261980113453049105629148281698417952862190729213809\": [\n \"17103614714698970312116573710372430538030021813474984290848359697883269608697\",\n \"1\",\n \"1\"\n ],\n \"7864052776937795062132839842664046426249712487514492505230566305179131628809\": [\n \"18323193772167150968244889045179681769310492144554006406040904617104476170216\",\n \"1\",\n \"1\"\n ],\n \"969307303956407750787807835429769326446603386356650835415756528525474334219\": [\n \"7864052776937795062132839842664046426249712487514492505230566305179131628809\",\n \"19237742232080006227543049082631483591234789325778232152734510057592928408687\"\n ],\n \"8677270529290186831420034865010060038030998118707219370909210944695672157971\": [\n \"969307303956407750787807835429769326446603386356650835415756528525474334219\",\n \"17328476441198186513920866072352465001884339184056776193295743723385048448990\"\n ],\n \"2645297157206818401001442860846003397268522622009700457327266428905224806897\": [\n \"0\",\n \"8677270529290186831420034865010060038030998118707219370909210944695672157971\"\n ],\n \"12792520955691981324803039763455827940485394580990051827764552249170370557236\": [\n \"21340016976695211106793307769640403652982575901741624921758390810252692796973\",\n \"1\",\n \"1\"\n ],\n \"13846205469785848560102510148660131192912940893826464994219178500600979315720\": [\n \"15463598637782948044566749739532399466875088790218562391532592637208535400527\",\n \"1\",\n \"1\"\n ],\n \"7294835653840230404277275700593998258922378998139876975941689089116059471718\": [\n \"13055019458946357880925550873738705246280930835860245071174783722379775092883\",\n \"1\",\n \"1\"\n ],\n \"3827247598966429353741340605042152018715248431190675035465256296363355169778\": [\n \"7294835653840230404277275700593998258922378998139876975941689089116059471718\",\n \"3214936203089347525762128769860403514985795409884484251962733272755606579920\"\n ],\n \"960996380154462762238035842043161123409689263793914776052920177274853258821\": [\n \"13212104210451884315849762316884460278011456183689968777332232600717182515694\",\n \"3827247598966429353741340605042152018715248431190675035465256296363355169778\"\n ],\n \"8332387589281369009027203966305226372861231618697481396805181015662859903501\": [\n \"960996380154462762238035842043161123409689263793914776052920177274853258821\",\n \"3151316619833621571618208363978103831580227787161861794669324765997090912399\"\n ],\n \"10000746721236793389796524414506653915461858522504524690523069214167942719885\": [\n \"11662275953045978702466356566221059427944294403961027636966671559994973357958\",\n \"1\",\n \"1\"\n ],\n \"389204400289417611751008621326081706982159132428059399631996531756058846841\": [\n \"1779939512620985549204074652616230934240113698639559786646844227313788621525\",\n \"1\",\n \"1\"\n ],\n \"666073761803552045184401535276058962906863294320827868468280641538596107340\": [\n \"21167369188718310914411009588498952370947731178115298508769941449612917292414\",\n \"389204400289417611751008621326081706982159132428059399631996531756058846841\"\n ],\n \"4870456791520998395019810666896550401106019409633868689050998534276772935718\": [\n \"666073761803552045184401535276058962906863294320827868468280641538596107340\",\n \"18947303145068756128156003047684605320710972145873915932125148865910329490289\"\n ],\n \"592036578794554972834280246638612154767116906855835698066240603880513763747\": [\n \"13105057523549094985732253443825280102620681620952064927317197660901228712371\",\n \"1\",\n \"1\"\n ],\n \"2044594101689576901604395906451396611025937131854125158112172630367566442633\": [\n \"17471930128180128620875328726209608617127596705214507501441155886038040891820\",\n \"1\",\n \"1\"\n ],\n \"5774725120375819425988990905778550190556765380982083291289250031600385657374\": [\n \"12870944562272381712515529458138280985302308584094412660324359827515560225913\",\n \"2044594101689576901604395906451396611025937131854125158112172630367566442633\"\n ],\n \"14513008610996138532841886047634817534500081875306494105944934059567724024408\": [\n \"7286632779258271597517574373090652941952992608657474372416269024970843256534\",\n \"1\",\n \"1\"\n ],\n \"6750389945198937001924109822221609820768549100020907993246685791430412137872\": [\n \"5337567190805172217132806114026983344958506484867704437302796665034108050234\",\n \"1\",\n \"1\"\n ],\n \"9654509601692417651350736062930474550513534460751310665489813043832197603140\": [\n \"6750389945198937001924109822221609820768549100020907993246685791430412137872\",\n \"3384934755932334586296241248376774548014199780563083251492497186899701930831\"\n ],\n \"667199509294190800201572023680966646848785375766877487800042921825401388095\": [\n \"9654509601692417651350736062930474550513534460751310665489813043832197603140\",\n \"0\"\n ],\n \"15774470668500489842475755258440278084933247067595543319382252948189492817756\": [\n \"5765080184193027079654627869262905161272856262321781066762521007003082339908\",\n \"1\",\n \"1\"\n ],\n \"6895801372613151949760754311439323956860143941602480962720218363211342030657\": [\n \"19886378836768147024309650875340914766619932075559516666697229784434621054319\",\n \"1\",\n \"1\"\n ],\n \"7805132651510648456457337708945757608926793407144572469760058309152970838940\": [\n \"6895801372613151949760754311439323956860143941602480962720218363211342030657\",\n \"9747149037749625579230277915667731846375524727733153245537859487605213103371\"\n ],\n \"1379303488826247787394925209995570466532811783450259234440334129171419880496\": [\n \"7805132651510648456457337708945757608926793407144572469760058309152970838940\",\n \"0\"\n ],\n \"3609656449058789222845187226779382453639589601251926015508565237104889480464\": [\n \"0\",\n \"1379303488826247787394925209995570466532811783450259234440334129171419880496\"\n ],\n \"5179074497390146340116690667496550312498364695092222900332445758708766896407\": [\n \"3401003850326777711094490956251409220472498849952667681883246204331635641132\",\n \"3609656449058789222845187226779382453639589601251926015508565237104889480464\"\n ],\n \"20848154597171376881251546939043105700029521782935433777506742213978047262468\": [\n \"0\",\n \"5179074497390146340116690667496550312498364695092222900332445758708766896407\"\n ],\n \"6297569151723299603226423491245436689211380937933819098775506393341500778934\": [\n \"9929822946409104155789704475335919374441546773116072275894432752652530452084\",\n \"1\",\n \"1\"\n ],\n \"11676075386336125395060232360139053163674620664710845726155331438655298282116\": [\n \"8774417913058904171416746380437416108925969152829245725578945235038451132581\",\n \"1\",\n \"1\"\n ],\n \"9614095764935794693488264230907519906147059365759020881450509115779979234134\": [\n \"18415070710065245217812536864325189322388753426005801451467557348592391690517\",\n \"11676075386336125395060232360139053163674620664710845726155331438655298282116\"\n ],\n \"6384047298450431294716306070926221618580734373677837380333545992888872520954\": [\n \"21406010733334988188477648412069525407279228808734667186731887596510271692246\",\n \"1\",\n \"1\"\n ],\n \"12659902119194901331198831035742835442998352665153432981350764442669525355899\": [\n \"9446048505983930715584079520680012770245840154180379189071388679929190446754\",\n \"6384047298450431294716306070926221618580734373677837380333545992888872520954\"\n ],\n \"8462003369523211323921008515335111586953385897353411321493965081455423630750\": [\n \"12659902119194901331198831035742835442998352665153432981350764442669525355899\",\n \"0\"\n ],\n \"15873015796237733633899805822488538495190648240771675254380924828641687165898\": [\n \"2803333863158662103445694985837731230177128405613512486811449760753272815266\",\n \"8462003369523211323921008515335111586953385897353411321493965081455423630750\"\n ],\n \"1286435524434510834170317697641297734648251226091849794585167410908227836666\": [\n \"3845788889437729378995288775138543609790616558808231025999495472731331574966\",\n \"1\",\n \"1\"\n ],\n \"17485842617498448417977156559127551319232287771572132806655795723113515143614\": [\n \"7414613577632637845212784675294011286083068608660299783006063939996005237635\",\n \"1\",\n \"1\"\n ],\n \"7098192948483116115841042557071440254538775438920435853985702938214688168364\": [\n \"17485842617498448417977156559127551319232287771572132806655795723113515143614\",\n \"11384735594471678317683914173588777731759326494451071564303936564826660127845\"\n ],\n \"18843713122623592755455915826577882625604543561085363145800286170779685270558\": [\n \"7098192948483116115841042557071440254538775438920435853985702938214688168364\",\n \"0\"\n ],\n \"6199556045897766596567293226790807775450010682305163672106378406952435566401\": [\n \"18843713122623592755455915826577882625604543561085363145800286170779685270558\",\n \"19297808993341269607724722840961038096861941513246571241776174151534272629445\"\n ],\n \"9266292812660957205095444744147555080252296194064117761258563284298824061901\": [\n \"5343381084349381244745221472727601920997366296411216838151716767384177020680\",\n \"1\",\n \"1\"\n ],\n \"10928990957934431101456447517920441273345743015171880110082635312716858983577\": [\n \"9266292812660957205095444744147555080252296194064117761258563284298824061901\",\n \"7684997781174661764649818068612441704288401321299576098592432501371222557859\"\n ],\n \"14455722742694888235679750202239116374724647586669798011209394935569456793977\": [\n \"10928990957934431101456447517920441273345743015171880110082635312716858983577\",\n \"14779415355878311242875482914603171154634631243526758762129069757930869970234\"\n ],\n \"7178964832220319078505190085331241352674117491790778225746346279795147940584\": [\n \"10578979327790002409249895974348478356112216753489155599415577444439333303744\",\n \"14455722742694888235679750202239116374724647586669798011209394935569456793977\"\n ],\n \"19241344397789341782189926620927195997318775035618312126801547161247976841072\": [\n \"3838608751181132499128195371904820148715712358709157496262955417036053371325\",\n \"1\",\n \"1\"\n ],\n \"9930446972568491179820584415779290376367058604408885538902308293403166093560\": [\n \"1243485640231382102140634254666969235864335511349051246083433580702383346474\",\n \"1\",\n \"1\"\n ],\n \"7219850865901571269443298458181253065169134807148294451274295410542865665949\": [\n \"5197465698160184133302345140196151760070508562147618943640329348789869202233\",\n \"1\",\n \"1\"\n ],\n \"4233189238886953650529929829995121441464279548213185709918348557785825914963\": [\n \"1275535061814235444341583462705509598309113914188125036254935000880075354207\",\n \"1\",\n \"1\"\n ],\n \"13347469933814963445279196627618013913958134736760554312251598958405390350141\": [\n \"9902756758609389811834627615804539915936865803169433785779154628094577505748\",\n \"4233189238886953650529929829995121441464279548213185709918348557785825914963\"\n ],\n \"13867162012070244902531603965878878644576912275339391592418276982953512683431\": [\n \"5338001062076219110277290373705436550441672517193187958448617638835071956441\",\n \"1\",\n \"1\"\n ],\n \"2887764991417674010448609047776757145281380715283711457211286251108778285799\": [\n \"14644424772599995801861595555623278437220101061231526374334047219137588165218\",\n \"1\",\n \"1\"\n ],\n \"14446185524231494383505089703962958501627471677626203988066339218292943256116\": [\n \"7283563030987930515549424471789473884585252101442611209566569208919868530122\",\n \"2887764991417674010448609047776757145281380715283711457211286251108778285799\"\n ],\n \"15547609997076995574824516464385264966342328635542876891045029605981956360220\": [\n \"14446185524231494383505089703962958501627471677626203988066339218292943256116\",\n \"11304160038228347454316684116223139551067792699559856699304256159423092509512\"\n ],\n \"9698810563382529704664574741077424028863569974899691751891382623950848264585\": [\n \"11686366283226812169986119618438698916198949002753712214220499041249022962768\",\n \"1\",\n \"1\"\n ],\n \"7658942050997163254729077292472404215915307093320279671864391200012676044138\": [\n \"14026595992557023510718808775335790865483536516435141923921805437143664780578\",\n \"1\",\n \"1\"\n ],\n \"5500523716120894160211615255213820169289070018116960622317341749071067220896\": [\n \"6188167537429795407160569765673208983597166384047762717385678417121592176660\",\n \"1\",\n \"1\"\n ],\n \"13174967287102938127610424580198197390544840240652740736499538982629558597312\": [\n \"5500523716120894160211615255213820169289070018116960622317341749071067220896\",\n \"1032949319972098796520377100109543402116767556639801118974692170884435945771\"\n ],\n \"9297516173394375784842360051418620656962830245482423479088692743432065729596\": [\n \"0\",\n \"13174967287102938127610424580198197390544840240652740736499538982629558597312\"\n ],\n \"319588879501329372990661483381579284924569452076538211323993192764166971580\": [\n \"0\",\n \"9297516173394375784842360051418620656962830245482423479088692743432065729596\"\n ],\n \"14199290596998476878366605110636011984607939019366172740694038288403056773746\": [\n \"0\",\n \"319588879501329372990661483381579284924569452076538211323993192764166971580\"\n ],\n \"3020473974985282117001699374726222152556322041490338930474484543627834255412\": [\n \"0\",\n \"14199290596998476878366605110636011984607939019366172740694038288403056773746\"\n ],\n \"11335372563832552005423199240427527139202583165438655344885020420828261108497\": [\n \"3020473974985282117001699374726222152556322041490338930474484543627834255412\",\n \"0\"\n ],\n \"11863622703603810590352750397960445126204948143636652324809709245953673482898\": [\n \"0\",\n \"11335372563832552005423199240427527139202583165438655344885020420828261108497\"\n ],\n \"15987017950170708611505456070155406016976598179429317936951927288782788393587\": [\n \"0\",\n \"11863622703603810590352750397960445126204948143636652324809709245953673482898\"\n ],\n \"184831990636503137000690418084265887452629171248558315449526532496607302202\": [\n \"15709890154315256988986043025214808323470805823688979102156918792251452421203\",\n \"15987017950170708611505456070155406016976598179429317936951927288782788393587\"\n ],\n \"10822736264499269406694749817832458733098635262348301656025410089089483299406\": [\n \"16635482884439615453198911495110096771428691351578835539670567098719182182696\",\n \"1\",\n \"1\"\n ],\n \"8241079249737902722941125980772689867442754426849010428648408828283621754206\": [\n \"20488234258836168790343153164560329332473056096147574983909176510191797276638\",\n \"1\",\n \"1\"\n ],\n \"2807815329460132287425452826897095289604823956726117972014011083737492106878\": [\n \"8241079249737902722941125980772689867442754426849010428648408828283621754206\",\n \"5445215775317165262064304013229226661902499389518037759194696807189638913428\"\n ],\n \"10669293481702712791901505354477481979139430350891869143068564359697414384689\": [\n \"5073148159939233011996839639435158083290775615951388774235341208171092019913\",\n \"1\",\n \"1\"\n ],\n \"18890431963939396925436516194083821201577879143081170972853204553944629015779\": [\n \"10669293481702712791901505354477481979139430350891869143068564359697414384689\",\n \"7446827572330430906035211604438313606475769537864568407908374301573316140084\"\n ],\n \"17898100628649699827653516029492768150442813041236565491022139216788863253116\": [\n \"18890431963939396925436516194083821201577879143081170972853204553944629015779\",\n \"0\"\n ],\n \"20940117732024687722576622745494787200701553468619526462369873426628305222610\": [\n \"17898100628649699827653516029492768150442813041236565491022139216788863253116\",\n \"0\"\n ],\n \"6599843394740985464010321837148293360696949258487268015412344171549764687060\": [\n \"19087860775397632703845127212061771394819311221899224192825727103577337577415\",\n \"1\",\n \"1\"\n ],\n \"19716829436747449178261288947131214515842639135965482132480806678868118867567\": [\n \"3079066153320166276099103371426240663334618045429794313040268488983962340668\",\n \"1\",\n \"1\"\n ],\n \"19765971708998797417045837177807920408279927227292909876534132214940292884201\": [\n \"15123282640707972094701161949843560166613700096963671234938431412607993740678\",\n \"1\",\n \"1\"\n ],\n \"20328208271286687769895230546512432872149599784788302095768103819598017098438\": [\n \"21381669807445518487035474004383920340778430203418661810075098776379359348118\",\n \"19765971708998797417045837177807920408279927227292909876534132214940292884201\"\n ],\n \"3573686929289009646544154452038633602952428418538311870916514342434683863883\": [\n \"10058389463887032848233466268447856076254939304118673411535798117348077072524\",\n \"1\",\n \"1\"\n ],\n \"2076400679136997693572728314664737821287814189906210220303010472234961545894\": [\n \"16865021721415947894298758382929674138410812801259512240788008478720549895069\",\n \"1\",\n \"1\"\n ],\n \"11083468517662448266589579368886000780604213553331496710777432218576073999273\": [\n \"13895672898612351140635315414563834087009763831461364371286565112153341112197\",\n \"1\",\n \"1\"\n ],\n \"6747234313133697849171087689871710505003696363737203382714054444168600029907\": [\n \"9293897379519472144928178995931748747855889964639679960699058358241147866521\",\n \"1\",\n \"1\"\n ],\n \"6566883400387886652755253243368377824785671206768796750844822396303609011326\": [\n \"13805336125901871202799080515153468584171195531592172091927427651000475323370\",\n \"1\",\n \"1\"\n ],\n \"1813619990059126541217354565823814824853748284727994549025756761515499280682\": [\n \"969906066899994912950610992535545729566100205066176247755577053236900177928\",\n \"1\",\n \"1\"\n ],\n \"17052294737322189025786752976304074044008655188734822253344399342161434037599\": [\n \"13511769644503580107199908361111318223061974204697107213248721663589076975980\",\n \"1\",\n \"1\"\n ],\n \"9692127906906590876108715350379549053040013299657401703381254383962875576514\": [\n \"17052294737322189025786752976304074044008655188734822253344399342161434037599\",\n \"6545242116941918424072851699106213475528213866146017347084398706326457850897\"\n ],\n \"6858521159130785384403128228660500485210749702965307408458944519175599520804\": [\n \"19734377831669168792105518348746851111634666302124877562579809716925758789833\",\n \"1\",\n \"1\"\n ],\n \"21794716894859677154626741954653434120871343388006245506321537676010525871483\": [\n \"6858521159130785384403128228660500485210749702965307408458944519175599520804\",\n \"18153107414757957114790817439503176311310015860775007305620425077483800742711\"\n ],\n \"5631303956177743239993169909383987944370427150674536257292278835534244166029\": [\n \"20653249915233351762540493121908253379988072107860280685630135441977014215387\",\n \"21794716894859677154626741954653434120871343388006245506321537676010525871483\"\n ],\n \"13382765432194892245981480068927505203091986420935790579334869922308074692712\": [\n \"0\",\n \"5631303956177743239993169909383987944370427150674536257292278835534244166029\"\n ],\n \"3869796374355066728955997149202068483157790701504595470675938434086527523101\": [\n \"17512315698522888474754065288432006920524617746296812780008221985762024760402\",\n \"1\",\n \"1\"\n ],\n \"525524891768530007782378459022417204364546300462036836220897549860288108916\": [\n \"12996613750702942769027154372317029168737086072346061795644285201607941296256\",\n \"1\",\n \"1\"\n ],\n \"7109691036412390239067169547229668934870051871269477731115737807435106220666\": [\n \"13659262929167885626591318724412930545990275197918446457451955651702871879458\",\n \"525524891768530007782378459022417204364546300462036836220897549860288108916\"\n ],\n \"9386721597554972819635946402418858353486124846029478848590166457136214636229\": [\n \"7109691036412390239067169547229668934870051871269477731115737807435106220666\",\n \"15992654609173563565587290939643210586811195096107761728139068146840053651917\"\n ],\n \"16991495568953419759450305612154390944546875328885738105314064616085716432212\": [\n \"9386721597554972819635946402418858353486124846029478848590166457136214636229\",\n \"13670053273066733602279659108821088608987059012366010454518788486011982482296\"\n ],\n \"6901083687722104559971099443415336091653399029298307150370992647868591990639\": [\n \"21096777016952575933162563156730522839283965960002866636764269843247669660419\",\n \"1\",\n \"1\"\n ],\n \"322851826262630144816322114538116000974088415857064261630049261701718501308\": [\n \"14695994191163214505715539816272025079986410612163712029093936129005387833068\",\n \"1\",\n \"1\"\n ],\n \"3786395881499913010850194305784943689063368820805745860588814641389093913202\": [\n \"18925851698437909361115015091709054393455734958818953337048015808932302406593\",\n \"1\",\n \"1\"\n ],\n \"22265046483688868537619232438682900712142157753951375864316987175594675617\": [\n \"3786395881499913010850194305784943689063368820805745860588814641389093913202\",\n \"9018748600803386000588505844108312103421204477736814076539923970667171790128\"\n ],\n \"13196615289357234755388057206019719167994102494378988501018984293948086231796\": [\n \"14681328652661492649119317304433326686079682902732454816270779426938411558058\",\n \"1\",\n \"1\"\n ],\n \"1143485927089500398253408825737925096118058084441937427673189018770342357138\": [\n \"21166024389149343435804011574863447619610276723163832581010212553946921266079\",\n \"13196615289357234755388057206019719167994102494378988501018984293948086231796\"\n ],\n \"11578753399771188545537049138081176133361869444016573821538769464636750802293\": [\n \"1143485927089500398253408825737925096118058084441937427673189018770342357138\",\n \"0\"\n ],\n \"18866478113879565191080852115952978696107345062279990627935122748893605223562\": [\n \"11578753399771188545537049138081176133361869444016573821538769464636750802293\",\n \"12807538258854551202322919121460240090932750711252659054914486741860901149190\"\n ],\n \"7181671141383545147496676614909674648644354461647208688229932654934364437422\": [\n \"0\",\n \"18866478113879565191080852115952978696107345062279990627935122748893605223562\"\n ],\n \"20819417387261438740580843226268847496928534874440300608538490052195730377870\": [\n \"9393088936497395999655982618338407262794929175996884958803568251721496139508\",\n \"1\",\n \"1\"\n ],\n \"21240439981482758890926726214820363991833083191211878888977448573128868405661\": [\n \"2368225351603600202505223009099320460583116976416356623168975714252431125701\",\n \"1\",\n \"1\"\n ],\n \"16316793094147836916108466986775707783213700429447732839510036363754787240840\": [\n \"16478225105305000745442871306362543681546621924946188971886171547428869335206\",\n \"1\",\n \"1\"\n ],\n \"2256160809694633323923588449039756733131478151032926153468388434679077483430\": [\n \"12095633291527844488741317114289859405676218431573121479803176289464985665264\",\n \"16316793094147836916108466986775707783213700429447732839510036363754787240840\"\n ],\n \"17276754888531159843512553742908589879734796410525136121760035353084723000833\": [\n \"0\",\n \"2256160809694633323923588449039756733131478151032926153468388434679077483430\"\n ],\n \"14233763836175199806533136437341340763691680783229333040799638812501764458086\": [\n \"17276754888531159843512553742908589879734796410525136121760035353084723000833\",\n \"0\"\n ],\n \"130744316762678045165540600465556914787352194975915880355178158963363717328\": [\n \"0\",\n \"14233763836175199806533136437341340763691680783229333040799638812501764458086\"\n ],\n \"8385360149667492763891508052933835215943260341417390738571592016659213035704\": [\n \"0\",\n \"130744316762678045165540600465556914787352194975915880355178158963363717328\"\n ],\n \"18641839897043725572903970834108767102212709171656111991900025512867526018299\": [\n \"8385360149667492763891508052933835215943260341417390738571592016659213035704\",\n \"0\"\n ],\n \"8549314493620236722360501247146822469191439717471034036981037794011593928684\": [\n \"0\",\n \"18641839897043725572903970834108767102212709171656111991900025512867526018299\"\n ],\n \"11699369955994154452229251743442451639008579670892605136552534550774665831513\": [\n \"8549314493620236722360501247146822469191439717471034036981037794011593928684\",\n \"18576561724573013882402921999155359279786529163623183702430468625245845356918\"\n ],\n \"3657597000535767923134142880985631063061338545292063694703697133637140848530\": [\n \"15611232361773454067366470118093561172719586910406995419975026333693586022308\",\n \"1\",\n \"1\"\n ],\n \"18565753126417583013987683504973333738636895713812328563969741983189341768248\": [\n \"1150710833115307851318475900705441189625066193563033155886277293687818575260\",\n \"1\",\n \"1\"\n ],\n \"7097470259670311743009359621846682604059766428037817918896209469185382189286\": [\n \"18565753126417583013987683504973333738636895713812328563969741983189341768248\",\n \"4117293716439246607682460353884958561088025811924107083570136120577114325707\"\n ],\n \"9474448257734761639176936390466378449115179003800129299137640452428318706891\": [\n \"18388701879492728245358305182645311936832261063138266364274561291007035161322\",\n \"7097470259670311743009359621846682604059766428037817918896209469185382189286\"\n ],\n \"1774768385045495267324965973251004180613740632175331926551217166849348717097\": [\n \"4606260018962666398147535643207328632016662577677114086474125172504591477476\",\n \"9474448257734761639176936390466378449115179003800129299137640452428318706891\"\n ],\n \"11921647567462756433121948391769202596037967055706453749076726253575248272993\": [\n \"7281467030200718078057650844495685582545465102059822104290864077947323677370\",\n \"1\",\n \"1\"\n ],\n \"3859773107579887675527787399745535468961388538325967112848886272470530342570\": [\n \"11910804511867520601377763762296858894126109528557543253394632699458338493414\",\n \"11921647567462756433121948391769202596037967055706453749076726253575248272993\"\n ],\n \"21344589902104503019976873255786642026928039688523815404842221690834481898584\": [\n \"3859773107579887675527787399745535468961388538325967112848886272470530342570\",\n \"10900897349254381365419547540262340403912354188229776831780006251583890738875\"\n ],\n \"1937887308404558338528272768077028091908045199990302852415245286926117725519\": [\n \"10142926787022588561422676659798528196250734033218730981300105613636846327513\",\n \"1\",\n \"1\"\n ],\n \"9712491910582378066805355031059149197712199656520405720822461361754541209280\": [\n \"1937887308404558338528272768077028091908045199990302852415245286926117725519\",\n \"18241653293832378387258659998345970161527704935439666825069731034806907975656\"\n ],\n \"15002212954594046830859740077743516777330119322709922707362751094873767706374\": [\n \"9317280251966447553322266620416706411527400825880109310662051490737020831480\",\n \"9712491910582378066805355031059149197712199656520405720822461361754541209280\"\n ],\n \"8641582169270758806966453462960403602449327947423759996481559460882964632506\": [\n \"15002212954594046830859740077743516777330119322709922707362751094873767706374\",\n \"1716099581838906907237123328570324653528086136322165354732705231555345216984\"\n ],\n \"18369161684090525270526212559857046315101655395557002765151984227197699789777\": [\n \"2518456779126151001612263557458829994443675506533753497800014161070470019436\",\n \"1\",\n \"1\"\n ],\n \"938391519904387289551501921018974669824783005898635685823175863117567148038\": [\n \"10733994291320832147540547051527258587144468672587189603580271703414551392614\",\n \"1\",\n \"1\"\n ],\n \"14591779481134961016175819458085239281546296278859114656978206568090865709945\": [\n \"11683219084871369786717299810978956298467063382728659607099517693474471324595\",\n \"1\",\n \"1\"\n ],\n \"14601538466188934163699197944754074170331936274675750042619786615435773461938\": [\n \"5408666830981797791750164705192977562331234082067547545749623042942356639588\",\n \"14591779481134961016175819458085239281546296278859114656978206568090865709945\"\n ],\n \"12874184633489058996671389208555727970650075966086437144213197220652779332366\": [\n \"14601538466188934163699197944754074170331936274675750042619786615435773461938\",\n \"0\"\n ],\n \"19616752669328498638835330854676841821717523146164291863828381367354739556366\": [\n \"0\",\n \"12874184633489058996671389208555727970650075966086437144213197220652779332366\"\n ],\n \"172945697582352999119371916513360321439459877021815075370050175137805627839\": [\n \"5821074560860491443404254652213242590421615737765011407907748782187285577326\",\n \"1\",\n \"1\"\n ],\n \"3637296608774277776491681463822359991048904883859215865487708972713783998015\": [\n \"11130763331232777962833706703583082505619792427712998704692861692968065416478\",\n \"172945697582352999119371916513360321439459877021815075370050175137805627839\"\n ],\n \"6386795308396699619398340157200495999686211422895404492910509051998276405019\": [\n \"20549487749830510467024884796447825246446594800741468335422281051160087135973\",\n \"3637296608774277776491681463822359991048904883859215865487708972713783998015\"\n ],\n \"5135834194958713799624748722956472709234807839644042295357457217439965981658\": [\n \"17262407692359055525202618872059272974220323343022962983762283420028220779892\",\n \"1\",\n \"1\"\n ],\n \"13379543015706858571679659075340705168367327366781341927727652080630530412869\": [\n \"5135834194958713799624748722956472709234807839644042295357457217439965981658\",\n \"16590663930808314944232844232709384535106989640595538025446038120283375865444\"\n ],\n \"17246716508731938977953820606770502669911975420733082958175982284508939073049\": [\n \"575706312382436756684925769905430837216035868240957841531033503710905944271\",\n \"13379543015706858571679659075340705168367327366781341927727652080630530412869\"\n ],\n \"5025412531609330882489244947263390090451358118511188962368210474620161388648\": [\n \"17246716508731938977953820606770502669911975420733082958175982284508939073049\",\n \"0\"\n ],\n \"11974074890610231642061036656562070934919435334735803004531025051698805058839\": [\n \"4729561369950744482936200126947685188523695997097878205540946126208539638413\",\n \"5025412531609330882489244947263390090451358118511188962368210474620161388648\"\n ],\n \"12988282853989259945689314760783851720082805276122910575833335667338288392996\": [\n \"11974074890610231642061036656562070934919435334735803004531025051698805058839\",\n \"0\"\n ],\n \"16952015224200553884411488875648916558944735775065619294805623107247964183737\": [\n \"0\",\n \"12988282853989259945689314760783851720082805276122910575833335667338288392996\"\n ],\n \"11086526872744639122786278619880538592131557217041352539568102022286511775359\": [\n \"14855234360508425520041545743644897875250787218130102788568194611636895319280\",\n \"1\",\n \"1\"\n ],\n \"51587572379522685195800737408737768718719781636204855091217383302377509629\": [\n \"11086526872744639122786278619880538592131557217041352539568102022286511775359\",\n \"4987702316434185279808021174459056174359110955566708740146146348454239245390\"\n ],\n \"7110640445587410673530965777601960212608774605016235747682557550540048187069\": [\n \"51587572379522685195800737408737768718719781636204855091217383302377509629\",\n \"0\"\n ],\n \"12387069935508844785980714279759406671672033713203585277552179396351898383039\": [\n \"7110640445587410673530965777601960212608774605016235747682557550540048187069\",\n \"0\"\n ],\n \"886232697804179196734219681196880601483939912206697348752246026241916275921\": [\n \"17752090265214236362299412620806632470386638845621226509239103179103678586718\",\n \"1\",\n \"1\"\n ],\n \"5513409603378659296066627186426529612570990497501336620065024697688487922867\": [\n \"16617401293410783938939133335290862280329386971457271101979475783117507827664\",\n \"1\",\n \"1\"\n ],\n \"16120843133157197067784202189401513350769284184890244834293679939236842650268\": [\n \"412343825129473329696242505711467086711927984954683195973883011595463339828\",\n \"1\",\n \"1\"\n ],\n \"2985841919362779240641353911670256252252357188371548820704326356969465313093\": [\n \"18409115259156369899820994026406141094877295690804321696750679813480016820186\",\n \"1\",\n \"1\"\n ],\n \"1192545394952859332867836439759541521252705345066508980335190073942391036178\": [\n \"12922539700490424236672608775916348899774012649554600004582423942912397802326\",\n \"1\",\n \"1\"\n ],\n \"1352004963626251203083809400763874523893155869628268899320538494864518961134\": [\n \"15600783366982763241968809692266958346989089290350842830228157888214748207234\",\n \"1\",\n \"1\"\n ],\n \"19710253411911516971049656057493326211219782141799166354272605592516393313896\": [\n \"1352004963626251203083809400763874523893155869628268899320538494864518961134\",\n \"6623737132178861571548437089626621244728907025948422274685295857287682122788\"\n ],\n \"18771360309975683311871000847722991187912544197019777556484879497821966539232\": [\n \"0\",\n \"19710253411911516971049656057493326211219782141799166354272605592516393313896\"\n ],\n \"4381306814787111226898618286129826345128025551588785563793627670426751974222\": [\n \"0\",\n \"18771360309975683311871000847722991187912544197019777556484879497821966539232\"\n ],\n \"19103863513992514311252494018640691881982122823875733946529679407298541402619\": [\n \"4381306814787111226898618286129826345128025551588785563793627670426751974222\",\n \"0\"\n ],\n \"14486813142630555084062749075780175770510195805996292207078816247305094139428\": [\n \"19103863513992514311252494018640691881982122823875733946529679407298541402619\",\n \"0\"\n ],\n \"1012896962212309213852097023178418681601078921162746158214158747757942854965\": [\n \"0\",\n \"14486813142630555084062749075780175770510195805996292207078816247305094139428\"\n ],\n \"12991034596704781947895078977348576087989889631161789537663810786417210138028\": [\n \"7610299669628455108991608587351253783543140520934037340345507265828941457394\",\n \"1012896962212309213852097023178418681601078921162746158214158747757942854965\"\n ],\n \"10072781518652396483744267189134074883280462409899804602872307673727870000072\": [\n \"11673497757831961351972351557327458958519432686988828137561008185605231127175\",\n \"1\",\n \"1\"\n ],\n \"20744908401927118095336980124267968444796666831837797373195685043159917517212\": [\n \"10072781518652396483744267189134074883280462409899804602872307673727870000072\",\n \"17567451921759567297714061148962706677608991061672747904788528211427806346333\"\n ],\n \"1194150952283032695907235514643032786049649156527684171682639828558657629152\": [\n \"0\",\n \"20744908401927118095336980124267968444796666831837797373195685043159917517212\"\n ],\n \"19985185439074042994040019786735481540653016572012167397241380215125006385239\": [\n \"0\",\n \"1194150952283032695907235514643032786049649156527684171682639828558657629152\"\n ],\n \"20934972454898749982077218817700976480869733616849609554944939888786930320734\": [\n \"19985185439074042994040019786735481540653016572012167397241380215125006385239\",\n \"0\"\n ],\n \"12968580967938737604466507596157973697023960889922487378607768305177369625500\": [\n \"0\",\n \"20934972454898749982077218817700976480869733616849609554944939888786930320734\"\n ],\n \"11441496838528552047738981590083656999516750028455944279706898763946506484269\": [\n \"12968580967938737604466507596157973697023960889922487378607768305177369625500\",\n \"0\"\n ],\n \"12839832522867504432450097604224856617087235260162754611168449038462016885781\": [\n \"0\",\n \"11441496838528552047738981590083656999516750028455944279706898763946506484269\"\n ],\n \"20643254719793521900009791724351507434019472109158426236273900181792533515930\": [\n \"3181970369427124812093703236225799440962096720559607312628314460578905087295\",\n \"1\",\n \"1\"\n ],\n \"5283065006088071983314523730919405048772385606137586170847743014337054432703\": [\n \"644823275746062739594007238930761877971513762705931440507864034463965588992\",\n \"20643254719793521900009791724351507434019472109158426236273900181792533515930\"\n ],\n \"16013738282502284805444707004755759595244608381062745243617709710035611464996\": [\n \"2170993423486990266592277689370566981220157292728911967817433520292088238702\",\n \"1\",\n \"1\"\n ],\n \"21669495638798149594033989357314214712167119519207615472482600428607008055696\": [\n \"7659871579397432093117376290071017268794258462330180474224852651044066762261\",\n \"1\",\n \"1\"\n ],\n \"9529180374788142226700925920521039795687380127623904077598703877567146664045\": [\n \"10512828699129899674228306519848297505033939562671679179449853131895859885305\",\n \"1\",\n \"1\"\n ],\n \"4834653063366679783384747022921337592734230841066833639354252551162036273908\": [\n \"9529180374788142226700925920521039795687380127623904077598703877567146664045\",\n \"3205044059787929793625907261980113453049105629148281698417952862190729213809\"\n ],\n \"21245513132996444487416033725808424711155019772483921879045648204735480521451\": [\n \"4834653063366679783384747022921337592734230841066833639354252551162036273908\",\n \"0\"\n ],\n \"2758841090946033598053980693425567226204049052524360657306368554926212788160\": [\n \"0\",\n \"21245513132996444487416033725808424711155019772483921879045648204735480521451\"\n ],\n \"10073658302674294841458299293805039957708320986979652451437681129393919421818\": [\n \"2758841090946033598053980693425567226204049052524360657306368554926212788160\",\n \"0\"\n ],\n \"18751578154189240218440936905948529062140615088468819580981410026211738756170\": [\n \"0\",\n \"10073658302674294841458299293805039957708320986979652451437681129393919421818\"\n ],\n \"10220319178594111738984970998967176570691373578214869501360274543853879115505\": [\n \"0\",\n \"18751578154189240218440936905948529062140615088468819580981410026211738756170\"\n ],\n \"19421612314669312538678748208135366966591108799299191495016854684851561573647\": [\n \"19504124327492812058640987376037810681791980888805012225094500108191874386538\",\n \"1\",\n \"1\"\n ],\n \"15283426096677686650919704074579543132550956553123129497143990799349694320218\": [\n \"19354686285070803641814881677844726931583892247570571901329198167761206343412\",\n \"1\",\n \"1\"\n ],\n \"253827851614321811443582458295902568979345575216156464265217769233901754168\": [\n \"20819417387261438740580843226268847496928534874440300608538490052195730377870\",\n \"15283426096677686650919704074579543132550956553123129497143990799349694320218\"\n ],\n \"13135906376042884507108495950899474921316386196851653423014027131512105369063\": [\n \"0\",\n \"253827851614321811443582458295902568979345575216156464265217769233901754168\"\n ],\n \"14909336576510214884615352733671970900677134320950903054484182136589648253031\": [\n \"3662247018932393039639896619632244344471602587820702431091417959831281416174\",\n \"1\",\n \"1\"\n ],\n \"8369867164883847326857222637955506080797749255023758450629613471265787305780\": [\n \"11763659358860163679461749355050430479384359795758608974945965573332664749856\",\n \"14909336576510214884615352733671970900677134320950903054484182136589648253031\"\n ],\n \"21691115344589425797535877943671182775767738553299406109319033969041215534570\": [\n \"20972737510377519607780715922703488335442947251347036565281355658409339680916\",\n \"8369867164883847326857222637955506080797749255023758450629613471265787305780\"\n ],\n \"10396710849086899200191334092967957128235360952085632247950229029187237126\": [\n \"21691115344589425797535877943671182775767738553299406109319033969041215534570\",\n \"1085733486580990459016880266361250109609726531811916139633962461145653078614\"\n ],\n \"19907518647923976218770771117754539746026786829894655449548305904170079983180\": [\n \"2200856922228393334510715742759084252083941368050916538137357171056418977891\",\n \"10396710849086899200191334092967957128235360952085632247950229029187237126\"\n ],\n \"19923598580010945293726032196524399716405119880552406041308345871286099149155\": [\n \"1127458588884474022410452859648591747492723557606794236823015465667840648300\",\n \"1\",\n \"1\"\n ],\n \"5252314939855322776453040633922341916904070654214097587443391771843759728443\": [\n \"19923598580010945293726032196524399716405119880552406041308345871286099149155\",\n \"1818715193058065993446161005555393366909150625820818650976357461206034477196\"\n ],\n \"9792055847273833172150378660213647965571258124888637461247945987667343662245\": [\n \"0\",\n \"5252314939855322776453040633922341916904070654214097587443391771843759728443\"\n ],\n \"16340963850933443274516597411827303737126431938465513663846459131382264540067\": [\n \"9792055847273833172150378660213647965571258124888637461247945987667343662245\",\n \"0\"\n ],\n \"7896542953054195472546869313040339139898432942719784639836543417098172715596\": [\n \"18474475968090290683663959336142232398251052039874575226156671359902143248671\",\n \"1\",\n \"1\"\n ],\n \"13095298335088471778095513758147418440344765266799781453221466083730327904457\": [\n \"3440205111037005031058596084350973101858707377462298138985601352538169051975\",\n \"1\",\n \"1\"\n ],\n \"17059733008634427081867035264052991290774480154538884292694091143314555241446\": [\n \"13095298335088471778095513758147418440344765266799781453221466083730327904457\",\n \"10034300291063731780925290558060918662435877858284405212681412343894934909795\"\n ],\n \"14398484818037219973855590959335793013533370932452693151077243137470250795687\": [\n \"17059733008634427081867035264052991290774480154538884292694091143314555241446\",\n \"8364251921908854146205228924862603019472062690264357837360461431445123168719\"\n ],\n \"16512459665161430923922948677097182907366139778484144771513361060457977718061\": [\n \"6173365856731978925643073870274374690013483989487434573713102904667245005589\",\n \"1\",\n \"1\"\n ],\n \"8232278220862646774610915093179631935305378365069090733030518413917364777355\": [\n \"16512459665161430923922948677097182907366139778484144771513361060457977718061\",\n \"3221033416120345424233306400351050868687564346425031635815631861818071409876\"\n ],\n \"12662202124772090301261382507015042928383274721964339439705887515555909053833\": [\n \"8232278220862646774610915093179631935305378365069090733030518413917364777355\",\n \"0\"\n ],\n \"15406715094741601472184878386047037895995949608691765758181131295372070107152\": [\n \"0\",\n \"12662202124772090301261382507015042928383274721964339439705887515555909053833\"\n ],\n \"11491772277264030395043775884925797249434477973134575768135907034540630312307\": [\n \"18052885393250968410436265100641970182065772052490453201749624403153412680033\",\n \"1\",\n \"1\"\n ],\n \"17349037543684937087929593261421948458903413083216395518969424623378516759957\": [\n \"19023999383265503120588996858404053366742504354437272433477603847624451682177\",\n \"11491772277264030395043775884925797249434477973134575768135907034540630312307\"\n ],\n \"12522693790901675461097854651805160175888267345476118785133953252818476018359\": [\n \"0\",\n \"17349037543684937087929593261421948458903413083216395518969424623378516759957\"\n ],\n \"20127632715594673445494831574700041314061018130128048386639144481008128438341\": [\n \"0\",\n \"12522693790901675461097854651805160175888267345476118785133953252818476018359\"\n ],\n \"9022751910348799638076483149331104491037601943386393342601735785712056944238\": [\n \"0\",\n \"20127632715594673445494831574700041314061018130128048386639144481008128438341\"\n ],\n \"1964123626437703371457645384366910977443340192467117433099812180967375644706\": [\n \"0\",\n \"9022751910348799638076483149331104491037601943386393342601735785712056944238\"\n ],\n \"15941591116679658800436029216443414903613600996582986426124622011836362825900\": [\n \"0\",\n \"1964123626437703371457645384366910977443340192467117433099812180967375644706\"\n ],\n \"6562163691987359470702319698786374240838450868869560722229826213389132092097\": [\n \"15941591116679658800436029216443414903613600996582986426124622011836362825900\",\n \"0\"\n ],\n \"4068808862675794841572234272763799471243583051976944161773736324409148478243\": [\n \"839821966450257286741516089009484218701217870588424170237055970087017003118\",\n \"6562163691987359470702319698786374240838450868869560722229826213389132092097\"\n ],\n \"5112209694279592286355747351795424210937565868657437666419006315601524645652\": [\n \"4068808862675794841572234272763799471243583051976944161773736324409148478243\",\n \"513269061904880997005419853996182920963585902599709076799568876577623020762\"\n ],\n \"19316229837763666705216826517760042175031678719656894542676704313392459679609\": [\n \"1434073078899204956113854197414941533430766680163823498385795197265665240666\",\n \"1\",\n \"1\"\n ],\n \"17207039404714891209723722474125570310214527419020159313838548672442312570371\": [\n \"16759531945447050424192758841395134506549935679686511115448203093548771776715\",\n \"1\",\n \"1\"\n ],\n \"10612123292487709621035734901966964875524066481619745796379294988666954242474\": [\n \"21448108591802094593597068089287639751227376489223752926222735788157163394390\",\n \"1\",\n \"1\"\n ],\n \"9947424361794129135105140513244242294139541114070554933891419454264272395071\": [\n \"20619041191116707379216749702407299980768326899312035281187892347517715522747\",\n \"10612123292487709621035734901966964875524066481619745796379294988666954242474\"\n ],\n \"15167789351040704273443808035663655579652555401491502629111725675884961766688\": [\n \"17798180521890721852503921733878368014815799697396105899062255672540373556613\",\n \"1\",\n \"1\"\n ],\n \"11181614086929182739714583216142612627615341065817081673374376290139803445264\": [\n \"15900740825393554305160906183379808891316327535467288535752371476656857109610\",\n \"1\",\n \"1\"\n ],\n \"17723187878103389767806188635748954384688814379989275961045300906706041854093\": [\n \"11181614086929182739714583216142612627615341065817081673374376290139803445264\",\n \"9745873229329358164692527645966249119300194091509848733637275544270320700923\"\n ],\n \"3066629317463655534543446004963001675319399705777966892174999785194928083617\": [\n \"16907073841334091407795934639046073473139183041351569097122087165376066263207\",\n \"1\",\n \"1\"\n ],\n \"17648131784606345415426994042340314284046127919362890518756286870665301094117\": [\n \"21459649785075746350319829705319765394001146243336156904557603390483599323933\",\n \"1\",\n \"1\"\n ],\n \"5430061121346146195242230398912604174646724590311382551066842290690839700393\": [\n \"15714208821138066705072250936736424791252523218808680955534604999761290101557\",\n \"1\",\n \"1\"\n ],\n \"11242335452862311579534634760039735536705833237414070770323457672360802147970\": [\n \"19487070924028217662229021239109163137430145830291131531781421454433133195291\",\n \"1\",\n \"1\"\n ],\n \"16701711215479802849029112806932768465958360814357967787540270138029546056568\": [\n \"7398123588522201904822031991106585527844669168220855945606881656886450864011\",\n \"1\",\n \"1\"\n ],\n \"6934960942056969201477527580511752016179340283502807766583385406164847186950\": [\n \"15868394810082940112025888914089968278101127645649711395136237247268307427604\",\n \"16701711215479802849029112806932768465958360814357967787540270138029546056568\"\n ],\n \"4069882761221495283172790986434928035121903323645266954591742810720593792133\": [\n \"0\",\n \"6934960942056969201477527580511752016179340283502807766583385406164847186950\"\n ],\n \"15841043283549387798902198601660371735617456573556813784527689713917751794705\": [\n \"11287142761133936358892347514016016688437802757701035416871297243577038781396\",\n \"1\",\n \"1\"\n ],\n \"17938376589380616858881300891731092837578333932400926705677501992342319041006\": [\n \"15841043283549387798902198601660371735617456573556813784527689713917751794705\",\n \"19164609839790552758483412771158910812788985510876217526829534469919115575965\"\n ],\n \"4280668262257879736017910142605041840584850221067129663145115081359759022327\": [\n \"1451830435363567245345434671863254589386522502395826155539927996607220998262\",\n \"1\",\n \"1\"\n ],\n \"5085559988400080220059198569682665658961381039104149921036622927053251545084\": [\n \"5945095030517986667702623395741951504433089611839236722368827889705979247752\",\n \"4280668262257879736017910142605041840584850221067129663145115081359759022327\"\n ],\n \"14124149691973362940013495502931148103704852622347734651401280443911406097039\": [\n \"5085559988400080220059198569682665658961381039104149921036622927053251545084\",\n \"10990267459165655976652026554116095690907724018104844013543885024667524284439\"\n ],\n \"2009118087812266314753372627442649550500243490481356706284346172177152898525\": [\n \"7251230926881871756500122201048822605410409207508923076968583397306821748670\",\n \"1\",\n \"1\"\n ],\n \"1746889536227097086486202569406741777899765578520494406813577374314764524446\": [\n \"4728948715066731470025055081875938739482102905249960028884458307377639284548\",\n \"1\",\n \"1\"\n ],\n \"19086477456430489727668537130688001940845204896142876848531147260109235633511\": [\n \"10702680875300555550584819917118785309019294875696371404087105392294356055780\",\n \"1746889536227097086486202569406741777899765578520494406813577374314764524446\"\n ],\n \"10166030222819375783442671412861411439485743819078427973623855838654499889109\": [\n \"21020694256977608275144704492975110784810736671264936011400071718027566346709\",\n \"1\",\n \"1\"\n ],\n \"2280147547442008293971227910155081620657642060611356183333183486008040748586\": [\n \"9257150229737217050792520490305525067419777845610082509571218172109076078013\",\n \"1\",\n \"1\"\n ],\n \"21654125604544022770068099983549874850652284327403119227926497218973197886644\": [\n \"2280147547442008293971227910155081620657642060611356183333183486008040748586\",\n \"17025331805064906560270220215077803522470324308844340621798457057960762464085\"\n ],\n \"18917504631833136157732197270414988611043045724620130461954629469185441098182\": [\n \"16483095245722884598156539740053627242119389428932932491886160989825072758024\",\n \"21654125604544022770068099983549874850652284327403119227926497218973197886644\"\n ],\n \"5464624781207363900295235054878381376704124776957822207828284821979528814471\": [\n \"0\",\n \"18917504631833136157732197270414988611043045724620130461954629469185441098182\"\n ],\n \"9346110877351037077890147371441295062756962341383116557786885521032996325620\": [\n \"16372226315173911298213013385247475599930184232629804684754379872588234318127\",\n \"1\",\n \"1\"\n ],\n \"17669393352643676046476044201884826966497086834407393226559084412475954064206\": [\n \"15399309340758144799644707184309955622934096819239031933156209535396411836785\",\n \"9346110877351037077890147371441295062756962341383116557786885521032996325620\"\n ],\n \"16969707286992912495337932886787345442436140329297123618190360925652119779342\": [\n \"17669393352643676046476044201884826966497086834407393226559084412475954064206\",\n \"5556514622640476035845857290347694590652779282340531984308317706930498099328\"\n ],\n \"13404457585792748445725508299868961251217005727631653251811155990559850793608\": [\n \"3807131237350348900454624403456232678200497968430520560129320950458041899388\",\n \"1\",\n \"1\"\n ],\n \"21572548863887572051905824093413605829298582954693880631150094491115467224848\": [\n \"13404457585792748445725508299868961251217005727631653251811155990559850793608\",\n \"7952368621192564414813805037323098112590444565640442422708988819981881818785\"\n ],\n \"4033718748949616257903998883057556685797501540462335706476016590762304509688\": [\n \"10032389454885908644716587780139290020955015250133457617854275992469780321953\",\n \"1\",\n \"1\"\n ],\n \"17410372171238848062192313826421680463923671289114410339559015418157371482974\": [\n \"11315255040011286297112848609908447423519423876662383134130461844135903301678\",\n \"1\",\n \"1\"\n ],\n \"6990380312773659045078649756995435473218314601579226099646126540265165686701\": [\n \"14991171631047086369201243080286298093361863652603163899707078408814545553181\",\n \"1\",\n \"1\"\n ],\n \"16935144100512069061253497916171002337865655011718542011412308378689853494305\": [\n \"6990380312773659045078649756995435473218314601579226099646126540265165686701\",\n \"17739162283306470430791371298571313536186737471395238863296420656217160613760\"\n ],\n \"7534866865997853959945533432149264209531846228244292930109976363742680485832\": [\n \"16935144100512069061253497916171002337865655011718542011412308378689853494305\",\n \"2771269298967186674979487138333237226310998854897730698251149997371167038750\"\n ],\n \"17198472079824545810002478666434007128951027181876218370167002570164052193997\": [\n \"7534866865997853959945533432149264209531846228244292930109976363742680485832\",\n \"0\"\n ],\n \"13290796787933090773429416847909241432493675868203708800472739503757427228824\": [\n \"13601931868076465700666520753063548293717759939213620619948716480001168890424\",\n \"1\",\n \"1\"\n ],\n \"16304660988647599791593191933230005179465593483527011619677197733549967184701\": [\n \"11869882638792729514786784795193807500664184371111744235639063796678935371141\",\n \"1\",\n \"1\"\n ],\n \"11107273899558713433479150275535480269559510802996286735267865302143512567534\": [\n \"15167789351040704273443808035663655579652555401491502629111725675884961766688\",\n \"16304660988647599791593191933230005179465593483527011619677197733549967184701\"\n ],\n \"14925945469890560350087366800177420459056019468518877454339012324949688460020\": [\n \"11107273899558713433479150275535480269559510802996286735267865302143512567534\",\n \"0\"\n ],\n \"9384315267897911160314229453148585084262525435955288514764641516841656675490\": [\n \"0\",\n \"14925945469890560350087366800177420459056019468518877454339012324949688460020\"\n ],\n \"14313669018433120100161921404375427030903498119599530312182266658182909464486\": [\n \"12158940607292284951895432810630887543071077901625849255248406015124368109435\",\n \"1\",\n \"1\"\n ],\n \"323228047999519717758349433164694848689573665531613580021561823428931616767\": [\n \"12517084818395203766304615230826081291184771353727093587178511809811311495371\",\n \"1\",\n \"1\"\n ],\n \"16945152383138241910707710885827768008893723379365111267295402640667489747734\": [\n \"323228047999519717758349433164694848689573665531613580021561823428931616767\",\n \"17207039404714891209723722474125570310214527419020159313838548672442312570371\"\n ],\n \"10354355189059321430606097310944991407152337304756194041080938353523254604302\": [\n \"0\",\n \"16945152383138241910707710885827768008893723379365111267295402640667489747734\"\n ],\n \"6256772419569449422825550176364810636780429576493651320047882806609810050258\": [\n \"1090685888291273793092405692972597943698242167177150508348360540930014942396\",\n \"1\",\n \"1\"\n ],\n \"9786848170375363206147670044644151164687517363620192803077812676544179309576\": [\n \"14488308389625256702541414437421546783293135777277809052824220594538923830660\",\n \"1\",\n \"1\"\n ],\n \"19759764386945310310118585891467425035000086531934267556784688700558292988733\": [\n \"9786848170375363206147670044644151164687517363620192803077812676544179309576\",\n \"21362165255529026136643798521959441573443627464442248109089907488241006027547\"\n ],\n \"16160562328052531744390601779856055562902689630780987944951446415619509095698\": [\n \"14418066287407690684839410907370914362509303534017039649201618169092264630007\",\n \"1\",\n \"1\"\n ],\n \"3144738005384822464803688306059738804345597019426246758544030265657390372596\": [\n \"9807987487194680600140608938070543784092394818003606622375008775613653934470\",\n \"16160562328052531744390601779856055562902689630780987944951446415619509095698\"\n ],\n \"7394358905930882831601602219865241031785649837990386866600522423787830954345\": [\n \"3144738005384822464803688306059738804345597019426246758544030265657390372596\",\n \"0\"\n ],\n \"14831917818295753020171824767525041383027950793905261474890518370177796951906\": [\n \"7394358905930882831601602219865241031785649837990386866600522423787830954345\",\n \"4152533636807212938777393919765459657798122806109072095080419463244948548768\"\n ],\n \"176740925606154122002395497633613394829086691210066713509173499725197054065\": [\n \"14831917818295753020171824767525041383027950793905261474890518370177796951906\",\n \"0\"\n ],\n \"5158787251858097253293181713831985576044557203402038481419170648451170476516\": [\n \"2991600021984971164005132256386679632124809446640207334820109786193321013229\",\n \"176740925606154122002395497633613394829086691210066713509173499725197054065\"\n ],\n \"2099405462500395058205899469722901371934986114728229622638713160900593077331\": [\n \"5158787251858097253293181713831985576044557203402038481419170648451170476516\",\n \"17997803960236913444944772758723755298527046041939362951670888333523405857000\"\n ],\n \"17354116344277630347509952229015249571890088867499524808686444222673429624921\": [\n \"18365040873455720138553248805361832290961374267898132777127143328297320746447\",\n \"1\",\n \"1\"\n ],\n \"13545865494185380798990414045435434718224314849385205929887798956033050111759\": [\n \"17354116344277630347509952229015249571890088867499524808686444222673429624921\",\n \"3096644246794188273748022333424466243929450644257137313066821540520464039163\"\n ],\n \"1036990288463291865003843363798424077777680289278707793998602851228646585194\": [\n \"13545865494185380798990414045435434718224314849385205929887798956033050111759\",\n \"0\"\n ],\n \"3008369010946023646092288828961415315553257169381597159887956919825505151750\": [\n \"0\",\n \"1036990288463291865003843363798424077777680289278707793998602851228646585194\"\n ],\n \"2665418512689735834464600988830526669135258357665264469486619765206733995802\": [\n \"3008369010946023646092288828961415315553257169381597159887956919825505151750\",\n \"0\"\n ],\n \"16295154389298586872719302498171036312447231538133212907008461376100770728999\": [\n \"2665418512689735834464600988830526669135258357665264469486619765206733995802\",\n \"3030275729742695877578133377994553239041734395380643990141760937561595854955\"\n ],\n \"1928587447136872680378058215858014668333382390096559440074225071401249856608\": [\n \"3324651374913836323577548312558745581529804537209601376664627082910962385866\",\n \"1\",\n \"1\"\n ],\n \"11016879454598992499443022036055826734096328491629490424949529020658153659152\": [\n \"9499430488399479509211752205757200150477268378879275634554952578356209774007\",\n \"1\",\n \"1\"\n ],\n \"4381236879722120819989543790440733176801258414814795831807972321749153164705\": [\n \"16800508724657169782319193261153269868317342082550248282181938154958868026530\",\n \"11016879454598992499443022036055826734096328491629490424949529020658153659152\"\n ],\n \"19323613240100775931473754844842751233408204444607287850873715650162650757919\": [\n \"0\",\n \"4381236879722120819989543790440733176801258414814795831807972321749153164705\"\n ],\n \"19658522497800677835390390147979525130587151340005307855230093595678762304321\": [\n \"19323613240100775931473754844842751233408204444607287850873715650162650757919\",\n \"3311169970566859966658151297797459815738638445283665080569722669883789771870\"\n ],\n \"10981225387312218223145538546118196086029666709659854408175387482710041812090\": [\n \"7518684353401039483821957843266764242885857687294910238599410103907817807549\",\n \"1\",\n \"1\"\n ],\n \"5860611765171554101048077932621075125012056171727079427670207727621918511831\": [\n \"5117826362585395871091394697730069023902569292453686130501038914063375190723\",\n \"10981225387312218223145538546118196086029666709659854408175387482710041812090\"\n ],\n \"16012233399157576702455231620758560621632381216521242846648198676552746266287\": [\n \"5860611765171554101048077932621075125012056171727079427670207727621918511831\",\n \"0\"\n ],\n \"14938221874686605751698238057144820940978703437066675990821795383205366703394\": [\n \"17691773537019734820011018337225269748476008500185435131023803766187415127173\",\n \"16012233399157576702455231620758560621632381216521242846648198676552746266287\"\n ],\n \"19696274608587395844925558982499768969989695309176693897661530907506266308836\": [\n \"5437132287480164281567396301955377091384002037369396791767482140960295687889\",\n \"1\",\n \"1\"\n ],\n \"7167556382166874015745273962031274608371033621373895519576662106178362049656\": [\n \"13205710190440923554391209882306568866840907534035113817260998412427534510577\",\n \"19696274608587395844925558982499768969989695309176693897661530907506266308836\"\n ],\n \"2135658594816036624912955568023167923414813607444666664877035981499861144969\": [\n \"7167556382166874015745273962031274608371033621373895519576662106178362049656\",\n \"5196690076796734157752929519558815077334675234246332314274744687511166671421\"\n ],\n \"18293966164819542931091489149338807907804689259272094007738495391455187490162\": [\n \"2135658594816036624912955568023167923414813607444666664877035981499861144969\",\n \"0\"\n ],\n \"19508257332625262720496489694223997161347552657659759053985895670897595217214\": [\n \"18293966164819542931091489149338807907804689259272094007738495391455187490162\",\n \"0\"\n ],\n \"16486910628004854099872327857859692900144571618614202285347508854970584684229\": [\n \"0\",\n \"19508257332625262720496489694223997161347552657659759053985895670897595217214\"\n ],\n \"4441682270026984654160946193593555634857892424820935808999156833162225781684\": [\n \"10340480106630673670316979500620776269892912801281658580510900248050947303514\",\n \"1\",\n \"1\"\n ],\n \"17395236956878621758386806430326366756141125701519180053707357275510372288948\": [\n \"6689318526176260054926596669650018877109297813531000313515255217147043975456\",\n \"4441682270026984654160946193593555634857892424820935808999156833162225781684\"\n ],\n \"18293256780970210937042304886245657172117297066787455170576441298699740326982\": [\n \"13823133032434688561041868957693099684635831016918384202472916443494354952443\",\n \"1\",\n \"1\"\n ],\n \"8272899364821667501075841246110543493794883391091135760127887213645055049852\": [\n \"1910735907666766329108036284333169222816147015593920836569065650223878692645\",\n \"18293256780970210937042304886245657172117297066787455170576441298699740326982\"\n ],\n \"4422930878297221247510909959370516245436619943768658943291912063972727711220\": [\n \"8272899364821667501075841246110543493794883391091135760127887213645055049852\",\n \"0\"\n ],\n \"2572494990843973397183202568454883372539560313263323710723693521055398190387\": [\n \"0\",\n \"4422930878297221247510909959370516245436619943768658943291912063972727711220\"\n ],\n \"5122392407937731191909061884514564404526316938411138330534754018286279840365\": [\n \"2572494990843973397183202568454883372539560313263323710723693521055398190387\",\n \"0\"\n ],\n \"12785795975868706865929281627651957443149635927583342775185661885018361537094\": [\n \"0\",\n \"5122392407937731191909061884514564404526316938411138330534754018286279840365\"\n ],\n \"20163961241084885297551175425486372059266954833986655731578225164253436579542\": [\n \"12785795975868706865929281627651957443149635927583342775185661885018361537094\",\n \"2763548640485835386562059302106506310933828786092788407986016600658336591343\"\n ],\n \"9045634398188872151779338248936527267473218993129042654324034319905230781368\": [\n \"5784721512040646995240774449065556133837580432563641395602785738473131358609\",\n \"1\",\n \"1\"\n ],\n \"9851760282082572547869020596354524291299862560004462838482920422335653373464\": [\n \"11065924649389849918142772587110536312786050861684983442432044262606226728650\",\n \"1\",\n \"1\"\n ],\n \"13962909949087896437890878471018331188813715482081332551380819060255381219750\": [\n \"7825419285869089338759299337189288369355899206982804517418565366416053604336\",\n \"9851760282082572547869020596354524291299862560004462838482920422335653373464\"\n ],\n \"7850091866350610957020919089537489993156183159515266971962849038630766113741\": [\n \"13962909949087896437890878471018331188813715482081332551380819060255381219750\",\n \"0\"\n ],\n \"16838519496922980910405196585387705343529743786723985318599481560116091783913\": [\n \"7850091866350610957020919089537489993156183159515266971962849038630766113741\",\n \"0\"\n ],\n \"9099482583311463476444669424802668156757325907843139603396554338758940794786\": [\n \"3065148740026084662230305893613612687560223271557634405682651869242155489241\",\n \"1\",\n \"1\"\n ],\n \"18937605617400381273762475871609693289464813946542179045418445032110176034675\": [\n \"9099482583311463476444669424802668156757325907843139603396554338758940794786\",\n \"12503498467759625597911434831839738902490421784694031516870712060943885879630\"\n ],\n \"3556878780637914454269647841448748728131553337360537493646710623790853451998\": [\n \"20815763483928277505694079718021699118928510673357721008966106272044929038624\",\n \"18937605617400381273762475871609693289464813946542179045418445032110176034675\"\n ],\n \"15913546011612587498979754879768193258452895443708905955783462489200207801502\": [\n \"14238780225923922949523856180552487303785211846050613600215960663202118214908\",\n \"1\",\n \"1\"\n ],\n \"16935955581794002501578738884566511449313834440065611037313544427091342541165\": [\n \"1906430413343591283083005922463727712228164346593515785618282697604560567136\",\n \"1\",\n \"1\"\n ],\n \"9175334682135282081780489856457367897094982795066724123827252190542718419340\": [\n \"5216995005535534245401889682956734033579943511009251027586488154511087399695\",\n \"16935955581794002501578738884566511449313834440065611037313544427091342541165\"\n ],\n \"8763286553068171192305505870721290833052141175975817348484193177931406064097\": [\n \"0\",\n \"9175334682135282081780489856457367897094982795066724123827252190542718419340\"\n ],\n \"2692702478622679229008700909209503707393380779432479131325692566715308215134\": [\n \"8763286553068171192305505870721290833052141175975817348484193177931406064097\",\n \"0\"\n ],\n \"12512617123095043129062982570991579779177047485928665149784056074563913982982\": [\n \"1000681115358242966233789958301325015021030125607077128128240463637525251981\",\n \"1\",\n \"1\"\n ],\n \"6876834714784484038597689163670450546320801496536610972332670286516295593675\": [\n \"13155439716265320891160559824756843829847868439591458804125003900474433801649\",\n \"1\",\n \"1\"\n ],\n \"15611454245070530112537203885050460195595811016248724137975966533818294433608\": [\n \"7571391640849300435580919601436488285472732877202613038764019539440391582961\",\n \"6876834714784484038597689163670450546320801496536610972332670286516295593675\"\n ],\n \"19886279812765995980696239343032208357077330662120668019517757570606636746599\": [\n \"20510928895686971257226581218800122717472410272161897214369338049545077212868\",\n \"15611454245070530112537203885050460195595811016248724137975966533818294433608\"\n ],\n \"1464669134803027490228468699558953071828580620213014612245564645355102118314\": [\n \"4530699155762726236924243711481736642239123275476899832287256099108261607250\",\n \"1\",\n \"1\"\n ],\n \"16306017298086819284274323793207561630395318937043982210668707710367480119847\": [\n \"13691308241480837193927581951822085196967331376991397314233088009221348688670\",\n \"1464669134803027490228468699558953071828580620213014612245564645355102118314\"\n ],\n \"367751759857395526617130882928314734399890885581649746678366668385820462406\": [\n \"5017829992422571720968248191672008211379993046468595195247391205692262222934\",\n \"1\",\n \"1\"\n ],\n \"16152476213470329034715623696270411639866597248805544316688173581477772863384\": [\n \"367751759857395526617130882928314734399890885581649746678366668385820462406\",\n \"20690929860159622800195278101434051331521931669701475885461296312411801546001\"\n ],\n \"5911919743543125887545251090429519347958939229537953942428328473880403442068\": [\n \"0\",\n \"16152476213470329034715623696270411639866597248805544316688173581477772863384\"\n ],\n \"336544056975743376707050242588720376354116196904867469932088446184050726314\": [\n \"9035209135356094118015443694084050722620372769040758749674565540589238650607\",\n \"5911919743543125887545251090429519347958939229537953942428328473880403442068\"\n ],\n \"5438572660851949909021201351210949123982536127073214352770129489221281639470\": [\n \"9676262542534494831761198124918492924632027968202726207388501767609008972655\",\n \"1\",\n \"1\"\n ],\n \"7778832201605843194640305750196774088408819659925517867498809438579412181539\": [\n \"6716612430197031358193104920123738122826057567500912551575644416618195510611\",\n \"5438572660851949909021201351210949123982536127073214352770129489221281639470\"\n ],\n \"5042430345803048367028468506678070514398826818507385255454990604286405024289\": [\n \"7778832201605843194640305750196774088408819659925517867498809438579412181539\",\n \"0\"\n ],\n \"13050283934466163993862532041115111942420383029860329790769465259302698853877\": [\n \"16991755893622988368823302158372587679205977082080033827502189914127598590559\",\n \"1\",\n \"1\"\n ],\n \"17520708311059020394565461628930489484944930673599017130571533295328687941571\": [\n \"13019872633340622787153392666620890262379512402421236275359665280522267951786\",\n \"13050283934466163993862532041115111942420383029860329790769465259302698853877\"\n ],\n \"6228118117266598295483595354451293274080989738472050181483009098124149933092\": [\n \"5257189405415788616674938996175177550830374148297446417211799991913409941497\",\n \"1\",\n \"1\"\n ],\n \"16916943780537778187851685010596816301934865432371211778325276516007473556348\": [\n \"6228118117266598295483595354451293274080989738472050181483009098124149933092\",\n \"1485397817866804259463541297575040344385956331963026749291717743225421723817\"\n ],\n \"5450096509433900134380589078030405592532685968984130344460310608365870637416\": [\n \"16916943780537778187851685010596816301934865432371211778325276516007473556348\",\n \"0\"\n ],\n \"20909112420020235755270302886769709667809117937868109079204791300525480756051\": [\n \"9136679655907552743311802288876530584420455446354905715362035626111174096124\",\n \"5450096509433900134380589078030405592532685968984130344460310608365870637416\"\n ],\n \"6285854948829631571451341473844193757197983171633882514027264780036081608948\": [\n \"9585409853880006825478097300151450144369426356024346618627514663796880825623\",\n \"20909112420020235755270302886769709667809117937868109079204791300525480756051\"\n ],\n \"13744989912077619221899003274294476450322333494574357500567593498388181781621\": [\n \"20295735747324469832611353665787840320279851780324883593808601793254275203545\",\n \"6285854948829631571451341473844193757197983171633882514027264780036081608948\"\n ],\n \"14096499613506117539548002171650018851724764386549854891671425405906336881752\": [\n \"4735628545766647077589987809574551195114424045881858692875367846239800014300\",\n \"1\",\n \"1\"\n ],\n \"5904999812812399254902365390066483824249802507600518410356640715744406552599\": [\n \"15091226240697114328226722183467592492721441443083035417998344874591449101008\",\n \"1\",\n \"1\"\n ],\n \"18087100088229390473784275426163170646764488578294650696940026709736658081477\": [\n \"21306366803581774433129185473324997258127658929589657216738238150227528186323\",\n \"1\",\n \"1\"\n ],\n \"21027479879145221599680707297774893375269704603579496181187868263398662776298\": [\n \"18124856248351550487583943635724747292213914720499241735051506732173900026722\",\n \"18087100088229390473784275426163170646764488578294650696940026709736658081477\"\n ],\n \"3695951432500183409737897415356145092172072612731820974091786938965358981300\": [\n \"0\",\n \"21027479879145221599680707297774893375269704603579496181187868263398662776298\"\n ],\n \"8137851488715362165047757728309243651103317542161203628678308741307075335340\": [\n \"21631866973320937511387667888438064698183785525044731539812354202597937072671\",\n \"1\",\n \"1\"\n ],\n \"11996730129876458911731780403465481575591586418226739041980412323038853467036\": [\n \"16482392334117614463066839346205958782674396828756885759844778596714118548033\",\n \"1\",\n \"1\"\n ],\n \"10711142286605310642531491723708080352115385478478331586035839453652389640013\": [\n \"11996730129876458911731780403465481575591586418226739041980412323038853467036\",\n \"13257713552747895437646075013074817512207748728798049006743213942575532358118\"\n ],\n \"12636990169961529795901910706075314121837322527945476632185131836883573230652\": [\n \"14215121298038448124809493592943347216156539949286173273861882332066788850672\",\n \"1\",\n \"1\"\n ],\n \"11451333578426537776211930445316720060102749155687455755269337126897511944275\": [\n \"5649360398351329858854723727687115504610164635167175662218580228776091504846\",\n \"12636990169961529795901910706075314121837322527945476632185131836883573230652\"\n ],\n \"20025736250934681658985887111055234895919105428045624111970067325651572393792\": [\n \"10915313148624324809814480810209217724639881287709318664255013456414846256134\",\n \"1\",\n \"1\"\n ],\n \"9450289140546698995959883903548012484985964137379933017520929855712476665826\": [\n \"6295180068567294699013837297874606007597983383297998028595248289882564417809\",\n \"1\",\n \"1\"\n ],\n \"12859920233803922849272470024221207169830036480046144170569768760270886449801\": [\n \"8837188828641031473170205994522965762319447732310270451231799193748086815595\",\n \"1\",\n \"1\"\n ],\n \"12060157513632125029118587866812648271278396686578030862680776414131230129818\": [\n \"17575889922161690578467574489719070848907815222928662326056344040446359981859\",\n \"12859920233803922849272470024221207169830036480046144170569768760270886449801\"\n ],\n \"20159418242142600554793406103920013325386309867726901919520014364190303368668\": [\n \"3683887068966898086230739119081983716985310901907400650844816399382599211204\",\n \"1\",\n \"1\"\n ],\n \"13308825050230509570183505228845483656111541628877805220279850207237295847487\": [\n \"11689780551182913662894362934017317573298119892300459886979408762697313731565\",\n \"1\",\n \"1\"\n ],\n \"6922929743111130795082851532839696339550626632280346044213248103309590412638\": [\n \"15835666342146996599337763277547929723760831215529069743627509743111397122434\",\n \"1\",\n \"1\"\n ],\n \"4657038639425016048192957282405333600355625899676773748844693441071212748629\": [\n \"20202952742260777886410618514956427461005982213012712020534562487723916356006\",\n \"1\",\n \"1\"\n ],\n \"5989549414963475134075195323059715512537661747768076466418196547639883575951\": [\n \"3330978016469000786173104638252146738681864121136598363787146960519466244417\",\n \"1\",\n \"1\"\n ],\n \"20630197514431255145789558462246029311410219021990171315660378558626742921326\": [\n \"10403143596834163931836330639285488681122372956369860363599698114260672383136\",\n \"1\",\n \"1\"\n ],\n \"203297178854898761817732774826199611007297377391351622513223227301045779560\": [\n \"12446675618751982559078025533085743420473639136625766392551620393716847849168\",\n \"1\",\n \"1\"\n ],\n \"19263311920533725473522586735124452529277234833026012063171468336829665566659\": [\n \"6183348440616664061974988444553181507704396710160913528811728052808579048919\",\n \"1\",\n \"1\"\n ],\n \"13451417064369728070744624868704671335772698520909280537582119628236457717323\": [\n \"8732352046463318610802263330463010613211671706597889754806160363658311690295\",\n \"1\",\n \"1\"\n ],\n \"12981089843179561721011875159782777458912284390940400223411956656219589027617\": [\n \"13451417064369728070744624868704671335772698520909280537582119628236457717323\",\n \"2747378270849558350833882232351041173768802411365197155362715679530123278658\"\n ],\n \"17096169139702122631288451607939784873554566956507710947690712026612171415819\": [\n \"0\",\n \"12981089843179561721011875159782777458912284390940400223411956656219589027617\"\n ],\n \"9634502270556431176750155185000408100911025737320010552565250570662288145001\": [\n \"17096169139702122631288451607939784873554566956507710947690712026612171415819\",\n \"0\"\n ],\n \"10870048215129619865609266720890334555034468675853121247415603033269398173469\": [\n \"9634502270556431176750155185000408100911025737320010552565250570662288145001\",\n \"0\"\n ],\n \"7922792320301382845572568340704935587355252974844191583101258409296914608695\": [\n \"0\",\n \"10870048215129619865609266720890334555034468675853121247415603033269398173469\"\n ],\n \"8774398230334084430622549654050675335804061470517268501603722927595004698480\": [\n \"0\",\n \"7922792320301382845572568340704935587355252974844191583101258409296914608695\"\n ],\n \"9012684219156620995541653548211615205244970989077517598574132068685332919713\": [\n \"1692098818299477764582976469444570395950702713578562249838708462786987771106\",\n \"1\",\n \"1\"\n ],\n \"8419680622138283184954654912782759990560689193274344558632373929085610636161\": [\n \"9012684219156620995541653548211615205244970989077517598574132068685332919713\",\n \"21364224190189806057817037024047652775813457151242546657575494866816451636504\"\n ],\n \"6220379436937164382856311302863374249897636707603281583126666531544833588735\": [\n \"9889908299037545488204412977616201325700263456369016182777586032079837041965\",\n \"1\",\n \"1\"\n ],\n \"19150379856728329528482728442471466459082145733086764334660759634414936576488\": [\n \"5280007326492786982552032189386005939772444014426844905981430859293835512290\",\n \"6220379436937164382856311302863374249897636707603281583126666531544833588735\"\n ],\n \"14069362950582669643078793379057403504919230564296307426988028564726636760996\": [\n \"19150379856728329528482728442471466459082145733086764334660759634414936576488\",\n \"0\"\n ],\n \"842593485676700659472282481416445444064094659563949988996908977025793825103\": [\n \"14069362950582669643078793379057403504919230564296307426988028564726636760996\",\n \"0\"\n ],\n \"19226497818358405966347197242684517792167002049683183358273300361488310688602\": [\n \"11683645024774523830205019037997117503869028424644751451538471668807590364189\",\n \"842593485676700659472282481416445444064094659563949988996908977025793825103\"\n ],\n \"17588701335168957093103297668959639578577419254336706026444435427025483381049\": [\n \"19226497818358405966347197242684517792167002049683183358273300361488310688602\",\n \"0\"\n ],\n \"984904471022247271438305161513394343309602465102088622022004889662700153857\": [\n \"7899041127201954406305403666797762199864273518638747281058061458375298695771\",\n \"17588701335168957093103297668959639578577419254336706026444435427025483381049\"\n ],\n \"12393904764923389659725312727793542007580382070024691882249724754555216118806\": [\n \"10949384757029246695745964806516103681160974040426392074884262406688271714808\",\n \"1\",\n \"1\"\n ],\n \"20024340696763517705400019483409888122041792078634758474450665788448943657751\": [\n \"710524514074608635580099202912121418347539828413801363923707677312703637767\",\n \"1\",\n \"1\"\n ],\n \"21158543456942889479407006883535929879853499619266637090132665190421264821374\": [\n \"5233008646704086205530879363520897444248715222881398865174765497405502748063\",\n \"1\",\n \"1\"\n ],\n \"20873694625814613365144628018790126530092365013403847763484504610428284254825\": [\n \"9909121924830995501255132541938079313583042232218707688118483208466469535648\",\n \"21158543456942889479407006883535929879853499619266637090132665190421264821374\"\n ],\n \"16721571578807247421698304268822783632355215260583648202295929271448880100335\": [\n \"0\",\n \"20873694625814613365144628018790126530092365013403847763484504610428284254825\"\n ],\n \"14234479349990048309486435940239186043137360486526931985524718118791058840973\": [\n \"0\",\n \"16721571578807247421698304268822783632355215260583648202295929271448880100335\"\n ],\n \"581496484226650322731694174116350904210329872567212349953791586798578887017\": [\n \"14234479349990048309486435940239186043137360486526931985524718118791058840973\",\n \"0\"\n ],\n \"7286874008986737994445506609436332098301658725179248424710130250427897208880\": [\n \"8294456303853980653577684595583600523825996729136719747241572756138207471812\",\n \"581496484226650322731694174116350904210329872567212349953791586798578887017\"\n ],\n \"11688169668241926761314898031657624516575505932320556019448476203673317876995\": [\n \"7286874008986737994445506609436332098301658725179248424710130250427897208880\",\n \"18151951961769724984100573113638586689618612334633422805690808632824705898891\"\n ],\n \"13802984157162983096497960325278668602710063956803519999326712190118818289068\": [\n \"10180311570670331124906937637562468007295649365385259774640766301850224969943\",\n \"1\",\n \"1\"\n ],\n \"4484029065947578426151962360923202612623830456022359748563555133204494940509\": [\n \"11793453641448314632132294223467468078607081754897163856964983584519186064824\",\n \"1\",\n \"1\"\n ],\n \"8098552747045301639298178670068450724440873459983632542302282965763032567016\": [\n \"6469580574119814596783220395097977071320066451851734896484616421361753223813\",\n \"1\",\n \"1\"\n ],\n \"11719906749256484835938211346094525240135981269202463494888678516040680272669\": [\n \"16780306968261292480512467754623918621601487809529831593527767258096177284993\",\n \"1\",\n \"1\"\n ],\n \"14479661913169671015345528374862591787611192171694766877586664372643574493776\": [\n \"11719906749256484835938211346094525240135981269202463494888678516040680272669\",\n \"12783824561737478059236473327012897966840768878692717514402858898456480091347\"\n ],\n \"4449633186673428660473938938301365008185622486553423894163400421734966786270\": [\n \"14479661913169671015345528374862591787611192171694766877586664372643574493776\",\n \"0\"\n ],\n \"18504864767565574576297584845631336701176122960609303952834845012316844969507\": [\n \"0\",\n \"4449633186673428660473938938301365008185622486553423894163400421734966786270\"\n ],\n \"13335062917864557307199987175080377769278068774268244218341199025667541498664\": [\n \"18504864767565574576297584845631336701176122960609303952834845012316844969507\",\n \"0\"\n ],\n \"10625713386942161878270578142456251634605549219167592270871723091293466983427\": [\n \"290345541575934113089092760527462289166276751950500202994229114401765561240\",\n \"1\",\n \"1\"\n ],\n \"20570270925785652447644572004321855734265380547306881428607898508569598142427\": [\n \"14314840787401093419630781754239145331680016434090817904357909742013307001944\",\n \"1\",\n \"1\"\n ],\n \"16635497560661217585659011490787072259432547972049825616413891219475845046202\": [\n \"553758554892750998411364484727662421331363387022979656257320101948417044597\",\n \"20570270925785652447644572004321855734265380547306881428607898508569598142427\"\n ],\n \"13644479288947430018655864198796741394165739732011326993279324255726693935987\": [\n \"11307728615241498041374039867504077812482058778848429200259322410363771830747\",\n \"1\",\n \"1\"\n ],\n \"3370429496316066528874753995612031564903456520082949430765766398255722661489\": [\n \"20173962612160867621120469571485650916366014294657289796299177361190061792864\",\n \"1\",\n \"1\"\n ],\n \"12554858523561807324679707382704004140075070796237572070271366374103041576605\": [\n \"17969054782109835299112007584711563195807126617209324672240115920686742101813\",\n \"3370429496316066528874753995612031564903456520082949430765766398255722661489\"\n ],\n \"2871467309545428824224830067871783817591205421266301126058868391627555125616\": [\n \"2841884568323774016518633480524198420480830729067748394268000012752841318109\",\n \"1\",\n \"1\"\n ],\n \"11727218048129455013773807726713421107516691079153429554567003973205116354081\": [\n \"13572180132325392650482112862734354945787947342254251890194933237291819630248\",\n \"1\",\n \"1\"\n ],\n \"15753493896745224923427238618504482293779722227834292021007835448295965352515\": [\n \"10690925784921030637440566758091874502891614897482512271239458443189322122647\",\n \"1\",\n \"1\"\n ],\n \"6375625750130027637054084298945491934646450070521344035557202019888431098548\": [\n \"7523723693520340971950795138472320786678719123957563764090210029405905781653\",\n \"1\",\n \"1\"\n ],\n \"1029861238051537362123489916240354506606476564307381023223678545657452263897\": [\n \"6375625750130027637054084298945491934646450070521344035557202019888431098548\",\n \"18795705159489034311839344188432052843463406049921122375931577803986693912506\"\n ],\n \"19035306792027902835634708670266093168483454119873371866247811563543804240167\": [\n \"20380441606285267999918765354330976805776516205839001994036172014620782010614\",\n \"1\",\n \"1\"\n ],\n \"21663484794098804915290306241257526564731247221608303312870442591316533741739\": [\n \"21137633850593728401724628744743587714577727164512119201258408518157620730696\",\n \"19035306792027902835634708670266093168483454119873371866247811563543804240167\"\n ],\n \"21403638358886884659966308403058301591835817485546951386433115386866682469008\": [\n \"21663484794098804915290306241257526564731247221608303312870442591316533741739\",\n \"0\"\n ],\n \"3643073856804629060174309604688755236526418231818204047454812037566260970553\": [\n \"21403638358886884659966308403058301591835817485546951386433115386866682469008\",\n \"0\"\n ],\n \"18960559361653506279742244573980569147957568858434817580173637325655535962801\": [\n \"13003744747212866990253880650643924146940632840417834663930943686594267459681\",\n \"1\",\n \"1\"\n ],\n \"11107679691757293405610733000695903698750293373211401617669199162185043572129\": [\n \"1413415829948775165202302478476580588095351081978552591109507213803741630846\",\n \"18960559361653506279742244573980569147957568858434817580173637325655535962801\"\n ],\n \"15507709128795459296428226742773994838789481479486992634472088808463444948992\": [\n \"11107679691757293405610733000695903698750293373211401617669199162185043572129\",\n \"19751030151516820486125555474006715258302501335517380892875838954819328506449\"\n ],\n \"14485858525607488235295980738699586036933706504713347716607189530428230493202\": [\n \"21670581345721393637809285941333668975582399813623369074444582258188608264165\",\n \"1\",\n \"1\"\n ],\n \"15713870780642888450371888509758732811813989006647753734664077474201147771923\": [\n \"14622883101308540538064585179997027268247061965257122937939424847390220770674\",\n \"14485858525607488235295980738699586036933706504713347716607189530428230493202\"\n ],\n \"15369605575753124536107215371511195022405096231843188503438673304135088920395\": [\n \"15713870780642888450371888509758732811813989006647753734664077474201147771923\",\n \"0\"\n ],\n \"4349941739981527520352761733648348914169945703291943679683447913994303904452\": [\n \"0\",\n \"15369605575753124536107215371511195022405096231843188503438673304135088920395\"\n ],\n \"4926218919779341783542842286829484927162554464279836181751580023215163725128\": [\n \"4349941739981527520352761733648348914169945703291943679683447913994303904452\",\n \"0\"\n ],\n \"21071941750585392108533627450846736113476709731345937259553170658468001835074\": [\n \"12081523003753175882234669981322851705706819524954580345184270267332570541174\",\n \"1\",\n \"1\"\n ],\n \"11768800651908301234528107165013676983273662731908305926763749008914520089754\": [\n \"9098025068536805181836117672105814651521783072495141516320855811021323859278\",\n \"1\",\n \"1\"\n ],\n \"19175230240688642999409704767239459197242330459118973069529540847671234545348\": [\n \"16196354651547560805194443057768277585071208727081278241766978888699395397619\",\n \"1\",\n \"1\"\n ],\n \"6441464889830409999588709733177114667552157890250245559257418371735603347270\": [\n \"12823655678006104661206861945201895993127835068822986874455723795576813035961\",\n \"19175230240688642999409704767239459197242330459118973069529540847671234545348\"\n ],\n \"14476040137654866238393366331259645902037460691942177523173120765806101277097\": [\n \"16102860379559282915930782095682671866786487654604520834641404870335458615029\",\n \"1\",\n \"1\"\n ],\n \"17870943171128387287893761768341943563828289964830618369434295462151941340629\": [\n \"14476040137654866238393366331259645902037460691942177523173120765806101277097\",\n \"11200764455995670117195839013587565174557126970972152548771401246357646068203\"\n ],\n \"5079938989386570981066790458444934053877739713145908235317692767356064465071\": [\n \"0\",\n \"17870943171128387287893761768341943563828289964830618369434295462151941340629\"\n ],\n \"4267080861749832501295230668738487664604359977666532280278477387018399398688\": [\n \"5079938989386570981066790458444934053877739713145908235317692767356064465071\",\n \"19395706385914683375434514861308150759419684611312237347658039944935361551975\"\n ],\n \"11772776980335558786614243183800785288247173489461391127857430581834967494193\": [\n \"4267080861749832501295230668738487664604359977666532280278477387018399398688\",\n \"0\"\n ],\n \"20795445391258578491381116642695626474985472847938632771188296686528551138270\": [\n \"0\",\n \"11772776980335558786614243183800785288247173489461391127857430581834967494193\"\n ],\n \"9433145171549095108359423075627135401420412372796804469009336367656416640406\": [\n \"0\",\n \"20795445391258578491381116642695626474985472847938632771188296686528551138270\"\n ],\n \"13268534763787753844968927934983528551267260310042232147230281645953040804689\": [\n \"10007211049337655092418939091706886930604526629664635811339972847536768869390\",\n \"1\",\n \"1\"\n ],\n \"8372750393620031044395148881731643364783070901632484697630423794143344678616\": [\n \"15911000504840944393127794884905523776517755973006735457321503519493830986705\",\n \"1\",\n \"1\"\n ],\n \"12904931271271739075366107710438845300312701520701201936463737567366162812643\": [\n \"20949501719326136778183300540483371569371549049877623178795307421164196909339\",\n \"1\",\n \"1\"\n ],\n \"19219563440365169203052007006420900114830717671023649569351642195409659009534\": [\n \"9208839010863308369761592742760668249619758873040968389266515517811023108770\",\n \"12904931271271739075366107710438845300312701520701201936463737567366162812643\"\n ],\n \"1215376076678811633571178915941749196187894483250753858570876148001483591998\": [\n \"19219563440365169203052007006420900114830717671023649569351642195409659009534\",\n \"2521536555683977472016818720892249271854810077887247116106727478626806174481\"\n ],\n \"4330763641452588070381292929275227205418953329446915803259707652311430024199\": [\n \"14356461131880758194632142730468814556331529099222581877998255762360360857326\",\n \"1\",\n \"1\"\n ],\n \"14562247058170483038416433936001815389410341885477439792045569442348864207871\": [\n \"14104438678816117886958274195742337629283237010254638175934373650582946768955\",\n \"1\",\n \"1\"\n ],\n \"20739756399683383501279418505041985362774388092279852554413123952011966229791\": [\n \"10023700479997601494712650224407560269617639654452657200115019020928192048065\",\n \"1\",\n \"1\"\n ],\n \"43234412463472125778059425337714150805469280562241497721172472510553451033\": [\n \"18446972756797422796904346913893304335985172167498549397574356092497402727306\",\n \"1\",\n \"1\"\n ],\n \"21291707498263366372496027832881629644538700309285458808307519639539704891102\": [\n \"43234412463472125778059425337714150805469280562241497721172472510553451033\",\n \"12615938543201654782834916533307267070855106578721342682950347382537179529511\"\n ],\n \"17833004722710499145085023907898850207226458240134106024527967757281870118048\": [\n \"20416002189058608912952216787065030010694721770521098675419278533330725709268\",\n \"21291707498263366372496027832881629644538700309285458808307519639539704891102\"\n ],\n \"8630095387105269446640173205308310150781302037906512926101438491996800090994\": [\n \"10342395879557418347925914671353943228752962409007025481389999612121599161370\",\n \"1\",\n \"1\"\n ],\n \"7436355683037155314354654635943882835736181804068036224004182933702207447598\": [\n \"14325349469920443053160132472717883924916922783127127543643615964758198667068\",\n \"1\",\n \"1\"\n ],\n \"12572054598715065315312506321770409803079490667621659813687874478988849527861\": [\n \"11958866837229004505794501669932943963935643563601841609557949869075660970740\",\n \"7436355683037155314354654635943882835736181804068036224004182933702207447598\"\n ],\n \"2764279567695248386103774203516859249170240469215517859352092208847467119968\": [\n \"12572054598715065315312506321770409803079490667621659813687874478988849527861\",\n \"0\"\n ],\n \"10995477460878291094540845741404400544421419860931454987572522880772006286762\": [\n \"2764279567695248386103774203516859249170240469215517859352092208847467119968\",\n \"0\"\n ],\n \"13450383088700987739274944365611836538284471405532320967596042507027577992863\": [\n \"1392083700755103122086359484329253249115521960036588453406237866793769153041\",\n \"1\",\n \"1\"\n ],\n \"15814153362858983099268715313514688176059595364028142636339964087929048733775\": [\n \"19293205348500654947655282561267009778770785652422420787604685233128340510260\",\n \"13450383088700987739274944365611836538284471405532320967596042507027577992863\"\n ],\n \"5640840655108379437664466962683896099741682297602798409296374298382331147639\": [\n \"18650723980564237440478724240864425046313480413922904713866750479773677254995\",\n \"1\",\n \"1\"\n ],\n \"3638128107684007689767959408757314918541243843191101905971255838908506621947\": [\n \"2844789859115694395433411693606272173924720493862180797343969651399233336509\",\n \"1\",\n \"1\"\n ],\n \"121916076685442582979979796219540120966983434900998336817024830948328707233\": [\n \"20813100225894398714361945982226609748824218584423699621218287861270716422312\",\n \"1\",\n \"1\"\n ],\n \"21500458934123412600065115031714318538015604442386670198085074359083697296774\": [\n \"3301022594197285863827737769329620438179210535109547347107215977066130915667\",\n \"121916076685442582979979796219540120966983434900998336817024830948328707233\"\n ],\n \"6367999741737852847306693310622200794043411016992726743931001141936648312748\": [\n \"15001495421511497144489038641059291454016912561516179443637841766821782804419\",\n \"1\",\n \"1\"\n ],\n \"2084165719557998044170949867713929436815187392665573546887649522215738217882\": [\n \"17126690991273622668754413887045827304371872773906753386548238999336433150960\",\n \"6367999741737852847306693310622200794043411016992726743931001141936648312748\"\n ],\n \"3846172906723311566934847377731448078216197935255437100858144865569917110822\": [\n \"3958528591263401212678863362925919293423785046624826135082555631097882988086\",\n \"1\",\n \"1\"\n ],\n \"19852912030024068954519347391243778623532363520826536381238812036176253824671\": [\n \"2237149317081990689412700515199901117256411694999272038111073807056167200234\",\n \"3846172906723311566934847377731448078216197935255437100858144865569917110822\"\n ],\n \"17785501785244556894285270465748398103257474135934582026646099213379826359990\": [\n \"0\",\n \"19852912030024068954519347391243778623532363520826536381238812036176253824671\"\n ],\n \"19762383864682754832545958730488127610599312651757791679931161952792322125664\": [\n \"10169653748940664486431178753767851974377387270011815108437333196908146941505\",\n \"1\",\n \"1\"\n ],\n \"11263417985599580068570092048334489695379481007012076950944512606753864438838\": [\n \"20047264027577786590379651589383665645312076360720291445475071939368413590416\",\n \"19762383864682754832545958730488127610599312651757791679931161952792322125664\"\n ],\n \"11704708002678014614371327555061811370854561197102134300971520961304351991865\": [\n \"529107065582418389355311306342885299389256835444777725658259680229680805351\",\n \"1\",\n \"1\"\n ],\n \"15962597284355481044657196418610860960141146463786486871528476248255864734575\": [\n \"7286657981032143555240521336614075874623321280334932264282399996109551787234\",\n \"11704708002678014614371327555061811370854561197102134300971520961304351991865\"\n ],\n \"7459507328661281435586037943621654621005064200508137295385099907145026388569\": [\n \"15962597284355481044657196418610860960141146463786486871528476248255864734575\",\n \"17919963890230067505089116242845086129878925898528273640170108990458234524784\"\n ],\n \"21403338222467413930667878261979519573050954352827412672866505563508361555258\": [\n \"9068136137074957502500654206367243928904531138304558835804975731986928586742\",\n \"1\",\n \"1\"\n ],\n \"11106179115405505728138368027420446553432832434510526064353720620815146938711\": [\n \"18440328037924482736524537848044692959036386743051195858686585632696802687052\",\n \"1\",\n \"1\"\n ],\n \"21054688182993709920595843691593986229256811136175064008540313910216761641863\": [\n \"20309317895473572596387757812968234115593919332381096796839134563003290774129\",\n \"1\",\n \"1\"\n ],\n \"20248086425995787005120765873310676289840730303169693910909995947467377858326\": [\n \"16389478304063353321676265880779029724556468605698614428101587382064862423013\",\n \"21054688182993709920595843691593986229256811136175064008540313910216761641863\"\n ],\n \"14511049222473870183520961372996890445252858415853109611368950546965393098580\": [\n \"0\",\n \"20248086425995787005120765873310676289840730303169693910909995947467377858326\"\n ],\n \"14831605455311454874515183019550527145122559374811969304730129650899463446128\": [\n \"14511049222473870183520961372996890445252858415853109611368950546965393098580\",\n \"0\"\n ],\n \"2967761062436253994154275079504797338479352590984653443897377186093642318056\": [\n \"3014339795293610157816139218492781913405543378546335442258267366089177668288\",\n \"14831605455311454874515183019550527145122559374811969304730129650899463446128\"\n ],\n \"3228691668472645017557138591828499803811563212824629308598684762477235484437\": [\n \"21428123226196098479016550915990846841948975556759171462857660155935003656673\",\n \"1\",\n \"1\"\n ],\n \"10057507805202197862056936622869615511566267849803093356287649825575494022461\": [\n \"3228691668472645017557138591828499803811563212824629308598684762477235484437\",\n \"12070452550655129579733601014560135221222306104465962700739664988629813201145\"\n ],\n \"19209566890122436125887731539341487620535392168743903526627298332731345514008\": [\n \"10057507805202197862056936622869615511566267849803093356287649825575494022461\",\n \"0\"\n ],\n \"1968817682405549859369520993769525581651799971076592169706416127750363591951\": [\n \"0\",\n \"19209566890122436125887731539341487620535392168743903526627298332731345514008\"\n ],\n \"2668563554012104639007628232781949165026451296828485636372559392938347331874\": [\n \"1968817682405549859369520993769525581651799971076592169706416127750363591951\",\n \"0\"\n ],\n \"18191008669966403471005756001191547378543969232686542206646189374397426727154\": [\n \"18423870769598638508413412510621159908723091854125631600898277065557095074187\",\n \"1\",\n \"1\"\n ],\n \"21489816446636157916254804816762156374966654262055513396440091165917326344860\": [\n \"12983868152029782625959316014438576257421361545179309231634410249122899513598\",\n \"1\",\n \"1\"\n ],\n \"1987624084203119337498109463178236371974639646718913587969771163466242253347\": [\n \"4075199795842516924455612853110585525386087374152247799464961191431565873750\",\n \"1\",\n \"1\"\n ],\n \"9165004426028535290736537724393078095967040027965219321497541485863727680402\": [\n \"21124816913798435860214835248232917445465048852553551593693467957445511452259\",\n \"1\",\n \"1\"\n ],\n \"3211443625750838953735524666978460873935279194378502037476938149383820242495\": [\n \"13839297613736093584153129994579826859561800863276509971406153761481067403841\",\n \"1\",\n \"1\"\n ],\n \"8379756705955360869625632754135569771377174613055023588993873582037315662397\": [\n \"10711142286605310642531491723708080352115385478478331586035839453652389640013\",\n \"3211443625750838953735524666978460873935279194378502037476938149383820242495\"\n ],\n \"15945346389031099729720823301433081643483236322522821656683881892464844051508\": [\n \"12954884843867297314858263577625883427877741870362802259500211401562799936420\",\n \"1\",\n \"1\"\n ],\n \"13816987044263572138377313326261135530977302943780177321679580054037385714178\": [\n \"15945346389031099729720823301433081643483236322522821656683881892464844051508\",\n \"10455114661339424541062069765764304703810658929852242972333157620200195858892\"\n ],\n \"15487674681623407720740699820395406513431436668406915476044802382843549581842\": [\n \"13816987044263572138377313326261135530977302943780177321679580054037385714178\",\n \"0\"\n ],\n \"15126593088087355061627847264144917339805292717118875440504472003481869945214\": [\n \"15487674681623407720740699820395406513431436668406915476044802382843549581842\",\n \"0\"\n ],\n \"9645602993900546686059440631265849608458734019798849617605104551410900626877\": [\n \"803484867042260590774732796459162275686220035977219522094227884297350052698\",\n \"15126593088087355061627847264144917339805292717118875440504472003481869945214\"\n ],\n \"5726530059366898531253799572782259884529137195782877774185238035533712967091\": [\n \"3668060239790376036349596065181902337949930525649207588898283438524271373893\",\n \"1\",\n \"1\"\n ],\n \"17359446633348202659704363576007337827242759292308070916472214494326827141007\": [\n \"5054485449582812750663030311978696372445247517796444591683049085151962532100\",\n \"1\",\n \"1\"\n ],\n \"6813343237865744148392446258426950478332692011429711642856578099950455702232\": [\n \"20412901458675929650880469789028049605126042283867292570478050279641724424461\",\n \"1\",\n \"1\"\n ],\n \"10546991733633791177420668070456278509333588206399914001983958620760193818766\": [\n \"11350046215299107389194850301135309274020213450143330884166055704195561230877\",\n \"6813343237865744148392446258426950478332692011429711642856578099950455702232\"\n ],\n \"8694560580535690950871058207263723946692746586617001501873387856027060325173\": [\n \"10546991733633791177420668070456278509333588206399914001983958620760193818766\",\n \"19769192480123816332411273256487952858934945372300689897903609821049803446935\"\n ],\n \"4221689336148935850411148386420620683834422824312657487141832609415113416828\": [\n \"12225223165007793567696393791400058470626971372419736821095418540797979849873\",\n \"1\",\n \"1\"\n ],\n \"12865998692860452204793923084157867149133743529042287145953506595187669207014\": [\n \"6533943907811385839844532923113137171068068121202730796393030799686605954922\",\n \"1\",\n \"1\"\n ],\n \"650574159488180653609088808167887650587497552399101707230441019016832406634\": [\n \"12865998692860452204793923084157867149133743529042287145953506595187669207014\",\n \"20766956033366071951042151318287701392621474237265912773795623469112718610253\"\n ],\n \"8831659798415504597909510963764669007264773269220850126672714533389856407773\": [\n \"0\",\n \"650574159488180653609088808167887650587497552399101707230441019016832406634\"\n ],\n \"4208537460926457766872992392196927125504918548255200357410238719534508174167\": [\n \"6751371588045567055190296241900810170969463983888550439645193480459924609938\",\n \"1\",\n \"1\"\n ],\n \"10640951642033099655865930430218455894020068833419947087654295308703780571332\": [\n \"10866698754887449205014515417344752488795867037411188560335205324297152145817\",\n \"1\",\n \"1\"\n ],\n \"7450992793404739874487956470005118684249480361178927307444544550133657267561\": [\n \"7151600676207631716260670597024023790314779337098943808425473220669117352294\",\n \"10640951642033099655865930430218455894020068833419947087654295308703780571332\"\n ],\n \"12178564227734066511563614399316125972884425915241875761837672354243744945261\": [\n \"7450992793404739874487956470005118684249480361178927307444544550133657267561\",\n \"0\"\n ],\n \"7241881395515877735360309040843038990270306852796513826550618100492833716750\": [\n \"6434391957959133791402024255857876739191730796203803288481968996022073842526\",\n \"12178564227734066511563614399316125972884425915241875761837672354243744945261\"\n ],\n \"18071087476370748370333458863019399479760675415328358239458336787960275863931\": [\n \"18816383000969977266441777061646712774667942661549528221794971096571498460206\",\n \"1\",\n \"1\"\n ],\n \"19087189650908019189209101289853458552237368496572908139790784442691499925930\": [\n \"1137016054779980580338522805761293564757122055898697696453460717348718090935\",\n \"1\",\n \"1\"\n ],\n \"1254628593953653929777986786422891065099767372759162799356342352018636491129\": [\n \"9779182516835088572702208593675973856982015694673518379797999323885397912104\",\n \"1\",\n \"1\"\n ],\n \"13137074931647699400580101475119467587571196953651830491729018122303769873470\": [\n \"14318197692271351279598848165726330136001250852398089267808621273182182266638\",\n \"1254628593953653929777986786422891065099767372759162799356342352018636491129\"\n ],\n \"10773707052352462204982131521468739625782709557281639347617184253578522940840\": [\n \"5496332598727435708987768356400846393796365180352588720239317690237271948197\",\n \"1\",\n \"1\"\n ],\n \"18977429264437957329371650612554949848473780447421541797599074799261112509696\": [\n \"7716575071866604824699779180275584759904471759008929192026041540085092660884\",\n \"10773707052352462204982131521468739625782709557281639347617184253578522940840\"\n ],\n \"10731963154365991372441255553854771548467219173250628449309167214705554015221\": [\n \"19826517361779089968322191520724930864164455719263345828045268102264254602802\",\n \"1\",\n \"1\"\n ],\n \"1561555002533014637593899290930681751870566036887398126834184884535164785650\": [\n \"10731963154365991372441255553854771548467219173250628449309167214705554015221\",\n \"18572252214316686721302200951030087486619689980373574097197890224224304344666\"\n ],\n \"21884643265722167489872130337660623911491890833712134968982995716581037043754\": [\n \"7334097286941585009375980999709334061752835564669721203093402233621629783361\",\n \"1\",\n \"1\"\n ],\n \"17525909178524459949998453904637123172524504953174859190793060922824933813953\": [\n \"2575487038179877291060502021293594276653016196120459188980605578995028169415\",\n \"1\",\n \"1\"\n ],\n \"12149807587575944667031193386407629206188368299875106890206539983151244051766\": [\n \"19818119159655090701370001667584609936104124168153427965096013424782839236576\",\n \"1\",\n \"1\"\n ],\n \"17462945687058762719222874403069514338127924761752019289828264539858449158198\": [\n \"12149807587575944667031193386407629206188368299875106890206539983151244051766\",\n \"21251423682178472600500820935039624861479853445177017238875172898069819398070\"\n ],\n \"15029208865566684125443762140361477231773819362556005654972937277178434693723\": [\n \"675351702896557212244693732592420535435376437823019073157104572233225864194\",\n \"17462945687058762719222874403069514338127924761752019289828264539858449158198\"\n ],\n \"2383197803237335914555287703809063196016928040104954384314011709530684106763\": [\n \"11029070336623062408106533390615325375593766477070769204192668716805965282653\",\n \"1\",\n \"1\"\n ],\n \"11553165118325649949069710806875082477261107554603499500888924418608403040970\": [\n \"12842317463075229428019670110296434818979673917978268151988258082008755660502\",\n \"1\",\n \"1\"\n ],\n \"19608945733276545773203363037565563022584634573567254748521888235841433401340\": [\n \"11553165118325649949069710806875082477261107554603499500888924418608403040970\",\n \"14513008610996138532841886047634817534500081875306494105944934059567724024408\"\n ],\n \"8857310861304168769229946100541122433147591480536714230830144593722466113590\": [\n \"16253485825241525042464968762693011004602456812304414867415832862243566276250\",\n \"1\",\n \"1\"\n ],\n \"20076824021978339801757869517660046532444397173141863269367955449003100109984\": [\n \"18261647734868204045945426159269156552206427905173135321900702939398504505354\",\n \"8857310861304168769229946100541122433147591480536714230830144593722466113590\"\n ],\n \"10548054103102615897148729915613586658641186888000268732043169742060117575508\": [\n \"5032185838386876004041367149791289723554289947827834402632916074978438153268\",\n \"1\",\n \"1\"\n ],\n \"18643725852472378999474261605459318990435691829828283467444921465072458577747\": [\n \"9809165530106065979889352955978057243500953989766990319143665578765104784600\",\n \"1\",\n \"1\"\n ],\n \"19685762363906619820248463275251057735330899782879363591076534637176156116168\": [\n \"12946496312937827919146256502756589318757430318840836774840794865138861828465\",\n \"18643725852472378999474261605459318990435691829828283467444921465072458577747\"\n ],\n \"8125738973781989061701985028375222317187826629802396132023915029080715353930\": [\n \"19685762363906619820248463275251057735330899782879363591076534637176156116168\",\n \"20572181975220904791181173003459239054843698354720781734816889191001875046946\"\n ],\n \"11542992198915009269992643505296762626287098759052560079559964279920586787029\": [\n \"8125738973781989061701985028375222317187826629802396132023915029080715353930\",\n \"10940921374914953254775833702902346333166476441807012239118410214890051497174\"\n ],\n \"1994225133610951014112799330539981613804692735410540548318636030753393877447\": [\n \"16332847459317863646403015661753461785258099874106044971738230189807095117524\",\n \"1\",\n \"1\"\n ],\n \"7029804411773995699342609601356237919470761084171499854615770366426897403000\": [\n \"19841411866545114004836369598128195669068635566397771876970628816735736328553\",\n \"1994225133610951014112799330539981613804692735410540548318636030753393877447\"\n ],\n \"20400475170109452277676172365683938851466715415395488291643179948511133889149\": [\n \"8554851127426117697979224261219899312743258041323024553612615957015722606600\",\n \"1\",\n \"1\"\n ],\n \"13407855161171906712600190533350273168162491344697204054773259461487517192924\": [\n \"20400475170109452277676172365683938851466715415395488291643179948511133889149\",\n \"1813619990059126541217354565823814824853748284727994549025756761515499280682\"\n ],\n \"11710073968559062067987591920955794744239353284082780412182442897881008105316\": [\n \"16107148001289437671154869164597961068033057847412026443531333330531324865245\",\n \"1\",\n \"1\"\n ],\n \"11893755530785941674224199654917481818821455291184288626623865491335615730585\": [\n \"11710073968559062067987591920955794744239353284082780412182442897881008105316\",\n \"6415529911947133625091463104777238556863865980581716340351923285749793792019\"\n ],\n \"14024351602281029769157000321024703429306652623626996405351131078420854411721\": [\n \"11893755530785941674224199654917481818821455291184288626623865491335615730585\",\n \"0\"\n ],\n \"12422851009065193027590361354851010628397919662668003069465729031830544363223\": [\n \"0\",\n \"14024351602281029769157000321024703429306652623626996405351131078420854411721\"\n ],\n \"19568397264705818510380515199843585256078320827016057758171731881115505815694\": [\n \"12422851009065193027590361354851010628397919662668003069465729031830544363223\",\n \"0\"\n ],\n \"1556481488243483841495358043779116567762370660555368193305784602095614777446\": [\n \"19559389138233524091610165251031609884130279621492807162963490434774074758677\",\n \"19568397264705818510380515199843585256078320827016057758171731881115505815694\"\n ],\n \"1027711794648274432905861195729411148460001002448096655134636457154032926970\": [\n \"9409696303790945748980243618489301316544486488361281046225611536022629924991\",\n \"1\",\n \"1\"\n ],\n \"17493399775776548201433697656896507661538289238876863491874050472700997511801\": [\n \"2148790125352082567576730591519608660952730447012093861828688057692099504224\",\n \"1\",\n \"1\"\n ],\n \"4033126168094153536328906137261721034724874980954050958249060004203796022371\": [\n \"2249919534320373977000945961379611878964590489220299965885653572782382540218\",\n \"17493399775776548201433697656896507661538289238876863491874050472700997511801\"\n ],\n \"843121498691139795006123300950058713475009648995697952258298855433270019062\": [\n \"13979435226771390084519611388775068046112903334113307947301206041581982363249\",\n \"1\",\n \"1\"\n ],\n \"14481299953453833121841823516860292909400986639551087838457349876703008175861\": [\n \"249226221782816500355077670014112100625215439127691020528224813428565461586\",\n \"1\",\n \"1\"\n ],\n \"1255282004125883094386238334847934019725929350291175865194895804188710334997\": [\n \"14195377984967928473492290230419084649171167742318648425127933250125049447060\",\n \"1\",\n \"1\"\n ],\n \"13212879813498922771874909822415646706935552686816300218397184983217366393242\": [\n \"1255282004125883094386238334847934019725929350291175865194895804188710334997\",\n \"2714332496110341643872646056327198909498947851528827169094336047676916582255\"\n ],\n \"11986123443597662649782439844278426113354497402755558811394538189537542545168\": [\n \"13212879813498922771874909822415646706935552686816300218397184983217366393242\",\n \"0\"\n ],\n \"13331676443701934741063892102318186472192657761503039379062393381561842095019\": [\n \"20435152190596896294432622854343685589337925269112969980426887881851829836955\",\n \"1\",\n \"1\"\n ],\n \"14345191615946013513467659654090933779732127307333214468520004148498438215933\": [\n \"21657285487660837020875636858437736804572428053162302862664323112810634435121\",\n \"13331676443701934741063892102318186472192657761503039379062393381561842095019\"\n ],\n \"16041781175538208262095365218950248801399456009326469325475412722698471905017\": [\n \"12926764768142674416904823311573915296756094669618657049719738367573215721393\",\n \"1\",\n \"1\"\n ],\n \"4323576718008078426524814694717536753205373901088955820175238498158035518609\": [\n \"5179459106379643534479947237637887177358234672640135142502591431665425061147\",\n \"16041781175538208262095365218950248801399456009326469325475412722698471905017\"\n ],\n \"17818866982892950864834185612859431280252292902752374877330252628854419910049\": [\n \"4323576718008078426524814694717536753205373901088955820175238498158035518609\",\n \"11169026236336427465770892328458051706854621588483004702834487330904083019536\"\n ],\n \"4297725073000970187307881768983303636549157031490187982046876702100467534058\": [\n \"4885950131558962408004202197621953732829843648371817198789837304435275120517\",\n \"1\",\n \"1\"\n ],\n \"12684928627439097884126823749447738185690808063356120715976100827180098543315\": [\n \"11083468517662448266589579368886000780604213553331496710777432218576073999273\",\n \"4297725073000970187307881768983303636549157031490187982046876702100467534058\"\n ],\n \"18833248673246905025199674382122722310995067923383982592300268031388042068385\": [\n \"9081327205065770216722754742347897466042391079478563591797936768038917272699\",\n \"1\",\n \"1\"\n ],\n \"365285975907819941961089951523149946909391105736650003542736541522868223113\": [\n \"13310002632925151158227757010641920630711062264688376016901796200886911140278\",\n \"1\",\n \"1\"\n ],\n \"8161663286564012999305768697112199135604550410489262113218052690386388861479\": [\n \"5573645886755310852071452517048892628318200921739650613504703608211526468911\",\n \"1\",\n \"1\"\n ],\n \"14882578217970027791184496610157143193580465012985590425591821456924380393971\": [\n \"17441743383063991553405157540538367556499880577589424690841096508493431876974\",\n \"8161663286564012999305768697112199135604550410489262113218052690386388861479\"\n ],\n \"15211856035240176509580959181104218520823363299491701614636574270862557192132\": [\n \"19863645010669131424801117464944208595803950653650946931016087317531165015737\",\n \"1\",\n \"1\"\n ],\n \"12146266315222952957471595527440195414978405437901961750697393802856042558254\": [\n \"6573536743942836900599025149156239598178300558956787899761473214291663740904\",\n \"15211856035240176509580959181104218520823363299491701614636574270862557192132\"\n ],\n \"10080729133286506031204687696358976988536264814771359627990881859574113920055\": [\n \"2770299429305763590608151311273675567921592503713131519362731408142824758188\",\n \"1\",\n \"1\"\n ],\n \"16354829113418752052573669202254337741094214348073236724876269512900750496460\": [\n \"16418584468415016273398562244115279467502586781385503682409515629215940410368\",\n \"1\",\n \"1\"\n ],\n \"2705691932771697940659674233102491409021190445035438822892774635728674044869\": [\n \"16788101785796484724028724242896432987856199966383194330072491274787492970723\",\n \"16354829113418752052573669202254337741094214348073236724876269512900750496460\"\n ],\n \"5257188054047163246703452582896577317478022446150753151382080235893761954090\": [\n \"12572572157223973017455104073690272586773139840243901859353687996753718107610\",\n \"1\",\n \"1\"\n ],\n \"7940933932173031665742363318988062265333207384601983474041130587542823095418\": [\n \"13655538938470894626584933533930673675032794859701698945032830171236607319484\",\n \"1\",\n \"1\"\n ],\n \"3019347260337707996036130002601541616586829066000776633177584762341352229045\": [\n \"9013702148418298214538334519611598882941848192394154629109634628652975563743\",\n \"7940933932173031665742363318988062265333207384601983474041130587542823095418\"\n ],\n \"20834257395023546562623737497398467680386871398666782134449348155523495412315\": [\n \"0\",\n \"3019347260337707996036130002601541616586829066000776633177584762341352229045\"\n ],\n \"3560209231398579617349729148721315272172073789469849649584034988941252181376\": [\n \"20834257395023546562623737497398467680386871398666782134449348155523495412315\",\n \"0\"\n ],\n \"11203358384232588479612797596369761569025745637340575411322876179508661791165\": [\n \"19312512510465222692893224837014924392145229362146649932354700928608228750222\",\n \"3560209231398579617349729148721315272172073789469849649584034988941252181376\"\n ],\n \"15833012307496983135134004278585208046659254600991757812050456284531635816369\": [\n \"0\",\n \"11203358384232588479612797596369761569025745637340575411322876179508661791165\"\n ],\n \"13733407977047874586460161233682499231925900801930561195985006578056613426658\": [\n \"13704920952619209719183738806623814917671055262104040013383507303058169524741\",\n \"1\",\n \"1\"\n ],\n \"4847752887436871286468891762465920620104724766664128190166914665812992559358\": [\n \"5175728299419738589239806624669869394368459632621604858715204710104976571664\",\n \"1\",\n \"1\"\n ],\n \"1798549830019094125148783244310477874914255742861655673423205776933256566065\": [\n \"17822193254736416858061330672668010291930993257959097617331895638216813463320\",\n \"1\",\n \"1\"\n ],\n \"8430672164696779498929517271249259359907395111537276415154960634826217541560\": [\n \"8602368189233984906327487212064199634320933664928555144671697416243254237051\",\n \"1\",\n \"1\"\n ],\n \"20264026060578971891032069987512880065624398654141725851471456367234536787863\": [\n \"19121246600408109470354966469201818628573557888172957109109499535028044363709\",\n \"1\",\n \"1\"\n ],\n \"15196165823449537630088384779005579348004313623252038675741127128806999598643\": [\n \"4883911055219358971257795339499721372663553269036881497385172250936627323092\",\n \"20264026060578971891032069987512880065624398654141725851471456367234536787863\"\n ],\n \"21696108368479716569924820676477342074538678256635859017007970155977313137407\": [\n \"0\",\n \"15196165823449537630088384779005579348004313623252038675741127128806999598643\"\n ],\n \"13288623546606575233295256359388048848386935827945440831980020064229241953554\": [\n \"12711472013881705590372014625431642302408272996061986903336383508091297507237\",\n \"1\",\n \"1\"\n ],\n \"11070408538396566336938677503444402650338600696101222158399568037371662103730\": [\n \"3981424333213728423981172013148333770902235646948166829747856579908543943450\",\n \"13288623546606575233295256359388048848386935827945440831980020064229241953554\"\n ],\n \"14622571022625293078175660237613308690522129024309459754427351739108585765524\": [\n \"11070408538396566336938677503444402650338600696101222158399568037371662103730\",\n \"0\"\n ],\n \"17763137516748110967834137259044442340151363075346083670535703088295988223609\": [\n \"0\",\n \"14622571022625293078175660237613308690522129024309459754427351739108585765524\"\n ],\n \"14595303856610802611363061156740025939052662790283762634870296279283103296885\": [\n \"17763137516748110967834137259044442340151363075346083670535703088295988223609\",\n \"0\"\n ],\n \"1865843337064819679857377889722447655088080945692716817214526166156497197614\": [\n \"14595303856610802611363061156740025939052662790283762634870296279283103296885\",\n \"0\"\n ],\n \"203652056161309590877719745647278163492272492663437766509103953126075554820\": [\n \"14635708353777705369198974559141420371655923980170183792778089807496012675401\",\n \"1\",\n \"1\"\n ],\n \"12798677175081113841765674346488057559480589623269964559637362173802871292087\": [\n \"13104066019519393007686262503402112119898602739408507388890841034184589561513\",\n \"203652056161309590877719745647278163492272492663437766509103953126075554820\"\n ],\n \"14954491720796698327016538012355896884638703173319976376498255990844464517735\": [\n \"13953321901153229871576040665686229104444327783311839006104066366359055035026\",\n \"1\",\n \"1\"\n ],\n \"20758172801140351188410160514940908716177510594521449391411109410307543610629\": [\n \"10963052728631151621952907535066888694519540303324703202818525887818863535302\",\n \"14954491720796698327016538012355896884638703173319976376498255990844464517735\"\n ],\n \"4874910558630805129938092056019191868019773671181125194168851095270451373088\": [\n \"20758172801140351188410160514940908716177510594521449391411109410307543610629\",\n \"1002495738175113552900313082810300300601747394138301659497559136557675331815\"\n ],\n \"18265770285291656902803904999440786222183972742145405685392988412060783237531\": [\n \"6837207755017079663484321269753972357318794581563523299003717007234562561883\",\n \"1\",\n \"1\"\n ],\n \"16740532963541170107712852060414076852669924905775719011965234862504320708695\": [\n \"3073258367261491145630114201985243755304496397231783495789726863368274313046\",\n \"18265770285291656902803904999440786222183972742145405685392988412060783237531\"\n ],\n \"10596148999176617275812067975377749741212887537826590673489263038684952737008\": [\n \"19938800899991411916091504900071915366378567590601975451124935636190106143204\",\n \"1\",\n \"1\"\n ],\n \"8168077964854714627045925942224479966078979019311658540489260471401642414618\": [\n \"16358564027032530453843100523434772613238405976022818892325577875621218090922\",\n \"10596148999176617275812067975377749741212887537826590673489263038684952737008\"\n ],\n \"3517895759310463136361921381192919175189721221342644511668137452019120336882\": [\n \"0\",\n \"8168077964854714627045925942224479966078979019311658540489260471401642414618\"\n ],\n \"14473716282164221676457713821743769918721257458854580637761303549332538193295\": [\n \"3517895759310463136361921381192919175189721221342644511668137452019120336882\",\n \"0\"\n ],\n \"18444831036348788985039461638227938693183764651566781508150505239007676866626\": [\n \"14473716282164221676457713821743769918721257458854580637761303549332538193295\",\n \"0\"\n ],\n \"18843356039428039555527935809200534301523415454922409051710075094722181143604\": [\n \"9316824445537832128726492904271073786448782239426560154830740636510168297007\",\n \"18444831036348788985039461638227938693183764651566781508150505239007676866626\"\n ],\n \"21758089872564220485807590980723053683027117822438299507627736129631563047907\": [\n \"16526971632785784374401796474321696925135208809921032184966314375986858591444\",\n \"1\",\n \"1\"\n ],\n \"12256840158589794143162782390576593997404817773508244769881248279577042574531\": [\n \"10746704121336646362086261174707686087832644262429340416429060977395704089634\",\n \"1\",\n \"1\"\n ],\n \"4008592441758631481678851651208236911739870405339053237477558819215070995334\": [\n \"8753534855075403355591964961872863097954858750757810127080749291792471540990\",\n \"1\",\n \"1\"\n ],\n \"1907593152361576566758979071842902523023310533519709964052519143999574199122\": [\n \"5985204456850570042228769444317781594335176680800214102189241960445221420774\",\n \"1\",\n \"1\"\n ],\n \"8873868338045458332069748029868718695828489430069746232785105290439082002306\": [\n \"1907593152361576566758979071842902523023310533519709964052519143999574199122\",\n \"5020728723341564675612500103802415818068458620608291932804157772979317240455\"\n ],\n \"9164768125806787034831095565747551955230739589406908328619795162313726891361\": [\n \"0\",\n \"8873868338045458332069748029868718695828489430069746232785105290439082002306\"\n ],\n \"12164926892945836633795725517608124291108653242429810629309664556293812168112\": [\n \"0\",\n \"9164768125806787034831095565747551955230739589406908328619795162313726891361\"\n ],\n \"19216413006068551385392110645630734243785153507115818577647188295674180615608\": [\n \"0\",\n \"12164926892945836633795725517608124291108653242429810629309664556293812168112\"\n ],\n \"18158551467267783520346543147276252251451837240920327747833458387347975302354\": [\n \"10981401351352823315399274234975613140994690137946217764705614544018901444441\",\n \"19216413006068551385392110645630734243785153507115818577647188295674180615608\"\n ],\n \"13805232261552442891242779912792308027324475045104727254064807262032757661056\": [\n \"21856067107810398245482885199521235444274277525203265632503516863774361801793\",\n \"1\",\n \"1\"\n ],\n \"14681044464335298756233541107459032919768864158299094897798815052392323111136\": [\n \"4854237858313286028965113903471188319488159721509951897239340127853618525436\",\n \"1\",\n \"1\"\n ],\n \"14807830865925263727245944905074853162080852787240677761161221415160188642787\": [\n \"1142090755332805129485816621551618992436523543180235400328221283293826593389\",\n \"1\",\n \"1\"\n ],\n \"19086688429553499445789619558385947245282095738785487474314485673068361023036\": [\n \"650789457724793053292492507972878412951861876575139855103629845591883992723\",\n \"14807830865925263727245944905074853162080852787240677761161221415160188642787\"\n ],\n \"12995276172818378795584170703825298048689966163877615400260936695587642697819\": [\n \"11000874885449395962208502957177349168229422136395076187584617147468989719567\",\n \"1\",\n \"1\"\n ],\n \"7749805061767656334278253570405634240207515603783396415069952943507769498477\": [\n \"5872216132289810207239609729910272339474150611333672822858197897693080242212\",\n \"12995276172818378795584170703825298048689966163877615400260936695587642697819\"\n ],\n \"15631263196815203998433730499839491323949965915463167952862694050508702054470\": [\n \"0\",\n \"7749805061767656334278253570405634240207515603783396415069952943507769498477\"\n ],\n \"20550133080768582181246130635908948633025374813489359718659186003561276710716\": [\n \"19071659207908111259285416596229348887089693885976271418554502155146571949667\",\n \"1\",\n \"1\"\n ],\n \"6874990036290982401375735094791101241636673374714926874718184207172236277036\": [\n \"20550133080768582181246130635908948633025374813489359718659186003561276710716\",\n \"21370986376531307511171221921867963054008861693557806250100583766382055860084\"\n ],\n \"1164863978075824772162469991893182970762731979884157414384049313277126559521\": [\n \"6456858645715991815098558402610851152060561829939778924530220275065467957267\",\n \"1\",\n \"1\"\n ],\n \"1503323171875831904497640256631962648210487648467875947785458000621273717818\": [\n \"15894910996232035411287557156707703375231523024596285800587787404454671576345\",\n \"1164863978075824772162469991893182970762731979884157414384049313277126559521\"\n ],\n \"6764889823282624847453429661087580272918123470533707257806111306543288938163\": [\n \"14577542441278416334815932085704757157281266709043786602660086821217190507376\",\n \"1503323171875831904497640256631962648210487648467875947785458000621273717818\"\n ],\n \"17391176924800311130032809077559795259661714718481170106113533345182044965058\": [\n \"10233235284167449366376610994878931621309087456059115999651686606860287617184\",\n \"1\",\n \"1\"\n ],\n \"18158497828213602264896022013643445711080977636046821359678606678622007615311\": [\n \"20630197514431255145789558462246029311410219021990171315660378558626742921326\",\n \"17391176924800311130032809077559795259661714718481170106113533345182044965058\"\n ],\n \"21504481218019914210769154047176048107237478916747791206986371906744639527318\": [\n \"18158497828213602264896022013643445711080977636046821359678606678622007615311\",\n \"21138849726171713106396815794937748963721042363021802398932093100896035668959\"\n ],\n \"19026445982689631178416140089748977031252471043514809848828797924050185855638\": [\n \"0\",\n \"21504481218019914210769154047176048107237478916747791206986371906744639527318\"\n ],\n \"8981619907877819483625815606557906725475101264218166394375916537979346256989\": [\n \"615519080818432863807305356826207102627887939932474899982356171910838428807\",\n \"1\",\n \"1\"\n ],\n \"20719412024600165591287866369755700055071954749996041912565009568330127274197\": [\n \"8981619907877819483625815606557906725475101264218166394375916537979346256989\",\n \"13387205378843504867079034080270687734945582333426506149034703786559026878069\"\n ],\n \"16256856813256188303087350717139797013638154167894615118158286850000615663378\": [\n \"20719412024600165591287866369755700055071954749996041912565009568330127274197\",\n \"0\"\n ],\n \"7678215748646930460341612342144924358142774301389290205244156899712060940848\": [\n \"10087456392408486249880862135538250415505157029827140086835670424013738145259\",\n \"1\",\n \"1\"\n ],\n \"21813371047339605935000303568391881104531203819688035312052716931774568589986\": [\n \"7086650016603606913221214337940259452594949400254766066952923061684820648427\",\n \"7678215748646930460341612342144924358142774301389290205244156899712060940848\"\n ],\n \"12661849330103739632550835900841852620424257033576250356810924743654157831186\": [\n \"15206069140156212115421566956970130328566763972678976436013842386352847485248\",\n \"1\",\n \"1\"\n ],\n \"19572619696764896980701967225419879918102285940389077387294819441836100413148\": [\n \"4975993186935517852576671287796683441758007300400016844718111970251760700180\",\n \"12661849330103739632550835900841852620424257033576250356810924743654157831186\"\n ],\n \"21389500574511331683754704859659533436649367943577440739062041116337339994942\": [\n \"18246825992020618144316204195907068903582654736638087947501064503377989216482\",\n \"1\",\n \"1\"\n ],\n \"17894777845203012121715851136761727120388767808969442545793007592576684450967\": [\n \"5587411712676753795625726892962236277820111098010278674216234814413044159039\",\n \"1\",\n \"1\"\n ],\n \"16188259442530930338635660746572787792046311740105267595650332901817505879998\": [\n \"13979810534982897324112230878454783073086446319958715058206320301412530351617\",\n \"1\",\n \"1\"\n ],\n \"17793999409654244828865409673760318431453082609773168497396209537383389529735\": [\n \"16188259442530930338635660746572787792046311740105267595650332901817505879998\",\n \"15944432934307626243517208349891562449937201613667140778992295981294975103449\"\n ],\n \"3011298220451696300719063600005544382126423891207749175443440130636813529077\": [\n \"14812937444758040884316005944630146734241079742783545922125463451561546005919\",\n \"17793999409654244828865409673760318431453082609773168497396209537383389529735\"\n ],\n \"8309520140310288951485596060917942138253911568280890189354402079088510382444\": [\n \"47504189049564005559420224314972813077279326521864900889560492822002313609\",\n \"3011298220451696300719063600005544382126423891207749175443440130636813529077\"\n ],\n \"4780070875079631891066641770642906065153159956535444089273459201828091285187\": [\n \"15472675713226940462744287836238451513689841053430438693063863904848187927852\",\n \"1\",\n \"1\"\n ],\n \"4061589292361195455747222793774746579486037226409803192175102791785474864567\": [\n \"4780070875079631891066641770642906065153159956535444089273459201828091285187\",\n \"7387146428213901157345089654924357008401656869306147351855274438266160906745\"\n ],\n \"9668518925631237218808370869443329930161253360283750209760115710530889479583\": [\n \"0\",\n \"4061589292361195455747222793774746579486037226409803192175102791785474864567\"\n ],\n \"1198691323855201758276769521609765827720658586678881578471259827288808625359\": [\n \"16413152558295709468149653625677185665635785925106901821394694628423548759992\",\n \"1\",\n \"1\"\n ],\n \"4079966258242408223810945397539256903960155815256445430839287747486480001421\": [\n \"4843797697250505602557681555561082386859693792459213685063574302620281011359\",\n \"1198691323855201758276769521609765827720658586678881578471259827288808625359\"\n ],\n \"11154246390255232198997790451517497993718896606579715684587348386918370671670\": [\n \"5271346964592555470483017586785221062672681087710841782792528360424506740723\",\n \"1\",\n \"1\"\n ],\n \"14059494268556836577173617619174324383593009124259722793137348724136584508039\": [\n \"6947526883935893738063810234447771880685926429536771842526249758163172501493\",\n \"1\",\n \"1\"\n ],\n \"11136914756389898910108858895426648642347416152564494686498742326428334046112\": [\n \"1212027825207518834131410639436183806497515486391022894362774177024912352595\",\n \"1\",\n \"1\"\n ],\n \"1551373445634037474074832622778026689308929436377050370867641215321670919188\": [\n \"19423854167383058915643975723220143719562653592832228127035127885630964961853\",\n \"1\",\n \"1\"\n ],\n \"10770464496937307188904520766083943081680954988395795062832867199392002099691\": [\n \"9720613777935205905853876156688106639879307709775751488794865770701434461395\",\n \"1551373445634037474074832622778026689308929436377050370867641215321670919188\"\n ],\n \"9746222378125195520201163429946986205336911381458488788462880943639506115247\": [\n \"6380352429231666674301596670269052888781344767876085066355980926704754727721\",\n \"1\",\n \"1\"\n ],\n \"665842918496310858938761029312621479841586752317515726804237432350566382591\": [\n \"9746222378125195520201163429946986205336911381458488788462880943639506115247\",\n \"3804233466380443134482731516094545075408156708128567193496309804807623485167\"\n ],\n \"17484953042749376139825513271995419341173193865075519254286434594278909587689\": [\n \"665842918496310858938761029312621479841586752317515726804237432350566382591\",\n \"0\"\n ],\n \"10927217640598869881195077140558549508172210669799238794918590194201610692042\": [\n \"1287853262142923922775361766120442417204860788366794269271297711943002145144\",\n \"1\",\n \"1\"\n ],\n \"5759116660821663201420681729503964467003232532825565001624309526724313455128\": [\n \"10309664939085854278658430642906360433129565686682276532185609103238777812728\",\n \"10927217640598869881195077140558549508172210669799238794918590194201610692042\"\n ],\n \"7988580301819805719943170784662388226633998945925599394522406874996662269784\": [\n \"5759116660821663201420681729503964467003232532825565001624309526724313455128\",\n \"0\"\n ],\n \"5659019582786546484870478277749152238437464934103758354488944851574892165999\": [\n \"7988580301819805719943170784662388226633998945925599394522406874996662269784\",\n \"0\"\n ],\n \"19026632123549968087434782039229651295435916107842919224655380540239901545449\": [\n \"5659019582786546484870478277749152238437464934103758354488944851574892165999\",\n \"665359109112952699380376887033879023375204649490635503030800098144658631743\"\n ],\n \"10228885070799730083106044008080495474876045285974456198005276825294659367681\": [\n \"12121836758031244212830100266186981100180760474778791871495106018370849560795\",\n \"1\",\n \"1\"\n ],\n \"19637559083359614662689731426849509174078771570704919902492720340425081938677\": [\n \"1073419587723656129693618594702371611358077943976204943126274820662486899125\",\n \"1\",\n \"1\"\n ],\n \"6865861091959987768926794046540495346485615194664063124088258835983904885812\": [\n \"9867896110578825692108006676999849792993899805279807719351188920815407858480\",\n \"1\",\n \"1\"\n ],\n \"499455473648117902681974889987847097081117182229397200853131956077542758425\": [\n \"3967752682528920237385247981910171181034717316705437037928563388375039911113\",\n \"1\",\n \"1\"\n ],\n \"6014331165035593625360509751781010778707119409784685262648855473336132058403\": [\n \"1964893383563167779822040222821236834454577423076417490956211076829461716868\",\n \"499455473648117902681974889987847097081117182229397200853131956077542758425\"\n ],\n \"5488551517514541946910679593383776081408779381162618069111390100177499302962\": [\n \"6014331165035593625360509751781010778707119409784685262648855473336132058403\",\n \"19192603867155163683577129009647120917432892731953474850812347541478737032579\"\n ],\n \"1209611434310817686959234999441323536860947366510195772840804912004578922624\": [\n \"9807671083623208507091060606003652326305479164378918493030635672547346476049\",\n \"1\",\n \"1\"\n ],\n \"14772145820377291551324778949560109442784015470067651572747340656881152685714\": [\n \"5777123449444490046958734523581447311059747426163543216333189926314133877746\",\n \"1\",\n \"1\"\n ],\n \"5825182810166847183463392995023297481661517956492569587847445775198919660857\": [\n \"21727473849846002707045301573652621545639009191446048498091170842818967501258\",\n \"14772145820377291551324778949560109442784015470067651572747340656881152685714\"\n ],\n \"21314442693258484831486194451820218076123659265120177709759041305614170883025\": [\n \"4811710856764955861732194563163859857105769012426807646967032412961065997565\",\n \"1\",\n \"1\"\n ],\n \"17606279234351641669114626441711540192166881654969118950351785747076763635843\": [\n \"21314442693258484831486194451820218076123659265120177709759041305614170883025\",\n \"12874879162857716049495865949627599827472851120713783368948492319305518297985\"\n ],\n \"21788349914040096860898180403880109703589806132693592593390580670261909031221\": [\n \"0\",\n \"17606279234351641669114626441711540192166881654969118950351785747076763635843\"\n ],\n \"15687921580838206643889060155354287680007860271044826142203899635544001835346\": [\n \"21788349914040096860898180403880109703589806132693592593390580670261909031221\",\n \"5115538719661119880116625644537472814550520619609428167536916703334717815733\"\n ],\n \"20005192327799864000417861997244200856768140736339168125652298828677219608293\": [\n \"19845707231186482137963276073156273568302381857396460710653642832272809217401\",\n \"1\",\n \"1\"\n ],\n \"11088058424737387156374776705024133163780468942623751155187396955634795640533\": [\n \"19105984999025750557878959671330382278903794663305784088906812746527182015327\",\n \"1\",\n \"1\"\n ],\n \"7462691208488804287315108420849013619604939557794223167097694474417476711352\": [\n \"7058366505116863525700033543950851971405473177790870158461200073955196076342\",\n \"11088058424737387156374776705024133163780468942623751155187396955634795640533\"\n ],\n \"10349794366606840063980247084215489460020400951218468509839159901987578062617\": [\n \"17252062935431787899733000954759353617065015326782378991561258881601037942825\",\n \"1\",\n \"1\"\n ],\n \"11623793685160626107289949780920646448533200012297333948929355091303134623304\": [\n \"12002535600906865158969251738496873545535505502256373061990129210440983816163\",\n \"1\",\n \"1\"\n ],\n \"14437474317488332626633658673296127848223611349470344287135828680406063398349\": [\n \"17645332328175516472657555429139915963633980318464859796458441996472290734868\",\n \"11623793685160626107289949780920646448533200012297333948929355091303134623304\"\n ],\n \"14805929757543848249836706251030958084206683627719255485406652904929430639107\": [\n \"14437474317488332626633658673296127848223611349470344287135828680406063398349\",\n \"0\"\n ],\n \"5158201667085830546531254720831385363449709833513423438457875315760674067535\": [\n \"14805929757543848249836706251030958084206683627719255485406652904929430639107\",\n \"0\"\n ],\n \"21400108988049218789529317695040443754571887137231745992360457443683060766738\": [\n \"0\",\n \"5158201667085830546531254720831385363449709833513423438457875315760674067535\"\n ],\n \"5105252305820835372892490062239724811337965676565499338230534309936126050534\": [\n \"21400108988049218789529317695040443754571887137231745992360457443683060766738\",\n \"20407611571994271269787164070134506848390986244496488287870259847785214293315\"\n ],\n \"9257914777846414346955606086587698788369926910419621364784787410955611661259\": [\n \"0\",\n \"5105252305820835372892490062239724811337965676565499338230534309936126050534\"\n ],\n \"12446999824891215559275374091958295044034783842022829622339909630296629129530\": [\n \"9257914777846414346955606086587698788369926910419621364784787410955611661259\",\n \"0\"\n ],\n \"15857150233880228996479860377649083604339221128863071884004774121369398992941\": [\n \"12446999824891215559275374091958295044034783842022829622339909630296629129530\",\n \"0\"\n ],\n \"20852723184689735280606650082642596490595864079241798600344136375715550074558\": [\n \"420329003494371006449831844623790954411821475962067830850497351490930620086\",\n \"15857150233880228996479860377649083604339221128863071884004774121369398992941\"\n ],\n \"14088052673252175980819207268209313048803006517387535579077848276405406497092\": [\n \"7781959452052841798475281818429189613996936235811348746236373800240106296730\",\n \"1\",\n \"1\"\n ],\n \"9644445409089770378526653021994682955092108937748508332316460729187596839586\": [\n \"1846535302708921739331866054458867977373664975342246128583103325263517555104\",\n \"1\",\n \"1\"\n ],\n \"10140001940681021941520232803682499224227401508142400354005618054374209398296\": [\n \"9644445409089770378526653021994682955092108937748508332316460729187596839586\",\n \"19761458207047205962907669997511090107371826556947260213833592319159765907768\"\n ],\n \"14679187688575315951602909887849382563843223810738370652272088586243302315441\": [\n \"8795419802797055578600540803612331999102679405445655521348585100565903522482\",\n \"10140001940681021941520232803682499224227401508142400354005618054374209398296\"\n ],\n \"8336265197372473711582803347144205830630243795545777589504269994124094989836\": [\n \"8758167603686868737275543716608276065287495291814123739460393117142117888326\",\n \"1\",\n \"1\"\n ],\n \"315673398529611594691886560473698231221171310955106895286653915484803002328\": [\n \"12963502148033720223967558327733517348804341376291103442456213821214971565308\",\n \"8336265197372473711582803347144205830630243795545777589504269994124094989836\"\n ],\n \"9074980401509957525872395096920062052961906844934939922854153179880031258128\": [\n \"315673398529611594691886560473698231221171310955106895286653915484803002328\",\n \"12417815498348258683040928620639213028071091528493844080928920510588099646100\"\n ],\n \"14155809059219592286871646216230981895746533393782438176927939387008609022991\": [\n \"11453041014218467173082329023962845316314174259502687742808079097944505088029\",\n \"1\",\n \"1\"\n ],\n \"11722943090441036055726784746027815424493888428850872893502165321807729167160\": [\n \"14155809059219592286871646216230981895746533393782438176927939387008609022991\",\n \"12972500630458660017139802810236197449776282775650824064830445548106715561193\"\n ],\n \"12550705527948997203919332781509389592965951581937639580931483585122934086304\": [\n \"0\",\n \"11722943090441036055726784746027815424493888428850872893502165321807729167160\"\n ],\n \"10719429620454146368895023828027088140416365785519555915125005997855610332148\": [\n \"0\",\n \"12550705527948997203919332781509389592965951581937639580931483585122934086304\"\n ],\n \"7300963072500324523696426416410407185166436433420535415490203364634502227450\": [\n \"0\",\n \"10719429620454146368895023828027088140416365785519555915125005997855610332148\"\n ],\n \"19840053880095797515384615700901560779627963008557195436948962075946904847744\": [\n \"0\",\n \"7300963072500324523696426416410407185166436433420535415490203364634502227450\"\n ],\n \"18153638531770039850719767660719493153163948720668298643079750166700093702769\": [\n \"19840053880095797515384615700901560779627963008557195436948962075946904847744\",\n \"20883207149809305735377728240167646793327070509144639670219264763245739823503\"\n ],\n \"2384778449957313440671211295843691005054832461003802313386419395194402868340\": [\n \"19695895558894155950581997755025417382651671318647737667962754610675788828604\",\n \"1\",\n \"1\"\n ],\n \"18121141492043854752059846774544053402160057605657601471257511404374720358188\": [\n \"2384778449957313440671211295843691005054832461003802313386419395194402868340\",\n \"19908232653816248072278727590389716703523102683430833407531545732144778949807\"\n ],\n \"4966670276873795216797244556336071018294935824638474911022231366192578285581\": [\n \"6860504929976299263473956382302864249969877836430471576821597663360900496661\",\n \"1\",\n \"1\"\n ],\n \"21694038468371536227413870127572899646754875360606429096009064552793648197631\": [\n \"20593706464328065266091107073298649277083559102577638723659982377638862600014\",\n \"4966670276873795216797244556336071018294935824638474911022231366192578285581\"\n ],\n \"10019815530782411681139865452269432849330954419046861887521810501314881870728\": [\n \"11359339225122764144481551180240170003279830871020635141969292410442010468022\",\n \"21694038468371536227413870127572899646754875360606429096009064552793648197631\"\n ],\n \"9758601801972886465358533855061232330312543375248743797045613484543274501106\": [\n \"21721607723137948735485193818108431515310111569869340782552621341747597178295\",\n \"1\",\n \"1\"\n ],\n \"2960600925251485430868632618076257810748816136587279226479018606410730885654\": [\n \"9758601801972886465358533855061232330312543375248743797045613484543274501106\",\n \"959245807813095027454048337871571491884384797843331617936622095633575442797\"\n ],\n \"17319692284823826932198392005776177231486760883817543694267338109475348869152\": [\n \"0\",\n \"2960600925251485430868632618076257810748816136587279226479018606410730885654\"\n ],\n \"17897463093922469868740101562285917070968403963860917036797594388008438309046\": [\n \"10727862810248797831479955258884669819395157888815805009845857135031522478701\",\n \"1\",\n \"1\"\n ],\n \"21448290836794423558530569982622399728293002043007000036439983369003620487726\": [\n \"19086688429553499445789619558385947245282095738785487474314485673068361023036\",\n \"17897463093922469868740101562285917070968403963860917036797594388008438309046\"\n ],\n \"8345996636374781164479848370735696494781786367913885857728572643950463194164\": [\n \"10172127749081291906627051738628212851536350655677918854594679980404817168878\",\n \"1\",\n \"1\"\n ],\n \"18187562400234857438735750566104363695819136588539414950424852649904876605315\": [\n \"15692521372766351214958993678867534704624153929139849663408908911292518662016\",\n \"1\",\n \"1\"\n ],\n \"17041360169312670910153445007058230953969245903874897063336268123223261882917\": [\n \"8599852143746125657668828778377687707872071586877702748209105646099285954936\",\n \"18187562400234857438735750566104363695819136588539414950424852649904876605315\"\n ],\n \"16208528898512564398855698767892820959180033032877721287119299570719788899166\": [\n \"5891269048482584778843575282364715843873083554795060490383307853625123571474\",\n \"1\",\n \"1\"\n ],\n \"13878990233768095383817553490904803466508906519910440644967751245544973422592\": [\n \"11377278593075616366432462478629371105850718789496013901869987804702918460154\",\n \"1\",\n \"1\"\n ],\n \"16197184791720639007235745265374766230638741782468589573466103887645257552374\": [\n \"21815782690605427145355138626664683226163568364115862823389553370107463207504\",\n \"1\",\n \"1\"\n ],\n \"12072624802239500403917897215117379991644767704075887138357929084588763903603\": [\n \"9525589108307609932357850294360346739903377981637552364100515203619610709601\",\n \"1\",\n \"1\"\n ],\n \"15228154914540380461408269199498766416564703732372614423228923591686718340553\": [\n \"12072624802239500403917897215117379991644767704075887138357929084588763903603\",\n \"7461642773633498705491908557530467895251186932609875350696036732364903478378\"\n ],\n \"13611217128307646317170296759405620225645909450157913884430411556829888120368\": [\n \"15228154914540380461408269199498766416564703732372614423228923591686718340553\",\n \"0\"\n ],\n \"13749521929307177485131967796561634738301350137132120921991785755537736944946\": [\n \"8309252100533179717441968162539787397475362421569787110509597271888649817329\",\n \"1\",\n \"1\"\n ],\n \"13012570795515989550448744616602450313774222497193366143149761854634023072254\": [\n \"12588469968409522627770647220660370761365774759307696228550579550984057713906\",\n \"1\",\n \"1\"\n ],\n \"18614803969913220377456043511490585629904030306372859296219863663218908007664\": [\n \"21189002881747173049082594673591321364330002971886773757904107501681233218748\",\n \"1\",\n \"1\"\n ],\n \"1160248159847812861093702385210708129302684016195059893620543413510217943148\": [\n \"8635100133299880569076816200684386055925198137451363942323749362781457448739\",\n \"1\",\n \"1\"\n ],\n \"7781110004250090176036440324950382807880313203955391047147969473005729880565\": [\n \"8868659852389780587126701554574800555883305726181244558304076939884005511171\",\n \"1\",\n \"1\"\n ],\n \"4128822648012776242113501532427144107128687327108657585152967936196204400198\": [\n \"7758092211673118262749139351425955453039266969985998538074616354247415954909\",\n \"7781110004250090176036440324950382807880313203955391047147969473005729880565\"\n ],\n \"16111322282923014292781442385447789559236825584575686265653755874256667816570\": [\n \"11049962013531648257073714818443679180404487584561417687378301951907972146045\",\n \"1\",\n \"1\"\n ],\n \"9667880479169594808193502819242210205255716517272896301339286008927560611272\": [\n \"16111322282923014292781442385447789559236825584575686265653755874256667816570\",\n \"6395261780477669655966363242186903639300949232104123181565777556058195798986\"\n ],\n \"10448167383479079401746506388994069308296942837235099145666406072358693203606\": [\n \"11386907973943717297129922232492519902945323467580064737656380899088684976978\",\n \"1\",\n \"1\"\n ],\n \"3231042771713870021148250611978010407208219514554340225603991106036943347231\": [\n \"10448167383479079401746506388994069308296942837235099145666406072358693203606\",\n \"10286848869008683509650559097713067043222449714032226275990589838390162206081\"\n ],\n \"7403221548188308435809948336997843643501261786681826011228206766482285831436\": [\n \"0\",\n \"3231042771713870021148250611978010407208219514554340225603991106036943347231\"\n ],\n \"9290743169252028081057105537549824506417549588304741650075549997211386370002\": [\n \"13810321783429248149386176757913266193980141328817541110426283729222064167535\",\n \"1\",\n \"1\"\n ],\n \"17525674119032696740572612688582525440919476229977388313560089685824297765156\": [\n \"3398358653017246250151471338737267169666806174557903254244950225852384373468\",\n \"1\",\n \"1\"\n ],\n \"14654990890629838575389051134634106099829673529426742873722266335140573382787\": [\n \"17619998652339401784526402183891180375895578196751841384830611979839052589007\",\n \"17525674119032696740572612688582525440919476229977388313560089685824297765156\"\n ],\n \"10142589317652517558731624620970338521015526705670093800102474207038419111703\": [\n \"14654990890629838575389051134634106099829673529426742873722266335140573382787\",\n \"0\"\n ],\n \"16913211254328899741886705593000585189627114509302052010100972706369304659657\": [\n \"17528873189602155147783112230666932416857904023225561996990927282088585333050\",\n \"1\",\n \"1\"\n ],\n \"1054996196621377010064035020339778717210179058484688366361325983088728576850\": [\n \"16564874032251702141171124159320059530174593080341763118821546462788116459272\",\n \"16913211254328899741886705593000585189627114509302052010100972706369304659657\"\n ],\n \"14217461906575549331705095049079390520317103217693928744027372243951131680587\": [\n \"1054996196621377010064035020339778717210179058484688366361325983088728576850\",\n \"0\"\n ],\n \"12072658951064418989342173172222415370356827029200865702947306378579153792914\": [\n \"6053226526366678622333171286360659977842939185023925868698521640325708384252\",\n \"1\",\n \"1\"\n ],\n \"1061215564890252798700209855674039982646279433582364504477728000416687734980\": [\n \"12072658951064418989342173172222415370356827029200865702947306378579153792914\",\n \"18963809721840676391928549782790767925065436218310297043349883290511227279518\"\n ],\n \"20915062053662123779176307890851031128753524319706171500475061910279492422473\": [\n \"19618417947045576263653291869943261915821942191956900080578498465939863899355\",\n \"1\",\n \"1\"\n ],\n \"4338664331871573046501297324987228968311314589839818797311054518805215582977\": [\n \"20915062053662123779176307890851031128753524319706171500475061910279492422473\",\n \"16524329671731764716237028850924042906276424850231305740067458372898030046422\"\n ],\n \"14610244316920824418770043910804050324556724359500861770808520099309910497568\": [\n \"4338664331871573046501297324987228968311314589839818797311054518805215582977\",\n \"0\"\n ],\n \"16642806384901108275226996267839419179766606655963745160519975783024086766365\": [\n \"14610244316920824418770043910804050324556724359500861770808520099309910497568\",\n \"0\"\n ],\n \"7150769109312718176322928487618662968803940674814698496840431113346644776444\": [\n \"17969065999674290624797051792655051011168915675935628902028173289309782037320\",\n \"1\",\n \"1\"\n ],\n \"8780606920251736136545445214590610590779569373458553265250579632116726758683\": [\n \"14347333801626491390534076736902790897681784699987952144558472664064971624004\",\n \"7150769109312718176322928487618662968803940674814698496840431113346644776444\"\n ],\n \"17315675069129740174815143750922772133402587606620724176366130106421160102606\": [\n \"8780606920251736136545445214590610590779569373458553265250579632116726758683\",\n \"15214032472858364882216758783682238374813543550944071831781137467066956492834\"\n ],\n \"2575536474821156249248035455828477467410324734532994992619094373851723284209\": [\n \"0\",\n \"17315675069129740174815143750922772133402587606620724176366130106421160102606\"\n ],\n \"16042897554007746696050626209530782814263319482981923542576643519414825230392\": [\n \"2575536474821156249248035455828477467410324734532994992619094373851723284209\",\n \"10602245664595815999004489707583704820260927590597063830576963743578895851813\"\n ],\n \"9001541719210256716748399946204271516070763304508255676227096219603876401493\": [\n \"16042897554007746696050626209530782814263319482981923542576643519414825230392\",\n \"9115731670015971429511449297315840387364453909057238766244996777115077341135\"\n ],\n \"14470959854525062785117185642697515103597209833615052619750069875161845406854\": [\n \"5573834368648820349589553309969784103648596954664749759768519288243507295126\",\n \"1\",\n \"1\"\n ],\n \"563473130082676469943420121150652059955296908091223541961393452791070710117\": [\n \"8860880692241947160072953602336089658006027116786455801020181471976212369010\",\n \"1\",\n \"1\"\n ],\n \"9287659676412592142880913160743987965562329131946525733546946968298221203594\": [\n \"19599499900677864158924272613266866871263586107259405227660752736935817120016\",\n \"563473130082676469943420121150652059955296908091223541961393452791070710117\"\n ],\n \"11563757169159018771460383901602997463402163030300318936413133989681997529587\": [\n \"9743676671964973992088986853199084269347720729623612644731929427266253451446\",\n \"9287659676412592142880913160743987965562329131946525733546946968298221203594\"\n ],\n \"613034434288183943171460412033868757820116176409785828779260499344337783304\": [\n \"3399569836559321723973562231078243338567619678927701675654899375543489343901\",\n \"1\",\n \"1\"\n ],\n \"2622162377837017111750675993547463555530935414322014278633962794257155044417\": [\n \"613034434288183943171460412033868757820116176409785828779260499344337783304\",\n \"12670399017034763303092155566761973111644928557699706305236822427234562426276\"\n ],\n \"13649202591424114316551975771345043535175126254479317031893384618106743500558\": [\n \"18256402492448994737667728809241333800863813640904386069398633094211367039240\",\n \"1\",\n \"1\"\n ],\n \"20373399350094103772850582458751038774632091050079857756695329849057808678779\": [\n \"13649202591424114316551975771345043535175126254479317031893384618106743500558\",\n \"14277169250996104965168749633302840129226001346132159010856108184113524009791\"\n ],\n \"13043954562214445677899228162211682913038293806920587491976110549696525130833\": [\n \"20373399350094103772850582458751038774632091050079857756695329849057808678779\",\n \"0\"\n ],\n \"20324261948830441092794831928809182154299407861216361870027991452684977567814\": [\n \"14982320574925503420097876311007572658040714633691498775725124351881719191700\",\n \"1\",\n \"1\"\n ],\n \"10748849569880574603177071833681198460255086943576001167670333437507728309947\": [\n \"20383935589120983739041465488528953695426011643212809687545285189792180518359\",\n \"1\",\n \"1\"\n ],\n \"11586716102667565388158997427672064526559099562695602550792735746577396949841\": [\n \"19263311920533725473522586735124452529277234833026012063171468336829665566659\",\n \"10748849569880574603177071833681198460255086943576001167670333437507728309947\"\n ],\n \"19153059587304091671912780331518533865549058736388453670562727649927035005712\": [\n \"14324156020187037676741052619223664357888766545019597839050863108205522954482\",\n \"1\",\n \"1\"\n ],\n \"15695362707436089422802169388123211828855349884679078426697880790188327177368\": [\n \"12787814385022127521553768089007138980982550939505730807506413150849753098365\",\n \"19153059587304091671912780331518533865549058736388453670562727649927035005712\"\n ],\n \"20011717292125787372516770970962332888730196826129340077928670687248129153128\": [\n \"15695362707436089422802169388123211828855349884679078426697880790188327177368\",\n \"0\"\n ],\n \"7052464199410360356550962135174169514548343888456436656606113108537588964851\": [\n \"0\",\n \"20011717292125787372516770970962332888730196826129340077928670687248129153128\"\n ],\n \"4121259219227910546946249183888663379277993501966614140649048766207121278640\": [\n \"14238993263803474898202168430013567343688855521844922217380084772840305314140\",\n \"1\",\n \"1\"\n ],\n \"8811452095617444359050529605200955172336591412041938794021341508922330930459\": [\n \"12609699153951654216857218821310037153403725179835057906878057448869228006069\",\n \"4121259219227910546946249183888663379277993501966614140649048766207121278640\"\n ],\n \"13088041758677396963189238237857747841533071986815548942068330456863549907511\": [\n \"8811452095617444359050529605200955172336591412041938794021341508922330930459\",\n \"0\"\n ],\n \"8170765392109203311563610314796411670117747898993025578708907969106165365471\": [\n \"13088041758677396963189238237857747841533071986815548942068330456863549907511\",\n \"0\"\n ],\n \"2871459524099921239831750833917220001637433981334015628255436751733225409532\": [\n \"12596433359912946917416079416836752404860249984685380176231369624949856964929\",\n \"8170765392109203311563610314796411670117747898993025578708907969106165365471\"\n ],\n \"6801619515652246145834361765399556993866661540821606334872498031396742026941\": [\n \"2871459524099921239831750833917220001637433981334015628255436751733225409532\",\n \"18568545125243446471266853809767063551658431411995288110418846987150757585686\"\n ],\n \"6612251850230112811616838478958256829772378229995398427431449049931959582855\": [\n \"4654289513838998175931693181608894889895868228577677225775987405488473805934\",\n \"1\",\n \"1\"\n ],\n \"14276866258878401584031036572895238326928571067553608326121915049421913956114\": [\n \"11778403116085938077797209763821493189668731209358308515106320490825863808418\",\n \"1\",\n \"1\"\n ],\n \"10449033585172850218843733159054603060536589823582428800924678340753265696504\": [\n \"13510858651079531946065574468413660647279607441453136615772615959182837688921\",\n \"1\",\n \"1\"\n ],\n \"233016495062712044067919794142949320064993825162698811282989245821952430845\": [\n \"10449033585172850218843733159054603060536589823582428800924678340753265696504\",\n \"17465924508950894336718684410311138078803930564029399965292506690290542797254\"\n ],\n \"20698138384468167941837573643336521681837635638042007270666700126156523537008\": [\n \"0\",\n \"233016495062712044067919794142949320064993825162698811282989245821952430845\"\n ],\n \"6959955493640830093787279049081415777225162790717605087754802687006725806721\": [\n \"14327224224373128029289755698649834234562544651090740688874892041260690329322\",\n \"1\",\n \"1\"\n ],\n \"6705784698643174383093431049702461071146175551912528888778807506490848102386\": [\n \"10522844457550451489674304115300914997077059921270414052484550824938163839487\",\n \"6959955493640830093787279049081415777225162790717605087754802687006725806721\"\n ],\n \"3366458089144938095796986384295192717965839442227154573086785866315753862562\": [\n \"19772383060690801507947092983054952638191092442389290444961510118095349571745\",\n \"1\",\n \"1\"\n ],\n \"15265000573212429370616755967171036417157647127219564750994112659677030312544\": [\n \"14710794000358705778347358302356498605999016146491643461136858198313116111779\",\n \"1\",\n \"1\"\n ],\n \"13079225181793053798348677607191040001972744456160808490964101424625184899961\": [\n \"15265000573212429370616755967171036417157647127219564750994112659677030312544\",\n \"7105572884564439387617883399259633609949974843687555655994901324643954092224\"\n ],\n \"6889622270995116084973649436012779117863697824457890122309183845253120663951\": [\n \"16475015851031732233767998027300027274744527130843049422049119693948807178984\",\n \"1\",\n \"1\"\n ],\n \"7150080662972444707382483813144156330240702373530120870875967041518784325358\": [\n \"6889622270995116084973649436012779117863697824457890122309183845253120663951\",\n \"21623524292251953638524913027976313618610255651227354289184273300367621890412\"\n ],\n \"11682334420294424810759724612872897157286589489870987741851742339375931706675\": [\n \"0\",\n \"7150080662972444707382483813144156330240702373530120870875967041518784325358\"\n ],\n \"17008606942439919372106222554737767827484720033109832567849052165194652596547\": [\n \"0\",\n \"11682334420294424810759724612872897157286589489870987741851742339375931706675\"\n ],\n \"16064696037243927418881723354703725938892333397727370235874215967969103037557\": [\n \"17008606942439919372106222554737767827484720033109832567849052165194652596547\",\n \"8498518664727497081912047463745749853121584425637326967093103693172019779256\"\n ],\n \"6541734612517331018945923218391091183350372921338763231540935852310960669791\": [\n \"12384437986526675410442286797197167588519322258673527150383810919077747654183\",\n \"16064696037243927418881723354703725938892333397727370235874215967969103037557\"\n ],\n \"21605426956738533389065476657615352760436077359629389265996427344650210295875\": [\n \"20470369109210000083366593673940380707806343366557779018867468050484705224811\",\n \"1\",\n \"1\"\n ],\n \"10135982200639020620833007639242030275178206589604034207387888795025694300232\": [\n \"14414224069172407025728321977095684260988025082049432666897477956497025655918\",\n \"1\",\n \"1\"\n ],\n \"17083038857262577051956966330464647189645084544979760563277806860761133721336\": [\n \"5215659815195982487445194258792646775706600342116105594644215300549310183892\",\n \"10135982200639020620833007639242030275178206589604034207387888795025694300232\"\n ],\n \"3581100112591091720152785621437359225943895160163580690693300792550016680958\": [\n \"0\",\n \"17083038857262577051956966330464647189645084544979760563277806860761133721336\"\n ],\n \"5496007578782172323972102800584310890730791208472388067836205809544967681840\": [\n \"0\",\n \"3581100112591091720152785621437359225943895160163580690693300792550016680958\"\n ],\n \"20332351786282035370858386291917023182893086407429730521796641885224858476166\": [\n \"0\",\n \"5496007578782172323972102800584310890730791208472388067836205809544967681840\"\n ],\n \"1143499850154270476350995614394806883742249856447300054500709310206418458230\": [\n \"20332351786282035370858386291917023182893086407429730521796641885224858476166\",\n \"6612251850230112811616838478958256829772378229995398427431449049931959582855\"\n ],\n \"2043533584814970560489531918365578637909972195048313551557112326160662939335\": [\n \"1143499850154270476350995614394806883742249856447300054500709310206418458230\",\n \"3066429643341078586500414118558390441489089762101590739429260392831838572864\"\n ],\n \"3764135758590653945564124100457702474610649605533928387652051335619916263387\": [\n \"3681678615472656341997383957566716124782912183099820423772437000716632609271\",\n \"1\",\n \"1\"\n ],\n \"14241752385499927443453034158976709229495283512566872319549123131998798865604\": [\n \"8211726928270790934191511460133456555392406459791096065159108680031077831649\",\n \"1\",\n \"1\"\n ],\n \"18400220787758253416728894560857493946768090462154923402333033713990359803683\": [\n \"14011019717429901533958328592540943008309684893517347459713145873508293660658\",\n \"14241752385499927443453034158976709229495283512566872319549123131998798865604\"\n ],\n \"13269515201942676664340074803514926610561753408639760410368308458407280965987\": [\n \"12938350989119143489491326201427480076438652352426615531936201242956914681137\",\n \"1\",\n \"1\"\n ],\n \"15811479549323195747547747889031335756941211514056379131662253110939940779027\": [\n \"13844784356046607775903701791162664930485597841261401248468572199387185854576\",\n \"13269515201942676664340074803514926610561753408639760410368308458407280965987\"\n ],\n \"10315886333510493827834850724944444462606241032779289140823278750702651095468\": [\n \"0\",\n \"15811479549323195747547747889031335756941211514056379131662253110939940779027\"\n ],\n \"11777156333337648602853870105090853223993013689480646571120020485144551619927\": [\n \"12337877876470651313220193390763651080953947781224583977697061658847168651214\",\n \"1\",\n \"1\"\n ],\n \"1205390823609999096075520732077795122184138028720695115983132854267690095087\": [\n \"149942239200195364870202875805690881585239884671246764041743454609522392926\",\n \"1\",\n \"1\"\n ],\n \"8928444940504195133478266936035111540345738525321214834909113603178411345873\": [\n \"886232697804179196734219681196880601483939912206697348752246026241916275921\",\n \"1205390823609999096075520732077795122184138028720695115983132854267690095087\"\n ],\n \"21295084646339999514612033392073341080854218689981237101108192703866477883636\": [\n \"18032644694579846427678176181668064408642561013072523594129187052234539662913\",\n \"8928444940504195133478266936035111540345738525321214834909113603178411345873\"\n ],\n \"19496567159212371076659420791580662506442229990719373584713228318464242473292\": [\n \"15619409540010191189838674868048397952365489009050639219302365866641568752171\",\n \"1\",\n \"1\"\n ],\n \"7678285355411208738368947512838083502658635278213141265909494423401929954381\": [\n \"13002018882882545733669315438182117145402098162523068868028425439939837664993\",\n \"1\",\n \"1\"\n ],\n \"9847270748059738997594207807456818859677768000868466927469901865539453408986\": [\n \"7678285355411208738368947512838083502658635278213141265909494423401929954381\",\n \"20991830899195632702273251668251677889928363543657281714157951591649587911143\"\n ],\n \"8874173527582188478886430085252900799419191243262951754532600505543914983075\": [\n \"10963673502134487910460317722947318006259225760976841772353046753943946098803\",\n \"9847270748059738997594207807456818859677768000868466927469901865539453408986\"\n ],\n \"866037691220536700285597243269532294409412228696455646238578279955408645332\": [\n \"4655027600918377035394952918114789722688769375599733696287001911697982253289\",\n \"1\",\n \"1\"\n ],\n \"14053023801923587503394566931388276449652388426945276167255041730730422238933\": [\n \"3003172739239463342870663481193824990543562076448713092109750229662487729822\",\n \"1\",\n \"1\"\n ],\n \"1817265181174532009975792363482798985643563685167883435493216063453580576456\": [\n \"21864975607586570491313806522042793316334476074261776876599504437899952267413\",\n \"14053023801923587503394566931388276449652388426945276167255041730730422238933\"\n ],\n \"7080946400520287583437772143544718344810132519875730054409264043531615800419\": [\n \"1817265181174532009975792363482798985643563685167883435493216063453580576456\",\n \"0\"\n ],\n \"19535441303018410851758877985691032224158646497347888986690394787333292111875\": [\n \"0\",\n \"7080946400520287583437772143544718344810132519875730054409264043531615800419\"\n ],\n \"3317496576700635209519652313365603290632952204802490527727031851943216437601\": [\n \"6898108065810408971442544609391908341721682645916819434816897048327125566356\",\n \"1\",\n \"1\"\n ],\n \"20533380104934829941867235323260409562588253763103391703119772952210817722396\": [\n \"20221107908238619768734114211126508404894661966733793745450653652999046381663\",\n \"1\",\n \"1\"\n ],\n \"20673864714555040280593585421242648631049251431684257540305485350287368786445\": [\n \"20533380104934829941867235323260409562588253763103391703119772952210817722396\",\n \"13347469933814963445279196627618013913958134736760554312251598958405390350141\"\n ],\n \"1958725387240729089403493058423744754224910189075615946913106457327589745077\": [\n \"20673864714555040280593585421242648631049251431684257540305485350287368786445\",\n \"0\"\n ],\n \"19375870557501888703462360469886355068966699011426468030056481751706185634349\": [\n \"4855076033025415570760563035406446896021543028930960104857503907826428594760\",\n \"1\",\n \"1\"\n ],\n \"9456591089783241650431948461301485593008410580707583106824112804483842857030\": [\n \"1627974249924339905480211632514774925263424535318689410915169466724814033777\",\n \"1\",\n \"1\"\n ],\n \"12525861700464892621604396219950317342621068367121407837787643066315214358836\": [\n \"11273819171489873502012967755118180664360099738516778515574347019179171030992\",\n \"1\",\n \"1\"\n ],\n \"12544829112638827068543071670910612304607152723545341422204016177332321169918\": [\n \"4147626574815423179458911886792964232405071887714061784213678737186787990894\",\n \"1\",\n \"1\"\n ],\n \"3065571614234319295239506142306357008656578607266539491005113191242542504828\": [\n \"12544829112638827068543071670910612304607152723545341422204016177332321169918\",\n \"10418189997619322947434631858798348090889631370524370987503407860834402352843\"\n ],\n \"15303230218394604061692191623667050061115443663506018421133253657254852644040\": [\n \"20289531522175691871345062849455523574263137518827961201006236844483183087614\",\n \"3065571614234319295239506142306357008656578607266539491005113191242542504828\"\n ],\n \"14579050146689948236498946323915872404832966337329400894695356662703635296644\": [\n \"19747824825784137957661678938946524633668520223948019917072808786236912269066\",\n \"1\",\n \"1\"\n ],\n \"7885220668937740274885765215031941180915605620201636128910906955414463100480\": [\n \"14212766125438099309731678804456705439846978834818017143096569103517819582781\",\n \"1\",\n \"1\"\n ],\n \"1470615577252418253953374937220116567601667614828538650760645228774109209936\": [\n \"18414740602769984405840527956216680895292305374067896904034628375861914567586\",\n \"1\",\n \"1\"\n ],\n \"9155087784289926418063825210568109333487256408097592234104330130049143917651\": [\n \"3794675002057484724336076430781130398200486622800142166807065704611241292515\",\n \"1\",\n \"1\"\n ],\n \"10612955566871814104730157585073307628202214362026555684803240553196512900077\": [\n \"677059256767486607959551877399442958195228727154972423459146621618291566630\",\n \"1\",\n \"1\"\n ],\n \"12394308759510596145773106227472698180151000621232768646948398966679962966787\": [\n \"10544462508148010181829760970124970026235251082317209375929436122523879880031\",\n \"10612955566871814104730157585073307628202214362026555684803240553196512900077\"\n ],\n \"11142043316020912246592797972632037352689932866734169766605677536849192407193\": [\n \"12394308759510596145773106227472698180151000621232768646948398966679962966787\",\n \"19210107558569309318053579329874361575269398305565765184704860275695170873055\"\n ],\n \"15636684080211722907336344923422913036880822069264154555966463819948987743048\": [\n \"5908278557819730664314236792079155871641705208732681026700891012647774851068\",\n \"1\",\n \"1\"\n ],\n \"18531839811963771280609836898491070714538737901454574331767454713543437350436\": [\n \"15636684080211722907336344923422913036880822069264154555966463819948987743048\",\n \"6271791787873699798830170524593179423502044667347146054735469484195683000584\"\n ],\n \"2274980894406924345021253411152453415010964147239266066054386446718434237984\": [\n \"18531839811963771280609836898491070714538737901454574331767454713543437350436\",\n \"0\"\n ],\n \"19132860440158876178018247946144947464188030796216581173320053564973824953708\": [\n \"2274980894406924345021253411152453415010964147239266066054386446718434237984\",\n \"0\"\n ],\n \"21717102320560074096873561012090208802400568567906587288694968612545112681323\": [\n \"19132860440158876178018247946144947464188030796216581173320053564973824953708\",\n \"0\"\n ],\n \"18678898965518135090720897097061682559617000371291632753821592928862430987157\": [\n \"5109991013450688383571647082079813874044102585651837074367439540937671270762\",\n \"1\",\n \"1\"\n ],\n \"12716221409347481707789671900451934758486085876407058451697224058807828060871\": [\n \"9192245772664819201441530946339085482339845339757180095354524639022729683519\",\n \"1\",\n \"1\"\n ],\n \"20518808837834296303512195617417467578362691015040286603580014398095928419929\": [\n \"5593290125486271189007061554430437219922516845218146072927735675451729945573\",\n \"1\",\n \"1\"\n ],\n \"11192930746740802505211781558064667280530928070140664682143636561442584687703\": [\n \"5806382992547638295308849873329600917083832997216185250547665532365016660049\",\n \"1\",\n \"1\"\n ],\n \"1596694950264968806199048955666685600395108201847258238354048163283707700777\": [\n \"17821288242613325627983879057203299094161131949931998899401065373488309409248\",\n \"11192930746740802505211781558064667280530928070140664682143636561442584687703\"\n ],\n \"13570922043847940596959070772732637514878287196379333387063978749759102029501\": [\n \"19907003909248594452038889019850501981647422672123725577951811162881436252968\",\n \"1596694950264968806199048955666685600395108201847258238354048163283707700777\"\n ],\n \"16132029247167035153997202203937955381431368215113908767262885980648102405359\": [\n \"0\",\n \"13570922043847940596959070772732637514878287196379333387063978749759102029501\"\n ],\n \"14183408311110993972807430182946750744119626631030908941548477535248493783184\": [\n \"0\",\n \"16132029247167035153997202203937955381431368215113908767262885980648102405359\"\n ],\n \"19033795043402262618743007746621036148391716883763079631227646568782909739069\": [\n \"20253922538791633962126093879743728829969225473146863671496691534600923652695\",\n \"1\",\n \"1\"\n ],\n \"15035029481731223110366806352125072094652856182365850663729066010240597830348\": [\n \"19033795043402262618743007746621036148391716883763079631227646568782909739069\",\n \"14060027334027389087127577432557161180577851599188899999647722442251646928594\"\n ],\n \"20609317156432807840141995386421356472128282262619551150345835960231249174270\": [\n \"18389635878038508804611451352377498544497500344167953636510068902873210467971\",\n \"1\",\n \"1\"\n ],\n \"6732909309312038666880036336948984673890417144860847373934721369067263367608\": [\n \"44781648117933576843248634233762135689727785266253334290388451327586933581\",\n \"20609317156432807840141995386421356472128282262619551150345835960231249174270\"\n ],\n \"16599702528612812967367601518909964677652479335000508295438384749425442380028\": [\n \"6732909309312038666880036336948984673890417144860847373934721369067263367608\",\n \"6514540003095024312412414842488545484385073632155504809185571001472328676994\"\n ],\n \"2711640801756407563014492048895593441329999989816928479985812725458471779928\": [\n \"13648111759316689871272615590743819699017322556026976918039481289916062165683\",\n \"1\",\n \"1\"\n ],\n \"14006686647338398542158880428546707146420747146804362661508766899373490110207\": [\n \"7805356133535570003190298586863593917921367424893050263888872767148020151946\",\n \"1\",\n \"1\"\n ],\n \"539969532272961931192024337487468326577299916010946644096683078600708512738\": [\n \"4238769733590678175775446158536364541383951155349776899271269727724362187361\",\n \"1\",\n \"1\"\n ],\n \"5839478669172218947568726388070509963226757930838400908054903342625630945727\": [\n \"8379177933174994634481277150344126006173391122275673987006893715076789388084\",\n \"1\",\n \"1\"\n ],\n \"20158190798873617956020708454138972156480014910713212422361504508749957732313\": [\n \"5839478669172218947568726388070509963226757930838400908054903342625630945727\",\n \"19528574058004383234878156165950931833175956363753639252434792928585688735738\"\n ],\n \"9358132694955853496850585968909725652995917084879970303631557039119682819096\": [\n \"20261374230547769411276174358124081170741766273190545555080427042796778847795\",\n \"1\",\n \"1\"\n ],\n \"17427159012816043903397540402163193736735710534825441168011660801969644809136\": [\n \"5059738407956876438872791129476113685006252741111438713275139884756497053046\",\n \"1\",\n \"1\"\n ],\n \"18474878958220724342899321244415326324756645879498725653257913192197721247655\": [\n \"14672105553619165823332797619442313406152761336109848496072738502080057016856\",\n \"1\",\n \"1\"\n ],\n \"1121859258180210859472032888549488136299025071631553704029768225663175171009\": [\n \"18474878958220724342899321244415326324756645879498725653257913192197721247655\",\n \"15715991832636725041532066734667379643763749895367236859375550381864160487973\"\n ],\n \"9268090645160717296150705931486673380259994824551506056112571799802662063534\": [\n \"1121859258180210859472032888549488136299025071631553704029768225663175171009\",\n \"0\"\n ],\n \"12446474563511307148378913776388695551939505317602849250604830474890404386056\": [\n \"9268090645160717296150705931486673380259994824551506056112571799802662063534\",\n \"7562764709423071050010933153995351978584565462979788514931773221736905727696\"\n ],\n \"1665757713197622991151292378114348266250684525913417961328040629317054575677\": [\n \"12446474563511307148378913776388695551939505317602849250604830474890404386056\",\n \"19519939565324513626170010361158442343608491625792117375187190495272497762755\"\n ],\n \"16816436543158458757124747978256515642073738085550966608239923562143656478743\": [\n \"4901790914614701395496004489885173357327237041899594373899167262606374779738\",\n \"1\",\n \"1\"\n ],\n \"3402000619210119963866019130105696972969463131164990576809919456019774786075\": [\n \"5459234348790383768097147947414657821700556453513669124565773044727551467840\",\n \"16816436543158458757124747978256515642073738085550966608239923562143656478743\"\n ],\n \"15312555305379637182046135423964532510478611889096859474604104431866814661962\": [\n \"21356834814961601309051194203797230749121983360992435690683239300027179210518\",\n \"1\",\n \"1\"\n ],\n \"17753690184226093063741550024223485564690549873934746004424545563706342307798\": [\n \"15312555305379637182046135423964532510478611889096859474604104431866814661962\",\n \"12589912954717431161813640036264976478228966435395153413147638719577960951324\"\n ],\n \"15193768040959866150246482456406163759242851982087061076355401069334059509418\": [\n \"8639982598575657803084645354684560700359022749793186864389568993681500126096\",\n \"1\",\n \"1\"\n ],\n \"9825929542132263800604887620078923545233314797004896973484322067690124163416\": [\n \"17900349072334634515175846022800739796453951499345152533974627510939937841630\",\n \"15193768040959866150246482456406163759242851982087061076355401069334059509418\"\n ],\n \"3290975936918122390752430103253517491419249409817624758877754676598653368700\": [\n \"5951642443728535253931116518367899993529304379822273402082974345726611078686\",\n \"1\",\n \"1\"\n ],\n \"4919898423634283009357356125815800260048334939783935611469280833328075475298\": [\n \"19447083590042359435732205284875541586842575759991809663670572951573032608818\",\n \"3290975936918122390752430103253517491419249409817624758877754676598653368700\"\n ],\n \"5818800592887292335052957649540172800986331042555626222912816487542765500848\": [\n \"4919898423634283009357356125815800260048334939783935611469280833328075475298\",\n \"0\"\n ],\n \"16598843709337886165211681277478143302956685586338055001813481981659758817831\": [\n \"0\",\n \"5818800592887292335052957649540172800986331042555626222912816487542765500848\"\n ],\n \"100888955181799151926028433073731929764017172533456144954874364251791343058\": [\n \"0\",\n \"16598843709337886165211681277478143302956685586338055001813481981659758817831\"\n ],\n \"4177001173345132899844219959406846142121575951971171691302515954515414825233\": [\n \"11833102452085704986758931339010877788732198307840542976220575716972656997562\",\n \"1\",\n \"1\"\n ],\n \"3712443259691043034200316065438113505821166092615370113634034614775726659387\": [\n \"21612410339866715137167256068982098380549154404650435655091339922750504033829\",\n \"4177001173345132899844219959406846142121575951971171691302515954515414825233\"\n ],\n \"546753589232951691151077167043774846004776097427045172839437020556328298742\": [\n \"15961719394076746459587146606897476752465985539840775508534642865572017429121\",\n \"1\",\n \"1\"\n ],\n \"15547688148528119979886849092880298075646066082759848641670387025935289557905\": [\n \"5022113917595326283432109954605653749230534231509403238600522121643167689249\",\n \"546753589232951691151077167043774846004776097427045172839437020556328298742\"\n ],\n \"14838076479582100281978893216036865034754073013446185746494659444298168263627\": [\n \"6611728808778617008205217595087878361603409678823501302942534961547773200405\",\n \"1\",\n \"1\"\n ],\n \"5591749158272960830380466358815121673963115127750837774902902452153185519499\": [\n \"15388507505107385810155538126016790913922539467314800132186016730068951490849\",\n \"1\",\n \"1\"\n ],\n \"7620696952283619026860116391812374902896181981863410782282078511554333996964\": [\n \"5591749158272960830380466358815121673963115127750837774902902452153185519499\",\n \"850764010753834447138868086887753239305836147872420694912028643815831771560\"\n ],\n \"15500828357171734787059909442699039507155819140945576833822079746528105757312\": [\n \"7620696952283619026860116391812374902896181981863410782282078511554333996964\",\n \"14300836012743828871221136437650832133734877017406643733140673038654517818932\"\n ],\n \"5030554066420247656727768508472928924609054358379085480784575781813229484167\": [\n \"984554056974494049549653099179575390113590506148156324742098011159077973225\",\n \"1\",\n \"1\"\n ],\n \"17604878892537279463922408876544429711733445466830805115601801092973442172644\": [\n \"1167476675427887969655207901070498065575370592901993694454857275735349466131\",\n \"1\",\n \"1\"\n ],\n \"1541768248360942471436005213006591703453342305857557327788141398049908389222\": [\n \"12221016811876683056830199546807508508744705152334185484982557995014458012655\",\n \"1\",\n \"1\"\n ],\n \"2841858711825994263753542131620547565401364838521449913732854222467407081237\": [\n \"8507731675006291350325696383286737784887803445948989537682960458134110729476\",\n \"1541768248360942471436005213006591703453342305857557327788141398049908389222\"\n ],\n \"3788549990055397256627659604220701833315799028016291798253720962644229633310\": [\n \"0\",\n \"2841858711825994263753542131620547565401364838521449913732854222467407081237\"\n ],\n \"16972258490290062017301440066081800079978382208305074180367329878972638098817\": [\n \"0\",\n \"3788549990055397256627659604220701833315799028016291798253720962644229633310\"\n ],\n \"19655454849503219905171748556810832081595537787071053179310657270870850885648\": [\n \"16972258490290062017301440066081800079978382208305074180367329878972638098817\",\n \"3823060106183461006970603331443018290365873900615471319381329960837700726716\"\n ],\n \"20086708017909472867063904270545011758888515330321764186336602749212239661576\": [\n \"19655454849503219905171748556810832081595537787071053179310657270870850885648\",\n \"0\"\n ],\n \"19468471648998317631249762665957057476353764185022765182419501904157278622391\": [\n \"3085533264301164993337062500958476693783180464007480677403852417664477252380\",\n \"1\",\n \"1\"\n ],\n \"18421682175016367577568592940258387754783137035305089546704718204486030907233\": [\n \"11342901520548533278233638321225694105484963552100404251349572253468033435429\",\n \"1\",\n \"1\"\n ],\n \"4037985068634971201414580763381990113821419962134177831298874044978289720131\": [\n \"18421682175016367577568592940258387754783137035305089546704718204486030907233\",\n \"7190848778447069810079318357316378380579223231307456298681282820298038747911\"\n ],\n \"8156311988144163153367763741492729332100016038949781646045715811469193754728\": [\n \"10371016277147607163009612999461761464430918609527734318326531812192416102802\",\n \"1\",\n \"1\"\n ],\n \"16419487978117185466623482631569719939832889236181365920076075778896198402900\": [\n \"8991886729205977533347650360718032608032288510362829992029894051009982725478\",\n \"1\",\n \"1\"\n ],\n \"1499572574504011206596819102732117326026792063154249234767083332885828572930\": [\n \"12850057976597525640339114669051902802731322207352932046261778307944192351857\",\n \"16419487978117185466623482631569719939832889236181365920076075778896198402900\"\n ],\n \"19596331138404240911525704796136886463718494674846878553626880812751692380123\": [\n \"3658893691345687962890694070016886181269680970939328478653359799372747260086\",\n \"1499572574504011206596819102732117326026792063154249234767083332885828572930\"\n ],\n \"16743288676270757371985064257925877885970181901343956415022341975837042013192\": [\n \"18484834637952115898560910211759429652160350779142882523589868945063649184049\",\n \"1\",\n \"1\"\n ],\n \"18752274258465328173310852812365877120445420755270325669968405139142645700282\": [\n \"18537134526226081846656152363950502485156424029789644144099880174392383633967\",\n \"1\",\n \"1\"\n ],\n \"8573014294005982983683653245434662944745752815564085443680942438331837239217\": [\n \"10113007050121430567566089799731136245940912941578849230308383814542422759805\",\n \"18752274258465328173310852812365877120445420755270325669968405139142645700282\"\n ],\n \"564933204587976318694059536240042079721442801973574458363121855617600107062\": [\n \"8573014294005982983683653245434662944745752815564085443680942438331837239217\",\n \"21285619731261780069597499884412092802260835920606584128114352296699838858457\"\n ],\n \"20412158560730641501555156883165804199856315084411325168441489391101014316576\": [\n \"21645367155533081607385862586721462612986518346790549556589285881162258043756\",\n \"1\",\n \"1\"\n ],\n \"12714482072745253974646321129736978641772142576778396912276502166456840164459\": [\n \"2038680221825261093889463126778445844094297239817834992262031396314603161336\",\n \"20412158560730641501555156883165804199856315084411325168441489391101014316576\"\n ],\n \"17341636120706332578627884419064812694213523600978293309940936192297397530409\": [\n \"3190134733786991650955116895932332530445776470147708318800105832396081258245\",\n \"1\",\n \"1\"\n ],\n \"21489889189964386016663617544957951180104214555932256300369914637448171388318\": [\n \"3454799382611540620217993800096838983781464515625740764367433741027954183130\",\n \"1\",\n \"1\"\n ],\n \"6330586600421183194899346399556750872889303905366639614884605212372049667128\": [\n \"9270773966364607022544759893562608689718854838308188893194300802484005859309\",\n \"1\",\n \"1\"\n ],\n \"3316364681571092422509486203052948831740982541469185534651427885792889290856\": [\n \"21121781852301965785563633705105196249567386711493100661296631343752779341249\",\n \"1\",\n \"1\"\n ],\n \"20842347057039604704553271743352475936625285984208809754083557391984557546990\": [\n \"3316364681571092422509486203052948831740982541469185534651427885792889290856\",\n \"406186396299596126947702007440855648268513642599605232845328195296284160420\"\n ],\n \"12405947399834523543934783461073473217768497223550762823846997405707262942356\": [\n \"2425763070741966192452545366104616821820201112565414831184143574043039424669\",\n \"1\",\n \"1\"\n ],\n \"1111280274409065837349889831304050741329767392301573019008877579991626483373\": [\n \"12405947399834523543934783461073473217768497223550762823846997405707262942356\",\n \"9628003801361097723626181771492904402913676877089041689551244193971587269213\"\n ],\n \"10897604099624934710167985543749006357977807430129038373614594641943369602800\": [\n \"21310885175231742739800298253074594450463453744702580457493741574725780190441\",\n \"1\",\n \"1\"\n ],\n \"18922208346209027487356937990960456767413722933024151884741275051024367349472\": [\n \"10897604099624934710167985543749006357977807430129038373614594641943369602800\",\n \"6357225818757859655078057537595604563027276911948679860465760079103134238184\"\n ],\n \"15777491821553932615195140137589941443925274443283577039892611155123111066301\": [\n \"18922208346209027487356937990960456767413722933024151884741275051024367349472\",\n \"0\"\n ],\n \"17846948022948703994177102825351114939843081929423790419514089489460770374177\": [\n \"616551390523692922588339240773104602408975646334660555325248898581550668260\",\n \"15777491821553932615195140137589941443925274443283577039892611155123111066301\"\n ],\n \"1627357299349691905412995686758917301401260558335571931924890575032129610720\": [\n \"87664156211775995299354322851823258528726963535493343730823897791978004841\",\n \"17846948022948703994177102825351114939843081929423790419514089489460770374177\"\n ],\n \"7747518171509376955863041571047150191078095885227890025412753956702716748575\": [\n \"8371265509478513826557038341311351935681269892861519894803778199174070305642\",\n \"1\",\n \"1\"\n ],\n \"12611355330752852475121330279356304758207983308621641957130806091205709341665\": [\n \"7747518171509376955863041571047150191078095885227890025412753956702716748575\",\n \"18915313953868495777997257612908112340985790577450040969531765309270918946775\"\n ],\n \"17821617282507247108228906257651045850856949436968062310914316479235392095923\": [\n \"1738439136278587021194057989913995551382428642456258158535483226016225996809\",\n \"1\",\n \"1\"\n ],\n \"4856409268571310776716578058927922191668557233304228839251122835689612545345\": [\n \"17603178485138518626196975144721515475566208532479339517286394928066672023570\",\n \"17821617282507247108228906257651045850856949436968062310914316479235392095923\"\n ],\n \"9798932881776365953458320174609421045701603477209349018265091552450668576062\": [\n \"20948858245337547714196708058567442850653664805732806702732283567904399795517\",\n \"1\",\n \"1\"\n ],\n \"13419267769283924871451342270662708637892709660966534182556749058451203520980\": [\n \"15052623575114466917801320671692255197465281033026866200138644293160305248413\",\n \"1\",\n \"1\"\n ],\n \"9842254360244175520075887545491820419783684956894721644586756161239394315117\": [\n \"4027910852141604429968468927992893066492760278749582473078075167163584487059\",\n \"1\",\n \"1\"\n ],\n \"9100026212265739576907002196429399604716216514180537797263266939365598796110\": [\n \"9842254360244175520075887545491820419783684956894721644586756161239394315117\",\n \"12570350675512608467514133128001601185421998863181301263268075065493794811580\"\n ],\n \"17725328200679068525659893726916504723834038906483938205838659202261950459715\": [\n \"9100026212265739576907002196429399604716216514180537797263266939365598796110\",\n \"0\"\n ],\n \"21171475954226918395912183735929045615079043143310259828262149202964713425032\": [\n \"17725328200679068525659893726916504723834038906483938205838659202261950459715\",\n \"0\"\n ],\n \"5192878553709503280028313633499710803846706804042877697098133015034920545773\": [\n \"21010822580092903771086401196811298624807331725043554607027240347684585778428\",\n \"21171475954226918395912183735929045615079043143310259828262149202964713425032\"\n ],\n \"5594354814253426405374619956973573278949047366870487460031497849179994326050\": [\n \"770999441886553240978035407560028324105849796930841025985013902069185616379\",\n \"1\",\n \"1\"\n ],\n \"2984328757884862842854056461701988063516082107830727231015154086690251743054\": [\n \"1152437551292801060880639559081862888207071877592821490163624359658902856873\",\n \"1\",\n \"1\"\n ],\n \"9728483026645795266297111865767597176842806097116074810822891907730278314907\": [\n \"8524876355722047540749921725220087984466833709497471466185270380638167399073\",\n \"1\",\n \"1\"\n ],\n \"18181077002005092813637116196625661461410941226129233475626068592129416254287\": [\n \"9728483026645795266297111865767597176842806097116074810822891907730278314907\",\n \"10498928387893077970628535924179840775868980684482734217809171254286772379758\"\n ],\n \"15643557548981224159908812715429635913775448785279548592146272520924813540967\": [\n \"18181077002005092813637116196625661461410941226129233475626068592129416254287\",\n \"0\"\n ],\n \"17303265399455998633516666221569460581339670394282384962757394933271244422133\": [\n \"15643557548981224159908812715429635913775448785279548592146272520924813540967\",\n \"0\"\n ],\n \"1791223933252811613307265387552855485787175118077139155372836807787251728674\": [\n \"17303265399455998633516666221569460581339670394282384962757394933271244422133\",\n \"0\"\n ],\n \"7171896745406412497896617121088505611513330458365082680236867090902492058642\": [\n \"1791223933252811613307265387552855485787175118077139155372836807787251728674\",\n \"0\"\n ],\n \"15473302320406282075942516702334377181750968935017226620363427037033714393800\": [\n \"0\",\n \"7171896745406412497896617121088505611513330458365082680236867090902492058642\"\n ],\n \"3691628503542324407553916931634819975891362969078852976992613113272502987304\": [\n \"5104199336678184147566467386405231987297823000687437874815612022226426057134\",\n \"15473302320406282075942516702334377181750968935017226620363427037033714393800\"\n ],\n \"10089487191019418044757462036787081376541250565421855269954696264824581821873\": [\n \"0\",\n \"3691628503542324407553916931634819975891362969078852976992613113272502987304\"\n ],\n \"8477817931866207516512677105415441404358020833814840958521745837327011288389\": [\n \"0\",\n \"10089487191019418044757462036787081376541250565421855269954696264824581821873\"\n ],\n \"3809579744389070451237583519517635479020155839397105853038396149271148561872\": [\n \"10897620248649116441409333132423143832729692078430956671185593332509391732528\",\n \"1\",\n \"1\"\n ],\n \"8961759671139220867030614856724250232665598953284910452340734053092140204784\": [\n \"2378430904915888119488828589587426632308389547295181875649288248986302894360\",\n \"3809579744389070451237583519517635479020155839397105853038396149271148561872\"\n ],\n \"3598947794302820626004813540877256484409693277489618764640430870492915195484\": [\n \"16658155549200171008357928025479142548482653492892429983305485740748102812621\",\n \"1\",\n \"1\"\n ],\n \"13065404318694095733850220808633331692760654710765288585495550233226980834768\": [\n \"3598947794302820626004813540877256484409693277489618764640430870492915195484\",\n \"12194038939096455536298523653927832973467911515334694688115241478826311536689\"\n ],\n \"21109666756167850373043807475055061307819586611284053096049653268517139345109\": [\n \"13065404318694095733850220808633331692760654710765288585495550233226980834768\",\n \"3755740916888160529388875717897383268268070117204576598627734934552024127749\"\n ],\n \"10927330952537695862260469153340210709935281272460746806105657294509561655781\": [\n \"13530060670540193937152279503198440778971501434523095978364745160862697573605\",\n \"1\",\n \"1\"\n ],\n \"14135197887990585311420814260890570680016319945850103322100576496781696295690\": [\n \"9985348421004021707173297076618275606988743432358279113510795881962292829865\",\n \"1\",\n \"1\"\n ],\n \"1052273274218904149255942124938600364047795941238915537099016592262568644057\": [\n \"14135197887990585311420814260890570680016319945850103322100576496781696295690\",\n \"6797378168727991484301577286776952994858799722269282983781171372975656080261\"\n ],\n \"17496772419324573176772684721811407092991317504058918692436925961729742776176\": [\n \"13825832248292772147429757996719243033286794899180246782362678638852650812702\",\n \"1\",\n \"1\"\n ],\n \"9212178645737874014411660181176923199831701217841568656368529667761226686372\": [\n \"10090395667515803295157637961038762406320940172004680021632502464041546548227\",\n \"1\",\n \"1\"\n ],\n \"5048204224617074959622306743302880906910949088744852954898394396477526867913\": [\n \"9212178645737874014411660181176923199831701217841568656368529667761226686372\",\n \"13756454527659359229380418977457024772982933107374843225607462965278396222210\"\n ],\n \"14313994105904655040867560627710754365651346208913001905305192568660976212731\": [\n \"5048204224617074959622306743302880906910949088744852954898394396477526867913\",\n \"0\"\n ],\n \"5036357334291781002387632320005020255392330311207376322193921573463712039637\": [\n \"11290757951473536101998537940059710749232099786292436020648953126853950802605\",\n \"1\",\n \"1\"\n ],\n \"12410904054120719773165733198577800223278775612282547946616958607304723062733\": [\n \"8777683039868226756869245163141004046251931130579843694203090009809282551384\",\n \"1\",\n \"1\"\n ],\n \"3416862705685824177230264719600471082207823110656558917655721195278858864595\": [\n \"12410904054120719773165733198577800223278775612282547946616958607304723062733\",\n \"18514934806502553261565067400739080305951392570035285699276478197057021404598\"\n ],\n \"159996620896410701108274114584230938073734487575591447887110816534675162294\": [\n \"0\",\n \"3416862705685824177230264719600471082207823110656558917655721195278858864595\"\n ],\n \"16693334614313513558483167873726317732090593656325072923370029788664638384536\": [\n \"159996620896410701108274114584230938073734487575591447887110816534675162294\",\n \"1010375567573946731203027079504560517380193413768507250312268876299217928971\"\n ],\n \"18920933702334101766217924157108509048326514061988886987221862358224329609010\": [\n \"16693334614313513558483167873726317732090593656325072923370029788664638384536\",\n \"0\"\n ],\n \"14675795910026730330031672954601803520749353339875814069114970575919088877177\": [\n \"5258048296831155619095737068468814073191258198099723658302561358456524625557\",\n \"1\",\n \"1\"\n ],\n \"12673631526460356015157851681120068627892291709902006183975145180321726420290\": [\n \"16862501768753464142792849181353700975144639133855158045761613281112251566077\",\n \"1\",\n \"1\"\n ],\n \"5919861553984768060385950168128289872242924576284494523166264725142414911113\": [\n \"3339376339279948887922139150425727836861827855365813079190934601935032204848\",\n \"1\",\n \"1\"\n ],\n \"2544452916689789748112248420921964493662318975689992080000514053310755755348\": [\n \"5919861553984768060385950168128289872242924576284494523166264725142414911113\",\n \"13105413203966980179040100505507620462916570770352599448281848638191459193608\"\n ],\n \"19616147290324080728508426325924844810855727135906894218437226067298516940569\": [\n \"9910353360973274689825801479285305021967945286946071272984689496036049368499\",\n \"2544452916689789748112248420921964493662318975689992080000514053310755755348\"\n ],\n \"793997677116429393353507096064488593310519604628436991059581798238825666713\": [\n \"0\",\n \"19616147290324080728508426325924844810855727135906894218437226067298516940569\"\n ],\n \"13559596768685682125513097325817745170146311507704563455193542105301298670539\": [\n \"17105607845879936257539955856342457999857145344471010395308147663747318952501\",\n \"1\",\n \"1\"\n ],\n \"965460354183385070896353081418874421633703022194734933562483076665982178002\": [\n \"18377978993401388939880755782861063813785619326162998780025979470819374011759\",\n \"1\",\n \"1\"\n ],\n \"9042182407038734714782818892709324794485385772914370414413016100123196442193\": [\n \"6386970342048955109886152588242862355132766120829130641648980538714637877049\",\n \"1\",\n \"1\"\n ],\n \"4918360512171506876983629891287402058963609337076551668049040836290227321221\": [\n \"4987420515637879562353994933777982825125206523441975385844002363920033320755\",\n \"1\",\n \"1\"\n ],\n \"14545974678187601781881812320779566321069559368693853470215489966581384040001\": [\n \"4918360512171506876983629891287402058963609337076551668049040836290227321221\",\n \"12495576310117622248233903335068863576082373439030467278345436577987724063067\"\n ],\n \"3404992668977646919083069592001792454327364421428265571637187779760578189199\": [\n \"14545974678187601781881812320779566321069559368693853470215489966581384040001\",\n \"0\"\n ],\n \"5617419732062633430843739437712317339864645607307884163718106623427085390739\": [\n \"3404992668977646919083069592001792454327364421428265571637187779760578189199\",\n \"0\"\n ],\n \"5424749919911920867886769378825228313407657050905073554352158265412099102051\": [\n \"13388878816666897184044558775373569676792532727384915848911752140943834887950\",\n \"1\",\n \"1\"\n ],\n \"17876510948426436575510972602359316672476341738230414408305441721759759324075\": [\n \"7949779823823951669295757403425481472731754073917555919249664043490677933074\",\n \"5424749919911920867886769378825228313407657050905073554352158265412099102051\"\n ],\n \"6595924097968618203081860945309232371278882121684116761391777112842443417086\": [\n \"17876510948426436575510972602359316672476341738230414408305441721759759324075\",\n \"0\"\n ],\n \"5363433229789193269766540977848072098648464510836479382376788209942747669066\": [\n \"6595924097968618203081860945309232371278882121684116761391777112842443417086\",\n \"0\"\n ],\n \"6988042255400312470666849450477986007463764390709899679312370938627085365104\": [\n \"5363433229789193269766540977848072098648464510836479382376788209942747669066\",\n \"0\"\n ],\n \"4601868399736367084489447521647417663535118093560578395025728678152905198970\": [\n \"0\",\n \"6988042255400312470666849450477986007463764390709899679312370938627085365104\"\n ],\n \"4707778771464912549642774430378319141734006326506061300676426907086484370621\": [\n \"21196594443563732724845496586472360292556255606333296240669240396835965314244\",\n \"1\",\n \"1\"\n ],\n \"13134594784346716173249309025324001876493352826215310525503836086336772472179\": [\n \"7243472658324115741745320780044362334271346598014464973558435718512741110565\",\n \"1\",\n \"1\"\n ],\n \"1432288784482834896800308173893464025587580430363509313198652233790435121505\": [\n \"13134594784346716173249309025324001876493352826215310525503836086336772472179\",\n \"2994949702013648296966804878495613224005326055770680657826559619575882207769\"\n ],\n \"9132664989418957515252319069137338295203968623575728877812926668144158515324\": [\n \"19879709498983813938851039031757093779215506701101484186098039667516353553318\",\n \"1432288784482834896800308173893464025587580430363509313198652233790435121505\"\n ],\n \"13696259756725910104963447660763613502675208627237493791280318806912616973613\": [\n \"18928055905846442556698479213055343034632553233053959906673751617167883096986\",\n \"1\",\n \"1\"\n ],\n \"19806148289883506620116691762486815485421014115023355307167228330916531903645\": [\n \"4796411127792265795906369096427630970334099509698092517171737923163610567663\",\n \"13696259756725910104963447660763613502675208627237493791280318806912616973613\"\n ],\n \"9133543907789322467299724748350522989601397152264135415021417407545750236470\": [\n \"19806148289883506620116691762486815485421014115023355307167228330916531903645\",\n \"0\"\n ],\n \"2630150911078359483398966219573635757340629630378194826348074329591274359073\": [\n \"13074657350816522776219003744413204352272890504435719543173906127820485317522\",\n \"9133543907789322467299724748350522989601397152264135415021417407545750236470\"\n ],\n \"7105625631323901426796374397498680098709726004922081673912057544855061707489\": [\n \"2630150911078359483398966219573635757340629630378194826348074329591274359073\",\n \"3272582357777187113131648077999366033653572745926652563936594445427376271940\"\n ],\n \"15840045989101923436501672069581705378321375945400874810592019851672125896691\": [\n \"7105625631323901426796374397498680098709726004922081673912057544855061707489\",\n \"3766619709080343340476111269169753624187851942694873090229506293381894236154\"\n ],\n \"6787439121115878693650820320743322802921088795938195053663216929574758606335\": [\n \"8662979980204675876766187641806728242896985129728950977089408112020988811164\",\n \"1\",\n \"1\"\n ],\n \"2729233549266981020642526886682686452603282340718898876501820738199523032270\": [\n \"6787439121115878693650820320743322802921088795938195053663216929574758606335\",\n \"8028042367682906474963805909319563834033122223281707374585558657369117685887\"\n ],\n \"20707347215108537302188861156066398993746016635751209897066548305498843686587\": [\n \"8029872648700375989587291667767603320419086376280925941466865532711829878167\",\n \"2729233549266981020642526886682686452603282340718898876501820738199523032270\"\n ],\n \"17945938970361754768971933483608563115785634653334186335826236723956490812442\": [\n \"20100766383808969518167611871451488772952474661530043812775077500776655515591\",\n \"1\",\n \"1\"\n ],\n \"1351657882050103356811961690771912681195624145096885168580955813427105832063\": [\n \"3049093686658532416483705281589862512239053872642390134125528160854902727675\",\n \"1\",\n \"1\"\n ],\n \"14250226374415839965418431426322329829021329763441770159668097384990786391270\": [\n \"1351657882050103356811961690771912681195624145096885168580955813427105832063\",\n \"1172156962978774986363798603435828085592345016480240762013913229489521313102\"\n ],\n \"17016124245843420540118179536281142668814219627310683479244120970942389229059\": [\n \"20487632831454558246768135683450899677366313351879664643960299911007794534155\",\n \"1\",\n \"1\"\n ],\n \"2519557609413855911563679164044989933929926153808319353178468903727749686840\": [\n \"17016124245843420540118179536281142668814219627310683479244120970942389229059\",\n \"21764501891655350406750995512032182134350389639220481102009311353750281055919\"\n ],\n \"14964065369555807555811388605903980309078948206986969895593904446429719969839\": [\n \"2519557609413855911563679164044989933929926153808319353178468903727749686840\",\n \"0\"\n ],\n \"17109079716725595526920588387414550515210161825745398307198820754395754233792\": [\n \"0\",\n \"14964065369555807555811388605903980309078948206986969895593904446429719969839\"\n ],\n \"7242405377046913624372612597298690000047126871941926515003189319103220216650\": [\n \"17109079716725595526920588387414550515210161825745398307198820754395754233792\",\n \"0\"\n ],\n \"16909717206385818250925143869691490366345740098234365582300582316527334844777\": [\n \"3294764507904723811563658760012816062241832091644967336375933313849240661165\",\n \"1\",\n \"1\"\n ],\n \"19715740217298959381322505646970536243763100677251485345170430903164076300452\": [\n \"11311145696366663676740296079922856019794783145317843614443293784652591696818\",\n \"1\",\n \"1\"\n ],\n \"7777785451881160884259217431350848469646432746054600562586429363515285298890\": [\n \"7608887813223604033707691902179052995589459042264193570655787075640378684637\",\n \"1\",\n \"1\"\n ],\n \"19793408499613745767368839773658929734921622712984920755582794749914905062244\": [\n \"14819718520678870631061102673279991929047815848933636456483105215238369989964\",\n \"1\",\n \"1\"\n ],\n \"10067677976101501663041274002443011715816941790030521433967380447345267686048\": [\n \"5829810563808397526759738437576282318334690630364563217612783028903655547481\",\n \"19793408499613745767368839773658929734921622712984920755582794749914905062244\"\n ],\n \"15708263382789864038614250168507380634245581682019523390760084877258606800048\": [\n \"1300177996920034555121091656443439720177336994118582687624819893914932817245\",\n \"1\",\n \"1\"\n ],\n \"21294766897070335824341231173468293963111623749458643633508909599438225055033\": [\n \"15708263382789864038614250168507380634245581682019523390760084877258606800048\",\n \"17478022631385280266961491039119701782789915838842180495429397901479935247351\"\n ],\n \"15940377796809139893522319258332402049675227802248298975881651538780526031974\": [\n \"4589536904808545461009753067245687278418282522103717797830341269596656771382\",\n \"21294766897070335824341231173468293963111623749458643633508909599438225055033\"\n ],\n \"6760467731792594351133771695702017022830288860117168909280578593250388696217\": [\n \"6073366164459176430113405853140050197523024320713196672548816720713988631467\",\n \"1\",\n \"1\"\n ],\n \"722939496394544045436490429486144365041418596623673863216010665434771648375\": [\n \"6760467731792594351133771695702017022830288860117168909280578593250388696217\",\n \"15490716994363698228471248501145645410864800729880222870805015966165065512939\"\n ],\n \"15501987530536165155740457099988430304148238259788825631867368224678984876533\": [\n \"21242871702456949799103417113263936550132596896837232544366480376939347030583\",\n \"722939496394544045436490429486144365041418596623673863216010665434771648375\"\n ],\n \"9905383001848970668703593936437049716803815447391204919575177296428483155913\": [\n \"15501987530536165155740457099988430304148238259788825631867368224678984876533\",\n \"4649949980135527931724214732826904818698663783911764845784198575840125459926\"\n ],\n \"8724968727864307776347663137345374323379615626738750559465704203567438998803\": [\n \"12829759647344423210910209844837018467835879188725194351043936669908417752259\",\n \"1\",\n \"1\"\n ],\n \"11737860676933779564734129135583844227438600375195528663390948269338128562582\": [\n \"5170887177989928622422825667866164994711849272099262642059833873277326182758\",\n \"8724968727864307776347663137345374323379615626738750559465704203567438998803\"\n ],\n \"4419898512390465436723611794295751353281878250012689578773494278406771853526\": [\n \"4018796879277683331877059355439249024141406602303592759088870738188854166324\",\n \"1\",\n \"1\"\n ],\n \"18802483027326195103378333171517020057366107765715915053089349186495110613539\": [\n \"4419898512390465436723611794295751353281878250012689578773494278406771853526\",\n \"20158190798873617956020708454138972156480014910713212422361504508749957732313\"\n ],\n \"11982006502526789767668233417064585264093310600924340044954517912615843579884\": [\n \"18802483027326195103378333171517020057366107765715915053089349186495110613539\",\n \"0\"\n ],\n \"255407120477944482943084145554661599912648876642914441190414790071608353120\": [\n \"11982006502526789767668233417064585264093310600924340044954517912615843579884\",\n \"14711900641881804479280335904560726629947479442135790212994952412405868390967\"\n ],\n \"9348437004074367661167070938942786043781624508711464832396841581113816757248\": [\n \"10673894272618998593160201935781730119341844469672081004257060830735168748891\",\n \"1\",\n \"1\"\n ],\n \"6207803306837351253778448483186304038824233821177582459875470875401642252727\": [\n \"17673999250158103312383364453293721181783894733588014008756826659085884753339\",\n \"1\",\n \"1\"\n ],\n \"18295894689214249132843914596331378731335493560994252965016155826873778320905\": [\n \"3808462302292282319290671577646372079877110349107797019133139721495115769542\",\n \"1\",\n \"1\"\n ],\n \"17771859210578538577247085708325505937006435254802668010663812196099916476845\": [\n \"18295894689214249132843914596331378731335493560994252965016155826873778320905\",\n \"20116145436109290371317419728347942793997622995206355648712094844126735228615\"\n ],\n \"16339891076574278196296463628155988480273310752405557924955261925859670723926\": [\n \"0\",\n \"17771859210578538577247085708325505937006435254802668010663812196099916476845\"\n ],\n \"4247395886411166191866328208696673532280744084932588952064211277139858858476\": [\n \"16339891076574278196296463628155988480273310752405557924955261925859670723926\",\n \"0\"\n ],\n \"15644732893776594890763099686349884955338264919918645797540540122074493665836\": [\n \"18867646545196291449953486732222798326464730848565627857627322737571180204857\",\n \"1\",\n \"1\"\n ],\n \"1882973370312738474952437631374855105987098332007411182728635163745119485218\": [\n \"7198736059597755139251796610144146593979273756657671457832563495780368845487\",\n \"1\",\n \"1\"\n ],\n \"6793394478227435032484125985342817910600241969407756478698198512776925911863\": [\n \"8712112508246078228246338323133497464951673372746537191783701474713142360582\",\n \"1\",\n \"1\"\n ],\n \"1491777508230858741402167711487819086324826961570450128610477255984680262220\": [\n \"14737122837970123715041527733942572308412237552900138966546760893762943553038\",\n \"1\",\n \"1\"\n ],\n \"11250492555500093316539455201805202649464682469648932097993298631148253898917\": [\n \"1491777508230858741402167711487819086324826961570450128610477255984680262220\",\n \"17596768237658129078255143536867502454505327218988357418972007521683102637690\"\n ],\n \"1126523640914343780397023106810952042268898429832417998366052628850859849582\": [\n \"11250492555500093316539455201805202649464682469648932097993298631148253898917\",\n \"0\"\n ],\n \"147977381960137923457224554266189786188478393077231437941597517754598273099\": [\n \"1126523640914343780397023106810952042268898429832417998366052628850859849582\",\n \"0\"\n ],\n \"2462338379863356629109762197562266727937149140393481290314198096095807570350\": [\n \"13758226862535944622002281521372737161035721072066511092147139956539912225413\",\n \"147977381960137923457224554266189786188478393077231437941597517754598273099\"\n ],\n \"10283172177728159327580105147332980827320593584153727375879420144863082783646\": [\n \"5972103433345698115497163190469918521087633603269572491748263845198829982246\",\n \"1\",\n \"1\"\n ],\n \"14143777542052050445958287857680375043114125044319036659119793884125947495122\": [\n \"14414561275609191379841704420772750151806743576683352121944217824694565208199\",\n \"1\",\n \"1\"\n ],\n \"9456678948906794526572711709211433631955667616373497835806229217283655875564\": [\n \"14143777542052050445958287857680375043114125044319036659119793884125947495122\",\n \"307456578135920382135920762499723033846849888839001146233123773910086693542\"\n ],\n \"11026987525364245130161823724219443200746222517114457596135876484569466089789\": [\n \"9456678948906794526572711709211433631955667616373497835806229217283655875564\",\n \"0\"\n ],\n \"11551694536641627099815615308984874459205725630890140418266318353759319157505\": [\n \"11026987525364245130161823724219443200746222517114457596135876484569466089789\",\n \"0\"\n ],\n \"5292932838017085007073423515905425172334707427844252645998887384452732709929\": [\n \"11551694536641627099815615308984874459205725630890140418266318353759319157505\",\n \"13597089176498456407363815330803991403088747556699133725963026923939887994090\"\n ],\n \"10965635943497342057248805619904779261858249470074952455644859092409762144517\": [\n \"5292932838017085007073423515905425172334707427844252645998887384452732709929\",\n \"16256856813256188303087350717139797013638154167894615118158286850000615663378\"\n ],\n \"14588884583524672247913937869668450142204979373994753303711338169109761364706\": [\n \"13638055587945610325026250365308320089248777991990845944033957285989998153903\",\n \"1\",\n \"1\"\n ],\n \"6757375219311636840528823689811701101668803401429696952676014635419444213576\": [\n \"3972326863095280214989039302502030297825939102253910092126194309111478785045\",\n \"1\",\n \"1\"\n ],\n \"13410284510262238934637837521268510449757436051059606053958618893264625740839\": [\n \"45915583188994379589001272577005925758015996847499907897197844679733431679\",\n \"6757375219311636840528823689811701101668803401429696952676014635419444213576\"\n ],\n \"5153033831857013717967167796647870509429422421960108577222000822604283712412\": [\n \"13410284510262238934637837521268510449757436051059606053958618893264625740839\",\n \"0\"\n ],\n \"17666729117417203525122097073625549782008716831758457014927306842120257563983\": [\n \"4105681303760683096497458716941195771352540601151880943855941303536854319252\",\n \"1\",\n \"1\"\n ],\n \"2856022301512369043750822302010697112736281967875264440037941860980067015543\": [\n \"17666729117417203525122097073625549782008716831758457014927306842120257563983\",\n \"11332497341160045328239268290077920754653068912413469923663461512634072337483\"\n ],\n \"18568498246280891098387372104991470994029639438298366922717588033072722795414\": [\n \"0\",\n \"2856022301512369043750822302010697112736281967875264440037941860980067015543\"\n ],\n \"13173628035077442026115208165126998570638261991700830234878980451302390172090\": [\n \"18568498246280891098387372104991470994029639438298366922717588033072722795414\",\n \"1579364775912294181627694128568421137469207029106634177807166762696646198042\"\n ],\n \"1133579713560190743448949488739353137347420384908034254003730251941129364672\": [\n \"13173628035077442026115208165126998570638261991700830234878980451302390172090\",\n \"9367765069929053538765983793823395674382105729771355331365279065019303672682\"\n ],\n \"14740382034217525379722340455217280551148355516089977357399814707536371408110\": [\n \"10501191756682760499673158500338133501843550912142293400686712181942346813522\",\n \"1\",\n \"1\"\n ],\n \"21669414867220094246975207996743846975383147378270254589215927170125824936970\": [\n \"5095142588626470757457746560892226645993375592497122903971365034939008124572\",\n \"1\",\n \"1\"\n ],\n \"6556949849595243256622208041894195390873938837174988201280443782904411595513\": [\n \"2696297626666809010517125789858247254131113970612800464892213687429971102713\",\n \"21669414867220094246975207996743846975383147378270254589215927170125824936970\"\n ],\n \"14279287435979930731330034945998276511910284178298216440626591528074616706060\": [\n \"0\",\n \"6556949849595243256622208041894195390873938837174988201280443782904411595513\"\n ],\n \"10291084111421861282627771137355190536048181923050422305884126300070461292170\": [\n \"0\",\n \"14279287435979930731330034945998276511910284178298216440626591528074616706060\"\n ],\n \"19733300676197069627340566183171140942479258053765817593777810892954040755590\": [\n \"10291084111421861282627771137355190536048181923050422305884126300070461292170\",\n \"0\"\n ],\n \"220734810764252559991126703372191089929260657799746907371418412217134793266\": [\n \"10263308223344036244313789849107439849745806605523128609919499894891221833564\",\n \"1\",\n \"1\"\n ],\n \"10510299532558033104766747625195920532501448055618584805262422201494191437809\": [\n \"6494094861027505966831349092967054876836048668156351448482690454622367157457\",\n \"1\",\n \"1\"\n ],\n \"2832219225530097146098281293648436432188419061986338457631191875304841657532\": [\n \"8119247186410374735915626654032963727171182103290508964048298959123168814618\",\n \"1\",\n \"1\"\n ],\n \"18428517314613831334771975391505647511597029930942724560963879687967043408215\": [\n \"2832219225530097146098281293648436432188419061986338457631191875304841657532\",\n \"5486569859751585916893694494275677829091716955801579080128758028166202260282\"\n ],\n \"10462584002199784451878821250120480649583491569862928555098117150547233176032\": [\n \"16018919195033836921140941549464230945108840704364413467808857362985686129949\",\n \"1\",\n \"1\"\n ],\n \"21314761904744385623710013741355752955793451704782041821069055230020183332935\": [\n \"10462584002199784451878821250120480649583491569862928555098117150547233176032\",\n \"6926034514218353852493090912603726534194003197943764777065454916169753828535\"\n ],\n \"11954028843933556392647837164211376272092446676679279500034348064399398202756\": [\n \"0\",\n \"21314761904744385623710013741355752955793451704782041821069055230020183332935\"\n ],\n \"13191983414141954780787288153200126758710562071139814507675289225734947026784\": [\n \"0\",\n \"11954028843933556392647837164211376272092446676679279500034348064399398202756\"\n ],\n \"4375734684373224813587774365623709434649333305178384592565291065917250239069\": [\n \"3754157919702933558482089789042529683837668918424865684768355449878815731758\",\n \"13191983414141954780787288153200126758710562071139814507675289225734947026784\"\n ],\n \"8702029201439552597446253408016268799880676227280532536481055913198886717457\": [\n \"3193685463055418592507118937877078687986202926112505793384696414468112935648\",\n \"1\",\n \"1\"\n ],\n \"20990137400051965192775687773466798353844348172615098743532629811061755412234\": [\n \"12931201814102653373398914131854102156768616184263348005711953777641000808316\",\n \"8702029201439552597446253408016268799880676227280532536481055913198886717457\"\n ],\n \"21641808873511846985673563759747279003202431434118391567483637099323903767185\": [\n \"0\",\n \"20990137400051965192775687773466798353844348172615098743532629811061755412234\"\n ],\n \"1990851706663875408369316040889693290940774996933940956545123890139445842340\": [\n \"21641808873511846985673563759747279003202431434118391567483637099323903767185\",\n \"0\"\n ],\n \"472144242283646628198503614209622598559799078026289403114003334390892605896\": [\n \"0\",\n \"1990851706663875408369316040889693290940774996933940956545123890139445842340\"\n ],\n \"4741740294040034094324784687073731520633728732936926263503482063571384888970\": [\n \"1193165784563905292101012448978116538967999364868458237175581957186865773978\",\n \"1\",\n \"1\"\n ],\n \"17660460444248744126543526935897568752368081671227543976257990053778561835209\": [\n \"4741740294040034094324784687073731520633728732936926263503482063571384888970\",\n \"17926890672523924109982236967533855153250041791625356568715028310474085447775\"\n ],\n \"20084542065232313411188938925159392922354736289022185401005416650499012086788\": [\n \"0\",\n \"17660460444248744126543526935897568752368081671227543976257990053778561835209\"\n ],\n \"18122806727799841272359340463669861399401989105987917571462510262915069561537\": [\n \"20648260346198931863685724098634265378586695462926414805872968085103136908742\",\n \"20084542065232313411188938925159392922354736289022185401005416650499012086788\"\n ],\n \"15535242282487979684620178920320764195801737496808766118567273650127827535542\": [\n \"14088052673252175980819207268209313048803006517387535579077848276405406497092\",\n \"18122806727799841272359340463669861399401989105987917571462510262915069561537\"\n ],\n \"9274614109008812428383704545871953085912151381391121207014856284322174487195\": [\n \"5246687837750724813111508962234986870800090749349272079690915033494550921240\",\n \"1\",\n \"1\"\n ],\n \"1543862980316356072141397112485520853065302041522579682640515026641190536046\": [\n \"9274614109008812428383704545871953085912151381391121207014856284322174487195\",\n \"8320471456206865488104235184290689279369358205377322990110923237710274882089\"\n ],\n \"13845861905703446853431113834878619382374409606849560926565346051448252092852\": [\n \"1567559050726631965199644334733158053665174230356736125353908301658837267708\",\n \"1\",\n \"1\"\n ],\n \"5982780449333218170163763632921499146866630340262229215190409888258577414035\": [\n \"9980222688317946774690967286267351809363680036442691835396142650914342822808\",\n \"1\",\n \"1\"\n ],\n \"21272066966240804463982056106842272906321274639713084521336598903397947795650\": [\n \"16561226601091418782201822707866764089043116888475454728855683953488911929808\",\n \"5982780449333218170163763632921499146866630340262229215190409888258577414035\"\n ],\n \"17511375535507197420421679993604189707769263836500992616163593377664602275638\": [\n \"0\",\n \"21272066966240804463982056106842272906321274639713084521336598903397947795650\"\n ],\n \"15420487909069918901907624050426438534733832249846419402100945776433518709489\": [\n \"18559742932126300079981282596835040419059050846671548061360789900790653656323\",\n \"17511375535507197420421679993604189707769263836500992616163593377664602275638\"\n ],\n \"18225347944306987270155329812076675401597733619423051709503676631689528812769\": [\n \"15420487909069918901907624050426438534733832249846419402100945776433518709489\",\n \"10625713386942161878270578142456251634605549219167592270871723091293466983427\"\n ],\n \"21612639328262314847657586734543061343213296506478790516604396331000432510919\": [\n \"2578473832843179535775602092831459468899023518212207920637987547583675807833\",\n \"1\",\n \"1\"\n ],\n \"10248573916140376973427607967851997897167882028660816243817075566076058250161\": [\n \"17400327913510810442017638919601554683506381949679984475318490386116273677053\",\n \"1\",\n \"1\"\n ],\n \"20777239684438683230511019585063437556739425919544901625092257764042218442121\": [\n \"13270695454636144492712890805775417699386200223362687121424317643669874464763\",\n \"1\",\n \"1\"\n ],\n \"7654672352912321832679541081591524200070297760557044061033941991200679527541\": [\n \"20777239684438683230511019585063437556739425919544901625092257764042218442121\",\n \"12709371762478340763849392211765050995457900054841647398045482054756235140869\"\n ],\n \"1907344897892092623151321709258163995935108625681988046037366005048279255093\": [\n \"7654672352912321832679541081591524200070297760557044061033941991200679527541\",\n \"0\"\n ],\n \"19467843681728482663015266221372847987752220977435868889044602046828792700132\": [\n \"0\",\n \"1907344897892092623151321709258163995935108625681988046037366005048279255093\"\n ],\n \"12371732840420122716029631796080212957820887514334019288796667487747183499641\": [\n \"0\",\n \"19467843681728482663015266221372847987752220977435868889044602046828792700132\"\n ],\n \"19082652591806344602203460552013236612178044899551108936921089877184528578572\": [\n \"12371732840420122716029631796080212957820887514334019288796667487747183499641\",\n \"8592966727847260052359575807549411986982850831170140994382550486776950493112\"\n ],\n \"17530054044472182175037571813357799405257770495884196406793451715559108706893\": [\n \"2977756435671557229161774810564621874012019760555746842487876066465700038324\",\n \"1\",\n \"1\"\n ],\n \"3708548923454764422579650956565822252285768392932243416221843128375292878277\": [\n \"5909890153513495542021034535988174791854238770823670661458655029141271255876\",\n \"17530054044472182175037571813357799405257770495884196406793451715559108706893\"\n ],\n \"14188286312500199172580857950587866946989842239702566470753394217700825139200\": [\n \"3708548923454764422579650956565822252285768392932243416221843128375292878277\",\n \"0\"\n ],\n \"101784645160578677031309039022905559673008664580977096379557023983909980347\": [\n \"14188286312500199172580857950587866946989842239702566470753394217700825139200\",\n \"0\"\n ],\n \"995540449389131880729472725425073765276084066882886135178197081457468982263\": [\n \"3734691507275541630362629111216564505762893656630707701850278815662993039253\",\n \"1\",\n \"1\"\n ],\n \"18914859006853467030684395466112898634511076995380838085905128041409051721440\": [\n \"3317738395554566980724353213679431285826964966412941635885084182227915091744\",\n \"1\",\n \"1\"\n ],\n \"21727106728716448153981482077192177784432208911956941547665415211588126396255\": [\n \"19246163919634977971313493106891239217928090644582143639794759932538585235652\",\n \"1\",\n \"1\"\n ],\n \"13361878889408128600195554329817101941356805806508245476765271526573568487467\": [\n \"21727106728716448153981482077192177784432208911956941547665415211588126396255\",\n \"15035387351203717860680333183716522280847492576475238054727586146034745761034\"\n ],\n \"4654412881462661853066551038337325258520800902715720413188004829189313575909\": [\n \"13361878889408128600195554329817101941356805806508245476765271526573568487467\",\n \"0\"\n ],\n \"7291271469792713520902788123349347324808092656936804142784327287378090657858\": [\n \"4654412881462661853066551038337325258520800902715720413188004829189313575909\",\n \"20159418242142600554793406103920013325386309867726901919520014364190303368668\"\n ],\n \"7492802351977383593866299692292208615494762479380071854488375192491672604140\": [\n \"12410560991663393269641671767732229597672567172927125500217321818998690173739\",\n \"1\",\n \"1\"\n ],\n \"7454605811097294114623671728072911291825556859658125236884244992354986583074\": [\n \"19561446927930650645785097772023851713477207762484243185911065287197091544146\",\n \"1\",\n \"1\"\n ],\n \"20866391307109909596291670695260972192983023144854115860814587756465743445675\": [\n \"18653363962306619656124978544628440255003712565392748391825254494301565654810\",\n \"1\",\n \"1\"\n ],\n \"19487534052277522619655579242628414462005486325870684883324522159705742442582\": [\n \"20866391307109909596291670695260972192983023144854115860814587756465743445675\",\n \"13185366421119274640760511091615432464468790425186691994056626163251667123352\"\n ],\n \"14080392446934132790579677441747538491710424677654689572446922555084575861156\": [\n \"0\",\n \"19487534052277522619655579242628414462005486325870684883324522159705742442582\"\n ],\n \"8438634158798449596348309437085655339327637015121994341343477148594446765425\": [\n \"19832605158525486371502426370502896339684083329751509572325797027747522966206\",\n \"1\",\n \"1\"\n ],\n \"4904694759781687824608654435045477187974402585925413000916498126817391984629\": [\n \"8438634158798449596348309437085655339327637015121994341343477148594446765425\",\n \"7536877459672374356084305491671209892530644923255459827950557302029635963063\"\n ],\n \"11818973410351797027336260667913789171345963257272955594251687475564340435123\": [\n \"16440065367539711053094477011506204650670928023510401679632247440717149130339\",\n \"4904694759781687824608654435045477187974402585925413000916498126817391984629\"\n ],\n \"4724188924452065263832945632292233553226058530379420609453283113985624141863\": [\n \"0\",\n \"11818973410351797027336260667913789171345963257272955594251687475564340435123\"\n ],\n \"1634738158304386964046105645811091626136111558021632920833782686771108319820\": [\n \"3866457959977186171650601967590895734965908564570951700066272377354853991722\",\n \"1\",\n \"1\"\n ],\n \"13776650436934765204053678897863757222309183857882632676410329340938499978521\": [\n \"6676204605267065822958064189306376464425296787640181245926627714376956628403\",\n \"1\",\n \"1\"\n ],\n \"15762398541093187227518488713473012645700796370250768854570748828159892089286\": [\n \"13776650436934765204053678897863757222309183857882632676410329340938499978521\",\n \"19104267559435646069427355511015893323093322089292604787164512280687812310882\"\n ],\n \"4493749931549392965010133692043803162934945898453305730408792121914963389322\": [\n \"5397452538438376500741198177301813341947736588596162587169306428551285701543\",\n \"1\",\n \"1\"\n ],\n \"16204139197346911376440002152771135260307438924702089130692460273393520928793\": [\n \"6393334271404172016450569560941763599180411458639919315923996103740400227805\",\n \"4493749931549392965010133692043803162934945898453305730408792121914963389322\"\n ],\n \"6069169669403305844490934159322714910627767639775557856459924590023021927748\": [\n \"0\",\n \"16204139197346911376440002152771135260307438924702089130692460273393520928793\"\n ],\n \"3900369501470985832499130160671553838588090445077527889807938414833815618721\": [\n \"11174065792766811046960344574537922459291138857496799387904942036430006183467\",\n \"1\",\n \"1\"\n ],\n \"19864196036286094057791835612914967701442201144055732347714745484163873505530\": [\n \"8776254134158047475715815431456736289640003393480245202123311555318968406275\",\n \"1\",\n \"1\"\n ],\n \"2066576835295512972490174523624806761042377402113707286719035383397646373787\": [\n \"15519010721709581041341394180469739774834775706292397118398369307159793630972\",\n \"1\",\n \"1\"\n ],\n \"16738874728467082280927145363463662556251616719145024070641393769479516091663\": [\n \"7201408440030500007309190889018465435473259536014152934002690693526541888986\",\n \"1\",\n \"1\"\n ],\n \"4944570713029608539862410076079473357174994081206327140349345338528435421599\": [\n \"20002238522514031695399934564302186012593473932594845920053112801517470561078\",\n \"16738874728467082280927145363463662556251616719145024070641393769479516091663\"\n ],\n \"16969183746725075243360127069961793501936397988849039973816431399803588680103\": [\n \"4944570713029608539862410076079473357174994081206327140349345338528435421599\",\n \"5257188054047163246703452582896577317478022446150753151382080235893761954090\"\n ],\n \"13741596601103851913833928927260297255067475089991386881111813032123410895055\": [\n \"3416098541870526573909849467431951488444215147766215755710989700209413815389\",\n \"1\",\n \"1\"\n ],\n \"2529820786983972386002702873093316929168683655172507742806561204154590642783\": [\n \"13741596601103851913833928927260297255067475089991386881111813032123410895055\",\n \"16481657961221479271305288061826119859236740109096212259881455707295465433478\"\n ],\n \"8205653674113710097150074726211570517724931693826951415976891126595972166823\": [\n \"0\",\n \"2529820786983972386002702873093316929168683655172507742806561204154590642783\"\n ],\n \"15146122967220517681067014882929850355960568575193499147805041988215154999367\": [\n \"0\",\n \"8205653674113710097150074726211570517724931693826951415976891126595972166823\"\n ],\n \"806391830980859039035643824458817103985917801136255879670979030294986678191\": [\n \"505035756699274795251300597478440752100207122748597618936853813730866728891\",\n \"15146122967220517681067014882929850355960568575193499147805041988215154999367\"\n ],\n \"13527593233430643192686881422569675222484192015489329925658335766893731272822\": [\n \"11150957809144181902514014670962341879709928083516221665819479345641784125919\",\n \"1\",\n \"1\"\n ],\n \"14185075707523984658717499855550319364056931708331226163595166433380968975043\": [\n \"13527593233430643192686881422569675222484192015489329925658335766893731272822\",\n \"2153887326075784794249553586979138817553464497789718108775490221798297997705\"\n ],\n \"8953855030305519622232446970638580091209892612962960063152331630834882407424\": [\n \"16189800265721794363811220624685705728707844702125000177284309785746423694156\",\n \"1\",\n \"1\"\n ],\n \"4554271550541652334475734973321036260295273963828614545325867960523559602535\": [\n \"10162472313870281183981790348120146167083164887038470136850990181762119108810\",\n \"1\",\n \"1\"\n ],\n \"4664113831290567958731966644566873897246869477434680590807790803071396685883\": [\n \"4554271550541652334475734973321036260295273963828614545325867960523559602535\",\n \"18860353271225774276159803681338838996630166193358789204155680292939104063683\"\n ],\n \"10439338003375675229871373651923594887353918833058081858796722872551599970657\": [\n \"4664113831290567958731966644566873897246869477434680590807790803071396685883\",\n \"0\"\n ],\n \"21518344364769514208031786750123320803598674815977082180744266386911337372451\": [\n \"5787523535615333546582575465370027728814770080471899077473475096756945607542\",\n \"1\",\n \"1\"\n ],\n \"21752633218636984651593912981021121325508131726527439037951291524284891357604\": [\n \"21025234216942335088599158743478317354512274364726588357480647165148174102557\",\n \"21518344364769514208031786750123320803598674815977082180744266386911337372451\"\n ],\n \"8134376371742415138102759034123077091852607423181107590249985854267464063858\": [\n \"0\",\n \"21752633218636984651593912981021121325508131726527439037951291524284891357604\"\n ],\n \"2311876445632927322936528459005673746691885461985746746915981688143608008126\": [\n \"8134376371742415138102759034123077091852607423181107590249985854267464063858\",\n \"0\"\n ],\n \"12554900408423551422566075896247122740640439838812406289691061474255737035120\": [\n \"11465160474945715933694628899672445498777056750739755761952506271571734816259\",\n \"2311876445632927322936528459005673746691885461985746746915981688143608008126\"\n ],\n \"14357136884905593232366042130895755405356115036664708946309468351672172191475\": [\n \"8580082422971346106888998460747593371157293585960015339396969361144185186239\",\n \"12554900408423551422566075896247122740640439838812406289691061474255737035120\"\n ],\n \"14715184885668969593711940364906147205261384112000026117116083362786994217071\": [\n \"14357136884905593232366042130895755405356115036664708946309468351672172191475\",\n \"13101267152509958359943247002494876008317520087390205316928266617459092271704\"\n ],\n \"2567340981866829860325519366926648293792547161871963516755381636005108541844\": [\n \"2455369210001949154864824692517365693186672697364664959851162267156130222550\",\n \"1\",\n \"1\"\n ],\n \"2658827909434357917132049863037083892094561618325866829115444324463114962188\": [\n \"2567340981866829860325519366926648293792547161871963516755381636005108541844\",\n \"1430105660833057064370947254612111201309294778475151097063101075584585767748\"\n ],\n \"9457438152356883665670626761560191440568100847679047248483205549249027730165\": [\n \"15262782207417368302001974968648077480862094584888673293892114091879638849891\",\n \"2658827909434357917132049863037083892094561618325866829115444324463114962188\"\n ],\n \"4339672836949462773556792651898257774654901019642583752478541828084144031640\": [\n \"9457438152356883665670626761560191440568100847679047248483205549249027730165\",\n \"10363380220056172591739440805722316376841040576294137701090395712133588731088\"\n ],\n \"15079473149804187290272989916686692903461627452737671340852008383184932507806\": [\n \"11329133562114434680191081594070621730864706899587898731145769647274300980056\",\n \"1\",\n \"1\"\n ],\n \"12198792084326858795971255807151178943087136094714217338199477575628503874978\": [\n \"14689021631081579492954163605176785913544777211466301081238709824885497520521\",\n \"1\",\n \"1\"\n ],\n \"15985791337681481739219173549465053382359242548730296857652260113333029289901\": [\n \"11806636420115360982454080756813875640522749596703436121674593174623378540294\",\n \"12198792084326858795971255807151178943087136094714217338199477575628503874978\"\n ],\n \"19148125633104341321753170488406134845836034127843243299071171123780817376187\": [\n \"15985791337681481739219173549465053382359242548730296857652260113333029289901\",\n \"0\"\n ],\n \"13234979070877054959296247416365120970411985939258518280972988944274283130736\": [\n \"6436314623913703998875225381708291745610163023921782849853557559335172089216\",\n \"1\",\n \"1\"\n ],\n \"608626545694967013414898293155026690504889007502240135811786409552835116607\": [\n \"9492516555459827212541608921091629283341100966588616780527036657751566443291\",\n \"13234979070877054959296247416365120970411985939258518280972988944274283130736\"\n ],\n \"21410330884628057471664840461437495079986789272774571889409313339475267345501\": [\n \"608626545694967013414898293155026690504889007502240135811786409552835116607\",\n \"13946734079412176402474626971354856764020116144969869423496946577130753610619\"\n ],\n \"3328824265770713065811416434881757022938254594464236050207091346941614246035\": [\n \"21410330884628057471664840461437495079986789272774571889409313339475267345501\",\n \"6217039975312035414716795323666199943429706611391976010744888567828036242243\"\n ],\n \"17226437971729843278868758647338265721169489587100255648954792183583710980518\": [\n \"1528069533267796953101636266439096252255363347597289297141618763401802663337\",\n \"1\",\n \"1\"\n ],\n \"16670369233313965942456944428435246817429202503759445466081126181577819182148\": [\n \"17226437971729843278868758647338265721169489587100255648954792183583710980518\",\n \"19472268994361277963436201880577534904922378054320673016628715404525732906967\"\n ],\n \"13571200439674448318877461346437368341511376022254628398108550000721192249944\": [\n \"0\",\n \"16670369233313965942456944428435246817429202503759445466081126181577819182148\"\n ],\n \"6047202458121401650468540143789509303222177602888392501223467598638363866139\": [\n \"0\",\n \"13571200439674448318877461346437368341511376022254628398108550000721192249944\"\n ],\n \"8461120423236645528884184111981831993471002486274140978552342253976833448879\": [\n \"0\",\n \"6047202458121401650468540143789509303222177602888392501223467598638363866139\"\n ],\n \"16118707225277707607438023082701359944987347243705543588887867462779856913007\": [\n \"8461120423236645528884184111981831993471002486274140978552342253976833448879\",\n \"0\"\n ],\n \"2004264853869018699952669635812374702382307166708314695091358546556855991770\": [\n \"16118707225277707607438023082701359944987347243705543588887867462779856913007\",\n \"0\"\n ],\n \"18440769012966167545018803752634966537925612126105631043368904475719881395853\": [\n \"9949779534303982150521750281163538245349993443212965417200109032210981633941\",\n \"1\",\n \"1\"\n ],\n \"2602017332614197447763054819812943487624580793629286363485745102270342600381\": [\n \"14883290850670429785732252449297428317764208930574565816812075635914981978467\",\n \"18440769012966167545018803752634966537925612126105631043368904475719881395853\"\n ],\n \"6376402325032536502299912752434215422526518273343112660342195627787942713575\": [\n \"2602017332614197447763054819812943487624580793629286363485745102270342600381\",\n \"0\"\n ],\n \"21004002023127090203970013313481456225118891241020745450665892129438712736341\": [\n \"1223624169018644854767550254516651689621158424349609420489556757627566343233\",\n \"1\",\n \"1\"\n ],\n \"21719529031027793308931034269972647535664889441956464676817223667155549162455\": [\n \"21004002023127090203970013313481456225118891241020745450665892129438712736341\",\n \"13805232261552442891242779912792308027324475045104727254064807262032757661056\"\n ],\n \"20829902085399499892303847864581551201709684948194134768391150552764485854658\": [\n \"3730024169365427454543934875402942598320488708284299102584325029690198986069\",\n \"1\",\n \"1\"\n ],\n \"4363763358888674630499144267954503422797019314017165781611246205583851127296\": [\n \"20829902085399499892303847864581551201709684948194134768391150552764485854658\",\n \"8410782327546919201091257187991166926471726326081889430780323518308616065600\"\n ],\n \"13825454527758155855312205011069816211566350314252090442190568115628874411272\": [\n \"4363763358888674630499144267954503422797019314017165781611246205583851127296\",\n \"0\"\n ],\n \"2842515868972682955577363303968099313866014709891994120643218646135885917957\": [\n \"13825454527758155855312205011069816211566350314252090442190568115628874411272\",\n \"0\"\n ],\n \"16179924147935799233402404928649815991269481660497232770032196242059089417041\": [\n \"9205112637439314870066938550371657553707933118854980434709064470565859322256\",\n \"2842515868972682955577363303968099313866014709891994120643218646135885917957\"\n ],\n \"20430483394945977906828033591754850602808573813434891233632526039587275341032\": [\n \"16988006795476746759877005925052807740049216515725513602275814988513431596082\",\n \"1\",\n \"1\"\n ],\n \"19308496459974033775892102666436684507419598597038650161957204787063336810800\": [\n \"20430483394945977906828033591754850602808573813434891233632526039587275341032\",\n \"16952551408340608772717713645252390091271645214087016063183754566503240534227\"\n ],\n \"15559383493748747369158038074711970756651092559331570754729591057234501431622\": [\n \"0\",\n \"19308496459974033775892102666436684507419598597038650161957204787063336810800\"\n ],\n \"8563853384243933738080836524278467799458301884247166454955741402823465472311\": [\n \"15559383493748747369158038074711970756651092559331570754729591057234501431622\",\n \"0\"\n ],\n \"5873919973189616582279046802412453750262485881257201723982613781313128796849\": [\n \"6799863355924261659711229168540287844492999634768039801576029199202406117057\",\n \"8563853384243933738080836524278467799458301884247166454955741402823465472311\"\n ],\n \"9236747066471012343910987909954589201224281116770825956211745497307365176423\": [\n \"16332404001564519494956335436535183642864661196918441577568255175526580369128\",\n \"1\",\n \"1\"\n ],\n \"18201318206021457836479025852541444436226635399262987657478911862704526287595\": [\n \"11591870885323224691298726389518433768216554275465729675820813159431036447902\",\n \"1\",\n \"1\"\n ],\n \"12289038670088541745447636431237811687602532218290934091019886437421304231485\": [\n \"18604973137100590628794987135568010118735378082750184113962561380655422132515\",\n \"18201318206021457836479025852541444436226635399262987657478911862704526287595\"\n ],\n \"17497319272841806052213528583664723700265860201665721953414734180614470295231\": [\n \"5537185018353541050663877133129040046566014109754227229224003650007663988698\",\n \"1\",\n \"1\"\n ],\n \"11959627386223091766238904988965101970606957231946930154081704234230326516673\": [\n \"17497319272841806052213528583664723700265860201665721953414734180614470295231\",\n \"15552122528710843670024673499537368791515088960444389990505534039278191180743\"\n ],\n \"18895091750620494957585135532242435063483250227044305377431689785363450746486\": [\n \"2985841919362779240641353911670256252252357188371548820704326356969465313093\",\n \"11959627386223091766238904988965101970606957231946930154081704234230326516673\"\n ],\n \"14401739516577444715637174879421698617408985544462162066086759394383310095969\": [\n \"21489889189964386016663617544957951180104214555932256300369914637448171388318\",\n \"18895091750620494957585135532242435063483250227044305377431689785363450746486\"\n ],\n \"18009227401168862892806513986019803384672941412000545840618510071676744979791\": [\n \"8116851244383998344951206788964899878115000269427600917511584208314158264429\",\n \"1\",\n \"1\"\n ],\n \"7183444108699343496626262399367302633939079276025900744121396740473543982911\": [\n \"14111965012699565888465758450347733522394789039119060888708609426909166479906\",\n \"1\",\n \"1\"\n ],\n \"3179929829045335899967528885425285369656424904407428347484394406168911176722\": [\n \"9998638315317728786438683870031844548278961151912979627908329694297532630125\",\n \"7183444108699343496626262399367302633939079276025900744121396740473543982911\"\n ],\n \"16651098726875878280636261730854794251850902622982022603953304086311344665105\": [\n \"6521039345880064761104586697271625202189765433846739068813063086040046688221\",\n \"1\",\n \"1\"\n ],\n \"19197405606781708597137191447564606543182342447673959317198696089056880165406\": [\n \"14439303598078756159968395138139499811450298037912048196970565737339958378958\",\n \"1\",\n \"1\"\n ],\n \"5598147728604356617414324781435447628002171457410269536016163959324074237286\": [\n \"19197405606781708597137191447564606543182342447673959317198696089056880165406\",\n \"16885445415441215512594991184022698035263759989901904333288188415096729594545\"\n ],\n \"4402949502464523937697363360528019845959733786679201116880638191349434463834\": [\n \"4684855758536502939322059692045241689233888242086003310722611361155244038685\",\n \"1\",\n \"1\"\n ],\n \"1349746524178856817473698404463771579923784232075982791202066451793579516194\": [\n \"20639697693352222591201792348354552251037234523088844356292382478526798243241\",\n \"4402949502464523937697363360528019845959733786679201116880638191349434463834\"\n ],\n \"10508312917991590644478474450459637698133825871232441189130055516964667033043\": [\n \"0\",\n \"1349746524178856817473698404463771579923784232075982791202066451793579516194\"\n ],\n \"1656524510567779376026334104245275423789154240709395867245514579321190545428\": [\n \"10508312917991590644478474450459637698133825871232441189130055516964667033043\",\n \"0\"\n ],\n \"16902061484659849088239467085897263905156319374351973766801478775609188954111\": [\n \"1656524510567779376026334104245275423789154240709395867245514579321190545428\",\n \"0\"\n ],\n \"21298235609515066364757011356732062797609919980035802668295645950189856120836\": [\n \"16902061484659849088239467085897263905156319374351973766801478775609188954111\",\n \"11766753983103956426648501409652685330794417823357792503767766831835381343568\"\n ],\n \"3536234500879197192352220931046328885383953022951917632812850706305974513843\": [\n \"19718320719618445991889159578888367521296755595348111028465020494410036698075\",\n \"21298235609515066364757011356732062797609919980035802668295645950189856120836\"\n ],\n \"3063684501906595743036673812463888024938149171499960349198828249139166818882\": [\n \"0\",\n \"3536234500879197192352220931046328885383953022951917632812850706305974513843\"\n ],\n \"3769483086018764682492744228960372655992691395761894085584598482486225927210\": [\n \"3063684501906595743036673812463888024938149171499960349198828249139166818882\",\n \"0\"\n ],\n \"21804353229076234116613192082588406636002028733446474580181833294349431372543\": [\n \"18153638531770039850719767660719493153163948720668298643079750166700093702769\",\n \"3769483086018764682492744228960372655992691395761894085584598482486225927210\"\n ],\n \"7728357461186873690100490650153144747566562399177047196098849673392989671060\": [\n \"12689786874408312761298302009915079409600503729500350574474653154961099975838\",\n \"1\",\n \"1\"\n ],\n \"6848239425503020710013306327118210070243516443537112760634307797745555227470\": [\n \"12289038670088541745447636431237811687602532218290934091019886437421304231485\",\n \"7728357461186873690100490650153144747566562399177047196098849673392989671060\"\n ],\n \"17441914097233041833295147723428756704654495724621572868728413048550230058503\": [\n \"0\",\n \"6848239425503020710013306327118210070243516443537112760634307797745555227470\"\n ],\n \"2397760713616674138006584744226128053191454562688324342382567648677646819891\": [\n \"17441914097233041833295147723428756704654495724621572868728413048550230058503\",\n \"9835518729972664123157592276151902736858412010062218161074191401172853462062\"\n ],\n \"7393902847906278158727474392745145134085552715732270989417137950640139130100\": [\n \"19023430811865013479886310412496885581120492825249365624984038701810051372476\",\n \"2397760713616674138006584744226128053191454562688324342382567648677646819891\"\n ],\n \"14428013221929659620182078365932122355927010901317919553257494399396424298552\": [\n \"9218812398576162705888918304505660305673114679442742419795710111643154567562\",\n \"7393902847906278158727474392745145134085552715732270989417137950640139130100\"\n ],\n \"14491689660750183247311376886165501914048632886120567730358511270082628074323\": [\n \"10489618452735033512089857552623143648678175729183814866554855318082799371033\",\n \"1\",\n \"1\"\n ],\n \"14836753283231642666089521009485436701711571293522490048370536453583806782102\": [\n \"14491689660750183247311376886165501914048632886120567730358511270082628074323\",\n \"3392937652719656927712471663988240171598242300001231584330888666016726361090\"\n ],\n \"5719711423482411830928511679743992298969355785687759601963332497167154623175\": [\n \"0\",\n \"14836753283231642666089521009485436701711571293522490048370536453583806782102\"\n ],\n \"8700780564279507909592237090382006050288375813106120624093045834234666540918\": [\n \"0\",\n \"5719711423482411830928511679743992298969355785687759601963332497167154623175\"\n ],\n \"9501617911203203785692123812130111662111059178761061538895148670492003053784\": [\n \"8700780564279507909592237090382006050288375813106120624093045834234666540918\",\n \"0\"\n ],\n \"4966348166516608147271986852171618713255004776015280735052271629747419389608\": [\n \"9501617911203203785692123812130111662111059178761061538895148670492003053784\",\n \"21220331713060081632106189057607681701748919698835897160570637103273079586521\"\n ],\n \"14599242366402850958603508381115138357703638008491917679597464219280185922186\": [\n \"14340917025198987054404014992925242463714284388168970105901054205734733891698\",\n \"1\",\n \"1\"\n ],\n \"706343900987980582099902795479028840990896070494424187257895866405784015871\": [\n \"14599242366402850958603508381115138357703638008491917679597464219280185922186\",\n \"7174281465844433428768031535179624934419267320506175947391727557933519372787\"\n ],\n \"12076657949750020617206624857429523242854859626537814071684577884352609854787\": [\n \"13971564061426621617965337712637648615381307244305927336419067534642860784744\",\n \"1\",\n \"1\"\n ],\n \"11549123048701223455399091117557895168032460396488057025597148311836299156804\": [\n \"12533456025317906320840804411967393871019910559434764301492620192136808642997\",\n \"1\",\n \"1\"\n ],\n \"18915913194860087990653734143378311224424574048075702765959391035112681968059\": [\n \"3117698710178734398469046544686720264099862754627054725201271266028496869613\",\n \"1\",\n \"1\"\n ],\n \"196558828532567209370482459249374549207622725811840790608875215559585534025\": [\n \"1439825280711030417826126626578876111416864360436248620293226160463296867286\",\n \"18915913194860087990653734143378311224424574048075702765959391035112681968059\"\n ],\n \"14638809094310403785244150020221552300059521521330212865483185501385990810823\": [\n \"196558828532567209370482459249374549207622725811840790608875215559585534025\",\n \"13946013763295459035455228892044569528168706654404051020047859367736268189974\"\n ],\n \"8586919057726763068478199749304634438061776607902586406467937378949065969802\": [\n \"293560054443040648517427787414584769382368476113812717991606015747415868528\",\n \"1\",\n \"1\"\n ],\n \"1059827018296990528414278059440299194650247999041811370575116859533345799652\": [\n \"8586919057726763068478199749304634438061776607902586406467937378949065969802\",\n \"8787150233465681240105353754936334938473268295652906767144645419267863589514\"\n ],\n \"20079271956936137572874751222678758333697022479853420139170622301421601587914\": [\n \"21461998637399622179927492250185752091083418431211557113464336170880777473851\",\n \"1\",\n \"1\"\n ],\n \"20745685534198946001741882904668592894564152827581609771805275431613043148896\": [\n \"20079271956936137572874751222678758333697022479853420139170622301421601587914\",\n \"16531678403759595033244208260496057555741338935873088402813321576427983352126\"\n ],\n \"3551491203322141455380908634699722720064924547805473498782672014549391356329\": [\n \"13167045068536300570470757861563734362185730993897200327665072947474201914482\",\n \"20745685534198946001741882904668592894564152827581609771805275431613043148896\"\n ],\n \"898428136793716371272820045754710871434268890095919199928746311472080182847\": [\n \"5324628756484098924551081280651791125394761021666767841018796921194772964671\",\n \"3551491203322141455380908634699722720064924547805473498782672014549391356329\"\n ],\n \"18974072442962801558939571383765751613843138895583321278534906239417725539605\": [\n \"2422083430721312002128894935726874917642531714504048709535034913326081033684\",\n \"1\",\n \"1\"\n ],\n \"18531038051578699447745797633875053508194529618997027194011156250823844595021\": [\n \"18974072442962801558939571383765751613843138895583321278534906239417725539605\",\n \"16509836268921139020595092182882790619008620339482506910577112595750827645703\"\n ],\n \"20924298785785418554059863889570618292117485856052110797130392567736405942187\": [\n \"14699635732065682956451509577515625098459631399090543013430610336740039623263\",\n \"1\",\n \"1\"\n ],\n \"7693594347538354038649131289611759511400324210556165698223407484470689783490\": [\n \"20924298785785418554059863889570618292117485856052110797130392567736405942187\",\n \"11310677465039035856535347214419771838244438606195716030583007862298145892635\"\n ],\n \"5926099825129212995180325084573316460763551518934872634057438323822765899912\": [\n \"7693594347538354038649131289611759511400324210556165698223407484470689783490\",\n \"17520708311059020394565461628930489484944930673599017130571533295328687941571\"\n ],\n \"9602972352253300953242578477098731089544540917532868740609697165791324825390\": [\n \"5926099825129212995180325084573316460763551518934872634057438323822765899912\",\n \"3022415966854527560270159320780770293476594068474732255383530407844758942893\"\n ],\n \"19862098396075713111510414741619768589372571179759599505602733406914326370653\": [\n \"19216228299458773920664625388420019783604505871168772542784873116028795379906\",\n \"1\",\n \"1\"\n ],\n \"19486196574731045429028432524527350291135311713416552171327745231187159480622\": [\n \"2831923013422655779313331111617808448644218118837265436209875068231204368672\",\n \"1\",\n \"1\"\n ],\n \"2926775578341260113322125637580604844709943203600614232391850450132354134594\": [\n \"1423462535306496226093819932505784163615952055173790209700012934992386787076\",\n \"1\",\n \"1\"\n ],\n \"8437496787627197320643124145579638950407863487298574860564273181635940207884\": [\n \"11658484328985702119689801034668442223346845355175215873393341923248503646736\",\n \"2926775578341260113322125637580604844709943203600614232391850450132354134594\"\n ],\n \"4659569434026048927584965739331461153570028646543552526860622482399445632583\": [\n \"8437496787627197320643124145579638950407863487298574860564273181635940207884\",\n \"0\"\n ],\n \"11610187486207297449678924468137543546085628323252105994422841760173978895791\": [\n \"4659569434026048927584965739331461153570028646543552526860622482399445632583\",\n \"0\"\n ],\n \"9899705028387990474137200845415677073857154475822777739786730672087376443275\": [\n \"21248942132410900159485604782301722268342800955072504937094870588059451133848\",\n \"1\",\n \"1\"\n ],\n \"9706081884157026877154320282607706665246458133665577966001508834889781994196\": [\n \"20437444073706429880141369385275548689270898844158127108970290749249705563709\",\n \"1\",\n \"1\"\n ],\n \"3713555906207558447394951561359086112758000482828276272422771411861988670883\": [\n \"10522312070972773406342033078456579765386795138192396169105158053033368773765\",\n \"1\",\n \"1\"\n ],\n \"409762433202429694853484287721839606886521586623717360241214766788135400486\": [\n \"3713555906207558447394951561359086112758000482828276272422771411861988670883\",\n \"9235285007071710963655518562349917079367133763410255568194055179699113729802\"\n ],\n \"9534987925316660496876420515549140068279433869877943899634418049358209394592\": [\n \"0\",\n \"409762433202429694853484287721839606886521586623717360241214766788135400486\"\n ],\n \"12388656419116774363583407264231240422425889397313439243629214708609054915326\": [\n \"0\",\n \"9534987925316660496876420515549140068279433869877943899634418049358209394592\"\n ],\n \"19919627246763818088168499264514665005889398738166276592275875298691259391027\": [\n \"12388656419116774363583407264231240422425889397313439243629214708609054915326\",\n \"0\"\n ],\n \"13693495152622360926354507865978269178284957628753607238077248967255460474035\": [\n \"19919627246763818088168499264514665005889398738166276592275875298691259391027\",\n \"0\"\n ],\n \"20142299315361981912126402052456322938268216327397751812972061444272465633974\": [\n \"14399697171806441707482260246733941928905537279590562508878821642290277745638\",\n \"1\",\n \"1\"\n ],\n \"12955672749068236147060914008543234506609826814275339308148101206015622590236\": [\n \"18413725082605687365482788983089149281870973359742180136306386185694324988431\",\n \"1\",\n \"1\"\n ],\n \"1140410333742552278696504685971149574325008358356850039450470010913487190644\": [\n \"6103194497646821231579309164960009362526120206168300500018146324488671751867\",\n \"1\",\n \"1\"\n ],\n \"20707649566899993204828417810114655377777239100908303842747784198207249482676\": [\n \"1140410333742552278696504685971149574325008358356850039450470010913487190644\",\n \"11547853651250321315890315284270792615562225361750507003221053381969642630098\"\n ],\n \"12174554668727068247121357409385227953474519355404215516568339360154526680104\": [\n \"13119206083724190506904139808708846335965063567169808801912090661879324503915\",\n \"1\",\n \"1\"\n ],\n \"18922680585927729452439847293471799344352875129800461164463685557366515139100\": [\n \"10853836649511245529436100261120773849512432441952748104759012851536581529973\",\n \"12174554668727068247121357409385227953474519355404215516568339360154526680104\"\n ],\n \"14476535609628397159816132275701728889643065989689264933810847213995957547540\": [\n \"15071572092948869563006230478424806891411264150667943429756149999209984759969\",\n \"18922680585927729452439847293471799344352875129800461164463685557366515139100\"\n ],\n \"18325435191055104355320861988008683337397337497116821240406359038315107927125\": [\n \"14476535609628397159816132275701728889643065989689264933810847213995957547540\",\n \"20928862718908317371730260018460394789051312891830496064151920775522050701298\"\n ],\n \"502597255050277229389902731901669212439929026861418557394586724403286158573\": [\n \"19756684844000727344957745788709155910604426951340751802886553842365310010241\",\n \"18325435191055104355320861988008683337397337497116821240406359038315107927125\"\n ],\n \"20084567721790081421126537867810639464874578607716331303557822239383535454711\": [\n \"12060157513632125029118587866812648271278396686578030862680776414131230129818\",\n \"502597255050277229389902731901669212439929026861418557394586724403286158573\"\n ],\n \"3546501435732052450843971456434776704219892096859531049050516363860000964638\": [\n \"11522968174142841125845246790004968709642169658140690590944756130781520044770\",\n \"1\",\n \"1\"\n ],\n \"837251851199433379589600860325178782788737340964357324778014062147964112420\": [\n \"5692926985238196626904583053765330123781716728903360026252140615395208524536\",\n \"3546501435732052450843971456434776704219892096859531049050516363860000964638\"\n ],\n \"16309066995234738025286660270728722156811551039591667098616541600440080429088\": [\n \"837251851199433379589600860325178782788737340964357324778014062147964112420\",\n \"17639619562949895402079714572790940351749202138892103565926897625434639090177\"\n ],\n \"20230797943491317132208427528304222539693578613869258391387985638751264824653\": [\n \"16309066995234738025286660270728722156811551039591667098616541600440080429088\",\n \"13463029012942254187412828381881826235748835393224108244022393608920180980959\"\n ],\n \"12598229762079176468080790339269001495479287566915032717395392537531173515951\": [\n \"14154696335462908593299870364150370369337628453373666957806776339644830504180\",\n \"1\",\n \"1\"\n ],\n \"9896360587087711264953099207462287911499287514676773008665746414232504073317\": [\n \"12598229762079176468080790339269001495479287566915032717395392537531173515951\",\n \"19528484587173380453374616054911563534945755906919508360870893195120960342781\"\n ],\n \"18851896437185401126948594223907570168902929380548575441612732584954527564960\": [\n \"8205734968287776488365329511581508372653748488410590771594199837462170635875\",\n \"9896360587087711264953099207462287911499287514676773008665746414232504073317\"\n ],\n \"12001389510457494832585808983829058749148818810842548794325101397417925099815\": [\n \"18851896437185401126948594223907570168902929380548575441612732584954527564960\",\n \"0\"\n ],\n \"14410544611934462277006218091722943917749897828903023491672370520222657052079\": [\n \"9953141065961242002055739202744752542392768996221979384750948762792312495418\",\n \"12001389510457494832585808983829058749148818810842548794325101397417925099815\"\n ],\n \"4459706699425536143704654735906886763752680439392757610127800413967332978211\": [\n \"14839169777424712136491675525249656371075375244939430889696651896805750779404\",\n \"1\",\n \"1\"\n ],\n \"20931072960829976140087874678400543482971496653255594709333619123249684222648\": [\n \"2641601344921933832632774559693307160771260557760378404911746160693211561226\",\n \"1\",\n \"1\"\n ],\n \"3901915510005520633446197877563249175236382843416900776963101223570613249627\": [\n \"15868891790932678126982628983755118838825179618562511083977847233214213375537\",\n \"1\",\n \"1\"\n ],\n \"8429115281677994072230846213732443699233595210206234480717564109926470559931\": [\n \"3901915510005520633446197877563249175236382843416900776963101223570613249627\",\n \"6871048926193046938174166881137057270783302004190490799795004745264822168593\"\n ],\n \"7917382341790087827528577822343432555863182696803353953198392307591291910878\": [\n \"8429115281677994072230846213732443699233595210206234480717564109926470559931\",\n \"0\"\n ],\n \"12655291264879167155328408893271726874107566698305344008059308846804525362608\": [\n \"7917382341790087827528577822343432555863182696803353953198392307591291910878\",\n \"0\"\n ],\n \"5929258240947216069613624001281098566092715566507624822962514692257806669401\": [\n \"17755624790188155721970794285378209062970841607745637846866059572108723997456\",\n \"1\",\n \"1\"\n ],\n \"12202186695658191437060298875887845242044865631663441562446042745469495904432\": [\n \"7993804548970818606044729772437516504162216651762607754291258017437900176725\",\n \"5929258240947216069613624001281098566092715566507624822962514692257806669401\"\n ],\n \"20459085201771057284877292970798414191149237972565160147369737168467225808143\": [\n \"0\",\n \"12202186695658191437060298875887845242044865631663441562446042745469495904432\"\n ],\n \"10868526946350024347401671258401717229034029387756837354457187046317321987334\": [\n \"20459085201771057284877292970798414191149237972565160147369737168467225808143\",\n \"4269981127550362668266662384852514000292528329360077340655228055066712519762\"\n ],\n \"12738589536448439098721621851756941858255079239394264473809147625482621673008\": [\n \"10868526946350024347401671258401717229034029387756837354457187046317321987334\",\n \"0\"\n ],\n \"13435053773502541928773447507726428845582669350000113848135066117819884043032\": [\n \"1658197534792432067273595927627168253312614404470364981690193247559523966190\",\n \"1\",\n \"1\"\n ],\n \"3822858096113077645397293824134227327913327682351558037924651540999502227781\": [\n \"9305950638045341586854469527960630024028677455009747043028964556903374276264\",\n \"1\",\n \"1\"\n ],\n \"10893638716305692389063102941398897428697038378348671409214139398629385598872\": [\n \"16518429804609349825846367558871921670990663945417068717551704773529628008750\",\n \"1\",\n \"1\"\n ],\n \"5640807570157542721110431771759024186154521624400905697307902733092464652956\": [\n \"10893638716305692389063102941398897428697038378348671409214139398629385598872\",\n \"1939816045321462760508767151775239280023961036251502283981303025973662636636\"\n ],\n \"21259313234937523196421082619070371844721464964153351121669564757203337321516\": [\n \"5640807570157542721110431771759024186154521624400905697307902733092464652956\",\n \"19528053660469056686909844451889265672527342959472133582792953259861002102834\"\n ],\n \"4213069488901955965219854442882496920975003676081418737555502917621526758101\": [\n \"21259313234937523196421082619070371844721464964153351121669564757203337321516\",\n \"13511111480489382815118931094464245298918825572688489251915873412212087953727\"\n ],\n \"8475361404341712286516794020748834121977739139895540790693570071939978244608\": [\n \"6366105656545456303934122887969973215145418888557113496888559344515570739409\",\n \"1\",\n \"1\"\n ],\n \"11407892708897122015757135778693134285042432906412414996163724378382626422944\": [\n \"5296298192487115468998150338544651175214693552854237954055941387663477531427\",\n \"8475361404341712286516794020748834121977739139895540790693570071939978244608\"\n ],\n \"7378612615232264305873600797892516989646662396010805719207694322107018059439\": [\n \"11083992928530583255905217559197984992309990409249346978521275174110437434707\",\n \"1\",\n \"1\"\n ],\n \"397264827518693906845505924192544171703451151162308872951646544163322627423\": [\n \"11136914756389898910108858895426648642347416152564494686498742326428334046112\",\n \"7378612615232264305873600797892516989646662396010805719207694322107018059439\"\n ],\n \"8246681279956530912638944115860230661496148363748679079265534920471974231561\": [\n \"0\",\n \"397264827518693906845505924192544171703451151162308872951646544163322627423\"\n ],\n \"19929017530467464844133540670555474304763871770281284595961916562677938717296\": [\n \"0\",\n \"8246681279956530912638944115860230661496148363748679079265534920471974231561\"\n ],\n \"17835875818200185747277343999503986714205504480268394024420970819806879863192\": [\n \"6544652280533144549794082536115592097396896750766576376832105384081521940635\",\n \"1\",\n \"1\"\n ],\n \"7113993122479561808270294403196845031151516708067154491842429633179562924096\": [\n \"12654255037287854806882475031118132772732771448279584211036346087049529707826\",\n \"1\",\n \"1\"\n ],\n \"12463477023809995803049490153297858896720700073257821780200290966629885976658\": [\n \"2862262447324269237930420405842634205225914344685675204525157799742828106902\",\n \"1\",\n \"1\"\n ],\n \"1759332251685942140090398890760004106587972138646855226552724695334660613202\": [\n \"8369718725433842662495922450324449661955011449277350661678278087890688155753\",\n \"12463477023809995803049490153297858896720700073257821780200290966629885976658\"\n ],\n \"7569311936292482745409566841451180318640295742107726515997984708125239234566\": [\n \"0\",\n \"1759332251685942140090398890760004106587972138646855226552724695334660613202\"\n ],\n \"19532508691636710383218777035758563228541632077036173672385047514447328754122\": [\n \"7569311936292482745409566841451180318640295742107726515997984708125239234566\",\n \"0\"\n ],\n \"20011907737056245100101774399323771348474338723390458612815972472243818089456\": [\n \"0\",\n \"19532508691636710383218777035758563228541632077036173672385047514447328754122\"\n ],\n \"13045142775663654187058491557079581513024279579156212582070799057294778523773\": [\n \"10332967167256103180811559365390878728600628485284543288065051134879415068667\",\n \"1\",\n \"1\"\n ],\n \"11570950095259721463005697398736884231393058405678312047896116243347785289984\": [\n \"6639723724252159946943498900706431569256275141230899447210050006644598022093\",\n \"1\",\n \"1\"\n ],\n \"8453759770421151308280414779685871382081169813487833000526140960142627368875\": [\n \"14468818944154368983511899824523817255982341660070433517658932094726266730232\",\n \"11570950095259721463005697398736884231393058405678312047896116243347785289984\"\n ],\n \"10433233327498184567575050285126259891143864826141641027976035857098135323213\": [\n \"18156830308399395913837511948734528858860771318272595718750095403263621979646\",\n \"8453759770421151308280414779685871382081169813487833000526140960142627368875\"\n ],\n \"397725738634988829577828349101319125121831715959295036520073679581402997758\": [\n \"21109666756167850373043807475055061307819586611284053096049653268517139345109\",\n \"10433233327498184567575050285126259891143864826141641027976035857098135323213\"\n ],\n \"2668643600020380717949072229913374489304238206919474020091988775975637000898\": [\n \"9726135627152567928648263161587071016168264990093335012076382946245608650410\",\n \"1\",\n \"1\"\n ],\n \"17639743658005993015919548061723239691354255414798611471390405922195058994413\": [\n \"2668643600020380717949072229913374489304238206919474020091988775975637000898\",\n \"6862387202650364357413150119221346894608209171918897186287367675673103710668\"\n ],\n \"18952873563733711010254312694174160954661987058821456782823156191427897936759\": [\n \"19637226916245325408062388375731231708815173022715401748217138318497689976341\",\n \"1\",\n \"1\"\n ],\n \"8306795730539622740764685593102180601112027255373745278359119154200797481358\": [\n \"21669495638798149594033989357314214712167119519207615472482600428607008055696\",\n \"18952873563733711010254312694174160954661987058821456782823156191427897936759\"\n ],\n \"1155143996137605092589125868073379501688290029601482051968046761372691815708\": [\n \"0\",\n \"8306795730539622740764685593102180601112027255373745278359119154200797481358\"\n ],\n \"2003187763403607699201940779758894449213007265133366615770574994775766326059\": [\n \"11378929716384814398532458838272187881378871190218497547214204115428598637863\",\n \"1155143996137605092589125868073379501688290029601482051968046761372691815708\"\n ],\n \"10500521456168055638655863511848296728834754784794512340969452856150287868226\": [\n \"2061635950421443275533857100424868227487048597073493165007718323278595561795\",\n \"1\",\n \"1\"\n ],\n \"4270907013050592999310547264047920652440095390069265821680624578012330838992\": [\n \"10500521456168055638655863511848296728834754784794512340969452856150287868226\",\n \"1631051142192311541826391569999944216651360230906909392517128563722045342964\"\n ],\n \"12271485832880662481863876529460430492951406061039241607077752735008120178462\": [\n \"104644879232925441708955053730091466910516424976082594748294415330036014554\",\n \"4270907013050592999310547264047920652440095390069265821680624578012330838992\"\n ],\n \"5465020402773231479368869472986758075447709138820806021098604062143979152896\": [\n \"4005899908911537004290985753818365763351433299325503427542947885863020626723\",\n \"12271485832880662481863876529460430492951406061039241607077752735008120178462\"\n ],\n \"17591492838586370573150817559584050340793369968548523460377844484655986037066\": [\n \"6838165278940734530994250709338327513275809141673811434608492021437418232822\",\n \"1\",\n \"1\"\n ],\n \"15890277433012240926987175600189249481901064748568995474847941058128392800424\": [\n \"14237078522688196000856978686340836890899760901160691077063904551138152444971\",\n \"1\",\n \"1\"\n ],\n \"8772485965398037102485064501291008350690922228452864846764653409120734399028\": [\n \"15890277433012240926987175600189249481901064748568995474847941058128392800424\",\n \"14059647525841628743804416915206309241294371766403011141761358219292387361049\"\n ],\n \"19322623768525927718925969828749807175664478945703958338446928913853909048103\": [\n \"0\",\n \"8772485965398037102485064501291008350690922228452864846764653409120734399028\"\n ],\n \"16290177467614143711225742912823857366396060514238958321275612017406159437686\": [\n \"0\",\n \"19322623768525927718925969828749807175664478945703958338446928913853909048103\"\n ],\n \"447434319981149461551178134093371803495132200715373870930018021861169997503\": [\n \"0\",\n \"16290177467614143711225742912823857366396060514238958321275612017406159437686\"\n ],\n \"7731133611022062388490225115413518460043419201000640654442589899021687583373\": [\n \"447434319981149461551178134093371803495132200715373870930018021861169997503\",\n \"0\"\n ],\n \"18150264747603467607824468636430558009769034869855173453469921483614718417536\": [\n \"0\",\n \"7731133611022062388490225115413518460043419201000640654442589899021687583373\"\n ],\n \"12994569363332041801580287217646281421056057348277280103022663083628019892458\": [\n \"5939086263433292277527944231922136033494297008854682652132748423865712231741\",\n \"1\",\n \"1\"\n ],\n \"9908744369776147809025869402416366589765832518954348910801828939405519709336\": [\n \"12994569363332041801580287217646281421056057348277280103022663083628019892458\",\n \"9798932881776365953458320174609421045701603477209349018265091552450668576062\"\n ],\n \"17568042272610864986985556739422076209272616491334934752916278740511796541345\": [\n \"3612088537584980929904409731807376673644982332930178538853661989398127215458\",\n \"1\",\n \"1\"\n ],\n \"7127457916046171866483116437711008295207600478525071800495874022958727410818\": [\n \"13997900111284291625588015891386646205620334221619478473273153995315525918533\",\n \"1\",\n \"1\"\n ],\n \"168869450902917133472276188370118560925675895658564785877759253330604386707\": [\n \"7127457916046171866483116437711008295207600478525071800495874022958727410818\",\n \"19125491931629567779440590719368497997190516834993951107175430575031634514777\"\n ],\n \"7386468699443129807378753823277931180592171793672239009117835315830140648138\": [\n \"168869450902917133472276188370118560925675895658564785877759253330604386707\",\n \"0\"\n ],\n \"11808645375237643938128787036889932907847424947330839817297447880690733176619\": [\n \"0\",\n \"7386468699443129807378753823277931180592171793672239009117835315830140648138\"\n ],\n \"21529715464981580379893188387699207606460140721733187977950959690053046358979\": [\n \"19014626550208907796766248936856959782338096995800753984935854673666486285449\",\n \"11808645375237643938128787036889932907847424947330839817297447880690733176619\"\n ],\n \"14665377772180133236476407484993173636344728341348897112408821604561969140647\": [\n \"12262823573009985033303209494588368952417563510959160615581018700353771252122\",\n \"1\",\n \"1\"\n ],\n \"14066493480925857125313078794268390396249664000681725770166111738438291243608\": [\n \"17943889734409244647138395584748508292085254441004333637075384931820907034062\",\n \"14665377772180133236476407484993173636344728341348897112408821604561969140647\"\n ],\n \"20864695224479672003355891741653546627087376875797720187394466138413092292206\": [\n \"14066493480925857125313078794268390396249664000681725770166111738438291243608\",\n \"14100087405015876577806817651807571312385676214407405427137185689869767937128\"\n ],\n \"2709480847022526195258223693983004998749724495064374997205468995077979794292\": [\n \"1880872016181496445334052035871453455722335281657100498980594983345779405258\",\n \"20864695224479672003355891741653546627087376875797720187394466138413092292206\"\n ],\n \"19760001371321347961587848070167355250581319703094355867082998272367579443683\": [\n \"2709480847022526195258223693983004998749724495064374997205468995077979794292\",\n \"15535242282487979684620178920320764195801737496808766118567273650127827535542\"\n ],\n \"17056602543903350848222804112560956093692130184640978364292958771187307841654\": [\n \"19760001371321347961587848070167355250581319703094355867082998272367579443683\",\n \"15840045989101923436501672069581705378321375945400874810592019851672125896691\"\n ],\n \"3977341962992919144152810224728458868896602779961957346267989021093914326127\": [\n \"20386239330164262083282861074362041178181203444791017681571350430575113820605\",\n \"1\",\n \"1\"\n ],\n \"773777817418547408063347747320657677227011378366663291469562673205646640117\": [\n \"3977341962992919144152810224728458868896602779961957346267989021093914326127\",\n \"19241344397789341782189926620927195997318775035618312126801547161247976841072\"\n ],\n \"2976354683896855406647086642606132791057954062534541631788402685515790625191\": [\n \"773777817418547408063347747320657677227011378366663291469562673205646640117\",\n \"0\"\n ],\n \"1698534223981755689533551407174127036908416607517889185328799043220139514536\": [\n \"17366390669487590333425825313423909327172118999746829770277942418089092314865\",\n \"1\",\n \"1\"\n ],\n \"9389950739462273793049637776107341806957969325306094470960809816278331393324\": [\n \"21088042667195614496906435301737291989934265740034344171819227497142745075811\",\n \"1698534223981755689533551407174127036908416607517889185328799043220139514536\"\n ],\n \"12144146352177779241521691623788817402385513844526335605626658171311181357109\": [\n \"5912057721174649725223946006605569457337246857270992394796541882092942759447\",\n \"9389950739462273793049637776107341806957969325306094470960809816278331393324\"\n ],\n \"647126884364627858690836566985680547978494363165121486701941965661442870535\": [\n \"0\",\n \"12144146352177779241521691623788817402385513844526335605626658171311181357109\"\n ],\n \"17431804614165456206064515990775344428136604161655623705409531079192853453542\": [\n \"647126884364627858690836566985680547978494363165121486701941965661442870535\",\n \"0\"\n ],\n \"10381795280947039477873304165289006686485734805934334008900246915848073585342\": [\n \"9177952749841628803154633050105840773251486980808539380634492815112065621178\",\n \"1\",\n \"1\"\n ],\n \"3490444916166167182809744405227309120447528135937798896677911680633899648608\": [\n \"10381795280947039477873304165289006686485734805934334008900246915848073585342\",\n \"15191878263584033530351060185891092273393812375451888223642611971062551902232\"\n ],\n \"3525989586471067451681380083108369207921071913531860116749258988842979510679\": [\n \"3490444916166167182809744405227309120447528135937798896677911680633899648608\",\n \"0\"\n ],\n \"12377393769979156117698847111561793259275925187308358948874378919700468290618\": [\n \"0\",\n \"3525989586471067451681380083108369207921071913531860116749258988842979510679\"\n ],\n \"5301726234120767585891504823641787796552217297602166958928083124736193817452\": [\n \"13547471474288265570681437780812414639918187336534855392095923893268431310451\",\n \"1\",\n \"1\"\n ],\n \"18550353445306731201689488085109296310104928274301997982755348564858799727129\": [\n \"14562780284091695166293602567202684956641753124988101056955111893368162956853\",\n \"5301726234120767585891504823641787796552217297602166958928083124736193817452\"\n ],\n \"1391492170362857527650256418004594911911272864498690349831529445218899699382\": [\n \"0\",\n \"18550353445306731201689488085109296310104928274301997982755348564858799727129\"\n ],\n \"10804496814908023170641622393454356475200819758535572950100884983822818331874\": [\n \"973125938133475212327365111761706889245051650609101905356420945925624323221\",\n \"1\",\n \"1\"\n ],\n \"12287238899975941810358900734441916009651724484641468358715539421731906133479\": [\n \"10630252804855561195135821613715671276895683722561226906911738936558496907733\",\n \"1\",\n \"1\"\n ],\n \"3521922755511079620796244670006096987616858809426735369813868994091054543602\": [\n \"12287238899975941810358900734441916009651724484641468358715539421731906133479\",\n \"10166030222819375783442671412861411439485743819078427973623855838654499889109\"\n ],\n \"12019122191288526668756821655346679727969228274156089083890717145500541560719\": [\n \"3521922755511079620796244670006096987616858809426735369813868994091054543602\",\n \"5696507275375666160189746450811532496894372395919304869915704587322743567465\"\n ],\n \"2806625940294003306396120081457131763480807895529845212633606438333807195562\": [\n \"12019122191288526668756821655346679727969228274156089083890717145500541560719\",\n \"14026589027989249328886449675281660537250326709594696941474282601331676756673\"\n ],\n \"19299558577959232862133016016920890892199637873837524494066397896731722377552\": [\n \"15260442098361196881505751301012038322952294612716733387952855282364834257667\",\n \"1\",\n \"1\"\n ],\n \"10589361179019826471060735430355890455839649055711036188363719511839765506576\": [\n \"12420607315739864011001135109505373103758507608359420369961457376357475749685\",\n \"1\",\n \"1\"\n ],\n \"21596166909884045511331148803911925058893811819025824040272094840204662259564\": [\n \"10589361179019826471060735430355890455839649055711036188363719511839765506576\",\n \"17902111163495102822841445822860026874802505808497939230634794306967146998421\"\n ],\n \"3050067603986306471538048612240348519378199588241064794852682812867836861753\": [\n \"5282240653678897865593474791516917472799329255016936494266509202128462737594\",\n \"1\",\n \"1\"\n ],\n \"992419830479288091406128370402803163625781283878061491770476866091469259589\": [\n \"20023256416980240493162721439323207441357576693128677418328063136926775600816\",\n \"1\",\n \"1\"\n ],\n \"8470120790375493728472090752027575088750709937913595889266243505858140299978\": [\n \"2955136940412743716667558647494164572732387720786483887121577326785239462282\",\n \"992419830479288091406128370402803163625781283878061491770476866091469259589\"\n ],\n \"18879055767173346398842732439420613428758839379957925639644412722516456671683\": [\n \"19426059634692994170924793355261559721054517591407724885897108148582783502598\",\n \"1\",\n \"1\"\n ],\n \"17245599130032751645745258828023717032190476877710251421495255301900842220658\": [\n \"13224209977824474240290316519959276987819008434269593160918900764184007092873\",\n \"1\",\n \"1\"\n ],\n \"19861268976597939335595247188896506026733150955943917391364209184514169577510\": [\n \"15204788833543779919125331687544611937533622871182978761883584713440047014409\",\n \"1\",\n \"1\"\n ],\n \"13844175072489601055624245079625438784012098448208894950372397704931379684205\": [\n \"19861268976597939335595247188896506026733150955943917391364209184514169577510\",\n \"14313249311689377817714909155709661388080026732819315293652424919260791315690\"\n ],\n \"3176347336104380350975038857303270392857770216532277800173976816998686358816\": [\n \"13844175072489601055624245079625438784012098448208894950372397704931379684205\",\n \"18360419798246975413115287078179315016327909958168208927533061276839423849352\"\n ],\n \"11631506390286219669216052573155394688112351464292939129484790969538127189306\": [\n \"3176347336104380350975038857303270392857770216532277800173976816998686358816\",\n \"21868590479116453254671635903820062055982771924254471701944832621935890753802\"\n ],\n \"20696662810429226459559405322773106836773619996879207042660230094329697214611\": [\n \"1632717838506011000974087173530254314182031983715167411727071262817750291145\",\n \"1\",\n \"1\"\n ],\n \"14849251342116499473102489739641905148388338704658990062078621917966999684222\": [\n \"20696662810429226459559405322773106836773619996879207042660230094329697214611\",\n \"14410614599294698359802475626223045342930141505151873359437358915402602663109\"\n ],\n \"2677553710045165259821694312394620631584958680321551266760852876864698193034\": [\n \"6573004558803608829547902632311823794648576225209660221102259058490237543563\",\n \"14849251342116499473102489739641905148388338704658990062078621917966999684222\"\n ],\n \"4628122718682217527720649408901700858867403517330714935865792514164289808299\": [\n \"2677553710045165259821694312394620631584958680321551266760852876864698193034\",\n \"20940117732024687722576622745494787200701553468619526462369873426628305222610\"\n ],\n \"13820526336826169703908599141624556308861066267811305359290378162126335996481\": [\n \"4628122718682217527720649408901700858867403517330714935865792514164289808299\",\n \"14113381480411494770172798404046646960743296870482507946249755865271181252045\"\n ],\n \"608721742493278888583803290060964034218395950140703397821704819144130727127\": [\n \"9794882480672115083786570448259131978761604921310443147294046483773197329588\",\n \"1\",\n \"1\"\n ],\n \"20079544880637947654175860952124071560741396037709580786221741020348270869647\": [\n \"608721742493278888583803290060964034218395950140703397821704819144130727127\",\n \"21206262941191148747649016921416169890643953377900031568787845657486939741032\"\n ],\n \"12234047073386313741431218762905328679067600032941599512934803310735993906592\": [\n \"11426021307860997372512436043517672660238331403285527666280959909034876530296\",\n \"1\",\n \"1\"\n ],\n \"8839143676034797292888858653176202697945271512156313911382535418524081854438\": [\n \"11375567279542206665126174182966144250701492172940109022972738236710735423483\",\n \"1\",\n \"1\"\n ],\n \"11496006554195513239882716985120368664959224159415968555121091416074760211451\": [\n \"8839143676034797292888858653176202697945271512156313911382535418524081854438\",\n \"13045142775663654187058491557079581513024279579156212582070799057294778523773\"\n ],\n \"9205913194590457676728524439824437410475264841533399953788604390015072621564\": [\n \"0\",\n \"11496006554195513239882716985120368664959224159415968555121091416074760211451\"\n ],\n \"7300833671595919146666343114219358889762599766246481766297234422884192120474\": [\n \"9205913194590457676728524439824437410475264841533399953788604390015072621564\",\n \"19082652591806344602203460552013236612178044899551108936921089877184528578572\"\n ],\n \"17422257818313642818906428173631988806666330801853528566973118064531067858352\": [\n \"9507077064296868737546422782223795248850260126086699261108573502474393513552\",\n \"1\",\n \"1\"\n ],\n \"2883861785327163444185014631085104156976897120348400161231523385113962806617\": [\n \"6935435816294486553056262744171600208034261568300845487111371887810605893228\",\n \"1\",\n \"1\"\n ],\n \"9828932237723581482009547186827865633881960268531070009943278505261736140290\": [\n \"2883861785327163444185014631085104156976897120348400161231523385113962806617\",\n \"11221317139121375546050927337138486319368814101693210900952394141508996490568\"\n ],\n \"21850256742075695315629846985165150425636344500903323667204408478510253906037\": [\n \"10788347765155640552079569030342713726171773491474825999973753274618371184764\",\n \"1\",\n \"1\"\n ],\n \"5022789281773001836385142320738575534769412159456188790258564125514028972601\": [\n \"13670624089857304596106918875907629060556180672207586006882827460779551242044\",\n \"21850256742075695315629846985165150425636344500903323667204408478510253906037\"\n ],\n \"10482072044944763524449572165590424151703015401435255753931875802820762702699\": [\n \"0\",\n \"5022789281773001836385142320738575534769412159456188790258564125514028972601\"\n ],\n \"19015266653374628259776816970452003219332519183699848459366311217635281019522\": [\n \"10482072044944763524449572165590424151703015401435255753931875802820762702699\",\n \"0\"\n ],\n \"15512224673987258240383002302370864197298703214680528403970251952399540722958\": [\n \"19015266653374628259776816970452003219332519183699848459366311217635281019522\",\n \"0\"\n ],\n \"2823360040227880374634427850655444789262417939153108492660943320696620117938\": [\n \"0\",\n \"15512224673987258240383002302370864197298703214680528403970251952399540722958\"\n ],\n \"13179964982155311558200327303813607035575297147084405422347998487878130334317\": [\n \"2823360040227880374634427850655444789262417939153108492660943320696620117938\",\n \"0\"\n ],\n \"9080336496024328052470549686851613968910494017758544215081070980100281500799\": [\n \"13179964982155311558200327303813607035575297147084405422347998487878130334317\",\n \"0\"\n ],\n \"16705150133183015154818353245002426078755596592501014377654963234846666631629\": [\n \"0\",\n \"9080336496024328052470549686851613968910494017758544215081070980100281500799\"\n ],\n \"10797036839151216827707453444950117679178883935726622786414005143400289092101\": [\n \"16705150133183015154818353245002426078755596592501014377654963234846666631629\",\n \"0\"\n ],\n \"12586098096561256363923743552184558144180118987471285521429925119896530257201\": [\n \"10797036839151216827707453444950117679178883935726622786414005143400289092101\",\n \"0\"\n ],\n \"14086786610980693228436711776883710948563564343892313527512986051879104156643\": [\n \"12586098096561256363923743552184558144180118987471285521429925119896530257201\",\n \"0\"\n ],\n \"16560049997800285336450210141773544145900956987130574748699993970267024634199\": [\n \"14945488822784189046366179130875373660589003189002636484380689829075037506428\",\n \"14086786610980693228436711776883710948563564343892313527512986051879104156643\"\n ],\n \"17646396721641270917454762529072324039579874072969536910210974100309268634895\": [\n \"5002689573217012370656300127959905541827367731387319284854897809287453544143\",\n \"1\",\n \"1\"\n ],\n \"16178883415335468545133419818036161656426328961170169600191741168035709205529\": [\n \"17646396721641270917454762529072324039579874072969536910210974100309268634895\",\n \"4769096381968705392905723184331773745891036920152977075442574737495234830202\"\n ],\n \"18727615557594365769478229233040806394237720380394740832457694775849835714869\": [\n \"14468958446445115691039076761982700009598683342121877625922628651060506684178\",\n \"1\",\n \"1\"\n ],\n \"2692902035395037432190156215138175504176409230692567378753001416631801674417\": [\n \"10741749205577213429028575258858852925069233732017919839268172763048464959503\",\n \"1\",\n \"1\"\n ],\n \"3343533452629740985172191185098030992406379929696232899644281565316978369237\": [\n \"3954998242731312204117309082781846161369884065770792048284141871503589484916\",\n \"2692902035395037432190156215138175504176409230692567378753001416631801674417\"\n ],\n \"6425201016045682534678781572847811761447711412794085352387987968140660008271\": [\n \"8466674979936165400934390562435065707105594960106647896835439001576007974373\",\n \"1\",\n \"1\"\n ],\n \"13520549634244825890746999433321599450981816352181873951464914132575676814245\": [\n \"4802877276833427930339780140406658208710559185239000523003968051504561875092\",\n \"1\",\n \"1\"\n ],\n \"7578595966099129260080180375803466047822350775248458981043631930120180989987\": [\n \"13520549634244825890746999433321599450981816352181873951464914132575676814245\",\n \"20324261948830441092794831928809182154299407861216361870027991452684977567814\"\n ],\n \"10965458778560428551736543008142442393973187619528914930835553083670660927039\": [\n \"1133579713560190743448949488739353137347420384908034254003730251941129364672\",\n \"7578595966099129260080180375803466047822350775248458981043631930120180989987\"\n ],\n \"14243210410379853174703097000175059822616731965605996823339818918390031488068\": [\n \"7346316556279464730337649704886441258782701143806330942816193946391384009729\",\n \"1\",\n \"1\"\n ],\n \"9927187534290302648483442152234714529542814853046821776114907398988176148767\": [\n \"16466187859237674232665261242096143589373866013876800514883678150856630020349\",\n \"1\",\n \"1\"\n ],\n \"214418390466399678849329231265661704116199572794480310907024288112060721455\": [\n \"9927187534290302648483442152234714529542814853046821776114907398988176148767\",\n \"17150668894848270270541012819673080121011208067576700849109949265876439333818\"\n ],\n \"13419543815690409072431796152021524084700570258935206164660414595437346833861\": [\n \"214418390466399678849329231265661704116199572794480310907024288112060721455\",\n \"0\"\n ],\n \"13786765221375776079345886420426662137322559569622515115331037466601231245176\": [\n \"19394981496369513146451634284288045172649517844449683616097160262880225157817\",\n \"1\",\n \"1\"\n ],\n \"11791260838710783709459392078318195560674794138701633356508995695869721372638\": [\n \"17426444435811946316290091100741397368646475069028168047517310564365597876181\",\n \"1\",\n \"1\"\n ],\n \"3892020600856579755810309485426974051218240617794175917337910529475943329956\": [\n \"11791260838710783709459392078318195560674794138701633356508995695869721372638\",\n \"45475468294671452192031730143988344029773312712035038845751087638443999724\"\n ],\n \"14902422013067867282161945771100715775873956832643412181760889283668116134890\": [\n \"3892020600856579755810309485426974051218240617794175917337910529475943329956\",\n \"0\"\n ],\n \"20616779488328839307305852719873580792387430138411381969385093962418318907670\": [\n \"14902422013067867282161945771100715775873956832643412181760889283668116134890\",\n \"0\"\n ],\n \"12339304453127831479578919162194664422554757492112584254613692319717702859657\": [\n \"0\",\n \"20616779488328839307305852719873580792387430138411381969385093962418318907670\"\n ],\n \"10326966672549044519905416930905411933432936857465866819417742997264772022547\": [\n \"9509136803093650409804625505475343003060763762048988596553947071591669822120\",\n \"12339304453127831479578919162194664422554757492112584254613692319717702859657\"\n ],\n \"3331317934549870123676927044619771826556136204375519068353446756513313401685\": [\n \"21394923172908312432377916488336551271981245400175331848708489740073306022094\",\n \"10326966672549044519905416930905411933432936857465866819417742997264772022547\"\n ],\n \"206128491568381562539245573032931705682861788173292282005354252082389046153\": [\n \"2806625940294003306396120081457131763480807895529845212633606438333807195562\",\n \"3331317934549870123676927044619771826556136204375519068353446756513313401685\"\n ],\n \"13981878428022370575187457416053854929613057507782252999531819956387679267588\": [\n \"8724097202404077213694109106827190853396197475407625120202543217286885790452\",\n \"1\",\n \"1\"\n ],\n \"672335031621421117293781728731444082750600555824036090489068999223400732031\": [\n \"4465961757607772400695438327279109962594900362198639139079369502318667035924\",\n \"1\",\n \"1\"\n ],\n \"15219182796901878074881401438893416275216632015449119995996079092864856015236\": [\n \"1642797391641540258683241148195614535247416308375718772447270986660729795208\",\n \"672335031621421117293781728731444082750600555824036090489068999223400732031\"\n ],\n \"12553153922647796340101643474562257293765243750224809592711429581228203351043\": [\n \"15219182796901878074881401438893416275216632015449119995996079092864856015236\",\n \"0\"\n ],\n \"20303714743048813923525246611434791023350925804148553182003256073687531881501\": [\n \"0\",\n \"12553153922647796340101643474562257293765243750224809592711429581228203351043\"\n ],\n \"284468467990754761888969196665498319860993884770826884408032088795886468510\": [\n \"19278982411583324227663367974296910193068302193276753143806157980272430270700\",\n \"1\",\n \"1\"\n ],\n \"10688240828588184766431634544104256666833365919356176443753240292975238989782\": [\n \"9384979712541362755853272317937955002006700577589300692804803676640800093017\",\n \"1\",\n \"1\"\n ],\n \"17870926321361096124755450879598821675913788857965173047996015642265543135888\": [\n \"14043069163163216947500402205088016252964514744528658983784361719026158131443\",\n \"10688240828588184766431634544104256666833365919356176443753240292975238989782\"\n ],\n \"453587593918188844638389531416449393151508924997707103555508511688641894466\": [\n \"9757843776123319113056798267238454030808537460138796774522390970765862775022\",\n \"1\",\n \"1\"\n ],\n \"10159206884056024632876294523663686213967427399578017633164492453730732419539\": [\n \"453587593918188844638389531416449393151508924997707103555508511688641894466\",\n \"12064241877218652763104528958656986202801869645358139413765013574654318055725\"\n ],\n \"8643149923025726032162597030753890297315669704509473225811227940794098982873\": [\n \"21847415627361745745567106681631964243318759879981886192202908096313220884837\",\n \"1\",\n \"1\"\n ],\n \"3968544198841842061547583902827351058996381008174755752901465342772053812705\": [\n \"14437861705385542135395265032095086443783392546408672434271151023556616286401\",\n \"1\",\n \"1\"\n ],\n \"12962347525353761587314613173632501808660719058068404045225105662778617153065\": [\n \"1160763697699436075676484394164780365245101162602104493245485430174235966106\",\n \"3968544198841842061547583902827351058996381008174755752901465342772053812705\"\n ],\n \"21684560866135795977705889664332738100419080744893080608567987928246987527181\": [\n \"0\",\n \"12962347525353761587314613173632501808660719058068404045225105662778617153065\"\n ],\n \"6444288951205423453483537008843482643698982755655379078250817119863599991512\": [\n \"21684560866135795977705889664332738100419080744893080608567987928246987527181\",\n \"17856484638323552981911501796688890231241704714670037100482298541265461759442\"\n ],\n \"19628476499557521111781641851736736069444031197168104871545828865981309334720\": [\n \"20086824107114279494414858404949022077085461778045387426646444002054099573535\",\n \"1\",\n \"1\"\n ],\n \"19118120424650023343899899490400541305909062433791732762681832677814878139388\": [\n \"21292853511527488777642569109645382394270876396034895246193826294898513326808\",\n \"1\",\n \"1\"\n ],\n \"17561198643505547260032141716497977045401310774810246732354762244330760486645\": [\n \"4971773414102601757876188767701987698599565419652997780809167001049486991206\",\n \"1\",\n \"1\"\n ],\n \"6941125619378539475634673766413359649133002499149948203282248639993544448417\": [\n \"17561198643505547260032141716497977045401310774810246732354762244330760486645\",\n \"15488723941595073633368103882014494269062400915898198816844462965614148344286\"\n ],\n \"16234250002060713197782499202291506283256814041394617880936998962535540202953\": [\n \"0\",\n \"6941125619378539475634673766413359649133002499149948203282248639993544448417\"\n ],\n \"17649340295754316681116332647360422005967543577387691297776424624556504993053\": [\n \"10179467439219875957615709415064381099358955349733209469754771625391550480443\",\n \"16234250002060713197782499202291506283256814041394617880936998962535540202953\"\n ],\n \"7318082022111112681515791697551698437701558175413844794789753980576524824650\": [\n \"3331812622254384684308313068694518789202164466006288563278299524663781961558\",\n \"1\",\n \"1\"\n ],\n \"1818625222836785426037507876012151021735151315535937897047433347446957493436\": [\n \"11038558258963181890696638244384094290813118789354648266875962899036122628554\",\n \"1\",\n \"1\"\n ],\n \"16346285638856516351167911874269220666620510879607577044322853348576672548470\": [\n \"9415650327029840606864107726685794342659596358786992175500036787143177306973\",\n \"1\",\n \"1\"\n ],\n \"19286396969648510561308342346093846862639865631298313380152173852844748743793\": [\n \"17879955153558706999331877466742569278277818823188694791873395360911121612409\",\n \"1\",\n \"1\"\n ],\n \"4801589054538241453609574285115148312140452254169838673404708495204921770470\": [\n \"1338362103822361614073241881330804947974443752756830599102839130898699212804\",\n \"19286396969648510561308342346093846862639865631298313380152173852844748743793\"\n ],\n \"10101250316593722756295498002702468290432447053908023483773517767486363809601\": [\n \"10154068698431628101707987268474285838075433092809106776420243205317117346091\",\n \"4801589054538241453609574285115148312140452254169838673404708495204921770470\"\n ],\n \"5284225634838702051076352018907248240385708179523470917103232943158466512422\": [\n \"4266473667622179754010661615111255930899505262861768248473184463314118670407\",\n \"10101250316593722756295498002702468290432447053908023483773517767486363809601\"\n ],\n \"17153307694046553670225256755417479236034571350592687146328471425587554919158\": [\n \"0\",\n \"5284225634838702051076352018907248240385708179523470917103232943158466512422\"\n ],\n \"200401175638598447879179456195091882655974761829200682363439445685102842583\": [\n \"17517273849404371409733107299958734319859625356100846385135458493684171849521\",\n \"1\",\n \"1\"\n ],\n \"5516220742776652957604686184086049297349335761414747984268061124503042173988\": [\n \"1612101420773398162998031931376101569994933502207269854611219385031266911597\",\n \"200401175638598447879179456195091882655974761829200682363439445685102842583\"\n ],\n \"522862229661981738711983934741363852048913402376726124106070254182939628123\": [\n \"0\",\n \"5516220742776652957604686184086049297349335761414747984268061124503042173988\"\n ],\n \"12695968994821531622987516219549076174848737575636354747954181774685879785230\": [\n \"0\",\n \"522862229661981738711983934741363852048913402376726124106070254182939628123\"\n ],\n \"1869197120690376397019253109279662317421104970495767180554228679052257288375\": [\n \"20880634281796332050333338460807721467817045560718266945197327038665560462578\",\n \"1\",\n \"1\"\n ],\n \"14091263733608589858866151445650397532387661729188119470963110575749857204643\": [\n \"1869197120690376397019253109279662317421104970495767180554228679052257288375\",\n \"13012570795515989550448744616602450313774222497193366143149761854634023072254\"\n ],\n \"19320772323498531914120097227757988680023484580110195975509337522653581512683\": [\n \"0\",\n \"14091263733608589858866151445650397532387661729188119470963110575749857204643\"\n ],\n \"1069962106195579740535887753366297867655423835764525990721431610073239023579\": [\n \"19320772323498531914120097227757988680023484580110195975509337522653581512683\",\n \"11805837930393117039094901363889465073050955834183774627917439559936507967086\"\n ],\n \"10584646061699682841656287501063503491706973690729417848255433454648904183814\": [\n \"7052464199410360356550962135174169514548343888456436656606113108537588964851\",\n \"1069962106195579740535887753366297867655423835764525990721431610073239023579\"\n ],\n \"5118691889144941765714128041211633014575515970562260674966343253866889003690\": [\n \"10565903337545396299162281881759165076578688019549127090657438857645410335947\",\n \"1\",\n \"1\"\n ],\n \"9672129342892001265120368487908548780979383805240432926980263960800642352219\": [\n \"16881530579443487670354626206475237992710641729437506729371451485084292608296\",\n \"5118691889144941765714128041211633014575515970562260674966343253866889003690\"\n ],\n \"1169640319761606175329540686658618859064609983235687831748927508454638077216\": [\n \"9672129342892001265120368487908548780979383805240432926980263960800642352219\",\n \"0\"\n ],\n \"11701270761770842176452510287289976812342146075065971706059149627926049736385\": [\n \"0\",\n \"1169640319761606175329540686658618859064609983235687831748927508454638077216\"\n ],\n \"9678325216015923504610366393485281426233567695195735021196784484251215226148\": [\n \"12037109481238578431659306113458260993858168747142619661733162496808342157255\",\n \"11701270761770842176452510287289976812342146075065971706059149627926049736385\"\n ],\n \"13946902288081330792130447782229499999330978062100230651479569585442724808337\": [\n \"3347691788112938925835204357501779726437446146002742522427333344933198447209\",\n \"9678325216015923504610366393485281426233567695195735021196784484251215226148\"\n ],\n \"9187307131701319443321364066967873374859177751075207107873176342077234318449\": [\n \"10354355189059321430606097310944991407152337304756194041080938353523254604302\",\n \"13946902288081330792130447782229499999330978062100230651479569585442724808337\"\n ],\n \"8745928613459817313606304395149695504220064802330966404146287464311099548889\": [\n \"15994497951567724093054718133331076741529503514483652736209121942578886370602\",\n \"1\",\n \"1\"\n ],\n \"11184050224459501480943298877688340009945340317386661028607397278439386179210\": [\n \"11851538466887565293437785039718157932295400404176334627109160970638181213997\",\n \"8745928613459817313606304395149695504220064802330966404146287464311099548889\"\n ],\n \"7921877176028046802931762531164296544767500200764832296281833080315708466688\": [\n \"1634738158304386964046105645811091626136111558021632920833782686771108319820\",\n \"11184050224459501480943298877688340009945340317386661028607397278439386179210\"\n ],\n \"9369952196827846714912683574873333098465408943114716904703940991835108476146\": [\n \"7921877176028046802931762531164296544767500200764832296281833080315708466688\",\n \"0\"\n ],\n \"9592643077504627731219056805472872154955839125160676511674419456612287634826\": [\n \"5857080069146605089977366761024890871840582689197294269303528318984545002092\",\n \"1\",\n \"1\"\n ],\n \"4173037306554575768841197852524071146744710323595149077325850478968386752971\": [\n \"9592643077504627731219056805472872154955839125160676511674419456612287634826\",\n \"973622329454457253338571761354076157906998160669879637458790271191706303086\"\n ],\n \"16605245822749967718609559587731472844162857137807370694523983570559866105184\": [\n \"0\",\n \"4173037306554575768841197852524071146744710323595149077325850478968386752971\"\n ],\n \"21602286046756408324453886798553047585858076624634823027970229308994253756309\": [\n \"16605245822749967718609559587731472844162857137807370694523983570559866105184\",\n \"0\"\n ],\n \"20041271999065042699503535599098906507546436583340382900206531560315463852649\": [\n \"21602286046756408324453886798553047585858076624634823027970229308994253756309\",\n \"0\"\n ],\n \"16358926123441776932296798575077204739020618143181554919217789100948546263533\": [\n \"0\",\n \"20041271999065042699503535599098906507546436583340382900206531560315463852649\"\n ],\n \"7576176091502015095453533350486706997863737055743381509096892835937763433269\": [\n \"0\",\n \"16358926123441776932296798575077204739020618143181554919217789100948546263533\"\n ],\n \"20934145044936105079580709440831855949687702534509227789762407923718643197568\": [\n \"7576176091502015095453533350486706997863737055743381509096892835937763433269\",\n \"0\"\n ],\n \"11573246160546838511669418187291251168173142760847565793272316981826730237281\": [\n \"20934145044936105079580709440831855949687702534509227789762407923718643197568\",\n \"7585874691616460413834498507225390204046635885713038733561431275145688679664\"\n ],\n \"17813579453328227105749851333600463251552067110167543698762854472525633068790\": [\n \"11573246160546838511669418187291251168173142760847565793272316981826730237281\",\n \"9828932237723581482009547186827865633881960268531070009943278505261736140290\"\n ],\n \"19692856424084990336276739504274526158951697496684418149010996821837217646596\": [\n \"4181805708202255570056296423583640227292553510218848430645271831775361172938\",\n \"1\",\n \"1\"\n ],\n \"18513843771847348961828786657960153939652157079716038305258571463876163065387\": [\n \"21670495474708776426790463304097505855653080276755398313695316326611284924712\",\n \"19692856424084990336276739504274526158951697496684418149010996821837217646596\"\n ],\n \"15078247764744611786795144335162587363629419354453880633391186860699362075972\": [\n \"18513843771847348961828786657960153939652157079716038305258571463876163065387\",\n \"0\"\n ],\n \"11069298587716833309615803379750654121579956473285683447984875379222862251724\": [\n \"0\",\n \"15078247764744611786795144335162587363629419354453880633391186860699362075972\"\n ],\n \"6978119171595100346122626752496922717000637048542946891265745175136353058313\": [\n \"11069298587716833309615803379750654121579956473285683447984875379222862251724\",\n \"0\"\n ],\n \"6925527449453904784934117616299700027039070326529797531674395106063799532048\": [\n \"6978119171595100346122626752496922717000637048542946891265745175136353058313\",\n \"0\"\n ],\n \"14238613311052101239253609554884057049646792798048730593902037454466896289147\": [\n \"6925527449453904784934117616299700027039070326529797531674395106063799532048\",\n \"0\"\n ],\n \"21034106941821808686230165274255382418119763018956050914365714600489466360034\": [\n \"10048556455325865084663915702514031743094142792528098152191334645749311302495\",\n \"1\",\n \"1\"\n ],\n \"3663651049555197560359270117952768942346720872835008422707262924034717286045\": [\n \"7462691208488804287315108420849013619604939557794223167097694474417476711352\",\n \"21034106941821808686230165274255382418119763018956050914365714600489466360034\"\n ],\n \"467669638469162901615326492084321460062886720120291491344799867553191449827\": [\n \"3663651049555197560359270117952768942346720872835008422707262924034717286045\",\n \"10950725525802909657332164594855084932100487569431955121608329843664342751197\"\n ],\n \"15189832852604229772059869848882082845749092363470177079629319735146783710030\": [\n \"0\",\n \"467669638469162901615326492084321460062886720120291491344799867553191449827\"\n ],\n \"4251640709838586421121055641601123307489891800980613463103515493424264548509\": [\n \"15844572931161706460413422138410066345220908995658598230472313630087813314002\",\n \"1\",\n \"1\"\n ],\n \"12952254719589100775179131050705358132877077138301257462434449702101418261359\": [\n \"4251640709838586421121055641601123307489891800980613463103515493424264548509\",\n \"17826042299131748013438395097832462766160059702165917540033710114021581545376\"\n ],\n \"21497496184230134358241403756000873159175744904648788118109861458037153443131\": [\n \"20932588532560748529962012932469032404399037303976878442962200060128171353864\",\n \"12952254719589100775179131050705358132877077138301257462434449702101418261359\"\n ],\n \"19055529710094061225652615588095448327038831176176772658998842378668445822104\": [\n \"4568292194306299764157726331710885880123554172083698240473836262827885441411\",\n \"1\",\n \"1\"\n ],\n \"2768312568759960599277771188269440457074854124044587580675733586090119576609\": [\n \"1571243066969109974650044853734766070679237921080366496123272750855548482264\",\n \"1\",\n \"1\"\n ],\n \"18389623709419377950814639652935765215821773170561381295896058289452358386660\": [\n \"2768312568759960599277771188269440457074854124044587580675733586090119576609\",\n \"19118120424650023343899899490400541305909062433791732762681832677814878139388\"\n ],\n \"5513791109548198256955836503240897733531781545469711129547580686574552742514\": [\n \"0\",\n \"18389623709419377950814639652935765215821773170561381295896058289452358386660\"\n ],\n \"12717817868288628967638071561450401671705643004087703953487528301076410081943\": [\n \"5513791109548198256955836503240897733531781545469711129547580686574552742514\",\n \"0\"\n ],\n \"5631665715370203410018866665466136587522554282879277565188980786421042190022\": [\n \"0\",\n \"12717817868288628967638071561450401671705643004087703953487528301076410081943\"\n ],\n \"10295422981200316943454829256312077424779795421712067081237762771818558644755\": [\n \"5631665715370203410018866665466136587522554282879277565188980786421042190022\",\n \"0\"\n ],\n \"15837727434753422802609200181006684213974812857610593625723842775894608566936\": [\n \"0\",\n \"10295422981200316943454829256312077424779795421712067081237762771818558644755\"\n ],\n \"13690623141794585816728279265506961485099396740406843209037056596974451909154\": [\n \"2619083608590040007950681648089604782774826477152246901262543018916046540692\",\n \"1\",\n \"1\"\n ],\n \"14156821537473921365571241339110431875317976614602144998266362692088992779517\": [\n \"18088844002864503001083210672087684158263772691597318359492095015520336272927\",\n \"1\",\n \"1\"\n ],\n \"10777223201408316603386104747392650342307441550743519567030550232978763403646\": [\n \"2123216568642890807439847136234562778780581562726860539467527527766370462033\",\n \"1\",\n \"1\"\n ],\n \"16894180883657820441725444048275048340215878188535683124153059289988714066335\": [\n \"18911957261584361116742535963837306809465148181522097954305891693107639304694\",\n \"1\",\n \"1\"\n ],\n \"9972252622617438904431156406738959739076121621441722126441291433029337148370\": [\n \"16894180883657820441725444048275048340215878188535683124153059289988714066335\",\n \"18170663042437478098846202869731749301229681506024878532106794352451830133411\"\n ],\n \"15753269125529328100563903374648924985425209293420212857325790914143138502433\": [\n \"9972252622617438904431156406738959739076121621441722126441291433029337148370\",\n \"0\"\n ],\n \"8879341874289048455460224947552532433643173984935942196357239103784834678897\": [\n \"15289378932545124018755026211064493294607739081074803234593741244163037371618\",\n \"1\",\n \"1\"\n ],\n \"8908118868171239142289349053669955990741906742402633521744494780895796430953\": [\n \"8879341874289048455460224947552532433643173984935942196357239103784834678897\",\n \"13045250843066472325661222583461424694454559980715975222911790822522531254846\"\n ],\n \"12472757970856503724149721363276464191940521628894588436424976400976415156890\": [\n \"17095306238014301492761130662772410736790617641105497681833200952710151729837\",\n \"8908118868171239142289349053669955990741906742402633521744494780895796430953\"\n ],\n \"15979936207726607540118840968328950010239422435994739615871453625307457389924\": [\n \"8419680622138283184954654912782759990560689193274344558632373929085610636161\",\n \"12472757970856503724149721363276464191940521628894588436424976400976415156890\"\n ],\n \"2636188672767848796074589831174793899591660189229105004448221677075441244734\": [\n \"21010649936071340444218391571115135614687112375211203870029075264601161999452\",\n \"1\",\n \"1\"\n ],\n \"10777477492507858270693020331573031250969560993769934180377948414691132263435\": [\n \"20934972239502596825984551980740146706254630872176412088789509486044400840254\",\n \"2636188672767848796074589831174793899591660189229105004448221677075441244734\"\n ],\n \"7272851355447231187693682462713189706020833333713890272602624823885435099502\": [\n \"10777477492507858270693020331573031250969560993769934180377948414691132263435\",\n \"0\"\n ],\n \"1077546895858312403891214920716675582152662322008479875310439406581460784888\": [\n \"7272851355447231187693682462713189706020833333713890272602624823885435099502\",\n \"0\"\n ],\n \"8262296557244266620724528448051677580146907736002891809430886752210275885967\": [\n \"1742951341661092478274291916744466603291428430161388075060911542341057928354\",\n \"1\",\n \"1\"\n ],\n \"4797101333793159008022550986694518185864376361832397295950551351185788390962\": [\n \"8622829514597682875472413155379839440342007777288716224932385644965375119221\",\n \"8262296557244266620724528448051677580146907736002891809430886752210275885967\"\n ],\n \"16104410020163806955816149990479306241124650995990246707957781860380162454899\": [\n \"4797101333793159008022550986694518185864376361832397295950551351185788390962\",\n \"0\"\n ],\n \"19907136842097747536755620734435969147159725555484483410146792607141915801240\": [\n \"0\",\n \"16104410020163806955816149990479306241124650995990246707957781860380162454899\"\n ],\n \"8051469971578077645879904557632915315050942231860936680383096116179903968176\": [\n \"10100259235166428683187475987612486434166384456929456329615089977405159332531\",\n \"19907136842097747536755620734435969147159725555484483410146792607141915801240\"\n ],\n \"13300711893303950041305503444460077064383954835414932791145054161782862584467\": [\n \"10018909448160400386149759737172114637669109086898865315836925066135199971931\",\n \"1\",\n \"1\"\n ],\n \"297170855430090434192522704094380737481690465680979637682179467998932622449\": [\n \"13300711893303950041305503444460077064383954835414932791145054161782862584467\",\n \"3116712077526927622949398734634194378806635539289854829736564941486532127916\"\n ],\n \"4182639870968441165786649918862276838431732504622913242788302487329022608496\": [\n \"297170855430090434192522704094380737481690465680979637682179467998932622449\",\n \"0\"\n ],\n \"12748732524567811994265130337347565623822747088134515186412952043742475768260\": [\n \"0\",\n \"4182639870968441165786649918862276838431732504622913242788302487329022608496\"\n ],\n \"20156379361935567841915529795165264647990985723058977561793149294869944834835\": [\n \"0\",\n \"12748732524567811994265130337347565623822747088134515186412952043742475768260\"\n ],\n \"13566908467132094485053381826126521730990284008565617855491116322725369840578\": [\n \"378036952546389076636477344093103074266160265281961759699084861148023752673\",\n \"20156379361935567841915529795165264647990985723058977561793149294869944834835\"\n ],\n \"8862927429800036937252766829379053103675849557574750053877288633532452039699\": [\n \"13901957570735179824126254170520799164269306407224970633754023913984682788138\",\n \"13566908467132094485053381826126521730990284008565617855491116322725369840578\"\n ],\n \"463022550438913391138059397063959473303070370359670703065344270204939425292\": [\n \"2031843749169578127582540186977611710276205730167798618367538874523855497410\",\n \"1\",\n \"1\"\n ],\n \"19958740864996142377722922636218041300385303000973349764193749851691068742831\": [\n \"8588511810853078390311019852129290368123352955854535630618011556473692997089\",\n \"463022550438913391138059397063959473303070370359670703065344270204939425292\"\n ],\n \"21402153332918768646743393904383679233001514523594350336435853557801701097970\": [\n \"19958740864996142377722922636218041300385303000973349764193749851691068742831\",\n \"0\"\n ],\n \"12456566082596956826001946450655141976724720762841119806617481308969022019101\": [\n \"17233239511418457292590060924098043139908807623489129782667531285342434656252\",\n \"1\",\n \"1\"\n ],\n \"18199448372727956894930681540325706486536271559570093729174166218288868484576\": [\n \"19556642722321724036638266685645760423323291506715363991721423565454041295900\",\n \"12456566082596956826001946450655141976724720762841119806617481308969022019101\"\n ],\n \"12946402411094690021750457053576894482084436457927133774793560911562590508587\": [\n \"21717102320560074096873561012090208802400568567906587288694968612545112681323\",\n \"18199448372727956894930681540325706486536271559570093729174166218288868484576\"\n ],\n \"13206627495654962404668125437648002361757660892252019257649145372863024042067\": [\n \"1061215564890252798700209855674039982646279433582364504477728000416687734980\",\n \"12946402411094690021750457053576894482084436457927133774793560911562590508587\"\n ],\n \"10405383527958169201271955519395534779487453057517496559559935703679634147059\": [\n \"21225848112593764285271481480961871974556448495132066993820411423569323470434\",\n \"13206627495654962404668125437648002361757660892252019257649145372863024042067\"\n ],\n \"16424619982034185855518584939200627002804955017955483364784110386339782671084\": [\n \"12481836739501506914215347935090105870038371592509862016776652975491796372929\",\n \"1\",\n \"1\"\n ],\n \"5549223685196842445364474823081394549675736649705292945450252331379396346367\": [\n \"19468847944262321245369689942331754203776376148363453907027047193596456948492\",\n \"16424619982034185855518584939200627002804955017955483364784110386339782671084\"\n ],\n \"12527712782600096122164794395406785579720039410624317778093381353939505992047\": [\n \"0\",\n \"5549223685196842445364474823081394549675736649705292945450252331379396346367\"\n ],\n \"17248596087381807816369657003438230040820149802378831891512355679086916006133\": [\n \"0\",\n \"12527712782600096122164794395406785579720039410624317778093381353939505992047\"\n ],\n \"1389437347587915516057686775281813108220080876636986374405597784351965618559\": [\n \"17248596087381807816369657003438230040820149802378831891512355679086916006133\",\n \"0\"\n ],\n \"11765621106030603082227560494688946319669876075676586144840109489502956728973\": [\n \"1389437347587915516057686775281813108220080876636986374405597784351965618559\",\n \"0\"\n ],\n \"10478487729000469762735114217254872386260609648285726415935486503811747686059\": [\n \"11765621106030603082227560494688946319669876075676586144840109489502956728973\",\n \"8526962087919062149383127146938219661158514662787930704982255164778075507957\"\n ],\n \"12135562142087792579879550360075432486856007081565654588566086116311527596400\": [\n \"10478487729000469762735114217254872386260609648285726415935486503811747686059\",\n \"20842347057039604704553271743352475936625285984208809754083557391984557546990\"\n ],\n \"1306180815527432369542271775329578588471818964983139494763721815672029799519\": [\n \"0\",\n \"12135562142087792579879550360075432486856007081565654588566086116311527596400\"\n ],\n \"1821360666654256413107129295179775236176701060822593947172699079980766937668\": [\n \"7117407079531853579411824273606538896975139313348392172299649274247447886033\",\n \"1\",\n \"1\"\n ],\n \"12882407328406391722827436960306887524349695624759412936110005419282249489138\": [\n \"11407892708897122015757135778693134285042432906412414996163724378382626422944\",\n \"1821360666654256413107129295179775236176701060822593947172699079980766937668\"\n ],\n \"13727563252587391081255744274080091522450659423849984416078531764949453675957\": [\n \"0\",\n \"12882407328406391722827436960306887524349695624759412936110005419282249489138\"\n ],\n \"7609663957172884136811825185777418330326293873596080933279193972121552194932\": [\n \"4998024301455263562684478003045974732062707279845014370996418862335840105609\",\n \"1\",\n \"1\"\n ],\n \"7141956999565960994138147857657578506184217851850751716999460605159844779393\": [\n \"5734752335775783807365926030404929569013010626491051232141351477836777158588\",\n \"1\",\n \"1\"\n ],\n \"3736399591289907526297149319001653841850062951780500534924641179504021173482\": [\n \"17631517960015684110949376661799650532564829975143715228904533872615817471563\",\n \"7141956999565960994138147857657578506184217851850751716999460605159844779393\"\n ],\n \"10250040932062109526147807962945167705663384736928738070260073349448484371436\": [\n \"3736399591289907526297149319001653841850062951780500534924641179504021173482\",\n \"18121141492043854752059846774544053402160057605657601471257511404374720358188\"\n ],\n \"15554813353904276482988986058651316985257818235125691335236466861669152355062\": [\n \"334628451762609747563376189934434208510952222235599904233873856071413870889\",\n \"10250040932062109526147807962945167705663384736928738070260073349448484371436\"\n ],\n \"17964842590121867312154827017853459358950835745263808054684794339723396180405\": [\n \"11571588371756805977768676353557247146898263757124623710793534850705793777103\",\n \"1\",\n \"1\"\n ],\n \"11435612961556048928576354867906260962789770663135435463718049501006325808371\": [\n \"17964842590121867312154827017853459358950835745263808054684794339723396180405\",\n \"3044852202462649435342952568050946588024636168449536991667342579435010972960\"\n ],\n \"7732744534201951383562373541643965080454837320282314806386785900107821325127\": [\n \"0\",\n \"11435612961556048928576354867906260962789770663135435463718049501006325808371\"\n ],\n \"21712010193673620514267091300430808587640211648575024596527090914241472743715\": [\n \"13177758208779338984467101649766025050413319846567036598804443844328852342369\",\n \"1\",\n \"1\"\n ],\n \"8452074853009360067844843823858416706211643681553110250258734574330850602462\": [\n \"21712010193673620514267091300430808587640211648575024596527090914241472743715\",\n \"13611217128307646317170296759405620225645909450157913884430411556829888120368\"\n ],\n \"817887998302300118838298932391212582260113820036110062575400263741354034046\": [\n \"539969532272961931192024337487468326577299916010946644096683078600708512738\",\n \"8452074853009360067844843823858416706211643681553110250258734574330850602462\"\n ],\n \"1058815430120251296637445494363148073133296600958016379983994753773250111463\": [\n \"3857158598775891396198048135447038005518084168924015667107235521150743690229\",\n \"1\",\n \"1\"\n ],\n \"9574453388202649465818137955081401365470911888346348378530736664864667383143\": [\n \"18022223728435296958444991997283953427711779092612797924586604312510233513718\",\n \"1\",\n \"1\"\n ],\n \"11716914886778665932506088401977684853229406524911351080818115750606665373399\": [\n \"13301416379381411155608619835253573578744218184024961390322903051091855690532\",\n \"1\",\n \"1\"\n ],\n \"14808543568907917540163343491675300843514871822772110952974910582943734890028\": [\n \"11422936787971700194814564283147199172469483480274787426364876893284684778056\",\n \"1\",\n \"1\"\n ],\n \"4028706771115198825893857694903348911773028213169675883907393922920111361859\": [\n \"19375870557501888703462360469886355068966699011426468030056481751706185634349\",\n \"14808543568907917540163343491675300843514871822772110952974910582943734890028\"\n ],\n \"18193929581614649783495414029023448480563465323790969674651622965592419847896\": [\n \"0\",\n \"4028706771115198825893857694903348911773028213169675883907393922920111361859\"\n ],\n \"9110084484898479124714764184933508870343811142008707840111933596137568715050\": [\n \"0\",\n \"18193929581614649783495414029023448480563465323790969674651622965592419847896\"\n ],\n \"17391327768985301168039615441930605934058245705780622348718716104192666927086\": [\n \"9110084484898479124714764184933508870343811142008707840111933596137568715050\",\n \"0\"\n ],\n \"2821502237277550534750238645874793381049661560232114593873200535312974879856\": [\n \"17391327768985301168039615441930605934058245705780622348718716104192666927086\",\n \"0\"\n ],\n \"4015988507519033199878254403005319744635438687950113576265016667948355053183\": [\n \"0\",\n \"2821502237277550534750238645874793381049661560232114593873200535312974879856\"\n ],\n \"13094862023178656544420443872424063612613199583002868592951633661603030831193\": [\n \"6537263786528900891181052018718296138782456340259648121851861965070553906745\",\n \"1\",\n \"1\"\n ],\n \"8347509802332709682896818892996759443874604012548738259894334013169287125928\": [\n \"16164400308212594049799058798743305222089583255609903469790647025670247439720\",\n \"1\",\n \"1\"\n ],\n \"9647628543854327942711333888814124313456470085788198913202956636305965964687\": [\n \"9077353947121319992903255786616343631584552804656894266461319207409126857618\",\n \"1\",\n \"1\"\n ],\n \"16890906675546055746068527501575807858109282329729961136260651775581449187680\": [\n \"4208537460926457766872992392196927125504918548255200357410238719534508174167\",\n \"9647628543854327942711333888814124313456470085788198913202956636305965964687\"\n ],\n \"20810108807586804659059083411801269729373893402960049978971770947472229072300\": [\n \"16890906675546055746068527501575807858109282329729961136260651775581449187680\",\n \"0\"\n ],\n \"3292083081420364769686930581069665387941561145218244232133203029569830733610\": [\n \"0\",\n \"20810108807586804659059083411801269729373893402960049978971770947472229072300\"\n ],\n \"17200616566001818159061334834320105264205036280201578511158617474035615828203\": [\n \"7349449089368308071485262133261410397610542967284613520351004395716529464971\",\n \"1\",\n \"1\"\n ],\n \"2234831160080740056298062431416021508398512782488696859540629259649985509854\": [\n \"17200616566001818159061334834320105264205036280201578511158617474035615828203\",\n \"18760175944696560263341713653914605677979077716409243181877458761254550239042\"\n ],\n \"16033209055818329223008030924529596337222709082619763884173275271260567173525\": [\n \"15799469984525955133452917047262050069079087750460303857653306456671475994685\",\n \"2234831160080740056298062431416021508398512782488696859540629259649985509854\"\n ],\n \"5361117410193327815645172044252976933276077787061666589338170302382486078240\": [\n \"10926598755615682244635313905549317387064714566453961926007593174706738750130\",\n \"1\",\n \"1\"\n ],\n \"710463349961062382937278019037769374602442352146538058881103328655075229853\": [\n \"15637598764213665260344850998403208543919787136399640437942196639181785269439\",\n \"1\",\n \"1\"\n ],\n \"1395136404681683447045614804481423099199656342152581231566595020453869704179\": [\n \"710463349961062382937278019037769374602442352146538058881103328655075229853\",\n \"1463458607055940457744573102026009638131781104114550601293816219015123865273\"\n ],\n \"19355491245214597925355354935182930788021470474096703162197037897075880375727\": [\n \"21740482062719700639789234387818715588966003535272247556980625346675297170761\",\n \"1\",\n \"1\"\n ],\n \"2447680315426795580587018357902265568235474764119398093838929064946200370647\": [\n \"19355491245214597925355354935182930788021470474096703162197037897075880375727\",\n \"10826535325536929240553459729241886584961638399718668815582139988099904214794\"\n ],\n \"7728810452647632389171698010538390659340636714110109839195105240088023765284\": [\n \"10464720527316912422965412180114499129395476807951753224215073424170470209144\",\n \"2447680315426795580587018357902265568235474764119398093838929064946200370647\"\n ],\n \"3592637590584598463781821850418583611399501251350018007376815406674933011690\": [\n \"4932699432813045479219528081096245923188304935167675503499030198932442498536\",\n \"7728810452647632389171698010538390659340636714110109839195105240088023765284\"\n ],\n \"20029834412353251498789676715724623718454699082254006190986887312475173411830\": [\n \"3592637590584598463781821850418583611399501251350018007376815406674933011690\",\n \"13521854754212844814559059078226222446417420266208445902667885303078641937254\"\n ],\n \"13201696142072007511063766841173836946703670207461744771619654284399068376132\": [\n \"12756900205349016266994022652265664347994914033554234325851684008380817211042\",\n \"1\",\n \"1\"\n ],\n \"6075185634769606218530605605513953667153897249578299105531351930952763334477\": [\n \"21657806031501967689165479807350773879830652098339061764737644127958632780504\",\n \"13201696142072007511063766841173836946703670207461744771619654284399068376132\"\n ],\n \"13499298588086913762034113450313296878098225779723941203575613796896564582914\": [\n \"441578438326443914538199640593858359704670335746227258093386776564631705013\",\n \"1\",\n \"1\"\n ],\n \"21501087510919456124876702109682583376980306830232880880948305741341021787599\": [\n \"7388360264820501769563529886028380293814798861354715501548314497778123201262\",\n \"1\",\n \"1\"\n ],\n \"12177157425079469569249985181767891082763781340806535443037944181986412709670\": [\n \"20878400826388175449630834370743622041271964076116350849927813655620521901089\",\n \"21501087510919456124876702109682583376980306830232880880948305741341021787599\"\n ],\n \"8997123968559354967316312171603552556991270546955568586129799691215667620767\": [\n \"14219614984787016101629922339802207567835943397710213465719183710358381864109\",\n \"1\",\n \"1\"\n ],\n \"6344746891619547267691288610946102837038291227263301054236567844172106198373\": [\n \"10117065603122577846565342676947953682039102522482351261317631981613988498090\",\n \"1\",\n \"1\"\n ],\n \"180747348987838294901139598901863974825890070588103187635451089395468366311\": [\n \"12236558474298576107937536991244703323293325578243018738160840258406282366996\",\n \"6344746891619547267691288610946102837038291227263301054236567844172106198373\"\n ],\n \"1997164756554593057634516094318736272702850169882519029743529466156917524248\": [\n \"0\",\n \"180747348987838294901139598901863974825890070588103187635451089395468366311\"\n ],\n \"2617325742028433467138098611177059463389031876838719457603394267965936375595\": [\n \"1997164756554593057634516094318736272702850169882519029743529466156917524248\",\n \"0\"\n ],\n \"15434825856832610315147550433701051910026363079430762530228423375964864092497\": [\n \"2617325742028433467138098611177059463389031876838719457603394267965936375595\",\n \"0\"\n ],\n \"11265383934755045124969202351650640224251939453739351581157789017775595142498\": [\n \"7725765141920398092724763156099403241957980766667632361750512177776823351101\",\n \"1\",\n \"1\"\n ],\n \"8627174517935736490640927712068253708009146389830018235717642807631808624819\": [\n \"9736554768567558418840197508497069941850116676314925925906393139157706990593\",\n \"1\",\n \"1\"\n ],\n \"11869653650943904958663195637164953916245224375645913820230487924762942937938\": [\n \"8146859943009589510374715147782046740683590825143133301793426151489821869308\",\n \"1\",\n \"1\"\n ],\n \"3347914181868286175742733736447579191040376319132338726720244603782256308298\": [\n \"11869653650943904958663195637164953916245224375645913820230487924762942937938\",\n \"15913546011612587498979754879768193258452895443708905955783462489200207801502\"\n ],\n \"11098494463599547394717146690665111383031218684741629619546397874644168822334\": [\n \"20686625331531423661741988862263958624913719409545584631540033393817072763997\",\n \"1\",\n \"1\"\n ],\n \"11428203222313799884142890040059167957573475289199232581448545764045860694922\": [\n \"11098494463599547394717146690665111383031218684741629619546397874644168822334\",\n \"21094951606842967228067975695919096553095735969133387439584691568967886951648\"\n ],\n \"21448450889742155950677091886588279952588073200687498717272070906205035736143\": [\n \"11428203222313799884142890040059167957573475289199232581448545764045860694922\",\n \"0\"\n ],\n \"1551193051128113436114894223541357813365079507798101767903912483862182451056\": [\n \"21448450889742155950677091886588279952588073200687498717272070906205035736143\",\n \"806391830980859039035643824458817103985917801136255879670979030294986678191\"\n ],\n \"20070714771827908305983287610325202418222729107501272614693118032808884082748\": [\n \"6007791064817849477942236206218011883177627314612838046828979811002351674733\",\n \"1\",\n \"1\"\n ],\n \"5362674964705189772101243341965151620151192805119957298967683218269656673641\": [\n \"19384766218337080762664874884456405660093791293050140875336733338418355385085\",\n \"20070714771827908305983287610325202418222729107501272614693118032808884082748\"\n ],\n \"1520012521843841065618959397929481126731846723539743674862226140136030972980\": [\n \"0\",\n \"5362674964705189772101243341965151620151192805119957298967683218269656673641\"\n ],\n \"5312543768076162759829186330073437268402352399947838914314474316757624840033\": [\n \"1520012521843841065618959397929481126731846723539743674862226140136030972980\",\n \"6632027862758186678214677802776117972088253849840102424320378239791348037347\"\n ],\n \"8471177999514681060947532054494742972720611588866062499443557231811576481435\": [\n \"5312543768076162759829186330073437268402352399947838914314474316757624840033\",\n \"16850146390327482186796312667153468386572146472027962575055470123563567328803\"\n ],\n \"3367092877010054650767514306737177606729213136076169512019955538402289941235\": [\n \"6756942412949659850873329174688308831309876096074942374030012894232804618324\",\n \"8471177999514681060947532054494742972720611588866062499443557231811576481435\"\n ],\n \"14347816325357620925755381038385171725919674899410003963817118423501688047203\": [\n \"1742648662761468077171283700874080965843631803022297332271979862075674774234\",\n \"1\",\n \"1\"\n ],\n \"15398081408099973697099526869638255852841710727771137351066267874470812294743\": [\n \"14347816325357620925755381038385171725919674899410003963817118423501688047203\",\n \"21586200525429472468826240407851143071831708278041033254021113787941392049641\"\n ],\n \"9337177185964701025188011923887555122198618664946427959347992358890620243488\": [\n \"17725347705080998378235274838988255618239737759437215848824318489064883696084\",\n \"1\",\n \"1\"\n ],\n \"14348345806759573088165587600803132805602960752680933881582705939262965093182\": [\n \"946195922667646881910240788284316433228431559812294012527177192444301131830\",\n \"9337177185964701025188011923887555122198618664946427959347992358890620243488\"\n ],\n \"6618768158554907403465145230478402901632597943199275814689513900266877677203\": [\n \"14348345806759573088165587600803132805602960752680933881582705939262965093182\",\n \"0\"\n ],\n \"688310196170863792520308166281166129718369750213875965137648615385813256516\": [\n \"6618768158554907403465145230478402901632597943199275814689513900266877677203\",\n \"18531038051578699447745797633875053508194529618997027194011156250823844595021\"\n ],\n \"17504548613926962661144385311863430702035802655565782537783890197212951239282\": [\n \"17105570491990677596892156088091980780583702343915459512298915405819109964811\",\n \"1\",\n \"1\"\n ],\n \"16663917182604087987895158930903731159952901907483839448892438701425608270459\": [\n \"18129706361459862795355089832933817478502829257663505513978521537822621723078\",\n \"1\",\n \"1\"\n ],\n \"843451286996502985596111616669414950602387799094675423352861940259393776192\": [\n \"14052106123564057906645193528473168725344316068468456344009642853627174735294\",\n \"16663917182604087987895158930903731159952901907483839448892438701425608270459\"\n ],\n \"5993226212015827627027831873134542962961048928081195352332970231059576574566\": [\n \"843451286996502985596111616669414950602387799094675423352861940259393776192\",\n \"18115811190487025290054360116412379190716735495047014783571702838500927855819\"\n ],\n \"8095061661620450152452646801107430726429056508407760906065905664112518725806\": [\n \"18215037192183946426777228029033717284993784199007064970829724310198130832909\",\n \"1\",\n \"1\"\n ],\n \"14199505918349438860948322832978746513240989787160170077559408053515090891625\": [\n \"18968981711930467709458358508329935285081301177387070501350011175948866741278\",\n \"1\",\n \"1\"\n ],\n \"1965720554465360741764338377686997608725590721371543213277228738465320719097\": [\n \"7249300446042270979448033423683100103980592200151716177199875665381943876940\",\n \"14199505918349438860948322832978746513240989787160170077559408053515090891625\"\n ],\n \"6151728248976697475947108247742447437947269726490886878359671432167208301316\": [\n \"5952760253670068373306980785068436471419330125513846981384377123670030707284\",\n \"1\",\n \"1\"\n ],\n \"7458791079629999737892328250916540447561542911545863223836538572826798328029\": [\n \"21238827021186046372573368665835219271140148713338452742710209647231484082650\",\n \"6151728248976697475947108247742447437947269726490886878359671432167208301316\"\n ],\n \"17874323005228106357509731413562217371105167906506316784377630400280169082179\": [\n \"7458791079629999737892328250916540447561542911545863223836538572826798328029\",\n \"11394151039384492479537802979339137555322731239883595616307018117595737225882\"\n ],\n \"15849454434326509789576061613001177889460474361256018577481592255143817873106\": [\n \"4332883384387037950982837899719376229773299393642438157310335713705465335413\",\n \"1\",\n \"1\"\n ],\n \"713932006508768078553492943396196109988542084200705624456784271392830518687\": [\n \"5854944101575577509723902403435810358606638373332583455254491345209651722885\",\n \"15849454434326509789576061613001177889460474361256018577481592255143817873106\"\n ],\n \"12527460310308938333186923752506360122821967741944147225184183495576388761548\": [\n \"713932006508768078553492943396196109988542084200705624456784271392830518687\",\n \"0\"\n ],\n \"7869914908898316781505791741957068186040453601727779949724853857434837401974\": [\n \"12527460310308938333186923752506360122821967741944147225184183495576388761548\",\n \"0\"\n ],\n \"8928690347745929591727419458303781752997635489779040918982870989877829073480\": [\n \"3801598966200077066448133482258725248618781674226201657756702622743212304675\",\n \"7869914908898316781505791741957068186040453601727779949724853857434837401974\"\n ],\n \"6445312866459170865139864987817124912631413675707068011346517281757262937862\": [\n \"6239756711424101908482859204063197046627209421021445727395194753945840842974\",\n \"1\",\n \"1\"\n ],\n \"17826150952756475976316535885111571394460555408214062059696878744542179530128\": [\n \"15523774080442283809736399400248691049499693575743690985919114966909653636543\",\n \"1\",\n \"1\"\n ],\n \"4326579800713802223012270307942382820566333741517691586905017415555220195021\": [\n \"17820860150854505264168537870900256899160761528620228046108043613118034215567\",\n \"17826150952756475976316535885111571394460555408214062059696878744542179530128\"\n ],\n \"15498075208906571203459458585716734173391469575704619581826665828061625888005\": [\n \"4152790828944995639328942984756870615050297980433059859685798758843758884259\",\n \"1\",\n \"1\"\n ],\n \"3054240065464800418184323127729842348929688032724025238783607212932383370666\": [\n \"6053454010570175894104002721506139308910359085841586705827787080905266708530\",\n \"15498075208906571203459458585716734173391469575704619581826665828061625888005\"\n ],\n \"21040352340480358330048687226401390738592927803486551999041078062536802156833\": [\n \"13897281863759804135529736618354864874001559300742720139492960445441361641580\",\n \"1\",\n \"1\"\n ],\n \"10977170463416809282844762865833007690991083123078430871393860316187062751837\": [\n \"11548266295182477037739009966509390569815934481946734635753473433535529800407\",\n \"1\",\n \"1\"\n ],\n \"21125927557258728160627990719691971765677528757443433080671217974708672008638\": [\n \"15514819705197148027644401825203131883301327731769793605257538905369153576602\",\n \"10977170463416809282844762865833007690991083123078430871393860316187062751837\"\n ],\n \"5278610221384993814054757481157111756844392907450414916164553571717536275676\": [\n \"21125927557258728160627990719691971765677528757443433080671217974708672008638\",\n \"0\"\n ],\n \"19051743022882760950985063915589796837271543261360626309628894301277640141476\": [\n \"7245372293903587157919545737115757623269540844428301595986091679381877501359\",\n \"1\",\n \"1\"\n ],\n \"4474124931047058917772789824552195599127493399613855459133885380637712447076\": [\n \"11704616655186203756419041445634748628532776347279405385097708444224425636975\",\n \"1\",\n \"1\"\n ],\n \"10550149359911699619990551796035882948328145853782465373375362828444190969456\": [\n \"7509448024902207478741801606613707393122430767669680452535057987401406854945\",\n \"1\",\n \"1\"\n ],\n \"5770736144999831552349249505350989891353686571181216882194788957754852501549\": [\n \"560410678400150561422721771967746966958017837108333033694944894917952176169\",\n \"1\",\n \"1\"\n ],\n \"17137483485920109217759968146629997573467574834123907462415571490590070655426\": [\n \"11698172284077072672479237903157244841162587824927626932823660474253680630242\",\n \"1\",\n \"1\"\n ],\n \"17948455538022961291593189979723049610577697232912884369432769960959140456832\": [\n \"1850558905041921094943728632473024138983031668627642130033937291999507734280\",\n \"17137483485920109217759968146629997573467574834123907462415571490590070655426\"\n ],\n \"3593812338587257915987276429352198125713838841693618358192415797546183481940\": [\n \"0\",\n \"17948455538022961291593189979723049610577697232912884369432769960959140456832\"\n ],\n \"10994855249829208126772938551972160111742579108699719195988776249584477748491\": [\n \"3593812338587257915987276429352198125713838841693618358192415797546183481940\",\n \"17188711704824875287862592740455683020101128810241341421020409760783850581353\"\n ],\n \"9604575357268321625862504060043223894630688484501489254342339106601272101294\": [\n \"763529353889533229785021386168837474306681638412317297926467936010839081162\",\n \"1\",\n \"1\"\n ],\n \"12538341124655274108351860305690693401904455901435217561128828184685282717285\": [\n \"9604575357268321625862504060043223894630688484501489254342339106601272101294\",\n \"10439338003375675229871373651923594887353918833058081858796722872551599970657\"\n ],\n \"8736858339644909397305591284154724397298567411791000592618470317748395806673\": [\n \"3724539790640778838874665623096748608483255285026461595435959920264638510168\",\n \"1\",\n \"1\"\n ],\n \"17156155023444921292880091401850093526954273208254385572832502628202304956645\": [\n \"8736858339644909397305591284154724397298567411791000592618470317748395806673\",\n \"16676464156558775193439847392977529288163912874984202021444301064177646069956\"\n ],\n \"13140816734779951618104420785962452922342969528351802503547841995294431112333\": [\n \"17156155023444921292880091401850093526954273208254385572832502628202304956645\",\n \"0\"\n ],\n \"16099957174459518999371527586248141785279702227716438694390766911507470074115\": [\n \"13140816734779951618104420785962452922342969528351802503547841995294431112333\",\n \"6274329926139861690586564516317720313738922721652966626750209241526398416888\"\n ],\n \"18602607081954956273965510443668943596764704600110148569737320407569589814599\": [\n \"4814007271095470476781526407030539873772311018872502183373927991867622791485\",\n \"16099957174459518999371527586248141785279702227716438694390766911507470074115\"\n ],\n \"13551104496827467079776128111906238662057074457176897837913194727348177895212\": [\n \"19950367298669295388856015741649079704287053992695735516100996213105658667959\",\n \"18602607081954956273965510443668943596764704600110148569737320407569589814599\"\n ],\n \"21261136236987680285470372520778850440109882046132771195379788547666292203068\": [\n \"13551104496827467079776128111906238662057074457176897837913194727348177895212\",\n \"16635497560661217585659011490787072259432547972049825616413891219475845046202\"\n ],\n \"7887945459867410024765814492234725109611203215546418147900500448010130621106\": [\n \"18107528906664581134934983459332651709360293746140599591636161825790536077428\",\n \"1\",\n \"1\"\n ],\n \"6605194524558750122864238112814726329395757659069491553845295938329435473630\": [\n \"6333416466995419631469794635401507921766624672863107103631618642994601381911\",\n \"7887945459867410024765814492234725109611203215546418147900500448010130621106\"\n ],\n \"14250465620057727257297374569059268510726133831799037540039908956315377172347\": [\n \"6605194524558750122864238112814726329395757659069491553845295938329435473630\",\n \"0\"\n ],\n \"14980730471609665070665545672458050680806309491308518324586317982617522967068\": [\n \"14250465620057727257297374569059268510726133831799037540039908956315377172347\",\n \"0\"\n ],\n \"2822391008239767881075039785087482826142751497573418577142975882494916217779\": [\n \"0\",\n \"14980730471609665070665545672458050680806309491308518324586317982617522967068\"\n ],\n \"4958292828756868611914462239419954025164276189046793061699044173246920308047\": [\n \"2822391008239767881075039785087482826142751497573418577142975882494916217779\",\n \"0\"\n ],\n \"19666320569531113062741873202665764092862588164713559563846528817913596417981\": [\n \"19800870616563505093069799529104916326571125829265340177746060000516094097789\",\n \"4958292828756868611914462239419954025164276189046793061699044173246920308047\"\n ],\n \"3351070797376096168660674432413566869083367271541969267387158538057713256004\": [\n \"19666320569531113062741873202665764092862588164713559563846528817913596417981\",\n \"8139547110740974761824950825773350095004353639685050868892190455559884476928\"\n ],\n \"2014053330425400242261793005186623949360425948690674861200146269729819540777\": [\n \"4593447950968841241511070787166936080053041841337679319171721124024776702451\",\n \"1\",\n \"1\"\n ],\n \"15527593095725243615605594739102679070362927683161581671292572391484440088000\": [\n \"19438528834989111040036091911169339966909408145161892186390235921506609582567\",\n \"2014053330425400242261793005186623949360425948690674861200146269729819540777\"\n ],\n \"16189355067854198483979477739099950426771002936198516482119184591407993281400\": [\n \"0\",\n \"15527593095725243615605594739102679070362927683161581671292572391484440088000\"\n ],\n \"14553385639422163661996506428148273531054624678806803734921855146968159157573\": [\n \"0\",\n \"16189355067854198483979477739099950426771002936198516482119184591407993281400\"\n ],\n \"20209558997340787513185692705624338804424791884548695262087292197260766310328\": [\n \"1370568645065540146888152421245969301322160293153201142945397388308589334057\",\n \"1\",\n \"1\"\n ],\n \"16832860344116720434977837719952985505095548646585943240805174734034385265843\": [\n \"20209558997340787513185692705624338804424791884548695262087292197260766310328\",\n \"11327856287876015313939427785487235619548998163342287273366419473729351615615\"\n ],\n \"13467638254453750777696168132645177049765304532715453107981100587459390677947\": [\n \"16832860344116720434977837719952985505095548646585943240805174734034385265843\",\n \"0\"\n ],\n \"15393588264466988613372435730158412003222885462647866103290276909932036033584\": [\n \"0\",\n \"13467638254453750777696168132645177049765304532715453107981100587459390677947\"\n ],\n \"18457480234975197301001250392456276882933082328887793787134010943340023956981\": [\n \"15393588264466988613372435730158412003222885462647866103290276909932036033584\",\n \"0\"\n ],\n \"3957593293774010825336892143717485353713672537165924750819732858669066599002\": [\n \"8208481208460560974904717400621413711442898792633516403033628272518197669052\",\n \"1\",\n \"1\"\n ],\n \"3707055717080258980514179836710670438679165525688042524012323628428086660939\": [\n \"2877426289687289787515706838244185835718211983301880437199459811795827855902\",\n \"1\",\n \"1\"\n ],\n \"170390086696782635191180863890785083373319949591231318544924983044582193834\": [\n \"6520371720425410919597415844916276535487130148922517023069522991298340638598\",\n \"1\",\n \"1\"\n ],\n \"6661474134198331120416210515818129224965389740088211061745523642637301105578\": [\n \"170390086696782635191180863890785083373319949591231318544924983044582193834\",\n \"3549064924630307024610060961849730065483537534775058317526007990890318320157\"\n ],\n \"15023332962851950998986731593003348407886879943784790577884222320958205719615\": [\n \"6661474134198331120416210515818129224965389740088211061745523642637301105578\",\n \"0\"\n ],\n \"12509739237317744247135260364192265093585131859508248323571933508253372881651\": [\n \"19309331729087359498311328722777044445075536413604958637128063565576265051578\",\n \"1\",\n \"1\"\n ],\n \"3698529240265693736103315081696076549554057853743215112952205400672220450931\": [\n \"2961050524595126680691119487398023259111192706500643911620524837723884216858\",\n \"1\",\n \"1\"\n ],\n \"539494052782391013798746138543042507371925215681686441656386089744859720661\": [\n \"12692221160845918431860357799561404102392485143766880676543019523423397028694\",\n \"3698529240265693736103315081696076549554057853743215112952205400672220450931\"\n ],\n \"9759018369107513782984376833563095300799757144935171575180137753339138445278\": [\n \"18373248725335248112406957759707045261463600245914697289474947083452988723311\",\n \"1\",\n \"1\"\n ],\n \"2426960593783968913806214168815369814743393435722980066966396945278897414329\": [\n \"5929359493988703785477205717347629454611352870526615812594706196594146566832\",\n \"1\",\n \"1\"\n ],\n \"5140237168907942201304842968418983813241460332099690510072264337976140654330\": [\n \"2426960593783968913806214168815369814743393435722980066966396945278897414329\",\n \"16315744658345247976249192787075296546646989598785566665609417852703440613131\"\n ],\n \"4002927899012660907846834511308288262588666961117562733053982612382759751438\": [\n \"0\",\n \"5140237168907942201304842968418983813241460332099690510072264337976140654330\"\n ],\n \"10055333968242246689606498470896109547535142698686855173955918343976548057781\": [\n \"4002927899012660907846834511308288262588666961117562733053982612382759751438\",\n \"0\"\n ],\n \"857947724004423278172018526949576654248029533634098740022741985386541535986\": [\n \"10055333968242246689606498470896109547535142698686855173955918343976548057781\",\n \"0\"\n ],\n \"17803614572922957429692118535465838043658011391512443612161344064234504182024\": [\n \"13073634388082861870642423797619025687576925291039371796009368534348298778387\",\n \"857947724004423278172018526949576654248029533634098740022741985386541535986\"\n ],\n \"4468556649839971795347477933021360081506435971271971868375488887171745610250\": [\n \"0\",\n \"17803614572922957429692118535465838043658011391512443612161344064234504182024\"\n ],\n \"17892385936042418551210615501601706816848686499785097374263725044541111399763\": [\n \"4468556649839971795347477933021360081506435971271971868375488887171745610250\",\n \"0\"\n ],\n \"21231654853816732196845909091495359510772673944532462334162512319212149592911\": [\n \"17892385936042418551210615501601706816848686499785097374263725044541111399763\",\n \"21185852130845208738210699648627452668301393662087338353731840554142450091080\"\n ],\n \"12577526065357113324844996253586036117306311471322595933032523574033515904619\": [\n \"2954042208603682831780158361829192158368591801843778968246940498701654801363\",\n \"1\",\n \"1\"\n ],\n \"12540316653190315883831964786839759404502892244217395564153896189452873246401\": [\n \"8869075431646028640637945303480949576521353253624439193467827523431155270164\",\n \"1\",\n \"1\"\n ],\n \"4680366429722309727827659462987396066685327295344814561843396741272060079479\": [\n \"12540316653190315883831964786839759404502892244217395564153896189452873246401\",\n \"17637812739240523247713829341754989670432124788631034451073731043428753639169\"\n ],\n \"13512416577367880869102083996423849033824148437054700852633580762653547191865\": [\n \"4680366429722309727827659462987396066685327295344814561843396741272060079479\",\n \"0\"\n ],\n \"15362469003435426742191785774739047568460793388207335202826612068649383062656\": [\n \"9285696086414769324562611268507036030694846051503713580624792361657017878992\",\n \"1\",\n \"1\"\n ],\n \"9592027463469078189505314757236841653466559110910814880539016094833587483970\": [\n \"7325230995230074421249703190024739730756208909512567299921048699237375687059\",\n \"1\",\n \"1\"\n ],\n \"9658393987767958919324399661316070654752600605942275793812497790988501978028\": [\n \"10991556723366230809821958798749736405564127250906541167238692540796392675596\",\n \"1\",\n \"1\"\n ],\n \"20187936052874778102639379431275779834291393672153108053214333900919763943720\": [\n \"21363562553588388941495517704587270985446197362222258522518138618891220893261\",\n \"9658393987767958919324399661316070654752600605942275793812497790988501978028\"\n ],\n \"20070982887297060668335685136225786682108531135085594374849986183352232296961\": [\n \"1238509384353359266062673769563464724123333030177189174335110955375122721667\",\n \"20187936052874778102639379431275779834291393672153108053214333900919763943720\"\n ],\n \"9626864139057335213676422431618510639969730680955077869102627679585687768268\": [\n \"20070982887297060668335685136225786682108531135085594374849986183352232296961\",\n \"0\"\n ],\n \"10708241118419533446501467363976992786707732259257101602446638530692707014916\": [\n \"9626864139057335213676422431618510639969730680955077869102627679585687768268\",\n \"18786573273568497505469691139908258241984886427652242494671609462784661000779\"\n ],\n \"7543321152461973996217080798817675406339334960381913512885613068183496641501\": [\n \"0\",\n \"10708241118419533446501467363976992786707732259257101602446638530692707014916\"\n ],\n \"17920791152283612004064020180251986017052158860761912397530624265580248633168\": [\n \"5515752012779832659176489884868528803741620397189796462112728347203251970942\",\n \"7543321152461973996217080798817675406339334960381913512885613068183496641501\"\n ],\n \"12188270472064207772459977340951384544189952246622186731163982653400699163213\": [\n \"17920791152283612004064020180251986017052158860761912397530624265580248633168\",\n \"0\"\n ],\n \"12498677743063668033326362950888068814849559796724914432798751725710783092422\": [\n \"1045263152971532305842730904629243699289381894245175483930990947693997530444\",\n \"1\",\n \"1\"\n ],\n \"3274116095070733511714447469519116335035877665786949788894539676351939655672\": [\n \"10067677976101501663041274002443011715816941790030521433967380447345267686048\",\n \"12498677743063668033326362950888068814849559796724914432798751725710783092422\"\n ],\n \"2558372696470797143245976721209766832502974230251372432023837165469638391920\": [\n \"3582170862282524367572869074184475312841099945982882634892409860648426339723\",\n \"1\",\n \"1\"\n ],\n \"21404262569193217209400471372874948317329526065676294760519490948183865199414\": [\n \"8798363597561717849908809467000110006482980077084678382010835200635386879774\",\n \"1\",\n \"1\"\n ],\n \"8256310931076320195762198317082470684323366383967406916662564562976863954429\": [\n \"359386558981199249799918334015961352424573918009798821300916738501317126175\",\n \"1\",\n \"1\"\n ],\n \"4022429289573476868675096760556705508396481507332114660159287115682771167886\": [\n \"8256310931076320195762198317082470684323366383967406916662564562976863954429\",\n \"11377012384085687126139798733419800656582020507219047904995341461411214572758\"\n ],\n \"17334675044245087861911469574758705385776330730280012422679213899357417165028\": [\n \"3568328421801101583030829092349659774345537483186229158466879757410333599163\",\n \"1\",\n \"1\"\n ],\n \"14040951371613343201612209350854542671394207367925038550557808402171840796665\": [\n \"6207803306837351253778448483186304038824233821177582459875470875401642252727\",\n \"17334675044245087861911469574758705385776330730280012422679213899357417165028\"\n ],\n \"7223269789070695281338534142499879764566598985421812691792936030182161242498\": [\n \"14040951371613343201612209350854542671394207367925038550557808402171840796665\",\n \"3461143575035932441037028075819531098553402247751835966603543910082974395090\"\n ],\n \"20753381292519141801753113840201393596306605468941842954683916064610450113198\": [\n \"7223269789070695281338534142499879764566598985421812691792936030182161242498\",\n \"6192243521486942282871714061014168474746285667683863555706475617578582785798\"\n ],\n \"4202064817006465973860919985447223526284939664293587004252026838367532737142\": [\n \"18092347201434703463107655754451452378005136978984936946882829233043805044363\",\n \"20753381292519141801753113840201393596306605468941842954683916064610450113198\"\n ],\n \"1211605021001151353425618727247475331043530431643615461094413523205216743200\": [\n \"4202064817006465973860919985447223526284939664293587004252026838367532737142\",\n \"20112679312054818127224976053885300158492047123460402695572311774540594141512\"\n ],\n \"9641624497402781899719461723883072310678682681414060700468167352408504933781\": [\n \"16495534890730087590684661244337329065341893467729737925344328149931029560150\",\n \"1\",\n \"1\"\n ],\n \"5953910641009691153868440913055522626247183530378311976613594686814625055880\": [\n \"9641624497402781899719461723883072310678682681414060700468167352408504933781\",\n \"1192545394952859332867836439759541521252705345066508980335190073942391036178\"\n ],\n \"14077802661405275586992744920858672119567123619059116217910001012631678171528\": [\n \"0\",\n \"5953910641009691153868440913055522626247183530378311976613594686814625055880\"\n ],\n \"5581409638094465982827821946453036059773231519239607924893004842255084184039\": [\n \"0\",\n \"14077802661405275586992744920858672119567123619059116217910001012631678171528\"\n ],\n \"10956583001723639038884854437411504395665724125853475065356779517383115759155\": [\n \"13726440510188915971878008970355470692433080750370197053832539853173386071594\",\n \"5581409638094465982827821946453036059773231519239607924893004842255084184039\"\n ],\n \"20311094324200491113738534120781102680078687491941809729766161970704382828999\": [\n \"0\",\n \"10956583001723639038884854437411504395665724125853475065356779517383115759155\"\n ],\n \"19745601665859409747749751661916588683189799056760354076797528972310052338268\": [\n \"0\",\n \"20311094324200491113738534120781102680078687491941809729766161970704382828999\"\n ],\n \"21683207344289362234072270063151534070307257825024534452456902995240369369039\": [\n \"0\",\n \"19745601665859409747749751661916588683189799056760354076797528972310052338268\"\n ],\n \"2809459554367704114024531704877658147079056482533222881784503932864653825656\": [\n \"4861187464266771734737313041907234303222997612322824896186499668827657810408\",\n \"1\",\n \"1\"\n ],\n \"11645929756448347374918865866906646352881120836925437213072940495657688110738\": [\n \"16243949055609875566253519337326880856137633491904823282450440728021778414759\",\n \"1\",\n \"1\"\n ],\n \"10148392746419215031396095930422671765820679794883793679646965422678572506150\": [\n \"11645929756448347374918865866906646352881120836925437213072940495657688110738\",\n \"6729639646517133273023382553628024625148176752623005702016599623713856344350\"\n ],\n \"9841933349449983553866240269591853169975170531423258523656535114079936510517\": [\n \"0\",\n \"10148392746419215031396095930422671765820679794883793679646965422678572506150\"\n ],\n \"8239409478681492151954459312638461233809499327636386744563203447175416427449\": [\n \"0\",\n \"9841933349449983553866240269591853169975170531423258523656535114079936510517\"\n ],\n \"1570450079576295962533987970796366694734749263751211805076926366492679258660\": [\n \"1946672853167002683071878857128535202933867335751188650042040314856996429608\",\n \"8239409478681492151954459312638461233809499327636386744563203447175416427449\"\n ],\n \"4170938169386620421756370500030932427086133380249775682461412840440603859754\": [\n \"3066629317463655534543446004963001675319399705777966892174999785194928083617\",\n \"1570450079576295962533987970796366694734749263751211805076926366492679258660\"\n ],\n \"2388690301544691805236204712884254999043019285110163555706401799740699571867\": [\n \"4170938169386620421756370500030932427086133380249775682461412840440603859754\",\n \"14403113793430251224971393148826666012473688791837249792500862031209636178178\"\n ],\n \"20258350095651062336746980433004898601138259814556294080146922460054311338170\": [\n \"9620640921456674827991030284186130874207234937614267588639186465036397360624\",\n \"1\",\n \"1\"\n ],\n \"9690787610212426349472694329384475201597939646918576582921692697912126946143\": [\n \"4518919072684868413703719615996586291016924103178266720494773760482165639508\",\n \"1\",\n \"1\"\n ],\n \"17344530126106023360334788769712895613417179798129083396958148455881447829620\": [\n \"9690787610212426349472694329384475201597939646918576582921692697912126946143\",\n \"7349387556138573223380809607349721331604873770062886202975285684021144636574\"\n ],\n \"12715761567489246891344728647285233887578946376670576302845376828567443031286\": [\n \"6772538254572680738900896753487900326624169638596971573474758520394491467785\",\n \"17344530126106023360334788769712895613417179798129083396958148455881447829620\"\n ],\n \"6361232152684174680561348277249656469609072666969844486291383537887563488578\": [\n \"10683433874533098553499513567469904477614286597828977999729270024432584830117\",\n \"1\",\n \"1\"\n ],\n \"20127242848335725946453811171427145951924416649556650943162740710686133645078\": [\n \"6361232152684174680561348277249656469609072666969844486291383537887563488578\",\n \"510588493327987208931777067828420932487401832106542588594822336396331085832\"\n ],\n \"9554103420675603901012991459402104105926086409903239147024016738154512211584\": [\n \"20127242848335725946453811171427145951924416649556650943162740710686133645078\",\n \"0\"\n ],\n \"13757439989365518396289668288359431534825167200245674487524507593592875384894\": [\n \"0\",\n \"9554103420675603901012991459402104105926086409903239147024016738154512211584\"\n ],\n \"8661794988819215647055861415922997558234970677623627211279180835549267899259\": [\n \"13757439989365518396289668288359431534825167200245674487524507593592875384894\",\n \"0\"\n ],\n \"19952998746620900606048804499170471251385877054186652753475716326973832106260\": [\n \"0\",\n \"8661794988819215647055861415922997558234970677623627211279180835549267899259\"\n ],\n \"17953238351741252185033053851139211737367141756259405991066934183934100510304\": [\n \"4030009608187129616275312166836061635602061444136815410251276544143236384705\",\n \"1\",\n \"1\"\n ],\n \"12921346175980643952102169968891328198404767262767441012565472082938196723884\": [\n \"19672067691151443318513030873547664742082453799062675626429362264882339148432\",\n \"1\",\n \"1\"\n ],\n \"16618942728226245909291227953863739896008428934809894284783146147874485667199\": [\n \"20476683664972633025721238661919772208236912677742575902164929629123776610396\",\n \"12921346175980643952102169968891328198404767262767441012565472082938196723884\"\n ],\n \"12664363569660119989575131626894816539542771753342067152181730054109380132235\": [\n \"21068032810136265891130566043602479823087690101110008519101182606688994405396\",\n \"1\",\n \"1\"\n ],\n \"2624688746422287000630583976690151083691314750046290840175755611455788984064\": [\n \"11018458054801023954976351481037719561760535225206596595638153397911302152485\",\n \"1\",\n \"1\"\n ],\n \"17985117693111916682171975800159977104257642060196378307732074811637996253966\": [\n \"2624688746422287000630583976690151083691314750046290840175755611455788984064\",\n \"20637419177880866147082168236501736629490041655375668123305770921753388161428\"\n ],\n \"7158253350884687327782737243370116868532056843838110297741059476416477952801\": [\n \"17156228227252825817920632659141366690353098596372586571969088988682472042774\",\n \"1\",\n \"1\"\n ],\n \"15040750050882992840341100425581075012840413291021143326817682842314381347892\": [\n \"6604590152441542254640930102097565037600332100533599124053791559497414163800\",\n \"1\",\n \"1\"\n ],\n \"19176996889518952042321119268596807180025747657870025803312302942781295096228\": [\n \"3841622571949581099129177281350663429207076475162111816156525186368445587735\",\n \"1\",\n \"1\"\n ],\n \"4961484505378887051652032179778740963711642599391238855150581825951045691658\": [\n \"12596904010682241434010278254858752980977987140543921943247081825521273615964\",\n \"1\",\n \"1\"\n ],\n \"12931939713990946582195509971138365304772115567755665112726004752290854225769\": [\n \"5330249097138623162002408482862692801155954514075048570174421778292479446000\",\n \"4961484505378887051652032179778740963711642599391238855150581825951045691658\"\n ],\n \"9433165868516325721455525442765493111431708744269522589277212269033199541805\": [\n \"9312808756410408876943612960236679326736162960731871855609062820708082025445\",\n \"1\",\n \"1\"\n ],\n \"16076357654804691935707629288666295417465982138745080566439459312759830552995\": [\n \"9433165868516325721455525442765493111431708744269522589277212269033199541805\",\n \"20518808837834296303512195617417467578362691015040286603580014398095928419929\"\n ],\n \"2719658764613149466489530476081318832234363237118390209466607506099789794386\": [\n \"16076357654804691935707629288666295417465982138745080566439459312759830552995\",\n \"6205062513235678111869349106624612888039022966096257142106926228997083589086\"\n ],\n \"12621689662712658755306779481705666693936363732311532579690046497395534922191\": [\n \"2719658764613149466489530476081318832234363237118390209466607506099789794386\",\n \"9695369197307779537999780691046800072417103560917908436889711797421236132978\"\n ],\n \"18204476802611076970872920620138195459756145308419652544033465532577474553539\": [\n \"12621689662712658755306779481705666693936363732311532579690046497395534922191\",\n \"4926218919779341783542842286829484927162554464279836181751580023215163725128\"\n ],\n \"3856921371748658628904407713851216477850770294407370130386215354505814138759\": [\n \"1911414293815724743848412544535252676385219827786215473138240292628918039006\",\n \"1\",\n \"1\"\n ],\n \"18943877094636962747006974911106324821870233411690575083288572829179143568223\": [\n \"1837123739703678718805684356149034648601338522352712494076766771758730944307\",\n \"1\",\n \"1\"\n ],\n \"19177233958642135303361573690275980908343728462101947951807102931027895131028\": [\n \"5617419732062633430843739437712317339864645607307884163718106623427085390739\",\n \"18943877094636962747006974911106324821870233411690575083288572829179143568223\"\n ],\n \"15144280951297919361807740342480299858374236506294805670154453297204280867793\": [\n \"0\",\n \"19177233958642135303361573690275980908343728462101947951807102931027895131028\"\n ],\n \"9706543630817029597745778905738410790572311687249055644744101106959883647352\": [\n \"332378070131479539690043549791071824532044903833687825703927771100131379590\",\n \"1\",\n \"1\"\n ],\n \"5634195481629574080767994822812703759812502261984224103280655603583958583318\": [\n \"15464385802412564151809220551759775606976543119443915664828449869532404684938\",\n \"1\",\n \"1\"\n ],\n \"9928209548499885295342374596306247287096645799981185227822036132160195656692\": [\n \"11407706689737036863641100570841296857798098076699951003077309920558562190725\",\n \"5634195481629574080767994822812703759812502261984224103280655603583958583318\"\n ],\n \"17002868792932967902754244259313309423371423509191515708888060235952613738712\": [\n \"9448049223518495304163608964932382418953298345536364172563813962762757041675\",\n \"9928209548499885295342374596306247287096645799981185227822036132160195656692\"\n ],\n \"11537333856262964792590139954488430553579356147943740139921016003934782629116\": [\n \"17002868792932967902754244259313309423371423509191515708888060235952613738712\",\n \"15558393888728620618060929998627245201803027989900518012896882736412980056547\"\n ],\n \"7975674036863536323100038821173974745813600759255169698711036135693977945861\": [\n \"1231453260032462261761054586240632294405920166304786991157206784108586657135\",\n \"1\",\n \"1\"\n ],\n \"19191297705597314838667404871013508888291938712850996529788203028300201836558\": [\n \"7975674036863536323100038821173974745813600759255169698711036135693977945861\",\n \"965460354183385070896353081418874421633703022194734933562483076665982178002\"\n ],\n \"5598646316347278808545763300979231168727739103053044337055889754709932791330\": [\n \"19191297705597314838667404871013508888291938712850996529788203028300201836558\",\n \"20848154597171376881251546939043105700029521782935433777506742213978047262468\"\n ],\n \"10195661853575465969406750100919328397884911286624217870345291555820524026806\": [\n \"1173812890558825614784085211147391612896269341626146343585563980385125359768\",\n \"1\",\n \"1\"\n ],\n \"13900247828566514755178987712851967391017841711700641377344473350606647382183\": [\n \"12669019432079593700665881084746887571911743083647046441624587353682608039541\",\n \"10195661853575465969406750100919328397884911286624217870345291555820524026806\"\n ],\n \"6447901248199779651485453295290263342693202820115668913989178513759053407206\": [\n \"21870131678538321012028906550457057620319971149747155624395981952703127143321\",\n \"1\",\n \"1\"\n ],\n \"19859204422724856445924548442955257070915941563309941910240197799206738575076\": [\n \"17043648850707015373156671579201955759778513699740536316108230447041492901174\",\n \"6447901248199779651485453295290263342693202820115668913989178513759053407206\"\n ],\n \"20821630461782266013331822269802715148553878706375246466791505443271864251621\": [\n \"1594983226591172812388715476997763107800915518640186361605582929496255445192\",\n \"1\",\n \"1\"\n ],\n \"1427186271555276448440834478696676168207101648393024842495031072558141224913\": [\n \"3836190827832776590998850970807176026148981324378248876827524867137539102890\",\n \"20821630461782266013331822269802715148553878706375246466791505443271864251621\"\n ],\n \"18712534608280925656631666685751234373753215832735251825451531503162904252175\": [\n \"0\",\n \"1427186271555276448440834478696676168207101648393024842495031072558141224913\"\n ],\n \"3598470585571130770687932833193602921313131525664960345424718289551315110252\": [\n \"18712534608280925656631666685751234373753215832735251825451531503162904252175\",\n \"0\"\n ],\n \"2288712711811218765575220704636068692236163415820015539307712507438918069879\": [\n \"3598470585571130770687932833193602921313131525664960345424718289551315110252\",\n \"13837901017237917860212646114526050253394928147246120883548434250271525687629\"\n ],\n \"7999674522259899401739104669786691765676692941737337313071342634809819431406\": [\n \"5731721845950194156631092517042799341732656661849689759300369272240607663736\",\n \"1\",\n \"1\"\n ],\n \"3488134833692101294999175825785062735287947111934354335687216975791154638274\": [\n \"7999674522259899401739104669786691765676692941737337313071342634809819431406\",\n \"881879203245926064550748766973955297770351930729476682749911956305234239832\"\n ],\n \"13957931995211414613360635890228425967245452409848643071076699462126764327400\": [\n \"3488134833692101294999175825785062735287947111934354335687216975791154638274\",\n \"0\"\n ],\n \"20784626415540300511370923203600928820077259286333183121054770589526881832301\": [\n \"0\",\n \"13957931995211414613360635890228425967245452409848643071076699462126764327400\"\n ],\n \"9147908380361919965300970310166096917320903971694399481220534814488091663668\": [\n \"4278474205234324336021144932402581866119987932371317423359953198608673533378\",\n \"1\",\n \"1\"\n ],\n \"11683133710977577855782260975021401542845170989468394544449938115056932803907\": [\n \"978426770031101786516707789798258872735781355227593576957660043732017329178\",\n \"1\",\n \"1\"\n ],\n \"10484082280994175426204408165035657605683448929708233064998057341455302797143\": [\n \"11683133710977577855782260975021401542845170989468394544449938115056932803907\",\n \"8630095387105269446640173205308310150781302037906512926101438491996800090994\"\n ],\n \"3770754308733635524107234934219899306336603611011725813538292303353504748682\": [\n \"0\",\n \"10484082280994175426204408165035657605683448929708233064998057341455302797143\"\n ],\n \"16934985334034019720221416491038106177909309133048788127912256396207784214446\": [\n \"0\",\n \"3770754308733635524107234934219899306336603611011725813538292303353504748682\"\n ],\n \"2797679137747642050646406304841417761200782235955575823620741058350426444794\": [\n \"16934985334034019720221416491038106177909309133048788127912256396207784214446\",\n \"0\"\n ],\n \"13934445159853436406593667859152319832119346276009422578257957494525753908183\": [\n \"4170039745502025223813017113858301992322505805360265343750380104525990464092\",\n \"2797679137747642050646406304841417761200782235955575823620741058350426444794\"\n ],\n \"6081839021289821497471713950445556386623170264996022252179322674336673822168\": [\n \"0\",\n \"13934445159853436406593667859152319832119346276009422578257957494525753908183\"\n ],\n \"17540417837589805661688250094863091437964302182148781947033917420082278200827\": [\n \"6081839021289821497471713950445556386623170264996022252179322674336673822168\",\n \"3256028976086507661772141349909346265807624427940050611414219050467522830438\"\n ],\n \"10389488841682828784675232336017974305282763770218409458437017335857332089121\": [\n \"676565523159655507599142446665180323318155510186655612637226549319066223254\",\n \"1\",\n \"1\"\n ],\n \"5525004248494840893469629867322004100002684121105658323727110171349883426955\": [\n \"7482726149835666186101046498561727948541081107510996403422802390173521612299\",\n \"1\",\n \"1\"\n ],\n \"5780554253400727350721155863103559391860586389007900536993742829783322230897\": [\n \"18054929621234180277756371806040459672345392292070533857223662320205934903527\",\n \"1\",\n \"1\"\n ],\n \"21040459930110350831353180236285801133546852532457783587833826759943345213813\": [\n \"5780554253400727350721155863103559391860586389007900536993742829783322230897\",\n \"646226627677793803642115304414309796671009522491094298507920031771680301771\"\n ],\n \"18146749880232194769389198951684837370009240605301401282103057600535795866718\": [\n \"17150663302776306628185148717514509383387904521380262020137846929601092200311\",\n \"1\",\n \"1\"\n ],\n \"11432875272994414998805542978308658026520342632998358864387471912358356733939\": [\n \"19839299377628550459886711961664710742782568664514650454734870828011703804306\",\n \"18146749880232194769389198951684837370009240605301401282103057600535795866718\"\n ],\n \"14846267522845389687792965364106099877086410622114423541275179424238916980082\": [\n \"10718286887242072740604086023199121552507789066115194041312884197529232944985\",\n \"1\",\n \"1\"\n ],\n \"17429155607405779139256680616528858257995011394873503570462899113981229157205\": [\n \"13884855554822987915432390094035526556230545575950232171652746758137725657606\",\n \"1\",\n \"1\"\n ],\n \"15046439858305326428162860741365129666473308116901816155963432001225700537119\": [\n \"17429155607405779139256680616528858257995011394873503570462899113981229157205\",\n \"21873313104600061108364283633326779471755893604176273930961685094569203905051\"\n ],\n \"112540984429110011381444998100531848927179053203123106852876029045911940288\": [\n \"15046439858305326428162860741365129666473308116901816155963432001225700537119\",\n \"6793394478227435032484125985342817910600241969407756478698198512776925911863\"\n ],\n \"14433039579586940814606135148947157392053044662830630241258860237423003829081\": [\n \"16840723177124143886735944786257008813141159180871040109897888391844827767459\",\n \"1\",\n \"1\"\n ],\n \"1770630084872614600312160181893140932318398332321989058923744541819749638395\": [\n \"14433039579586940814606135148947157392053044662830630241258860237423003829081\",\n \"7321279064162345281462452748453863534234057394724283936242690780775230192805\"\n ],\n \"16265335550953269627410510396730436927633188584010211747923097457747223700927\": [\n \"7815150827933617927824194538157109137696549319228912154053658483892523115160\",\n \"1\",\n \"1\"\n ],\n \"10619504194329186855529794341812466617758843229709258994232368943373537694377\": [\n \"16265335550953269627410510396730436927633188584010211747923097457747223700927\",\n \"4632800044255522322597103237813798354590497789481886598971904037129632475120\"\n ],\n \"5733519733743818828455806254376485852802520911117848908989383769999656587238\": [\n \"10619504194329186855529794341812466617758843229709258994232368943373537694377\",\n \"16323106814339165727395305534147138084984900392789108404586556374499971490112\"\n ],\n \"9680914028300262166861487259439404161657948911861256219734230123760321751157\": [\n \"17316267128480651154658701679381470884945669409437478548546419641992408560408\",\n \"1\",\n \"1\"\n ],\n \"1874655991688182590608796020768562666426994279630234495237098234575707418165\": [\n \"8014128530980359121461195037672907805682586644899482487229522491326579221151\",\n \"1\",\n \"1\"\n ],\n \"20304330984063950543754672953272400591040720749233096460243008008174121114509\": [\n \"1874655991688182590608796020768562666426994279630234495237098234575707418165\",\n \"6296905992315331326545186567365935274052141434727883213836399118960722586815\"\n ],\n \"17061501293694475167255537240005673542076705462311332889469633003810809884128\": [\n \"11029216364203167938572246043498885418640611763559016830989990959622174559472\",\n \"1\",\n \"1\"\n ],\n \"3993066548183661611512208863093299190508961989165500593034003308668245205781\": [\n \"702932689573629084951002899230691036439670929731590466756434422219043657385\",\n \"1\",\n \"1\"\n ],\n \"7883221818559282227908318093074959199484749259325545820841645492498576210010\": [\n \"21841196019591118574951198090806253169912456284351529258665351132319015923027\",\n \"3993066548183661611512208863093299190508961989165500593034003308668245205781\"\n ],\n \"481872228627870297059554493176398142045033459231226478283569925363838232528\": [\n \"2497794059671180022385652686044911747863930489678965848642192093195575698519\",\n \"1\",\n \"1\"\n ],\n \"17377087782334249872194188181129276511380038696488223665825735050232276104360\": [\n \"16172117125777497669788389425247024307045461897219103361377012165426325819021\",\n \"1\",\n \"1\"\n ],\n \"6973702108960641437034520429577321713400801063361844396164360002471678879022\": [\n \"12338770436465641494467880917661079012420212488645644746729441870068705285260\",\n \"1\",\n \"1\"\n ],\n \"14533163999962133156638498584971138604608978915920873620380005454056483994826\": [\n \"2554605948874980274637220619568196060401311075036718817931419985447041202184\",\n \"6973702108960641437034520429577321713400801063361844396164360002471678879022\"\n ],\n \"782097335287670477915945315794037291738152995114381179668201722148978289813\": [\n \"15008167173950644324074180402589362173670194011517816697396277433945977791217\",\n \"1\",\n \"1\"\n ],\n \"2755726532937057489924080172745700467816218721323505946550873284521439519919\": [\n \"782097335287670477915945315794037291738152995114381179668201722148978289813\",\n \"2466632448308732525996251006706590091866985201970730007857859375476289936482\"\n ],\n \"18123938384386357428749930890207267763874843559386385745917960895604768244031\": [\n \"0\",\n \"2755726532937057489924080172745700467816218721323505946550873284521439519919\"\n ],\n \"10481569288988975953311769695734098944646267979395263132576314028990541126645\": [\n \"18123938384386357428749930890207267763874843559386385745917960895604768244031\",\n \"7662794128629124558532073487797531926085087764176696822856713149838409512834\"\n ],\n \"21055363126515858783352009723226492067883627014895574549556034006366776310903\": [\n \"10481569288988975953311769695734098944646267979395263132576314028990541126645\",\n \"0\"\n ],\n \"16160634219669948227711065006282300184768853630441568322684861056709879337863\": [\n \"21055363126515858783352009723226492067883627014895574549556034006366776310903\",\n \"17431804614165456206064515990775344428136604161655623705409531079192853453542\"\n ],\n \"12871970592790724506703454403544816289614692898252332478216222682047098367364\": [\n \"4707477585139465271426836733961651325460470383868454654205651147167789838352\",\n \"1\",\n \"1\"\n ],\n \"9226453222609750261218879192667800702905824489824184812842298180672623943671\": [\n \"20140168138245087148062505872662956557209550553660828915475898771463133612567\",\n \"12871970592790724506703454403544816289614692898252332478216222682047098367364\"\n ],\n \"8367818951023007472014064779370781325850030833291373394962296537763196204225\": [\n \"9226453222609750261218879192667800702905824489824184812842298180672623943671\",\n \"10736831317201755010304113844417729183621731991395072087244738151033903639741\"\n ],\n \"15545944726519745935804029214945683045981134390519944326917018272330417487148\": [\n \"8367818951023007472014064779370781325850030833291373394962296537763196204225\",\n \"14016814821077543475282200150890029821705467289822132489724012784535038558439\"\n ],\n \"5832625810178515009892792909453326335697577728465703666483007147754827636596\": [\n \"11630903322849146509135095431698370126774757033084312879466133834537017656051\",\n \"1\",\n \"1\"\n ],\n \"7855688338644754153558036592321975085613440875062660441827817263592377279803\": [\n \"5832625810178515009892792909453326335697577728465703666483007147754827636596\",\n \"14746530675357837312277426733685124681922662727372459205375227101952042335819\"\n ],\n \"14205004633179175190713082194057324358421106529711210125320146651839958155575\": [\n \"342715152200580025031749020085106625619935406677099907121512771862055021104\",\n \"1\",\n \"1\"\n ],\n \"5448913539497732112648411348447081940232032311333387266353127019111408465071\": [\n \"5454138747942542524499159252055330910386251135178553343648665442245447780349\",\n \"1\",\n \"1\"\n ],\n \"3320007191566574358837246964660931849619193823189464675467156748783630523930\": [\n \"18000882054938666575212883910832133942747927932619788768511370242428078378001\",\n \"5448913539497732112648411348447081940232032311333387266353127019111408465071\"\n ],\n \"7174576630210237648496834974543756102525915649095486403168886849060526351860\": [\n \"3320007191566574358837246964660931849619193823189464675467156748783630523930\",\n \"12673631526460356015157851681120068627892291709902006183975145180321726420290\"\n ],\n \"15928680211273809981362583201230950760610122344741528721429149586214662689749\": [\n \"7174576630210237648496834974543756102525915649095486403168886849060526351860\",\n \"0\"\n ],\n \"5947408779271566530542094472086833940925017363619706640227392902934145553777\": [\n \"21140820600701728459989745138002304004354756273969326701974721273092223098075\",\n \"1\",\n \"1\"\n ],\n \"10364751385007133026309614025405596014869292020555543043007848388898263207516\": [\n \"16642806384901108275226996267839419179766606655963745160519975783024086766365\",\n \"5947408779271566530542094472086833940925017363619706640227392902934145553777\"\n ],\n \"10716273949843000051546906445900823569966721929768675712898844176305119276612\": [\n \"13294744025815052864742973912352205645885928203781444453651335071826476806838\",\n \"10364751385007133026309614025405596014869292020555543043007848388898263207516\"\n ],\n \"5837186138139755086973197620528861221009241735100506938219076744406542490343\": [\n \"15908773923704330890700949547805900640614488132856007977693253985664682325370\",\n \"1\",\n \"1\"\n ],\n \"5891659503406673714417414083392434753721094782348484654435855049917687881515\": [\n \"21558273058049671328796034543935319430784583367818861596264223977307819641376\",\n \"1\",\n \"1\"\n ],\n \"19713667121810282600808005864433922417682465039035632803700547051667884384659\": [\n \"5891659503406673714417414083392434753721094782348484654435855049917687881515\",\n \"20519143673663382680354028264830354797049737793603927758920052995213906521804\"\n ],\n \"18372419758971285083879370690290008944243885140378019181589861853455708911903\": [\n \"19713667121810282600808005864433922417682465039035632803700547051667884384659\",\n \"16873527555464384851349632368729151798766459020274044116848722076689239770772\"\n ],\n \"9410525647585797317076928908402568703387992470334962479884181713604328551855\": [\n \"19220601141203514512662115490235918651619761025541180256982196638668332503591\",\n \"18372419758971285083879370690290008944243885140378019181589861853455708911903\"\n ],\n \"2040805010370076625130979835779759411254585482626224852993132687512284822336\": [\n \"9745169747483121115409815347128837122037361184346629508730093440957671270459\",\n \"1\",\n \"1\"\n ],\n \"2666563331458699218342346134986743556262460047227633312317952733257746503978\": [\n \"14562247058170483038416433936001815389410341885477439792045569442348864207871\",\n \"2040805010370076625130979835779759411254585482626224852993132687512284822336\"\n ],\n \"10104340735024235024379032506070711782047498743250363485218645749622267955715\": [\n \"11339018637694587408524885028557560343552821517632228055749961253360879564765\",\n \"2666563331458699218342346134986743556262460047227633312317952733257746503978\"\n ],\n \"15790997799201131384434976436728054444667670289654052003241344389672949700728\": [\n \"0\",\n \"10104340735024235024379032506070711782047498743250363485218645749622267955715\"\n ],\n \"19314424774986429513113384941194718125258235602312203593976859741234725826961\": [\n \"0\",\n \"15790997799201131384434976436728054444667670289654052003241344389672949700728\"\n ],\n \"8722125773549009426595386774829716507829861756551116718871282513632494704254\": [\n \"2404550556703394342249735478503735464828454188612965568413371444541336908399\",\n \"1\",\n \"1\"\n ],\n \"12797080839155871200241545867311992118441243948578461995240897219296224635785\": [\n \"4179122360378810913373054190821745091833110468781951220395949452126337597347\",\n \"1\",\n \"1\"\n ],\n \"9608604079576047193886618392971786321056233478896580190212178373716764073464\": [\n \"11934453574639407777205954074354721386481227988607713681734167097794000228986\",\n \"12797080839155871200241545867311992118441243948578461995240897219296224635785\"\n ],\n \"7328545021338420782023368293670304092187725434819696192837613790704663842908\": [\n \"12669782875774878647644672891166078326962380077264023445164420287419341704334\",\n \"1\",\n \"1\"\n ],\n \"17833413851143959689277917954604551459264145220376848680903924700287709594153\": [\n \"13798216806444502357478587825338680208499195196405593001905794981936719727430\",\n \"7328545021338420782023368293670304092187725434819696192837613790704663842908\"\n ],\n \"10716406133394286548789980328811218698854169051755509629636792711610277614497\": [\n \"12329941167703599554740536130419597448038546874080536621166796613639840781655\",\n \"1\",\n \"1\"\n ],\n \"1662585098523935168921132629427933157273555291292736098910881223019376634549\": [\n \"10716406133394286548789980328811218698854169051755509629636792711610277614497\",\n \"2608003557071572208373823419654745404274735784214744202554538151653821024578\"\n ],\n \"12253775351305798825425312259657761477792458436612769526802699304791861100149\": [\n \"0\",\n \"1662585098523935168921132629427933157273555291292736098910881223019376634549\"\n ],\n \"19717877459895955599690791423553589111829913605732025149992667544976454096695\": [\n \"12253775351305798825425312259657761477792458436612769526802699304791861100149\",\n \"70445252848113554682483894104255265848095261992019501836556258681623996266\"\n ],\n \"14189831500198913918667413584491937768861903303538767309442550622172591141033\": [\n \"12164193983476048558430073483612774103538707471100072105754919899532872019901\",\n \"1\",\n \"1\"\n ],\n \"21449619731149267557094292686045309015078677154647575853688215198563945260987\": [\n \"9359328925085179697202773461083443694689108112691875820635086509651096034026\",\n \"1\",\n \"1\"\n ],\n \"8090913678862825357730292842049598917065818068464225405380122491442995425385\": [\n \"14988276601533897937012642191968665120181407696522675086283056279905438483561\",\n \"1\",\n \"1\"\n ],\n \"3195020069179503118120992782517768620112843270402922855429490332107695988834\": [\n \"8090913678862825357730292842049598917065818068464225405380122491442995425385\",\n \"8692310129042956757433328997341388887533922270181054530675063244051538850681\"\n ],\n \"19674052991386464163915106795480396082066610441058421173275094974641652061284\": [\n \"3195020069179503118120992782517768620112843270402922855429490332107695988834\",\n \"2428364783411029136289497482926744074133079003892685984509635336066434264817\"\n ],\n \"1933673468430372655961716972621878583874933300433531838642030945566976349565\": [\n \"1129376306772996494545372371679757643923389692708695416396770270377268153667\",\n \"1\",\n \"1\"\n ],\n \"9229318574951461720430025666690603837926796872754488352097098074197411898173\": [\n \"1933673468430372655961716972621878583874933300433531838642030945566976349565\",\n \"6064678527203330389669543748485007722788716795843551575763792389633645013498\"\n ],\n \"11129884630202666175625637346661191800160951343747823707078523812108788955226\": [\n \"9229318574951461720430025666690603837926796872754488352097098074197411898173\",\n \"0\"\n ],\n \"5466262794923315993606750042589202331982488870740506955152677223508913414653\": [\n \"2783065949509243654502209857373602613559810715014587256028197371106464554104\",\n \"11129884630202666175625637346661191800160951343747823707078523812108788955226\"\n ],\n \"13125118978445592583827095607381093347240199567104945511329783818458657717450\": [\n \"5465020402773231479368869472986758075447709138820806021098604062143979152896\",\n \"5466262794923315993606750042589202331982488870740506955152677223508913414653\"\n ],\n \"212616711818891222766265247714971832365028336848098856671854176392194423838\": [\n \"1210261851747099566301199157752998557135477780834325009304976536231903689451\",\n \"1\",\n \"1\"\n ],\n \"18897054259891162646037752267739384236770815520043791349252682893228111779347\": [\n \"5708108199537597861359579214880322862086285751523251165758862078013040972857\",\n \"212616711818891222766265247714971832365028336848098856671854176392194423838\"\n ],\n \"5052143868356598636239062154725589789067371642330825651861417266010840757528\": [\n \"18897054259891162646037752267739384236770815520043791349252682893228111779347\",\n \"0\"\n ],\n \"12374312000970147850981506023151336877220893098854239277905890249652345075311\": [\n \"0\",\n \"5052143868356598636239062154725589789067371642330825651861417266010840757528\"\n ],\n \"6380969684375973555570482679474328433405301383813218494235221627491509386366\": [\n \"0\",\n \"12374312000970147850981506023151336877220893098854239277905890249652345075311\"\n ],\n \"13887246218053087655665701286888202689693351624725853435341226546099184784267\": [\n \"0\",\n \"6380969684375973555570482679474328433405301383813218494235221627491509386366\"\n ],\n \"21196693526632883764881305181378744056827774312718071037684690563129305086143\": [\n \"0\",\n \"13887246218053087655665701286888202689693351624725853435341226546099184784267\"\n ],\n \"5350031519567953977697948434397864956805083567030165319179497901534205247916\": [\n \"11888319278369822618365080873015776584492234812300109871179987967927017824685\",\n \"21196693526632883764881305181378744056827774312718071037684690563129305086143\"\n ],\n \"5103323855876473473778084655861711748492734918541392465816151282831350299480\": [\n \"5350031519567953977697948434397864956805083567030165319179497901534205247916\",\n \"21000272121304844606366417486675095943163576489311472408608467325448985540913\"\n ],\n \"21268474444819619686394264904721542316900665220194280305473830024140718652837\": [\n \"12929809354263875323955987259498044240475561089125494518557807184945888922458\",\n \"5103323855876473473778084655861711748492734918541392465816151282831350299480\"\n ],\n \"9193525122683714901011529875524929258143119002203613491953592344358465251377\": [\n \"6981228839639674497845122959553911506428003265917777452567995121783923418908\",\n \"1\",\n \"1\"\n ],\n \"13348433113035762538061375853337697572394061891663062739059672377633926778272\": [\n \"16415295249938991543341927400531090026540283389670225121271892555517211685059\",\n \"1\",\n \"1\"\n ],\n \"228625654030405425460782349250651480367892402273208906852493954564121971376\": [\n \"16938021754119215081293331176862849992653871251860494597165488918929374728391\",\n \"13348433113035762538061375853337697572394061891663062739059672377633926778272\"\n ],\n \"20975354335286004445998754848477877597484782747779731091912055609847545058304\": [\n \"4502268262423734490925882561835898451751246342488542775328150558326957632577\",\n \"1\",\n \"1\"\n ],\n \"11988410702348259711953933114886802686001804111922097955449818152748343837255\": [\n \"20975354335286004445998754848477877597484782747779731091912055609847545058304\",\n \"12256925133754705606346636370176276292236525568394588546234211230702224179072\"\n ],\n \"18492892657757706915274793964098030585754565465070601470783880853762322221998\": [\n \"21719529031027793308931034269972647535664889441956464676817223667155549162455\",\n \"11988410702348259711953933114886802686001804111922097955449818152748343837255\"\n ],\n \"13010897228012148729867159545655575456085524765833204855637426423160192832958\": [\n \"14652845573559395650306115382962752675793510115348004986074663457312491195500\",\n \"18492892657757706915274793964098030585754565465070601470783880853762322221998\"\n ],\n \"8501228331779129976347669564970937201413321414710712258903717092783411320582\": [\n \"16309127224391984952827064999353849091379572866816460670461598249511907995228\",\n \"1\",\n \"1\"\n ],\n \"3702385396273646479234506815541321397531952129663032738758712184048662885630\": [\n \"10612397637948312348065232553621336439852798786148300485057374737460530807373\",\n \"1\",\n \"1\"\n ],\n \"4295994942033006268565024505854383622228106639394964032723074307766531667768\": [\n \"3702385396273646479234506815541321397531952129663032738758712184048662885630\",\n \"17510316477156851336712840893303934420137863326852287271558612051088272674064\"\n ],\n \"7227749562297871939947558546949738681503636499270496493164072557189987766479\": [\n \"2703054346204978731868354169584959607766315211645514164979460623055536325497\",\n \"1\",\n \"1\"\n ],\n \"6288120986715657938408712856504856127878066036998297813239536768956100310151\": [\n \"16437965781228299978134321866861932176691917308268379617344523163047432569938\",\n \"1\",\n \"1\"\n ],\n \"21690465087440926479417897272001459598924257955785274887437739013398375356542\": [\n \"6288120986715657938408712856504856127878066036998297813239536768956100310151\",\n \"3869796374355066728955997149202068483157790701504595470675938434086527523101\"\n ],\n \"13552249835218291009988580333539242986262723818927656762923027479272587112995\": [\n \"21690465087440926479417897272001459598924257955785274887437739013398375356542\",\n \"0\"\n ],\n \"1807450003108245951967241776551511848996362913433952429481636786799630410723\": [\n \"13552249835218291009988580333539242986262723818927656762923027479272587112995\",\n \"7454605811097294114623671728072911291825556859658125236884244992354986583074\"\n ],\n \"17397553208204981221360878631644836499700826597930677793798255348289874787593\": [\n \"20319360479798086665701369859659229372935783791057858249954723046403142385801\",\n \"1\",\n \"1\"\n ],\n \"7229969470767813167148024892043133434372836026452855230917208614926374449307\": [\n \"17397553208204981221360878631644836499700826597930677793798255348289874787593\",\n \"10543410758984172043858691186737131602892662982093971035661613243231905387039\"\n ],\n \"3620951078143253789056775075712035666069071884124078625482089126079846416147\": [\n \"7229969470767813167148024892043133434372836026452855230917208614926374449307\",\n \"0\"\n ],\n \"15360049605922092752303332037180517997965762317225306177196092610057916925036\": [\n \"6794829328171836558681958389982915423898655349893841321397922053208357258442\",\n \"1\",\n \"1\"\n ],\n \"3683558746259990642639851808464269750679043904908672854843191996737907842610\": [\n \"18705855789430000351694982242706836376514519345618317577689402121751453115193\",\n \"1\",\n \"1\"\n ],\n \"18072578697669802782868454914060671477254210991333518336633400867877771398348\": [\n \"17401775719070772095948150937910166376213738131061719117291113187715171671794\",\n \"1\",\n \"1\"\n ],\n \"4309526419670666740316512125583006599167578600226709935166112941812762310247\": [\n \"10134329313147913088802252415115110492969870504974716935823570020538380401478\",\n \"1\",\n \"1\"\n ],\n \"13278054157984715539876905730971663536192491537739659605119083791677407939113\": [\n \"13969548397689056256992204228130997892907874403120888685185192878746650302257\",\n \"4309526419670666740316512125583006599167578600226709935166112941812762310247\"\n ],\n \"2086384347159966471243239261853548910152132118639091775905661352191755839984\": [\n \"14730649317310914487995203698048248978200734246641426822492528445746960097685\",\n \"1\",\n \"1\"\n ],\n \"6034887899988698239244993943213782829923085338905977496651382116507331066729\": [\n \"2086384347159966471243239261853548910152132118639091775905661352191755839984\",\n \"12548401870592363261164074261830200943012884175839488228312711620020694770774\"\n ],\n \"5269161630808862119098141134253363364279712238789378512620546324862528626233\": [\n \"6034887899988698239244993943213782829923085338905977496651382116507331066729\",\n \"19326570213674921220613666512626459399615544202047375822518583090823498357213\"\n ],\n \"10754118214056699166290212299733010487358622077077641126832380728540247503378\": [\n \"15538491905420061628478890898707501102726587342276701281676614300230831570476\",\n \"1\",\n \"1\"\n ],\n \"5760758546246378687647872297624530777757700769665613292116279735707013100684\": [\n \"6590237082501142472806013808172449584249405862088703886735385411299526297871\",\n \"10754118214056699166290212299733010487358622077077641126832380728540247503378\"\n ],\n \"17924448904775882521237830445236820919751393742972963418651641303608805016929\": [\n \"0\",\n \"5760758546246378687647872297624530777757700769665613292116279735707013100684\"\n ],\n \"18437409024716458576992658423813960229926979587888107637155627127960963328933\": [\n \"0\",\n \"17924448904775882521237830445236820919751393742972963418651641303608805016929\"\n ],\n \"21417160048765727732398691761481657147039842557837427638299228615660047246746\": [\n \"20663790741813306579748929494886858560773389811152619913187992430531829001519\",\n \"18437409024716458576992658423813960229926979587888107637155627127960963328933\"\n ],\n \"2218458938758793810303490117561579983744032855554350351184443362625416115943\": [\n \"21739807864181007401568120881901471963643336777790529291147298977310886294149\",\n \"1\",\n \"1\"\n ],\n \"1884619306381206129405790028247597256959458003495216115750255300506331343031\": [\n \"2218458938758793810303490117561579983744032855554350351184443362625416115943\",\n \"8098552747045301639298178670068450724440873459983632542302282965763032567016\"\n ],\n \"12461273195938678963305154281767287653121204963462671552326009003533753639427\": [\n \"1884619306381206129405790028247597256959458003495216115750255300506331343031\",\n \"0\"\n ],\n \"2398260225211830209536489431351397508634098309445386356455267066668488552265\": [\n \"0\",\n \"12461273195938678963305154281767287653121204963462671552326009003533753639427\"\n ],\n \"13592620338444796999273312303199019563470029319855894014390392766385232135537\": [\n \"2398260225211830209536489431351397508634098309445386356455267066668488552265\",\n \"0\"\n ],\n \"21612836421206777254705253523482960515032741379671019679164282005539631127394\": [\n \"13592620338444796999273312303199019563470029319855894014390392766385232135537\",\n \"0\"\n ],\n \"7415981183674392215570907746294957796779648362054762969989903405642862225092\": [\n \"0\",\n \"21612836421206777254705253523482960515032741379671019679164282005539631127394\"\n ],\n \"16887567177954138164004324790456524728795071021019783560673681271464319465923\": [\n \"0\",\n \"7415981183674392215570907746294957796779648362054762969989903405642862225092\"\n ],\n \"6633747036056945007855181958288956412281849186621741435322459357448009363601\": [\n \"16887567177954138164004324790456524728795071021019783560673681271464319465923\",\n \"0\"\n ],\n \"10339400881489211694008893381096362395477990507371434832099145995670704083024\": [\n \"17291941971033290364292343664334141582691359889996552203728455671142774319708\",\n \"6633747036056945007855181958288956412281849186621741435322459357448009363601\"\n ],\n \"3685766830190142049141056774602580320474357711994622206659221548747829719691\": [\n \"0\",\n \"10339400881489211694008893381096362395477990507371434832099145995670704083024\"\n ],\n \"5012077043240749907470434754110107593270074494046876312716421131714447020444\": [\n \"0\",\n \"3685766830190142049141056774602580320474357711994622206659221548747829719691\"\n ],\n \"13580112451987081189974792451880471014377873727444663516761713887343243683603\": [\n \"4318563285130010617029919241354927196015899759581148503339977716478632105398\",\n \"1\",\n \"1\"\n ],\n \"8264430613185262882004243556441995951482881189957119480713349633384994678975\": [\n \"13265426195530046062559860030552088919165925672732839111456958078749749077006\",\n \"1\",\n \"1\"\n ],\n \"19743168295073371661554109876195855455261969344985766895492906194112140763590\": [\n \"13268534763787753844968927934983528551267260310042232147230281645953040804689\",\n \"8264430613185262882004243556441995951482881189957119480713349633384994678975\"\n ],\n \"18508983787026992178727698589900778869103596671586582627841366941973162412785\": [\n \"19743168295073371661554109876195855455261969344985766895492906194112140763590\",\n \"0\"\n ],\n \"3361987049704410506379855272011499961799422394537237278906231924377510894224\": [\n \"18508983787026992178727698589900778869103596671586582627841366941973162412785\",\n \"0\"\n ],\n \"21662373948802100144243945661749027237347724650427747816934086348644962663244\": [\n \"0\",\n \"3361987049704410506379855272011499961799422394537237278906231924377510894224\"\n ],\n \"19280318345445044079737109804673522106243885363250207494673946323971312875929\": [\n \"21662373948802100144243945661749027237347724650427747816934086348644962663244\",\n \"0\"\n ],\n \"17364502443818542520013836295377441391014529017877012827323548464684060953193\": [\n \"19280318345445044079737109804673522106243885363250207494673946323971312875929\",\n \"0\"\n ],\n \"13582150223136849040657062164659003776014672694754021055022440549465042209918\": [\n \"0\",\n \"17364502443818542520013836295377441391014529017877012827323548464684060953193\"\n ],\n \"2075856779892064247148047904339728963511167973727897100025307783082229852076\": [\n \"9859382918652357935454851154314413241871185253838126257395487636308428529373\",\n \"1\",\n \"1\"\n ],\n \"3979999603437838878581166014901172139155026226244071965369024474222841379536\": [\n \"2075856779892064247148047904339728963511167973727897100025307783082229852076\",\n \"2871467309545428824224830067871783817591205421266301126058868391627555125616\"\n ],\n \"18262177730412827532353768432359177620008585172467313178086806956098839679168\": [\n \"3979999603437838878581166014901172139155026226244071965369024474222841379536\",\n \"0\"\n ],\n \"9216780610412558593187237231176501894524432941101700539301195604263684956327\": [\n \"18262177730412827532353768432359177620008585172467313178086806956098839679168\",\n \"790548323487996338135389060397879858131555938945301253554012412339299429007\"\n ],\n \"11022104621686134631298815835806947060100169102563096942584603774090110623788\": [\n \"18336040999353882621562960418006027246227230933718557081297815991994193260690\",\n \"9216780610412558593187237231176501894524432941101700539301195604263684956327\"\n ],\n \"21232069693870742402831071357490908918659859378449144455642903114642664653962\": [\n \"0\",\n \"11022104621686134631298815835806947060100169102563096942584603774090110623788\"\n ],\n \"4966433726686190164791174228193213390449541518089507734830971182188259916578\": [\n \"1556481488243483841495358043779116567762370660555368193305784602095614777446\",\n \"21232069693870742402831071357490908918659859378449144455642903114642664653962\"\n ],\n \"14782083178476770648576555788951341253024665433300999614671876451051683838845\": [\n \"5117413595733562279101385856933218100168870391311826015844619635546061296364\",\n \"1\",\n \"1\"\n ],\n \"14986004988467593499116812892514576820861245444824258843500316007275540614017\": [\n \"14782083178476770648576555788951341253024665433300999614671876451051683838845\",\n \"2144296933882374627621816256975616653494655741939407371152727255738103333510\"\n ],\n \"4683172708902362608406455227978503720371293638576731889448292223926125884833\": [\n \"13884649112258107490928463740605723720064555563965213646296670837540209544138\",\n \"14986004988467593499116812892514576820861245444824258843500316007275540614017\"\n ],\n \"10049830739598235192731228677104301929749681165955040232714533565354065852373\": [\n \"4683172708902362608406455227978503720371293638576731889448292223926125884833\",\n \"0\"\n ],\n \"9938673349387410240687806547951101889433721562295159113994177505578283562435\": [\n \"14102731855767497142803316513337110392713197605012459288515584290581421901136\",\n \"10049830739598235192731228677104301929749681165955040232714533565354065852373\"\n ],\n \"12110049636855684645486991302891893522293754043267268177736321148383275267194\": [\n \"9938673349387410240687806547951101889433721562295159113994177505578283562435\",\n \"19458562773151014839983147929855348902833479784643259599394250986367044165447\"\n ],\n \"12508513135165187321956114108880997442624332249666551171684825297834028581973\": [\n \"283527048673261242048944931122123730885139535340209760514469234016543984211\",\n \"1\",\n \"1\"\n ],\n \"11730594758537229307316458571265683375042134757222525499674503199594135613412\": [\n \"12508513135165187321956114108880997442624332249666551171684825297834028581973\",\n \"21478847121329001192503993918028989856233013515918739123997872117108036832074\"\n ],\n \"7827647804008925759969431385034277052816913666259912126762527655248444632503\": [\n \"12435691105837557004958886573580282787553903297222783898969286212188650307594\",\n \"11730594758537229307316458571265683375042134757222525499674503199594135613412\"\n ],\n \"10209926307711542124506328021678259125932054627702622950165831520827622954979\": [\n \"6262844143820778552918395726546353041774378086665626204658693768855208541601\",\n \"1\",\n \"1\"\n ],\n \"18988828150913816162597674518970404194798799524696280278191955073430803970237\": [\n \"11769348788397605196271052981552109091079488385277988571780401431164680833724\",\n \"10209926307711542124506328021678259125932054627702622950165831520827622954979\"\n ],\n \"8742570391105737853078688967894365918627510729344808454698657106441864190494\": [\n \"6465114421502234251700934743066583268878282756095454547775758749891663411071\",\n \"18988828150913816162597674518970404194798799524696280278191955073430803970237\"\n ],\n \"10423770599328930705712337267850453526246025654213221862636690152083445761935\": [\n \"0\",\n \"8742570391105737853078688967894365918627510729344808454698657106441864190494\"\n ],\n \"6437320410888936799396620299534513460343386098261973171337243059324141179664\": [\n \"18650832384818436673124075401919170572403665664565258914382968078725780872057\",\n \"1\",\n \"1\"\n ],\n \"20390968303132717685538965925922289935662997934926640522194313031322414472343\": [\n \"15418745030512801111379693035106756829487549054765727753904244308509415026641\",\n \"1\",\n \"1\"\n ],\n \"9197283058995746394353498690300445865861148369894596536418451417526866231478\": [\n \"8239903335435509658811037735253644963607529906497675905762899580554978673958\",\n \"1\",\n \"1\"\n ],\n \"15955768511150883218936957658435347355999905018670528524574042766224217585443\": [\n \"8790788776920429142778321477328021882830053357110150608988275961644649368916\",\n \"1\",\n \"1\"\n ],\n \"19869058754388670230871798965222059971227464164320846420213509787420265969256\": [\n \"2723932838335398833696037235302018550227785989926751494036553652444942803372\",\n \"15955768511150883218936957658435347355999905018670528524574042766224217585443\"\n ],\n \"5441629257554477214073383745550405499530746644005276515123976335559543487605\": [\n \"6237126560466540530508492120116307308424009522928885361294404485102006468087\",\n \"1\",\n \"1\"\n ],\n \"8235654205746585644895263777022856411767571274729205669131022637740757190022\": [\n \"2378568068998648151038627734077488150350452538855232183037428292614936118091\",\n \"5441629257554477214073383745550405499530746644005276515123976335559543487605\"\n ],\n \"20566520836256112418647333098360460834389314118802091802925070295375695922679\": [\n \"0\",\n \"8235654205746585644895263777022856411767571274729205669131022637740757190022\"\n ],\n \"16194425302967741332993423082306415409766951075731254683990054083794821552862\": [\n \"0\",\n \"20566520836256112418647333098360460834389314118802091802925070295375695922679\"\n ],\n \"4931876808351532219240343668627805409485567389284535174673169620579293790272\": [\n \"3764135758590653945564124100457702474610649605533928387652051335619916263387\",\n \"16194425302967741332993423082306415409766951075731254683990054083794821552862\"\n ],\n \"13754236223963108824372579615888644683970159609130536016642678087610027615913\": [\n \"9299521670795618340151564978907889619028581301678129958517773937645623918458\",\n \"1\",\n \"1\"\n ],\n \"12161313418109154497528875894489568218555555245853713032664299367177672916432\": [\n \"11182398965674746175475701033533038724557228886441842344072591753213803589946\",\n \"13754236223963108824372579615888644683970159609130536016642678087610027615913\"\n ],\n \"20929565610727718830909506414207456591476909054650990927328972426768948236361\": [\n \"14588734837867566793653241604908159721090867969980729654622898262084179357484\",\n \"1\",\n \"1\"\n ],\n \"14657845452187515653615506824041539581123144730568438962145763737447275673915\": [\n \"20929565610727718830909506414207456591476909054650990927328972426768948236361\",\n \"4606211933431049219494792808799272036835173916564475261241063806709990307978\"\n ],\n \"20235116649483915273725611735700347638475081125777589362202078891961951710739\": [\n \"0\",\n \"14657845452187515653615506824041539581123144730568438962145763737447275673915\"\n ],\n \"17481502499630255712743693397412472885113851754551371904213443924960823562573\": [\n \"11073951642048501578486085566937170543537160579335399468320349526158693482342\",\n \"20235116649483915273725611735700347638475081125777589362202078891961951710739\"\n ],\n \"14446632565682150873343835770375991465434070054601052754445255128656791788315\": [\n \"17481502499630255712743693397412472885113851754551371904213443924960823562573\",\n \"0\"\n ],\n \"14673678302739415333402811318654089602012904324193877301041595626121195869297\": [\n \"8268508794117022325851318881550735704779805573924547331114469425253077255505\",\n \"1\",\n \"1\"\n ],\n \"20574600940169581106630307115183987641899213061604637822235566460900910182590\": [\n \"14673678302739415333402811318654089602012904324193877301041595626121195869297\",\n \"8072043343414700389577054262577542600561747020780698522289613464224696489239\"\n ],\n \"14017434683642881127451458339472798626847731115364226513872278839052112333620\": [\n \"21189187077147884426386953998547860233395334961472926787732108946134124085882\",\n \"1\",\n \"1\"\n ],\n \"11247974168781113854670762661780366648169763972798566006496260472338744731716\": [\n \"14017434683642881127451458339472798626847731115364226513872278839052112333620\",\n \"10147863661706738841929172765010900948888130797043730809274441649520594600800\"\n ],\n \"5714614729037659941932569215103946218505726877762148098242889479990199773447\": [\n \"14906198825074988699600082502908676659034446806422234158635405483943846905555\",\n \"11247974168781113854670762661780366648169763972798566006496260472338744731716\"\n ],\n \"2979403150958274911252031828456917101191111922446974738370307014942435801814\": [\n \"5714614729037659941932569215103946218505726877762148098242889479990199773447\",\n \"0\"\n ],\n \"3018924582507849500074029223919695851933892442318770589800981928207817737637\": [\n \"2979403150958274911252031828456917101191111922446974738370307014942435801814\",\n \"0\"\n ],\n \"2977843881002745351670820763880833200726930849244335639908501680176659244860\": [\n \"2859031277512871799356920002727909483972885404590348608267702572884322034050\",\n \"1\",\n \"1\"\n ],\n \"20117967721039572295839933973620926882687920271682666939095843199290470097494\": [\n \"2977843881002745351670820763880833200726930849244335639908501680176659244860\",\n \"6922929743111130795082851532839696339550626632280346044213248103309590412638\"\n ],\n \"13831011521101906904328043528366611978468218490221554455506407047768605957228\": [\n \"20117967721039572295839933973620926882687920271682666939095843199290470097494\",\n \"0\"\n ],\n \"12029296263007024144353552623611152938180513242123694567265534158028946330943\": [\n \"13831011521101906904328043528366611978468218490221554455506407047768605957228\",\n \"0\"\n ],\n \"14375833084857570199916006843203645825206232251402427582417380655355271562385\": [\n \"4948886006239207026187510013821165087887758456541290371773313195878305052300\",\n \"1\",\n \"1\"\n ],\n \"18641724550813048915806554822024025842298721022257621317497727023943191717242\": [\n \"16977682349853343672206676434671875289652856064323317858439499897181882874798\",\n \"14375833084857570199916006843203645825206232251402427582417380655355271562385\"\n ],\n \"7461569998078990917988717919503800362350202976568669113013250929549321812784\": [\n \"10536779863824539466185371353008963274981800139588882090466335205339210134146\",\n \"1\",\n \"1\"\n ],\n \"14318131143302375086087510829440260727647300862539684953107273470841622315851\": [\n \"1823099488303878253601093310975340314237190876652137436604686994433191259159\",\n \"7461569998078990917988717919503800362350202976568669113013250929549321812784\"\n ],\n \"15730106207180456087980322712660197994127903359058156614359807477994760122574\": [\n \"3760131854208277887860739422749739261072808324217224812354012342455867901234\",\n \"1\",\n \"1\"\n ],\n \"3193510627382797502734451524684980337141053855891722350475743602749252490183\": [\n \"21859225600819084052946343803187369023428362052398660592868805114623898220912\",\n \"15730106207180456087980322712660197994127903359058156614359807477994760122574\"\n ],\n \"3541416134893099628323533079845762329854958553502486880373770662819439678320\": [\n \"3193510627382797502734451524684980337141053855891722350475743602749252490183\",\n \"0\"\n ],\n \"1218252180532781664636160685924965368799434716910713427132672909111456830716\": [\n \"3541416134893099628323533079845762329854958553502486880373770662819439678320\",\n \"0\"\n ],\n \"4667099942410106190705967548279747496439740887989465301286713694254391770079\": [\n \"1218252180532781664636160685924965368799434716910713427132672909111456830716\",\n \"0\"\n ],\n \"19622254268653393435380182959065633340167191917199646269212674053721751224443\": [\n \"4667099942410106190705967548279747496439740887989465301286713694254391770079\",\n \"7113993122479561808270294403196845031151516708067154491842429633179562924096\"\n ],\n \"17199441955767863312233064890694197688913057651670853625257314015728405961857\": [\n \"9011783492931428063130672760451902908936374006397963915718974830374933701583\",\n \"1\",\n \"1\"\n ],\n \"4631354611649413255097709366376898270110307309341680688824592295089040872067\": [\n \"5172705122454727041718759217719894457738410647819216539270536433824673803340\",\n \"1\",\n \"1\"\n ],\n \"10018344012706201010519857250877200155288778877375604985736366105704929817978\": [\n \"18821188301521629851277138858246898587385810054382999765481243166322207133205\",\n \"4631354611649413255097709366376898270110307309341680688824592295089040872067\"\n ],\n \"2730783595198979325825603929558780810502710571262193447902438156847507217386\": [\n \"10018344012706201010519857250877200155288778877375604985736366105704929817978\",\n \"0\"\n ],\n \"8364413704319464937992776146716563616392869923321764904324255995360123313354\": [\n \"18039696046107163542245333112716711861604221536483552728925031236509762968492\",\n \"1\",\n \"1\"\n ],\n \"5316066948646247655763782182992205663406530055840550871579795444252038548917\": [\n \"8364413704319464937992776146716563616392869923321764904324255995360123313354\",\n \"10080729133286506031204687696358976988536264814771359627990881859574113920055\"\n ],\n \"11526265198700680025361004507789623178881942792116036564521266154125888033855\": [\n \"0\",\n \"5316066948646247655763782182992205663406530055840550871579795444252038548917\"\n ],\n \"20835654101319815475374280773399393601888807443236818380597372364848987980919\": [\n \"11526265198700680025361004507789623178881942792116036564521266154125888033855\",\n \"0\"\n ],\n \"10977525938292376458081049724458321021539172824105915511589458253405322393898\": [\n \"0\",\n \"20835654101319815475374280773399393601888807443236818380597372364848987980919\"\n ],\n \"20179103821067069852687003937571560040304988292299355727168583805727698329559\": [\n \"0\",\n \"10977525938292376458081049724458321021539172824105915511589458253405322393898\"\n ],\n \"21331407145825356831543045562897454814781010511582766427005423697917778822228\": [\n \"0\",\n \"20179103821067069852687003937571560040304988292299355727168583805727698329559\"\n ],\n \"19537700124437763001202269695294750106778302864635429808723826327859384175839\": [\n \"19130503503329627726522411931334528530010691742602146072376543000531149076339\",\n \"1\",\n \"1\"\n ],\n \"8014816452996685695969014382587144914733470388501276558909421547427270751522\": [\n \"1953031072617439120521923707733908618907038178659773575096410636901855988081\",\n \"19537700124437763001202269695294750106778302864635429808723826327859384175839\"\n ],\n \"6266685661393594505915323871105991337330573316444227599186192763739827564166\": [\n \"0\",\n \"8014816452996685695969014382587144914733470388501276558909421547427270751522\"\n ],\n \"4093126661898827820248523537105153114846508203250940084852771271779451571153\": [\n \"6266685661393594505915323871105991337330573316444227599186192763739827564166\",\n \"16794281392329400947122052111001842785298153926944048428616145923308505384238\"\n ],\n \"10158394097576276954969469759432115988221845509421607637846820956365297885348\": [\n \"21130470742837444416183894628594977897770703506447153730778700934840792188221\",\n \"4093126661898827820248523537105153114846508203250940084852771271779451571153\"\n ],\n \"13252066402891477524007393241446234217231644656904335781368054813739887473606\": [\n \"7948100993261340827165872087828156920410862958420653707172662120574240768392\",\n \"1\",\n \"1\"\n ],\n \"6370917768761507005948641068462860033066541148145621581907825374770352384775\": [\n \"13252066402891477524007393241446234217231644656904335781368054813739887473606\",\n \"5740313741945091685261360129381402466458639109024601451728333553058355281913\"\n ],\n \"18184381589344857414375815933851994567387525300760555263653544367077786006963\": [\n \"6370917768761507005948641068462860033066541148145621581907825374770352384775\",\n \"0\"\n ],\n \"17349362421343149769067567229490799577436080866306035243169184963157859716759\": [\n \"18184381589344857414375815933851994567387525300760555263653544367077786006963\",\n \"2718032671223041648984822278677125454990684448901841589065624753326293405293\"\n ],\n \"17832779108786262806000946487048514632257060621712871957479196355243769006260\": [\n \"7392211629924316851777574299785618100347528074546919764844168677398769579247\",\n \"1\",\n \"1\"\n ],\n \"9396609877858602118965942372180052994458120633260819578169868308352271550155\": [\n \"17832779108786262806000946487048514632257060621712871957479196355243769006260\",\n \"20663956555850466784487081998228904576330449147652732110984703602601027451427\"\n ],\n \"7143766638234925882974466770548911183838774763563248446380713386813986333983\": [\n \"4759957588261882561720102018404330506263014144774950424601907610944021207996\",\n \"9396609877858602118965942372180052994458120633260819578169868308352271550155\"\n ],\n \"20309487766213792794265327566110328266329135520540443571631741380206865997173\": [\n \"0\",\n \"7143766638234925882974466770548911183838774763563248446380713386813986333983\"\n ],\n \"14805404126724060026951979550035465110083903791966854889690714324002857801515\": [\n \"2343093676176115679547556411660510458514708587865172397486789161708583188018\",\n \"1\",\n \"1\"\n ],\n \"3097356927670396179134737186879578506793280093137551465800557292498088129347\": [\n \"13319962387142612048425458075600955862111677279390071063222531526139998701515\",\n \"14805404126724060026951979550035465110083903791966854889690714324002857801515\"\n ],\n \"19349851524068454727004660862758783583068918707866236884729140187265993113066\": [\n \"0\",\n \"3097356927670396179134737186879578506793280093137551465800557292498088129347\"\n ],\n \"4585491886057104214974280100552674189288892848233945931633929565015114077112\": [\n \"0\",\n \"19349851524068454727004660862758783583068918707866236884729140187265993113066\"\n ],\n \"16813351940295102965936802742810832186864598666891461387839094424635522746715\": [\n \"0\",\n \"4585491886057104214974280100552674189288892848233945931633929565015114077112\"\n ],\n \"17620927029670356600731169362253236450648267681039555785523569446754144563764\": [\n \"2575382548936580536500346349087335921935688592625042667550803342375050034674\",\n \"1\",\n \"1\"\n ],\n \"5182257461206600498512480816328597394464228041801524596786086346418903131789\": [\n \"17271519862627515656985477201695339092497766746739286792721269907839459574814\",\n \"1\",\n \"1\"\n ],\n \"20831671701904006084184916559404611175466641974791376964958835097904507061459\": [\n \"5182257461206600498512480816328597394464228041801524596786086346418903131789\",\n \"1965720554465360741764338377686997608725590721371543213277228738465320719097\"\n ],\n \"17617362535644851477027089672989567869341415983146139044868695714505523738064\": [\n \"20831671701904006084184916559404611175466641974791376964958835097904507061459\",\n \"3181013320382474232209414719395092046904859680673969301377144094500323097618\"\n ],\n \"4876256565464042106435500208170481509277297653746279030954586899059512262211\": [\n \"17617362535644851477027089672989567869341415983146139044868695714505523738064\",\n \"15531654683717503602402843387551957802424580788395216238215066183437450712285\"\n ],\n \"16521650191711414983839278196616520551359817322483927790499049548872218169702\": [\n \"3804698042585147393081407950000514801118122894146444564906678337317641539582\",\n \"1\",\n \"1\"\n ],\n \"914243503349661555780746113471071162083611240983556248325210772189956116883\": [\n \"8979097524066025518412015529652498610835339160236586570970954613790250791628\",\n \"1\",\n \"1\"\n ],\n \"3070217932872828751812686744590636234293172101259691727815156635880187707820\": [\n \"5552831509086229353726940550868412073344266681167927222110357969717063722039\",\n \"1\",\n \"1\"\n ],\n \"4135551847924576206309219973040145228730115721949898467966791289120364948209\": [\n \"21068137643975188026445281901566220160554710461806015284277167311573629293871\",\n \"1\",\n \"1\"\n ],\n \"12385438665029427449351438967410844395596189690784003320364731927942652344191\": [\n \"4135551847924576206309219973040145228730115721949898467966791289120364948209\",\n \"14427843205994903890078058603207243575522851827116229815312589760555946591042\"\n ],\n \"4564597053243016626499977403438095104282820118581541915134934894819450326925\": [\n \"5729318988532011149610244110002559606275292823431038835503367251643051141599\",\n \"12385438665029427449351438967410844395596189690784003320364731927942652344191\"\n ],\n \"2159842316639828605074536530854811876683274139324892437381810910446483889873\": [\n \"4564597053243016626499977403438095104282820118581541915134934894819450326925\",\n \"0\"\n ],\n \"11727237524279825677805923761797706852645279644512351542149116314638318932374\": [\n \"9704831406489587246147991904495522335915108299316098857336286673050246153197\",\n \"1\",\n \"1\"\n ],\n \"10142073107767872968852293641895586495998252982453781176718624831254507248513\": [\n \"11727237524279825677805923761797706852645279644512351542149116314638318932374\",\n \"13308825050230509570183505228845483656111541628877805220279850207237295847487\"\n ],\n \"3360207990282239541863737962603133445597452751630051670843735040619785601198\": [\n \"10142073107767872968852293641895586495998252982453781176718624831254507248513\",\n \"0\"\n ],\n \"14473980798266319703649157568862476668335185120977463557791065640116030756276\": [\n \"3360207990282239541863737962603133445597452751630051670843735040619785601198\",\n \"0\"\n ],\n \"5996693943559795107928382909213769972731033121300454834542357600403307854481\": [\n \"1805718680042554151357707764236129297402113233644327650973836543399579961823\",\n \"1\",\n \"1\"\n ],\n \"1031233572928089952628078456879500608881761722948284550177978495778655893852\": [\n \"5996693943559795107928382909213769972731033121300454834542357600403307854481\",\n \"14185075707523984658717499855550319364056931708331226163595166433380968975043\"\n ],\n \"15282612055305685221326380767992506184197952459853772910269981571456000005519\": [\n \"1031233572928089952628078456879500608881761722948284550177978495778655893852\",\n \"8805779304891131044435454764886702310019699986164843757246728707555232805064\"\n ],\n \"18967892485489933208582841818448805438726871059043952719232405694342620243307\": [\n \"6196876646981895301830920172510712086753889930081491831638830424345608610016\",\n \"1\",\n \"1\"\n ],\n \"17293721844558124808534332899156771808760509314719028717887085815966242204861\": [\n \"10753907707766713174839579211996464695316121115209498812032804938382518736745\",\n \"1\",\n \"1\"\n ],\n \"16765840456573972788330292654561724144347417551422172656533727195560689487286\": [\n \"17293721844558124808534332899156771808760509314719028717887085815966242204861\",\n \"10051312549051436497754864028548629192363509059950167492738772595611913743817\"\n ],\n \"9468117219150381271178906121452328767479214859172402056221840381869616367402\": [\n \"7135070664357620883935275429612369311400073211628392719157490802198532029212\",\n \"1\",\n \"1\"\n ],\n \"13542707985018930714629038359698766713849535921920153775455315747329257679346\": [\n \"13217742313108381676382193825855780574144659605443118570288591690654420921657\",\n \"1\",\n \"1\"\n ],\n \"4846317881485650373573869614467066898146274615113663160897553910157695400961\": [\n \"14046844355385804720902959719643543479327103207603264269344256491787117919988\",\n \"1\",\n \"1\"\n ],\n \"8869032029434299683461983819953353039281745421407987944222491944388147111434\": [\n \"3500104852606194976587099094196610945926373558080484052269723562922229408899\",\n \"4846317881485650373573869614467066898146274615113663160897553910157695400961\"\n ],\n \"19888934331807543851119827133488673673500874987415377970334458622912214395664\": [\n \"17641247501144095578838609788628163121809492664221399373116931947000054917425\",\n \"1\",\n \"1\"\n ],\n \"10612869958786757947836580470939945490389582241595895708331110086552499539028\": [\n \"16743288676270757371985064257925877885970181901343956415022341975837042013192\",\n \"19888934331807543851119827133488673673500874987415377970334458622912214395664\"\n ],\n \"13558907526921991225889560565567122740266082811014635363668214536883704913385\": [\n \"10612869958786757947836580470939945490389582241595895708331110086552499539028\",\n \"9395622996247750581563697926694100735036148914061614010336581552943820692092\"\n ],\n \"14723379801863254012656436821905371967634858765615827359062436305078057328581\": [\n \"6013662489165587443855236983125947896051137784821007555741168643854683368223\",\n \"13558907526921991225889560565567122740266082811014635363668214536883704913385\"\n ],\n \"2717613087714846298595338937058272514048319764865723195308183702947002950228\": [\n \"15322326736741369784284428992833583006871458568434664346583196198674976925842\",\n \"1\",\n \"1\"\n ],\n \"20622674388881933114104480994337909607508406072227066175442213585302764039273\": [\n \"14346811060419191017094126702863523752074979126531200309720622458877106579940\",\n \"2717613087714846298595338937058272514048319764865723195308183702947002950228\"\n ],\n \"9791128365995982599086138123222002358190452245774159522622430955913739461142\": [\n \"0\",\n \"20622674388881933114104480994337909607508406072227066175442213585302764039273\"\n ],\n \"14029810036524977902495816972708554572938462536498289165931406274645542371877\": [\n \"9791128365995982599086138123222002358190452245774159522622430955913739461142\",\n \"0\"\n ],\n \"11937854120799008210743482505076927519211387049371459282936174603285477506517\": [\n \"20317088384355094841884023065399899897829890269720488626228268279615997694024\",\n \"14029810036524977902495816972708554572938462536498289165931406274645542371877\"\n ],\n \"18185216729261430999907320715312676249283040215154497794815208253319921695586\": [\n \"11937854120799008210743482505076927519211387049371459282936174603285477506517\",\n \"7780358644071554035603856062032999991926687953036234763854963721655602825525\"\n ],\n \"3069613068584113511800343805474888608733349248020044096025292370627792134616\": [\n \"18185216729261430999907320715312676249283040215154497794815208253319921695586\",\n \"4874910558630805129938092056019191868019773671181125194168851095270451373088\"\n ],\n \"8579535921629868381054419743300107487347513189614836196041307783813896702167\": [\n \"5276098788143773068611243538317021019071998971265707525764910953338866432676\",\n \"1\",\n \"1\"\n ],\n \"16692311458684662165684557928926793197401727015686225342895600858429861886097\": [\n \"17668128382818576024624338564181937967664255684555209678676797531037175297416\",\n \"1\",\n \"1\"\n ],\n \"19061522111329545253535754518615164236411386636249681356738434805250355654528\": [\n \"16692311458684662165684557928926793197401727015686225342895600858429861886097\",\n \"21117114136615746610466382470307413896158778926011376682727741267155826813331\"\n ],\n \"15737669397311983604123224489356919295133478155707634788471062339927600181925\": [\n \"5630297779840997353377809207093016271562663730951313553376834721925316170332\",\n \"19061522111329545253535754518615164236411386636249681356738434805250355654528\"\n ],\n \"17638649211987630532012792976448357072479399478893945584807040909121001860413\": [\n \"18382335004851358423496332361364388283429425067441565418693835263095795887545\",\n \"1\",\n \"1\"\n ],\n \"3271616850794240442298306097086261488217453924953340218119429196509032609518\": [\n \"15855472878566090748579843459477103358708798363031112021696881468463092199641\",\n \"1\",\n \"1\"\n ],\n \"9269231053229044512961298241460554329357307830617018070088073766302563909764\": [\n \"6092748326700410913850003102376167224350836992944367424985539442553475426938\",\n \"1\",\n \"1\"\n ],\n \"11451129593719622065250580106574306081891640541522921815282068827609255124981\": [\n \"3018924582507849500074029223919695851933892442318770589800981928207817737637\",\n \"9269231053229044512961298241460554329357307830617018070088073766302563909764\"\n ],\n \"6139189851548569204569540852660079914455735642503359556659277064064223177296\": [\n \"18401913545700438973921117812437747407771558116396658371147457853143751336577\",\n \"1\",\n \"1\"\n ],\n \"16737507857863608375578176106110387742022721209991487591785010710219759757200\": [\n \"6139189851548569204569540852660079914455735642503359556659277064064223177296\",\n \"15547688148528119979886849092880298075646066082759848641670387025935289557905\"\n ],\n \"531799679362721404521085021358706573156976770607818630216619107873279938041\": [\n \"16737507857863608375578176106110387742022721209991487591785010710219759757200\",\n \"5806121825648393381328939119741690930556722367141022273103024489875461154929\"\n ],\n \"12425496738632137979547323391687004043031928079021543914975872284774318928000\": [\n \"20493857157607280306545641872847807011891040098156083663419480130236107140977\",\n \"1\",\n \"1\"\n ],\n \"9960523627898335079033452999064775074901019765651873812545151759501728433348\": [\n \"21106130800280135241098995819592814613115699076183815671581462314848313732452\",\n \"12425496738632137979547323391687004043031928079021543914975872284774318928000\"\n ],\n \"17938568452440285607499312699779481670086350901756499848414968695101514467068\": [\n \"0\",\n \"9960523627898335079033452999064775074901019765651873812545151759501728433348\"\n ],\n \"11245505523204469028584772625496098758152208394593559708435302922893207638782\": [\n \"17938568452440285607499312699779481670086350901756499848414968695101514467068\",\n \"0\"\n ],\n \"5843257936050179135128234523861564312070924654052480389374881454144288716816\": [\n \"11245505523204469028584772625496098758152208394593559708435302922893207638782\",\n \"0\"\n ],\n \"8550917767902721618399044150839854881186984792071179427969037543938813140624\": [\n \"0\",\n \"5843257936050179135128234523861564312070924654052480389374881454144288716816\"\n ],\n \"16345072269945075111126101732263494707772043459282201413993850750971609980115\": [\n \"8550917767902721618399044150839854881186984792071179427969037543938813140624\",\n \"1034960023587246752344281406305719096522745280016572577576166248736436138621\"\n ],\n \"381199359295703028806007566321564972062395668975836496692964259505100753227\": [\n \"5659964714195533103050434186025638944871122634468025715831106636985683853161\",\n \"16345072269945075111126101732263494707772043459282201413993850750971609980115\"\n ],\n \"6692762499606393920319535186751567712120165195269054355667754243699193312791\": [\n \"7068790953525015651248844192961606396799675482975483435514099743622980794247\",\n \"1\",\n \"1\"\n ],\n \"17002589230569292682618854665979920915508125169282434803431021072812780299810\": [\n \"6692762499606393920319535186751567712120165195269054355667754243699193312791\",\n \"3387085333058994730340642112988790851390345506922297947368441916187852828431\"\n ],\n \"17343802890135750834720888356018798784615724017471171775289115200865004587212\": [\n \"0\",\n \"17002589230569292682618854665979920915508125169282434803431021072812780299810\"\n ],\n \"10396319183910522042905948020405999982568322396478951256947103236565996623375\": [\n \"9536851117337766653022960826294845633729785234964127297066790957715354255368\",\n \"17343802890135750834720888356018798784615724017471171775289115200865004587212\"\n ],\n \"16328811972159331297286613616047308297215639905728025236219426517336329969995\": [\n \"20980709568558466795621425045862444694849261818865612531184204447938877939870\",\n \"10396319183910522042905948020405999982568322396478951256947103236565996623375\"\n ],\n \"6042537676554290010796307168775463959671935831045526016373475821401596589571\": [\n \"16579142736702995336867917123538670746930377143594227274835325384851188086538\",\n \"1\",\n \"1\"\n ],\n \"6981799789911040853421819809321347161083728189398803656226096428512480329006\": [\n \"14579050146689948236498946323915872404832966337329400894695356662703635296644\",\n \"6042537676554290010796307168775463959671935831045526016373475821401596589571\"\n ],\n \"17556270926424609913792676031761607042889870129440358655407572126812996119411\": [\n \"0\",\n \"6981799789911040853421819809321347161083728189398803656226096428512480329006\"\n ],\n \"18379342199554195689774235998581382246317650678798613456633951581968107022607\": [\n \"0\",\n \"17556270926424609913792676031761607042889870129440358655407572126812996119411\"\n ],\n \"16222382354634126956882987429191805493321843065924899207003066054451332456195\": [\n \"14522981846618146459143371497060063201148111393566530329318747324550019271006\",\n \"18379342199554195689774235998581382246317650678798613456633951581968107022607\"\n ],\n \"18355557043803556504458112229841073646362403409320455582448619627814042302841\": [\n \"16222382354634126956882987429191805493321843065924899207003066054451332456195\",\n \"3746600586357714087491678578075577651168203423696587094059841998399420316373\"\n ],\n \"15382576122900421923685749755661102531551832785231570521668327950219580162017\": [\n \"15924993009021518633448321407202688019826798873516476753873684848324412044281\",\n \"18355557043803556504458112229841073646362403409320455582448619627814042302841\"\n ],\n \"18543119760756825578387636022835887441748299517910857303908724895059970591306\": [\n \"15302978510648051133330192944644995704930762196363867407299954544290507841422\",\n \"1\",\n \"1\"\n ],\n \"3002670826785809203519846025025010131109219336726897450238097880596131944864\": [\n \"18543119760756825578387636022835887441748299517910857303908724895059970591306\",\n \"10393942039570520833291998896501956395890950104405966033963794469035433545617\"\n ],\n \"15777412833575657686316339031693725979942038742057202291589173377751554995724\": [\n \"19794946614395323763685841057234192059251667860132194115398538218006287796110\",\n \"3002670826785809203519846025025010131109219336726897450238097880596131944864\"\n ],\n \"13974534898977904897524665716334043709542998334008081250777947365692516202335\": [\n \"16892826693182539682403222389497362950221199088668917868798648510515469944727\",\n \"15777412833575657686316339031693725979942038742057202291589173377751554995724\"\n ],\n \"17448465689181539457993800278264206710415137336321581998556265425216569044899\": [\n \"16117185104486178878303539083675045638562427551817912140679393701198217312025\",\n \"1\",\n \"1\"\n ],\n \"12697005344642252022674067562931759290058567107281786515402492681663718608607\": [\n \"20418019933920643600545412752174407357212319538592745963242174688057669570345\",\n \"1\",\n \"1\"\n ],\n \"18267707382960985931984261906865470493200367412049464741417513924536655646780\": [\n \"12697005344642252022674067562931759290058567107281786515402492681663718608607\",\n \"17417302215920995366054975052737825877869526954298873782638118425124191307491\"\n ],\n \"975530137378991037337415213571519189853698306628121244714607598276285388761\": [\n \"15719595052614479179656135883192437851711484392882326048844111140667463336659\",\n \"1\",\n \"1\"\n ],\n \"4512544576411525055205467606232072209645553768381811032110074928612038811998\": [\n \"975530137378991037337415213571519189853698306628121244714607598276285388761\",\n \"265593079995985242310536482932840354940993769802026977236326689589707728093\"\n ],\n \"2694845384185746181742754615790794668517431253544289651688295370979673844193\": [\n \"4512544576411525055205467606232072209645553768381811032110074928612038811998\",\n \"0\"\n ],\n \"13046039538337928701172823342155479557485740575742064872363421772482213911133\": [\n \"2694845384185746181742754615790794668517431253544289651688295370979673844193\",\n \"0\"\n ],\n \"9543947193353042895033038224778646359083181484985415907827520488544254130704\": [\n \"7170406581406726370826085987470210795090941942397660829891740390698954857327\",\n \"1\",\n \"1\"\n ],\n \"19209955365918762150258065385898493501271996722161895262165955673996125907255\": [\n \"19014282972406552769365234243582707611096351405017950665805482663916746104185\",\n \"9543947193353042895033038224778646359083181484985415907827520488544254130704\"\n ],\n \"21817113034263260951866699098822641793905278219285556963552164514088646232953\": [\n \"5042430345803048367028468506678070514398826818507385255454990604286405024289\",\n \"19209955365918762150258065385898493501271996722161895262165955673996125907255\"\n ],\n \"3002540391998142692072567886182596492795103879567637326292486762395058837020\": [\n \"5147574366483833866468502705245457124805051368794551897392932316404560282289\",\n \"1\",\n \"1\"\n ],\n \"4693826961079488738636010680815065029946402708879686182554840873359098097040\": [\n \"3225108958290299140514029960507026780876587777078714658265953359482662900951\",\n \"1\",\n \"1\"\n ],\n \"10311151097688315764251154364418074127033958170303804550347514059207730725539\": [\n \"9079117850027111893379042430586743388762190785785943812936622481754482007147\",\n \"1\",\n \"1\"\n ],\n \"6383405868409213216569876020662068613965804133772937618593562442427985828090\": [\n \"7869874911024236471869026394218355449822090559118546599121571129484540162444\",\n \"10311151097688315764251154364418074127033958170303804550347514059207730725539\"\n ],\n \"20594776193059402658064672935164247247251559264334858702905621535485138508174\": [\n \"0\",\n \"6383405868409213216569876020662068613965804133772937618593562442427985828090\"\n ],\n \"21616363170384070740930374591284805010709227823872039739236994066749036929432\": [\n \"0\",\n \"20594776193059402658064672935164247247251559264334858702905621535485138508174\"\n ],\n \"9713323428023604771798513351325444987386467090096387265361971203396247655546\": [\n \"0\",\n \"21616363170384070740930374591284805010709227823872039739236994066749036929432\"\n ],\n \"14292133783118579691906349795810965978044740500194295126887403644259302939851\": [\n \"0\",\n \"9713323428023604771798513351325444987386467090096387265361971203396247655546\"\n ],\n \"4849294964056020573076190998946297148585371073570166297231598299956570659548\": [\n \"14292133783118579691906349795810965978044740500194295126887403644259302939851\",\n \"0\"\n ],\n \"14433848942655360280550850761535733600524748156659339104116473783957577990284\": [\n \"12987809476119682180774306434057243978890868898611763937022360238708407264068\",\n \"1\",\n \"1\"\n ],\n \"20956237330273835436659033606117183915342591204863185729498087494717732090543\": [\n \"10957233595408105582587360974807708090107710647659417708469016206476557657054\",\n \"1\",\n \"1\"\n ],\n \"20664887680317040204029018923571158872458383573170507529782273131792897241843\": [\n \"20956237330273835436659033606117183915342591204863185729498087494717732090543\",\n \"13529378358986259327890415418217199672195129858957290463241414560805310927580\"\n ],\n \"1403732142630347546721796613063982696087482189214808638000693655967895366703\": [\n \"0\",\n \"20664887680317040204029018923571158872458383573170507529782273131792897241843\"\n ],\n \"9808729357872339936356939168881692455986059766452195361662624015692271628878\": [\n \"1403732142630347546721796613063982696087482189214808638000693655967895366703\",\n \"7832950408244752874432192525512195657323636936172450932132120238424577216499\"\n ],\n \"15327357958686246163256347321152300122453734078352846344363798203030380540850\": [\n \"9808729357872339936356939168881692455986059766452195361662624015692271628878\",\n \"0\"\n ],\n \"5962151690255023254321829114285253160556701796969241094112349605358637034847\": [\n \"21688076446212724446523658385941544381175847427021804072796535115817571120862\",\n \"1\",\n \"1\"\n ],\n \"17188445795196506993172170503806243680067713620309785747875782723903653495838\": [\n \"19062193688540074772239191225296888173211857944491009738708213014527967836567\",\n \"1\",\n \"1\"\n ],\n \"17369329419795101328506045653392299167209723162496422730488607785352895501784\": [\n \"1364701304554157266797255057074093227360840520420579920708337087994280553914\",\n \"1\",\n \"1\"\n ],\n \"18842044010728900636373620396820784483458925523254695897214019010675537241733\": [\n \"17369329419795101328506045653392299167209723162496422730488607785352895501784\",\n \"12509739237317744247135260364192265093585131859508248323571933508253372881651\"\n ],\n \"15773076817073925723708929457888869258426024218156540799976828497102476374306\": [\n \"18842044010728900636373620396820784483458925523254695897214019010675537241733\",\n \"0\"\n ],\n \"20079301254718771879404299636807706207224424525468849284922193541776310040540\": [\n \"0\",\n \"15773076817073925723708929457888869258426024218156540799976828497102476374306\"\n ],\n \"13532234366035507106083586976891557504309631194071376539469764955246488361038\": [\n \"20079301254718771879404299636807706207224424525468849284922193541776310040540\",\n \"0\"\n ],\n \"15121976277719034484385840253037850663738246531733875736963952130326686605682\": [\n \"19566153825073542914433158037961011231613058218413000868738310495907557648097\",\n \"1\",\n \"1\"\n ],\n \"7465028329705409111254050655801133118504499690728456978097249351025852630097\": [\n \"15121976277719034484385840253037850663738246531733875736963952130326686605682\",\n \"8874173527582188478886430085252900799419191243262951754532600505543914983075\"\n ],\n \"15068447488175755753624054217310942102352664789135293815672064027288572059646\": [\n \"3010737837095256796913854168219694614638339770690587452932483925364823711360\",\n \"1\",\n \"1\"\n ],\n \"1917611421283943569828585914777651006158185402469641197227241404264373585539\": [\n \"17195129004979234661816857223448003701913929201420175012837353852730852099139\",\n \"15068447488175755753624054217310942102352664789135293815672064027288572059646\"\n ],\n \"11510794881509540437277313785905625517512312012809836565480793094806446797715\": [\n \"17122979818481344292094368653870180016317996441792127356423079343584081810020\",\n \"1\",\n \"1\"\n ],\n \"2581701355690284521661996355734161938137344111219672221096433162564990444705\": [\n \"3716080603002048962344555964011020910369248771415098736615495560774865233276\",\n \"11510794881509540437277313785905625517512312012809836565480793094806446797715\"\n ],\n \"12106840108705506129691591711674551303469690537332734562547910649354272032389\": [\n \"2581701355690284521661996355734161938137344111219672221096433162564990444705\",\n \"0\"\n ],\n \"13761062132706945026907534521943571170154748062248967901721800013498459473139\": [\n \"12106840108705506129691591711674551303469690537332734562547910649354272032389\",\n \"5570353201725448928574147029625642860513807405614831297957953902151887775397\"\n ],\n \"10162571717607556837142119540464506544375428544472323044991591861378033945226\": [\n \"13761062132706945026907534521943571170154748062248967901721800013498459473139\",\n \"0\"\n ],\n \"20521415121010269957672569710357500531475703426548735112620154366672369994984\": [\n \"0\",\n \"10162571717607556837142119540464506544375428544472323044991591861378033945226\"\n ],\n \"8296813419158058680334471742231150780976050276591439848488170064377169907381\": [\n \"20521415121010269957672569710357500531475703426548735112620154366672369994984\",\n \"1747509682545006528597051692305909435675791933186972346049871672138856822550\"\n ],\n \"16975317864860505752585390466371921178965811544310358043782566573783617878426\": [\n \"9229972237395719158814462747581807687019522792031852217298948765718303430888\",\n \"1\",\n \"1\"\n ],\n \"14398622571399739663584469715909966586186146136801279758660607350235715398300\": [\n \"13255549418455672014281529422115597263313349382300090999160041415524094861516\",\n \"1\",\n \"1\"\n ],\n \"13288122056168630468463631032656065686723123171821094256491434320545490369681\": [\n \"14398622571399739663584469715909966586186146136801279758660607350235715398300\",\n \"7492163161594625431894408118365457504843991969904254432235707191061450655124\"\n ],\n \"16283002791402136016208212141713539692287677191826980544110951051011828267457\": [\n \"10252815735459092944064377074117517065136730481722973685426713820481436369754\",\n \"1\",\n \"1\"\n ],\n \"11410659280639932447334159628442166020707913209433018780767490702228657185125\": [\n \"16283002791402136016208212141713539692287677191826980544110951051011828267457\",\n \"3402000619210119963866019130105696972969463131164990576809919456019774786075\"\n ],\n \"16030051422725521329319627127665779551158308322952137697679729536113201872123\": [\n \"17961554678851582754159851167117676259906561816621171270850567473482120643137\",\n \"1\",\n \"1\"\n ],\n \"6890131928077369706575622791148107770628839811405876636379133460213746955101\": [\n \"1921458876424380446227313887970104011373608791757212285306939811963133012662\",\n \"1\",\n \"1\"\n ],\n \"14434008120708846589023738501780874931595137951974920134375515675112672016797\": [\n \"11333796208339711286893208674512801508883197051877286581949996860923268436268\",\n \"1\",\n \"1\"\n ],\n \"13262296439815616822529564118534843520948967157994843557711276540832064248084\": [\n \"5906272699698899599644730251883026312780124046238166757916712717602725584924\",\n \"14434008120708846589023738501780874931595137951974920134375515675112672016797\"\n ],\n \"15355041483939527718577608308412782006358867271798234070648264398975886517846\": [\n \"13262296439815616822529564118534843520948967157994843557711276540832064248084\",\n \"5010673549392394167256111791216253485719314422693863067410785897675164977024\"\n ],\n \"15034289700911013949984364568258059840405173668928340055030755745951358365425\": [\n \"15355041483939527718577608308412782006358867271798234070648264398975886517846\",\n \"9668518925631237218808370869443329930161253360283750209760115710530889479583\"\n ],\n \"21534527992950870022518203581590295520693477459781621325490257672316537755869\": [\n \"11756519078794076539801730231654299576561591976635163376279997921894156561698\",\n \"1\",\n \"1\"\n ],\n \"384974740857331699292050694049879046852916488189599015809209653746307264372\": [\n \"7658942050997163254729077292472404215915307093320279671864391200012676044138\",\n \"21534527992950870022518203581590295520693477459781621325490257672316537755869\"\n ],\n \"2971787580369869396306036104281187900439169116633732173653403022059164950666\": [\n \"12247266498634138291819276400318457863566462851474777991852085230804848828326\",\n \"1\",\n \"1\"\n ],\n \"669869361305494102535597220656989116976822112946548531036505004664570834692\": [\n \"21140783558084890441928878932189188827326004489268114542726895691261238105466\",\n \"1\",\n \"1\"\n ],\n \"12094359017613057622423339804094621250372712542217735601438889738664274872824\": [\n \"12071421987323694866852388457266414977473566858995717373911434468963182879428\",\n \"669869361305494102535597220656989116976822112946548531036505004664570834692\"\n ],\n \"16218774205448548817422615816884089547245772324768463919276325569595694678469\": [\n \"20992210476056697735848406624583895510910073461574923593944956334734521116704\",\n \"1\",\n \"1\"\n ],\n \"18003520174290688256687319436516391367984377055347777900559919842055613056490\": [\n \"16218774205448548817422615816884089547245772324768463919276325569595694678469\",\n \"2762174849224746991532278743061965323579262281099532418773353508236369593613\"\n ],\n \"8062322430465954182781631774470290623445819540819352707825414089561718063552\": [\n \"0\",\n \"18003520174290688256687319436516391367984377055347777900559919842055613056490\"\n ],\n \"14987067938727262143777433805147355829305133317971239410887115286165580363133\": [\n \"6112605585161004945340500582746308400795662231972016914420414482551162262890\",\n \"1\",\n \"1\"\n ],\n \"11797492390261889470449468614649504424594035896194398672207511130586038587443\": [\n \"462047042731597092585390645192181323264408567069298038796952287594745679186\",\n \"1\",\n \"1\"\n ],\n \"2586588808584522308940930275288034976793581901647774620932223182817830542548\": [\n \"5653650212197165786830308499410176844937043974477078613645247186412314804436\",\n \"11797492390261889470449468614649504424594035896194398672207511130586038587443\"\n ],\n \"5117264465461612600881198757388699658818192321772631280155614038768757019686\": [\n \"0\",\n \"2586588808584522308940930275288034976793581901647774620932223182817830542548\"\n ],\n \"5301134422570621849210223108875445904076867362995304345315898647815196346205\": [\n \"0\",\n \"5117264465461612600881198757388699658818192321772631280155614038768757019686\"\n ],\n \"13345039356700318937423660399012869415942393024233989596302613862474146763196\": [\n \"5301134422570621849210223108875445904076867362995304345315898647815196346205\",\n \"0\"\n ],\n \"12353979764587777347002728038146335292206151837591324090623619675512256438848\": [\n \"934738273718059229615580922359048603890101623469807333429726726568562102353\",\n \"1\",\n \"1\"\n ],\n \"9883121550793197745384639902200165553396050725731116632380297995694413633202\": [\n \"12353979764587777347002728038146335292206151837591324090623619675512256438848\",\n \"20012283313732058178215453900916958320316602909825182080650630611310093975112\"\n ],\n \"15906301688361168526860026796332983129646442634565627319997206403329996264934\": [\n \"1510017396802670585536895295841606046605861938782491809560014797522553574528\",\n \"9883121550793197745384639902200165553396050725731116632380297995694413633202\"\n ],\n \"18057569166180145752045846623231552935744433801242510624607624917328799214205\": [\n \"15906301688361168526860026796332983129646442634565627319997206403329996264934\",\n \"14183408311110993972807430182946750744119626631030908941548477535248493783184\"\n ],\n \"10473213191793623178707889789948518077716106084942876289414498782050474512858\": [\n \"18057569166180145752045846623231552935744433801242510624607624917328799214205\",\n \"14556155272232124381987873600150914424801679838570908491338920520105644677098\"\n ],\n \"6104714787836331351475117418475967512871703448370047862863155288826827932998\": [\n \"16032085662356593538820205077390337886001531197304019859375944582992942221981\",\n \"1\",\n \"1\"\n ],\n \"10510471372598184511656452595579812472504664178500760067100730131970754904444\": [\n \"14054486702012797527450352693838979179587724422611931751388670362533570625115\",\n \"1\",\n \"1\"\n ],\n \"13395401993890477654714006605029187553438293763680391735278682821715941946133\": [\n \"10510471372598184511656452595579812472504664178500760067100730131970754904444\",\n \"7978776943814174873958519078184166211962004982679846138317644456196790839499\"\n ],\n \"6705303218163189483548067385333225896875536616662081317674059477740745729732\": [\n \"0\",\n \"13395401993890477654714006605029187553438293763680391735278682821715941946133\"\n ],\n \"5155338118856496633066496288399441140337234000414326477042029490075952755301\": [\n \"0\",\n \"6705303218163189483548067385333225896875536616662081317674059477740745729732\"\n ],\n \"10476380502055462084646063809683034045429873366728504492768066586335733654148\": [\n \"14844961611060997998444437416567671491722906947245440532980538490858951266943\",\n \"5155338118856496633066496288399441140337234000414326477042029490075952755301\"\n ],\n \"8712084848227590972189913761130622899041280081539800840159283452593655945188\": [\n \"8862927429800036937252766829379053103675849557574750053877288633532452039699\",\n \"10476380502055462084646063809683034045429873366728504492768066586335733654148\"\n ],\n \"12997379959707870040653562142823733646240124435088160623939232706771130564925\": [\n \"17367701483605113117694049492682577251883750497486749229775492843063805915610\",\n \"1\",\n \"1\"\n ],\n \"12901587054628759898460616750151832053886101071643923118498288813506215705479\": [\n \"14540131759804609918262190221527504777903301452377121987866900701757200811983\",\n \"1\",\n \"1\"\n ],\n \"17674642027048766749570312111975097881336989553951870669408475417804385959127\": [\n \"12901587054628759898460616750151832053886101071643923118498288813506215705479\",\n \"21111243409969111142722809532775539071292933311178906323509619930535690613354\"\n ],\n \"16458593087758883838692487941041949413486641491210838641571120222498400050632\": [\n \"17674642027048766749570312111975097881336989553951870669408475417804385959127\",\n \"0\"\n ],\n \"1579382206376361134620092969954207297726427721720017729777846927485702847769\": [\n \"1748899380737790669446924016770398411974723580962401960883329325035081185007\",\n \"1\",\n \"1\"\n ],\n \"11630548143874572433912158778555863624519568633977052761943260687901153618004\": [\n \"2276733131591563008351118109649173318652331171090819039566241559019859472007\",\n \"1\",\n \"1\"\n ],\n \"2662767285631933329913169282839816789622039696236773071037008792876406680115\": [\n \"11630548143874572433912158778555863624519568633977052761943260687901153618004\",\n \"7470921301315674823258699227253112042923695554626907270609849336470283964644\"\n ],\n \"12824395408353525175073123903816459402907606776175916713240458606927009969045\": [\n \"6191235128327210163699196659268752525526993669746416178033768478998251804193\",\n \"1\",\n \"1\"\n ],\n \"15270689992629428496098147861251712082389067606675522169979791088824239667195\": [\n \"10702150547219055641517932094266147654546609468980162368090752968128347294089\",\n \"1\",\n \"1\"\n ],\n \"14969297224523441198133937275464232379390792051995166818058414218929688768138\": [\n \"19148125633104341321753170488406134845836034127843243299071171123780817376187\",\n \"15270689992629428496098147861251712082389067606675522169979791088824239667195\"\n ],\n \"12745352016642939960416896723766749303427420914949935015417298079067595456743\": [\n \"6386294310404240205950671803380093064617110711506864177252764192245873219549\",\n \"1\",\n \"1\"\n ],\n \"5215808480521610508538319322172558557556046547043590639043016100010905449788\": [\n \"12745352016642939960416896723766749303427420914949935015417298079067595456743\",\n \"16651098726875878280636261730854794251850902622982022603953304086311344665105\"\n ],\n \"20819533384295259205540347786745999604076582498648880218515939647759608011806\": [\n \"5215808480521610508538319322172558557556046547043590639043016100010905449788\",\n \"0\"\n ],\n \"19979605655038958878856009661180365036082503987774971477037806757092560851697\": [\n \"0\",\n \"20819533384295259205540347786745999604076582498648880218515939647759608011806\"\n ],\n \"2824408522355608422156979956287412526078305354170722605911440220732052304595\": [\n \"19979605655038958878856009661180365036082503987774971477037806757092560851697\",\n \"9639004021342976002850850861726652718787389181271686186636155258121592191943\"\n ],\n \"12692714492836742214611421805826258424365193690518814265082486102951763555543\": [\n \"15674333372106921012633730502870595362535161605190412700534709014041456451251\",\n \"2824408522355608422156979956287412526078305354170722605911440220732052304595\"\n ],\n \"15906593754671086659239181910325597855493412798574908641829403256227169302909\": [\n \"18581492843721602488037279727231247476990544014123399731365337617472107641266\",\n \"1\",\n \"1\"\n ],\n \"1233992336052997578685378973291547688974775595305906953249477032354919295617\": [\n \"15906593754671086659239181910325597855493412798574908641829403256227169302909\",\n \"7370064540622681234278641385281820479960219551822137730571256206375042869714\"\n ],\n \"3674874118369459336192068259825239794609712143153278582445546152381401672239\": [\n \"1233992336052997578685378973291547688974775595305906953249477032354919295617\",\n \"2368297344314694456421592732716715544705994950206456023144194031242952689317\"\n ],\n \"8147810236194204651191807538430167738910228060366774085879517366068056045108\": [\n \"0\",\n \"3674874118369459336192068259825239794609712143153278582445546152381401672239\"\n ],\n \"4630358421396914650104594002922819410840472512659182530305298380387457279394\": [\n \"6488594938995770950284030773118558151295496617194941317233198258380954335773\",\n \"8147810236194204651191807538430167738910228060366774085879517366068056045108\"\n ],\n \"6737141637782473756294188154770368165221958912221142586629974777071748109773\": [\n \"3748853110614569876640829819978886063520503214298579673509730150312217428900\",\n \"4630358421396914650104594002922819410840472512659182530305298380387457279394\"\n ],\n \"1385823577465712826283403397231953679328253794702190419246635660419382421853\": [\n \"0\",\n \"6737141637782473756294188154770368165221958912221142586629974777071748109773\"\n ],\n \"17015428956795532542945097984648688704753982203597867022320244099474217212733\": [\n \"14454459671887586290064743497369965349992191729788001345160976383627089534423\",\n \"1385823577465712826283403397231953679328253794702190419246635660419382421853\"\n ],\n \"7407402833394496251626497860761179110476713768298132727933756360685331642405\": [\n \"12522078113620750449647186303601445300049778816178606870520699444112822551290\",\n \"1\",\n \"1\"\n ],\n \"2010503929587346926766891731609488928024632424881892728423380638218597333707\": [\n \"13878990233768095383817553490904803466508906519910440644967751245544973422592\",\n \"7407402833394496251626497860761179110476713768298132727933756360685331642405\"\n ],\n \"427407454894486025560559354065492963764523819213066163927970644815674174569\": [\n \"0\",\n \"2010503929587346926766891731609488928024632424881892728423380638218597333707\"\n ],\n \"5050310032379953523810463301220597258536788201256944238215890179880837066461\": [\n \"427407454894486025560559354065492963764523819213066163927970644815674174569\",\n \"0\"\n ],\n \"8311212929733277961313489791849939669961322436511169732032262863287658076755\": [\n \"5050310032379953523810463301220597258536788201256944238215890179880837066461\",\n \"8137874181841740881586999530919954988903049419918991489193232197796651095497\"\n ],\n \"4648065385125104119417032575345746329271916576392541668271278993977527130229\": [\n \"8311212929733277961313489791849939669961322436511169732032262863287658076755\",\n \"15512898218633861570660700309897085473828822021516177581160202233960150612997\"\n ],\n \"66313954025870648289235997877928235767998931877965764126514546750132900519\": [\n \"2718242007508282853706268689371892069036991287996821112009320071510211568112\",\n \"1\",\n \"1\"\n ],\n \"10812488159054231342024536230399540121264751551810384106352807086630909571109\": [\n \"3025005948427352017932597172580650623317953551429488926979518778027429804204\",\n \"1\",\n \"1\"\n ],\n \"11274998512446651330548020080967403903395867636090830984014440531012984476891\": [\n \"562640353109571637379201975990127199225818542766433043834677665010971071398\",\n \"1\",\n \"1\"\n ],\n \"16285159366460074909315903029505246197942251335491477057159742701780058152679\": [\n \"10287403754211028489908358559118835809143378070224650994599438044602833919910\",\n \"1\",\n \"1\"\n ],\n \"9339630017733014560774042408975913586078821843186009960251848416094956458321\": [\n \"16285159366460074909315903029505246197942251335491477057159742701780058152679\",\n \"2971787580369869396306036104281187900439169116633732173653403022059164950666\"\n ],\n \"10997615706041449556259648738276882592140443225782260964856933425858082972223\": [\n \"0\",\n \"9339630017733014560774042408975913586078821843186009960251848416094956458321\"\n ],\n \"8048693774494586498881311437962263522955604005988511742523357167316834229407\": [\n \"10997615706041449556259648738276882592140443225782260964856933425858082972223\",\n \"0\"\n ],\n \"20891621515119645798583091335212544459340966135934986921236857884521348566883\": [\n \"0\",\n \"8048693774494586498881311437962263522955604005988511742523357167316834229407\"\n ],\n \"20787564410914071615037191164559295420305845130319232236009930990349075880828\": [\n \"13611740192434261850861364824062692320745606678556915569862708205690678428444\",\n \"1\",\n \"1\"\n ],\n \"2673313895291665981273374305963364640363898321415763499112894421197341883219\": [\n \"20787564410914071615037191164559295420305845130319232236009930990349075880828\",\n \"11134807650015492019657965878012469964569790883226866200557874361206102959306\"\n ],\n \"1579977052573487936760716982906832956864409809093489594798887115363587104343\": [\n \"20966782238804833762906713056815258124498783302889631487174081039408689939573\",\n \"1\",\n \"1\"\n ],\n \"6656746542494932227530674348661555438040068196748061871369790623925513268947\": [\n \"12689338300769599571279219309176164960743413000700810215516186217425064478740\",\n \"1\",\n \"1\"\n ],\n \"12491342143783328024908131374631745266736568412921134877256605559826492124798\": [\n \"12213574988949445883886379805555935777581500677334190282276202654456080113434\",\n \"1\",\n \"1\"\n ],\n \"1531123781764600656546129858875862641953304983553622629142140969832112373128\": [\n \"14080392446934132790579677441747538491710424677654689572446922555084575861156\",\n \"12491342143783328024908131374631745266736568412921134877256605559826492124798\"\n ],\n \"4271271769264358335456188637884457683827085756216018874670414708316892759841\": [\n \"16121666970373783105193813832438575644029506160141048698051938667372379407220\",\n \"1531123781764600656546129858875862641953304983553622629142140969832112373128\"\n ],\n \"8173231480265488096941080659105468318638212555847997171655911995337402851902\": [\n \"6894976146158570199813472100919932775645577178452882614872259692557305201716\",\n \"1\",\n \"1\"\n ],\n \"7981884006401299803871835200105453784459364046798210052946502822702195176754\": [\n \"10548054103102615897148729915613586658641186888000268732043169742060117575508\",\n \"8173231480265488096941080659105468318638212555847997171655911995337402851902\"\n ],\n \"18478415710569946801984074059052465750110133718415561959747794931756594445671\": [\n \"7981884006401299803871835200105453784459364046798210052946502822702195176754\",\n \"0\"\n ],\n \"15438856939958860948330102807709930087561991275836164408288788149161806474918\": [\n \"18478415710569946801984074059052465750110133718415561959747794931756594445671\",\n \"18197822082234582006567760233177928358474086768793638876235465655135146873126\"\n ],\n \"16375891567341719722474592648861988996504741484799694760743209346865395507342\": [\n \"15438856939958860948330102807709930087561991275836164408288788149161806474918\",\n \"13660259810325405027920462863209986428060123639433505713219247614218432849901\"\n ],\n \"6446529640955502283643286284706162497719844531612452389379664406290309116390\": [\n \"0\",\n \"16375891567341719722474592648861988996504741484799694760743209346865395507342\"\n ],\n \"3542701405043387537018306996448102539715969960165559992073542418201439947336\": [\n \"11617728423673890414681966127366927996204517108575022969811427259915936694673\",\n \"1\",\n \"1\"\n ],\n \"20408174360917643497936951609076124559384546004243349436041563414993617094547\": [\n \"3542701405043387537018306996448102539715969960165559992073542418201439947336\",\n \"17638306810021826976560145362239848192847128346825793745705923294828427311145\"\n ],\n \"16924716072799823382216029668968107282598685841328478503589399396297476338295\": [\n \"20408174360917643497936951609076124559384546004243349436041563414993617094547\",\n \"9045634398188872151779338248936527267473218993129042654324034319905230781368\"\n ],\n \"13938645109423881647122089354939220190164206010508643990289172272118990482556\": [\n \"16924716072799823382216029668968107282598685841328478503589399396297476338295\",\n \"4294916168941686655261818658980476132252764841431165610799380864466118484328\"\n ],\n \"21770965286141056005254198992216199338684703711364610324629285686264045871759\": [\n \"19381121890917981560816914635916531139374889778303903712448273987182246498417\",\n \"1\",\n \"1\"\n ],\n \"18541482372814654734964712419570441793645836881109370179228753395321236167879\": [\n \"21770965286141056005254198992216199338684703711364610324629285686264045871759\",\n \"747059593321593274611801425378068972858268271977903503817263043468507933577\"\n ],\n \"8365641070601230701988493495273925780960198128802310235717493144965970687550\": [\n \"15329478529903370769297734192612463481901983873996718588539119815778353957227\",\n \"18541482372814654734964712419570441793645836881109370179228753395321236167879\"\n ],\n \"11339971871888412858835457257868561026605269940324306240824139197635391169734\": [\n \"8365641070601230701988493495273925780960198128802310235717493144965970687550\",\n \"14430265627880162586234688400957846637068672173125830662084562286246309640453\"\n ],\n \"1575865111837459494007783968617677802740600053423832488673602930712982546670\": [\n \"3181866923655080794538798001274690411480283626390905540337907150784601348916\",\n \"1\",\n \"1\"\n ],\n \"17612611268014290945906239697248093813042316149047485381179051433266635900194\": [\n \"19057509695618726722000642736643427197897350420801274949804282501777948904084\",\n \"1\",\n \"1\"\n ],\n \"6487060162898265165711703915754111931349909544755538796087275855222960263659\": [\n \"17612611268014290945906239697248093813042316149047485381179051433266635900194\",\n \"12077058545965662272309485883802587420206158309651031006017687594368741966842\"\n ],\n \"17630916945509437477733067832466562660746957492733063253068896022914616284865\": [\n \"6487060162898265165711703915754111931349909544755538796087275855222960263659\",\n \"0\"\n ],\n \"1911254243153491202111547427453655669193022815804583364175975218883290693189\": [\n \"17630916945509437477733067832466562660746957492733063253068896022914616284865\",\n \"0\"\n ],\n \"774156445968392196732951225629621176751436298396180456529687289704457034585\": [\n \"11986123443597662649782439844278426113354497402755558811394538189537542545168\",\n \"1911254243153491202111547427453655669193022815804583364175975218883290693189\"\n ],\n \"10989211786011863972313968066599881892375281062240305344773001958421054460616\": [\n \"11365886857343637256852405868350342527353026847084621507158679753641186030699\",\n \"1\",\n \"1\"\n ],\n \"12879476114901710797744137778080246673843948771863674862690051789902386693010\": [\n \"1741495161397656171609157496552148986523056853464444171359514432621014665780\",\n \"1\",\n \"1\"\n ],\n \"18651263418409703068312040221643682672183386608005560310039036920047936881167\": [\n \"11394254109927373083524238897119079428351166596680271210386558838027928822555\",\n \"1\",\n \"1\"\n ],\n \"1265585042239363770581713320072952888228327758470069832691014916564586079516\": [\n \"18651263418409703068312040221643682672183386608005560310039036920047936881167\",\n \"10536404743682241396508478370263013330506416328723336179851068572010572598364\"\n ],\n \"21511433352568927404551722139986442312215360247971748188289699551006726862615\": [\n \"0\",\n \"1265585042239363770581713320072952888228327758470069832691014916564586079516\"\n ],\n \"19509456693800897905748502652449979733995484581234238449494661181815741480827\": [\n \"21511433352568927404551722139986442312215360247971748188289699551006726862615\",\n \"0\"\n ],\n \"8499342445447590204395570478129104985236747241657728504009763537253896559683\": [\n \"0\",\n \"19509456693800897905748502652449979733995484581234238449494661181815741480827\"\n ],\n \"5693131709981570550521454238915672123403327267434744572329279433125266864810\": [\n \"0\",\n \"8499342445447590204395570478129104985236747241657728504009763537253896559683\"\n ],\n \"16816679627564140155545881674880608042077020741195415775045886798861066121276\": [\n \"5693131709981570550521454238915672123403327267434744572329279433125266864810\",\n \"16594889340155223237040011542431758505083826108519564780210643950364814208752\"\n ],\n \"1379606374892788754777368713159526129722970262383486553459810538807745642729\": [\n \"16816679627564140155545881674880608042077020741195415775045886798861066121276\",\n \"9160454926048700490689809815943112420846820382866859930977842902869260127846\"\n ],\n \"12654845459059167351983419532193441712902924273454104628515500978521001360702\": [\n \"1379606374892788754777368713159526129722970262383486553459810538807745642729\",\n \"13140969355605845302700090745222311170844647993955740052326321818059392124310\"\n ],\n \"21732474359316890038343481925979568815636245918998611948317544003396982752952\": [\n \"8070605133465846055711818083155465826104151912074960644621998916800406693437\",\n \"1\",\n \"1\"\n ],\n \"18431949603535440498109403784906828073166466176965580325760696753123390698159\": [\n \"21732474359316890038343481925979568815636245918998611948317544003396982752952\",\n \"9706081884157026877154320282607706665246458133665577966001508834889781994196\"\n ],\n \"11553400031343711662474701916564971659606633625669843655702300743852142646039\": [\n \"20343525927856575805150531113796044773623851788915637293890878644596281252785\",\n \"1\",\n \"1\"\n ],\n \"9070096645979172480296487607962541068411143118199839177821479562789557325889\": [\n \"11553400031343711662474701916564971659606633625669843655702300743852142646039\",\n \"13365538776944949667451473628474921580289434929624492800660289866471372087594\"\n ],\n \"19948597316669890725159702946475598249911020032640624004878883871711888104011\": [\n \"11369595938260302795101893531272011245678971269968559513715716259844210253256\",\n \"9070096645979172480296487607962541068411143118199839177821479562789557325889\"\n ],\n \"11983086290346892137433318543524303482299433370031170444487825837410239608143\": [\n \"1654532357919195961381052160179928809015161455289621692699859732947203195417\",\n \"19948597316669890725159702946475598249911020032640624004878883871711888104011\"\n ],\n \"20838871365757414537204482452873709480100214600871936483186780267845980500520\": [\n \"11983086290346892137433318543524303482299433370031170444487825837410239608143\",\n \"17818866982892950864834185612859431280252292902752374877330252628854419910049\"\n ],\n \"5193484115238761435115264675442683252008673797743711328630754648711508589654\": [\n \"19886279812765995980696239343032208357077330662120668019517757570606636746599\",\n \"20838871365757414537204482452873709480100214600871936483186780267845980500520\"\n ],\n \"18031683272098862175995668353563658404477579641469875421520314693759643991666\": [\n \"20618863149721877122498229006583056709428555124261508941562839448879072550709\",\n \"1\",\n \"1\"\n ],\n \"1916577211285540465249038860017422513277922361895601420153591200771883591545\": [\n \"21596166909884045511331148803911925058893811819025824040272094840204662259564\",\n \"18031683272098862175995668353563658404477579641469875421520314693759643991666\"\n ],\n \"6685437844709493922511657345739027014558030635819083980610499031178042957033\": [\n \"8451968604843033621885042967880819876665791391078451275031986562028961066636\",\n \"1916577211285540465249038860017422513277922361895601420153591200771883591545\"\n ],\n \"12084963152968452175787958302866605341970179381504552453003570096684622173119\": [\n \"11574193831051754238101490020965321797666874455177359564025180305291427773667\",\n \"1\",\n \"1\"\n ],\n \"19202806689749301434683276740810860305046159854349641894456933677749655194062\": [\n \"17193106804606583260399642056332585224402873185486451033943490441142299705676\",\n \"12084963152968452175787958302866605341970179381504552453003570096684622173119\"\n ],\n \"2124383222158664688251314688724970645280599435656135787807962352779835932336\": [\n \"18195637409854799478266170184851928088039073900058250257504268778027740752635\",\n \"1\",\n \"1\"\n ],\n \"1404679713517077831774298627198804280584182671869904578043138171051743600506\": [\n \"13017105332617233687392309096944313306327718846859113973069175348487560581772\",\n \"2124383222158664688251314688724970645280599435656135787807962352779835932336\"\n ],\n \"13800419730508388995149807921521932651750188254527911906488883619432925022761\": [\n \"21844169191790260854190176510320718980780617669138178281540788852042751872392\",\n \"1\",\n \"1\"\n ],\n \"15069509605948228790437298570494449868262416268114611943262136370158886669607\": [\n \"13800419730508388995149807921521932651750188254527911906488883619432925022761\",\n \"11030745277178393790326295039184021700292126104873362069003555967943869673877\"\n ],\n \"15733668532281530485338938187929230629303916775826096689018990649845778295081\": [\n \"15069509605948228790437298570494449868262416268114611943262136370158886669607\",\n \"0\"\n ],\n \"17788013108731627536837326209209656049018082894562925689511716214696920886599\": [\n \"9026814693891353063155740905260938422463977753385811755001315117068507521192\",\n \"1\",\n \"1\"\n ],\n \"15512050951326254519960781217046446273180403088697625930835526984170229933062\": [\n \"17788013108731627536837326209209656049018082894562925689511716214696920886599\",\n \"1694930749278757876581925199998432669128951732832834329041235314076447859601\"\n ],\n \"18319103644904004326297274018744172589343672852336231156618368501526411743364\": [\n \"15512050951326254519960781217046446273180403088697625930835526984170229933062\",\n \"21500458934123412600065115031714318538015604442386670198085074359083697296774\"\n ],\n \"18699394300742375273621223996261674771372211663620098489098698875013900723136\": [\n \"18319103644904004326297274018744172589343672852336231156618368501526411743364\",\n \"499453095625426846519501330090741371361510417696846279388530147812937610855\"\n ],\n \"10586050323076155252774578570837448391263465322742693114347332891726312170713\": [\n \"13989902161509984887755850279074048417631489156977564515204684627235368772112\",\n \"1\",\n \"1\"\n ],\n \"10050894641137685215637520643699709790848156561703548628264903291935784877309\": [\n \"17215789923062309908582084707699993353120404215099913628139154205748318136043\",\n \"10586050323076155252774578570837448391263465322742693114347332891726312170713\"\n ],\n \"13782886239499785012211265487714058881549310861325498613813112035812353274052\": [\n \"5508306939751449952969317132975428735114133175034998670446108319985979677740\",\n \"1\",\n \"1\"\n ],\n \"12390924696806763773380561874888922571577172013355529672754753965567578686656\": [\n \"8115378542915528630308489947745208892921856012026520715917791195791924850370\",\n \"1\",\n \"1\"\n ],\n \"21648086607120177980214461973268009810505367800460844416339159651790254274286\": [\n \"20636786145125475718669391386613783125923143286293080849537274731052107995106\",\n \"1\",\n \"1\"\n ],\n \"9563453191328800821278162908931501215583097396801593073212337996273264598426\": [\n \"11102789144180730597191876148481953311120670381113903398349652069410737515728\",\n \"21648086607120177980214461973268009810505367800460844416339159651790254274286\"\n ],\n \"2682224392944102151307095457339492314410465682475752590864171126666139502733\": [\n \"9563453191328800821278162908931501215583097396801593073212337996273264598426\",\n \"0\"\n ],\n \"1925762036484509709022504996636939645237093622509752640932618357082718298774\": [\n \"20266035471823267535993988969226982633946915599950793717424900976755579295640\",\n \"1\",\n \"1\"\n ],\n \"15256000359869610396785476891241697422826531190358517255977647553548743302461\": [\n \"6779348505841848017180277998237623487899623554334564990201054144238390644056\",\n \"1\",\n \"1\"\n ],\n \"17974890108323847264530505655863437224106670246322181407972454026118833673190\": [\n \"15256000359869610396785476891241697422826531190358517255977647553548743302461\",\n \"15040750050882992840341100425581075012840413291021143326817682842314381347892\"\n ],\n \"15813422315276169202052815507885449579613738772149043670219478128172000931193\": [\n \"2912367588778317742624538657192913229043188479575219601949499061816160498350\",\n \"1\",\n \"1\"\n ],\n \"17679049742587268423984181580986298591764380952212011647473258499500021251240\": [\n \"18565538661718432505458712725799285953923710584805172482828448197298119046053\",\n \"1\",\n \"1\"\n ],\n \"18401607461773916975834589945130892710729618443718834309264394352710480303030\": [\n \"13221529659741346266463952831871781179548847768257956680520724214576932643462\",\n \"1\",\n \"1\"\n ],\n \"18144120694636230216919026192229770143136986115298632035358571189538520727318\": [\n \"3473090081034216397248480275424491776937123660610253295284578913342313388354\",\n \"1\",\n \"1\"\n ],\n \"4656647347958752574981332784007261005413190689157483789786608515362615894895\": [\n \"2767051072569168713047178884333832633665440983461449696549459564222104162952\",\n \"1\",\n \"1\"\n ],\n \"16091422086956496241810670583088415693022868637284249101369559173385752175075\": [\n \"14470476507503093450352108141516586375473063684981471975099786993068960472348\",\n \"1\",\n \"1\"\n ],\n \"11435754560700565512551488604546183919832304072284308867766123823452324889036\": [\n \"5375167711801411922785633790620454309291679424893063389619002298894298989096\",\n \"16091422086956496241810670583088415693022868637284249101369559173385752175075\"\n ],\n \"14569879638983569979821030717774626742833288512682135497218406794477373081568\": [\n \"10663257551506720801416463701884162855632726758967827626832708085140582528638\",\n \"1\",\n \"1\"\n ],\n \"15456870953728104825504450295019801360551501548241511654672777543581925349126\": [\n \"1510397154635437127850217515170495281127357981514693174634846157118197510361\",\n \"1\",\n \"1\"\n ],\n \"1988145953883813620909488273124898949285397609137021688884704776814287146221\": [\n \"15456870953728104825504450295019801360551501548241511654672777543581925349126\",\n \"3271616850794240442298306097086261488217453924953340218119429196509032609518\"\n ],\n \"567592434126432854364324233377118371432879273412153364586237253138912904159\": [\n \"0\",\n \"1988145953883813620909488273124898949285397609137021688884704776814287146221\"\n ],\n \"14007348525362498816824242387358879262295295729829634494822739042520246992077\": [\n \"0\",\n \"567592434126432854364324233377118371432879273412153364586237253138912904159\"\n ],\n \"11432978271350913133856888238369405700142793853837922519888217517229329381594\": [\n \"14007348525362498816824242387358879262295295729829634494822739042520246992077\",\n \"0\"\n ],\n \"10261674090793640872292310683666794550595765923948215773257378784079973126236\": [\n \"2477409691386881462546610081788770191808980743936052694957490565239576523910\",\n \"1\",\n \"1\"\n ],\n \"205852650000811863303591936796018170081398378150974357153839136846649518059\": [\n \"13149316362394749883477946323825264676955087932893556568906597429399968802604\",\n \"10261674090793640872292310683666794550595765923948215773257378784079973126236\"\n ],\n \"9382295380757977884805519096906862861543415094169224716177749346621668984626\": [\n \"14181787720647185195232264714401875084682315919315079651876769199209040389892\",\n \"1\",\n \"1\"\n ],\n \"20109308619604838548068442174867487984556009509393696415419377185488915838767\": [\n \"11610187486207297449678924468137543546085628323252105994422841760173978895791\",\n \"9382295380757977884805519096906862861543415094169224716177749346621668984626\"\n ],\n \"12913492233110729649628437126067617225099333108408019413564053753253220508094\": [\n \"20109308619604838548068442174867487984556009509393696415419377185488915838767\",\n \"9618577278312100619106441115928555208231178670834130636434670392618154135731\"\n ],\n \"19423895857556402496239746639715763877316103190795258381010969742804990366711\": [\n \"7325742032113590428722170527129058820571017457690864366858425039046925864133\",\n \"1\",\n \"1\"\n ],\n \"12736769613569774764202375712931324720617353694483878053417485945475770002354\": [\n \"19423895857556402496239746639715763877316103190795258381010969742804990366711\",\n \"21240439981482758890926726214820363991833083191211878888977448573128868405661\"\n ],\n \"19868711620640487090203222062706787812740968109049562110703482550854245759348\": [\n \"12736769613569774764202375712931324720617353694483878053417485945475770002354\",\n \"0\"\n ],\n \"7939760007267758474931837990024278270406333743990219363069485635728102464188\": [\n \"1160326187326668525641399080880874264491472727231732387329749781800695741548\",\n \"1\",\n \"1\"\n ],\n \"9296485351730370519537220417439255126878084426752022360343681783193126925312\": [\n \"16493318848309669218501926912307572529190462731580100068234166283005674925527\",\n \"7939760007267758474931837990024278270406333743990219363069485635728102464188\"\n ],\n \"14749624876468070100939952686025894400252812244518269681837837957574752514786\": [\n \"16340963850933443274516597411827303737126431938465513663846459131382264540067\",\n \"9296485351730370519537220417439255126878084426752022360343681783193126925312\"\n ],\n \"12567137783043484151658865133979373160355495886511123365422397893303026135989\": [\n \"8281846832191180962671655178526362299644195145359026755340949117707714358260\",\n \"1\",\n \"1\"\n ],\n \"21818544051845169157455606436034578535215268918924714378315711896225345740166\": [\n \"21401145634731249371878375481728659761083454620460760772819596017462455664528\",\n \"1\",\n \"1\"\n ],\n \"9399468492767961422659842062628141889934788456637034316267196136272431168538\": [\n \"4119061853536749248657211008457951230300622107483488847817573910376429602748\",\n \"21818544051845169157455606436034578535215268918924714378315711896225345740166\"\n ],\n \"16537797915418554940096789329284680220945148652242934706582411948572607716856\": [\n \"347892515545173496617320169212508829345138296098001252406031927889318983273\",\n \"9399468492767961422659842062628141889934788456637034316267196136272431168538\"\n ],\n \"20793843930868816655936150256869685842805736302070574341030162067739291097201\": [\n \"9825929542132263800604887620078923545233314797004896973484322067690124163416\",\n \"16537797915418554940096789329284680220945148652242934706582411948572607716856\"\n ],\n \"10544919934572013138364453199197451062214777408565345956046729791456328225233\": [\n \"14670589809668541349790441713594102641510271944910690028904802176231558671358\",\n \"20793843930868816655936150256869685842805736302070574341030162067739291097201\"\n ],\n \"567307081330577545434152093171631895833684245532438643374509616769101478149\": [\n \"12319146623709455703685175954806096625018049324964178329786395299136923611136\",\n \"1\",\n \"1\"\n ],\n \"8259042647153462631867135679820120953543644550792768720119770270611047350930\": [\n \"567307081330577545434152093171631895833684245532438643374509616769101478149\",\n \"6132497298009024416303511947623612065854878580265210028881811974621421529001\"\n ],\n \"9268713027367163930854134439671652689691455586204482781756781971719373610420\": [\n \"8259042647153462631867135679820120953543644550792768720119770270611047350930\",\n \"2705691932771697940659674233102491409021190445035438822892774635728674044869\"\n ],\n \"14037297997777526898350881488644241346315537020115341495886112347195490619630\": [\n \"10236966657498704599682727802961821439743115249922741832178796237272629445846\",\n \"1\",\n \"1\"\n ],\n \"2360516548264943674291796837914684466052468710266633473428199151491084189555\": [\n \"14037297997777526898350881488644241346315537020115341495886112347195490619630\",\n \"999385051772698675431405582463403013969467145600111101209755814164782604040\"\n ],\n \"633256123893249804893006130787477766499508857965563160016220308800392867242\": [\n \"2360516548264943674291796837914684466052468710266633473428199151491084189555\",\n \"0\"\n ],\n \"7081824381676104674350247198763913063703122614085577872339639171059214208717\": [\n \"633256123893249804893006130787477766499508857965563160016220308800392867242\",\n \"10037176234910602306735236106237894407502294024434498307858689153970668376610\"\n ],\n \"7991319386888733980978733675431536918026818419153513461656454917155665099548\": [\n \"7081824381676104674350247198763913063703122614085577872339639171059214208717\",\n \"0\"\n ],\n \"14402567615861718046833227152192770857055742684477587461804469981654719434189\": [\n \"7991319386888733980978733675431536918026818419153513461656454917155665099548\",\n \"0\"\n ],\n \"13707536744060292691858171772614460127151298465644009567783699568925779544145\": [\n \"864705671729903664634979682285248300966392356235073925990710307563571062156\",\n \"1\",\n \"1\"\n ],\n \"21698639065932085386338845487183134578911546861815211804696976035884093275416\": [\n \"13218532966404874276168351910943969596134279220656107363400660280807279903385\",\n \"1\",\n \"1\"\n ],\n \"13970785719258243484096051946374501003340112652582898203763987250303748220995\": [\n \"21698639065932085386338845487183134578911546861815211804696976035884093275416\",\n \"16525360369294108791243740710055864974257188599962199247682889428348098620477\"\n ],\n \"13184187254835624100622550332329767268439151394849263183185199823936245141470\": [\n \"12148187878136641689680963189423902402800890003455928410218751541451922683206\",\n \"1\",\n \"1\"\n ],\n \"10840320697262089438608440883286401495446401081854051932564805405375379364844\": [\n \"18012789517272119842070806331947798360469006618383840165878402213842509208421\",\n \"13184187254835624100622550332329767268439151394849263183185199823936245141470\"\n ],\n \"5850107038036837909744045208284575928950868524769552191742690470702610734572\": [\n \"10840320697262089438608440883286401495446401081854051932564805405375379364844\",\n \"7962432064071469296207934580282458067639129158732153932452709363117400108678\"\n ],\n \"3263903821090928105125969221001462755419698591830810613441503384849382221248\": [\n \"9074980401509957525872395096920062052961906844934939922854153179880031258128\",\n \"5850107038036837909744045208284575928950868524769552191742690470702610734572\"\n ],\n \"13905934198367641732721780194242231375132661799340463108078184699428453689437\": [\n \"14007652980217933814821641552514407228375678657697302334876880895545500054660\",\n \"1\",\n \"1\"\n ],\n \"1336589610071130187566610443689795097274062931893953687416697918448874655683\": [\n \"2290735307474157396911072014020674865843282645339453015196352418825514047706\",\n \"13905934198367641732721780194242231375132661799340463108078184699428453689437\"\n ],\n \"13061059988814905481713798676183003379303910478525790711368030114749576926230\": [\n \"0\",\n \"1336589610071130187566610443689795097274062931893953687416697918448874655683\"\n ],\n \"15376323944599108144530624845877194580804953963469539937758996412391414929678\": [\n \"13061059988814905481713798676183003379303910478525790711368030114749576926230\",\n \"9290944879252010167206994971963506870307902218764607507931668557657703086458\"\n ],\n \"3157817325605827502381768680035693794282831038800895095092547814496782658685\": [\n \"0\",\n \"15376323944599108144530624845877194580804953963469539937758996412391414929678\"\n ],\n \"3532383446328450214954726944373209172687964649043033640464256232970402883240\": [\n \"3157817325605827502381768680035693794282831038800895095092547814496782658685\",\n \"13027789935111675191134528844560084875818294703264268740009001491107060860153\"\n ],\n \"8213858048508657867827020053576025934151269072198618105937335582196186013666\": [\n \"5304599323785184063581894897458073761767593953808547966178486007818744674260\",\n \"1\",\n \"1\"\n ],\n \"21323798410818438240524662243694796077860013186487574033268042347630651494985\": [\n \"6281310410563584626794648964251769327798950209158183335456731811062408317102\",\n \"8213858048508657867827020053576025934151269072198618105937335582196186013666\"\n ],\n \"7135289593313348339917298880511739935635819345178593418488851236975399148079\": [\n \"9992317658004349735592871548509410184751292564185827315710077801404121991803\",\n \"1\",\n \"1\"\n ],\n \"13945792901017684720292556041811913358163609019018466141993112029442101977277\": [\n \"18564976249452712575893982222993858912059395909786994371378286650552016695193\",\n \"7135289593313348339917298880511739935635819345178593418488851236975399148079\"\n ],\n \"1211757647097128130222177365182802192655431055124898397359745942934662582015\": [\n \"0\",\n \"13945792901017684720292556041811913358163609019018466141993112029442101977277\"\n ],\n \"4897746596445673816742472534875281309082508589617349168201474934614026698516\": [\n \"15908251434413071850763009220437799967116594665402570491859253113496392942229\",\n \"1211757647097128130222177365182802192655431055124898397359745942934662582015\"\n ],\n \"13003953790047126098037715118037827623687734046853182932373429398856362001368\": [\n \"4897746596445673816742472534875281309082508589617349168201474934614026698516\",\n \"18357497989808098678896259590976171780069692492059558710021357151879253686741\"\n ],\n \"15613887108536698357524654025729529586138899145615945535332849919058061315066\": [\n \"7384326573728728514840199042528219935162349633458938261986567194657398300568\",\n \"1\",\n \"1\"\n ],\n \"1572206209367745317912483220765953635947383077275274051447786200606641403683\": [\n \"15613887108536698357524654025729529586138899145615945535332849919058061315066\",\n \"6237666050804955351109305231916754435228755915598842084627686508836639694164\"\n ],\n \"16716251007557340930580313218282848998309334341932321835487525834649846809621\": [\n \"1524225558520471048908908188266517854892204520665163208694933402805550465244\",\n \"1\",\n \"1\"\n ],\n \"5691337661733338987789487307134593091836660552353452944207470032692032669926\": [\n \"21252344364949171231078068771684393924225067538958655926358796705781595895083\",\n \"1\",\n \"1\"\n ],\n \"7386860355339826666844120549974205604977350544376595823920720678820096001428\": [\n \"197997524433873785758197688469576444579019473483992076427726213160997915222\",\n \"1\",\n \"1\"\n ],\n \"14057861670723750910002173664535357475066382783923294410949944676241749950107\": [\n \"8156960740643649340094598176453156796838746857812224244914245064735829525692\",\n \"1\",\n \"1\"\n ],\n \"12866778175839503722352424433335627230118102891002801765569401142187688749389\": [\n \"14057861670723750910002173664535357475066382783923294410949944676241749950107\",\n \"6256772419569449422825550176364810636780429576493651320047882806609810050258\"\n ],\n \"6600613428816968198370396729697621502497598728729729848434760483688632789192\": [\n \"14550645735467720173757743700738719275178598587326056056717505020460393273248\",\n \"1\",\n \"1\"\n ],\n \"5714229652054757538421105613498547512712951027565295981176948055494489038846\": [\n \"6600613428816968198370396729697621502497598728729729848434760483688632789192\",\n \"9719550606867234628938494772742632665288831250226892906671976566865180341850\"\n ],\n \"50655816665458533263181041881225110295817249952385233671138687566471337762\": [\n \"0\",\n \"5714229652054757538421105613498547512712951027565295981176948055494489038846\"\n ],\n \"17999635316387633205485132059348903318568494785083526084933042063642626680852\": [\n \"50655816665458533263181041881225110295817249952385233671138687566471337762\",\n \"2030997881081802998915906118185373930085994361980131613962325641103963247816\"\n ],\n \"9256069793813430402681052078875661823671171855095638730096839166480460184258\": [\n \"10509564889481671708364517036269365504684101627706294392183658572861926643277\",\n \"1\",\n \"1\"\n ],\n \"2773932943674840814350105979848832214121067288703344065747364931704127330651\": [\n \"9256069793813430402681052078875661823671171855095638730096839166480460184258\",\n \"530292075928752800496396160212799515744303453579310364484136158974743078713\"\n ],\n \"15572518517449640394873070286303156132368612443268184932067288325476473056295\": [\n \"4295994942033006268565024505854383622228106639394964032723074307766531667768\",\n \"2773932943674840814350105979848832214121067288703344065747364931704127330651\"\n ],\n \"6859153222395952204972072108560864150672295084326498305962166746280157749253\": [\n \"5471022420928266637508162628516989295182060633121199462823134487970339178560\",\n \"1\",\n \"1\"\n ],\n \"19608800252466484822845582325979502129441225538689965138713813681314356119116\": [\n \"6859153222395952204972072108560864150672295084326498305962166746280157749253\",\n \"15389174495985133840854962583104097197576064682255697878121748483059771503856\"\n ],\n \"14517800438518680298174197843812414135685305311146301344012376103805645916051\": [\n \"0\",\n \"19608800252466484822845582325979502129441225538689965138713813681314356119116\"\n ],\n \"17574534410686103347024912151124077369948762455735978573993643792284155384078\": [\n \"18009324303533965658329715748486709766507585477656000233229907954351594278721\",\n \"1\",\n \"1\"\n ],\n \"13030193509121185464384906608664731161077387621556363840170153898977059583932\": [\n \"17574534410686103347024912151124077369948762455735978573993643792284155384078\",\n \"4838857231968005115586927594281302450670591059292510544103242766167316961141\"\n ],\n \"20161993963848296269885540190581208385639565214686368248268536163044981968963\": [\n \"13030193509121185464384906608664731161077387621556363840170153898977059583932\",\n \"0\"\n ],\n \"14481100341410351508396542677434267896671552786037231257430317966701801257659\": [\n \"20161993963848296269885540190581208385639565214686368248268536163044981968963\",\n \"14720171493791137402927219227095193921656963409607637355885881225474671949948\"\n ],\n \"1118748087183733927569663908949508034765368302882136104766872873501450093967\": [\n \"0\",\n \"14481100341410351508396542677434267896671552786037231257430317966701801257659\"\n ],\n \"20593170129221971156615386289911292269543634211380036844314789473671399140079\": [\n \"5017555151607203175807395647852440875376503206077423754346819611931503595453\",\n \"1\",\n \"1\"\n ],\n \"1952878944408115385598859523286241626707062297986339718745671535548511002803\": [\n \"20593170129221971156615386289911292269543634211380036844314789473671399140079\",\n \"14189831500198913918667413584491937768861903303538767309442550622172591141033\"\n ],\n \"2823060953018463925005489461575158965462635489143430505985317327966285342090\": [\n \"1952878944408115385598859523286241626707062297986339718745671535548511002803\",\n \"0\"\n ],\n \"21743570713945892518549866231118374489505503189623910115580780454273254767695\": [\n \"21696108368479716569924820676477342074538678256635859017007970155977313137407\",\n \"2823060953018463925005489461575158965462635489143430505985317327966285342090\"\n ],\n \"16939648341214016794806425930680998439340530752606050898443857505995108989406\": [\n \"13789761333666939885396948546484118738839016031027030371854834549905265448535\",\n \"1\",\n \"1\"\n ],\n \"18033186564034044670078287400261749559726418427560620278387825341034384289453\": [\n \"1392782166111262063619554765323571642204364276930946190699648272859070630714\",\n \"1\",\n \"1\"\n ],\n \"14032252507812227862159428167320026167970522272567476787811953787280526476644\": [\n \"18033186564034044670078287400261749559726418427560620278387825341034384289453\",\n \"667199509294190800201572023680966646848785375766877487800042921825401388095\"\n ],\n \"6261202531146653942345672386217007009928435467628686718323240547867228911902\": [\n \"0\",\n \"14032252507812227862159428167320026167970522272567476787811953787280526476644\"\n ],\n \"552722660050207362605059225614835548753595181703203369234036404834107677319\": [\n \"6261202531146653942345672386217007009928435467628686718323240547867228911902\",\n \"13291832500232813070829498180762382889699455440031510563776097849460279923604\"\n ],\n \"6230359641804541008052486089067536924618643969804744559416339755972491924564\": [\n \"11108148545478695842814773384922499382757680914587342967309728752904460281240\",\n \"1\",\n \"1\"\n ],\n \"55228142789079090555332925080234633745204040184659841400131067609200792504\": [\n \"4548146501793134375604342935374946206537641955055333768064366544358527257072\",\n \"1\",\n \"1\"\n ],\n \"4045661643344118877360884304186394974438084659469253126741642641699555029317\": [\n \"55228142789079090555332925080234633745204040184659841400131067609200792504\",\n \"16395255205531361153880729346355607528338865089613142071435672262058070640537\"\n ],\n \"13073250280809953988491165630866253474671735073543858934663691457926682719932\": [\n \"4045661643344118877360884304186394974438084659469253126741642641699555029317\",\n \"10546411596367763783159027441544984443431557161468396355171767523419041093507\"\n ],\n \"7629833233306145679167082493232128754391123939304842446597166999464866700527\": [\n \"19847858511271060491809518712484490613229583493309282634466241436771848534681\",\n \"1\",\n \"1\"\n ],\n \"2480653938068920268960535986473333537427614931799780321979606017554454864151\": [\n \"14708764468580177098572929693226685063980520128761185124472730500310059429204\",\n \"1\",\n \"1\"\n ],\n \"13642291692640838122189781960597214453206200403487672993502637959819286299391\": [\n \"1449123925774391921415691770849045889080090759962069551379682979603881780978\",\n \"2480653938068920268960535986473333537427614931799780321979606017554454864151\"\n ],\n \"2004142294740795699074658788458523883262912516870754950802335301248282978136\": [\n \"0\",\n \"13642291692640838122189781960597214453206200403487672993502637959819286299391\"\n ],\n \"19774745693669933053040791582449168045274053588280648393405620072072318833751\": [\n \"0\",\n \"2004142294740795699074658788458523883262912516870754950802335301248282978136\"\n ],\n \"9668875864709024995533553956824193098821253462323036020918105543772328372125\": [\n \"0\",\n \"19774745693669933053040791582449168045274053588280648393405620072072318833751\"\n ],\n \"2448086142546877696172670685575967262251209097674345316541296317314203251385\": [\n \"9668875864709024995533553956824193098821253462323036020918105543772328372125\",\n \"0\"\n ],\n \"21755873840549723311793043223680845215639763807204872383110375535372075562137\": [\n \"19869058754388670230871798965222059971227464164320846420213509787420265969256\",\n \"2448086142546877696172670685575967262251209097674345316541296317314203251385\"\n ],\n \"9454450940248869031452088932688371952294557838413356934807315745896541718502\": [\n \"21755873840549723311793043223680845215639763807204872383110375535372075562137\",\n \"19824388293463534150515453376653546546095006563893674432533543690713621003776\"\n ],\n \"19480569011274797010600843889634377687546778917180930261284297017683678367081\": [\n \"0\",\n \"9454450940248869031452088932688371952294557838413356934807315745896541718502\"\n ],\n \"12051797261477196317367815374169358355737498587563412399712422691101788118002\": [\n \"12715761567489246891344728647285233887578946376670576302845376828567443031286\",\n \"19480569011274797010600843889634377687546778917180930261284297017683678367081\"\n ],\n \"8903655267373870415437366017462603768230200149623111705238590321258553914085\": [\n \"16938457719820611519430774748805037403161888340766669892795179087541215880860\",\n \"1\",\n \"1\"\n ],\n \"13329531005424720965276204886261714116812062840626250686947872568639864484311\": [\n \"6450071688758232999070999288577342536889329869515648703593235279507733240855\",\n \"8903655267373870415437366017462603768230200149623111705238590321258553914085\"\n ],\n \"11873544563423640234038696668792801115508458321155908005135585976746427045906\": [\n \"19733300676197069627340566183171140942479258053765817593777810892954040755590\",\n \"13329531005424720965276204886261714116812062840626250686947872568639864484311\"\n ],\n \"6114053971527091239943176380138154936064008122049692971468177229465254389579\": [\n \"11873544563423640234038696668792801115508458321155908005135585976746427045906\",\n \"0\"\n ],\n \"4791682389429044695267525320170906124370626960312164000577351082799196695964\": [\n \"6114053971527091239943176380138154936064008122049692971468177229465254389579\",\n \"11276527681251348331996844682288030630919349956477750070124144001454650102228\"\n ],\n \"10674036714357147955778960089502399746370590562127204088796169868061827464068\": [\n \"8577109008306001646659616239983084861856245707336295515403614044644227170782\",\n \"1\",\n \"1\"\n ],\n \"20975075379771614677629668790174015701133222592520343589030691045991892295982\": [\n \"8296375130769355828224703331125835375966403252589023891045267672167318260866\",\n \"10674036714357147955778960089502399746370590562127204088796169868061827464068\"\n ],\n \"4802828541034816251225535035177563710404724243054879966724393587356578096149\": [\n \"1489905349796366274712815184845169497293028899680391592318658074321668263593\",\n \"1\",\n \"1\"\n ],\n \"6087551048276322662950552025659510290528907830551157174096126432168905757927\": [\n \"4802828541034816251225535035177563710404724243054879966724393587356578096149\",\n \"11175533984698611960723069267635665915968420645179877258074169427168868197996\"\n ],\n \"132556565981914110811392196510548291941978803123153575615792986540574356777\": [\n \"6087551048276322662950552025659510290528907830551157174096126432168905757927\",\n \"1052273274218904149255942124938600364047795941238915537099016592262568644057\"\n ],\n \"14454719713817073659774258190941739863685716850030955856366575050383181722022\": [\n \"7883221818559282227908318093074959199484749259325545820841645492498576210010\",\n \"132556565981914110811392196510548291941978803123153575615792986540574356777\"\n ],\n \"5782788764729675577613025115788179870261575501984496930279615137458432016336\": [\n \"7656774677358544775431039557606758213001228182883812387282029815131038560756\",\n \"1\",\n \"1\"\n ],\n \"16768864418499115438800686982426669691935014214715388098597086709585689991540\": [\n \"5782788764729675577613025115788179870261575501984496930279615137458432016336\",\n \"2796538881474687904917004778577334754157494832096335266422047065844248437156\"\n ],\n \"4640391768431641015007810524312272750967561668538406262263847443500971051637\": [\n \"16768864418499115438800686982426669691935014214715388098597086709585689991540\",\n \"9397739517303799858402770544109143647160188472336590294517584039364149641577\"\n ],\n \"1237197731851493969076991859150540619340633309461976968801312464988739544924\": [\n \"0\",\n \"4640391768431641015007810524312272750967561668538406262263847443500971051637\"\n ],\n \"6829345378140017054684751870662102679563624850883512954105691193725348190105\": [\n \"9808088412445379625554264871300229828419864496082393188348328290426398813615\",\n \"1\",\n \"1\"\n ],\n \"2446573223573919451858996453446546375389733159393999707520688671718325014128\": [\n \"19051743022882760950985063915589796837271543261360626309628894301277640141476\",\n \"6829345378140017054684751870662102679563624850883512954105691193725348190105\"\n ],\n \"19483414561874204939203876020335177069605613454680002783240975700527301528939\": [\n \"2446573223573919451858996453446546375389733159393999707520688671718325014128\",\n \"0\"\n ],\n \"3701976659654087991585682141952016165803326566416398528203209574099871659239\": [\n \"0\",\n \"19483414561874204939203876020335177069605613454680002783240975700527301528939\"\n ],\n \"21211281373893909511273078405882687306650242567391497329611718455882487557444\": [\n \"3701976659654087991585682141952016165803326566416398528203209574099871659239\",\n \"0\"\n ],\n \"7679259930691413060099783977723457724425953296603774980889940827738244285929\": [\n \"13875141240028057022159977191267464170982165783700339220249454786122254754754\",\n \"1\",\n \"1\"\n ],\n \"18785726447673474298472352966310606606132519190917169515077305296041958364873\": [\n \"6882022320615993617178651511773547843879703152718476883326304523700641451762\",\n \"1\",\n \"1\"\n ],\n \"5232164161391361242824290104428303031145936959362388265705918928651052828756\": [\n \"18785726447673474298472352966310606606132519190917169515077305296041958364873\",\n \"18072578697669802782868454914060671477254210991333518336633400867877771398348\"\n ],\n \"6791349624866492448955377350744675046716843436411472317453833535808655467225\": [\n \"10328621608783380984064577570999557763545364553388894286457680574216267686399\",\n \"5232164161391361242824290104428303031145936959362388265705918928651052828756\"\n ],\n \"20148208710247698475671734167997889682290355299517720954940897044837609529495\": [\n \"13811194374888089728423167505792881262365945830292305263563100284620136292701\",\n \"6791349624866492448955377350744675046716843436411472317453833535808655467225\"\n ],\n \"13121910437849272713431651245392134779164919345643922946928889766639949737197\": [\n \"10584646061699682841656287501063503491706973690729417848255433454648904183814\",\n \"20148208710247698475671734167997889682290355299517720954940897044837609529495\"\n ],\n \"19575988762546742162329724887759912041935381288446936369318404069592228532440\": [\n \"15441869894767803644132668442159044997439510298193962247900139403008529214999\",\n \"1\",\n \"1\"\n ],\n \"2785224451976089031302030825689674766765260040722835465119492083538578874280\": [\n \"19575988762546742162329724887759912041935381288446936369318404069592228532440\",\n \"20958111796146952945890091523631648451536316929877977681287647414427488544095\"\n ],\n \"12908414154884804008508845093106288656688179010773023712784963513366117566283\": [\n \"2785224451976089031302030825689674766765260040722835465119492083538578874280\",\n \"0\"\n ],\n \"5706142127055983433830310943272685246546637540353594398800470487361300285596\": [\n \"0\",\n \"12908414154884804008508845093106288656688179010773023712784963513366117566283\"\n ],\n \"707982186279321153526138204138948986680237774689393806619523597610300329523\": [\n \"20294974452890249258400178782176688905690826178966368867488141211063832655165\",\n \"1\",\n \"1\"\n ],\n \"14641675763336905093048677911081450973132460046756487630813405349605681866719\": [\n \"9908744369776147809025869402416366589765832518954348910801828939405519709336\",\n \"707982186279321153526138204138948986680237774689393806619523597610300329523\"\n ],\n \"20942752698497589537481707936304336956193563929116967716051713419625508490958\": [\n \"14641675763336905093048677911081450973132460046756487630813405349605681866719\",\n \"4075462239187971072203843664742575069569837444438296507402561192378280335739\"\n ],\n \"7999550115662913455422686752943762893457473548529284605480044969461835921509\": [\n \"16534977723977528162827228244914705542896913712853137843137071657324577402363\",\n \"1\",\n \"1\"\n ],\n \"18289212904104494083599812201466090009137928459712403392755974187360629351040\": [\n \"4043663731507012824362831720207503371369210374375708766201637519051719953568\",\n \"1\",\n \"1\"\n ],\n \"7114960383622242950593498697189257177765539579138433725939717804546087453468\": [\n \"15760673699611854519725939795486266242724958734704773306424828279010197440712\",\n \"1\",\n \"1\"\n ],\n \"13399682395064760689147598037363282812785973825799174761573167308563557467143\": [\n \"18086708030009773288313558107797094088653553046460032469681004015128656407300\",\n \"1\",\n \"1\"\n ],\n \"11514391637414736028340284653320107397968259640447535731903932977873901536035\": [\n \"13399682395064760689147598037363282812785973825799174761573167308563557467143\",\n \"11416540782083003624871834320310795086159939654162293922804273217926791864004\"\n ],\n \"6083017421962220556566586561536771726005314347851088827462105617445176053428\": [\n \"0\",\n \"11514391637414736028340284653320107397968259640447535731903932977873901536035\"\n ],\n \"3319820962698671214798012949448545149424903639298246869311131623231234392561\": [\n \"19799719557262041710298378279493456354237721835762850193873755150094380562684\",\n \"1\",\n \"1\"\n ],\n \"6239413013266078181524775594883429874341066348423071390059738996674137597113\": [\n \"9849039768824300606978908560325270461026335557596691827829491290726646806675\",\n \"3319820962698671214798012949448545149424903639298246869311131623231234392561\"\n ],\n \"6570590571008721348969955599647707419680412291000777384086888921764069648239\": [\n \"6550904163871582559466367979595655619881644401588662480057651570129590784430\",\n \"1\",\n \"1\"\n ],\n \"8116957622434398731670200750431911322198657624459524512868069425408836708011\": [\n \"6570590571008721348969955599647707419680412291000777384086888921764069648239\",\n \"13502392990460726215227028459940449511523364867793886766711968707251385633518\"\n ],\n \"3418599621974136850291952474313088159362774176477385795641024669630182580079\": [\n \"6670453094708986157973306881663627850987012610640046154847266622267834478318\",\n \"1\",\n \"1\"\n ],\n \"11629228767834926336329924784462389262829149862586833168515250415372482972722\": [\n \"3418599621974136850291952474313088159362774176477385795641024669630182580079\",\n \"4330763641452588070381292929275227205418953329446915803259707652311430024199\"\n ],\n \"19653143446771803870525015117750076409040481916124250051614916464400078301568\": [\n \"0\",\n \"11629228767834926336329924784462389262829149862586833168515250415372482972722\"\n ],\n \"4483057111015531680409986365728418765042952093402301534772107097762133200930\": [\n \"2928623068013520415683498837118050258588980683723915544624384946474465627312\",\n \"1\",\n \"1\"\n ],\n \"14270777547086583766809381896272942932807609268750261282766671223227799437996\": [\n \"4483057111015531680409986365728418765042952093402301534772107097762133200930\",\n \"10027095769119050111457828311286490726613498879128572842071738681306192433946\"\n ],\n \"15180688152916906722455643525867849710917437234346264122722206913876877352603\": [\n \"8235340423142628724254212670608755323101691166880463744575257381543123798028\",\n \"14270777547086583766809381896272942932807609268750261282766671223227799437996\"\n ],\n \"4407678490644981100019874046554697245084564665001272673862184790456844327799\": [\n \"14720856070099274177528068049839056396582437365081074869022240141001497565111\",\n \"15180688152916906722455643525867849710917437234346264122722206913876877352603\"\n ],\n \"20414690656161186067364031725089199323869753243205565827129021989239910976668\": [\n \"13822046994494159765882859364077762998776653090092855916713659480051061832702\",\n \"1\",\n \"1\"\n ],\n \"18103338703591389080443906417334122799529534110873625791077385155452668225643\": [\n \"10970395074219764952353955082527565889323353613597687159441894311198549960421\",\n \"20414690656161186067364031725089199323869753243205565827129021989239910976668\"\n ],\n \"1291534564430537436350781386117156701821192260462610440971117983393842911814\": [\n \"3324021894802622511469065382244936585995691849375955302484131951943357885385\",\n \"1\",\n \"1\"\n ],\n \"19399418956351021747240445715972295606244842275184214594176027572858988465252\": [\n \"1291534564430537436350781386117156701821192260462610440971117983393842911814\",\n \"14575899312195194827876128724923000070207507210067540776776032026073528413208\"\n ],\n \"17604238761783743803273801333205032328898398724318999996922076428182378841010\": [\n \"19720468667986996029454045815533132789270140407817040160708305673180598180760\",\n \"1\",\n \"1\"\n ],\n \"19194428671360002428537671959150374328031147935715400726266230913173371936680\": [\n \"9445704925392568601106663659149020500999451972731424192535972440630124512867\",\n \"1\",\n \"1\"\n ],\n \"18821651958796110299003437605234231341067028110557519526340487421432501037771\": [\n \"19194428671360002428537671959150374328031147935715400726266230913173371936680\",\n \"6874990036290982401375735094791101241636673374714926874718184207172236277036\"\n ],\n \"20581558597521163439249480042690366500456077056541140721222957766038740717333\": [\n \"8345904809125561702393307654605985635115903402363508345964111344646479494563\",\n \"1\",\n \"1\"\n ],\n \"4587319413592074613776944183081224292494215069370467844931281163205079463044\": [\n \"3054240065464800418184323127729842348929688032724025238783607212932383370666\",\n \"20581558597521163439249480042690366500456077056541140721222957766038740717333\"\n ],\n \"5279195363545598088111351148932932043122536034623416448499493806907644296901\": [\n \"20106736736470683943842959300406816805389861924607822614696931784053795926022\",\n \"4587319413592074613776944183081224292494215069370467844931281163205079463044\"\n ],\n \"13972494583029207152050012106431293699788155530667245353433854969426421426001\": [\n \"7671431991850512420526751320466842540367990977456897520353492143838496794969\",\n \"1\",\n \"1\"\n ],\n \"11224498346264954051028899136528155838356042420808026992491609240791861379914\": [\n \"2682923501511322137042956652810265269879613209604523738682087592202921460360\",\n \"1\",\n \"1\"\n ],\n \"13808774522690898985297311179833821653717445778907126411706755963608451118734\": [\n \"11224498346264954051028899136528155838356042420808026992491609240791861379914\",\n \"698189025183854408998986766525830456753168486450741302580791381268010445533\"\n ],\n \"13138609404237137831034551236618131710562285893644402202061678897884867515671\": [\n \"0\",\n \"13808774522690898985297311179833821653717445778907126411706755963608451118734\"\n ],\n \"13490650318337138664584290924615339582667978140672087601743027510363950217312\": [\n \"13138609404237137831034551236618131710562285893644402202061678897884867515671\",\n \"10008181320322639282744431354784721447990761639668907999265287696475801699205\"\n ],\n \"5401457457378486437262189925547158524040886210686509378876188436621555874991\": [\n \"13490650318337138664584290924615339582667978140672087601743027510363950217312\",\n \"4656647347958752574981332784007261005413190689157483789786608515362615894895\"\n ],\n \"7649061278131336480397937163355977521155090438153122876337087360723811650928\": [\n \"875494459515789228498899453988638197719666235807022428945785181957164245749\",\n \"1\",\n \"1\"\n ],\n \"13502583175895926692927255410096125082297139207922132130514362729774495679841\": [\n \"7649061278131336480397937163355977521155090438153122876337087360723811650928\",\n \"1530048629803160826966922688943749292939679580738179859124434270468172006226\"\n ],\n \"5508118920747235995157657546553679364494654142411492373034663130235827115019\": [\n \"13502583175895926692927255410096125082297139207922132130514362729774495679841\",\n \"0\"\n ],\n \"20713064422869274198185397996903413770160941409112003833752516969354365629002\": [\n \"5508118920747235995157657546553679364494654142411492373034663130235827115019\",\n \"9433145171549095108359423075627135401420412372796804469009336367656416640406\"\n ],\n \"17907914552537917089303270767478706389040294760195412625266290165314947989199\": [\n \"8799107833522033020429459861628500050294625908601365670795919208139640749283\",\n \"20713064422869274198185397996903413770160941409112003833752516969354365629002\"\n ],\n \"2649156615880661169498651616422892879751810314630143306535041466746877752141\": [\n \"19388910362540924232344034459293573692430128040122808371855957180100771101649\",\n \"1\",\n \"1\"\n ],\n \"12572501374521527155443650680338918680376121790099865930027722757513629556426\": [\n \"16518152721174281724266634434121222394272143464922660959632495669491696587415\",\n \"1\",\n \"1\"\n ],\n \"9411276297745770198479078170009501409554612143716481714674009351346384281251\": [\n \"11312492895524903844875870755487860387886055509792087133480564008814818616709\",\n \"1\",\n \"1\"\n ],\n \"6255342668652528260219030434612814248540607067992576521168368009413544063235\": [\n \"21215837414711758718819407042337121146924157592451862741862426610824512496975\",\n \"9411276297745770198479078170009501409554612143716481714674009351346384281251\"\n ],\n \"20140621965888976092403111705804047553562770288852846107652659530843490698704\": [\n \"6255342668652528260219030434612814248540607067992576521168368009413544063235\",\n \"9757292342941230234343309782786038588837824369934075151435441975967689057650\"\n ],\n \"43320728148055768762600033782573932952033544707151175375073714401514758441\": [\n \"20140621965888976092403111705804047553562770288852846107652659530843490698704\",\n \"9384315267897911160314229453148585084262525435955288514764641516841656675490\"\n ],\n \"8045948462833066022001619253522397329879617201626735173487762226775001629355\": [\n \"0\",\n \"43320728148055768762600033782573932952033544707151175375073714401514758441\"\n ],\n \"15315097467412964219239121357292616948422449565164285361718812113426728044095\": [\n \"15591625055465676271984771146586124885580396302647093170055657280286905154063\",\n \"1\",\n \"1\"\n ],\n \"18335277153975409726785970554133821440375181336284006445367351451411384197135\": [\n \"12955672749068236147060914008543234506609826814275339308148101206015622590236\",\n \"15315097467412964219239121357292616948422449565164285361718812113426728044095\"\n ],\n \"16544030340613582798122699278692676176100421121634706971142461277833950413937\": [\n \"0\",\n \"18335277153975409726785970554133821440375181336284006445367351451411384197135\"\n ],\n \"20576737298564517353716113296565885933632363529923609335799741642405246521668\": [\n \"10467919628672236317245030235447897455386003662937671540585094987258041401429\",\n \"1\",\n \"1\"\n ],\n \"11561694544540289304993470363114261857423326979946332643364142882699283917683\": [\n \"20576737298564517353716113296565885933632363529923609335799741642405246521668\",\n \"18147287549890230936065458218113534167420374976080416100972564288415512692527\"\n ],\n \"6754062860809495668949596866478109273520212777177895366059016090144904691799\": [\n \"11561694544540289304993470363114261857423326979946332643364142882699283917683\",\n \"0\"\n ],\n \"4671222870489755490944880552389177064539504247884177963086478372485048458932\": [\n \"6754062860809495668949596866478109273520212777177895366059016090144904691799\",\n \"20454831224765650165596878300795026783164915268969253525577114252053428787931\"\n ],\n \"14574427529964684839999104067088343791542464865569816893275213748888689385917\": [\n \"2936557769261601069520773565448270050354441965257027843225145086334644827469\",\n \"1\",\n \"1\"\n ],\n \"2149196714967450879423069394880738996357608279240399163212351232900745905388\": [\n \"11228565475657993721680137330796129727661460572028035249709651412471513601642\",\n \"1\",\n \"1\"\n ],\n \"15309359213251433383283405411739708933070523200811822987215826740346123867352\": [\n \"18069971458084908529968822461802282237161636357791271906998435455506042778765\",\n \"2149196714967450879423069394880738996357608279240399163212351232900745905388\"\n ],\n \"7745087998061946852801960977093256672227168691872610826513274941785401277928\": [\n \"0\",\n \"15309359213251433383283405411739708933070523200811822987215826740346123867352\"\n ],\n \"5902404775456202954353434646995369504000927725682799777012695882973598168406\": [\n \"7745087998061946852801960977093256672227168691872610826513274941785401277928\",\n \"0\"\n ],\n \"4517198600413955657411827788674149240697717868098114504138805632951208540244\": [\n \"0\",\n \"5902404775456202954353434646995369504000927725682799777012695882973598168406\"\n ],\n \"16317352449218927142160137514307465815162719793899928618536639415301387316604\": [\n \"4517198600413955657411827788674149240697717868098114504138805632951208540244\",\n \"0\"\n ],\n \"5490841639078474853839823123758151069511889738088519958802547879895334647946\": [\n \"4693216010978089958797399393016405234661391412567459130274415779984211428497\",\n \"1\",\n \"1\"\n ],\n \"16166351861012091163540075473339994163329320358198208834774434564255989293065\": [\n \"5490841639078474853839823123758151069511889738088519958802547879895334647946\",\n \"12875709129352491997115340245003942984074952807763017034524106999946385513268\"\n ],\n \"17161079221854945328722485659515359109950188853564514426093994575410491876704\": [\n \"16166351861012091163540075473339994163329320358198208834774434564255989293065\",\n \"4221689336148935850411148386420620683834422824312657487141832609415113416828\"\n ],\n \"12446409005429528944341829587661504920991011116592573844645046852791495407211\": [\n \"15327714203685329129128572174148150204994764132731239525241891679238244938047\",\n \"1\",\n \"1\"\n ],\n \"9941864096520318164962811775849368246891033017277420888453693548778554244750\": [\n \"12446409005429528944341829587661504920991011116592573844645046852791495407211\",\n \"5283065006088071983314523730919405048772385606137586170847743014337054432703\"\n ],\n \"19218137530857981118001116099070664839511254747266497111528576693060356791186\": [\n \"16757740809079088430185882193570288506250507278526532769133971057480506141264\",\n \"1\",\n \"1\"\n ],\n \"7537665494483872043097792875421231549041599469288622176660051079457491409470\": [\n \"16197184791720639007235745265374766230638741782468589573466103887645257552374\",\n \"19218137530857981118001116099070664839511254747266497111528576693060356791186\"\n ],\n \"8970974535038342024139637003901626414321681230854750552205836043954371287885\": [\n \"7537665494483872043097792875421231549041599469288622176660051079457491409470\",\n \"0\"\n ],\n \"20403734954597551067196779445239779106429391101586757575082696192708225434116\": [\n \"0\",\n \"8970974535038342024139637003901626414321681230854750552205836043954371287885\"\n ],\n \"1489100679075290597847180903446526162104446871172768020964389854436950165089\": [\n \"20369460648561048454811795329511878127778206703945138402502129497824707202278\",\n \"1\",\n \"1\"\n ],\n \"4900546140842702090799864669760949239809353033590388024132963363589124146467\": [\n \"3458602868915230842799397773408941806938180780923956071848249187757729984069\",\n \"1\",\n \"1\"\n ],\n \"20107441379188660592811138836288348953348765330866536283364185861889941376179\": [\n \"5726530059366898531253799572782259884529137195782877774185238035533712967091\",\n \"4900546140842702090799864669760949239809353033590388024132963363589124146467\"\n ],\n \"21820908702048422870023796149474888744697445393962158562116589363712467172735\": [\n \"0\",\n \"20107441379188660592811138836288348953348765330866536283364185861889941376179\"\n ],\n \"15627817825791002858444940640019157959366572694026139564358407023426489918998\": [\n \"0\",\n \"21820908702048422870023796149474888744697445393962158562116589363712467172735\"\n ],\n \"9576724936029362236542550780307242425588999543495793056318844071275906423424\": [\n \"15627817825791002858444940640019157959366572694026139564358407023426489918998\",\n \"0\"\n ],\n \"168928511207797294567316544120101891947926744851858995312501490407070455444\": [\n \"9576724936029362236542550780307242425588999543495793056318844071275906423424\",\n \"0\"\n ],\n \"850960415615418181789736814060231551877495462793205770155752935216835838621\": [\n \"0\",\n \"168928511207797294567316544120101891947926744851858995312501490407070455444\"\n ],\n \"9411241870742263202615610368098735162240992056079436455421577200029059937700\": [\n \"13192075418692614435397557763176587644721792982543507267637256053136381320276\",\n \"1\",\n \"1\"\n ],\n \"10256596224622518860264932306338437660185831169395505858433112788970132920681\": [\n \"19065736349162926351987639865634789093265091795048564964826250838950993079721\",\n \"1\",\n \"1\"\n ],\n \"17527395795848696575126236218939792461514733386300007549956988843693767605088\": [\n \"988818062524384526418747722923231325901167301775128368384403126751648784553\",\n \"10256596224622518860264932306338437660185831169395505858433112788970132920681\"\n ],\n \"8411415020044101696554218525128599020865081283783104169548537037999604005624\": [\n \"17527395795848696575126236218939792461514733386300007549956988843693767605088\",\n \"0\"\n ],\n \"7355820609940677242862379486909961099807930929225595468971153270620073075681\": [\n \"2004264853869018699952669635812374702382307166708314695091358546556855991770\",\n \"8411415020044101696554218525128599020865081283783104169548537037999604005624\"\n ],\n \"14627243645918350866000668487140695779198783417232782996404480940312808235012\": [\n \"0\",\n \"7355820609940677242862379486909961099807930929225595468971153270620073075681\"\n ],\n \"7078402369190275846065967591643175687588799103046791812084427802456453633637\": [\n \"3912260090332172605055603452917210733014724675746496021753181860491347003355\",\n \"1\",\n \"1\"\n ],\n \"21360187017720317583672898715140611788845437915530314866403996728032089429869\": [\n \"14102074384456938424059137312136071315574537504188247226566115570180323709135\",\n \"1\",\n \"1\"\n ],\n \"15539337560742610706504138959053573693478340162290638201810982988492364845534\": [\n \"1964895555608994981016112852336630654056458066214862951966138603384671461015\",\n \"21360187017720317583672898715140611788845437915530314866403996728032089429869\"\n ],\n \"1281337160897441601037486451562940687429601150673694648876236963032653501926\": [\n \"15539337560742610706504138959053573693478340162290638201810982988492364845534\",\n \"0\"\n ],\n \"384032906194538924270954456773146117626079005282596791213810574223759457191\": [\n \"0\",\n \"1281337160897441601037486451562940687429601150673694648876236963032653501926\"\n ],\n \"14066432321387484158829678303572107761966770975292806577514873707136165147939\": [\n \"384032906194538924270954456773146117626079005282596791213810574223759457191\",\n \"0\"\n ],\n \"13320056484150176365140166835191461767991387182988866649905393780163254077413\": [\n \"14066432321387484158829678303572107761966770975292806577514873707136165147939\",\n \"0\"\n ],\n \"6218827077007001136347075700747459662452862469318515169383755328974101292888\": [\n \"17610221013926113546903594005318508755435127614342134440443363246375809333782\",\n \"13320056484150176365140166835191461767991387182988866649905393780163254077413\"\n ],\n \"8167803084210180717277895165337647369174470268637574849808709334000406486285\": [\n \"6218827077007001136347075700747459662452862469318515169383755328974101292888\",\n \"0\"\n ],\n \"12837950046213128056137713753171212565160269919391468661982426483067899483896\": [\n \"8167803084210180717277895165337647369174470268637574849808709334000406486285\",\n \"15280369084776948472140106666173237486241397791176079974897230024146533076424\"\n ],\n \"10466763779768115704059548069941135264643553661629069652702024144759418223783\": [\n \"7404687142833502716420426742617370440295937998582787027330037757863901491101\",\n \"1\",\n \"1\"\n ],\n \"17097774457321468812155807326510371854705444127311011477150294770050184959125\": [\n \"71424160336734178045960464649349646704749781732756425462747552374993636738\",\n \"1\",\n \"1\"\n ],\n \"12084366052015177526429171811823876691053575249434324876811827320740457355495\": [\n \"17097774457321468812155807326510371854705444127311011477150294770050184959125\",\n \"21066670476372525914303074649576726773227813254874363933225154991626434520961\"\n ],\n \"7894805653278697297751610942776434387444881154271405809278784234092820984711\": [\n \"12084366052015177526429171811823876691053575249434324876811827320740457355495\",\n \"0\"\n ],\n \"13126168558864656639466317800818975485895786144604013757734040201734316019389\": [\n \"0\",\n \"7894805653278697297751610942776434387444881154271405809278784234092820984711\"\n ],\n \"8848010084711795213981301188057944809559002642615926561979301979294592849180\": [\n \"2962255588141275186179580282347547333505514919703581238462624678350391869602\",\n \"1\",\n \"1\"\n ],\n \"8387213001259670551914458146295174023198980804048700452645891554755053636554\": [\n \"3080937858901736038773970256872923281100607643089545491039131741207361195081\",\n \"1\",\n \"1\"\n ],\n \"4706776409959621143193476046238765502644607966611708714305900344673234873777\": [\n \"8387213001259670551914458146295174023198980804048700452645891554755053636554\",\n \"58521488311048176172829798069881700150000102701089707933757577632105803719\"\n ],\n \"13670198112949016203390984988777319693277081764159371706068217525386044200772\": [\n \"4706776409959621143193476046238765502644607966611708714305900344673234873777\",\n \"0\"\n ],\n \"16138175565624534409656062065487661478348067587392605682568233529481622651008\": [\n \"11628175811723287505595675711129851924767894997623803053801739826787239058682\",\n \"1\",\n \"1\"\n ],\n \"18082061584044068538102256964625062047715939831135053258764285046795144712804\": [\n \"16138175565624534409656062065487661478348067587392605682568233529481622651008\",\n \"7190220558488457624095559282510871314311496737041606406647698620664143667132\"\n ],\n \"10975194875962292975755184249016120264092717488866733395982810247733371304935\": [\n \"0\",\n \"18082061584044068538102256964625062047715939831135053258764285046795144712804\"\n ],\n \"14955364509469868907634571368634533780740489028590835542864020353174187600372\": [\n \"6561248574862041723809794247984932371558181766584450805945533563792183744456\",\n \"10975194875962292975755184249016120264092717488866733395982810247733371304935\"\n ],\n \"20236074031200371278902246710220418102895921438282111371590407312557432514232\": [\n \"15510320916613230800427315741001402856152121601453997622959818726935012342033\",\n \"14955364509469868907634571368634533780740489028590835542864020353174187600372\"\n ],\n \"20992888704281702074004109278105938722184464599426468649257204423770186018680\": [\n \"6201915600129586657428083054536826457397933170666757600521049359386756929594\",\n \"1\",\n \"1\"\n ],\n \"16764273414060239047332695279860857429729974425981990992107619000671258080817\": [\n \"8015992295381623975283852879127425864951469877111212261564846803816929417516\",\n \"20992888704281702074004109278105938722184464599426468649257204423770186018680\"\n ],\n \"1921839970862639333610657928339636021953672527656187398518993056886397443479\": [\n \"16764273414060239047332695279860857429729974425981990992107619000671258080817\",\n \"0\"\n ],\n \"10224938157205132302018059714358952216040581765023248848844656306963726434845\": [\n \"4922241490156413899870041885712764824377402397404514418141581088430331942352\",\n \"1921839970862639333610657928339636021953672527656187398518993056886397443479\"\n ],\n \"1482581707062778052545900013946523538594315033548795356298101024924609673005\": [\n \"18561273231283348155192113712035730551971532194202319839291193609267303755865\",\n \"10224938157205132302018059714358952216040581765023248848844656306963726434845\"\n ],\n \"10681217508751642327655188132520786826836509541586496325280572230035290930838\": [\n \"1482581707062778052545900013946523538594315033548795356298101024924609673005\",\n \"1398354281221479288383059512126033849210299069137083192572201493047379075455\"\n ],\n \"9119902985638191347947791137892480618954046097439595578674876355290243843861\": [\n \"9742137156277044749190433142915135236352460771261670661656598343409468328042\",\n \"1\",\n \"1\"\n ],\n \"19710778967087674375654642671902966727196481006737404187668367181583284553408\": [\n \"9119902985638191347947791137892480618954046097439595578674876355290243843861\",\n \"20160160166879559294082895416207799561122329233560602885635181016008345634883\"\n ],\n \"9252018119593910621926804856133587741524823284450589208739212514849453411766\": [\n \"19534412648102642103795344203502703771658800494303798488750128440738890050402\",\n \"1\",\n \"1\"\n ],\n \"5477323282409205786480511581811341858837127602469884435124405010560218743129\": [\n \"15638974969548550623612568163783775161928434348539515231399859668442395556773\",\n \"9252018119593910621926804856133587741524823284450589208739212514849453411766\"\n ],\n \"19004131122757948711799779116970042411936226359952070430055866100288768485411\": [\n \"3981885672406239878136618901165040516837564609023917419017235603439432692556\",\n \"1\",\n \"1\"\n ],\n \"377223637594695525391518436265169464107509682219272422102679239075735882601\": [\n \"8953855030305519622232446970638580091209892612962960063152331630834882407424\",\n \"19004131122757948711799779116970042411936226359952070430055866100288768485411\"\n ],\n \"1644916502776660630587137941613206984807568333892934071371611092536368111642\": [\n \"5680232660515450097428559505830435875443345658674345517641693938676873376413\",\n \"1\",\n \"1\"\n ],\n \"16746897493740507811130521843759541383643437116223706869584681448040608082810\": [\n \"7341075898440860470799539246007092599854246040018759093104229945647207886657\",\n \"1644916502776660630587137941613206984807568333892934071371611092536368111642\"\n ],\n \"5865955825661207837514651357144297983138688594410621778093820621887834106646\": [\n \"16746897493740507811130521843759541383643437116223706869584681448040608082810\",\n \"6104714787836331351475117418475967512871703448370047862863155288826827932998\"\n ],\n \"9156985755396428205430021477530898332452583008199635270867569065519352949647\": [\n \"5865955825661207837514651357144297983138688594410621778093820621887834106646\",\n \"21741624217688516404705618153369160106198152265492061970578626175356529448276\"\n ],\n \"21809751926875285129603198567550812432108263389675193532546976186173313407388\": [\n \"19415569294769415889959918457735639700352338852509061528928929741091259183218\",\n \"1\",\n \"1\"\n ],\n \"19467189249635046009413888642203953761018270373167998865400426340846697854652\": [\n \"12309219623355391604232979705795632678905124675870668689763583567056672702194\",\n \"21809751926875285129603198567550812432108263389675193532546976186173313407388\"\n ],\n \"14902539134965179339351564003669475766470871400906869123771119282352698438365\": [\n \"19467189249635046009413888642203953761018270373167998865400426340846697854652\",\n \"706343900987980582099902795479028840990896070494424187257895866405784015871\"\n ],\n \"13011518268224037298240344789273727852299004827724264843279501603344378834492\": [\n \"1008142562244618872098004313754772309511591179619547235978484230527723992459\",\n \"1\",\n \"1\"\n ],\n \"12358577408431831502326103121086176235671130352379837886749809148074207111807\": [\n \"13011518268224037298240344789273727852299004827724264843279501603344378834492\",\n \"2558372696470797143245976721209766832502974230251372432023837165469638391920\"\n ],\n \"3001119011670162763582751808514353088142672523446799049389490404944890825420\": [\n \"20163854823213319552917704687228285589346415328096445074244671154750318488434\",\n \"1\",\n \"1\"\n ],\n \"10828591134947589949740622932563611759705387616531671656235937797322757833586\": [\n \"13531086235731420975027623082153729514709036273447710726455459944003920533230\",\n \"3001119011670162763582751808514353088142672523446799049389490404944890825420\"\n ],\n \"16662643761566621861103567396790169156556293439158551702459603266371219795336\": [\n \"10828591134947589949740622932563611759705387616531671656235937797322757833586\",\n \"0\"\n ],\n \"20712335457702828945203842241402863395748522851582829200646955849546343503543\": [\n \"8664750454079766061136660971935156016368293197337370167984786996459527905522\",\n \"16662643761566621861103567396790169156556293439158551702459603266371219795336\"\n ],\n \"8102824938909670231252053606011961148618042742111225594331157727110807574590\": [\n \"11454927809140150420712151690505058557063179896277106334515802910575404205694\",\n \"1\",\n \"1\"\n ],\n \"8271084060082316829751347031345309032934961416318304161586451007575158398366\": [\n \"8102824938909670231252053606011961148618042742111225594331157727110807574590\",\n \"14569879638983569979821030717774626742833288512682135497218406794477373081568\"\n ],\n \"4657635795266829562799541997858489202558541836281405611160104804506791707431\": [\n \"8271084060082316829751347031345309032934961416318304161586451007575158398366\",\n \"0\"\n ],\n \"15418904293106269668094713086146476689696293364756308607246154890186189612944\": [\n \"1998754031706707491244624140146986393760719248370175218318668473303182617941\",\n \"4657635795266829562799541997858489202558541836281405611160104804506791707431\"\n ],\n \"17280059355968510102511085708117662774810487420662314496923874909231480781539\": [\n \"10293655806803366068693295867175041673190785344932454248530455838797507608105\",\n \"1\",\n \"1\"\n ],\n \"11252344412995774894829119693979297941662898947500634754779876700162695753912\": [\n \"18457480234975197301001250392456276882933082328887793787134010943340023956981\",\n \"17280059355968510102511085708117662774810487420662314496923874909231480781539\"\n ],\n \"10417252260664313988350626663574908033159358229996741316902871420080259337880\": [\n \"7002161025814553320347582285630783827893455570962231554978697117473528698414\",\n \"11252344412995774894829119693979297941662898947500634754779876700162695753912\"\n ],\n \"16011758007727141931327631663054247588615462700962020322452759774199174268030\": [\n \"3063236333025329456222063316854666526803726345669858546001363192056132596994\",\n \"10417252260664313988350626663574908033159358229996741316902871420080259337880\"\n ],\n \"12767372861903183701783197606352250882769936044215957854626355929775037034662\": [\n \"12854964890106362024773793014457438867607359352441150995203488047697931630681\",\n \"1\",\n \"1\"\n ],\n \"13102620314881512630816701241390590203147123634520700039926905132261458943387\": [\n \"21612639328262314847657586734543061343213296506478790516604396331000432510919\",\n \"12767372861903183701783197606352250882769936044215957854626355929775037034662\"\n ],\n \"18322305173417673058369031642529579157087112340066763963675563300899726381466\": [\n \"16087244870132823266614970221311301308451780465286250894879652104623302056897\",\n \"1\",\n \"1\"\n ],\n \"8775229193266200813311156913341056506059248337202083424139372431551699582102\": [\n \"19061728862958880141506753239605373167190337304341503457601418630783939628196\",\n \"1\",\n \"1\"\n ],\n \"15965350303191264495873952175903511793000601971248586644019524529592456165153\": [\n \"12469506570919541271300155068580331281813634486586501115343104777994016952078\",\n \"1\",\n \"1\"\n ],\n \"18440431889369000064346968842189489593037653199714208647319133349534660218844\": [\n \"18919621043938832494746206321489636718170288531016659968818995530431533436007\",\n \"1\",\n \"1\"\n ],\n \"4134276077054185893910581212523482101107053604355860571376435837789220709162\": [\n \"17920368756208459594775513092588403682272113879185241029847449270196704045296\",\n \"18440431889369000064346968842189489593037653199714208647319133349534660218844\"\n ],\n \"21849927352865901545736474697806480149516533171019208493028708646871263063540\": [\n \"4134276077054185893910581212523482101107053604355860571376435837789220709162\",\n \"2455868066143776475400073177654057065790470144730237407738424364671587710364\"\n ],\n \"19680657412370474689809074448617357884351767443290184918632526153084357176174\": [\n \"21849927352865901545736474697806480149516533171019208493028708646871263063540\",\n \"0\"\n ],\n \"14066509676251193751218359909477730857803928090675152512661125983204011226459\": [\n \"6793520681065185291895638321275260856027926980331319395029991660913545069341\",\n \"19680657412370474689809074448617357884351767443290184918632526153084357176174\"\n ],\n \"4553495234731049861660725789179447777623670851450231840637495242279015908628\": [\n \"19666298405770881547796968960967883967868887880922532731270390176530692329091\",\n \"14066509676251193751218359909477730857803928090675152512661125983204011226459\"\n ],\n \"3004678549762584317034723637196927464668220139311840613300563915709658004446\": [\n \"371514337359181088339221045835943410715476144567310703943721322754692883221\",\n \"1\",\n \"1\"\n ],\n \"2888208437792637491927927209037831058151815336388516220296990479388092829955\": [\n \"1754701634703339253913719501735687579762270472584331465971911475651617357654\",\n \"1\",\n \"1\"\n ],\n \"16117658570167396119159562653983220761718616621167614967554012448688534218881\": [\n \"20986327852796919944803018735442337432222503507673319747224177536708503188046\",\n \"2888208437792637491927927209037831058151815336388516220296990479388092829955\"\n ],\n \"10092499506589083073724154869363995030903951568529711022849158644987320311984\": [\n \"3525800760298119332672149272991338481196736608186112062926760192246485088789\",\n \"1\",\n \"1\"\n ],\n \"9910856098622226530909271986214786212474526826083479706161295417978661598391\": [\n \"11252276470859809462726567935344543956793382994968219613053013478561544388342\",\n \"10092499506589083073724154869363995030903951568529711022849158644987320311984\"\n ],\n \"15052736073026730297631725670993153212724481831982306889264168957627479423068\": [\n \"0\",\n \"9910856098622226530909271986214786212474526826083479706161295417978661598391\"\n ],\n \"13515916668054527590909407911878464829671243596064453595247713245702391531380\": [\n \"8119913095814506330574353463720689769761462728065480644372801507599549216055\",\n \"1\",\n \"1\"\n ],\n \"993623321551408173072246501748187505319120436432779863084358813453274740141\": [\n \"5653285192242091186270714189171557299010559454205776784163174147207896576523\",\n \"1\",\n \"1\"\n ],\n \"8395008227214356726389095878988188350236235896497495586222899377880428566905\": [\n \"993623321551408173072246501748187505319120436432779863084358813453274740141\",\n \"7317954421356007104561495778137015139223957420258510568142184579094278451002\"\n ],\n \"14786838873117350185197946279497833780049392358772035981650445074844554674710\": [\n \"13742764803280229559458675367427603590561404048110986307543452767611152391606\",\n \"1\",\n \"1\"\n ],\n \"5379871258340842880856996831204010190736734679455501550994286167563153758572\": [\n \"10709032322310203992747596255095749843931702349502599500360750045376105025952\",\n \"1\",\n \"1\"\n ],\n \"8084928657217676616534675693646673214529764509002829381529861851271508353529\": [\n \"5379871258340842880856996831204010190736734679455501550994286167563153758572\",\n \"14679187688575315951602909887849382563843223810738370652272088586243302315441\"\n ],\n \"7490362115307051073691038730518761220767661717749706754567025508712335487037\": [\n \"230842329147468525368851807616961048859136634860699388740033616208946902135\",\n \"1\",\n \"1\"\n ],\n \"19014222618678399674526644421339339672948985345947931271733273298658323326727\": [\n \"6523007373221416812523209191567755484239853547074857224099409600076668399392\",\n \"1\",\n \"1\"\n ],\n \"14704164323416694437547271432570636668556480404800355710231060576767022039156\": [\n \"18914859006853467030684395466112898634511076995380838085905128041409051721440\",\n \"19014222618678399674526644421339339672948985345947931271733273298658323326727\"\n ],\n \"9589567601982121817153212767207375857142629743955184423942587976499795137009\": [\n \"0\",\n \"14704164323416694437547271432570636668556480404800355710231060576767022039156\"\n ],\n \"8077532014097501806239377378916408599842765075084174049710024775074308715384\": [\n \"9589567601982121817153212767207375857142629743955184423942587976499795137009\",\n \"0\"\n ],\n \"8363931103218076313076940999710982926519999205410924480936942937370591687870\": [\n \"12605713955426808380402643112872931224377557699829597720310874691988567630436\",\n \"8077532014097501806239377378916408599842765075084174049710024775074308715384\"\n ],\n \"4955990074890051677943821834016942103705081641453462273965426636135318202993\": [\n \"11307943849557624794873779688410141403786335572018261714378394372094132230288\",\n \"1\",\n \"1\"\n ],\n \"1741465119997675321212787368794374109955376892979605888923485881032249100174\": [\n \"4955990074890051677943821834016942103705081641453462273965426636135318202993\",\n \"5717597525141899708141964453255795866376774074706952893595531092541237211666\"\n ],\n \"17148416211131811032532768347651110291813169030415760294619435085134465864873\": [\n \"1741465119997675321212787368794374109955376892979605888923485881032249100174\",\n \"0\"\n ],\n \"18975310669140227041411747416045983128944223671862972113297462307689166702484\": [\n \"7499085294489590463977430032223389866425462915902441013310816339276461409807\",\n \"1\",\n \"1\"\n ],\n \"10777218555017709054856640552828186287259620064106190437638493890427891116133\": [\n \"18975310669140227041411747416045983128944223671862972113297462307689166702484\",\n \"9999814616770956220348824435439764674673687398545866836030017744584433542882\"\n ],\n \"5921808101096142451819114148953462597015779191852456765791137690978461267417\": [\n \"10777218555017709054856640552828186287259620064106190437638493890427891116133\",\n \"0\"\n ],\n \"5361747580719626008073716546605425400182442028870769346475030473087920097566\": [\n \"5921808101096142451819114148953462597015779191852456765791137690978461267417\",\n \"5910238494735810519740512980614083202228896275118573044350002601458388923254\"\n ],\n \"14567471400875841377864242582191385926424744424960383144240530759302921083057\": [\n \"5361747580719626008073716546605425400182442028870769346475030473087920097566\",\n \"0\"\n ],\n \"21360180989963597367324572219074553756171103361179455907657195011041061786194\": [\n \"21479824550828687027641937201952993521415023864626998886791896038622025599527\",\n \"1\",\n \"1\"\n ],\n \"16134356858971589285535797100929506677259733245456125205812659915986550427891\": [\n \"21360180989963597367324572219074553756171103361179455907657195011041061786194\",\n \"2253293988740358555612547987492488680648521139881772628204601243505156970299\"\n ],\n \"7140937907693217131225040819949589441006591480046703465439328519849495750205\": [\n \"16134356858971589285535797100929506677259733245456125205812659915986550427891\",\n \"4350942451973770708880366453616988377525064284993387808137985718061339523541\"\n ],\n \"5808278088068523957150525657166934649741826272787425345444232267816667275544\": [\n \"10907246528289107161337432749699953003932595862856066590718130431099003221552\",\n \"1\",\n \"1\"\n ],\n \"6605954271564950173877886283634322299444554938619685152361555810648724639352\": [\n \"17929165272012568402038409831858014448197759430506221251766196082181817297457\",\n \"1\",\n \"1\"\n ],\n \"7534022000356907786762566171719830140235952617076167575695466382411082983315\": [\n \"6605954271564950173877886283634322299444554938619685152361555810648724639352\",\n \"15719827748116877613522884985697457306415606669335642609841421319121673600735\"\n ],\n \"14571178171523342017340213188758966804662776123070159847668335167726878150663\": [\n \"7534022000356907786762566171719830140235952617076167575695466382411082983315\",\n \"0\"\n ],\n \"4677888016517638936444067657590265191910366690523163921063517202888485913003\": [\n \"14571178171523342017340213188758966804662776123070159847668335167726878150663\",\n \"0\"\n ],\n \"10637052748081260033689688871231719793466826387773322194344663903823739084096\": [\n \"0\",\n \"4677888016517638936444067657590265191910366690523163921063517202888485913003\"\n ],\n \"6455797291190595723896576018363432009440009037136966138273277444398250177120\": [\n \"0\",\n \"10637052748081260033689688871231719793466826387773322194344663903823739084096\"\n ],\n \"13114833985330963068466051548825263519200448809048462325850738968434878811073\": [\n \"0\",\n \"6455797291190595723896576018363432009440009037136966138273277444398250177120\"\n ],\n \"7718007002385932209084405000306277475499406546599145610962401194705387862154\": [\n \"13114833985330963068466051548825263519200448809048462325850738968434878811073\",\n \"16083058178559467641431449213733635581462961954353328546942522421590435891892\"\n ],\n \"21419751107954318408486831434051371228190997751092390268628705662821420582552\": [\n \"0\",\n \"7718007002385932209084405000306277475499406546599145610962401194705387862154\"\n ],\n \"10622156609773572427175672949175136316606533908363463993962324110150602930269\": [\n \"21419751107954318408486831434051371228190997751092390268628705662821420582552\",\n \"12655291264879167155328408893271726874107566698305344008059308846804525362608\"\n ],\n \"4677707735433154243836511495702617076611577460276145140948211360933845994513\": [\n \"21424585403967399150481588975655011016015138717064682088954718606470988553154\",\n \"1\",\n \"1\"\n ],\n \"10048817708421445483020810839709515311203581926330448874764161657010351393881\": [\n \"4677707735433154243836511495702617076611577460276145140948211360933845994513\",\n \"13019691730685934616395262007879029188337656682967121143585220932571698717596\"\n ],\n \"4637370238667131055586505210173085891177956567236110049450194401436479031834\": [\n \"11230310300236552360576278626479795335761984486316591347042507966927079355239\",\n \"10048817708421445483020810839709515311203581926330448874764161657010351393881\"\n ],\n \"14681396682494982981649930336315277196594979855416809752989260878411262916954\": [\n \"16541847881093807321860019645904159965348678340613801246082934108587446673479\",\n \"1\",\n \"1\"\n ],\n \"17111994844538397985419383616282741901852928162415534788771493207317946768923\": [\n \"14681396682494982981649930336315277196594979855416809752989260878411262916954\",\n \"605550179454611461674140756018335862849011172729250139262821237935678307291\"\n ],\n \"8211710633892659861739210515904298877688991709052019486623301433369317196430\": [\n \"8943371271906594925983005501397326404368466163784434452495998032544899011846\",\n \"1\",\n \"1\"\n ],\n \"15111611633756432262368374547279538403812066679718783182746671025074783703079\": [\n \"3648668990378941391738484664023374678493215440712356843365933587890909306363\",\n \"1\",\n \"1\"\n ],\n \"16163620925328340415843687907345571946220475268630107055804498164691803004849\": [\n \"15111611633756432262368374547279538403812066679718783182746671025074783703079\",\n \"15969727579843199533609548483353762248962457411376886379395531868851482862693\"\n ],\n \"11769373803687755283662194072458112038193074916214920762012076269683933060354\": [\n \"7999550115662913455422686752943762893457473548529284605480044969461835921509\",\n \"16163620925328340415843687907345571946220475268630107055804498164691803004849\"\n ],\n \"7546139441019987774930246348091142575324186775090859586150139916554021030381\": [\n \"18199538474623534451609742676700771304329798431433510631913094108080151892211\",\n \"1\",\n \"1\"\n ],\n \"7672597186308177003062661132872413818795260079253476779912525097189366837274\": [\n \"7546139441019987774930246348091142575324186775090859586150139916554021030381\",\n \"8759924785012904110054816877130418423926865804911809825368063419487224999186\"\n ],\n \"252998131666816326510925158398282070321588202699491291639751304529669146906\": [\n \"7672597186308177003062661132872413818795260079253476779912525097189366837274\",\n \"0\"\n ],\n \"3157087147782582606383938658388029853404480151148141561867914586353385335321\": [\n \"13538918712483045600791866394397397899022885517624854944041597650881115649270\",\n \"252998131666816326510925158398282070321588202699491291639751304529669146906\"\n ],\n \"4515626690641492024006794777188272502428623139537026237054611359445336626162\": [\n \"7434836114623507468687517583263374371529413176150868645942497375212379913048\",\n \"1\",\n \"1\"\n ],\n \"1731271226389377568782233646119856441600621295573044967756992129918916379879\": [\n \"4515626690641492024006794777188272502428623139537026237054611359445336626162\",\n \"15079473149804187290272989916686692903461627452737671340852008383184932507806\"\n ],\n \"5877165525921737820539348169637946204586042218841395442921738304673148189023\": [\n \"1731271226389377568782233646119856441600621295573044967756992129918916379879\",\n \"0\"\n ],\n \"8992891078098348607928291603539321987913570720033940993700806538291534904585\": [\n \"0\",\n \"5877165525921737820539348169637946204586042218841395442921738304673148189023\"\n ],\n \"454784828886710486384396445398857696237318350846489565323942344443342373055\": [\n \"0\",\n \"8992891078098348607928291603539321987913570720033940993700806538291534904585\"\n ],\n \"3568508218383196644594067482358682875392686801230104595921489990747232879321\": [\n \"6587526813172101575681796853306617438639744964521721042642404877240837920780\",\n \"454784828886710486384396445398857696237318350846489565323942344443342373055\"\n ],\n \"8471574869880826066901740202366702205946234871243923957707992934753983950786\": [\n \"3568508218383196644594067482358682875392686801230104595921489990747232879321\",\n \"19653924043529533884974653939320854384401597334358922070862153088322896445670\"\n ],\n \"7368842529442620345851133214287121442320145150345292370375362771642077476718\": [\n \"20075623332953281071271996860629829461190119238151938567100175422022218853041\",\n \"1\",\n \"1\"\n ],\n \"15828411934791948797958249671865541539576268518760983046806889182408013321578\": [\n \"7368842529442620345851133214287121442320145150345292370375362771642077476718\",\n \"6603745657537116084931479847244349568429547586288885118565799552664558231334\"\n ],\n \"18202868999641778421833360212125458409960925674019645252623798117792507715319\": [\n \"3002540391998142692072567886182596492795103879567637326292486762395058837020\",\n \"15828411934791948797958249671865541539576268518760983046806889182408013321578\"\n ],\n \"16147452551660316365618053464626018181015273744553888201733288738774356429581\": [\n \"18202868999641778421833360212125458409960925674019645252623798117792507715319\",\n \"0\"\n ],\n \"11160261251607878024958910053703442460682800978858229685520712631690294766420\": [\n \"13912043355431662509438542977434616013928526852085678333759476847974446190261\",\n \"16147452551660316365618053464626018181015273744553888201733288738774356429581\"\n ],\n \"9844934123050373060864829058487499866211742971249983605006112770492505351930\": [\n \"11160261251607878024958910053703442460682800978858229685520712631690294766420\",\n \"5193484115238761435115264675442683252008673797743711328630754648711508589654\"\n ],\n \"4445828719590782836302012865979060478639133882664620002762077821791322282341\": [\n \"14745028519076068647075207134608958490635856055514732607542922033016252097957\",\n \"1\",\n \"1\"\n ],\n \"1712281907893833991658825599515997291862775637783735688569774639874543587596\": [\n \"4445828719590782836302012865979060478639133882664620002762077821791322282341\",\n \"6010133339977513591637012770026299139458978025235358983753690746164056130717\"\n ],\n \"10323970208131859088244696128536397463079592841445708223694432396063260553107\": [\n \"1712281907893833991658825599515997291862775637783735688569774639874543587596\",\n \"0\"\n ],\n \"10140414085457326065748225342678343678865085816234816383955580402681742821308\": [\n \"6197604614725067788770975517800008318262878973837875819832978717160326314743\",\n \"1\",\n \"1\"\n ],\n \"4521953766565778001670196657521558530584883289744599849935710145302251674029\": [\n \"10140414085457326065748225342678343678865085816234816383955580402681742821308\",\n \"18254571309840877364849922917537137855939080997891732583600997598393930214028\"\n ],\n \"6437048871217859927479214649397898199934147697080145944346093004984617865919\": [\n \"0\",\n \"4521953766565778001670196657521558530584883289744599849935710145302251674029\"\n ],\n \"14837962648474874235230508146313644630278118374270233708452996694893844804977\": [\n \"0\",\n \"6437048871217859927479214649397898199934147697080145944346093004984617865919\"\n ],\n \"7973573188928007224417873672331013005405596885729818642274432200816262704675\": [\n \"20432222257287046510685746961094392695326132152925688008972844303077467482895\",\n \"14837962648474874235230508146313644630278118374270233708452996694893844804977\"\n ],\n \"4361881002384790393162128384210356829961853950009961593850685143258217317513\": [\n \"7973573188928007224417873672331013005405596885729818642274432200816262704675\",\n \"2099405462500395058205899469722901371934986114728229622638713160900593077331\"\n ],\n \"16294344903194944688309137573454612654763842156830806530881460838584468633243\": [\n \"14232425480660221695813525763969854296465993824380257650232400449731832414668\",\n \"1\",\n \"1\"\n ],\n \"11307440496879379644882615179405473135891336353873758968680259800172591635632\": [\n \"16294344903194944688309137573454612654763842156830806530881460838584468633243\",\n \"1707970886839287947861239406524038444267136428553087943208127466456389071067\"\n ],\n \"14346785931516437132431533555067865283852164268068174693764510511727178300939\": [\n \"11307440496879379644882615179405473135891336353873758968680259800172591635632\",\n \"0\"\n ],\n \"14279769081717050767205978547035269958051565826634150271554504298831430781133\": [\n \"14346785931516437132431533555067865283852164268068174693764510511727178300939\",\n \"0\"\n ],\n \"15994483451919669342633752718985109234344156342631757140677734095783329583553\": [\n \"148501299759742129285554884988765833064143255686881199149576680567311266740\",\n \"1\",\n \"1\"\n ],\n \"18381835068610215299173867136284994733081788945916648140565106982624393871155\": [\n \"21505173190516936881415761930002247513455217367751705938718816286312041917631\",\n \"1\",\n \"1\"\n ],\n \"20621675022052654324540176612901849977200899051548097690369449534046964560081\": [\n \"18381835068610215299173867136284994733081788945916648140565106982624393871155\",\n \"6443232028253592579790956370363355362574548971151346479807899137256454253258\"\n ],\n \"19785845572293313651605438941812196869257016024213763910187832698564324616871\": [\n \"1395136404681683447045614804481423099199656342152581231566595020453869704179\",\n \"20621675022052654324540176612901849977200899051548097690369449534046964560081\"\n ],\n \"6756287425883201445381818786519777179254351561691343276335934512778068361789\": [\n \"5423018423341450528279075324182413613625627463346230642006666696528791562956\",\n \"19785845572293313651605438941812196869257016024213763910187832698564324616871\"\n ],\n \"10070346674912067063923227187057695496747289565962372643348814795152838928030\": [\n \"18043572633005474021694016651060387502791612426875606492951880045476858763029\",\n \"1\",\n \"1\"\n ],\n \"19835101625309965622364033212624339858373379585480664116377251329609872183155\": [\n \"8941748302818660142277658557231070182651975600044666247741892170799191915195\",\n \"10070346674912067063923227187057695496747289565962372643348814795152838928030\"\n ],\n \"18004089696363270749337476616706024115909758453206897945998449025904498749980\": [\n \"19835101625309965622364033212624339858373379585480664116377251329609872183155\",\n \"0\"\n ],\n \"16752134694816920547734439292699521014674796717105962945695597946270634113377\": [\n \"4165896087605887653462246331225880839458725518430853039683486945096742518771\",\n \"1\",\n \"1\"\n ],\n \"10958671708542441693714008746536463465221279570697348333384067020134183037395\": [\n \"11133031744363510735411101916253389955732291090009617491840964255504169065428\",\n \"1\",\n \"1\"\n ],\n \"9223505543708421594185487229018553211052467231951592720797821711620116713682\": [\n \"10958671708542441693714008746536463465221279570697348333384067020134183037395\",\n \"17938376589380616858881300891731092837578333932400926705677501992342319041006\"\n ],\n \"243333927319099578434474661857833081397526192294312541298706966738456707964\": [\n \"0\",\n \"9223505543708421594185487229018553211052467231951592720797821711620116713682\"\n ],\n \"17930500332487363762524988383222492328256743299941244219337815214199401315220\": [\n \"6589752949372324051403807667268607062055151674618889848660496379904583497107\",\n \"1\",\n \"1\"\n ],\n \"324589478558473401022332957693976294767221257657254160831089749305158029905\": [\n \"14415208921271681952615905936871811300923259524561137499485224987681871302354\",\n \"17930500332487363762524988383222492328256743299941244219337815214199401315220\"\n ],\n \"1662286762752561391970959342852558179621634543677482987455340546822587448748\": [\n \"0\",\n \"324589478558473401022332957693976294767221257657254160831089749305158029905\"\n ],\n \"5720046601445715105934885802635726283388760325707011418844337984263043066420\": [\n \"78736962227667527086515451189281927380401364817042430716217501917531638864\",\n \"1\",\n \"1\"\n ],\n \"20083110597583381798256679753746288287340640486012464665002359859343084388256\": [\n \"5720046601445715105934885802635726283388760325707011418844337984263043066420\",\n \"9698810563382529704664574741077424028863569974899691751891382623950848264585\"\n ],\n \"18120500252500972852853092921517739103867226159685699478352380812009814179169\": [\n \"20083110597583381798256679753746288287340640486012464665002359859343084388256\",\n \"0\"\n ],\n \"2408842525591406346361392120747505611211936645002032346587627861695735742234\": [\n \"7474667214610157831550951380502543480554139937513521209084880100092029088701\",\n \"18120500252500972852853092921517739103867226159685699478352380812009814179169\"\n ],\n \"189646806626407573635046812935842885844333688644663770891509065339129901621\": [\n \"14645009519443039743732548939139618381301801374074006857899873476956841639957\",\n \"2408842525591406346361392120747505611211936645002032346587627861695735742234\"\n ],\n \"9017468675740702484719024782458236353850716154790607637089215437430257831999\": [\n \"2039441277025171931088383300906895176171102455962924189047758799783981771832\",\n \"1\",\n \"1\"\n ],\n \"1917468225072175542340787245835348811891973190183668350987694645446554955164\": [\n \"17042975432812168770848482896750669848335845653049229136378532371230106764189\",\n \"1\",\n \"1\"\n ],\n \"6530931877139733359177838906959211766515650047455273088937576694135165755015\": [\n \"1917468225072175542340787245835348811891973190183668350987694645446554955164\",\n \"2076400679136997693572728314664737821287814189906210220303010472234961545894\"\n ],\n \"4366663354150508303767020654459915534828302435041073698989255310083925493768\": [\n \"10092270589826139446005867136420491291452616850866966077371951719006665959723\",\n \"1\",\n \"1\"\n ],\n \"626806684348464202199639139894445291508060444255726356604378759238244760585\": [\n \"10234268503295858973928293819300502308006215661342690668485833587222928648368\",\n \"4366663354150508303767020654459915534828302435041073698989255310083925493768\"\n ],\n \"17353629442252960519924727866015439637713682206578864568416175852563588455699\": [\n \"0\",\n \"626806684348464202199639139894445291508060444255726356604378759238244760585\"\n ],\n \"16083029078794023464738029401154943901653491417210242677041531275631460754946\": [\n \"0\",\n \"17353629442252960519924727866015439637713682206578864568416175852563588455699\"\n ],\n \"6433802876484679984610912607978067829126219465690000887027177960129480996702\": [\n \"16083029078794023464738029401154943901653491417210242677041531275631460754946\",\n \"0\"\n ],\n \"17302872074057934063407060874977241945970729928933827695542618136073911596912\": [\n \"0\",\n \"6433802876484679984610912607978067829126219465690000887027177960129480996702\"\n ],\n \"12209101738041553588130777853855211844749005150161330487051673377915233141327\": [\n \"11596451586074805855959053132094914115258293703036346476287475277310147901830\",\n \"1\",\n \"1\"\n ],\n \"3040504478755468038671915767740045503594913052912289051649991885424732387914\": [\n \"9706543630817029597745778905738410790572311687249055644744101106959883647352\",\n \"12209101738041553588130777853855211844749005150161330487051673377915233141327\"\n ],\n \"19802525238719844623111771733405243833288037048992570108885019920567221610826\": [\n \"10461980142504912277573991044997696598567734096559281325740696413359742252359\",\n \"3040504478755468038671915767740045503594913052912289051649991885424732387914\"\n ],\n \"18770727387481554015198120231937732435200074565308961826910525000972172796649\": [\n \"19802525238719844623111771733405243833288037048992570108885019920567221610826\",\n \"20328208271286687769895230546512432872149599784788302095768103819598017098438\"\n ],\n \"19910509806024355991292434091099550825326069609570883801889724779330997344822\": [\n \"18613854522108909408442616704796371572171872524259895931220569212487174271058\",\n \"1\",\n \"1\"\n ],\n \"1694357479582476953878586438123461000943959951490779267328140961634885369455\": [\n \"14740382034217525379722340455217280551148355516089977357399814707536371408110\",\n \"19910509806024355991292434091099550825326069609570883801889724779330997344822\"\n ],\n \"6522941924752535237642176793508051093270191598063171741969199928976388699430\": [\n \"0\",\n \"1694357479582476953878586438123461000943959951490779267328140961634885369455\"\n ],\n \"5992638370420315840519696894038834067028338259503784921907641843454489692536\": [\n \"6522941924752535237642176793508051093270191598063171741969199928976388699430\",\n \"0\"\n ],\n \"8718354879173978680914128203389606412689508596661536247113460971393571060044\": [\n \"5992638370420315840519696894038834067028338259503784921907641843454489692536\",\n \"1807450003108245951967241776551511848996362913433952429481636786799630410723\"\n ],\n \"21754492444932597933489253025741837030653240147690938443183356866445790278899\": [\n \"19349298884660311300298701146411167650276738266275172795211845886669097723709\",\n \"1\",\n \"1\"\n ],\n \"2664433332668005293258969473615452827500888612447085237175634215686815424002\": [\n \"20849003803503652608546699549135144041355407633303425805303569473019718046917\",\n \"1\",\n \"1\"\n ],\n \"13600177239483871654375718590641109842402665817350418970456208079681833086721\": [\n \"2664433332668005293258969473615452827500888612447085237175634215686815424002\",\n \"20560152545508855312644467966443129054541839601351533252149260826045447501474\"\n ],\n \"21396085431115718030817887324761273197117916411847482543609682421334658279098\": [\n \"0\",\n \"13600177239483871654375718590641109842402665817350418970456208079681833086721\"\n ],\n \"8748217502548083424000994199297390347839923242700579616272886805669035402692\": [\n \"21396085431115718030817887324761273197117916411847482543609682421334658279098\",\n \"0\"\n ],\n \"19722107632673746631184078894050988255659201797755371269202376589061973656423\": [\n \"0\",\n \"8748217502548083424000994199297390347839923242700579616272886805669035402692\"\n ],\n \"5643942217421485779383874937125119646293761007464358900156473527883497183427\": [\n \"19722107632673746631184078894050988255659201797755371269202376589061973656423\",\n \"0\"\n ],\n \"6389100597575282598707888174232342220182859164669326997885781627297250619053\": [\n \"5643942217421485779383874937125119646293761007464358900156473527883497183427\",\n \"12126687895416432506375732451890160140510717675137705663278473194271737778089\"\n ],\n \"477073161533921339389175042792924190572973192261161240708092014735930104039\": [\n \"0\",\n \"6389100597575282598707888174232342220182859164669326997885781627297250619053\"\n ],\n \"2458986307157705319220233929069535817596455961860797745585581700566418376661\": [\n \"477073161533921339389175042792924190572973192261161240708092014735930104039\",\n \"19868711620640487090203222062706787812740968109049562110703482550854245759348\"\n ],\n \"690777387911197628399483709655724008568277920311895971039522743153688202340\": [\n \"0\",\n \"2458986307157705319220233929069535817596455961860797745585581700566418376661\"\n ],\n \"4775487982719285642678038091573722008014021952958796976830232920828284925890\": [\n \"3906173295995679607677673768450964033010701514405304726887566707100046060022\",\n \"1\",\n \"1\"\n ],\n \"2304070972960957613972349593739252162829917053475214368963802564881210643567\": [\n \"17414136882758673113882925203891084010749388769268693225884544809884569984721\",\n \"4775487982719285642678038091573722008014021952958796976830232920828284925890\"\n ],\n \"11089854384899917034201434511539795234651114690335670966505992924634180214754\": [\n \"2304070972960957613972349593739252162829917053475214368963802564881210643567\",\n \"0\"\n ],\n \"6078959806990869821928970481126949003625595584203265664278417522617471265671\": [\n \"0\",\n \"11089854384899917034201434511539795234651114690335670966505992924634180214754\"\n ],\n \"4598201391634074940624301361170431616655126154096852402333569665122803639515\": [\n \"0\",\n \"6078959806990869821928970481126949003625595584203265664278417522617471265671\"\n ],\n \"16513224908873370947498747226760198768388036554341593929637786799782955651543\": [\n \"0\",\n \"4598201391634074940624301361170431616655126154096852402333569665122803639515\"\n ],\n \"143874641919174802132182686478959988101352399585496058747370682819115495920\": [\n \"0\",\n \"16513224908873370947498747226760198768388036554341593929637786799782955651543\"\n ],\n \"3280464690988526778383896457431643757492822875951257314714685718102854093224\": [\n \"0\",\n \"143874641919174802132182686478959988101352399585496058747370682819115495920\"\n ],\n \"13419605189120197016667611405779575337467524414954472952380763764374810418356\": [\n \"3280464690988526778383896457431643757492822875951257314714685718102854093224\",\n \"0\"\n ],\n \"5928550630048751748025225149359855352237640820728966085420189445843675288898\": [\n \"15753269125529328100563903374648924985425209293420212857325790914143138502433\",\n \"13419605189120197016667611405779575337467524414954472952380763764374810418356\"\n ],\n \"19633090804777543604967997580832071385680180087670641917283520327587683123142\": [\n \"5928550630048751748025225149359855352237640820728966085420189445843675288898\",\n \"665688136072305149808720349289811425234335207106757640310830220539533323698\"\n ],\n \"8811788198782936487253577640245728398730682112663424614133573012464735025428\": [\n \"1970935656262009618027363035819124899421693793210116485863891182468872860225\",\n \"1\",\n \"1\"\n ],\n \"4437321384295606564510041584412297124918358114211733558398219392668474319269\": [\n \"16030051422725521329319627127665779551158308322952137697679729536113201872123\",\n \"8811788198782936487253577640245728398730682112663424614133573012464735025428\"\n ],\n \"19791099504188052635355053248777679273458916186649756523957388390121840974333\": [\n \"4437321384295606564510041584412297124918358114211733558398219392668474319269\",\n \"8379756705955360869625632754135569771377174613055023588993873582037315662397\"\n ],\n \"16488041690818028477612929743543207395158369943946498444219458870597351943256\": [\n \"19791099504188052635355053248777679273458916186649756523957388390121840974333\",\n \"11263417985599580068570092048334489695379481007012076950944512606753864438838\"\n ],\n \"20248525611517994987850576439253113153967289686723810548313173435639517664916\": [\n \"13010897228012148729867159545655575456085524765833204855637426423160192832958\",\n \"16488041690818028477612929743543207395158369943946498444219458870597351943256\"\n ],\n \"14175744790159145677923937125406186219710199702240695224986002202935813880885\": [\n \"10583667660537313351231138801130000254258341787861501282995716072673873427305\",\n \"1\",\n \"1\"\n ],\n \"2940821646387773013687145689580719561033610892422923316349326605541809125234\": [\n \"14175744790159145677923937125406186219710199702240695224986002202935813880885\",\n \"3613746352169874471289506025406623047392742813238968349442336301241135830167\"\n ],\n \"16434504985885681706946772118740914805274707546362585577037437692873900062290\": [\n \"0\",\n \"2940821646387773013687145689580719561033610892422923316349326605541809125234\"\n ],\n \"21793084036024219299839750208523680173835039902344860034829896435314557424179\": [\n \"16434504985885681706946772118740914805274707546362585577037437692873900062290\",\n \"0\"\n ],\n \"16269634713782787775641296559669346250719109052947004370134420716393964654081\": [\n \"0\",\n \"21793084036024219299839750208523680173835039902344860034829896435314557424179\"\n ],\n \"8297136111469716182137536637087915025018518109788753912856955847180431690726\": [\n \"0\",\n \"16269634713782787775641296559669346250719109052947004370134420716393964654081\"\n ],\n \"10030498467347040073198969807445940235703568640190816196198226606104655635174\": [\n \"9572554789042390062138825640704246875012428000800514756898573984270250150075\",\n \"1\",\n \"1\"\n ],\n \"79837013300664911025212408682715135481498538971146669448932199625879485231\": [\n \"5214194683404242550908899104782485808577918873965312377427896916285012562734\",\n \"1\",\n \"1\"\n ],\n \"18335809572617826133550556963260406429092882641248938634646068148234976091120\": [\n \"79837013300664911025212408682715135481498538971146669448932199625879485231\",\n \"15873031525191108206373982573941903188293125559298996555524810415056939266868\"\n ],\n \"4433571569746599685579095740438121592488149880144962378502096804696081824068\": [\n \"0\",\n \"18335809572617826133550556963260406429092882641248938634646068148234976091120\"\n ],\n \"17108498806038242035299659132356073818456718606473643535868814732016167494478\": [\n \"18870067354676679738897887562146179369633047656225782955758400512241664023579\",\n \"1\",\n \"1\"\n ],\n \"5301711112794113016983469699192558592408605966704011003717715024677646406421\": [\n \"19624698381764374507992657025993754458943937075800064994044784127552645307120\",\n \"17108498806038242035299659132356073818456718606473643535868814732016167494478\"\n ],\n \"14474667227814930565584021537840964220428727545428897866051424572818239634533\": [\n \"713815853958303273880496604320382227873556704775748252438270730795141337614\",\n \"1\",\n \"1\"\n ],\n \"8537103134363380830212804006253997681181392073578815995489007477989072288608\": [\n \"14474667227814930565584021537840964220428727545428897866051424572818239634533\",\n \"21764788107000287716991952446650257300988818508498117622915948016870376792330\"\n ],\n \"18263364564968596596519662139314221017322842428217683399555172203575004263251\": [\n \"5838277559586301336600221654198925697738115976125925833993653223442868883191\",\n \"8537103134363380830212804006253997681181392073578815995489007477989072288608\"\n ],\n \"19637009525760277273067375822834791908502288690879921499205151190526679194675\": [\n \"18263364564968596596519662139314221017322842428217683399555172203575004263251\",\n \"19681600434591353512626866517612980756900674344091667844531346799561467638935\"\n ],\n \"12429019045720080833773053131086972725492063341230926259299503464624341315188\": [\n \"19637009525760277273067375822834791908502288690879921499205151190526679194675\",\n \"2462338379863356629109762197562266727937149140393481290314198096095807570350\"\n ],\n \"6186388973225438286381090035813348902034503908395559710537841262602004799937\": [\n \"9562225814926024925215192968583672692003139542372335220434220672924100291114\",\n \"1\",\n \"1\"\n ],\n \"3158524124184906171149013660415688310260372532567698618112858864270516644038\": [\n \"6186388973225438286381090035813348902034503908395559710537841262602004799937\",\n \"14486247649376010892184852113319123825358029804748630738438952671502632453994\"\n ],\n \"18573258211180302448891144468400948310096431656123032518313404082751271559546\": [\n \"10957501025801170976820329772562416757191517520998201893701940054480089927128\",\n \"1\",\n \"1\"\n ],\n \"3236846510774019491290714055016524845911294676166318098055395959839338902108\": [\n \"18573258211180302448891144468400948310096431656123032518313404082751271559546\",\n \"17276493063040632903746722607769866918235457049627077828287776210404562889321\"\n ],\n \"830458233573698513311195340966746459181856297499822489540944852106643641252\": [\n \"17583241308695682344624623920272313348677561639705460899823706231325504227441\",\n \"3236846510774019491290714055016524845911294676166318098055395959839338902108\"\n ],\n \"14869938215754054766969792300606056900501463340670600455004269829261140559561\": [\n \"21751605679613435244851643407912033395151382455757577222992481341942895719337\",\n \"1\",\n \"1\"\n ],\n \"21691155990040776156164666492038489882932473159173586793713501082595494426173\": [\n \"4988061319574824665286160002135662353592956270653044567932483910315200419759\",\n \"1\",\n \"1\"\n ],\n \"7118296514856357460583234131784620705953304383142053719968864599849489918792\": [\n \"21691155990040776156164666492038489882932473159173586793713501082595494426173\",\n \"18098074322444847229393178086052140989982996404156844681115726520168799798355\"\n ],\n \"20965464861417703542960540815754131461142863536118400417117456308219827913272\": [\n \"7118296514856357460583234131784620705953304383142053719968864599849489918792\",\n \"0\"\n ],\n \"6605296131028853595237264258141346198770123827211499857468615606175946487421\": [\n \"20965464861417703542960540815754131461142863536118400417117456308219827913272\",\n \"0\"\n ],\n \"20392394007281725050198537090960333949653060274128774302013140089803851837316\": [\n \"18863800276663667239968492359253441256862614882943122557627479385313125841911\",\n \"6605296131028853595237264258141346198770123827211499857468615606175946487421\"\n ],\n \"10211587994833128252798013373876736633816742083970801865013524523123828647379\": [\n \"16341020413342324392225823315210469872239148961160086332078338119497813667378\",\n \"1\",\n \"1\"\n ],\n \"16322891862769581531927934136769645409313338998194279102214889395050555631872\": [\n \"12833211808617123255994319882184012847416725482690081670975002649766771783535\",\n \"1\",\n \"1\"\n ],\n \"6240828831123413632511089746464473478663941348331701023442581009268564937559\": [\n \"21817113034263260951866699098822641793905278219285556963552164514088646232953\",\n \"16322891862769581531927934136769645409313338998194279102214889395050555631872\"\n ],\n \"20879310078287302094419219435469277941124595056568071773773870668479536462506\": [\n \"5192885966024936846155313204929871780740608447975534367817005425984395639402\",\n \"1\",\n \"1\"\n ],\n \"4116671671829193098446571506104620468193669374214459464206922444945050019752\": [\n \"2839706893270439112994483920106306451090700607172674871718037899513834969359\",\n \"20879310078287302094419219435469277941124595056568071773773870668479536462506\"\n ],\n \"8799742833540288995766577983011062885714697302011752756094170300806542779106\": [\n \"0\",\n \"4116671671829193098446571506104620468193669374214459464206922444945050019752\"\n ],\n \"7300719177904017113098246437191706428342650787267872674135485283695394954515\": [\n \"19421612314669312538678748208135366966591108799299191495016854684851561573647\",\n \"8799742833540288995766577983011062885714697302011752756094170300806542779106\"\n ],\n \"4701224951711526784534504865033619254830124227225901627459002518009744030108\": [\n \"2763790541616851802147165672761516854768713101222168290111402536919927096201\",\n \"7300719177904017113098246437191706428342650787267872674135485283695394954515\"\n ],\n \"9751201603953315296906495747311595032939964377011067246911179156136276665087\": [\n \"4701224951711526784534504865033619254830124227225901627459002518009744030108\",\n \"16317352449218927142160137514307465815162719793899928618536639415301387316604\"\n ],\n \"4513657939371555840484152922183174820338972160226721830846208206040605909319\": [\n \"10941515482522112047824888844781436830317347863211249312294545223851699105902\",\n \"1\",\n \"1\"\n ],\n \"9325720583104960227512522035019407149027431684446526844191459855220570403827\": [\n \"4513657939371555840484152922183174820338972160226721830846208206040605909319\",\n \"1867991123885727034059413581315635912348848745229854050042272138982296762765\"\n ],\n \"18873830188920007174492508585465757124224530398081945210886508144998304732453\": [\n \"0\",\n \"9325720583104960227512522035019407149027431684446526844191459855220570403827\"\n ],\n \"13450099520299412141386737879740691775185962208799401321194074988805807793727\": [\n \"14535964692358695571106045911067902294858238416431178477917947338164409783464\",\n \"18873830188920007174492508585465757124224530398081945210886508144998304732453\"\n ],\n \"894873631694806829553639753469837205286050953899421853863876326782848810403\": [\n \"0\",\n \"13450099520299412141386737879740691775185962208799401321194074988805807793727\"\n ],\n \"4072455943011185120409884029873778943332982599777764421963776228449164719071\": [\n \"894873631694806829553639753469837205286050953899421853863876326782848810403\",\n \"0\"\n ],\n \"21417656195770919079951481378479723689171088474317449335173739159486713867021\": [\n \"4072455943011185120409884029873778943332982599777764421963776228449164719071\",\n \"2043533584814970560489531918365578637909972195048313551557112326160662939335\"\n ],\n \"17000139718504735041550216441499820370575126135591950434042968261794080579366\": [\n \"5621572681883546714217323178046289738562890748147098451810872846524506670099\",\n \"1\",\n \"1\"\n ],\n \"596830287961761302409778153049047984889120182172685967684826217886045040142\": [\n \"6025273535958157644823601467791235673391631900195923955685437592474922070137\",\n \"1\",\n \"1\"\n ],\n \"16462803328227343923440715822063400491621632317295903503593940543463593295120\": [\n \"2153816710780219836089451523542439690184149292370555202450370741443889224571\",\n \"596830287961761302409778153049047984889120182172685967684826217886045040142\"\n ],\n \"14519391457553778074565704882212578160140799649550142683423450921510463201909\": [\n \"19645153799163840849083498712012724247208258356082337867999946814165982098600\",\n \"16462803328227343923440715822063400491621632317295903503593940543463593295120\"\n ],\n \"12532717353994287420225895895768257871265911517521694187534908475507974630437\": [\n \"14519391457553778074565704882212578160140799649550142683423450921510463201909\",\n \"0\"\n ],\n \"18885885386165752192502120288928184005619665418951916000767552231291392199321\": [\n \"12532717353994287420225895895768257871265911517521694187534908475507974630437\",\n \"0\"\n ],\n \"18127817996895186457761301182652693926997051260050611796372078313318325798892\": [\n \"17391090445533959213387017217520570634838358803565841487552500756572861807412\",\n \"1\",\n \"1\"\n ],\n \"8231904988285047640346674951632357669162456907766234223142828946080220078538\": [\n \"18127817996895186457761301182652693926997051260050611796372078313318325798892\",\n \"16705076889757144461602872699059674754104254329235698873322362252512474458466\"\n ],\n \"14118182294457602635285798511225049504947261956641833626556004357990812003113\": [\n \"1575865111837459494007783968617677802740600053423832488673602930712982546670\",\n \"8231904988285047640346674951632357669162456907766234223142828946080220078538\"\n ],\n \"19532805459129756888069508577866366033971854342213104420953948880868362456299\": [\n \"6945187616416877409775850192327928013035380058352716325207935084872941957742\",\n \"1\",\n \"1\"\n ],\n \"17967387604572451403479953396610016963464158772110638816436852939314613614836\": [\n \"16013738282502284805444707004755759595244608381062745243617709710035611464996\",\n \"19532805459129756888069508577866366033971854342213104420953948880868362456299\"\n ],\n \"8937313652481771369989942823885988104557702132111392309798263583547600944568\": [\n \"0\",\n \"17967387604572451403479953396610016963464158772110638816436852939314613614836\"\n ],\n \"7962519389109235895543132612271588117419074894892922612732371970621714230848\": [\n \"11083192036059408656468725621370632834956416621847949152756765931100750087462\",\n \"1\",\n \"1\"\n ],\n \"4546688232975834395276474209697007711784799746827067244873994356282971965963\": [\n \"7962519389109235895543132612271588117419074894892922612732371970621714230848\",\n \"9197283058995746394353498690300445865861148369894596536418451417526866231478\"\n ],\n \"7705260405882268112944881939477584684741185868035007579003916559614800984261\": [\n \"4546688232975834395276474209697007711784799746827067244873994356282971965963\",\n \"11407803535077095192921180615094460760234007452919711482233936628611445323112\"\n ],\n \"14907306585084199573628568035299112858282363579574885200164325046506233746714\": [\n \"7705260405882268112944881939477584684741185868035007579003916559614800984261\",\n \"14131606600743758837130504619083387774580397585091672901576849028804990110339\"\n ],\n \"8054469527000821431175102074144715163526851012423038730549997938992417519892\": [\n \"14907306585084199573628568035299112858282363579574885200164325046506233746714\",\n \"8219454099775768695957119248176217259331984642295962150945655519995637604828\"\n ],\n \"8734330699313341645171987541810680820067888256540184284652475753425295605812\": [\n \"6116761011441522908250254639773359417398400749021988571200645910997404366082\",\n \"8054469527000821431175102074144715163526851012423038730549997938992417519892\"\n ],\n \"20246530517474869845197501870570243740282378868767064352963096408553622144767\": [\n \"14453626996289197385826170345304541052516334531162851588788389047378785150340\",\n \"1\",\n \"1\"\n ],\n \"14553873440352887863463102770216996751311452210149109455183258972814821272267\": [\n \"1608705017082848787568033210792443238090076513849432147980239464777342505487\",\n \"20246530517474869845197501870570243740282378868767064352963096408553622144767\"\n ],\n \"10502832438912072767691082530766795941154127427774320860055570940774133622890\": [\n \"14553873440352887863463102770216996751311452210149109455183258972814821272267\",\n \"0\"\n ],\n \"6806895250042968701728801789143268991011086052442530312927391907056196073102\": [\n \"10502832438912072767691082530766795941154127427774320860055570940774133622890\",\n \"19759764386945310310118585891467425035000086531934267556784688700558292988733\"\n ],\n \"14298373105208282423516583146131091690623392470200824013473557862153565408765\": [\n \"18719549896560912166075116919595916474269614360167445891061169383985530797806\",\n \"1\",\n \"1\"\n ],\n \"4380154552134332140503327357140488378227101407337800816462303109579403871815\": [\n \"15287729474685380504307999326836676313933150015985884722412167323667362220312\",\n \"1\",\n \"1\"\n ],\n \"3721382494630555770369327909127911782994033240597648818842365036429739457147\": [\n \"4249984854348490052352111731308583636141476404615807033431708130715808162528\",\n \"4380154552134332140503327357140488378227101407337800816462303109579403871815\"\n ],\n \"1334491148022971943963294544779665119602294245938096888116313431194134502480\": [\n \"3721382494630555770369327909127911782994033240597648818842365036429739457147\",\n \"20792464764999169161247538852991303325570731298238152447264239767983646997864\"\n ],\n \"1762621612061279897878534508254827144582827484152383810447513744351679619546\": [\n \"10852823455774820368886484191294790159476766057437576371303960733100775406807\",\n \"1\",\n \"1\"\n ],\n \"127649721401624436885878919803204957366775438016318936101422733612267687549\": [\n \"10223653586733027190179382372814937232017568612245492700845212646455777406365\",\n \"1\",\n \"1\"\n ],\n \"20899356813337391654784332475588368361742107959299766884610791787706013936100\": [\n \"16250486405029731303428185800142250996357571294098363318540283317141449035867\",\n \"127649721401624436885878919803204957366775438016318936101422733612267687549\"\n ],\n \"18438280570857165839705709334400706525321856842338553170172106297937758077514\": [\n \"20899356813337391654784332475588368361742107959299766884610791787706013936100\",\n \"0\"\n ],\n \"14527359466437259225063160520977815832752468706065312365455200664090385376925\": [\n \"0\",\n \"18438280570857165839705709334400706525321856842338553170172106297937758077514\"\n ],\n \"1882180669014584826239483264595158313748290528536307755996127009096568237846\": [\n \"14527359466437259225063160520977815832752468706065312365455200664090385376925\",\n \"0\"\n ],\n \"9154506117264238884000690441073045671623846790428242876271733390818679343971\": [\n \"6669474947998750581094717308696043112176418071390810620106271302986344337276\",\n \"1\",\n \"1\"\n ],\n \"15147799049387673390383585011020451627231325362539302693538306136211769625550\": [\n \"8455126956385519039877239944738773780512837802800730424701297163682149206013\",\n \"1\",\n \"1\"\n ],\n \"12525053524241181623663999480415014889849856685787136803334333653849151139409\": [\n \"15928680211273809981362583201230950760610122344741528721429149586214662689749\",\n \"15147799049387673390383585011020451627231325362539302693538306136211769625550\"\n ],\n \"16824659883655734103510493319679236026358534279254163723197597411940592075729\": [\n \"12525053524241181623663999480415014889849856685787136803334333653849151139409\",\n \"0\"\n ],\n \"18882346688360617499844784260577551192140382358590420703202134722198982094284\": [\n \"16824659883655734103510493319679236026358534279254163723197597411940592075729\",\n \"0\"\n ],\n \"21319889031731871673116436694952434440271758714092996957800768736944066153714\": [\n \"18882346688360617499844784260577551192140382358590420703202134722198982094284\",\n \"0\"\n ],\n \"17973951766108144840377740908434388600223339057211958017651639466992609130257\": [\n \"12082541288611529535083888808992750942143942938951438474974099998349893820703\",\n \"1\",\n \"1\"\n ],\n \"21841086118181385274424258562619643545296396264655632348876105855401944945343\": [\n \"17973951766108144840377740908434388600223339057211958017651639466992609130257\",\n \"5288888474317437203306955897689472804603124102557072163429229335634808312476\"\n ],\n \"10634193757910801671824041549725449757885982745477332697253733743577434700766\": [\n \"21841086118181385274424258562619643545296396264655632348876105855401944945343\",\n \"7896542953054195472546869313040339139898432942719784639836543417098172715596\"\n ],\n \"16795890397349569841414666361514444781904163135612582084604974041995483311811\": [\n \"10634193757910801671824041549725449757885982745477332697253733743577434700766\",\n \"16856128953093473655890291541849106642055628798040281484911866612825885649950\"\n ],\n \"11112149418413608212623173016172640082129829315567695870622029112775778820874\": [\n \"1913354853279473626648057720666617814908371889154051423049948140748639915290\",\n \"1\",\n \"1\"\n ],\n \"7076272120303011901048190895141458758195673001526101090034712513397755536862\": [\n \"8089888631082025535201223397787682643539035825132478048761647844363005440259\",\n \"1\",\n \"1\"\n ],\n \"1447418205013044138247611986011019536031793683279392501427040838077438759869\": [\n \"19864196036286094057791835612914967701442201144055732347714745484163873505530\",\n \"7076272120303011901048190895141458758195673001526101090034712513397755536862\"\n ],\n \"13438158560418095133522834468903766182725655405909082385390690200349572823033\": [\n \"6674157425752916960464350739389556610475599055585617800982989588902287425285\",\n \"1\",\n \"1\"\n ],\n \"19860418526901249325280175891660527888283458632849392444321675970770156989238\": [\n \"16773657811247281661813802319570665656405704953190850175220115278538404599205\",\n \"13438158560418095133522834468903766182725655405909082385390690200349572823033\"\n ],\n \"6359010525701735036331038855417852070155095360098413451722034683000830736015\": [\n \"19860418526901249325280175891660527888283458632849392444321675970770156989238\",\n \"0\"\n ],\n \"1795399870076887748910745912591921377437526166845826532593841003542413567246\": [\n \"0\",\n \"6359010525701735036331038855417852070155095360098413451722034683000830736015\"\n ],\n \"4521958420515990048565895140573121471267166633681692143103147851474486131788\": [\n \"1795399870076887748910745912591921377437526166845826532593841003542413567246\",\n \"0\"\n ],\n \"9767817326353095274999885516406372831923467371754410305504737028389915451683\": [\n \"0\",\n \"4521958420515990048565895140573121471267166633681692143103147851474486131788\"\n ],\n \"19006890319631818588838333342964192082303224294550590045980840428508417334615\": [\n \"9767817326353095274999885516406372831923467371754410305504737028389915451683\",\n \"0\"\n ],\n \"10703104249841270454895303882744651177879501744406438880327886175433020376207\": [\n \"17341636120706332578627884419064812694213523600978293309940936192297397530409\",\n \"19006890319631818588838333342964192082303224294550590045980840428508417334615\"\n ],\n \"9843961210693455575568187916635858844354369068070989104155793471554851122810\": [\n \"20350699519054501284098311841048056433773490845242886484395393363948083941033\",\n \"10703104249841270454895303882744651177879501744406438880327886175433020376207\"\n ],\n \"12134288898084952349807237978555704577376609622635180093337233625624600620137\": [\n \"4397909312155415366170424757292060636645183370943424400545643123228559681063\",\n \"9843961210693455575568187916635858844354369068070989104155793471554851122810\"\n ],\n \"5719419786281254911925720189084761389056898189612243361252367810756373274887\": [\n \"306002718049428977668740061960877909161526372695745967579718784755183548004\",\n \"12134288898084952349807237978555704577376609622635180093337233625624600620137\"\n ],\n \"14242823117826540017759822082293192714512721477800988719836039457051062348642\": [\n \"2128855305108290587295286994710881379797723817056774014800232895957985017671\",\n \"1\",\n \"1\"\n ],\n \"3689026213162350488326355802183524524571762379677281031238834855188476150195\": [\n \"14242823117826540017759822082293192714512721477800988719836039457051062348642\",\n \"1932821923498744392634758137161507835647740314266327715490999082583578175171\"\n ],\n \"14990665411200586458248338830275976749129698531595224628649596832650384209383\": [\n \"3689026213162350488326355802183524524571762379677281031238834855188476150195\",\n \"0\"\n ],\n \"9519753996711637051864980521170475198578479772250193232828876765063924751771\": [\n \"14990665411200586458248338830275976749129698531595224628649596832650384209383\",\n \"0\"\n ],\n \"18204442291023825650557257685463087381106727625307255553789126578841440146232\": [\n \"0\",\n \"9519753996711637051864980521170475198578479772250193232828876765063924751771\"\n ],\n \"20708835021412923808344529694266234693901148968898429339267637697091558370724\": [\n \"0\",\n \"18204442291023825650557257685463087381106727625307255553789126578841440146232\"\n ],\n \"4716885832174565507536236356738540345973830300730733520643343287371246525600\": [\n \"19278480061050071800937610915252438977716755167688848085860537557795459271884\",\n \"1\",\n \"1\"\n ],\n \"1131033340045906190223492435047481102290299345800827301899047336562708684051\": [\n \"6062500512639911096552459334866131499851156287738556918916755073691454389055\",\n \"4716885832174565507536236356738540345973830300730733520643343287371246525600\"\n ],\n \"2241524756662621182943175040073467768893728033490861581385368132644595202556\": [\n \"1131033340045906190223492435047481102290299345800827301899047336562708684051\",\n \"0\"\n ],\n \"16679122153671440976573804978280888089068246413076509881907061060378851350075\": [\n \"2241524756662621182943175040073467768893728033490861581385368132644595202556\",\n \"0\"\n ],\n \"17639953589636708130491548075490594481754997178432661054720099618770224980131\": [\n \"16679122153671440976573804978280888089068246413076509881907061060378851350075\",\n \"0\"\n ],\n \"15464684525399417653600307346771397728708507765698698244825240661812352166270\": [\n \"8863457300033616461253211657482605309465646901612284715109067884527628724227\",\n \"1\",\n \"1\"\n ],\n \"15161373157480455782096094585202223919078641576287606450611319935897895078206\": [\n \"3167032998945792936941040069945279552763701163156107113981812961479476735580\",\n \"15464684525399417653600307346771397728708507765698698244825240661812352166270\"\n ],\n \"16887164409941076901796474103049999966435362845474849648220399257110280386291\": [\n \"15161373157480455782096094585202223919078641576287606450611319935897895078206\",\n \"0\"\n ],\n \"2584358224747229108508711484786676431836406426700842944924598342203721038790\": [\n \"4128822648012776242113501532427144107128687327108657585152967936196204400198\",\n \"16887164409941076901796474103049999966435362845474849648220399257110280386291\"\n ],\n \"7888433443162464180696325986893453021223022445906840226502135128051194332936\": [\n \"2584358224747229108508711484786676431836406426700842944924598342203721038790\",\n \"14313994105904655040867560627710754365651346208913001905305192568660976212731\"\n ],\n \"14080735752603600250249411325137157610162689961644596110904957765248202598124\": [\n \"11060291991155491549834798658232246808922932902382584895205864330621483089184\",\n \"1\",\n \"1\"\n ],\n \"17695370865955550061557200990530527600318914568745059236301187815861348365910\": [\n \"7023643202797428849862171545056065606231307426326095413094536853468027555877\",\n \"14080735752603600250249411325137157610162689961644596110904957765248202598124\"\n ],\n \"4634302725281585184232736166285444065217571014057677673099931249948417599902\": [\n \"0\",\n \"17695370865955550061557200990530527600318914568745059236301187815861348365910\"\n ],\n \"20211297942340854674755826580605059764663270638227812542015765838146419931215\": [\n \"20102189913618173556630436364049300550249359846998002780623396565131987228320\",\n \"1\",\n \"1\"\n ],\n \"13448954516382265374783206853795277796093914953918438607093757462252910862406\": [\n \"20211297942340854674755826580605059764663270638227812542015765838146419931215\",\n \"16866481736997297686281201184357162653588525232383088960313590767681369103298\"\n ],\n \"17538115477069157140947618640782244548756263871928110780092158488795259627160\": [\n \"0\",\n \"13448954516382265374783206853795277796093914953918438607093757462252910862406\"\n ],\n \"15323172751385753759723411127571820346736403063628818064560163166151909047076\": [\n \"17538115477069157140947618640782244548756263871928110780092158488795259627160\",\n \"20583997583811209828555122783127856264955312426465518077990535136995219517860\"\n ],\n \"12306657814963812432705941003596231332674322514808506346075366279910085736793\": [\n \"16124905631570160976199968215330830581350458786165453314609319759300207136191\",\n \"15323172751385753759723411127571820346736403063628818064560163166151909047076\"\n ],\n \"5856595665198392821954215421301547204449624370495713867815511161369542981779\": [\n \"751373000449194118199577201900451307937041681709537362049752080022094253239\",\n \"1\",\n \"1\"\n ],\n \"321583024235298647035908150064635335880459746327393782447618074158674729751\": [\n \"5856595665198392821954215421301547204449624370495713867815511161369542981779\",\n \"9999949345587233603406429611065338389512275470764362535381148757800677985139\"\n ],\n \"14919974891230884430072557256343076581353830633611525855308724285598503532599\": [\n \"321583024235298647035908150064635335880459746327393782447618074158674729751\",\n \"0\"\n ],\n \"1769256379983695364715898697930032848852466867163864720630097068400397872652\": [\n \"14919974891230884430072557256343076581353830633611525855308724285598503532599\",\n \"3696535860741623410152611344239944161588909828898969623323747335159050742554\"\n ],\n \"6375413254992591994293269897117835299751104326614575052149028275355905053902\": [\n \"13817091825760045861398084797740254653808993732413773155051418443065755768165\",\n \"1\",\n \"1\"\n ],\n \"12433935070229922768100171348776362918427693818626226892613293407274382194007\": [\n \"15376538454406993462121531121124488099448215546466165238572171145638487765660\",\n \"6375413254992591994293269897117835299751104326614575052149028275355905053902\"\n ],\n \"3444272085379431553783217825684953419279597413378047191657637423236767276211\": [\n \"12433935070229922768100171348776362918427693818626226892613293407274382194007\",\n \"0\"\n ],\n \"8472245901442697153891167749086804584296700445659531571730203333514634816051\": [\n \"10860282786892754357094636491846766841923370746279550820268292994578493242809\",\n \"1\",\n \"1\"\n ],\n \"13495988127623642061566914789148386944746414166611984888325656183512376334724\": [\n \"17638649211987630532012792976448357072479399478893945584807040909121001860413\",\n \"8472245901442697153891167749086804584296700445659531571730203333514634816051\"\n ],\n \"11063336989233489482134865222426896840564501508232246839080916370147960206246\": [\n \"0\",\n \"13495988127623642061566914789148386944746414166611984888325656183512376334724\"\n ],\n \"20791691067120541771140920417893664938551219482007865905775795853963234616317\": [\n \"4148321887948529579465774571254866973230157255141973157387548628923646527219\",\n \"1\",\n \"1\"\n ],\n \"11909270230028945089296730947146214989921498328781220833426512811743041752852\": [\n \"9764129790296977830377476874484105869541127825051713847233933882531801341583\",\n \"1\",\n \"1\"\n ],\n \"7234064964181250048001611848628267085188532738059731725911533269663294498874\": [\n \"11909270230028945089296730947146214989921498328781220833426512811743041752852\",\n \"4352504658197279869901522129306261230322131342477762509537136378033512398380\"\n ],\n \"20423004769442631545916502413684417187207958160605342705795324303576581262130\": [\n \"7234064964181250048001611848628267085188532738059731725911533269663294498874\",\n \"0\"\n ],\n \"15731533138425218657285869700791569366402450070758174910506499162759259864902\": [\n \"0\",\n \"20423004769442631545916502413684417187207958160605342705795324303576581262130\"\n ],\n \"21801182326200284567573288029459446381005898811741685162609597152687282650482\": [\n \"135601797818341834468582857731756949534760438572215681464751558151297688492\",\n \"15731533138425218657285869700791569366402450070758174910506499162759259864902\"\n ],\n \"19192912547786411140340085316467980987270863208815679057069131385037791853533\": [\n \"16527474848155957098009286307509204696814814711830380795032501280979551309120\",\n \"1\",\n \"1\"\n ],\n \"18232319185890126312729826719494526699538055115156911496022713384225713258864\": [\n \"5091002893604833573316610735108402489192512176217720624500772748658748236104\",\n \"1\",\n \"1\"\n ],\n \"19254128463381454664713276332666079903094969267359547892286945265560607148388\": [\n \"18232319185890126312729826719494526699538055115156911496022713384225713258864\",\n \"1749503065729476409145631877939601833922931345293104306740177024982469304631\"\n ],\n \"3118791442820225018188275458073218172543497980592294168753917125067407978286\": [\n \"19254128463381454664713276332666079903094969267359547892286945265560607148388\",\n \"0\"\n ],\n \"15353851586607960222891282071199102088074361449065571885473129121733227329069\": [\n \"3118791442820225018188275458073218172543497980592294168753917125067407978286\",\n \"9001541719210256716748399946204271516070763304508255676227096219603876401493\"\n ],\n \"4437371763966066339422900768294862119735842504153182885927636447255234709472\": [\n \"320336560860378332424111857351384339147738692511212718883992439447999352331\",\n \"1\",\n \"1\"\n ],\n \"6776560379872062886158501789612602932823049432473928514163356649916332313022\": [\n \"4437371763966066339422900768294862119735842504153182885927636447255234709472\",\n \"5525004248494840893469629867322004100002684121105658323727110171349883426955\"\n ],\n \"5942005601035509830133291674069927689680504556457554847167625514871804971162\": [\n \"6776560379872062886158501789612602932823049432473928514163356649916332313022\",\n \"0\"\n ],\n \"19777180974162824716801687824747833053413362861260736120181268738116019608190\": [\n \"5942005601035509830133291674069927689680504556457554847167625514871804971162\",\n \"15832545066875603995966135370278152664782044559243501310420089809285802443369\"\n ],\n \"7929122531133024869870059093157079261294064967803030725568340659272053309936\": [\n \"19777180974162824716801687824747833053413362861260736120181268738116019608190\",\n \"0\"\n ],\n \"850997340811663252712696758813902434232465379334788230788677335801093949944\": [\n \"7929122531133024869870059093157079261294064967803030725568340659272053309936\",\n \"0\"\n ],\n \"21642973009441942672775690273053219492091242837931332739400527710093871125338\": [\n \"6938448664296637701477850570754934911263311429808456396540161605716111357110\",\n \"850997340811663252712696758813902434232465379334788230788677335801093949944\"\n ],\n \"17782819576374463830405090998550114720897648694422632947092448781102663765466\": [\n \"8395008227214356726389095878988188350236235896497495586222899377880428566905\",\n \"21642973009441942672775690273053219492091242837931332739400527710093871125338\"\n ],\n \"18076447606273747619104083756471383410975811754707200971975516072823305847732\": [\n \"10134898134079846403226900557432820801703497049753912502322011251122865028978\",\n \"1\",\n \"1\"\n ],\n \"8842323356982991824026302848286033069009589025540512879800256957222310610755\": [\n \"471471230833636279320597525580286091179484958088361473154827265127128676647\",\n \"1\",\n \"1\"\n ],\n \"13169951448898485911606318456758400903488174691710068700474504117621753417757\": [\n \"9399804624450725113356106191767121424479293080008882357753154036178831746652\",\n \"8842323356982991824026302848286033069009589025540512879800256957222310610755\"\n ],\n \"6762425472273294391358239550458956989691623611949740973009342444982818452870\": [\n \"13169951448898485911606318456758400903488174691710068700474504117621753417757\",\n \"0\"\n ],\n \"16146600231711961259325874835589331711912294551441465289739748203124778851672\": [\n \"15823527973620064489941686653822903099409110821367511792626644728516807644840\",\n \"6762425472273294391358239550458956989691623611949740973009342444982818452870\"\n ],\n \"8863530108547510491194855182749662138469454966568056652244532229346480420923\": [\n \"20803111214157556270419447156466674820133531656003342060690069590480079553895\",\n \"1\",\n \"1\"\n ],\n \"4071380475072054139904334549783894366211945920450341567123713103450817747342\": [\n \"8863530108547510491194855182749662138469454966568056652244532229346480420923\",\n \"1883382043594299868156639632821952227261819415260109638644901311594460305313\"\n ],\n \"12831438761985076305020246245672539831264259001415690270862040157298949628548\": [\n \"4071380475072054139904334549783894366211945920450341567123713103450817747342\",\n \"0\"\n ],\n \"3844629432065779281418239717441534079389737705364127978202461807459477382216\": [\n \"12831438761985076305020246245672539831264259001415690270862040157298949628548\",\n \"0\"\n ],\n \"4003024442000212283154896659064819477718270453053861681789674213271677360079\": [\n \"3844629432065779281418239717441534079389737705364127978202461807459477382216\",\n \"0\"\n ],\n \"15600878483589756634449962495311247582554671744591331991113615056859149020099\": [\n \"4003024442000212283154896659064819477718270453053861681789674213271677360079\",\n \"5847811117698607630109150234225521269290849904384955392337173053281548810026\"\n ],\n \"19905014115573208229915049542367311495493020584866918398817901206705898297007\": [\n \"15600878483589756634449962495311247582554671744591331991113615056859149020099\",\n \"995895924101473378471124274970579779786432982589286531575618575333788806021\"\n ],\n \"2486954362429441341028968118618289269801101705415050833265754657800112361830\": [\n \"0\",\n \"19905014115573208229915049542367311495493020584866918398817901206705898297007\"\n ],\n \"18436669311706439911572995338016366366023532002284336426715187639092056585923\": [\n \"10602115753309927063681193834397071502784715590721039724632984090998051558470\",\n \"1\",\n \"1\"\n ],\n \"15704484020092482709272112943551909541728029797235486400564604171471603158905\": [\n \"15545664574193595778031873171006598947109252695223449721325081828200548486790\",\n \"18436669311706439911572995338016366366023532002284336426715187639092056585923\"\n ],\n \"610190178790090190988692605247973997343147713666655784819610125323686513691\": [\n \"15704484020092482709272112943551909541728029797235486400564604171471603158905\",\n \"16027818173695782231773276464871630945874937253002227646508724586094075613092\"\n ],\n \"1182739959523733079011592314581523455464140620855156104462251594445558623067\": [\n \"0\",\n \"610190178790090190988692605247973997343147713666655784819610125323686513691\"\n ],\n \"7301432940066946401569476056832015469994563504917094338087862737038430314683\": [\n \"16876085611615612784576874885646860465012451570626661279316920849283504183941\",\n \"1\",\n \"1\"\n ],\n \"18108082779611647522504902350379516025017552050750268531070165317807513795157\": [\n \"5012077043240749907470434754110107593270074494046876312716421131714447020444\",\n \"7301432940066946401569476056832015469994563504917094338087862737038430314683\"\n ],\n \"20558432436359748065135346724170268884325956304519047850612669165296878666434\": [\n \"18108082779611647522504902350379516025017552050750268531070165317807513795157\",\n \"7939943976331104282812322442415753677681658204711219286310171118144295637821\"\n ],\n \"5628547982696631358414180657746462217432001288251849155449470065316061367115\": [\n \"20330518608281282591186260709861473825760919341036183333714790475863506853656\",\n \"1\",\n \"1\"\n ],\n \"12670047619385645682830796104431989522463856836965228267396670780819322440645\": [\n \"5628547982696631358414180657746462217432001288251849155449470065316061367115\",\n \"2909829337880743071907203934146045192536788646196853982447157579281073566683\"\n ],\n \"8981345328885650278442607317843203617818543374652693137689859828079534722740\": [\n \"0\",\n \"12670047619385645682830796104431989522463856836965228267396670780819322440645\"\n ],\n \"21371404075367359732564789623596310572660273147088392473568474350761345083968\": [\n \"8981345328885650278442607317843203617818543374652693137689859828079534722740\",\n \"0\"\n ],\n \"778590015280822783667228247563510598228637671492155153492330080819813939925\": [\n \"21371404075367359732564789623596310572660273147088392473568474350761345083968\",\n \"0\"\n ],\n \"14170318621990937074526132609847532107947692055698828133092724345074607913349\": [\n \"21673685427045206515608797292870847878535254181207711844055023942139868148368\",\n \"778590015280822783667228247563510598228637671492155153492330080819813939925\"\n ],\n \"4877513395840147828253297849125177104330163840198059800705163271420568443316\": [\n \"1798549830019094125148783244310477874914255742861655673423205776933256566065\",\n \"14170318621990937074526132609847532107947692055698828133092724345074607913349\"\n ],\n \"19825181453533980693497185410003894461408909800773668612122749047094156581400\": [\n \"1946949638700007192748862956751911659941212583509721413096045402203770794812\",\n \"1\",\n \"1\"\n ],\n \"9031980013403416893515674862877480502697705247872051895505912892935116236256\": [\n \"19825181453533980693497185410003894461408909800773668612122749047094156581400\",\n \"6209404785903152662215193143354357632094750985904439460869771084041301105488\"\n ],\n \"4915164046261448350893021952852490458333651247553785386704930674104626858809\": [\n \"15336863181759050711898369208742939201494978541678262368903054765601559576277\",\n \"1\",\n \"1\"\n ],\n \"184607276271303818749616816201898531645656324827944080382550587852934770108\": [\n \"6596439718263810213357759082950360705200174802966644454205267620145323033754\",\n \"4915164046261448350893021952852490458333651247553785386704930674104626858809\"\n ],\n \"13046706132629949634397749845414067027085279238847060127198970409061880378008\": [\n \"0\",\n \"184607276271303818749616816201898531645656324827944080382550587852934770108\"\n ],\n \"9544490155628705697361540237056805066339948728760207841263327716795899653923\": [\n \"0\",\n \"13046706132629949634397749845414067027085279238847060127198970409061880378008\"\n ],\n \"10172675571991745327348291724641522257204690150122112967303592310164388938728\": [\n \"0\",\n \"9544490155628705697361540237056805066339948728760207841263327716795899653923\"\n ],\n \"17153669854108477717879492666468255749427127020632397376677396358129746431090\": [\n \"4870456791520998395019810666896550401106019409633868689050998534276772935718\",\n \"10172675571991745327348291724641522257204690150122112967303592310164388938728\"\n ],\n \"3913032893887561846376520300649726845750197537895681280231880529714269509850\": [\n \"3091921189499140326198748206916580516216109932185479251064056448728575070109\",\n \"1\",\n \"1\"\n ],\n \"2880155937755002908830114684207088541318560665526442514102533781470119697895\": [\n \"3913032893887561846376520300649726845750197537895681280231880529714269509850\",\n \"10466763779768115704059548069941135264643553661629069652702024144759418223783\"\n ],\n \"19037798166581940498185341965227273287894275249694920966725430682902190298068\": [\n \"2880155937755002908830114684207088541318560665526442514102533781470119697895\",\n \"0\"\n ],\n \"58696410241291308517481626699467595813381862332028374772543054084963051176\": [\n \"19510659082626166218144887050480051810406425621642775591652923174083547220789\",\n \"1\",\n \"1\"\n ],\n \"19848529345852336737607753355010784989155503999340036390265203323350291279842\": [\n \"5430061121346146195242230398912604174646724590311382551066842290690839700393\",\n \"58696410241291308517481626699467595813381862332028374772543054084963051176\"\n ],\n \"3458497744241877931674894122255507473231783791149973777701748620622409220358\": [\n \"19848529345852336737607753355010784989155503999340036390265203323350291279842\",\n \"6685437844709493922511657345739027014558030635819083980610499031178042957033\"\n ],\n \"12716035318848829172766133201371389535426656646747944566961052077931116823454\": [\n \"7791644970737297166338955959263714230675886663986818019659874562558481860078\",\n \"1\",\n \"1\"\n ],\n \"4790861571388750007259472011784395759080213629670563467297946748173856417477\": [\n \"12716035318848829172766133201371389535426656646747944566961052077931116823454\",\n \"15687293328202262593399418417079507630542213218316884872579954142059467475178\"\n ],\n \"21156382863059969229468739019351455612308948025749405275772465258347191624279\": [\n \"4790861571388750007259472011784395759080213629670563467297946748173856417477\",\n \"0\"\n ],\n \"3353382788987245068978359777308664808054033459988787377361466715924358373684\": [\n \"5431403481518655020075963605414211309998409736450361168583336222854372519536\",\n \"1\",\n \"1\"\n ],\n \"2403825806163713015154740326947427908021515688305341693839818608367258753293\": [\n \"4298211185073919700416070042928328517493440552261060155053119329525567530909\",\n \"1\",\n \"1\"\n ],\n \"14482128569926102955973942526585038962147228915936444663969814237839323300919\": [\n \"2403825806163713015154740326947427908021515688305341693839818608367258753293\",\n \"879059577017617991571365493623462556672516574357414374740136968683697308483\"\n ],\n \"9962798382025062693249751981609637881295404661188117795727385904499460724002\": [\n \"5478906419499224914223041355520775909353303350003840390158057309271018392931\",\n \"1\",\n \"1\"\n ],\n \"470658312634405588978764680685100717885097463518054765254572000403121285664\": [\n \"10770197075776208047745446087884496392729741829603845576689531329009469820023\",\n \"9962798382025062693249751981609637881295404661188117795727385904499460724002\"\n ],\n \"8437187857400250974456354686921506261693819169171852669843569732310748501118\": [\n \"470658312634405588978764680685100717885097463518054765254572000403121285664\",\n \"0\"\n ],\n \"17686654069176187802466876521490353316944250186140714181075152575488259884645\": [\n \"0\",\n \"8437187857400250974456354686921506261693819169171852669843569732310748501118\"\n ],\n \"3098679761589143616014142670299907750253586508876644275742072649301984639126\": [\n \"2156568344131956715561226220564091777300517717571422128026655171261623901694\",\n \"1\",\n \"1\"\n ],\n \"12621177354691516562329240616222765807451969333099831141097017282037984062243\": [\n \"17445404866886253877026669348948402266836198228268416351005043143775714183924\",\n \"3098679761589143616014142670299907750253586508876644275742072649301984639126\"\n ],\n \"4510448964796907462384533429305830924590429437870045615913792618186757371028\": [\n \"5077485650806929442340493887563033681065757140409535063159022831159503401191\",\n \"12621177354691516562329240616222765807451969333099831141097017282037984062243\"\n ],\n \"9143856563125424650261136186879685215442075264000892731741784131529074509965\": [\n \"12615543925154072406534056901897649165177640053497201366132618457301092092353\",\n \"1\",\n \"1\"\n ],\n \"1586835297819812653919257710305470089479429102332383919610525566831974970285\": [\n \"17154063925510812847471091168915044600430635044458046094190675186097806313890\",\n \"9143856563125424650261136186879685215442075264000892731741784131529074509965\"\n ],\n \"4071528743390375914401057541331144606126036351463511970823752406245081144460\": [\n \"1586835297819812653919257710305470089479429102332383919610525566831974970285\",\n \"0\"\n ],\n \"13721710266508241521928338839442473205105612500189375202322563886253299063486\": [\n \"13230428343020041792443500338605811386187041719042457633245859828752051313046\",\n \"4071528743390375914401057541331144606126036351463511970823752406245081144460\"\n ],\n \"12040936482386195698613848561350554493980121662358354689943299527198828604042\": [\n \"13721710266508241521928338839442473205105612500189375202322563886253299063486\",\n \"0\"\n ],\n \"14033942952536385606555212244167088837080910512586990331595022015682428756021\": [\n \"11649971035761799964659904950099968740055662433252211490519828752044391018174\",\n \"1\",\n \"1\"\n ],\n \"13145442534462491182850012788638268441429891475884271242595947107361899589084\": [\n \"14033942952536385606555212244167088837080910512586990331595022015682428756021\",\n \"15323258722652340890585915997801552618752650310214603522542361672329674605154\"\n ],\n \"18923395856075376338053432123555598828851015704163509022352029164203848580716\": [\n \"16443637937407319996181056518577762940869096711318208162222060244147096700805\",\n \"13145442534462491182850012788638268441429891475884271242595947107361899589084\"\n ],\n \"15909343855689004090659612041540765406491873865147110679134514520966534663599\": [\n \"13983295319699671343091590169346903349270881474061729702879982504047613134248\",\n \"1\",\n \"1\"\n ],\n \"13561675766470152106711758174899280629128511024022899133263886443548539276540\": [\n \"15909343855689004090659612041540765406491873865147110679134514520966534663599\",\n \"19746527336824964208715539781974262435239515458603291371412064273625232309911\"\n ],\n \"718633777663807182505162450213918160542610696197238296989507127755847629506\": [\n \"15693335611026244459463187751148662258110746096967582914743850292026744671461\",\n \"1\",\n \"1\"\n ],\n \"2772334886961299185995035565663532009807310566900535270503994216322053686689\": [\n \"718633777663807182505162450213918160542610696197238296989507127755847629506\",\n \"21290072895110196215250269952533975288672584073085618750583869520695135671229\"\n ],\n \"1729076612462826278351127480600501472972781281162009997677322877749740281816\": [\n \"0\",\n \"2772334886961299185995035565663532009807310566900535270503994216322053686689\"\n ],\n \"11718090920522059892306441006018607382772681405639647536414287525015119578277\": [\n \"1729076612462826278351127480600501472972781281162009997677322877749740281816\",\n \"0\"\n ],\n \"16142134058713515926366830018605492782179909763940543548072083313602931990557\": [\n \"14887355634606545773120385420328084307726911652012265125314150810874036535357\",\n \"1\",\n \"1\"\n ],\n \"10704637953612320708905472789071911789647405278375366983333412275586494532178\": [\n \"16142134058713515926366830018605492782179909763940543548072083313602931990557\",\n \"1202618158714749915651848237431178727864194848370915332748759373770699267868\"\n ],\n \"21499074334350879193846655357069894926925260602938127600802627124340435402877\": [\n \"10704637953612320708905472789071911789647405278375366983333412275586494532178\",\n \"0\"\n ],\n \"40369789949819417331718733527486535537608811417026617584428045841156838884\": [\n \"2942108430290652441739481585328727955906132557282661341117808202061128739918\",\n \"1\",\n \"1\"\n ],\n \"10536458503742991937051093180648866989974990378935829610946319738356926204956\": [\n \"40369789949819417331718733527486535537608811417026617584428045841156838884\",\n \"12252929199684494283689107486264264097568745124592435112878118429641242430812\"\n ],\n \"18480464707720091972682280703827329096546302011833857481957714990440431181631\": [\n \"8680218885441072041305645467216823787984535460209558624374089061158386239513\",\n \"10536458503742991937051093180648866989974990378935829610946319738356926204956\"\n ],\n \"15428827016707460079056758692990033989490471780722005033880268572423111560680\": [\n \"18480464707720091972682280703827329096546302011833857481957714990440431181631\",\n \"0\"\n ],\n \"19195164273983344004222659801470770343852663744321739767313082025823530043972\": [\n \"19762566378510095843570232209570775110204358465076468863524328534312199849964\",\n \"1\",\n \"1\"\n ],\n \"2971210383443610919151012078863541397479701911998650934622530962785196713039\": [\n \"15503624214264754205772696470306275149555067231162995989855952590882467544440\",\n \"1\",\n \"1\"\n ],\n \"2727907383538327090851748038905183068212071064236191896315003310018853536878\": [\n \"5497150632520300316268412968684563054412010513642434224780489028649977379894\",\n \"1\",\n \"1\"\n ],\n \"3477184342144185352285717437783928269934208881790763742210126139465220280380\": [\n \"4997071868766732113726202994282958946570437643651946945808651155966509683982\",\n \"2727907383538327090851748038905183068212071064236191896315003310018853536878\"\n ],\n \"11266846084429810922205916663595535792175988357020493545322944772021657718621\": [\n \"2995806687102683892174046892339149894016821092650539948442657455028086528317\",\n \"1\",\n \"1\"\n ],\n \"14920048887722897832171683135210127532657921153056361613549028325181428532953\": [\n \"11266846084429810922205916663595535792175988357020493545322944772021657718621\",\n \"7885220668937740274885765215031941180915605620201636128910906955414463100480\"\n ],\n \"10796761334651863006105775499814971208110445318980578049993520971852526132264\": [\n \"0\",\n \"14920048887722897832171683135210127532657921153056361613549028325181428532953\"\n ],\n \"19310438038921654246890375196579772900403153762251345417085505263682118506920\": [\n \"0\",\n \"10796761334651863006105775499814971208110445318980578049993520971852526132264\"\n ],\n \"3798984975472074491880604550311577902051423510288531392048297360258477242080\": [\n \"19310438038921654246890375196579772900403153762251345417085505263682118506920\",\n \"20942752698497589537481707936304336956193563929116967716051713419625508490958\"\n ],\n \"16779610120288611143146284290428144796010188532829575847180052287596118608062\": [\n \"12698403962669289779967647766292344784484843374528229091540401169811733181031\",\n \"1\",\n \"1\"\n ],\n \"1910079369203314021137299512790768004144647159387635460999861647615821978677\": [\n \"8866030278686937028042422549260456118026252815031345746716963137116906462644\",\n \"16779610120288611143146284290428144796010188532829575847180052287596118608062\"\n ],\n \"8647943816964382504956306461276556255662784275647914931384226578402551620067\": [\n \"0\",\n \"1910079369203314021137299512790768004144647159387635460999861647615821978677\"\n ],\n \"5217697467143360900662252142827266330795195735188831523740913895295618614727\": [\n \"8647943816964382504956306461276556255662784275647914931384226578402551620067\",\n \"0\"\n ],\n \"13684701433814522819461323017070735649136197104219967491906170483280776515108\": [\n \"16321722173868773457155628544145046724243487004208549955595087052951283517006\",\n \"1\",\n \"1\"\n ],\n \"6132384878650237906441657445722235088636055005211714006423482566986840394020\": [\n \"9954788359619930462649955065063123770743380463914164232910204873797667865403\",\n \"13684701433814522819461323017070735649136197104219967491906170483280776515108\"\n ],\n \"904254696951467529030242177081829519865831689425940425134964591718626281828\": [\n \"6132384878650237906441657445722235088636055005211714006423482566986840394020\",\n \"10067171845868162562994114003505200719374612890387219817303989616816490910925\"\n ],\n \"12719927625520155431743715117469112010640802231480091939429705854048158749916\": [\n \"904254696951467529030242177081829519865831689425940425134964591718626281828\",\n \"0\"\n ],\n \"370163779614174612559520994415818363078126956574638283322511765094612385226\": [\n \"12719927625520155431743715117469112010640802231480091939429705854048158749916\",\n \"20189267433782358989305142097488064439435677961022353314202724886417847440816\"\n ],\n \"8941779294103705835975388552668331398095464457363330136222947992912364667586\": [\n \"17078871181597752894742046497696487545820119338104887328648281493966263971707\",\n \"1\",\n \"1\"\n ],\n \"1838852484943544809675110489281770415571902353552146958252300375786252751995\": [\n \"8941779294103705835975388552668331398095464457363330136222947992912364667586\",\n \"9908615906697243336573065590944803395085440910323418624943698266256165745772\"\n ],\n \"19113360495112864937624756965162891493986733298593387741294683336924859389357\": [\n \"1838852484943544809675110489281770415571902353552146958252300375786252751995\",\n \"0\"\n ],\n \"5398955421261052017563994662757842975997981439209134208076533240806068617923\": [\n \"14313669018433120100161921404375427030903498119599530312182266658182909464486\",\n \"19113360495112864937624756965162891493986733298593387741294683336924859389357\"\n ],\n \"5920416881336489280683648755148859572696069594242924834010942734463874124616\": [\n \"0\",\n \"5398955421261052017563994662757842975997981439209134208076533240806068617923\"\n ],\n \"21011028404386954755946729850281617951935508652754052206872791989850415170205\": [\n \"5920416881336489280683648755148859572696069594242924834010942734463874124616\",\n \"8440821188456931796055844632391448639215887493270248878551805102077669891499\"\n ],\n \"6890763104938562656091415540641528132479372279593686270028358932329486117871\": [\n \"305870567634196178966841693079979318671895363046363213624728470564379006871\",\n \"1\",\n \"1\"\n ],\n \"16983694625699468117156543387256529300636140423610601755548793872493644515273\": [\n \"2565497125746373550001394321353952470321832593354066014676985745584875959893\",\n \"6890763104938562656091415540641528132479372279593686270028358932329486117871\"\n ],\n \"10467836279817063924270982812244963352829549807664741586542834792603501955769\": [\n \"0\",\n \"16983694625699468117156543387256529300636140423610601755548793872493644515273\"\n ],\n \"6697455351320343517788716031530121345080833512994873947731580290987956299827\": [\n \"20258911756929276480822090261733662228496351626855218825883117302780014959757\",\n \"1\",\n \"1\"\n ],\n \"12465316552155611214416656160152076057659379953891938119910487437343837907909\": [\n \"6697455351320343517788716031530121345080833512994873947731580290987956299827\",\n \"21340416286748551459478254479599345951591414629381792568977699323044258301782\"\n ],\n \"19807838643552705166639549160135115640188650707901735934196732240760448400033\": [\n \"12465316552155611214416656160152076057659379953891938119910487437343837907909\",\n \"0\"\n ],\n \"2631542702329192464402804851748337051021190598141809925116009075126253140109\": [\n \"11663337504211199077627978121695210483831224929012446258172122064004913435143\",\n \"1\",\n \"1\"\n ],\n \"3081754423575885116561481467976731401991489109140326798459160481680527034569\": [\n \"2631542702329192464402804851748337051021190598141809925116009075126253140109\",\n \"15116289083316332886716070574523922326177820781413675153634758421342070186496\"\n ],\n \"2467883281085363711036422493400873769784973885326087162849376354550689748220\": [\n \"3438499432279378684423809924906312677143387918667974953885560363264822818666\",\n \"1\",\n \"1\"\n ],\n \"16953015865188821801576737141395359180003003227103852243024642604980247029575\": [\n \"21586246414418260060977056454037969526425552086068131890820939002484667101545\",\n \"2467883281085363711036422493400873769784973885326087162849376354550689748220\"\n ],\n \"21426482915871962996920574676855924083924609212917506575713530670655214047894\": [\n \"16953015865188821801576737141395359180003003227103852243024642604980247029575\",\n \"8831659798415504597909510963764669007264773269220850126672714533389856407773\"\n ],\n \"2220943910153082555695145004584516892235339633115424631989878677411073845595\": [\n \"12611355330752852475121330279356304758207983308621641957130806091205709341665\",\n \"21426482915871962996920574676855924083924609212917506575713530670655214047894\"\n ],\n \"15134674842440257596890337779488121110884432497412161392686480144822985232483\": [\n \"11207877257035030945239643552970905574877411087256442816771505211332702439870\",\n \"1\",\n \"1\"\n ],\n \"9776977054448941572402283500712582630765149239237590597263257270727085670195\": [\n \"20269507787050718400046472862697456109783974878768385574487635201519241595826\",\n \"1\",\n \"1\"\n ],\n \"4918145397678736823899398530414628524067542179390796540276413405377853332370\": [\n \"9776977054448941572402283500712582630765149239237590597263257270727085670195\",\n \"19715740217298959381322505646970536243763100677251485345170430903164076300452\"\n ],\n \"12620887686206122063783187298306697900377781171748238823891953837939648105972\": [\n \"4918145397678736823899398530414628524067542179390796540276413405377853332370\",\n \"0\"\n ],\n \"560692991773257394842516132282054253924413879990258312326210826554742990830\": [\n \"12620887686206122063783187298306697900377781171748238823891953837939648105972\",\n \"1106436184225556325714540788527156923816216302404815598528308449829295356453\"\n ],\n \"16339508678446121088928083832493691890776021559909414681521842616518902552572\": [\n \"11478785288481832350328778489914750942466972844956494918552531879091599023129\",\n \"1\",\n \"1\"\n ],\n \"4582966700752288177938185039875165343497985196462656019507595874556058830014\": [\n \"16339508678446121088928083832493691890776021559909414681521842616518902552572\",\n \"18470244377334807180743369586130714189210624321426200861370686256883867717291\"\n ],\n \"19239722896471179404362390017364179828225082142137652801236088659228849481654\": [\n \"4582966700752288177938185039875165343497985196462656019507595874556058830014\",\n \"2553959626325177283048869270077647186749019720758488249847230628361056255143\"\n ],\n \"6890325434116397367098301850560706436539713345267455230742538527035930475304\": [\n \"0\",\n \"19239722896471179404362390017364179828225082142137652801236088659228849481654\"\n ],\n \"9960551366542691615324185935278499537867580803526536356541442156429389089689\": [\n \"18609094498969637075906306841421793665633017563334070639452105869167927983113\",\n \"1\",\n \"1\"\n ],\n \"2561784218916250039753328451846842629630107928415757560970373875132769533569\": [\n \"1598344097669774487173839054287365823868359731276957985987429061699641345226\",\n \"1\",\n \"1\"\n ],\n \"3088352409581986968814561248817919392324461481651126811785085928623454115601\": [\n \"2561784218916250039753328451846842629630107928415757560970373875132769533569\",\n \"15360049605922092752303332037180517997965762317225306177196092610057916925036\"\n ],\n \"9755462739041310188862661294039997027695803976309983289868747715661958799769\": [\n \"3088352409581986968814561248817919392324461481651126811785085928623454115601\",\n \"0\"\n ],\n \"13307784477949221228747252430181456754684354448485209033220885642909704980806\": [\n \"9755462739041310188862661294039997027695803976309983289868747715661958799769\",\n \"0\"\n ],\n \"10922466159484071008195397055341238946179481396287954863852199209092630527313\": [\n \"21277423860060809783015144069442167947275592546456637089538566791224566925758\",\n \"1\",\n \"1\"\n ],\n \"18493338267648920862083167651031437480167707985840722429557289202051752245999\": [\n \"15134674842440257596890337779488121110884432497412161392686480144822985232483\",\n \"10922466159484071008195397055341238946179481396287954863852199209092630527313\"\n ],\n \"3160406557324876336666388446719879714065792532662222394061501974872351396541\": [\n \"18493338267648920862083167651031437480167707985840722429557289202051752245999\",\n \"0\"\n ],\n \"19792037359833703131118761887599980210075854566019870535784126869485411814175\": [\n \"3160406557324876336666388446719879714065792532662222394061501974872351396541\",\n \"2518243780052747405714626707685330750915885769253909940546128222629276029857\"\n ],\n \"14783350806179701212736588492869332344276697372350127651418512556937544261669\": [\n \"18892104767919973974211528584593118958021945928576229483446381861262761241404\",\n \"19792037359833703131118761887599980210075854566019870535784126869485411814175\"\n ],\n \"18528026103836129672290959418117190624437564274358176698736867398376787932804\": [\n \"11313474309221522799011170019994905733236045932091052819786960810167796273531\",\n \"1\",\n \"1\"\n ],\n \"6635740946427364820444276867393619018260796729136890037253481579790463377634\": [\n \"16557991859084739289163604694146981963316445880620679131607278311011948225604\",\n \"18528026103836129672290959418117190624437564274358176698736867398376787932804\"\n ],\n \"3784587724096909082562244988838674477708713701445882700341135352571304638750\": [\n \"6635740946427364820444276867393619018260796729136890037253481579790463377634\",\n \"0\"\n ],\n \"163757773036143686457102493715601955636608757014344247002977467991367317499\": [\n \"3784587724096909082562244988838674477708713701445882700341135352571304638750\",\n \"3462099162911357771704135359221140896111041577912898439840038090779043308615\"\n ],\n \"783025850458145686628898603807947548359829770698505068603776149976638407036\": [\n \"15710127355718594776901267538950797109603564753982869855300162387589296331830\",\n \"1\",\n \"1\"\n ],\n \"4279296141366092715987047063471153646599693827136210747547338677556546299303\": [\n \"783025850458145686628898603807947548359829770698505068603776149976638407036\",\n \"3477184342144185352285717437783928269934208881790763742210126139465220280380\"\n ],\n \"1694307023137780623425040619469400937422292856393672858990682443666261547024\": [\n \"4434582094874550640336279809706047807641307045970252038252839669896196709606\",\n \"4279296141366092715987047063471153646599693827136210747547338677556546299303\"\n ],\n \"2512093749268860716974880101075615209909410483241427189044423920543071694517\": [\n \"661503763983813511381193482981697825934558328724863999578026218339214449095\",\n \"1694307023137780623425040619469400937422292856393672858990682443666261547024\"\n ],\n \"15634497373772042579303469605881550300287274185241745686471059728817962302329\": [\n \"19229442900088936328621390126719094074229469421715446932536474491580055019566\",\n \"1\",\n \"1\"\n ],\n \"19776779742411748473346255538461041006568263463597052061197656965014891211477\": [\n \"1151552866435908079097050980216359174475572273631787326656813743977552504539\",\n \"1\",\n \"1\"\n ],\n \"6505715847650948087304317083334746047686002164398797647926743889105229717025\": [\n \"1394512720086596928351259171669352923992556135211305728354167491267867100742\",\n \"19776779742411748473346255538461041006568263463597052061197656965014891211477\"\n ],\n \"2653514390064210060059282855222720673117596080180511898320908107880161782007\": [\n \"6505715847650948087304317083334746047686002164398797647926743889105229717025\",\n \"0\"\n ],\n \"207782753600610517386605826012252867740745515437225724613165219460956249997\": [\n \"2653514390064210060059282855222720673117596080180511898320908107880161782007\",\n \"7267746863198948043419397741782170330636047318475329385103145052608943056896\"\n ],\n \"20749338004955180568760479596290451634473211676642745947837248467078309406006\": [\n \"15427108423599853921355752760683258475301265298962845675796087789984448768796\",\n \"1\",\n \"1\"\n ],\n \"10619069554705969562481387003619526459783086907198737037154234940624865099593\": [\n \"19704436186235461125824229796964559593879366401002908983989420078734304099004\",\n \"20749338004955180568760479596290451634473211676642745947837248467078309406006\"\n ],\n \"1468547854352965615366991508080476679298533730821273451352702116736363509404\": [\n \"0\",\n \"10619069554705969562481387003619526459783086907198737037154234940624865099593\"\n ],\n \"9231950719525254306229240794484713027205288490453489751160508439130231613697\": [\n \"19468471648998317631249762665957057476353764185022765182419501904157278622391\",\n \"1468547854352965615366991508080476679298533730821273451352702116736363509404\"\n ],\n \"10727662205867100260833314870780564202398217683554802351057576239592965466006\": [\n \"5007755751169258292748205673316391240281193262057581159565114049341916420582\",\n \"1\",\n \"1\"\n ],\n \"6249369323211799125126418504782581018013293397223742799209516120470417135751\": [\n \"10696972412301672969424555573370390782968978720654128194729615102031357110407\",\n \"10727662205867100260833314870780564202398217683554802351057576239592965466006\"\n ],\n \"21093735646291872638141130786718616626515415261121846600123224471085440366130\": [\n \"6249369323211799125126418504782581018013293397223742799209516120470417135751\",\n \"11161901089863159736344331637133314617581111100587250883591728949633089835616\"\n ],\n \"4180689766072369166387743262239868072686705379622536389522827241891324761698\": [\n \"11558560251926720081705248644988775741295002845365651182796201486632846208841\",\n \"1\",\n \"1\"\n ],\n \"14098327830294892046731114702385782210674349571919141947015846246965302455858\": [\n \"13310421772383254237928679368393293195413588013470100163469182711387366681852\",\n \"1\",\n \"1\"\n ],\n \"13564032003520586127752630161098325220709677573865586258761796358441173319456\": [\n \"18043562287510664155718377541331557657176380916715619057225860447253835017951\",\n \"1\",\n \"1\"\n ],\n \"10934817819010940829568789985490083837575803993985441447601965052694770878639\": [\n \"7333140139170349972766671131337255263840392906894986902208397984348007101846\",\n \"13564032003520586127752630161098325220709677573865586258761796358441173319456\"\n ],\n \"16369164808213498319778466908096858667733772991004645634941850843298685983380\": [\n \"10116493916707576001916236768335134112803634793449215642107472625826498080527\",\n \"1\",\n \"1\"\n ],\n \"17152079850327551780959602821256692495175858747895236318911071811428047387658\": [\n \"8770184916657073498717897233405393286388415503102238333777695235892649451546\",\n \"1\",\n \"1\"\n ],\n \"4230799608711890023915611024196036075918563284376306424257612557632724392201\": [\n \"15476499314552985241473481625889267681515895950601623992366190896169579001930\",\n \"17152079850327551780959602821256692495175858747895236318911071811428047387658\"\n ],\n \"2317292626935060606690209241624408283380672311752583533584968055807681415525\": [\n \"0\",\n \"4230799608711890023915611024196036075918563284376306424257612557632724392201\"\n ],\n \"5054899994322910996085264947191236274235646261081842025691293562388991902996\": [\n \"2317292626935060606690209241624408283380672311752583533584968055807681415525\",\n \"0\"\n ],\n \"16910215040576207867246958431013969842992898534248823512145367457647333572366\": [\n \"5054899994322910996085264947191236274235646261081842025691293562388991902996\",\n \"18713183819435382315248119248217879283581588675793376763113320829589621323890\"\n ],\n \"5704454487711926025314580710074971676745775690886664311057877807977402997581\": [\n \"16910215040576207867246958431013969842992898534248823512145367457647333572366\",\n \"17540417837589805661688250094863091437964302182148781947033917420082278200827\"\n ],\n \"6499307349113580024817745163970833925892459181352134122297900584514332441133\": [\n \"7227805180106726865014127790403163239288290131065597401445885544678850098736\",\n \"1\",\n \"1\"\n ],\n \"19411814550509793233038481298574100385194184380711937173487593563543254993968\": [\n \"5808278088068523957150525657166934649741826272787425345444232267816667275544\",\n \"6499307349113580024817745163970833925892459181352134122297900584514332441133\"\n ],\n \"7023208662732251683177963698737799493110359536130309616309250814278375413419\": [\n \"3966548201908051315335957412553580197150259795759801751691019763425418933063\",\n \"1\",\n \"1\"\n ],\n \"5137598672864466912421765430818542932913627783072084727731282913703963830655\": [\n \"13207162369981938391466902522504210400559352701173076761504000512116614018910\",\n \"1\",\n \"1\"\n ],\n \"1218186454203287823379719814587171390725081480307554504490369951822254886529\": [\n \"81998773217836682817395828147966920968470978212577082120863212575244652178\",\n \"5137598672864466912421765430818542932913627783072084727731282913703963830655\"\n ],\n \"2825007720695322628349697951576460423644347746383745709660106072513463477850\": [\n \"1218186454203287823379719814587171390725081480307554504490369951822254886529\",\n \"21295084646339999514612033392073341080854218689981237101108192703866477883636\"\n ],\n \"3336318713514376398187246816820219515485507231129528060072483873116403426444\": [\n \"18078815516196951872663316415507779529525682683323997295879235539015640005706\",\n \"1\",\n \"1\"\n ],\n \"15156059857922655150754968176005054065720505344899384327541904832712419116512\": [\n \"7342280705973613769942204422162309189597006465883891090877673729804761605172\",\n \"3336318713514376398187246816820219515485507231129528060072483873116403426444\"\n ],\n \"4644819782356287855944965750289014971997325595481463730708869902743866569806\": [\n \"0\",\n \"15156059857922655150754968176005054065720505344899384327541904832712419116512\"\n ],\n \"5499268740215365454451501649897073151684365218713064479351687011977633096449\": [\n \"4099277588643336815160089303354688299205804205753967761367995566155108690626\",\n \"4644819782356287855944965750289014971997325595481463730708869902743866569806\"\n ],\n \"20326816997079890623705668867168636528635263389245587544172542412886467018087\": [\n \"10580228224705399948353160984170991952324830098712768023075287011660787503906\",\n \"1\",\n \"1\"\n ],\n \"3109151654783923224545539666014415816571849507439601774141678025928332120050\": [\n \"3253054698682471514599067763607013596652148430275016177066403518986092601065\",\n \"1\",\n \"1\"\n ],\n \"19275062971415015166162682392421539911255779570013465723280922795574613242783\": [\n \"3109151654783923224545539666014415816571849507439601774141678025928332120050\",\n \"17243101277453708373507755729526868158193838795002962794096480267343000519331\"\n ],\n \"3755579859071786760698358128167829936472691030085155032066169235524595181335\": [\n \"0\",\n \"19275062971415015166162682392421539911255779570013465723280922795574613242783\"\n ],\n \"12988022334133844731185674407669237863774500326822392425289644369397955531619\": [\n \"0\",\n \"3755579859071786760698358128167829936472691030085155032066169235524595181335\"\n ],\n \"7938052890597475657799260889432379389970665991703459314670703545706310182947\": [\n \"12988022334133844731185674407669237863774500326822392425289644369397955531619\",\n \"0\"\n ],\n \"5205134087863792473565717854017412157343320479137020364978600130174765039273\": [\n \"0\",\n \"7938052890597475657799260889432379389970665991703459314670703545706310182947\"\n ],\n \"21877745139488284044947677595277888377089739679552102728633210271204138078662\": [\n \"0\",\n \"5205134087863792473565717854017412157343320479137020364978600130174765039273\"\n ],\n \"7723327055805927701179599340575413340709560287738197350166801632582150560010\": [\n \"17886237856023875647605498862854702569149659978195704098716716393547271547340\",\n \"1\",\n \"1\"\n ],\n \"3774706785757043779931027971171285786616697881688579304627826671868343651254\": [\n \"437542052332555898494939260664402752532420244122246073878147464176777680173\",\n \"7723327055805927701179599340575413340709560287738197350166801632582150560010\"\n ],\n \"6565273829855172414180144853283757492473431606964552177515197348274452298146\": [\n \"3774706785757043779931027971171285786616697881688579304627826671868343651254\",\n \"0\"\n ],\n \"12905091816213010856348475474353915060015039679451613417189292716916719866526\": [\n \"18961598021460674508968635591574398709353670140093130099218088313981341096601\",\n \"6565273829855172414180144853283757492473431606964552177515197348274452298146\"\n ],\n \"14399126300392401724247729418046424599128246202774761166438309863057193802532\": [\n \"12905091816213010856348475474353915060015039679451613417189292716916719866526\",\n \"123425407663007319516140647523419526774040801419715222389959437882595205701\"\n ],\n \"9339846928851379741092716178369441349964043731372413283002460574842755247388\": [\n \"14279769081717050767205978547035269958051565826634150271554504298831430781133\",\n \"14399126300392401724247729418046424599128246202774761166438309863057193802532\"\n ],\n \"16539247254962634905707644993762069692188251078233629919468120002047944740715\": [\n \"13634954795339540599024412917453219354382295037991666998937241311268421301983\",\n \"1\",\n \"1\"\n ],\n \"21404658998015764657443632453225757415890291325363259447704507328873287671830\": [\n \"16147202145933499246621705143265953010588310710554562090058628910594916559524\",\n \"1\",\n \"1\"\n ],\n \"13532289323495613321390584372908834657102522194534321531558797933215471872028\": [\n \"21404658998015764657443632453225757415890291325363259447704507328873287671830\",\n \"10805878493835258926160789286927540482394158349239280359749485468204337244390\"\n ],\n \"21630645100932042028611520578056771475166659115066711305853474229828108853056\": [\n \"13532289323495613321390584372908834657102522194534321531558797933215471872028\",\n \"0\"\n ],\n \"9594740592649242930970086062722276289367778342813518657049416872568063424362\": [\n \"21630645100932042028611520578056771475166659115066711305853474229828108853056\",\n \"0\"\n ],\n \"11517531661271553839121687203357057259568490207499351145896996268264806302370\": [\n \"0\",\n \"9594740592649242930970086062722276289367778342813518657049416872568063424362\"\n ],\n \"5333262914640823426682607711451276356746607784362136896743282950175052190085\": [\n \"0\",\n \"11517531661271553839121687203357057259568490207499351145896996268264806302370\"\n ],\n \"18109063002300705165971719605532326423605274036627912975642077387324327351863\": [\n \"3716577885969860636122267100908689646694022347860331023530268506500419261454\",\n \"1\",\n \"1\"\n ],\n \"1129792141465622670561825453818373061118390258306190974553733668218754328650\": [\n \"14368347141270319375417248268286058347690758487428481329170915519156529483024\",\n \"1\",\n \"1\"\n ],\n \"3825549740817606870025837372600192087395560791123424592593814632458579131669\": [\n \"10787667652774535994270368585855857525802740829286857885411427456786585009920\",\n \"1\",\n \"1\"\n ],\n \"6263479094493079890103959657609461228996756123163375554680785440685774578586\": [\n \"2069310506179868465436514401104485638653295408689755164942839060061776796491\",\n \"3825549740817606870025837372600192087395560791123424592593814632458579131669\"\n ],\n \"11612239878353370223078234748033216602578948233826686541386847373684793608123\": [\n \"15535039144312880889261062714990209168328677717096064044836554540495079787300\",\n \"1\",\n \"1\"\n ],\n \"4571409737276536359470364899107072015847210145117329358943158642647106061923\": [\n \"11716914886778665932506088401977684853229406524911351080818115750606665373399\",\n \"11612239878353370223078234748033216602578948233826686541386847373684793608123\"\n ],\n \"21611519169563144165536060621976801958216983125593667311134218898548303586139\": [\n \"0\",\n \"4571409737276536359470364899107072015847210145117329358943158642647106061923\"\n ],\n \"1320226317937142389175276545103424232452207181789537645061254867013811291658\": [\n \"21611519169563144165536060621976801958216983125593667311134218898548303586139\",\n \"3001129575032828411034065246199215451393291959707618157284771402891465522223\"\n ],\n \"20751840140621428802191323489162953811449552770323154172474861106609476637656\": [\n \"1320226317937142389175276545103424232452207181789537645061254867013811291658\",\n \"14278999579778072699334744565296532209672503628749959622290829116837785556623\"\n ],\n \"4020938502976857022804953738266851835370747334050820814501701989010834676414\": [\n \"2416380694569986292893888978325139709130604187848439886760700245616648499016\",\n \"20751840140621428802191323489162953811449552770323154172474861106609476637656\"\n ],\n \"12814472945008118849203440647640767003501706481712233190999498159574589575876\": [\n \"17317939435642866683884979359062120571344325952094483046630476370441864779687\",\n \"1\",\n \"1\"\n ],\n \"8755888960308089795023072360786541075345367929924431981264001544484268448801\": [\n \"14682933606654340540960091764954888032806543382053962580737475967787198321723\",\n \"12814472945008118849203440647640767003501706481712233190999498159574589575876\"\n ],\n \"16761946918749225031633159509516282468775192418124566651872967176218901370125\": [\n \"16154367419760427281724694645018824601300734921718057256672744551844929134780\",\n \"1\",\n \"1\"\n ],\n \"14122382129260621559780564297964312774862621951072822957815237975198520142617\": [\n \"16761946918749225031633159509516282468775192418124566651872967176218901370125\",\n \"9472294930801202991662490620522018323624336924757909488777693242291292872066\"\n ],\n \"21015952333105020351627874590278957601524986833280698532385804592829171290125\": [\n \"14122382129260621559780564297964312774862621951072822957815237975198520142617\",\n \"0\"\n ],\n \"9466465021567207405614232914469427992255450988174041767501356592030719616568\": [\n \"13776969284437054408731800544697533405323005448602664037587912257173037738048\",\n \"1\",\n \"1\"\n ],\n \"8080373517778155665313778509291661079297052691964898787424388115548503818858\": [\n \"14517800438518680298174197843812414135685305311146301344012376103805645916051\",\n \"9466465021567207405614232914469427992255450988174041767501356592030719616568\"\n ],\n \"11300754444284081562021891742837421553338031209581808887311146638486133902904\": [\n \"8080373517778155665313778509291661079297052691964898787424388115548503818858\",\n \"0\"\n ],\n \"7106742743434552504273060685647114338404209081931482073218682374849133025981\": [\n \"20730782588806368431380281419419987586861449887581899284933552258800847561902\",\n \"1\",\n \"1\"\n ],\n \"1852864057913079101951970523029814361452907361282536676899399746205757956818\": [\n \"14330817962833916278792065960488822528252666534353279639614136499151291709384\",\n \"1\",\n \"1\"\n ],\n \"785566484668932342779048712418834618347138577980167935578016932176141884657\": [\n \"17882047458521468941505491751081086849251806727903909410896497709088987731008\",\n \"1852864057913079101951970523029814361452907361282536676899399746205757956818\"\n ],\n \"4903288562020267850933076185132814913368499782545703198150212185817540673900\": [\n \"785566484668932342779048712418834618347138577980167935578016932176141884657\",\n \"863505037921509213256132778982256159035113344156298226282978038700866868447\"\n ],\n \"9078094009919822932707965594076974465182781652020956625459953068159356562770\": [\n \"14738825414165747749735213817340070203537030155827357715655947283533870336600\",\n \"4903288562020267850933076185132814913368499782545703198150212185817540673900\"\n ],\n \"21696180992913076021331687890879775169360060390080047597241707272927597434719\": [\n \"1558846360137311841839836243070449438788852741541413654588719444734730040778\",\n \"1\",\n \"1\"\n ],\n \"4006075125514576811281981594174235112362979466730604422508382415271991257572\": [\n \"14238613311052101239253609554884057049646792798048730593902037454466896289147\",\n \"21696180992913076021331687890879775169360060390080047597241707272927597434719\"\n ],\n \"209753297966318931407383214400802536256247932504315798577317109951306581014\": [\n \"4006075125514576811281981594174235112362979466730604422508382415271991257572\",\n \"1894262272813516515094162573704877309004253917643030401914477004383310620229\"\n ],\n \"20046491990509240544355854196223650576381165331952798383404668925740516252901\": [\n \"1818625222836785426037507876012151021735151315535937897047433347446957493436\",\n \"209753297966318931407383214400802536256247932504315798577317109951306581014\"\n ],\n \"2102562338787384684716900737806840678334681550965019779543661556077505452782\": [\n \"1564263386177086708433206814974027759571494532181695874462962572442134448078\",\n \"1\",\n \"1\"\n ],\n \"19821256306045853904276180884129245738278642628434236976107844959838131157800\": [\n \"2102562338787384684716900737806840678334681550965019779543661556077505452782\",\n \"11777156333337648602853870105090853223993013689480646571120020485144551619927\"\n ],\n \"14331125469209228646863388829631348226755258806958504722648920019473704567096\": [\n \"6114192965002792855498669719071337503971159850525265245471326006399661680023\",\n \"1\",\n \"1\"\n ],\n \"21510929799860594255865856895152682007411999463496995051808779609763391673095\": [\n \"14331125469209228646863388829631348226755258806958504722648920019473704567096\",\n \"10200393445041046625908960941879741171770181722502305983517302801260541376684\"\n ],\n \"16722424686949572568273102729090128284255146590464854964511537127073397788088\": [\n \"15753493896745224923427238618504482293779722227834292021007835448295965352515\",\n \"21510929799860594255865856895152682007411999463496995051808779609763391673095\"\n ],\n \"19676667262808793429486410651427847618652424089834315714485387249654944823879\": [\n \"16722424686949572568273102729090128284255146590464854964511537127073397788088\",\n \"19376181958639362261805565269001220021576140694813881888162783390520011473044\"\n ],\n \"18864716548814257594256108043377334376058399017596003141213446086769687885246\": [\n \"19676667262808793429486410651427847618652424089834315714485387249654944823879\",\n \"11509628093346781602862243454996191344725659701083163243689408546576205325495\"\n ],\n \"554724158975469713483891941338260128507407097615838185671852977007241553487\": [\n \"17188445795196506993172170503806243680067713620309785747875782723903653495838\",\n \"18864716548814257594256108043377334376058399017596003141213446086769687885246\"\n ],\n \"16343429422136679240687909189179027715263627022546359405800012115601481160794\": [\n \"6713169213999804257981515579374291460537626715443878866332709957101684652318\",\n \"1\",\n \"1\"\n ],\n \"565988365120236775885282024412948826748483444265427227979999036979970539860\": [\n \"1504102602506974114672655298447824813524559342771897581232942071491444472872\",\n \"1\",\n \"1\"\n ],\n \"8988752986287700470889514640943933196245115722573917317753440247120401852158\": [\n \"1298594257944144816961594149690328072092529228128682448083671014382198844025\",\n \"1\",\n \"1\"\n ],\n \"19841294147597048077869093897677897203864906496343820814963629945181905975087\": [\n \"2332658155225012748155206765221986613679619443239724449561082719964390451975\",\n \"8988752986287700470889514640943933196245115722573917317753440247120401852158\"\n ],\n \"17029963099475037133089462845659714592047382468219260438489985840478738493879\": [\n \"0\",\n \"19841294147597048077869093897677897203864906496343820814963629945181905975087\"\n ],\n \"7800168594088063969558898794707074097234184193092047294515648648754758927342\": [\n \"17029963099475037133089462845659714592047382468219260438489985840478738493879\",\n \"0\"\n ],\n \"4172288692984483854295774593150991972384508875325421699226472866810545366276\": [\n \"15391026071974869680657956553478626742559468854307328992910695491872300906256\",\n \"7800168594088063969558898794707074097234184193092047294515648648754758927342\"\n ],\n \"8318193346840054142482757574939042994860356412752093241735529450394034885324\": [\n \"4172288692984483854295774593150991972384508875325421699226472866810545366276\",\n \"17153307694046553670225256755417479236034571350592687146328471425587554919158\"\n ],\n \"21674987859446033254775037315716484255617485469309677782105252674886980102517\": [\n \"18885885386165752192502120288928184005619665418951916000767552231291392199321\",\n \"8318193346840054142482757574939042994860356412752093241735529450394034885324\"\n ],\n \"9486697005159058833223726047973342230964521315712222245537202739381787758145\": [\n \"11108557793381697786428634289963458951744864659596528769853943191343965007830\",\n \"1\",\n \"1\"\n ],\n \"13334147081605179226400558825762909583103211659196181435651673697198390240827\": [\n \"21191449813468809175930679752949472768135150596631927106572724246721098705969\",\n \"9486697005159058833223726047973342230964521315712222245537202739381787758145\"\n ],\n \"8800420601509953965684108777197121680990675738846314209843528127365524200257\": [\n \"0\",\n \"13334147081605179226400558825762909583103211659196181435651673697198390240827\"\n ],\n \"21477328317720842945115761540777737194683573071193172344883868594472624691058\": [\n \"9846524384328415675492806856070518446336098366764226506649015873260119018433\",\n \"1\",\n \"1\"\n ],\n \"3109981524664409872561982999414539608872401570772565743108158232062912040192\": [\n \"5035447062427517829793181064071952423546950107809332690693226126077375387146\",\n \"1\",\n \"1\"\n ],\n \"17709979269760059572994994548125723378004444766887487209226310543243563855283\": [\n \"492670166652747243198696732430653518641424750244161803133055740074848159124\",\n \"3109981524664409872561982999414539608872401570772565743108158232062912040192\"\n ],\n \"21579429314607921202092210056919852005265119452288078472672909274876930156383\": [\n \"17709979269760059572994994548125723378004444766887487209226310543243563855283\",\n \"0\"\n ],\n \"2665568212872253628992374445255587336317548703770596599876435127027215845973\": [\n \"1356112671542051256222044028995108987264012904763871851681662745115364213959\",\n \"21579429314607921202092210056919852005265119452288078472672909274876930156383\"\n ],\n \"5051122598115368921235138774195634111031533468877898003978706007115996485293\": [\n \"55982263395902223503261467237424232791094059382013474587843421920598475454\",\n \"1\",\n \"1\"\n ],\n \"13563407978484761711020834340986362733086194759002201423612185725429918608\": [\n \"5051122598115368921235138774195634111031533468877898003978706007115996485293\",\n \"4724188924452065263832945632292233553226058530379420609453283113985624141863\"\n ],\n \"1850720735085719327171794332904225220079611311307123710726505847278960696247\": [\n \"14170025117459274999588414574818358770761434960481516859727047331646059018548\",\n \"1\",\n \"1\"\n ],\n \"1017059896829017095070947259466178841375321439134118755043496924983226034349\": [\n \"17260170051791101837152242491725842529279426175691114071456509586915697411963\",\n \"1\",\n \"1\"\n ],\n \"11984168858221964410725768084656262874368378266734367932828989512791468736660\": [\n \"1017059896829017095070947259466178841375321439134118755043496924983226034349\",\n \"8430672164696779498929517271249259359907395111537276415154960634826217541560\"\n ],\n \"13704158629668449485056697959595830407091491555721835883149278698556840469857\": [\n \"11984168858221964410725768084656262874368378266734367932828989512791468736660\",\n \"21011028404386954755946729850281617951935508652754052206872791989850415170205\"\n ],\n \"1088314724966682918102782182409035390068250986336068614181785658269231950694\": [\n \"2333785956356274978686083826845466309035621494851181461202557321554128211622\",\n \"1\",\n \"1\"\n ],\n \"19789876337657572479244829960046584601407388206259217186386513646059759389824\": [\n \"3184006543746093969293015757071362780041439897781549669060185639278952877305\",\n \"1088314724966682918102782182409035390068250986336068614181785658269231950694\"\n ],\n \"6907185420975865001904635432697996109201335382916724461363831455858557655310\": [\n \"7755601706504317120521358561959175552824856509193011025333498170208140848361\",\n \"1\",\n \"1\"\n ],\n \"9792256824802322029660315085163391936604407902171784780508529645925009546125\": [\n \"6907185420975865001904635432697996109201335382916724461363831455858557655310\",\n \"5030554066420247656727768508472928924609054358379085480784575781813229484167\"\n ],\n \"20200939664621718345826291285011503295127080847365438187943934015984784518335\": [\n \"0\",\n \"9792256824802322029660315085163391936604407902171784780508529645925009546125\"\n ],\n \"1750168150111018463178533310623446041321386470735637658999005451706215266785\": [\n \"0\",\n \"20200939664621718345826291285011503295127080847365438187943934015984784518335\"\n ],\n \"16822998270500092913635734020620926944461171250285191790260587829807297873677\": [\n \"7307103356774125209480385332079155840048445140594417306807012518378216417586\",\n \"1750168150111018463178533310623446041321386470735637658999005451706215266785\"\n ],\n \"20328373434292400122718426586477989474824642877395771414025870186609123103737\": [\n \"16822998270500092913635734020620926944461171250285191790260587829807297873677\",\n \"0\"\n ],\n \"6239590778465643999542947855205063486103448576217092166305979289219884091155\": [\n \"1627357299349691905412995686758917301401260558335571931924890575032129610720\",\n \"20328373434292400122718426586477989474824642877395771414025870186609123103737\"\n ],\n \"8924341150552801774471081507249821915684391529446948486936892391076596491125\": [\n \"11014087555077479736806476494637378312186002247540149516198878546604882978142\",\n \"1\",\n \"1\"\n ],\n \"18054575050815867008266577101863178075325579722294456020993240071266917043870\": [\n \"18430749663282803574367153877507212360982201031838538232903130612063428899320\",\n \"8924341150552801774471081507249821915684391529446948486936892391076596491125\"\n ],\n \"17935596441848635831816236080296154203953082263318703055969982784524981503345\": [\n \"0\",\n \"18054575050815867008266577101863178075325579722294456020993240071266917043870\"\n ],\n \"8983535777552801560233891990441083673856651696588467492336647022841207018469\": [\n \"17935596441848635831816236080296154203953082263318703055969982784524981503345\",\n \"0\"\n ],\n \"312823332806369455067069140044448119635461039025299581795538422090740333730\": [\n \"21687039159437380082342902468766562099366618551902420518001056981665248887116\",\n \"1\",\n \"1\"\n ],\n \"10341237733067385358227250948290981456990128971737964488081125524077233869654\": [\n \"11092535619122988458541048476140910289609976531396340877602175522841660542245\",\n \"312823332806369455067069140044448119635461039025299581795538422090740333730\"\n ],\n \"11689820357438950229359260247541264079771338313079563689792857623106209954076\": [\n \"10341237733067385358227250948290981456990128971737964488081125524077233869654\",\n \"0\"\n ],\n \"7014237917155204468617360379432055422190533468468731345655812034429913097735\": [\n \"11689820357438950229359260247541264079771338313079563689792857623106209954076\",\n \"1282573435652267276983702758587807460489970295492460526785230236497215193438\"\n ],\n \"14233511479676378346652361057530877263787189663136597181420852561791403614353\": [\n \"20746677893611139941233186920643457942276478482327352955713579095498099811391\",\n \"1\",\n \"1\"\n ],\n \"16222282772428785669100025227939385949875019213296463396812177568296476771465\": [\n \"20160549891788111762958323072650136680095048340454741689102447086252181596385\",\n \"14233511479676378346652361057530877263787189663136597181420852561791403614353\"\n ],\n \"8848411518130111362967668060246187529317355240642402351076741392442003527366\": [\n \"16222282772428785669100025227939385949875019213296463396812177568296476771465\",\n \"1526464234330136705944367192484750173605732395184674782368057397728952542761\"\n ],\n \"20295705666216219440943616875058030507202278617996657687693361957141191482111\": [\n \"8848411518130111362967668060246187529317355240642402351076741392442003527366\",\n \"18407085374458236405649302414728173086713167263506033769720835005715792000138\"\n ],\n \"3402232719721562649244354332342433036056546676143028253163645176050024595431\": [\n \"11669418715680838298753810439600147508827556428659197021892002391026986902909\",\n \"1\",\n \"1\"\n ],\n \"7071063742894652614074801583410175850322143508194964407482457166472077803245\": [\n \"4193280956988448256318307988024227327389948464812760377952629101853934843219\",\n \"1\",\n \"1\"\n ],\n \"3140851059535638849253256638698476094752829471794278850429069257105076433856\": [\n \"21064220338165089151453450320627475552090407831604850389094845889202663236719\",\n \"7071063742894652614074801583410175850322143508194964407482457166472077803245\"\n ],\n \"15539151991220571503777519983767185753338764733124941460468198647512242697273\": [\n \"19929017530467464844133540670555474304763871770281284595961916562677938717296\",\n \"3140851059535638849253256638698476094752829471794278850429069257105076433856\"\n ],\n \"14751688895997438020199106431514062389228751092518748041675388487468543193934\": [\n \"20693898508559652258080288010099613365806183345613178756405411413188271390315\",\n \"1\",\n \"1\"\n ],\n \"6978721820846481432764889065084490333948557573631853369715141919733154803449\": [\n \"12008434249140097039741176671369677351555936342843137228255221470934197528066\",\n \"14751688895997438020199106431514062389228751092518748041675388487468543193934\"\n ],\n \"14379095508982171693510554593909806097611737219202820744869106981012513767520\": [\n \"9407496984206693290342413463595889807519074528802310373206289443253651384421\",\n \"6978721820846481432764889065084490333948557573631853369715141919733154803449\"\n ],\n \"705558490548040817474938268072843481114249016084961259320209083042637562\": [\n \"9711562419584222935415841597912817943945405176418169090145092549184805518387\",\n \"14379095508982171693510554593909806097611737219202820744869106981012513767520\"\n ],\n \"16990010452709358065511539147693894412482571460860653315960465378514506510905\": [\n \"15906323183732767841379243068089312342119505659587151690731843537466027960594\",\n \"1\",\n \"1\"\n ],\n \"21082579942363485696719876145020354993239660493464881756668644024777836837252\": [\n \"18055744026699477492434721554478231477599085031668903866142164127329730007371\",\n \"16990010452709358065511539147693894412482571460860653315960465378514506510905\"\n ],\n \"21783103106097598745254197439492236067067669431044699674007503976665543364722\": [\n \"21082579942363485696719876145020354993239660493464881756668644024777836837252\",\n \"8689290701963868130748093752084468926730733349726529501827658143112352496963\"\n ],\n \"12283088413435442332161593581999309599894723716933944345891988076253628777951\": [\n \"3026387226540461817383520002174703662807823384786838912018359861414446097816\",\n \"21783103106097598745254197439492236067067669431044699674007503976665543364722\"\n ],\n \"17229714667401703716158275930869423935370135996882595414133813924084664952665\": [\n \"5719658463330443595220790453363602824468223575591792684864147650782919716751\",\n \"1\",\n \"1\"\n ],\n \"10256769760026074675517702972984374916555229786524030161528517345183248981871\": [\n \"17967201493083466151240834528648643280322707305571488245365963253042664615805\",\n \"17229714667401703716158275930869423935370135996882595414133813924084664952665\"\n ],\n \"7815588657273873262315949681849243938749762133431057166516477202861974465742\": [\n \"8481317605043684155724499475395046465392262154247312154163863890309188993995\",\n \"10256769760026074675517702972984374916555229786524030161528517345183248981871\"\n ],\n \"11609589779804686609451435511538569197890274758567179060919165955734562598879\": [\n \"5879055475481073471084445999665788654587108521519195239481112123196564408373\",\n \"1\",\n \"1\"\n ],\n \"12610079597588577955111614964989627510369009823998660891396771451485855676070\": [\n \"11609589779804686609451435511538569197890274758567179060919165955734562598879\",\n \"15537447886003439410145352133462610167684888813762552940510165666675105296812\"\n ],\n \"3354318460378461168922827344857051952170257862936377656838276226485242229302\": [\n \"4205545723808302579152025924807041927576008097943381427418297974488555492583\",\n \"12610079597588577955111614964989627510369009823998660891396771451485855676070\"\n ],\n \"21059271408535454466891035810698489389865267626811267963640527646300699368276\": [\n \"532164909752031300108345186703262662590299273565689534832646475405210858227\",\n \"1\",\n \"1\"\n ],\n \"16590472301261343995451107754907187990611088382315856660903854176407400066303\": [\n \"15471364613713794235358042914515494603353049162539362878593378420199618806824\",\n \"21059271408535454466891035810698489389865267626811267963640527646300699368276\"\n ],\n \"6670777163769355789258146736929620620277695707216147103776048102520235245854\": [\n \"7855688338644754153558036592321975085613440875062660441827817263592377279803\",\n \"16590472301261343995451107754907187990611088382315856660903854176407400066303\"\n ],\n \"16568143929505289043895265143462404694041400242230272331875842686759506868108\": [\n \"6670777163769355789258146736929620620277695707216147103776048102520235245854\",\n \"8619212049459004345162058575479151312069291671471792197597212960630079891309\"\n ],\n \"17813197311903793741269053069706026834483096321459364435260361174104004835526\": [\n \"12513735734643810710170672648438142138817486958327483561632773418284627113709\",\n \"1\",\n \"1\"\n ],\n \"1788262375656563295451123656587407032140323352779727526303199118370533510069\": [\n \"8653732136433089659641621509015949460959858507538899350190776968265780557717\",\n \"17813197311903793741269053069706026834483096321459364435260361174104004835526\"\n ],\n \"8479504594833802786216899544802613924967931267720759870860306997679485980111\": [\n \"4957431088181347690624888749032832031345814182670578539319874613829148304403\",\n \"1\",\n \"1\"\n ],\n \"5422895590494475691586612089636579632704311180041876984755924564420675557560\": [\n \"7901942882039523777803885661745650965920274685970865831153480969090894624667\",\n \"8479504594833802786216899544802613924967931267720759870860306997679485980111\"\n ],\n \"21730688982530279894193195962495172779415903635503914028857491787413875633938\": [\n \"17000139718504735041550216441499820370575126135591950434042968261794080579366\",\n \"5422895590494475691586612089636579632704311180041876984755924564420675557560\"\n ],\n \"6734214067421426614637648525154835406979786789593400333196601225072772109286\": [\n \"21730688982530279894193195962495172779415903635503914028857491787413875633938\",\n \"17604878892537279463922408876544429711733445466830805115601801092973442172644\"\n ],\n \"17008019598217443686209878916159839414873772786873599644919338754595340125663\": [\n \"6734214067421426614637648525154835406979786789593400333196601225072772109286\",\n \"21110652946074054091199932340333393157762034685267785725545977339402021266271\"\n ],\n \"20645610848043203599647491063390313574838958037799808449373228011722264182847\": [\n \"8759065823293459025497276240268350525177616859751932577982714498369124284434\",\n \"1\",\n \"1\"\n ],\n \"15197659156317725607682464837273332748616942328905576144533239940939088452447\": [\n \"13493656688240832778096474068074555546372598731961249276098800517182084318578\",\n \"20645610848043203599647491063390313574838958037799808449373228011722264182847\"\n ],\n \"14239566183081135898939826479552182439956879335424865344473532475512812931170\": [\n \"0\",\n \"15197659156317725607682464837273332748616942328905576144533239940939088452447\"\n ],\n \"6617096619663510609547660081436966470105629133286907359924583361009585048899\": [\n \"9442803319783349047343269339158826046272732096682371137458534029557381283980\",\n \"1\",\n \"1\"\n ],\n \"18878272123816169520216124872138814221320265439372914735704571014668876087279\": [\n \"6617096619663510609547660081436966470105629133286907359924583361009585048899\",\n \"9720701974433208113736549120802747791102320847018979677837649123878133026621\"\n ],\n \"15025180357606694147404200993686029301414577976471951040992244372462663404743\": [\n \"18878272123816169520216124872138814221320265439372914735704571014668876087279\",\n \"3573686929289009646544154452038633602952428418538311870916514342434683863883\"\n ],\n \"20435833100533970891001762158421306396859903589028906248920516905931926590560\": [\n \"582783320970052875984397578957724401758714161565816186806872474544596291671\",\n \"1\",\n \"1\"\n ],\n \"21675030207138770182425068409834499781340799575815609575911492775981826036890\": [\n \"1139100952549600544855517820043075726095297182105294130897404634161413990852\",\n \"1\",\n \"1\"\n ],\n \"1044243233510131353242586840473237823866415914194087077536736298797918806088\": [\n \"21675030207138770182425068409834499781340799575815609575911492775981826036890\",\n \"6048371707145738925829403065120111860093234139308626400258048793627525289556\"\n ],\n \"17696865811980036864602895237880187601257135024651494632471958359412083411791\": [\n \"0\",\n \"1044243233510131353242586840473237823866415914194087077536736298797918806088\"\n ],\n \"19050560840534651746892145596305011538659828856268787195857565623543962434089\": [\n \"17696865811980036864602895237880187601257135024651494632471958359412083411791\",\n \"0\"\n ],\n \"16887385602190082572435767035550497742564687080371118707280624637575107609806\": [\n \"0\",\n \"19050560840534651746892145596305011538659828856268787195857565623543962434089\"\n ],\n \"20975800524097001665532555877076671113968998212258792919071573469798521717689\": [\n \"16887385602190082572435767035550497742564687080371118707280624637575107609806\",\n \"13753672878993663447397235983234132363247487195901621968922792867788146696239\"\n ],\n \"321984080516771683490003419487288394099018428685714292800122615552957229258\": [\n \"20975800524097001665532555877076671113968998212258792919071573469798521717689\",\n \"5275105637029999358747832657016347553318832205825532911458405237921374008228\"\n ],\n \"9473633017540358772747078985303347467128192023901514955630230806391553308497\": [\n \"20355974468628404664476393833825373623069146491385306054759091705860013748582\",\n \"1\",\n \"1\"\n ],\n \"13205475193347320437881714509926697534530168311490758870237693140209588816644\": [\n \"938391519904387289551501921018974669824783005898635685823175863117567148038\",\n \"9473633017540358772747078985303347467128192023901514955630230806391553308497\"\n ],\n \"9998085815325146943762930142621902057587697923524715899068736447793475647501\": [\n \"0\",\n \"13205475193347320437881714509926697534530168311490758870237693140209588816644\"\n ],\n \"776444540466237947538256003172734442340424882177691333813524933275852855791\": [\n \"2416341898636576619262007406834609163066937274579777640471952918552383912589\",\n \"9998085815325146943762930142621902057587697923524715899068736447793475647501\"\n ],\n \"16011363255509878110725165733040586924207339221989778292234968503891786042504\": [\n \"776444540466237947538256003172734442340424882177691333813524933275852855791\",\n \"7004986071103249257464188835244922827414664084118135456015404540816145427441\"\n ],\n \"14329202066895517345555605949875177772956525709698830588580192332849904066813\": [\n \"16011363255509878110725165733040586924207339221989778292234968503891786042504\",\n \"19596331138404240911525704796136886463718494674846878553626880812751692380123\"\n ],\n \"6283067502540420030603125800936939671060865410777809029174132299082121815174\": [\n \"8192050838729922840461363344763471024758916006720795657112340668805594433242\",\n \"1\",\n \"1\"\n ],\n \"3877549342460060042891027953617030184711554889962288472494760311702055673551\": [\n \"6283067502540420030603125800936939671060865410777809029174132299082121815174\",\n \"13180728786938023859104436106071184763080816006917190919437254930400986836371\"\n ],\n \"2217283907003942439093400304947588572124245005164398188133100820985611833209\": [\n \"3877549342460060042891027953617030184711554889962288472494760311702055673551\",\n \"2547909341089062731334218885821358120778994985312107466101919563323012764752\"\n ],\n \"13770099374205715294632548963188351482493471049372527723606638323793082257622\": [\n \"2540995972365397017957485758415183657806016185081868609601480058680648804633\",\n \"1\",\n \"1\"\n ],\n \"3208517986202340701162749826565367350526692526320625800306440442471232323521\": [\n \"10018244341432999753176829539226056179703944719180066459049404288396214657079\",\n \"1\",\n \"1\"\n ],\n \"11755310931058240922024337562751948839502976306761351101527607731290572438986\": [\n \"21610676559610574385225046566709887636728341799077057881082420561003331015118\",\n \"1\",\n \"1\"\n ],\n \"5242041602232801022136624219779301025582319806506493043948212910361105646355\": [\n \"5598147728604356617414324781435447628002171457410269536016163959324074237286\",\n \"11755310931058240922024337562751948839502976306761351101527607731290572438986\"\n ],\n \"6172031466514656244936397944515614494142742202931102461106494288849076969287\": [\n \"8950053456368999810363178115365964812752077976159562670482471999300274084710\",\n \"1\",\n \"1\"\n ],\n \"14907801910905395271912288489523423162152496225414765440444086218336985907314\": [\n \"1562709320228162515969043740275111049636580152128468068507452809094974423916\",\n \"6172031466514656244936397944515614494142742202931102461106494288849076969287\"\n ],\n \"8566855581177313056884973234880530857659439949989732816429134977263957421952\": [\n \"4203008912904875338734241560664772451736771584746393256030095547052415948973\",\n \"14907801910905395271912288489523423162152496225414765440444086218336985907314\"\n ],\n \"20266892538321422923924170568403202944549026696377273208305057961798023594113\": [\n \"8566855581177313056884973234880530857659439949989732816429134977263957421952\",\n \"17649340295754316681116332647360422005967543577387691297776424624556504993053\"\n ],\n \"6078144684668722157222223292324830953864624473430268209605974934728485365818\": [\n \"14329202066895517345555605949875177772956525709698830588580192332849904066813\",\n \"20266892538321422923924170568403202944549026696377273208305057961798023594113\"\n ],\n \"16363349910582288521451174951612670994968843842687518188147808250289419861428\": [\n \"26801019890953066220410098894507263778976980636946197358643031682217969082\",\n \"1\",\n \"1\"\n ],\n \"12428272136530161006002058542814123881574684564453415427272817464159061987421\": [\n \"16363349910582288521451174951612670994968843842687518188147808250289419861428\",\n \"13532234366035507106083586976891557504309631194071376539469764955246488361038\"\n ],\n \"21488659234966618962740179284631284927087114838377262952278953077353510881689\": [\n \"1908209836659185314661005049804231242405878555850064512686520413219125251261\",\n \"12428272136530161006002058542814123881574684564453415427272817464159061987421\"\n ],\n \"773537388448442315586904431138839341747156531707543669876704285069685418329\": [\n \"21022186698925200187167902768202224258512311620834458619789242765108838661682\",\n \"1\",\n \"1\"\n ],\n \"23260707157832022387314018786753268734224943807333436287320975135754984620\": [\n \"1561555002533014637593899290930681751870566036887398126834184884535164785650\",\n \"773537388448442315586904431138839341747156531707543669876704285069685418329\"\n ],\n \"6994865088810060758195900272379336974660827131983310367568930505545382004197\": [\n \"10211587994833128252798013373876736633816742083970801865013524523123828647379\",\n \"23260707157832022387314018786753268734224943807333436287320975135754984620\"\n ],\n \"12522706374194440482951743092711922544915102504158060385721580759095787325213\": [\n \"16813351940295102965936802742810832186864598666891461387839094424635522746715\",\n \"6994865088810060758195900272379336974660827131983310367568930505545382004197\"\n ],\n \"19390293461491955423849507956520104445690831954390694419206289242935498764075\": [\n \"9673885392453521740926288960499485497619131759322810867424922202393903071728\",\n \"12522706374194440482951743092711922544915102504158060385721580759095787325213\"\n ],\n \"5142814627140022712688393011809847702409308786049852193864926956474759327396\": [\n \"13228208843527417565529019943153675904040273304176812665283873433330850911068\",\n \"1\",\n \"1\"\n ],\n \"7227453693358404676869162390451934665591925726559949933938305103310600830275\": [\n \"19179299714287025726764929890517663302497277816966968384629753313404765648666\",\n \"5142814627140022712688393011809847702409308786049852193864926956474759327396\"\n ],\n \"3001412084768891164437479165232872167650155018187951473028451235295335233465\": [\n \"7227453693358404676869162390451934665591925726559949933938305103310600830275\",\n \"14345809683238965497010116346237473862525481478579868329574907774441257997149\"\n ],\n \"15119373830908452924535282474106287713824661716927356013669313480073901765791\": [\n \"3843319143757471426991596705145948933960110908139129062005714322643184963501\",\n \"1\",\n \"1\"\n ],\n \"14815835947502791159964190739473031194971504686399871032931252760471184815587\": [\n \"11301944067722756809093040397846359902568137136176586950355132508842279659300\",\n \"1\",\n \"1\"\n ],\n \"17019259537766282462823952367024584351314798641068065962903874785236382144475\": [\n \"14815835947502791159964190739473031194971504686399871032931252760471184815587\",\n \"14449705677543040010347942550862522425521829720382512339014432474490434442209\"\n ],\n \"10482104402304020667752195104091814037011435840985562414022713031878286581367\": [\n \"0\",\n \"17019259537766282462823952367024584351314798641068065962903874785236382144475\"\n ],\n \"10872289234847731060881287380035396044152820321598843357529954367074284844918\": [\n \"10482104402304020667752195104091814037011435840985562414022713031878286581367\",\n \"0\"\n ],\n \"21104147929478501270584810954923686272810789437225089107023953816432721103152\": [\n \"0\",\n \"10872289234847731060881287380035396044152820321598843357529954367074284844918\"\n ],\n \"14013354546205189312646297834527201623045341481552627702795104428107829697071\": [\n \"0\",\n \"21104147929478501270584810954923686272810789437225089107023953816432721103152\"\n ],\n \"15872525295311568637258574809493631528597157305127495747777714279403371557366\": [\n \"14013354546205189312646297834527201623045341481552627702795104428107829697071\",\n \"7601586920578461098046768590140436839467112493758303468891549221168738796812\"\n ],\n \"2162055993406510654825029156180666900266242328161670635164827245622879778210\": [\n \"15872525295311568637258574809493631528597157305127495747777714279403371557366\",\n \"361127872729339868617279675278877742483988156778531449090464270272407053895\"\n ],\n \"10786486228669918091983760790818592530109544773437569224061912339721460861462\": [\n \"4020938502976857022804953738266851835370747334050820814501701989010834676414\",\n \"2162055993406510654825029156180666900266242328161670635164827245622879778210\"\n ],\n \"20161856365789334681574297081150588393520052890587387197742707949095239680356\": [\n \"16020682767654918064341996090570506606874632443438559855197204968189584967685\",\n \"10786486228669918091983760790818592530109544773437569224061912339721460861462\"\n ],\n \"6022104432968858111654968547476351475407720843933193085718826270588040093280\": [\n \"118997011701806980729714419766416243527997174996146449548511625532634968445\",\n \"1\",\n \"1\"\n ],\n \"2733739166528786076041386884868857351068579936819955150115217682705526548477\": [\n \"18628520244618257573010873159141088401667446783119068962137069033874115613160\",\n \"1\",\n \"1\"\n ],\n \"10348805890721437640400435364328764795475164187768642313776089522907990836189\": [\n \"2733739166528786076041386884868857351068579936819955150115217682705526548477\",\n \"2809459554367704114024531704877658147079056482533222881784503932864653825656\"\n ],\n \"1626235689106145575791737185374144669757130148818952970521201291678392385631\": [\n \"0\",\n \"10348805890721437640400435364328764795475164187768642313776089522907990836189\"\n ],\n \"20216062743692716277101684401152153844930677665315100076098174056456745281382\": [\n \"1626235689106145575791737185374144669757130148818952970521201291678392385631\",\n \"0\"\n ],\n \"9379367310669392854466125044250438946595278137644421206768279811765513031683\": [\n \"16253319370075718068720739672570622984301296557790356594736080487513941803782\",\n \"1\",\n \"1\"\n ],\n \"2388103978565507039421722171325735136899256573618695216493772601992095617639\": [\n \"9379367310669392854466125044250438946595278137644421206768279811765513031683\",\n \"16912004626141979303377736808324552282869647039478355275877700262493138517365\"\n ],\n \"4725137091567904042185972943388772898062457805925611071624933105782231629834\": [\n \"15291019971040895336572823215720086032316838759052835444877993044386280472218\",\n \"1\",\n \"1\"\n ],\n \"8369114181742164267883143492505466017937751006885146208105809299339540080953\": [\n \"10457383767304441598822127713611564055581965777411677616995153204130744438165\",\n \"1\",\n \"1\"\n ],\n \"19753761965175081576295745162267464706221140849756015637907592580962603302381\": [\n \"8369114181742164267883143492505466017937751006885146208105809299339540080953\",\n \"7983413043930511380571864718137014095831145739209670023313068425442881300652\"\n ],\n \"18036767081386174153602816331360202537645130913158178805100974282273892960572\": [\n \"19753761965175081576295745162267464706221140849756015637907592580962603302381\",\n \"0\"\n ],\n \"9182646062535974794020689458306554268571233886481371991091845414951005857669\": [\n \"0\",\n \"18036767081386174153602816331360202537645130913158178805100974282273892960572\"\n ],\n \"8185086905050114339260788983357388507716298317386414438184723867301539461332\": [\n \"5269161630808862119098141134253363364279712238789378512620546324862528626233\",\n \"9182646062535974794020689458306554268571233886481371991091845414951005857669\"\n ],\n \"18973306821643240291685040831971829208637783908363996432796196124338564252200\": [\n \"17823830124230149331740340560359712523374106038723457980154171117107519186648\",\n \"1\",\n \"1\"\n ],\n \"4287558073456000791891518121512676682186959516478087817173491816775738104976\": [\n \"15026930627366240254855113617968551879416077131251198906229707216699796839201\",\n \"18973306821643240291685040831971829208637783908363996432796196124338564252200\"\n ],\n \"9354768315081656163623753812884572461737454560413322730547611434955774600597\": [\n \"4287558073456000791891518121512676682186959516478087817173491816775738104976\",\n \"4123173415678432007122889169291300809992748506522303004982349800409391167268\"\n ],\n \"10093382250824172177386178272759396065311060147017021032721964449674046492675\": [\n \"9354768315081656163623753812884572461737454560413322730547611434955774600597\",\n \"6081090989805911274166016527441575508326520633245222466401354649461932008880\"\n ],\n \"9493349448190102857367746078700933674635064724913252425224951738397083461142\": [\n \"19426707489450180357352006482152508258592248480726041679523210573467130467607\",\n \"1\",\n \"1\"\n ],\n \"19082590409663698884112509959736579017137610780914106853854065249180450660347\": [\n \"9493349448190102857367746078700933674635064724913252425224951738397083461142\",\n \"9816154861217229154497974496484262643271365300548639757490172200211408408961\"\n ],\n \"13733240584811215669638848720570075607287411190065643982453590033984406550894\": [\n \"19176996889518952042321119268596807180025747657870025803312302942781295096228\",\n \"19082590409663698884112509959736579017137610780914106853854065249180450660347\"\n ],\n \"5274392058788775940035355571006884744899789927369211217434092007698328611254\": [\n \"9951817284267262723385423293814074528441708166888520265531296414667676293986\",\n \"1\",\n \"1\"\n ],\n \"18452096657706095499840161206083788120564965529965099522062843655913218531146\": [\n \"5477323282409205786480511581811341858837127602469884435124405010560218743129\",\n \"5274392058788775940035355571006884744899789927369211217434092007698328611254\"\n ],\n \"1537700629766333354999192746696757735298244816818425497743653025302171247363\": [\n \"17465470380794352865256241035951458014917581065650931046644167129138157631588\",\n \"1\",\n \"1\"\n ],\n \"18457188626242506909130576784592708055998334593280495593616048358619933705187\": [\n \"1537700629766333354999192746696757735298244816818425497743653025302171247363\",\n \"1428296281565384235751962495530538801288460671702141763178318577292467132394\"\n ],\n \"11611512209123095140890170841600471354303581690984034621113334859220457479522\": [\n \"0\",\n \"18457188626242506909130576784592708055998334593280495593616048358619933705187\"\n ],\n \"10782829086023373355975924518270777410898901477071522401482044612639047030063\": [\n \"28508051105046464339318052990327129346485617825102626090474335405025069641\",\n \"1\",\n \"1\"\n ],\n \"15095452502249201254353873610476013358649467773774330971934822044055521173073\": [\n \"15772215349110375481334652842208409805047255798973381163998392732061938224089\",\n \"10782829086023373355975924518270777410898901477071522401482044612639047030063\"\n ],\n \"590972966654007218531965960204971316487521824749933502003673073955504364666\": [\n \"15095452502249201254353873610476013358649467773774330971934822044055521173073\",\n \"0\"\n ],\n \"13873954219493176083278091825718558768703085921786120038850441852454644634644\": [\n \"590972966654007218531965960204971316487521824749933502003673073955504364666\",\n \"0\"\n ],\n \"10744574292989215959099021548827632222271160455993305658850112820055039009669\": [\n \"13873954219493176083278091825718558768703085921786120038850441852454644634644\",\n \"3337796753385614806092500532193400389684394008893514583509049950099093265075\"\n ],\n \"18776562317290209552058297400384521381201486754990455708639152334912225787703\": [\n \"10744574292989215959099021548827632222271160455993305658850112820055039009669\",\n \"0\"\n ],\n \"4233555719061655271169034692267889979826174590915275332026696783342195377236\": [\n \"8730253628001618305538541793069522558447252044257649189684618651502574228183\",\n \"18776562317290209552058297400384521381201486754990455708639152334912225787703\"\n ],\n \"6761973050499952635057882400019249648712688244880393646342533222773997067006\": [\n \"21247741384100334304018905444683064570130604292776635610390345715166119842609\",\n \"1\",\n \"1\"\n ],\n \"18074089968218313252688084861238373074987599116739905494309034345076606724229\": [\n \"16773353074702267589241436341773460546626981469497097178747951520533559297603\",\n \"1\",\n \"1\"\n ],\n \"1264333043204920796182662148109544412376535543946994480095690789738932294677\": [\n \"18074089968218313252688084861238373074987599116739905494309034345076606724229\",\n \"16417096748349732641645908266860683265768539801478095757354619751089838949032\"\n ],\n \"18293028189171071945750902799889417076583150118493184791463670889089288550683\": [\n \"17793618067372400546180768722501127160946862061850828651891449840155303024690\",\n \"1\",\n \"1\"\n ],\n \"19373965093375129615443594195951937563543076369684246194509973647271036561947\": [\n \"18293028189171071945750902799889417076583150118493184791463670889089288550683\",\n \"8807508093103029638776860217106172313842421278495799954075945882147834272499\"\n ],\n \"11093898764763966430095808880110621619461338776994461539083605884479290396545\": [\n \"19373965093375129615443594195951937563543076369684246194509973647271036561947\",\n \"8688473757102142674357817296361780754265743156199913419255639015881763877303\"\n ],\n \"17441807164289484402654897068984217329945944529897082174354537275357921515996\": [\n \"11093898764763966430095808880110621619461338776994461539083605884479290396545\",\n \"0\"\n ],\n \"17341899286732693878538599838203391652855654299022628666335586122487279917677\": [\n \"15006108167160466000782270747403061870497392610826372167107039681053509953034\",\n \"17441807164289484402654897068984217329945944529897082174354537275357921515996\"\n ],\n \"18184661766758820760236344351448379009928862227164874613435434523491126005844\": [\n \"13724399028770115458678059068666950231145427924600943309227635234644345259339\",\n \"17341899286732693878538599838203391652855654299022628666335586122487279917677\"\n ],\n \"16938178214029810204667206665158004207384038811107305804612629915138444975902\": [\n \"18184661766758820760236344351448379009928862227164874613435434523491126005844\",\n \"5873919973189616582279046802412453750262485881257201723982613781313128796849\"\n ],\n \"1662799621840581288187009190367406034343209672752710156236768279828573295825\": [\n \"16938178214029810204667206665158004207384038811107305804612629915138444975902\",\n \"19390293461491955423849507956520104445690831954390694419206289242935498764075\"\n ],\n \"15420898625533922304236936095637387332966407681131316134606893861838144279253\": [\n \"14493045404315225564766095517549194197029271558178034116656078624773516233888\",\n \"1\",\n \"1\"\n ],\n \"16323296204073741358454781216080969977753636329991709636855485243676864109821\": [\n \"15420898625533922304236936095637387332966407681131316134606893861838144279253\",\n \"18289212904104494083599812201466090009137928459712403392755974187360629351040\"\n ],\n \"12610161207049573148027154359412713874057849952216440289148862577261662851516\": [\n \"16323296204073741358454781216080969977753636329991709636855485243676864109821\",\n \"3550062445561793650149785836658027254769168317124305108609489453791244890421\"\n ],\n \"10331558968956837067168981719305974053503685247153340135060637361057526436093\": [\n \"12610161207049573148027154359412713874057849952216440289148862577261662851516\",\n \"0\"\n ],\n \"5301751728259022312655882693735971838045573986651196925219203212346273037521\": [\n \"0\",\n \"10331558968956837067168981719305974053503685247153340135060637361057526436093\"\n ],\n \"8225686166338103360589364545592172779281232409642299523547256139911974295004\": [\n \"19026445982689631178416140089748977031252471043514809848828797924050185855638\",\n \"5301751728259022312655882693735971838045573986651196925219203212346273037521\"\n ],\n \"12211664334390281428812673025228683726883869558335517854235766348571888719802\": [\n \"8225686166338103360589364545592172779281232409642299523547256139911974295004\",\n \"12306657814963812432705941003596231332674322514808506346075366279910085736793\"\n ],\n \"20397609297177840142916340717027547672493587468090910567784668624238895418171\": [\n \"21779080858839062441818824564102348302694088375895262118180577036255482641121\",\n \"1\",\n \"1\"\n ],\n \"16248690240620467291690501919241186606965417557332143379889418969219077630794\": [\n \"20116321684675923098408911391375867457963056248123746558766602622443754301089\",\n \"1\",\n \"1\"\n ],\n \"9022119700647420901690554771967906794095083037200313920424995694339765950427\": [\n \"17410196010032557703481835622717688851265345275263436954976131271038099139302\",\n \"16248690240620467291690501919241186606965417557332143379889418969219077630794\"\n ],\n \"10941723509483270201112966356900056118875678651131241848381413952782491919949\": [\n \"9022119700647420901690554771967906794095083037200313920424995694339765950427\",\n \"0\"\n ],\n \"12311792758441896168554333639705205366957575940600255214046252194056971563132\": [\n \"10941723509483270201112966356900056118875678651131241848381413952782491919949\",\n \"17888856917833407162182938185966015099287850083605952883262317731244534872129\"\n ],\n \"21636101328758959879529389256685013517649326951049122464293466628413146650652\": [\n \"0\",\n \"12311792758441896168554333639705205366957575940600255214046252194056971563132\"\n ],\n \"8152141762812397721374579925341402795652626987358153968756480457993546514\": [\n \"21636101328758959879529389256685013517649326951049122464293466628413146650652\",\n \"4033718748949616257903998883057556685797501540462335706476016590762304509688\"\n ],\n \"10550417066033186206114078674360482996921898839829867063092765606389535675437\": [\n \"8152141762812397721374579925341402795652626987358153968756480457993546514\",\n \"0\"\n ],\n \"16071908820368535203483145947788141721370363755320624702722006530084595432958\": [\n \"8477817931866207516512677105415441404358020833814840958521745837327011288389\",\n \"10550417066033186206114078674360482996921898839829867063092765606389535675437\"\n ],\n \"11593694399093874770699087562250469865595843031752271213020481872041348316909\": [\n \"17536449764335281048272877043320211064233863047048693965082306579428428010565\",\n \"1\",\n \"1\"\n ],\n \"3657492873636040898013307311681576771211762640327530032249952715455452180018\": [\n \"13125424937264576413238807223916826451575597485115855071113578117033204506685\",\n \"11593694399093874770699087562250469865595843031752271213020481872041348316909\"\n ],\n \"16367714548412602858673320743875503275887321890932873039410856727013884661670\": [\n \"3657492873636040898013307311681576771211762640327530032249952715455452180018\",\n \"6095276836940017119468115010959236516304942927922887385357174188949465356783\"\n ],\n \"17661312559736508310355682199147950993324323488261520014573534956130041703278\": [\n \"7753623532918700928135630414415393036414223129138454854281159548622244958231\",\n \"1\",\n \"1\"\n ],\n \"16317481248980959884265927718979113511682428081259900418904871281554112659631\": [\n \"17661312559736508310355682199147950993324323488261520014573534956130041703278\",\n \"9544199401422670834034939412200271450400334606362772279202609697090621925287\"\n ],\n \"3718295259105932691564978124139448621058464852874498892112024530148602200479\": [\n \"16317481248980959884265927718979113511682428081259900418904871281554112659631\",\n \"0\"\n ],\n \"10324862161612576812712625026992539410309941086294701756396741495700095932704\": [\n \"0\",\n \"3718295259105932691564978124139448621058464852874498892112024530148602200479\"\n ],\n \"8731210364228360226543436921219110542534244418995443596130772496763620942414\": [\n \"10324862161612576812712625026992539410309941086294701756396741495700095932704\",\n \"0\"\n ],\n \"549082068931529834051686538596868272710731221833748382499238098071286774865\": [\n \"10106242907466188420158743171475899029437154918937534892435142131777855403398\",\n \"8731210364228360226543436921219110542534244418995443596130772496763620942414\"\n ],\n \"6122229261879062011756623731593550635810917890365951719392916250930410716913\": [\n \"8368218490683718840383592898431272906686549211693869588364511697362570989367\",\n \"1\",\n \"1\"\n ],\n \"11776810616971800708805602112688421596542621010349666938928102269842220513439\": [\n \"16998969139522414295292595498351219976866097008323325804708589447384843703784\",\n \"6122229261879062011756623731593550635810917890365951719392916250930410716913\"\n ],\n \"8864591010286262604410818983485014223071393133823607959619668877738093499666\": [\n \"4700510229645002996008161799770342451420113415542319921544277039762074201921\",\n \"11776810616971800708805602112688421596542621010349666938928102269842220513439\"\n ],\n \"7775982783159697326978094704047530381796817865274616862822960095265957151592\": [\n \"18743163587489900072949552388926070054893887899515029466191165070980701341307\",\n \"1\",\n \"1\"\n ],\n \"19733262949121482509134828907160781512532819748120917344827274638367378432789\": [\n \"7775982783159697326978094704047530381796817865274616862822960095265957151592\",\n \"13706863326760024504468420037864071104137032312808856261123636313896913028207\"\n ],\n \"8249045731748184821259324491530190365641945784617377110820776013458606207057\": [\n \"0\",\n \"19733262949121482509134828907160781512532819748120917344827274638367378432789\"\n ],\n \"18257098775937677490550583573915505674920778858870175387478555996414032199409\": [\n \"8249045731748184821259324491530190365641945784617377110820776013458606207057\",\n \"0\"\n ],\n \"11998417436301780203936438255851216830203771623529386679698564467300249340467\": [\n \"18257098775937677490550583573915505674920778858870175387478555996414032199409\",\n \"0\"\n ],\n \"8256998776080098236034944492610863795345958600901909503510710619758878072146\": [\n \"0\",\n \"11998417436301780203936438255851216830203771623529386679698564467300249340467\"\n ],\n \"19148626855237312821168304894429820257198255030191426580569471382951463200821\": [\n \"5398235059406889939361268962342699788936275132574115584925342486079642093991\",\n \"1\",\n \"1\"\n ],\n \"16569015481479356428690358632794689457169505704528254673521666885585867343356\": [\n \"21378284744394150185096043328143295991940714397434866720061010719224795350008\",\n \"1\",\n \"1\"\n ],\n \"2045076773875490081110276011198766746518751336532352535249043139171859355227\": [\n \"5150231425496288506310951190258977168303433968881350763399665560529529807343\",\n \"1\",\n \"1\"\n ],\n \"1238329733499718968488098347638054628253415093623258924764546702330931097324\": [\n \"14599630544863723193011094664224641096505030825635425500317439228245002768757\",\n \"1\",\n \"1\"\n ],\n \"9340683670155808463077994367346640183784563474209359556190449130091726930534\": [\n \"17660559295873794671404834764330975983590953440747375422044765479223341290825\",\n \"1238329733499718968488098347638054628253415093623258924764546702330931097324\"\n ],\n \"7494436591622416303365876524801338549968317453817976783873266837883654270666\": [\n \"9340683670155808463077994367346640183784563474209359556190449130091726930534\",\n \"0\"\n ],\n \"3748230326958009451903240013737992486893784911284330787711327313828733086153\": [\n \"0\",\n \"7494436591622416303365876524801338549968317453817976783873266837883654270666\"\n ],\n \"17964393909138980025817969345940117592143881610892721475446616835757713590333\": [\n \"3748230326958009451903240013737992486893784911284330787711327313828733086153\",\n \"0\"\n ],\n \"9364432480442544732435120279917545169922393893131405666738549590937567739965\": [\n \"0\",\n \"17964393909138980025817969345940117592143881610892721475446616835757713590333\"\n ],\n \"18222489502699813467508046394180201699909610868929361063936919024073771910918\": [\n \"9364432480442544732435120279917545169922393893131405666738549590937567739965\",\n \"19616714053949485509350073351559441892145895489840133763060806521250349258672\"\n ],\n \"12693700028672496845466197579170184660410602614960095990833545255784064201725\": [\n \"19707838844576794577474135846183321145141621735889234562724450614833370104074\",\n \"1\",\n \"1\"\n ],\n \"18796181813989246185620768002034357420120354470818441957512369538228595038116\": [\n \"12693700028672496845466197579170184660410602614960095990833545255784064201725\",\n \"11330071501662710651159333547294585938648942880180924030493517204005358419343\"\n ],\n \"8113269104918083419643567683485921573343551041388240167485600209187591539544\": [\n \"18796181813989246185620768002034357420120354470818441957512369538228595038116\",\n \"0\"\n ],\n \"14446786695610656638168614909972992879319655457509913203708266855639924000880\": [\n \"3905512980120621449858509270253846769438353643458884195764658597051494743876\",\n \"1\",\n \"1\"\n ],\n \"15782479589280578951033627385526734763654580059436125761230915648481766513052\": [\n \"19086477456430489727668537130688001940845204896142876848531147260109235633511\",\n \"14446786695610656638168614909972992879319655457509913203708266855639924000880\"\n ],\n \"19277616767606489597399786054174485908570162226771648318844063316649276003690\": [\n \"16964118082068346632217725704348552016256034603264453673023767604961002638939\",\n \"15782479589280578951033627385526734763654580059436125761230915648481766513052\"\n ],\n \"18014306512428915954994624927582608558320181029237984141485811796133689910869\": [\n \"0\",\n \"19277616767606489597399786054174485908570162226771648318844063316649276003690\"\n ],\n \"7195699179711165087632727472326685212641681323357528683093629034174177602105\": [\n \"13797288869203294701233746937201709905548196708146503805779191443663089801708\",\n \"1\",\n \"1\"\n ],\n \"8418438303352666832839708513747633373653742627082530159314543663412851301390\": [\n \"4751853716307312973739208893066324252205282338926272297979519581335691172810\",\n \"1\",\n \"1\"\n ],\n \"17017927747130274114699711882285580370047981209940797518954873503476390439415\": [\n \"11853684260634259782634421427211190009664993589797012264391677029045407338635\",\n \"8418438303352666832839708513747633373653742627082530159314543663412851301390\"\n ],\n \"10943457731761971727503199819936413835841938954046016453976747565291510561602\": [\n \"17017927747130274114699711882285580370047981209940797518954873503476390439415\",\n \"0\"\n ],\n \"4095727956347313436528548552793250794545019158354327809934294428015841170795\": [\n \"10943457731761971727503199819936413835841938954046016453976747565291510561602\",\n \"0\"\n ],\n \"15217837154404246305820458858858615292419874853924684711086818560106478319792\": [\n \"0\",\n \"4095727956347313436528548552793250794545019158354327809934294428015841170795\"\n ],\n \"4230683304203908973094133215806737864811689179348688343240810762503866785913\": [\n \"1928587447136872680378058215858014668333382390096559440074225071401249856608\",\n \"15217837154404246305820458858858615292419874853924684711086818560106478319792\"\n ],\n \"7674184095948813439606938865515465816465540825701200142387256077393056995747\": [\n \"2078096994042754251392794803140147893569711601276466170527154939024233043027\",\n \"1\",\n \"1\"\n ],\n \"4236941960887458007173873610409868510802132107096687236355045080179905240152\": [\n \"7674184095948813439606938865515465816465540825701200142387256077393056995747\",\n \"15812703763139875556785537365198087294551080887271557680558469869946462007629\"\n ],\n \"20147035132432412764846491889501499651982815321655388031664097863822900691475\": [\n \"0\",\n \"4236941960887458007173873610409868510802132107096687236355045080179905240152\"\n ],\n \"435513341153576504338013661194106889343009746611085046185447807023095512854\": [\n \"20147035132432412764846491889501499651982815321655388031664097863822900691475\",\n \"0\"\n ],\n \"17106879316621595214238802169943695147000767219470659961194077377194025710209\": [\n \"18747313079376685397649911276844552829558700551960598458464489166791430041736\",\n \"435513341153576504338013661194106889343009746611085046185447807023095512854\"\n ],\n \"18248949118997858368183215233629484208659570760875275926563986617016680243292\": [\n \"5688780012434225899043950203769959122339306532033144796325833442020220802555\",\n \"1\",\n \"1\"\n ],\n \"13661755998072406945723536022392852465557562330669063706395088351817660167032\": [\n \"12462271772927738513100894909383865749746444113191906778451262178719097957209\",\n \"18248949118997858368183215233629484208659570760875275926563986617016680243292\"\n ],\n \"17351737407137670467468523543869466512553555341298485595531866022680861889299\": [\n \"0\",\n \"13661755998072406945723536022392852465557562330669063706395088351817660167032\"\n ],\n \"20842523962069534126594699454868192576474664462676542596495482940547950830392\": [\n \"17351737407137670467468523543869466512553555341298485595531866022680861889299\",\n \"0\"\n ],\n \"19388960461634405252000446353042352449234037491715660919756886722374832896068\": [\n \"20842523962069534126594699454868192576474664462676542596495482940547950830392\",\n \"0\"\n ],\n \"2096519364549963624595991134908690726288616589460991513702618443379559919441\": [\n \"0\",\n \"19388960461634405252000446353042352449234037491715660919756886722374832896068\"\n ],\n \"7362026732648439550095732331105115899423514211451859909050290790431900394932\": [\n \"2096519364549963624595991134908690726288616589460991513702618443379559919441\",\n \"0\"\n ],\n \"8130617384004644855551120482805118813032335919772122573196481339130553484803\": [\n \"7362026732648439550095732331105115899423514211451859909050290790431900394932\",\n \"0\"\n ],\n \"5177101519266197665824522133601039937804332499886570882383411378611597476384\": [\n \"8130617384004644855551120482805118813032335919772122573196481339130553484803\",\n \"0\"\n ],\n \"4893423059622373749534277732872506243605333553907104851694671908469025155178\": [\n \"0\",\n \"5177101519266197665824522133601039937804332499886570882383411378611597476384\"\n ],\n \"3915495970677666897782610158885667060787815524426051486100539224409744250050\": [\n \"4893423059622373749534277732872506243605333553907104851694671908469025155178\",\n \"11769373803687755283662194072458112038193074916214920762012076269683933060354\"\n ],\n \"16790297305163871510488772628650967141002516265116246848178979670561124608597\": [\n \"5594354814253426405374619956973573278949047366870487460031497849179994326050\",\n \"3915495970677666897782610158885667060787815524426051486100539224409744250050\"\n ],\n \"14449851549516383220383660783390258908519184341205882155141834418083964153148\": [\n \"13671721872897823831896853035341680099796763375775676864205562083339508356990\",\n \"1\",\n \"1\"\n ],\n \"1851530316120620477315249250785433075977813834293906950359801145553758126591\": [\n \"14449851549516383220383660783390258908519184341205882155141834418083964153148\",\n \"10928843223553230726752644495440081506838387193712797590829591764567045064239\"\n ],\n \"8886983086616506290753729911020479409644056391280117512987824072909351435376\": [\n \"7697701600912856326287877648619448525430646350531295338764209081001925633921\",\n \"1\",\n \"1\"\n ],\n \"11626630617597037603269323136793132487286112337797575191857768200927653063849\": [\n \"13335062917864557307199987175080377769278068774268244218341199025667541498664\",\n \"8886983086616506290753729911020479409644056391280117512987824072909351435376\"\n ],\n \"4846927649952945152936496689289981162801551216628055457401463138057774061576\": [\n \"11626630617597037603269323136793132487286112337797575191857768200927653063849\",\n \"0\"\n ],\n \"1097760242719191390384629733604894895129610224066490826912874608096139766948\": [\n \"15524974160788052089578184207208169868142108648180997551958958318189934138353\",\n \"1\",\n \"1\"\n ],\n \"5545910284738428957539024637172023780996458309212389350535557052487982008255\": [\n \"1097760242719191390384629733604894895129610224066490826912874608096139766948\",\n \"20409490749161056339823662004240364437528152265413263534337001319106808539345\"\n ],\n \"1060946241783140026861651107325541304735791448666922962724318755945280854587\": [\n \"0\",\n \"5545910284738428957539024637172023780996458309212389350535557052487982008255\"\n ],\n \"8104059717054235233577688779776069462647169771695100800661257207702605269716\": [\n \"0\",\n \"1060946241783140026861651107325541304735791448666922962724318755945280854587\"\n ],\n \"6934511716862913000083949285918810720835933579971933657357590231550918364283\": [\n \"20863587765903824086354830956941482686146343139775851999646889065448977371275\",\n \"8104059717054235233577688779776069462647169771695100800661257207702605269716\"\n ],\n \"14411963871526265496846017996367105364144478720360165983944461912639689170634\": [\n \"6934511716862913000083949285918810720835933579971933657357590231550918364283\",\n \"0\"\n ],\n \"15628207842516971611137923974745493637267732329527508620428858949662296262484\": [\n \"4238477119971619813902242629238936528240271666279719115975966727922617753512\",\n \"14411963871526265496846017996367105364144478720360165983944461912639689170634\"\n ],\n \"6390486227724468500792016290320760333046518478060536233860071659758472160470\": [\n \"15628207842516971611137923974745493637267732329527508620428858949662296262484\",\n \"568622084016194854116596510811247222906746761972796967053762619404459115915\"\n ],\n \"14391711200479245429398920222248536639082939617169982786060334212125314614234\": [\n \"5020002949535031891925740511729814960685847736973873745725814910602881576984\",\n \"1\",\n \"1\"\n ],\n \"16203111538544147179099267336710906651108671909650824157185411290130478953627\": [\n \"1543862980316356072141397112485520853065302041522579682640515026641190536046\",\n \"14391711200479245429398920222248536639082939617169982786060334212125314614234\"\n ],\n \"10739694199518959548850018159102481906637649953483142127474912240405921566479\": [\n \"16203111538544147179099267336710906651108671909650824157185411290130478953627\",\n \"16874323802800877517200595178053968562027591328068740909544995813074889225622\"\n ],\n \"16732626926035534444585126578721184862698742114485947854816219019514142190274\": [\n \"10739694199518959548850018159102481906637649953483142127474912240405921566479\",\n \"9124441068975947858016826487334418933779430333184520369615201259487321402397\"\n ],\n \"16420085136703956602540714603038819759669420765195440901925894621243788747975\": [\n \"1966531178051389357571163363864238186546856389604677804266256178749702012616\",\n \"1\",\n \"1\"\n ],\n \"20076053149635455847796951414468179405427866607580555681385859492845192203358\": [\n \"9456539805738060459229200392935303152590452735251296861059693738815290415089\",\n \"16420085136703956602540714603038819759669420765195440901925894621243788747975\"\n ],\n \"15851190681870492409165731370700714491897617950324688886577144998775207359187\": [\n \"11284198978952492719726321032308207187519636404930351866433941045157176855479\",\n \"1\",\n \"1\"\n ],\n \"9263876769366329938630741073102673597348292313350469565905764447084385624606\": [\n \"15851190681870492409165731370700714491897617950324688886577144998775207359187\",\n \"18912130708196997502648619741339115822933794063365097388698445962419615498556\"\n ],\n \"13875344918577099897057598019481704151656331291534200613342833338171541162636\": [\n \"8311722923217977947150350880337381763179599159224347719714112019281902679222\",\n \"9263876769366329938630741073102673597348292313350469565905764447084385624606\"\n ],\n \"14373497991482990526039356550044159267459743919295865572198784753532339245106\": [\n \"13875344918577099897057598019481704151656331291534200613342833338171541162636\",\n \"11637072125525099943597827848043366427619569765451015778485961547293093471366\"\n ],\n \"20953608492980113283399422851522831970779023812175348972787212206325962316753\": [\n \"11834583779452455218331967740454576968524224667897452573178982809291122099613\",\n \"1\",\n \"1\"\n ],\n \"19183151802297701629357526884384896909721525142872087626538328982451594048440\": [\n \"20953608492980113283399422851522831970779023812175348972787212206325962316753\",\n \"1882180669014584826239483264595158313748290528536307755996127009096568237846\"\n ],\n \"10615229226167431756571322370669473499214031948324274837465398033907435091559\": [\n \"2622162377837017111750675993547463555530935414322014278633962794257155044417\",\n \"19183151802297701629357526884384896909721525142872087626538328982451594048440\"\n ],\n \"20867870741103134362563589533463719062827595090726425595840627624769979345280\": [\n \"15415174443497361014461313288910314915141518154921012511658403384638943883111\",\n \"1\",\n \"1\"\n ],\n \"11607653978907217076923615927677900041253992957381002416168389576899244135082\": [\n \"10022195252274852879296900815681397133521434410303467939745862058593171879372\",\n \"1\",\n \"1\"\n ],\n \"4298893981589025246107165579935107845021400871669977568518156919966708239066\": [\n \"9619113687565247893117003134901869008390161943779362926354033587044920240939\",\n \"1\",\n \"1\"\n ],\n \"16196362191495196995355072968384435499305290004104187708116560429755031998261\": [\n \"4298893981589025246107165579935107845021400871669977568518156919966708239066\",\n \"2918667750093614095736971126613162117884545482970202729609236673549857266183\"\n ],\n \"551412610722461192174042092411017703436322168515534044176614185720655171660\": [\n \"5994628826721450333696791103073699732616597781342159269635118012843638465840\",\n \"16196362191495196995355072968384435499305290004104187708116560429755031998261\"\n ],\n \"13839057709707929371356187561910755188444300333775211550293222948054485767388\": [\n \"551412610722461192174042092411017703436322168515534044176614185720655171660\",\n \"4811317018958691264496619812068887867283141166263435948886437334544428354467\"\n ],\n \"11417631415844383500566692012571439157372717420710341932093893418743664570690\": [\n \"8167648943471994555189140057896967031034421318036760348720668262349428749894\",\n \"13839057709707929371356187561910755188444300333775211550293222948054485767388\"\n ],\n \"7955043117358180664221579324487745226485326053263815849662181775717151007265\": [\n \"11417631415844383500566692012571439157372717420710341932093893418743664570690\",\n \"0\"\n ],\n \"966112615778875205780015852697614386446977218223475810083016551205139245525\": [\n \"17987099193319115085026210892117475108912277359999136033046129819573902501118\",\n \"1\",\n \"1\"\n ],\n \"15156427695303655518158225069051760860282175340765083383841302610682011366727\": [\n \"966112615778875205780015852697614386446977218223475810083016551205139245525\",\n \"20650888845255860105531035289389762198302789259944226986144297706439073390098\"\n ],\n \"8649922064070294641277961234188255735355408500051361576398913563226774883520\": [\n \"15156427695303655518158225069051760860282175340765083383841302610682011366727\",\n \"0\"\n ],\n \"21492179135524480694395369306760456653270147221724154578873255892767193788129\": [\n \"0\",\n \"8649922064070294641277961234188255735355408500051361576398913563226774883520\"\n ],\n \"6367449988882050643589493218112737483476914019174353531970696343866396979809\": [\n \"0\",\n \"21492179135524480694395369306760456653270147221724154578873255892767193788129\"\n ],\n \"4617094898993761326866662474974646783028256644739205898166936132701422956273\": [\n \"0\",\n \"6367449988882050643589493218112737483476914019174353531970696343866396979809\"\n ],\n \"9181127186320564308939093242672414223457392299932835519681441680438639466526\": [\n \"4008592441758631481678851651208236911739870405339053237477558819215070995334\",\n \"4617094898993761326866662474974646783028256644739205898166936132701422956273\"\n ],\n \"1303901806710022680366585068226708700386888487088350155728352599266250050699\": [\n \"9181127186320564308939093242672414223457392299932835519681441680438639466526\",\n \"0\"\n ],\n \"4971127147800567455571311029127870640478726924814288757562862574551181099884\": [\n \"5050586389929562342820629344506816889489714088923445500822361492799153451019\",\n \"1\",\n \"1\"\n ],\n \"614094650879799129522188279103393520847941697070367188032793111507555974791\": [\n \"10034325115644362051950767710076618784512560354043271173906586788719151124514\",\n \"1\",\n \"1\"\n ],\n \"19308977054569450437406233817916038462044639274390471284573735220335431122648\": [\n \"12590715102377168686314283175265220533138380272653687798542786875816725507221\",\n \"1\",\n \"1\"\n ],\n \"15338203327032597845696591474414378005517736217403967628737468544751371502285\": [\n \"19308977054569450437406233817916038462044639274390471284573735220335431122648\",\n \"10804496814908023170641622393454356475200819758535572950100884983822818331874\"\n ],\n \"11499447202881138856010428876528944445371264540514680755472405938029143337511\": [\n \"0\",\n \"15338203327032597845696591474414378005517736217403967628737468544751371502285\"\n ],\n \"1482454385793425418194184491898829591249048698118367201769399877869585336837\": [\n \"1458961998365411289209742325637051992861377689374094790420106748840308223574\",\n \"11499447202881138856010428876528944445371264540514680755472405938029143337511\"\n ],\n \"9762127901048364590719621130045692344613019525231524495961060336551672790655\": [\n \"13825755035956615234877479447273161982551017103469505723592393718782194858647\",\n \"1\",\n \"1\"\n ],\n \"17621656542969268828505199745399804844979036978411789031154056907914794502308\": [\n \"19038009182635613180015329099913329927728132960535065601480051525690235920694\",\n \"1\",\n \"1\"\n ],\n \"13172951891594355333008538387564273241171823801022411841274483646385384747702\": [\n \"12895647491356713639348127426273936977364882416375057281640688171178929257473\",\n \"1\",\n \"1\"\n ],\n \"110633076982739255635071147453461879269813845543524590972808309571482115425\": [\n \"14243210410379853174703097000175059822616731965605996823339818918390031488068\",\n \"13172951891594355333008538387564273241171823801022411841274483646385384747702\"\n ],\n \"1673442765396823443676452336560714169555460965168863372462027828084903245648\": [\n \"3273366080962212812287504809454229899218304717826876845509635387736544897775\",\n \"1\",\n \"1\"\n ],\n \"1161281595750609104505875854238180097722800924088415113582259966521430934120\": [\n \"1673442765396823443676452336560714169555460965168863372462027828084903245648\",\n \"15416360872042579947739934254907734790494751570597796336241045067398323167780\"\n ],\n \"5099345278189342120300506675075747011117028830431707970237695576502169492031\": [\n \"0\",\n \"1161281595750609104505875854238180097722800924088415113582259966521430934120\"\n ],\n \"13289793339113645318965510279919966157072439140793339285038978924637766404285\": [\n \"0\",\n \"5099345278189342120300506675075747011117028830431707970237695576502169492031\"\n ],\n \"10685884433280644814620723179308337594894194035869509856776186919808062703855\": [\n \"13289793339113645318965510279919966157072439140793339285038978924637766404285\",\n \"0\"\n ],\n \"19125479226288490543044639926950111014080647732016792327361893211923312651618\": [\n \"10685884433280644814620723179308337594894194035869509856776186919808062703855\",\n \"0\"\n ],\n \"17109359896842669436339258780213839156260477745546872357944849171156384912798\": [\n \"0\",\n \"19125479226288490543044639926950111014080647732016792327361893211923312651618\"\n ],\n \"14292415284994296226766994886777812281382145088149480384247450953941138889148\": [\n \"6840564726453628586889341919965500222941002218446026093496332614829091189969\",\n \"1\",\n \"1\"\n ],\n \"8549885129352943853492443402848845804026645390109923565739732590667920501279\": [\n \"18599794798384955465361326636756193927487078392409169037408041501985903768769\",\n \"1\",\n \"1\"\n ],\n \"1664488993574133579065552669363317313869858670133489472558495290675946624781\": [\n \"8549885129352943853492443402848845804026645390109923565739732590667920501279\",\n \"19675833297782363535462898806447103902379843922905356051607979413627763801512\"\n ],\n \"878962674409971130075351555040723784729897575366370037644060636160117147189\": [\n \"6444288951205423453483537008843482643698982755655379078250817119863599991512\",\n \"1664488993574133579065552669363317313869858670133489472558495290675946624781\"\n ],\n \"8413022394293283149630022101812722381325030703715941593070137773570269070060\": [\n \"878962674409971130075351555040723784729897575366370037644060636160117147189\",\n \"10212830037087726537699281895468334792517338189123319208962856303921413581592\"\n ],\n \"21720145150627775176529134927988269314622825002288865501699680860392913418883\": [\n \"20229200132405223064203273559977345059346651432468206204330467278926022272934\",\n \"1\",\n \"1\"\n ],\n \"1539342973517848741847534893053058408266000944214738586211052100432652791311\": [\n \"21720145150627775176529134927988269314622825002288865501699680860392913418883\",\n \"21389473606751477718565711258542777111344525275585997361432827542343591395376\"\n ],\n \"10184687335994408539027285265780600217510716028806864692625272852322936671005\": [\n \"8817939161811843672794721837797229775919139163978677466093189933387889443600\",\n \"1\",\n \"1\"\n ],\n \"13034818182797404729156072503948236898123002808420040132472665925057296285295\": [\n \"5633436385616587307710527540781262980334352683486586888018728772543253755005\",\n \"1\",\n \"1\"\n ],\n \"6904399739215310667900930669168378068549981572360392986871880105804221556944\": [\n \"13034818182797404729156072503948236898123002808420040132472665925057296285295\",\n \"11349213323136778035573379056963452106765034554567536616947164754590365326504\"\n ],\n \"19285996869153230870240107583634936183438331483010611503204534309223231510335\": [\n \"0\",\n \"6904399739215310667900930669168378068549981572360392986871880105804221556944\"\n ],\n \"14702482157574928555868692392112143778693497783434737012699680434615781773200\": [\n \"0\",\n \"19285996869153230870240107583634936183438331483010611503204534309223231510335\"\n ],\n \"6362116491636913606212330097741049276028184497168204220787386746189347546080\": [\n \"2119814276659136681517165064663566129659550872933799346665576899818129017987\",\n \"1\",\n \"1\"\n ],\n \"993970757980194484365292822894468846482742373112922534614464943803153310951\": [\n \"20620085310081442663044557480940111059963996701553065311354822375269654539037\",\n \"1\",\n \"1\"\n ],\n \"20677869176668357832418980666387476889654299342448427190557243011378955790651\": [\n \"993970757980194484365292822894468846482742373112922534614464943803153310951\",\n \"12999110474689762645901966404881307847656217538804809537218794133479904541742\"\n ],\n \"3530185179024967793997235788140021750112535305868054078418293714574676341152\": [\n \"0\",\n \"20677869176668357832418980666387476889654299342448427190557243011378955790651\"\n ],\n \"15303359731662839372440132987604740864634162650626911263958117757026014019448\": [\n \"3530185179024967793997235788140021750112535305868054078418293714574676341152\",\n \"7631341103665790447897589482686943044908469945231062086709630905820957762818\"\n ],\n \"13315614624147130099756541993546584938350209215186493808164076281004029012512\": [\n \"17648131784606345415426994042340314284046127919362890518756286870665301094117\",\n \"15303359731662839372440132987604740864634162650626911263958117757026014019448\"\n ],\n \"1165252532453114120764604309462450721337965575933102320789798647920965844015\": [\n \"13315614624147130099756541993546584938350209215186493808164076281004029012512\",\n \"17198472079824545810002478666434007128951027181876218370167002570164052193997\"\n ],\n \"10986437959797455164434383928805813868417604048175986005600289136142639814932\": [\n \"4375734684373224813587774365623709434649333305178384592565291065917250239069\",\n \"1165252532453114120764604309462450721337965575933102320789798647920965844015\"\n ],\n \"21783255762117571236782387092075249692703435453289860046292979678369520560427\": [\n \"21804353229076234116613192082588406636002028733446474580181833294349431372543\",\n \"10986437959797455164434383928805813868417604048175986005600289136142639814932\"\n ],\n \"4802561595385157785562895919463449096017943776418522193584596704504969464033\": [\n \"16035579311752190998521301858892588831098918472715639539425754206946823548295\",\n \"1\",\n \"1\"\n ],\n \"8647108287018049410046467268332196759685259329604861092386324357135324368511\": [\n \"14649695571664500809605037578014521728584187282787592144798862110174848709591\",\n \"4802561595385157785562895919463449096017943776418522193584596704504969464033\"\n ],\n \"213018963980463150308904446990478949000482926293364477124399399145060776528\": [\n \"8647108287018049410046467268332196759685259329604861092386324357135324368511\",\n \"0\"\n ],\n \"19216403510610189746413889092937761225213203843516073007487408974106234604468\": [\n \"17099638079924010043737127352209165532510535193934689758378580595526999198824\",\n \"213018963980463150308904446990478949000482926293364477124399399145060776528\"\n ],\n \"11983100707940728236666029580566247812587932501809948862731715064083290731087\": [\n \"1040412677805310508792510020155629951084637429323454121736389753337501566742\",\n \"1\",\n \"1\"\n ],\n \"16986108687599092368784425310252301341017219255236116354199226185742936291946\": [\n \"11983100707940728236666029580566247812587932501809948862731715064083290731087\",\n \"3552982969735933098531600849999769325556505209303128578548279311246897537845\"\n ],\n \"3914003334249801622180176296555602432420965227497030399421767327830572802810\": [\n \"21149835047286613197137776179681783554464370329539912726774551872880887942959\",\n \"1\",\n \"1\"\n ],\n \"13601018717392614762451210947514347856238120884253011746836737626281877804307\": [\n \"82590751168312546154857515903152385986771751441779703405697594769854454446\",\n \"1\",\n \"1\"\n ],\n \"19537422389804354873379173676615818267697051636124627423869982099017022149262\": [\n \"13601018717392614762451210947514347856238120884253011746836737626281877804307\",\n \"14097133184222996020692971615201482987172039004381557258361063767772840541735\"\n ],\n \"3288460620089939245053347175229695996068996017368533754240561262571574113866\": [\n \"0\",\n \"19537422389804354873379173676615818267697051636124627423869982099017022149262\"\n ],\n \"19970741202771719413816849513799171365548167166422966741731052715036095902828\": [\n \"3288460620089939245053347175229695996068996017368533754240561262571574113866\",\n \"0\"\n ],\n \"346865808374754947574887878557488836457789460686857909285850248167761693208\": [\n \"0\",\n \"19970741202771719413816849513799171365548167166422966741731052715036095902828\"\n ],\n \"11486286459039359752336324657864506912905778217483609944685024404509345986642\": [\n \"15562926798833289267470596034630234853308449893442804285662187361840622791347\",\n \"1\",\n \"1\"\n ],\n \"15070366788240806831416207750617816032941268768243937304003202035076310075729\": [\n \"11486286459039359752336324657864506912905778217483609944685024404509345986642\",\n \"2711640801756407563014492048895593441329999989816928479985812725458471779928\"\n ],\n \"1706456455670771790227843357177496142125189984300858967088138511875690839413\": [\n \"15070366788240806831416207750617816032941268768243937304003202035076310075729\",\n \"0\"\n ],\n \"11362785256530567983924000067892759577701413735157527304650343773147703609727\": [\n \"1706456455670771790227843357177496142125189984300858967088138511875690839413\",\n \"0\"\n ],\n \"8971207172720923115520410417419737618084220934741649632646008481069765927872\": [\n \"11362785256530567983924000067892759577701413735157527304650343773147703609727\",\n \"0\"\n ],\n \"12242678472906775479043580736540773277081219511189505484446716773625614332877\": [\n \"0\",\n \"8971207172720923115520410417419737618084220934741649632646008481069765927872\"\n ],\n \"8686951962025715810979128432938285345984769818304949130504887456317324006112\": [\n \"0\",\n \"12242678472906775479043580736540773277081219511189505484446716773625614332877\"\n ],\n \"11858046277420761370285724270136577858387653004106711989281788213160281364971\": [\n \"0\",\n \"8686951962025715810979128432938285345984769818304949130504887456317324006112\"\n ],\n \"6149181098800255507464748665420397282463063170424751247750977356227199657149\": [\n \"11858046277420761370285724270136577858387653004106711989281788213160281364971\",\n \"0\"\n ],\n \"20708295259935403170199278242450301189376523952581682725653317006789646169039\": [\n \"10968938942659951007781617122289944997733602035434141213416886909838519737850\",\n \"1\",\n \"1\"\n ],\n \"20445967502400960545149679713053480283012367261725877492907541851012504397986\": [\n \"1920487114208823583510339572629053679989271715798529499380467421224133930868\",\n \"1\",\n \"1\"\n ],\n \"7542028963706528402226287343062849030437375331439037853643921167184837823915\": [\n \"20445967502400960545149679713053480283012367261725877492907541851012504397986\",\n \"2236925573032157519892130489988441936752804417705492233259532528891993928572\"\n ],\n \"3416116793653469739644105930578559711147529830136470039498639014042919118669\": [\n \"7542028963706528402226287343062849030437375331439037853643921167184837823915\",\n \"0\"\n ],\n \"577554990191661351230441433536359588911977969069991129067120379956120647384\": [\n \"0\",\n \"3416116793653469739644105930578559711147529830136470039498639014042919118669\"\n ],\n \"16394842786770427130212177974624543486682339706141847541848656308043936268476\": [\n \"577554990191661351230441433536359588911977969069991129067120379956120647384\",\n \"0\"\n ],\n \"15013529997454362553398978009217973434754298648616568173959815144933163471927\": [\n \"17993185240985232104196453608171358835799601451395325482698803679645121561116\",\n \"1\",\n \"1\"\n ],\n \"10871699214139248558110051967395274993093847936804080196155431434059025315128\": [\n \"7606495941786985732957725751205880666308446087946637890062590711328729288279\",\n \"1\",\n \"1\"\n ],\n \"4895736944502656324383026732727335598319904546537432275653358111986783209668\": [\n \"13044353967510541127063032871572020399426444778887616317847161535755799524377\",\n \"10871699214139248558110051967395274993093847936804080196155431434059025315128\"\n ],\n \"1002975941308827362188655436284941117179615090404520937216996397846785115144\": [\n \"0\",\n \"4895736944502656324383026732727335598319904546537432275653358111986783209668\"\n ],\n \"8865251731240247427098761233697088120930976349709702046889379441662947670160\": [\n \"1002975941308827362188655436284941117179615090404520937216996397846785115144\",\n \"0\"\n ],\n \"5932161779696150603727430734641725885918812235756203050501044122686975950148\": [\n \"12381132735806727600377167163103050209861011456277458082668706634467626378195\",\n \"8865251731240247427098761233697088120930976349709702046889379441662947670160\"\n ],\n \"5681959786490413774602381427783852243014290984732499193203862329900410766511\": [\n \"5932161779696150603727430734641725885918812235756203050501044122686975950148\",\n \"20168331172628656125242830300175466188162346420822307923064559101558482095065\"\n ],\n \"16513341941159851981403125412610305970417456950783511420666748091835123575330\": [\n \"0\",\n \"5681959786490413774602381427783852243014290984732499193203862329900410766511\"\n ],\n \"10397099169940604172862222426258065434888874836167286621384985447595952784259\": [\n \"16513341941159851981403125412610305970417456950783511420666748091835123575330\",\n \"0\"\n ],\n \"10696855768855533394254839561096012178523871924633809710732273498197388965803\": [\n \"10397099169940604172862222426258065434888874836167286621384985447595952784259\",\n \"0\"\n ],\n \"3246988016854904548781475493016475432586345888333432589687265581770672085646\": [\n \"16939648341214016794806425930680998439340530752606050898443857505995108989406\",\n \"10696855768855533394254839561096012178523871924633809710732273498197388965803\"\n ],\n \"6407343534520619783843777147651535679263365785405698745202783870664284620922\": [\n \"15035029481731223110366806352125072094652856182365850663729066010240597830348\",\n \"3246988016854904548781475493016475432586345888333432589687265581770672085646\"\n ],\n \"21699079648895998305669361146921848940471793180555527461739543662107582225151\": [\n \"6022043975893156817994823514658820209890607106828389100707164796152979364038\",\n \"1\",\n \"1\"\n ],\n \"10279014869644136386081498523387745290267925882347130879371411021952390714941\": [\n \"19757213671441577907696563489434714008027988354431146190669531349346071817408\",\n \"1\",\n \"1\"\n ],\n \"4629061814738352837807104756404294967283875587260094686052353617296989667111\": [\n \"12292140584727108087726567912868643655879026578756174676293928809776516984604\",\n \"1\",\n \"1\"\n ],\n \"4859075286563142333857857214333405442504300602444366723572497667627298678241\": [\n \"16722133776761256566186333511121751280749933895603662273535470279096561975722\",\n \"4629061814738352837807104756404294967283875587260094686052353617296989667111\"\n ],\n \"15623315167528289424587856310900620868162729715568244950996384336009558871547\": [\n \"4859075286563142333857857214333405442504300602444366723572497667627298678241\",\n \"1994073623533529188898534403260380342828250499788754089473816374250189584578\"\n ],\n \"4659414265299817680775230633252980411916514811634228383805601365364365456218\": [\n \"15572088976751683014854124868549475666152254635942168017198123585534146514844\",\n \"1\",\n \"1\"\n ],\n \"11638227275458996075409045915607912933802277793416235768877148467429985526686\": [\n \"18206195203404367127593031938892363757091082224659937391120525931047661222703\",\n \"1\",\n \"1\"\n ],\n \"18724109734253791806978807332819002020004969948909602164518090187131631755861\": [\n \"11638227275458996075409045915607912933802277793416235768877148467429985526686\",\n \"15121337203912295921479117445368151223495891521794006223680003776986303788940\"\n ],\n \"8652289685735393149541839923668655981620727968956668405319407374034707131500\": [\n \"18724109734253791806978807332819002020004969948909602164518090187131631755861\",\n \"0\"\n ],\n \"3813317113151124085558168643838359062208185255282143556353598061446348549817\": [\n \"8652289685735393149541839923668655981620727968956668405319407374034707131500\",\n \"0\"\n ],\n \"8227995809002594665669563355858302404275180649337930049691677640676026901666\": [\n \"0\",\n \"3813317113151124085558168643838359062208185255282143556353598061446348549817\"\n ],\n \"15688792389547227646688924502857772324156498346103001491137303780910870043159\": [\n \"6889341588531510142746533712909443888744985020064005536151609455432477395009\",\n \"8227995809002594665669563355858302404275180649337930049691677640676026901666\"\n ],\n \"2895649491330294054610593221093183485130366734065644490836332670375438953117\": [\n \"6375231695323014111051436384048740284901925218945939415556660690664039515739\",\n \"15688792389547227646688924502857772324156498346103001491137303780910870043159\"\n ],\n \"13357076705591593447116415823763792880569475376125203092871497730458601440453\": [\n \"21472911441826927175352654312970163144108648034297883074882037890911495216668\",\n \"1\",\n \"1\"\n ],\n \"5348491115971031786001660769013732085154830301467153466281834508149965702602\": [\n \"9153914148486096503187426894206039799790806836580782517104547950227380761773\",\n \"1\",\n \"1\"\n ],\n \"13998823367677490524757632155127467882145192497012057338345313255352582331918\": [\n \"8997123968559354967316312171603552556991270546955568586129799691215667620767\",\n \"5348491115971031786001660769013732085154830301467153466281834508149965702602\"\n ],\n \"4119796834791800599008851687199367378810909112972518759452213477139972195497\": [\n \"14614359787698134586662259862011082102069856729861918651917864520322270142454\",\n \"1\",\n \"1\"\n ],\n \"11008816704868882629154769870986397813670466163620661470600505462227531433711\": [\n \"4663148398145248606271200686623276720720921352140251216727752584446038086526\",\n \"1\",\n \"1\"\n ],\n \"7862147391486375412067675510588730534071534532663799530513756929077197754671\": [\n \"11008816704868882629154769870986397813670466163620661470600505462227531433711\",\n \"6894173591086259454177957674476114893786570244886663369980859772466851017234\"\n ],\n \"9793542548020923986984836632870019814436558116384267397804179846520757321674\": [\n \"7862147391486375412067675510588730534071534532663799530513756929077197754671\",\n \"5111413828560048745295855986219898542400236005782931415174012811701196568706\"\n ],\n \"12112057203317626950071014857797354741260170718558549944275642352399239557180\": [\n \"4711338116712944578363022940128369788869777564975646989975810151325254906123\",\n \"9793542548020923986984836632870019814436558116384267397804179846520757321674\"\n ],\n \"2102106640035376418329204146021890729570646689384965551450115183640662729893\": [\n \"12112057203317626950071014857797354741260170718558549944275642352399239557180\",\n \"0\"\n ],\n \"6851107504760142268828114894632313968043035482692148769774985809637018691004\": [\n \"2102106640035376418329204146021890729570646689384965551450115183640662729893\",\n \"1851530316120620477315249250785433075977813834293906950359801145553758126591\"\n ],\n \"14113500572613257516604464825627716165274210325346611507873351275759046169532\": [\n \"17774448425211697792901285747704258797325383283667534588217490174236611534169\",\n \"1\",\n \"1\"\n ],\n \"2368214520661644469464926393452502329827149496076764354663104253464819153372\": [\n \"14883863243807118524866484656951842573694699279607706398831258944069332614046\",\n \"1\",\n \"1\"\n ],\n \"1979622667753461437878784603529282326721360828001335506057391500724515919603\": [\n \"2368214520661644469464926393452502329827149496076764354663104253464819153372\",\n \"15020152838436844655877508238370600534223689145472416007771872932813938612392\"\n ],\n \"15559585758408592031247986183364287487592551418609423573340821139314858525828\": [\n \"0\",\n \"1979622667753461437878784603529282326721360828001335506057391500724515919603\"\n ],\n \"4891726865685298786782964944806491968298775437521115769925661146894821502549\": [\n \"0\",\n \"15559585758408592031247986183364287487592551418609423573340821139314858525828\"\n ],\n \"19199258819291129963619234698118966474372791944472543468292521031460330373361\": [\n \"12294983065608200094406756022172858798451727126479031233841972538476459248969\",\n \"4891726865685298786782964944806491968298775437521115769925661146894821502549\"\n ],\n \"4499123922511088884056710401293515443242320789244082526384167416998781058740\": [\n \"7743186751539495181848455631620664241763619620271987852125936736828425993005\",\n \"1\",\n \"1\"\n ],\n \"7909858457877944371956156316605805010887012967307197256723467493769609512279\": [\n \"10746234750164972584054088197934424665160999534627584105815839429558393558774\",\n \"1\",\n \"1\"\n ],\n \"11651990529593345979803497913882079545418785083710466966326037778229736700980\": [\n \"8765529135394413037738672924938730220225508794006629624598580222981978404843\",\n \"1\",\n \"1\"\n ],\n \"1697902172563140693783414028771021205088546675631864908438153118652594717910\": [\n \"16437591172050967627542915288170826508647916362663923568323005854412668160817\",\n \"11651990529593345979803497913882079545418785083710466966326037778229736700980\"\n ],\n \"188026422239428036524293258172134480697701894568450101877909896915630040937\": [\n \"1697902172563140693783414028771021205088546675631864908438153118652594717910\",\n \"14831576055985589877733962858850422744528839550430884601352650342668230388962\"\n ],\n \"18986605660126552220166277737228316266820691530223365847026992039663447821023\": [\n \"20218939549032703068105520840639119076872983910192389665684088438739221785410\",\n \"1\",\n \"1\"\n ],\n \"21003546075673596250922100384145881523071787353324069999470552998209642562104\": [\n \"15971530884047102746798321123886599571055869012201068035616932954711952213490\",\n \"1\",\n \"1\"\n ],\n \"21041710530611697575169731970249614706640038136649133098410783607096059548048\": [\n \"14724151423119387382325322905772252956638713611520210468626182952080204606311\",\n \"1\",\n \"1\"\n ],\n \"18450001913955011418378374850356623101010590391781795016990504562241245078755\": [\n \"15167775696164935779382357941734206449300828086446618185343589744760760149254\",\n \"1\",\n \"1\"\n ],\n \"19556474722214163918342524768405601613810371363566902984967027145976405127791\": [\n \"18450001913955011418378374850356623101010590391781795016990504562241245078755\",\n \"8211710633892659861739210515904298877688991709052019486623301433369317196430\"\n ],\n \"18643029432520591937733784630079602300895596360376872247882502398415186594491\": [\n \"19556474722214163918342524768405601613810371363566902984967027145976405127791\",\n \"0\"\n ],\n \"11634225965960260179906937619381077052494419182556769238238353592390755200146\": [\n \"651833418516372424677134995442771801385772200373281514096167013677329827311\",\n \"1\",\n \"1\"\n ],\n \"8626898793654947199263021041092959270031739572604590055141247762999041046371\": [\n \"11634225965960260179906937619381077052494419182556769238238353592390755200146\",\n \"2694974127292257545629775766474204586832996445588195352073993241692222728723\"\n ],\n \"13846794762279331618690070571039884352840047656304879201809046726184477703759\": [\n \"8626898793654947199263021041092959270031739572604590055141247762999041046371\",\n \"14080419478354978595636803069532710517787200787560981681842598535552592186718\"\n ],\n \"15908593923075910631163877539732540877110078666994287877310154843006891760660\": [\n \"18967460669343615397255882019091274094970055319579552481573206495002354786859\",\n \"1\",\n \"1\"\n ],\n \"14987103455158129737029122103294923882174111892899685141707476912761850166990\": [\n \"15908593923075910631163877539732540877110078666994287877310154843006891760660\",\n \"19496567159212371076659420791580662506442229990719373584713228318464242473292\"\n ],\n \"20227599208066046091901183315879991065394812513595711252355202479140234986845\": [\n \"21873206753050714887722834434877375832666054198553714328737134200565585121295\",\n \"14987103455158129737029122103294923882174111892899685141707476912761850166990\"\n ],\n \"2586101589530981167381161949546581791937436924695270900571027633581460257061\": [\n \"20227599208066046091901183315879991065394812513595711252355202479140234986845\",\n \"20432693038885047909503491502972792945658316683174963387239852176785312513667\"\n ],\n \"6391083333391648428054254488963968692904325046838866976874508214083830264983\": [\n \"2586101589530981167381161949546581791937436924695270900571027633581460257061\",\n \"12956569276924217260410437764028294748271183311454621156266683114461301836662\"\n ],\n \"17754493156900535367131680106053979615952477217350211032709812620382470688086\": [\n \"17266954542524551714255860382637632277544779371252277450382557036854374451404\",\n \"1\",\n \"1\"\n ],\n \"3317828866934398511359518123711979497253768308131794705024413954559752922597\": [\n \"5002830840813092062443708625004022859464132630552685643693074109831938720881\",\n \"17754493156900535367131680106053979615952477217350211032709812620382470688086\"\n ],\n \"5692956034192090982577600397209185262696785021476651396709923313652190718153\": [\n \"3317828866934398511359518123711979497253768308131794705024413954559752922597\",\n \"0\"\n ],\n \"16583084863277669394876277804059274070192873740645372940311404332293590233806\": [\n \"5692956034192090982577600397209185262696785021476651396709923313652190718153\",\n \"0\"\n ],\n \"5780563554534723981648875326097592652237908631423905499443906954323734521915\": [\n \"2700103859695658764036796287586881579445026768022773339924185561533987211491\",\n \"1\",\n \"1\"\n ],\n \"20485076605021044738414233589985179734863955444356056574750051191581243200300\": [\n \"14004108159666270452868441790990322960682540104759422886990987177589247188230\",\n \"5780563554534723981648875326097592652237908631423905499443906954323734521915\"\n ],\n \"2056623373984896176694652901738091023176168598655011642990376358651701789248\": [\n \"14247225056947519392046477586738953184345286045460459590044935343904985200819\",\n \"1\",\n \"1\"\n ],\n \"11168766870285977197797950901127471318827324326155276602130909480741817974639\": [\n \"14351145142252786369851442218030334206498972631401926687224566342909730015039\",\n \"1\",\n \"1\"\n ],\n \"16281519077020568697105962398497282872570970791370899910492474043460713003858\": [\n \"11168766870285977197797950901127471318827324326155276602130909480741817974639\",\n \"6733307101429958508798449037357464826996240535577214729592588462134875795119\"\n ],\n \"10665645578869764783060568302367278432068930673316753877870576746541177771245\": [\n \"16281519077020568697105962398497282872570970791370899910492474043460713003858\",\n \"0\"\n ],\n \"4690081315510368031621979128498671494460158578720387139490022370199751799713\": [\n \"18351902204641017676576775479713241311590006699655823526502232735237740222486\",\n \"10665645578869764783060568302367278432068930673316753877870576746541177771245\"\n ],\n \"4411498136262826716269954420583357536773768847667899367597974620651716082915\": [\n \"9941864096520318164962811775849368246891033017277420888453693548778554244750\",\n \"4690081315510368031621979128498671494460158578720387139490022370199751799713\"\n ],\n \"9726814626729849917033737934366336580369582053420490845660127915758853749865\": [\n \"14006890032244250466619866069104721790826847675762955319892452352559453665636\",\n \"1\",\n \"1\"\n ],\n \"11754176757374879504973947550935236794036229334616668339324103964506621512026\": [\n \"17523656510468355272631006487940494729747312694075854584832966392535201516231\",\n \"9726814626729849917033737934366336580369582053420490845660127915758853749865\"\n ],\n \"5031727730608350672497573114800448346461146228706173331057753052980288167454\": [\n \"13096190343139956852537420021571607889524326476563686450368516978364532090445\",\n \"11754176757374879504973947550935236794036229334616668339324103964506621512026\"\n ],\n \"5866304621033511258502731987838413401780001963658467826312389490063862044157\": [\n \"0\",\n \"5031727730608350672497573114800448346461146228706173331057753052980288167454\"\n ],\n \"13552810474191129439670658201903603608096938939894059690730989597066725135942\": [\n \"0\",\n \"5866304621033511258502731987838413401780001963658467826312389490063862044157\"\n ],\n \"14076745395448951118786833269260666960210520763118002527419141845596677712628\": [\n \"13552810474191129439670658201903603608096938939894059690730989597066725135942\",\n \"18800441548976276026103392373584374625745963634393114961730182649193214616113\"\n ],\n \"9995619998632458637031403393639675979498438383425017961002648602776144921247\": [\n \"762884026063685329518142394585772040147476809714169785349652638196712269639\",\n \"1\",\n \"1\"\n ],\n \"8017036149127573195547006581144445313178785197108694586425306382689327956165\": [\n \"12648712442624951704564222843933839535631743127589817799178303228552718943317\",\n \"1\",\n \"1\"\n ],\n \"10517674224400962219065443349173161963599251593206064065727127442273395734972\": [\n \"8017036149127573195547006581144445313178785197108694586425306382689327956165\",\n \"19555538272843711451767446024968238817261990320808993657251998077666623770133\"\n ],\n \"12146051609434125462389255531588284147704601390578979093820983829663075064332\": [\n \"10517674224400962219065443349173161963599251593206064065727127442273395734972\",\n \"10977885355111943763834801809532330559320596926165723674132384980313346598210\"\n ],\n \"8797588018809719773555269528784329630884795276013649257249807671831200751487\": [\n \"11288344186196835407766241378603472445369728011971394893817504072752362680314\",\n \"1\",\n \"1\"\n ],\n \"12742060372027774133427164179009810314604940218274827201781208269453411571998\": [\n \"12711979454192985426862048881701659245293609683553328560069602588697764263395\",\n \"8797588018809719773555269528784329630884795276013649257249807671831200751487\"\n ],\n \"6401958178945241971811264029994758895787724316266882047000492070695938776597\": [\n \"0\",\n \"12742060372027774133427164179009810314604940218274827201781208269453411571998\"\n ],\n \"9278349731972520202839209252330163018692733124422019912723615846761013294460\": [\n \"0\",\n \"6401958178945241971811264029994758895787724316266882047000492070695938776597\"\n ],\n \"20980949372055651037096247254622157470061643891209775704301655024510140190944\": [\n \"0\",\n \"9278349731972520202839209252330163018692733124422019912723615846761013294460\"\n ],\n \"5996008869164978453917378778835022073972742580010361675628256185226278536136\": [\n \"20980949372055651037096247254622157470061643891209775704301655024510140190944\",\n \"11793446645239168317313838109321473739894714368121319558842074672902794139713\"\n ],\n \"5731617463734497318468342989735284498968634178860068525080681061169985899612\": [\n \"1120256405445786387859944994892479851912979432985608469608074022967507782689\",\n \"5996008869164978453917378778835022073972742580010361675628256185226278536136\"\n ],\n \"15330252842852187792399877229972789923501626538561466047014190893560206193821\": [\n \"4045082886070264456665826239787348293926918651963358948368491724011124025154\",\n \"5731617463734497318468342989735284498968634178860068525080681061169985899612\"\n ],\n \"12928964658066337767495380308546956894700771101151703635219487159093516147240\": [\n \"4105508905857837018926857929913889550805140387586668408108769416906829143571\",\n \"1\",\n \"1\"\n ],\n \"18521926952265680182516760717747260495794228035597853284934552710654383471136\": [\n \"5434991353290452337371977993332156198858641637772944888830591486024289073079\",\n \"12928964658066337767495380308546956894700771101151703635219487159093516147240\"\n ],\n \"14171112340033651220118742892356617875534369601374601691713269641959084368888\": [\n \"0\",\n \"18521926952265680182516760717747260495794228035597853284934552710654383471136\"\n ],\n \"4377670164675275185568551032111800955573999253504108921380090382117731420032\": [\n \"8963867337855144159217567637560015795373241304247382930208046080813678026263\",\n \"1\",\n \"1\"\n ],\n \"12004728722700214558650858932010086864620232462510836740820195856330213979007\": [\n \"5706142127055983433830310943272685246546637540353594398800470487361300285596\",\n \"4377670164675275185568551032111800955573999253504108921380090382117731420032\"\n ],\n \"803270441189317393794492528172952336877942678002738336303407282347595587207\": [\n \"0\",\n \"12004728722700214558650858932010086864620232462510836740820195856330213979007\"\n ],\n \"5470065905535548629434752367168494646184007897914891098361308030681396021873\": [\n \"7895217060271403501837940247332877734125246143262151781536278635123342484804\",\n \"1\",\n \"1\"\n ],\n \"6285974109643849711544776331608926398213567849843212592795230399294858998957\": [\n \"5470065905535548629434752367168494646184007897914891098361308030681396021873\",\n \"18944170902365950361023964117143726019397279929013725095559052323798834453353\"\n ],\n \"6012932758600587542847207348846813980102234773649237835562344729916478460961\": [\n \"18422481382874213248052743961608827815168579985176213434149832578934696127760\",\n \"1\",\n \"1\"\n ],\n \"1867777686689489431959663366046261444105880338778506859366138866380614611781\": [\n \"2186225569907966396974982547173371250430098752808813537748933699885450297255\",\n \"1\",\n \"1\"\n ],\n \"6956931764385339373742079601692416671307407377391829131266230445486364248397\": [\n \"8755888960308089795023072360786541075345367929924431981264001544484268448801\",\n \"1867777686689489431959663366046261444105880338778506859366138866380614611781\"\n ],\n \"2198617912764194723359113320759997040702006738839431157171052566404751287532\": [\n \"6069169669403305844490934159322714910627767639775557856459924590023021927748\",\n \"6956931764385339373742079601692416671307407377391829131266230445486364248397\"\n ],\n \"21859163090016174251895040408540948878291800107870322110416747795568376761435\": [\n \"13961045460786958619731491026979750101883553748752307990958237993250424608502\",\n \"1\",\n \"1\"\n ],\n \"14221535634943881892975086441300607665185817625601051887738913122447296091787\": [\n \"7909858457877944371956156316605805010887012967307197256723467493769609512279\",\n \"21859163090016174251895040408540948878291800107870322110416747795568376761435\"\n ],\n \"10270806964337195333186887722027748450407041449526773161987972485202465518269\": [\n \"0\",\n \"14221535634943881892975086441300607665185817625601051887738913122447296091787\"\n ],\n \"8830951232568849263280878023592334832061163614096101316273779508762659728407\": [\n \"0\",\n \"10270806964337195333186887722027748450407041449526773161987972485202465518269\"\n ],\n \"10946182240830558618558626688666430674950681156842225617188396913215337384092\": [\n \"8830951232568849263280878023592334832061163614096101316273779508762659728407\",\n \"0\"\n ],\n \"19181578031962805656764613426088594057148905851480510582095819830724761046491\": [\n \"12530267844063358081893381813947883378221754841573888068128113781629323216462\",\n \"10946182240830558618558626688666430674950681156842225617188396913215337384092\"\n ],\n \"9814801500402169490263362099438095172950489302045205504531585294327736977744\": [\n \"1113410512326701775669728240662197748339058894799725862178076192298455850183\",\n \"1\",\n \"1\"\n ],\n \"10216701419330118432924062670686551051083512353929480284982499880416936843239\": [\n \"19668439072539796145181636104586252796963232804563142272955775446372972146136\",\n \"9814801500402169490263362099438095172950489302045205504531585294327736977744\"\n ],\n \"7236515102277709842453246236200085241633522889060379205081297770343489438055\": [\n \"774362464336259700413490276105168307056415304597327917552120779655964327838\",\n \"1\",\n \"1\"\n ],\n \"19239032981857633878197644318131003791712759603478082594249905028509000943070\": [\n \"8440174805660783043775080272872660153257904934359298797832005300203132264781\",\n \"7236515102277709842453246236200085241633522889060379205081297770343489438055\"\n ],\n \"7982056191378518715210642367293214526741317937399525524388633969078363634327\": [\n \"11478514551399492800518102789050819236643519882591379062593014630156387223778\",\n \"19239032981857633878197644318131003791712759603478082594249905028509000943070\"\n ],\n \"16707628909607900449653122331752626521627013760373125455553082690585462124074\": [\n \"19199258819291129963619234698118966474372791944472543468292521031460330373361\",\n \"7982056191378518715210642367293214526741317937399525524388633969078363634327\"\n ],\n \"4157838922383803067816740438850317313648174062267903556881223079097566983734\": [\n \"864744780572091622488201521293843448314758127421198002191449856658768588962\",\n \"1\",\n \"1\"\n ],\n \"10524510870161624010841767697227682893589188312579063923747057709050470906256\": [\n \"8848010084711795213981301188057944809559002642615926561979301979294592849180\",\n \"4157838922383803067816740438850317313648174062267903556881223079097566983734\"\n ],\n \"13111830408066899925761504990622551633328916912406921779929548876996846653660\": [\n \"10524510870161624010841767697227682893589188312579063923747057709050470906256\",\n \"9342052798126378041162266243688848859732819320742533680654593251479918579621\"\n ],\n \"14773540599218938506791773112423297415693838186495350188187772022558813379462\": [\n \"13111830408066899925761504990622551633328916912406921779929548876996846653660\",\n \"8051469971578077645879904557632915315050942231860936680383096116179903968176\"\n ],\n \"5545305280111842546546376690250990880722266610214420340711660727882586990191\": [\n \"14756534830773334963467665183743799444038600870502037159268128919220170934599\",\n \"1\",\n \"1\"\n ],\n \"2113695585476424789977888388664434721045756109144520819229828173536447781559\": [\n \"5545305280111842546546376690250990880722266610214420340711660727882586990191\",\n \"10901559834782583165078474133272724317765033775566223848581370860749360299766\"\n ],\n \"13194662365599141432584597117864068556495351879197988438437893718107287924501\": [\n \"11775004320800914544854616847630614069801611488822371057218554575954714104744\",\n \"1\",\n \"1\"\n ],\n \"20604362744438402545187335467646751852798995692089771599735698333632148147366\": [\n \"7930595965919806557933027614507913179884748443056643105558927176533798967717\",\n \"13194662365599141432584597117864068556495351879197988438437893718107287924501\"\n ],\n \"15760411706061212615328197695496924425845246522430518487369596117265742563000\": [\n \"20604362744438402545187335467646751852798995692089771599735698333632148147366\",\n \"0\"\n ],\n \"7506765398114433484570874737557922754564373753823660292603871619914501156234\": [\n \"15760411706061212615328197695496924425845246522430518487369596117265742563000\",\n \"0\"\n ],\n \"128306990751183059082466906897641699506387324595505572105207755348400067778\": [\n \"18499289685077620753860470481106025257649398548525610809798244081347511123405\",\n \"1\",\n \"1\"\n ],\n \"20824477561687283380353424340239593746311027052607226477392726816092917715049\": [\n \"5754814934292809237894947420972177115293414484114452460993274424825734415771\",\n \"128306990751183059082466906897641699506387324595505572105207755348400067778\"\n ],\n \"5010636790633173039234537134793090338650855632598221029130492086565941212290\": [\n \"0\",\n \"20824477561687283380353424340239593746311027052607226477392726816092917715049\"\n ],\n \"16791413423451521720215787141571753608764988325885939862085573872461613217796\": [\n \"0\",\n \"5010636790633173039234537134793090338650855632598221029130492086565941212290\"\n ],\n \"342936774264600544649608866878891334669665295682418413625637494595515157713\": [\n \"2220624824004983917405740605546614386915330893872558147971805788473141780255\",\n \"1\",\n \"1\"\n ],\n \"21627605217338577795445437158749891940825941228860283960380471235137133454147\": [\n \"2636037216594489390972649688426113226129853310546962144097291965592002602987\",\n \"342936774264600544649608866878891334669665295682418413625637494595515157713\"\n ],\n \"5629589969210590068904596650569022523716562117203662585398838320778370565600\": [\n \"2857272198734436501033665432454859089486952696606678145446809866893156239575\",\n \"1\",\n \"1\"\n ],\n \"17433417167587904718648407135575703773502552426422957077621344165548430663051\": [\n \"13802984157162983096497960325278668602710063956803519999326712190118818289068\",\n \"5629589969210590068904596650569022523716562117203662585398838320778370565600\"\n ],\n \"19938072532076825187504185488593723668755459478098393418990353910983926548247\": [\n \"17433417167587904718648407135575703773502552426422957077621344165548430663051\",\n \"0\"\n ],\n \"8135836684422530785510837550622805819253165526826079016792193202767067946384\": [\n \"0\",\n \"19938072532076825187504185488593723668755459478098393418990353910983926548247\"\n ],\n \"21503657222929905092888101838383153441928925708948254103949066057219692597464\": [\n \"8135836684422530785510837550622805819253165526826079016792193202767067946384\",\n \"0\"\n ],\n \"19996901542320068336519946616981015363870802787798564184469825661942397334431\": [\n \"21503657222929905092888101838383153441928925708948254103949066057219692597464\",\n \"15600384800746943969701318050887630641254132236471399153297353127996765148278\"\n ],\n \"15059268372492003535418762859586426264819761824312100107008892270215730662169\": [\n \"0\",\n \"19996901542320068336519946616981015363870802787798564184469825661942397334431\"\n ],\n \"13905489410484897341732493137355159064698752891065523647222541420817441490198\": [\n \"15037014877591224364654572514621724626123550911826615312680007459852180200884\",\n \"1\",\n \"1\"\n ],\n \"3737887619018933073676773169083227174175920967914506754311035280344270714723\": [\n \"9631470114098268801903015823376405049963559165998181238294134105270408359878\",\n \"13905489410484897341732493137355159064698752891065523647222541420817441490198\"\n ],\n \"20188988890342791371995139458612645513755381773687269813004883536431507424942\": [\n \"0\",\n \"3737887619018933073676773169083227174175920967914506754311035280344270714723\"\n ],\n \"11979147777818848077720973956844764497209390800830703855052546715649784428093\": [\n \"13288810350135164681959819926804314831119459916072503050809957721798472721826\",\n \"20188988890342791371995139458612645513755381773687269813004883536431507424942\"\n ],\n \"11651753429327645127975714100323519141201291002525343205452488264649276421934\": [\n \"15374029718744929090754549035050327760863112077169423918302106402032579432854\",\n \"1\",\n \"1\"\n ],\n \"6696310945685582976524919424187541346583467656797263922103319400285475151694\": [\n \"8154266727805948331874362708918967740062748998943731232807513710523350335392\",\n \"11651753429327645127975714100323519141201291002525343205452488264649276421934\"\n ],\n \"3106178935802498763235430078692154473142233654509230752431833818197073501965\": [\n \"17386689886883794689150045600948077626303826892417833819920915875907296946885\",\n \"1\",\n \"1\"\n ],\n \"11627866426929498621182458178916229408222205142924977634138873609537210223333\": [\n \"14198325025528499413504171816186590290755999412038890785976819195318872709743\",\n \"1\",\n \"1\"\n ],\n \"8305082973035963028470567925511737233053725555466216397732626071782091483638\": [\n \"11627866426929498621182458178916229408222205142924977634138873609537210223333\",\n \"9290743169252028081057105537549824506417549588304741650075549997211386370002\"\n ],\n \"1982333381338043260946722716157920236161104002935582025792628999758471204691\": [\n \"8305082973035963028470567925511737233053725555466216397732626071782091483638\",\n \"6685489310343516839533977756820209783458947834824138311557660591287931536857\"\n ],\n \"2941213200029730750140786446646501816068610649916873827217733928339103225995\": [\n \"18769033507374719677889895737226592682223502890046975150906129141148294754263\",\n \"1\",\n \"1\"\n ],\n \"17159858536520381819054078898204131805632128831050217932206581182057108264675\": [\n \"8544125540558175416522303511215566847581256079219171802730923586715315914037\",\n \"1\",\n \"1\"\n ],\n \"13290360332120885247433073719422499264529432736519755947188535709483670939952\": [\n \"17159858536520381819054078898204131805632128831050217932206581182057108264675\",\n \"6886094854828478690173501135066508433178547714315980151291754267320688894249\"\n ],\n \"1348164933542391498757393355145889657160260954533509939223916634126274183568\": [\n \"13290360332120885247433073719422499264529432736519755947188535709483670939952\",\n \"19598636912482415387131119477729768425873034209429670053718802616353636400386\"\n ],\n \"3114433160320223083111293698179686074117457452528664473990581229897706839882\": [\n \"1348164933542391498757393355145889657160260954533509939223916634126274183568\",\n \"20699082678203276631622673963308320174448499155179760150890858709775994130249\"\n ],\n \"18983608752662691643973383665722164019023024612149349794193781616323966741208\": [\n \"17328523474583578277409991653306037032695253752899968347887162162760717973061\",\n \"1\",\n \"1\"\n ],\n \"18860302162432977427858582460740197026265446017840612622507103744494821588718\": [\n \"21817507440701143341913509760061832132873708243711420666338199250697660277452\",\n \"18983608752662691643973383665722164019023024612149349794193781616323966741208\"\n ],\n \"12586851102229340351711208225650018132620125853289941014034963510786008621297\": [\n \"17010057827692601342991342042690792965208516431186175649783295006586675077997\",\n \"1\",\n \"1\"\n ],\n \"5915683832623139350502712399248700697009394581975544555999088305011364342991\": [\n \"1936693895663025823129983403291134376562772607756275300918958809968173938651\",\n \"1\",\n \"1\"\n ],\n \"11911140446338977850584494877340488691899921308087281606633160059302827860577\": [\n \"5915683832623139350502712399248700697009394581975544555999088305011364342991\",\n \"16346837413011456416166470945286836122535974908512626480855826632796061891532\"\n ],\n \"16340576574671544052382154915101618133359761419383021534332710305888850542190\": [\n \"11911140446338977850584494877340488691899921308087281606633160059302827860577\",\n \"13011702455211930906628088362690742683066268702983828666209994309509681482030\"\n ],\n \"214811100942658998915248566832387710872827873163979914562038743286301670294\": [\n \"16340576574671544052382154915101618133359761419383021534332710305888850542190\",\n \"0\"\n ],\n \"12808416765312310552345774270495093791193748682119972207667946013241161046345\": [\n \"0\",\n \"214811100942658998915248566832387710872827873163979914562038743286301670294\"\n ],\n \"7051285272201345699402245963924682885721765079786101235039531353183250740848\": [\n \"20966442509309995722709283285437239140256069438827334732770348320711828630509\",\n \"12808416765312310552345774270495093791193748682119972207667946013241161046345\"\n ],\n \"2941941617956401491891526748954986761424950664229742131464380600008872535392\": [\n \"7078402369190275846065967591643175687588799103046791812084427802456453633637\",\n \"7051285272201345699402245963924682885721765079786101235039531353183250740848\"\n ],\n \"1338485278366245373248871526583769447701188603250310276537284692682027852788\": [\n \"2941941617956401491891526748954986761424950664229742131464380600008872535392\",\n \"2605589580956640023934180566121726923603408001860518685217239942978618141200\"\n ],\n \"3853505665369132142017563604936628069476895349820679818022895463321407675483\": [\n \"1450057140681369739270745568951812847746776661777417468844684284420035545210\",\n \"1338485278366245373248871526583769447701188603250310276537284692682027852788\"\n ],\n \"1339629054564008431722701112739241168202542726932075881099736136377102238497\": [\n \"2003375760319425157991977942744883718151796336525292642380490623114416534922\",\n \"1\",\n \"1\"\n ],\n \"3731490557029180475804512883023581783595241214574865696580266311926060227030\": [\n \"1229471646799561951511045039714901077669705570191998318843382279399211252548\",\n \"1\",\n \"1\"\n ],\n \"2616210643007691040655486942746798238931971428395556141187832580076085084117\": [\n \"16208496513037317320975864139280533067904705621032467888018698028649266913343\",\n \"1\",\n \"1\"\n ],\n \"21031360694014207486942785324395262908923222928088506548398490113080921734332\": [\n \"2616210643007691040655486942746798238931971428395556141187832580076085084117\",\n \"20999947149556482782054313563221383512509195930327933231835332627454927766585\"\n ],\n \"1476192861190028130868554709929141770794233343612224502047241473360008074708\": [\n \"21031360694014207486942785324395262908923222928088506548398490113080921734332\",\n \"20295705666216219440943616875058030507202278617996657687693361957141191482111\"\n ],\n \"17381359004784086522981808699669546802600336585392436515384574691701719729443\": [\n \"14092111543203672625147098146837047560034281062402810186006040218000125147656\",\n \"1\",\n \"1\"\n ],\n \"10050697222474590380946203689600602023822086508570646949113735727664793377165\": [\n \"17215204585369047142770893083770497724822882237073713670328812201242693556795\",\n \"17381359004784086522981808699669546802600336585392436515384574691701719729443\"\n ],\n \"7779647880218330575106144331460948466888428005800997302697858448627406317868\": [\n \"18381898069227047039499494410799997427359333581572190227396358661979958412811\",\n \"10050697222474590380946203689600602023822086508570646949113735727664793377165\"\n ],\n \"20421933109421666156341651592343731723660763258850266665369274024131939047806\": [\n \"7779647880218330575106144331460948466888428005800997302697858448627406317868\",\n \"8109350388315931482528562773570356913942111651536926202004842468216297316520\"\n ],\n \"13074115687180204514851035808276594630913451793375271552945976157023204823622\": [\n \"3152519812300343839976211361098264686572697474372664699404407650468355197819\",\n \"1\",\n \"1\"\n ],\n \"11082463845787261125929489700619799290739557044308669110609541832121421243827\": [\n \"12728776287758754966157507098541731264117702539953679435956136606980849479878\",\n \"1\",\n \"1\"\n ],\n \"11325040826586366459272442421304287660134256153831423558864202422879553975326\": [\n \"12864002213208365533393205894131684704692226904328529771190629016225470365693\",\n \"1\",\n \"1\"\n ],\n \"6540338691948065258855746858337244334527929269474516399965079071658537909472\": [\n \"21319889031731871673116436694952434440271758714092996957800768736944066153714\",\n \"11325040826586366459272442421304287660134256153831423558864202422879553975326\"\n ],\n \"20198688251739336370156916680614614515607224563035219739251561828586760714310\": [\n \"5573471482501023558815580835922143656982687119161823705661394477082466303165\",\n \"6540338691948065258855746858337244334527929269474516399965079071658537909472\"\n ],\n \"21638558949443567438762854404418227658468311169785088756917492566747022984843\": [\n \"9782483002941573810931929054720484476508206397272241594649447510471025410825\",\n \"1\",\n \"1\"\n ],\n \"17860002541241917491351835511731646092045139662839734591944803656151735860280\": [\n \"21638558949443567438762854404418227658468311169785088756917492566747022984843\",\n \"20751890906108495554510556301902039317017861648629865292063672945279593792452\"\n ],\n \"12080472147783066949675997692153778055715490628279268034181289927705985365957\": [\n \"7656434425608272078755442080430343078782070514055673351669163144412657071466\",\n \"1\",\n \"1\"\n ],\n \"20249292437355399014685402850087856279317313628981597933969820199232309905982\": [\n \"14987067938727262143777433805147355829305133317971239410887115286165580363133\",\n \"12080472147783066949675997692153778055715490628279268034181289927705985365957\"\n ],\n \"20130589041910373641564513494293964302903286757842833939127957261926595178922\": [\n \"5138011208561134615488216684739616060758561358105900592983100898778465024140\",\n \"20249292437355399014685402850087856279317313628981597933969820199232309905982\"\n ],\n \"5000447635745478790544131451974684915768789170101955666157579304787605028129\": [\n \"20130589041910373641564513494293964302903286757842833939127957261926595178922\",\n \"2377800394780076144144207936105550438617242223158023995277058689864103320341\"\n ],\n \"17539072083471232843730596242801214230296215353271472520501873573237699230729\": [\n \"21525709656903200768430568795913002986304931552850378249260252622778898773207\",\n \"1\",\n \"1\"\n ],\n \"19464047043001231576456986291777233970736969831528788315430928949435600955973\": [\n \"7575763460342241312958931874504587568956841448611628502746069046212846194006\",\n \"1\",\n \"1\"\n ],\n \"10382745050638875017651048799184954911125509281223971552626891074756421027713\": [\n \"1290915760570684928214799684730279660754620150228636852506458331918995756528\",\n \"1\",\n \"1\"\n ],\n \"1757885210370797750233451684120835553322273330868853698425378190460099055262\": [\n \"10382745050638875017651048799184954911125509281223971552626891074756421027713\",\n \"20258350095651062336746980433004898601138259814556294080146922460054311338170\"\n ],\n \"10953354904118028204443420605157434178364025829544230848615277716770955445489\": [\n \"0\",\n \"1757885210370797750233451684120835553322273330868853698425378190460099055262\"\n ],\n \"5235503654274863096691422367856925945093953302878209732246884001861939343800\": [\n \"10953354904118028204443420605157434178364025829544230848615277716770955445489\",\n \"1317640981048089143074363349969299518603034703786332452242161254565838710534\"\n ],\n \"2396855323142406592383497177319292627529381599579943634557556815169247960143\": [\n \"595021084801728510483845807966910234898507322820967382218053113794667466434\",\n \"1\",\n \"1\"\n ],\n \"4477029407937738371829820367898878912125590077928465488164074558582590590746\": [\n \"20590120859170011726197699677782656634481092690887359047651015507068275117972\",\n \"1\",\n \"1\"\n ],\n \"17146615421944248660302357061470458879096852000840596994909962965729100640179\": [\n \"13690623141794585816728279265506961485099396740406843209037056596974451909154\",\n \"4477029407937738371829820367898878912125590077928465488164074558582590590746\"\n ],\n \"132132848433032982519687950510473240944914339156850776369489259729446653517\": [\n \"17146615421944248660302357061470458879096852000840596994909962965729100640179\",\n \"8788707610620443490978944297978184876893218706977844799973853682292883870891\"\n ],\n \"20906780061304504795777830824413412961803687600477897026003743143232121683348\": [\n \"132132848433032982519687950510473240944914339156850776369489259729446653517\",\n \"9644282320783387035136379729475530050347440665619678884344434891083613367433\"\n ],\n \"4172223240191006553013283768207764558972199306331992798518371801416483238487\": [\n \"11310349041615460201676559572221458346785677533689318516626073709128996524528\",\n \"20906780061304504795777830824413412961803687600477897026003743143232121683348\"\n ],\n \"4779342532395099137814555532341626138393288287418011113736749563533818915286\": [\n \"10552047661953073936431988423911335025765102246719641526688198858726608772180\",\n \"1\",\n \"1\"\n ],\n \"20235752623411835640094128308322120170315482007476865631050069249180425228385\": [\n \"9411241870742263202615610368098735162240992056079436455421577200029059937700\",\n \"4779342532395099137814555532341626138393288287418011113736749563533818915286\"\n ],\n \"12729937223228701603649128783217703216786883152347665542597713799716890722483\": [\n \"20235752623411835640094128308322120170315482007476865631050069249180425228385\",\n \"0\"\n ],\n \"2534556226020911275598536206438670971312766158055305958665833265533654890447\": [\n \"12729937223228701603649128783217703216786883152347665542597713799716890722483\",\n \"0\"\n ],\n \"12680319930557082577245304022375648180064749161392147452331273305300319670875\": [\n \"0\",\n \"2534556226020911275598536206438670971312766158055305958665833265533654890447\"\n ],\n \"8200191881533845312765287845224269815896844346693348436610428391458361780513\": [\n \"0\",\n \"12680319930557082577245304022375648180064749161392147452331273305300319670875\"\n ],\n \"5599966371414526902343538237879218801579055880513003793004888016647619449940\": [\n \"537827517649187947153322892949214885833833854212500939836289334019747975880\",\n \"1\",\n \"1\"\n ],\n \"18743491666836406150093501092573420613209187792981965365749407846958395222541\": [\n \"18310029898263928412116083751528316885677427198049939585082713558581958781730\",\n \"1\",\n \"1\"\n ],\n \"14737878210685756340947305793639201356450526652241337392138146742303385557945\": [\n \"3759788839202869297025995738897147943607490695907993936474224323897491967876\",\n \"1\",\n \"1\"\n ],\n \"1112759832489008537268467590179117705787282536670508656774079420730287633628\": [\n \"1460254761831128674649067797925342437496019670246003349883004214988976849647\",\n \"14737878210685756340947305793639201356450526652241337392138146742303385557945\"\n ],\n \"12101008147019404778708774338169568890482893154188485598430237219141014636472\": [\n \"16094950723192450537092949451315140599857160821036966583360705468118420809139\",\n \"1112759832489008537268467590179117705787282536670508656774079420730287633628\"\n ],\n \"4624545639652259350311190334946123701071953268911112857177536471934520901560\": [\n \"18031540567739915416590365986811946811225888136826245037198439539185982203958\",\n \"1\",\n \"1\"\n ],\n \"1832470363613717705533953639922756249647094605159570325196512051560587822242\": [\n \"18780251376747287150353535655317121516525873879958429724050429810242435896636\",\n \"1\",\n \"1\"\n ],\n \"12430444796484824564579553860301311880123333499957208929973064536383424087423\": [\n \"1832470363613717705533953639922756249647094605159570325196512051560587822242\",\n \"18178661490262606290359280212431566217082918056285801074192371911114567413980\"\n ],\n \"4397678763017473607956338077448158619169149496676763615340482244897324873825\": [\n \"7665785269840325562558566974244262732201140748869819965518439995170403136267\",\n \"12430444796484824564579553860301311880123333499957208929973064536383424087423\"\n ],\n \"16411788019189071217261440683585518157436175008082628090201976642463748062543\": [\n \"5949512206414576232686187528227554107949017054795215126844880976310943948798\",\n \"1\",\n \"1\"\n ],\n \"6001592759254824526691491299595378375247149110743085302143356535971268951263\": [\n \"16521650191711414983839278196616520551359817322483927790499049548872218169702\",\n \"16411788019189071217261440683585518157436175008082628090201976642463748062543\"\n ],\n \"11063256930884583035554716362063009735722230655788315936309747472028815521734\": [\n \"0\",\n \"6001592759254824526691491299595378375247149110743085302143356535971268951263\"\n ],\n \"12749020841630269110116586752174142698249878447593013921506748917078151070671\": [\n \"18103338703591389080443906417334122799529534110873625791077385155452668225643\",\n \"11063256930884583035554716362063009735722230655788315936309747472028815521734\"\n ],\n \"15200957078344477645802636241502196826131766273099134763166732337557352458896\": [\n \"4510448964796907462384533429305830924590429437870045615913792618186757371028\",\n \"12749020841630269110116586752174142698249878447593013921506748917078151070671\"\n ],\n \"12874284105038908590468146225962966421506237497356272642251512205313537557414\": [\n \"3851981369095094430682221074626960043878129740983439841255571009228839579647\",\n \"1\",\n \"1\"\n ],\n \"2651378425234477946937572532975911222441932124766820189513883868917132750099\": [\n \"12874284105038908590468146225962966421506237497356272642251512205313537557414\",\n \"3511620109332717887570156251218794048031875259595274983473942816540048172983\"\n ],\n \"10587932217492383027691583223146739342121775305716581964982095146164768048560\": [\n \"16331973632492993668842910044544963590414398365966922624654176804354601356530\",\n \"2651378425234477946937572532975911222441932124766820189513883868917132750099\"\n ],\n \"9707046015031701171595402950091103858946211621890813474105813443572662034855\": [\n \"8390387686668370818582433642884718041015872951312239712802196391932611931637\",\n \"1\",\n \"1\"\n ],\n \"18435968151656249593704302809679897442516881205128714266101812627628016669876\": [\n \"2926857409854585356053043655853419212584242109970930008208760082900357660335\",\n \"1\",\n \"1\"\n ],\n \"5736474840268259304457276723374840633373798983594051545944179457272358732206\": [\n \"19480933630362479218523437438623807159369037837956128552346394483221960367762\",\n \"18435968151656249593704302809679897442516881205128714266101812627628016669876\"\n ],\n \"14543058979705608970948663107610172712116109640857225672343242094543159405892\": [\n \"10107254265095181729054978125447135911095297181136063747078648758515258920905\",\n \"1\",\n \"1\"\n ],\n \"11100680690243070782196821216580992649754295442291189613000777486076353526361\": [\n \"14543058979705608970948663107610172712116109640857225672343242094543159405892\",\n \"15761634385015120961880519335643058171476346179782709082075087425041168830700\"\n ],\n \"2898745447423143613479674612477807966267771550820130553618293613612877482083\": [\n \"11100680690243070782196821216580992649754295442291189613000777486076353526361\",\n \"0\"\n ],\n \"11293475363928529832613817854209146566843141174860960609750828934850879366201\": [\n \"2898745447423143613479674612477807966267771550820130553618293613612877482083\",\n \"5564840482930923829776380801728390405003615000599399523853783693793510218839\"\n ],\n \"13224321120799817943100974739175760522347507248274305538147393738593494212662\": [\n \"13004598883365160018415007236130464726354015180835212019850263893809575032165\",\n \"11293475363928529832613817854209146566843141174860960609750828934850879366201\"\n ],\n \"13644727271530066911927246007194757185315025702231494167930141269409461302617\": [\n \"10587042577136058178621315660897719061205111480507847165153440461569980052389\",\n \"1\",\n \"1\"\n ],\n \"319982032939956030154561804333437161997446055053813735636319013039699404528\": [\n \"13644727271530066911927246007194757185315025702231494167930141269409461302617\",\n \"17451468854900763976756954034685990604308859463028095365504648292321723645612\"\n ],\n \"20889175047461925110861360407081333727600477338869879502862730212911596205603\": [\n \"319982032939956030154561804333437161997446055053813735636319013039699404528\",\n \"17679049742587268423984181580986298591764380952212011647473258499500021251240\"\n ],\n \"18554018330377205485914769514822276641246683921664481844410050377242124413256\": [\n \"0\",\n \"20889175047461925110861360407081333727600477338869879502862730212911596205603\"\n ],\n \"15735146205324476385878281867309566651415077977001911523345872992548779061965\": [\n \"16830499685407652301190610484355056537375941509063987193183694192326843039753\",\n \"18554018330377205485914769514822276641246683921664481844410050377242124413256\"\n ],\n \"12594796425248907032121520965030624008655625062653121512602207512068239415191\": [\n \"15735146205324476385878281867309566651415077977001911523345872992548779061965\",\n \"18977429264437957329371650612554949848473780447421541797599074799261112509696\"\n ],\n \"7588242078506585770590749761634859380937718344025912414467721966419296238602\": [\n \"12594796425248907032121520965030624008655625062653121512602207512068239415191\",\n \"1865843337064819679857377889722447655088080945692716817214526166156497197614\"\n ],\n \"17576882734488684921615355000211709209398537699037244326755597555250803603980\": [\n \"18682582996673943427203658030686846189215942477539471042792526440753956111577\",\n \"1\",\n \"1\"\n ],\n \"14600563641491806271775551494091719710435778051441500445617944910260553631964\": [\n \"17576882734488684921615355000211709209398537699037244326755597555250803603980\",\n \"13699922656092110868199773028096178813996799007418406686169900872645494083397\"\n ],\n \"2642019289001281449175676712385021582837683838527744726157063456493080237517\": [\n \"14600563641491806271775551494091719710435778051441500445617944910260553631964\",\n \"0\"\n ],\n \"3848854162716571205539667987725486942230006727556806138666040327486507946921\": [\n \"11432978271350913133856888238369405700142793853837922519888217517229329381594\",\n \"2642019289001281449175676712385021582837683838527744726157063456493080237517\"\n ],\n \"1578052409990162802375076980252578801345111867412388354706193608177693016264\": [\n \"5046108995613054875942446004172054375128729850305216639438262417016396326801\",\n \"1\",\n \"1\"\n ],\n \"3137477917643404202561027338530204816832229728738409888522454416575707447320\": [\n \"1578052409990162802375076980252578801345111867412388354706193608177693016264\",\n \"16993245130545942048501166588903024206520996885990225054844640972903996736762\"\n ],\n \"13720476994158201558671160368995268654880438060493013849153141416223297104120\": [\n \"8385069783347683923116226903655166179826827191866013462393156570589162935523\",\n \"3137477917643404202561027338530204816832229728738409888522454416575707447320\"\n ],\n \"19551822925002525591926921749436721920775358672666083507055311724173836704846\": [\n \"13720476994158201558671160368995268654880438060493013849153141416223297104120\",\n \"0\"\n ],\n \"13498638013766164847055443332369598747079082100020033947903423008591973142425\": [\n \"10279983922417978318674790574204155403196519322856086923461825506185029346170\",\n \"1\",\n \"1\"\n ],\n \"5016558544087070905315185334824833693892411455228440790813337312374904837786\": [\n \"4515422658765541369471078741546704162162536360567784492312583428056869864169\",\n \"1\",\n \"1\"\n ],\n \"17982696662247011889960672134012748977686602534667906122014854245639425374376\": [\n \"5016558544087070905315185334824833693892411455228440790813337312374904837786\",\n \"10797294668262726647950866663555335878150907226932951896024907416961331113327\"\n ],\n \"21772296071734552244896361697911871105556289174190475601217271787675944992984\": [\n \"0\",\n \"17982696662247011889960672134012748977686602534667906122014854245639425374376\"\n ],\n \"18068584811683983647920795823048670691504138167795046156859035266268389243312\": [\n \"0\",\n \"21772296071734552244896361697911871105556289174190475601217271787675944992984\"\n ],\n \"17022683934599660535288341678917570709716064790745216452456477001886366668421\": [\n \"18068584811683983647920795823048670691504138167795046156859035266268389243312\",\n \"0\"\n ],\n \"20384794483327969117887650983505382234649770098924545027173320301892247564720\": [\n \"17022683934599660535288341678917570709716064790745216452456477001886366668421\",\n \"0\"\n ],\n \"8941165038233180804794731260420254982805623560132199839544708572812578638671\": [\n \"4159124238506397654723465925639323562986641085484948977997685778887121152897\",\n \"1\",\n \"1\"\n ],\n \"3437728655740483003666459840193920553189555856073822122023755148495686557631\": [\n \"20571922484122806351133651285221417508060815489011715168994989805778393596336\",\n \"1\",\n \"1\"\n ],\n \"3452980878576554387699168601079852020444609234518124112165380405961104313079\": [\n \"3437728655740483003666459840193920553189555856073822122023755148495686557631\",\n \"14011602672357991916065536391189410963140678352055086349226934949320877895218\"\n ],\n \"14861796684853260295290786515977423935287543545879365421906512402029502642011\": [\n \"3452980878576554387699168601079852020444609234518124112165380405961104313079\",\n \"18757353466173585182585968129208849435547753404154825526953158972988475576595\"\n ],\n \"262894011548843571616059717405479638401989001613203379524420380084678838167\": [\n \"14861796684853260295290786515977423935287543545879365421906512402029502642011\",\n \"9729713301225340366943738023582334223605065311940286781731641248350786486849\"\n ],\n \"6510357509386780713608121499198441606827612552348034331437122690433019372166\": [\n \"262894011548843571616059717405479638401989001613203379524420380084678838167\",\n \"14543406589173584315363490255667797936419934023894010367639084092205993221461\"\n ],\n \"8670574435322766370926152955328505545295195848567197212341424868587338287638\": [\n \"1149387025606250410938688627018074911903669742957330673653533806737696129524\",\n \"1\",\n \"1\"\n ],\n \"10227159511861935293878239093006031998405416218319440406152068259192840115155\": [\n \"8670574435322766370926152955328505545295195848567197212341424868587338287638\",\n \"14982402910461046710479994742623520744357929389432233530114460102454226974226\"\n ],\n \"18247712207283108235217699072485930733280476238158376507710375005281577903759\": [\n \"0\",\n \"10227159511861935293878239093006031998405416218319440406152068259192840115155\"\n ],\n \"7847314380016731741504343752130757199928705951683564779918635112933563824210\": [\n \"18247712207283108235217699072485930733280476238158376507710375005281577903759\",\n \"4282889349394417898627020013206479925040498720667765240486668784983743316413\"\n ],\n \"315866189184120163856285450681295227540505068563481416408901592242552078992\": [\n \"7847314380016731741504343752130757199928705951683564779918635112933563824210\",\n \"5985383279029276519621880465254407475087251618234623371379382647906137644765\"\n ],\n \"5337239153520782672140888411910414682451535832786487294909870589987293802242\": [\n \"315866189184120163856285450681295227540505068563481416408901592242552078992\",\n \"1237197731851493969076991859150540619340633309461976968801312464988739544924\"\n ],\n \"4429742471569222427446974557970542808199571503703647787623272582514215542471\": [\n \"5337239153520782672140888411910414682451535832786487294909870589987293802242\",\n \"0\"\n ],\n \"7379999225033384445627686362657508950604406407816783384611783124876453621502\": [\n \"9061264888896095531283945949596538301649924747633839785019011329829281045474\",\n \"1\",\n \"1\"\n ],\n \"1176951508364115763320671337600615238751597433518820589050983569976465750456\": [\n \"7058621657660478773301028899042993222561046665403413791857019342856998827024\",\n \"7379999225033384445627686362657508950604406407816783384611783124876453621502\"\n ],\n \"6799862009092781708334520213295953420682722863282760648220575782311480135746\": [\n \"0\",\n \"1176951508364115763320671337600615238751597433518820589050983569976465750456\"\n ],\n \"17128372061998156724397786825825678674716582815699898452189573275522310666667\": [\n \"6799862009092781708334520213295953420682722863282760648220575782311480135746\",\n \"2682224392944102151307095457339492314410465682475752590864171126666139502733\"\n ],\n \"18062208577235724827102049538524766135193065982815206300700719985015177549306\": [\n \"10994855249829208126772938551972160111742579108699719195988776249584477748491\",\n \"17128372061998156724397786825825678674716582815699898452189573275522310666667\"\n ],\n \"13735033090059496254868357968883764802177853720885588482369359952229419740297\": [\n \"9209869851471187540440440155278129467077989666737640753655613347256822081154\",\n \"1\",\n \"1\"\n ],\n \"1209925120558294522159372390158306387562713576249278199942439583047524474937\": [\n \"13735033090059496254868357968883764802177853720885588482369359952229419740297\",\n \"8039569229852277684905371197650221286187966885858495327352689938472285057032\"\n ],\n \"17117918125705976300518592487983247678700727012944380301650175770784772384261\": [\n \"1209925120558294522159372390158306387562713576249278199942439583047524474937\",\n \"6121562051344501372986407451968542484840277105498361053606423248144926302923\"\n ],\n \"11362250486281318647136739697448970680039268438517295213763924523962417120353\": [\n \"0\",\n \"17117918125705976300518592487983247678700727012944380301650175770784772384261\"\n ],\n \"11519811870333740917664374770914525248325645106531018494593680749666330338239\": [\n \"11362250486281318647136739697448970680039268438517295213763924523962417120353\",\n \"0\"\n ],\n \"10865402544793231488944114129998925375625569571468083787907341413066431444388\": [\n \"11519811870333740917664374770914525248325645106531018494593680749666330338239\",\n \"21316332479901524366910985460171486704196464783423780772849652559870262169157\"\n ],\n \"19460684017189035739890660048501363862447671951890219181840216199531334661883\": [\n \"16556259854086655778094136870573090173715375407675048187728521466982139208407\",\n \"1\",\n \"1\"\n ],\n \"17139665863298230525063882167130748789661514970562658482933142589735483313358\": [\n \"19460684017189035739890660048501363862447671951890219181840216199531334661883\",\n \"5278610221384993814054757481157111756844392907450414916164553571717536275676\"\n ],\n \"2172812568831653387040434393091561332939899880414262623180797251675132840758\": [\n \"20345270445830335203080626834219859228088672214253807784923584407049866333255\",\n \"1\",\n \"1\"\n ],\n \"13096074311296660637365545141964526291565327626014240774225065240847942702545\": [\n \"21047976208170484816133555576165315759176012488724691250933482046943953880265\",\n \"2172812568831653387040434393091561332939899880414262623180797251675132840758\"\n ],\n \"19472224778812503363623517965841496707178447139173773000546472763687366244066\": [\n \"17111994844538397985419383616282741901852928162415534788771493207317946768923\",\n \"13096074311296660637365545141964526291565327626014240774225065240847942702545\"\n ],\n \"2187524353669400587068312976065718479425206127469895869311132665552074808162\": [\n \"5765943959535116164792018733479318654499520185305911606941038760045566204366\",\n \"1\",\n \"1\"\n ],\n \"6963767228937142271265809563901143018463867278515113514887489429922550102598\": [\n \"14064309845611891485856455470251053553805761391290168227429464824444238558936\",\n \"2187524353669400587068312976065718479425206127469895869311132665552074808162\"\n ],\n \"2452633518278702044146656242656817262480382057244499286435435247908140556030\": [\n \"0\",\n \"6963767228937142271265809563901143018463867278515113514887489429922550102598\"\n ],\n \"2667908480619052633331290079252071861708933673129955928348045394326834038616\": [\n \"2452633518278702044146656242656817262480382057244499286435435247908140556030\",\n \"0\"\n ],\n \"3938518218224051537827815434489169255725901189563946109134359790783801490895\": [\n \"2667908480619052633331290079252071861708933673129955928348045394326834038616\",\n \"0\"\n ],\n \"10917031064008042536896248598327650329745800905594948271573844181557294631318\": [\n \"275439078346670812579079777252675348589821636555065422095190693331449877616\",\n \"3938518218224051537827815434489169255725901189563946109134359790783801490895\"\n ],\n \"16777733461370103903034534561559907749581062347801270315366254976263851417078\": [\n \"5242041602232801022136624219779301025582319806506493043948212910361105646355\",\n \"10917031064008042536896248598327650329745800905594948271573844181557294631318\"\n ],\n \"9850880006379338856300690661643185100275490361217367271267074733062260102977\": [\n \"16777733461370103903034534561559907749581062347801270315366254976263851417078\",\n \"15899438199174071274332521686187846867731642438526950466785554304128964535755\"\n ],\n \"8380970169304712339495152004972828661926035834194828190851061018721216088516\": [\n \"14213664005052528381858170052582425318239263018446635885720869100377439333876\",\n \"1\",\n \"1\"\n ],\n \"8230742571798102412283011298299732643615693632265209624686296555619620383806\": [\n \"17338243954374828638609469185884496295660998381790944763607409139519783770747\",\n \"1\",\n \"1\"\n ],\n \"3261612541595545612943265536997304320437817499768609514879931733896322104603\": [\n \"14191499708563966882804244276923378844799477773489070768316206170246463200142\",\n \"1\",\n \"1\"\n ],\n \"3475836114699895268400987651568336810862868288251938485015702045376202357544\": [\n \"671169363740491047279502194970504186599617557907800975083870904712926725954\",\n \"3261612541595545612943265536997304320437817499768609514879931733896322104603\"\n ],\n \"4633552174690977783307876187182358252828043149145451351822688383175701289641\": [\n \"6910260165735290117158333527754910254944049172285582382445413122804307064501\",\n \"3475836114699895268400987651568336810862868288251938485015702045376202357544\"\n ],\n \"19125555180855466914905944313114401624381367364556564875884770375794875277247\": [\n \"4633552174690977783307876187182358252828043149145451351822688383175701289641\",\n \"13974534898977904897524665716334043709542998334008081250777947365692516202335\"\n ],\n \"21116584175943144685330131296528439134993119458766071419246449415252382486469\": [\n \"15401363582759181577217757869081585916112105333997945170438416744796052709530\",\n \"1\",\n \"1\"\n ],\n \"8796321378211081283190289854097102391336847415254815648431074381511244394371\": [\n \"21116584175943144685330131296528439134993119458766071419246449415252382486469\",\n \"4047562046472121301153600870218452618088973785605072840392030643112107992406\"\n ],\n \"12659715686245936184452967784260290394062028621174852295216077603729791422391\": [\n \"6774630841343697853036987177995051572910399959538777914218410814780234190843\",\n \"1\",\n \"1\"\n ],\n \"11763388569002971256520878643231195419329728824406210282299486020046316465958\": [\n \"8678455456334125728515185646547412333107264086909585107030490898141184204432\",\n \"12659715686245936184452967784260290394062028621174852295216077603729791422391\"\n ],\n \"21109741774920188047355341025144603706720203857839145809381748403692291369079\": [\n \"11763388569002971256520878643231195419329728824406210282299486020046316465958\",\n \"0\"\n ],\n \"17804802280087795507578522614872554193652512228507321577616256791193661815784\": [\n \"21109741774920188047355341025144603706720203857839145809381748403692291369079\",\n \"21604260339437694774903582789762349029947432586805190113064426846469594161980\"\n ],\n \"7970493804754777434277838362597611220789203609748164240059355047908069529191\": [\n \"7300833671595919146666343114219358889762599766246481766297234422884192120474\",\n \"17804802280087795507578522614872554193652512228507321577616256791193661815784\"\n ],\n \"10932946125022377062496839147938899294321808888463393251691293921239938094184\": [\n \"14250226374415839965418431426322329829021329763441770159668097384990786391270\",\n \"7970493804754777434277838362597611220789203609748164240059355047908069529191\"\n ],\n \"17899635696930822033734538074294944053035075794453089395383065258670673339281\": [\n \"16790297305163871510488772628650967141002516265116246848178979670561124608597\",\n \"10932946125022377062496839147938899294321808888463393251691293921239938094184\"\n ],\n \"5824814700502383607597413295556902330459047789732908194761937079219316900472\": [\n \"13411135852252743167662158182915668037515363158961970459753092491468866345191\",\n \"1\",\n \"1\"\n ],\n \"20155528030242670687408921028143085728962585903039527704482155839647815833946\": [\n \"5824814700502383607597413295556902330459047789732908194761937079219316900472\",\n \"17011696293883092315612003312287148797297979362717519866498911224573167436014\"\n ],\n \"3596669131256005944758061494881614972360511810107425295213323765590339335908\": [\n \"0\",\n \"20155528030242670687408921028143085728962585903039527704482155839647815833946\"\n ],\n \"5484492118283550983122302486273980819821556991962764287987899224776202142736\": [\n \"21040459930110350831353180236285801133546852532457783587833826759943345213813\",\n \"3596669131256005944758061494881614972360511810107425295213323765590339335908\"\n ],\n \"20941553729479661927809202315601490067487751307076186900464857947151434962769\": [\n \"3279559523788043034052888147981333207481355068941061698801054851029706641810\",\n \"1\",\n \"1\"\n ],\n \"5518677479056528815990356480947606696210730395714463227079797605974557553406\": [\n \"20941553729479661927809202315601490067487751307076186900464857947151434962769\",\n \"3428532987480903963132830200262399864263816267870509068387217953904415897229\"\n ],\n \"14703072717282887638275336282650290435643669091463148809912668376756764040957\": [\n \"6196578104919293106822574101068511784139379036868223845015083574811791170823\",\n \"5518677479056528815990356480947606696210730395714463227079797605974557553406\"\n ],\n \"12463491876630556062957470050094069847124178719008017461155991059494487804232\": [\n \"5721870901773309003055742144055161955921590448253388784060993808637530504862\",\n \"1\",\n \"1\"\n ],\n \"19564022407311515575855324542326258038853704187445409754677703105092238611570\": [\n \"10427356798165792967555404222234563459245063018423108169142140135143877924722\",\n \"1\",\n \"1\"\n ],\n \"12713248788648448407129124325020841910814000389442468478599123529347977950854\": [\n \"6020542373371353050042373847058808681971011383964549753184290437701108770016\",\n \"1\",\n \"1\"\n ],\n \"2188316239414523160055439602107807021782910568090798550440803085599987083955\": [\n \"889855331752988086113541105369847041655546994093135584616841170885076330445\",\n \"12713248788648448407129124325020841910814000389442468478599123529347977950854\"\n ],\n \"1114920462280406834525269250989740546483475184451996624177846841764770933931\": [\n \"2188316239414523160055439602107807021782910568090798550440803085599987083955\",\n \"15369875304522907998157911343934522841314968058994523747855749330183106091289\"\n ],\n \"5560277454052132558818913088600068380051949522029359571367374090617262772126\": [\n \"1114920462280406834525269250989740546483475184451996624177846841764770933931\",\n \"0\"\n ],\n \"14938871285168146562465360857472676165797657460130052752849127691019203340500\": [\n \"18152212033916302779327949702161075418996030430250339653047553658800883104409\",\n \"1\",\n \"1\"\n ],\n \"2796053677094889435215966746246374881043262788153739563873324763428327122764\": [\n \"6427323261785468298079238173996218635798731193244080205213897699562223583649\",\n \"1\",\n \"1\"\n ],\n \"9526634356744719669190028064600389477138146056188024217949468511934619199425\": [\n \"2796053677094889435215966746246374881043262788153739563873324763428327122764\",\n \"19744158009828410550228616950340033117571556552873236449872731391115109428194\"\n ],\n \"4764564456708040798772532410232336374979182800788469385185752935099532757740\": [\n \"1671766076006365473854354294143135220689220731601432457031607875686706645666\",\n \"1\",\n \"1\"\n ],\n \"3418839964149905824680433756677665475893670811438044566562409698404429641568\": [\n \"20640871052556716077681486297814731915005965272049692227054678171388354727455\",\n \"1\",\n \"1\"\n ],\n \"18222463765762550900709945584213434846733861253088465705398763263910209533186\": [\n \"10571426751451347692831621278792940314024621667806487300393207522698581076805\",\n \"1\",\n \"1\"\n ],\n \"14913731548718225980929149927832712156329305854131230995263172317816927407220\": [\n \"18078621255816909283477039307696486200542573305394186567926319345952543969717\",\n \"18222463765762550900709945584213434846733861253088465705398763263910209533186\"\n ],\n \"18051583385186940936288136027959330127580315704513531566150940483033084276337\": [\n \"14913731548718225980929149927832712156329305854131230995263172317816927407220\",\n \"21529715464981580379893188387699207606460140721733187977950959690053046358979\"\n ],\n \"3981831587982697494195592661726607716879308724973259918574336107235425072853\": [\n \"12296495423794296222072350108554923579841837469942964745617212844881106002613\",\n \"1\",\n \"1\"\n ],\n \"9884776095650930359673967487131773529328189516819989706411827065291631928226\": [\n \"3981831587982697494195592661726607716879308724973259918574336107235425072853\",\n \"11896182599302665941847927243909689828341326496161288380918062894624512809862\"\n ],\n \"12282701212712008767425362158511763313378656937909521481373334090689483279644\": [\n \"9884776095650930359673967487131773529328189516819989706411827065291631928226\",\n \"8217078342220816521975386398303712154141695490727365777845592328734771147961\"\n ],\n \"12417034792536012407457082879608197905453364315671229851656757295781756406913\": [\n \"17059572066947033138890921156617699032016875583786314561586593054410243058255\",\n \"1\",\n \"1\"\n ],\n \"4959471811712404602773795256977131770756412282194432475327829341646015882810\": [\n \"267106435460634618265703726851101203256484916472616274822189492692781578821\",\n \"12417034792536012407457082879608197905453364315671229851656757295781756406913\"\n ],\n \"14517767775275443378322626549711686264480182313413108711800063523000506594590\": [\n \"4959471811712404602773795256977131770756412282194432475327829341646015882810\",\n \"18288528050850833950845810796272606721939776070083392730431031624421622699820\"\n ],\n \"720671526631599442565153782323281142059625283378288383932790977522791353594\": [\n \"16463905490022273996567369543609486084523545706307068264364564009025860440677\",\n \"1\",\n \"1\"\n ],\n \"8803613680444264305185124092384774055490737949755562767916427679751556601418\": [\n \"3642993453356277825489690818284787208435528209790570231533931450610888892194\",\n \"720671526631599442565153782323281142059625283378288383932790977522791353594\"\n ],\n \"7372005372818205115518975239498085274614873365586309862315117733016527067261\": [\n \"13769265504747123224717550730986581582567120525478218818869701892700366501431\",\n \"1\",\n \"1\"\n ],\n \"17092158507972253043350466788907520323446889046574442646481451418271574536613\": [\n \"2503210496315498057502812950765680375416485810844444604609210401190992425444\",\n \"7372005372818205115518975239498085274614873365586309862315117733016527067261\"\n ],\n \"625572247467811545966008684397503385149905480252270478216927254833777002250\": [\n \"8039204140518680907560034766466171146653732966512521073133227476505000430285\",\n \"1\",\n \"1\"\n ],\n \"8227228824552724230786193784630588124622183745589565863144644060628810636992\": [\n \"9943926503817340409406120261568655023223795558635706791119893200709502277255\",\n \"1\",\n \"1\"\n ],\n \"6948101046452675906397192700305871361548225058469737157031582076898539113569\": [\n \"8227228824552724230786193784630588124622183745589565863144644060628810636992\",\n \"2662767285631933329913169282839816789622039696236773071037008792876406680115\"\n ],\n \"13705787218924523830555261025724518247415006686114339322385822745363370724221\": [\n \"20007723233170392612084778519765453429546821836254540061310308537882623491570\",\n \"1\",\n \"1\"\n ],\n \"5049254675417319269947211193812574378882692811751587997497933428789608588846\": [\n \"17620927029670356600731169362253236450648267681039555785523569446754144563764\",\n \"13705787218924523830555261025724518247415006686114339322385822745363370724221\"\n ],\n \"8354202760294480463211814616484768211503123483743475849055154200295046084459\": [\n \"5049254675417319269947211193812574378882692811751587997497933428789608588846\",\n \"0\"\n ],\n \"11916651321879225256966344041498870299806192130768104235461855125538442079619\": [\n \"8354202760294480463211814616484768211503123483743475849055154200295046084459\",\n \"0\"\n ],\n \"5665956344820077437462311678585182023949263533085502396393318873850445520409\": [\n \"11916651321879225256966344041498870299806192130768104235461855125538442079619\",\n \"0\"\n ],\n \"1561281033879125933023629842149562046573173054812733589051453333097288706856\": [\n \"0\",\n \"5665956344820077437462311678585182023949263533085502396393318873850445520409\"\n ],\n \"4014253985629107230111461196581669893668182441471602544797587792275271385037\": [\n \"0\",\n \"1561281033879125933023629842149562046573173054812733589051453333097288706856\"\n ],\n \"20258675181592496590434020259093578220543941023113936953461718608284205637989\": [\n \"21003546075673596250922100384145881523071787353324069999470552998209642562104\",\n \"4014253985629107230111461196581669893668182441471602544797587792275271385037\"\n ],\n \"5879039148475688528277144103485510517887901402879414757719218957389807693222\": [\n \"13331960627938184098776318131386356889265085609581336120096292919501961621206\",\n \"1\",\n \"1\"\n ],\n \"5017429766355921757367869016861751697843539229451585364736995582687461198815\": [\n \"19608945733276545773203363037565563022584634573567254748521888235841433401340\",\n \"5879039148475688528277144103485510517887901402879414757719218957389807693222\"\n ],\n \"14879517545303024456591181938941448473426995130110579115020969263898787208208\": [\n \"13423561524729979837089896548347925227019016860596177426878508696342484767574\",\n \"5017429766355921757367869016861751697843539229451585364736995582687461198815\"\n ],\n \"16593366371531897384915019121808564730270100695075757563029112459420899548236\": [\n \"16420336988968360922742383851119137207162559952634367246447109856384165773170\",\n \"1\",\n \"1\"\n ],\n \"7806081365409578813810559492597106299257563713159817029924997495449228778336\": [\n \"18076447606273747619104083756471383410975811754707200971975516072823305847732\",\n \"16593366371531897384915019121808564730270100695075757563029112459420899548236\"\n ],\n \"3846421480641390807306440333780883748687943558838596401942059226107268542554\": [\n \"0\",\n \"7806081365409578813810559492597106299257563713159817029924997495449228778336\"\n ],\n \"17512778759020734601431241875931469052261228466572825172294488076553672061117\": [\n \"5077686674759030190546504399245111731461243888205196168682212050014969611241\",\n \"3846421480641390807306440333780883748687943558838596401942059226107268542554\"\n ],\n \"6653408285142704734456870929053729238057305615535028353016451557147972094152\": [\n \"19564022407311515575855324542326258038853704187445409754677703105092238611570\",\n \"17512778759020734601431241875931469052261228466572825172294488076553672061117\"\n ],\n \"11110646433909287404479717026880842901354846863242049576214704464042328810129\": [\n \"20712335457702828945203842241402863395748522851582829200646955849546343503543\",\n \"6653408285142704734456870929053729238057305615535028353016451557147972094152\"\n ],\n \"2246638058976024574984595266492573485493811618353583972081381568208972805173\": [\n \"4221687970853012868716975310018196649823229214618440946766921862045330447051\",\n \"1\",\n \"1\"\n ],\n \"14867005335774481005773971604330034618542028964191385584892244228679737553998\": [\n \"2246638058976024574984595266492573485493811618353583972081381568208972805173\",\n \"17019229770283799243149142635536833677582509869890560002633608285173672454903\"\n ],\n \"19589055025316830374666210802408674879021985258108089299282785662486395563640\": [\n \"4566718835675094499210207993168425015855622663050302279577278185305944469910\",\n \"14867005335774481005773971604330034618542028964191385584892244228679737553998\"\n ],\n \"15851838686002442495303567673630310505810273657433701568298285862973255551896\": [\n \"0\",\n \"19589055025316830374666210802408674879021985258108089299282785662486395563640\"\n ],\n \"5607600471641170928159981099589125126434155598854402184133039355213844672524\": [\n \"4446195178132803696243285326289158076814693507115578126802810791036557762807\",\n \"1\",\n \"1\"\n ],\n \"21866104823301365515205005915059596178456469462954275581088341983327631123856\": [\n \"5607600471641170928159981099589125126434155598854402184133039355213844672524\",\n \"14640644236941104827872698455667983879933927127498864300407058784151292714217\"\n ],\n \"9892421382056639305387732207870273173212049525560620656947061976466095762127\": [\n \"21866104823301365515205005915059596178456469462954275581088341983327631123856\",\n \"0\"\n ],\n \"11565353198870355322517528376885602090520630310336714666372426182288285410045\": [\n \"9892421382056639305387732207870273173212049525560620656947061976466095762127\",\n \"7493793039411428908490996773842551948239190532216900170213838741536780146591\"\n ],\n \"8172885448810413325758545678959789638513548974809387727714006104989549150335\": [\n \"11565353198870355322517528376885602090520630310336714666372426182288285410045\",\n \"4361881002384790393162128384210356829961853950009961593850685143258217317513\"\n ],\n \"12599672468331231361278400174986097032116927277257468612928385674103228212605\": [\n \"7376965931291519250609753069869116622436188495175042118106929029058887621298\",\n \"1\",\n \"1\"\n ],\n \"5378072056562208338990811058775634784038799915356282871169514955861030609745\": [\n \"12599672468331231361278400174986097032116927277257468612928385674103228212605\",\n \"13026628533428622188121560315040213650738643786159271843063020047305835232476\"\n ],\n \"10684906526538052679459387174686602180887604289737802681121087622369853894817\": [\n \"21822781287231610230429128526938108159317421780084917129504111313280291964340\",\n \"5378072056562208338990811058775634784038799915356282871169514955861030609745\"\n ],\n \"11665973301792527214384458747792300482210213617175858522685955542067230199489\": [\n \"5361117410193327815645172044252976933276077787061666589338170302382486078240\",\n \"10684906526538052679459387174686602180887604289737802681121087622369853894817\"\n ],\n \"20356247939632102113721877747405321034474759607161580460050735252668378128083\": [\n \"11665973301792527214384458747792300482210213617175858522685955542067230199489\",\n \"2652813848888604058485322341906268026286848756062739505659206981852920239847\"\n ],\n \"20192056654082176856808920876346787622682490733822905610596514856031817604635\": [\n \"20214807462014493435596134772514256995719936717584129295254373180243997093430\",\n \"1\",\n \"1\"\n ],\n \"719036620429208637134026655591329199026400090864315737330590836539405041834\": [\n \"1592826366997563725268747827561333022505370297798276600891712759894679652530\",\n \"20192056654082176856808920876346787622682490733822905610596514856031817604635\"\n ],\n \"8130843810499507825339366399376621709344783442121942966455113990418718777232\": [\n \"17785501785244556894285270465748398103257474135934582026646099213379826359990\",\n \"719036620429208637134026655591329199026400090864315737330590836539405041834\"\n ],\n \"21523264154789076821939786407222810892456885282938611636480786014133470135877\": [\n \"8130843810499507825339366399376621709344783442121942966455113990418718777232\",\n \"19765806671893622747143419297203685926463031103139448329891492180617057193804\"\n ],\n \"21716446077019259561909581744508503901881440014105719727998411181107369016077\": [\n \"20775275694762203031007009457055907451586128215030847005466904741712876815632\",\n \"1\",\n \"1\"\n ],\n \"4111389187590735728729530008400828702831282766526953028780373524868447669105\": [\n \"17742400835734861857821197001913426886472780268287673628139654459478604386789\",\n \"21716446077019259561909581744508503901881440014105719727998411181107369016077\"\n ],\n \"10164792020880105820419832192486605217777988608727118507560627126896281405262\": [\n \"4111389187590735728729530008400828702831282766526953028780373524868447669105\",\n \"0\"\n ],\n \"11421096624329906806727275822122125947967349515802219272121173185608302659316\": [\n \"10164792020880105820419832192486605217777988608727118507560627126896281405262\",\n \"16731676748955166866828461696641124202008048542999888028921830748884948165149\"\n ],\n \"12017717495881117121214076856312353059551781872012613586514913906914053399815\": [\n \"2601132078635922692785548710652509924974710151311714060371739381343040237101\",\n \"1\",\n \"1\"\n ],\n \"6381770513531488596928786300820459327330559289669241859821156054589381922054\": [\n \"19202098336019365824484969639675835736253694033370644534855321062090012821628\",\n \"12017717495881117121214076856312353059551781872012613586514913906914053399815\"\n ],\n \"1695171333054062077463230419165559169189330903401811021287235122982222092179\": [\n \"6381770513531488596928786300820459327330559289669241859821156054589381922054\",\n \"0\"\n ],\n \"15524033318564597751880614327038032951265794916582575919304146672089579940597\": [\n \"12792520955691981324803039763455827940485394580990051827764552249170370557236\",\n \"1695171333054062077463230419165559169189330903401811021287235122982222092179\"\n ],\n \"21775399134997635138377411501083808619796391387502516229177893706273645392351\": [\n \"0\",\n \"15524033318564597751880614327038032951265794916582575919304146672089579940597\"\n ],\n \"12900320900563516050356101116519610024900709608408607638089189458281049146726\": [\n \"7565449424639996618533979784763015713383397429654224039726008657262236330587\",\n \"21775399134997635138377411501083808619796391387502516229177893706273645392351\"\n ],\n \"8322612953225004724494504167823751532104415468278659507153631883542457160864\": [\n \"10104218105195139796385528064943797558102810136912782191489219499877406687111\",\n \"1\",\n \"1\"\n ],\n \"8203253010828942963545562065698886935613944861073030296788988450534376896564\": [\n \"4118730741942925019582632977829424929884332418015286560610613119383168468467\",\n \"1\",\n \"1\"\n ],\n \"7877014541391623415647759750508929695576341518838797405671167104974261095875\": [\n \"6630513994165268967592880373534281345329506413337738635417760820132493247113\",\n \"1\",\n \"1\"\n ],\n \"14187078534246633723398988481382553445473582198134639726607796425385435767817\": [\n \"20369374258303199293966160666901041636851461595073282778873535853738605514253\",\n \"1\",\n \"1\"\n ],\n \"16365065831721288617889031970117640731797536976889011968665492003622788610741\": [\n \"14187078534246633723398988481382553445473582198134639726607796425385435767817\",\n \"311197959420001641012465089280915520426214165356371158138656410633910723403\"\n ],\n \"18472009200887255899676501498683686717375173666989241523319651983067483131870\": [\n \"16365065831721288617889031970117640731797536976889011968665492003622788610741\",\n \"18684500199320765483843510728971050146650251309368392132365098049762555913007\"\n ],\n \"17841119329811076279407318969762722296260926287937266428421451086150979908882\": [\n \"18472009200887255899676501498683686717375173666989241523319651983067483131870\",\n \"0\"\n ],\n \"7015255862973666587526963147438823395064728385683955393037124319034950921176\": [\n \"8095061661620450152452646801107430726429056508407760906065905664112518725806\",\n \"17841119329811076279407318969762722296260926287937266428421451086150979908882\"\n ],\n \"14669726047076263045719003091157356745387149522388305460624539457560770980313\": [\n \"1126853452669913772022190240805094236681480403527627481167501677679948973354\",\n \"7015255862973666587526963147438823395064728385683955393037124319034950921176\"\n ],\n \"12429814486521745367478598684819740989613363560228950700260948000300752535105\": [\n \"16925966890603430488413642987566510001538835805222538964861191243302517632327\",\n \"1\",\n \"1\"\n ],\n \"3639963150354203557570083562090967017091809358065357635742192969160077233061\": [\n \"12429814486521745367478598684819740989613363560228950700260948000300752535105\",\n \"21547717979755720474905667628872623402312629140053736291263990268558201388842\"\n ],\n \"7816889678513262105321867114744570639281151038302841970024410414725038787696\": [\n \"16214644595441726903209006586858930375093835706954177782579346960339492756122\",\n \"1\",\n \"1\"\n ],\n \"16489554577255089090040540077944585463337053546139007534431165160808964462787\": [\n \"402166335732826295973280682576281945917778976881205715142173235104715501039\",\n \"7816889678513262105321867114744570639281151038302841970024410414725038787696\"\n ],\n \"8704002992767867096132544508844151001811932957890459952294931830512951865065\": [\n \"21223906572699046926442216710084305234064809223847164253701435070793764654285\",\n \"1\",\n \"1\"\n ],\n \"13272590520690535586549933881962322772086455247765335222470929991446548682942\": [\n \"8704002992767867096132544508844151001811932957890459952294931830512951865065\",\n \"273010885287225708512597639244280136467038349123955477248822935283229977904\"\n ],\n \"2140362667524126669919503274114422226735845317305368641071332015164785590241\": [\n \"13272590520690535586549933881962322772086455247765335222470929991446548682942\",\n \"14296950432734925257129554792926115726234529911922767709921798043736867243175\"\n ],\n \"18554149684839543005442175843917922000496652676966504769578044981260288023168\": [\n \"18185297891021031563908626888749172979245234497290790212638103686223888872669\",\n \"1\",\n \"1\"\n ],\n \"15279904557920303416597682718383129947796584642856577260334517084338421107768\": [\n \"7777785451881160884259217431350848469646432746054600562586429363515285298890\",\n \"18554149684839543005442175843917922000496652676966504769578044981260288023168\"\n ],\n \"16029908173504175383918063776833031970499024367005835273416885742363864661125\": [\n \"15279904557920303416597682718383129947796584642856577260334517084338421107768\",\n \"0\"\n ],\n \"14257098318362424640366884770429114214281632328512981198709745655969769513570\": [\n \"0\",\n \"16029908173504175383918063776833031970499024367005835273416885742363864661125\"\n ],\n \"11977865697107478150479556088524888318907232162440568467442457352745570579037\": [\n \"0\",\n \"14257098318362424640366884770429114214281632328512981198709745655969769513570\"\n ],\n \"6245439783323817664074388235162117411994537960356495405499768569259017291101\": [\n \"7253398427072089714706922023549873415331455846142798700256721753756514059168\",\n \"11977865697107478150479556088524888318907232162440568467442457352745570579037\"\n ],\n \"15640073193934703767978751630880448909609604258697721974969445493152751167415\": [\n \"6245439783323817664074388235162117411994537960356495405499768569259017291101\",\n \"15101905293961227509787943696876877415840544143017811154394074749520363254969\"\n ],\n \"7785082114311273184032187410168359935479503680499248340866464734140583621896\": [\n \"18655047763828417894276055476653546200216497608148316467169212592317252106738\",\n \"15640073193934703767978751630880448909609604258697721974969445493152751167415\"\n ],\n \"3399037296671507372638252192056775596825778622315512551125751654376422235366\": [\n \"7785082114311273184032187410168359935479503680499248340866464734140583621896\",\n \"4966433726686190164791174228193213390449541518089507734830971182188259916578\"\n ],\n \"7572222493517747046207219555246740829206909778812073775931040592045588304372\": [\n \"4763687048279748954074844803538453198105869336689649495732412704950908569667\",\n \"1\",\n \"1\"\n ],\n \"11792841411909683584527843909157795833744530540954714480445473875828233043266\": [\n \"7572222493517747046207219555246740829206909778812073775931040592045588304372\",\n \"14418248181060385843113150866193953442004542306594543276544716528038653694095\"\n ],\n \"18951378062730771388813823608576180433209351035346995738339462241668037381922\": [\n \"11792841411909683584527843909157795833744530540954714480445473875828233043266\",\n \"2372860209486726897319663332075399652938095739703711156792039941326139964086\"\n ],\n \"1419600324722720897693656910295597267097701063193043963003807476223870908724\": [\n \"16310002313727166380575759167925544876896803513528761266787391365027950323543\",\n \"1\",\n \"1\"\n ],\n \"8674375018407572066539483031759528719630159022110043006188782203122825578063\": [\n \"7111228685508326598492271041446338068968980627804851036759800929680127063354\",\n \"1419600324722720897693656910295597267097701063193043963003807476223870908724\"\n ],\n \"2045638440442103884118054633174035282458544535571783720370299067012108126944\": [\n \"0\",\n \"8674375018407572066539483031759528719630159022110043006188782203122825578063\"\n ],\n \"11360850046311586294084724113190823010575124311796257701738651578288904870629\": [\n \"2045638440442103884118054633174035282458544535571783720370299067012108126944\",\n \"47425917936352817597342530335250254289632392428226598543177985553680551617\"\n ],\n \"21625811521179126015298785220952042388049297450224908094563895449605514923869\": [\n \"11360850046311586294084724113190823010575124311796257701738651578288904870629\",\n \"3930438879576149934785081208701238465295192269067635692718542841713437787736\"\n ],\n \"9534852266104354042721216384863799349995822448692174938381853994342568841211\": [\n \"1974166275048415822339799275663101830472224615289373978186060449178616284788\",\n \"21625811521179126015298785220952042388049297450224908094563895449605514923869\"\n ],\n \"20563677573424232046561033997517511198486182187609910770898398812083166612629\": [\n \"4645372236663008361069239514680692415761307222051651864100920795788841468037\",\n \"1\",\n \"1\"\n ],\n \"9427350425023402157303569401539318582941269733667559882669813296630341012494\": [\n \"20563677573424232046561033997517511198486182187609910770898398812083166612629\",\n \"13361723707472833038285078013693387425973038211313812916947728256075956227563\"\n ],\n \"5012897052418913570654469772071186604102708157425583098171350092369897056270\": [\n \"1672285986279991743941468517444352073534837815721899184232580803572362025145\",\n \"1\",\n \"1\"\n ],\n \"9955131482165299362415512488138253635978995846957494984761421715326069893529\": [\n \"5012897052418913570654469772071186604102708157425583098171350092369897056270\",\n \"9636731273025334904089346435769597388464322780647635075408280846951114195851\"\n ],\n \"12266262869914214596742062684666292805958195900385188212003792746292469301190\": [\n \"0\",\n \"9955131482165299362415512488138253635978995846957494984761421715326069893529\"\n ],\n \"2078642672427511182760284412755783578955791534375690630715049642603168530942\": [\n \"12266262869914214596742062684666292805958195900385188212003792746292469301190\",\n \"0\"\n ],\n \"12750653291365366166399112429569736787799118714178742020031740959890512561413\": [\n \"2078642672427511182760284412755783578955791534375690630715049642603168530942\",\n \"0\"\n ],\n \"18908186102196755629130389190007375950139968284458930598082638952263302838900\": [\n \"0\",\n \"12750653291365366166399112429569736787799118714178742020031740959890512561413\"\n ],\n \"2063740848215083165702870813766759001456976355022553472122550873789353215596\": [\n \"0\",\n \"18908186102196755629130389190007375950139968284458930598082638952263302838900\"\n ],\n \"14021051603884253942922567345380034401437867976950994291428724160058918275415\": [\n \"2063740848215083165702870813766759001456976355022553472122550873789353215596\",\n \"0\"\n ],\n \"6402685016050333197493850121505552640688353348332968876680452667166866214714\": [\n \"8746088522947261855199124613315903337975358061091868001623974690591693583048\",\n \"1\",\n \"1\"\n ],\n \"16878523176889425049985919082718136819518921995680383502057992860138353770691\": [\n \"5599966371414526902343538237879218801579055880513003793004888016647619449940\",\n \"6402685016050333197493850121505552640688353348332968876680452667166866214714\"\n ],\n \"12319322987679574691891047681057713445866792311098676622361400933174913792122\": [\n \"7797333986265883149150699306012723990678522286498537224846953128722493747583\",\n \"1\",\n \"1\"\n ],\n \"11257564662306557976291551821295058957697687074487238446521774164832948948384\": [\n \"2048939897477597702568907677504182681919977911041554126699110673446809993038\",\n \"12319322987679574691891047681057713445866792311098676622361400933174913792122\"\n ],\n \"16867524939418496889715854935830896455579153728276933851204224669282460230378\": [\n \"11257564662306557976291551821295058957697687074487238446521774164832948948384\",\n \"15883930132872728530881052006169619327244052443301818846089653290011452157519\"\n ],\n \"4023299866431978450461985981962463678749628572486951389449437672190583274182\": [\n \"14450843045106171355251402094653018575168070348850599228822589116829064960200\",\n \"1\",\n \"1\"\n ],\n \"4015554068146361157565640870989178622061086053379910367257775083312543274653\": [\n \"3908375104712726135013143200480082415602177719719642420779370340712201377835\",\n \"4023299866431978450461985981962463678749628572486951389449437672190583274182\"\n ],\n \"3736681147366003106763398516351305578336756280542240372487783054752079460971\": [\n \"4015554068146361157565640870989178622061086053379910367257775083312543274653\",\n \"0\"\n ],\n \"15803531984951721221236953757616388625963975395500515872993758249410286581030\": [\n \"0\",\n \"3736681147366003106763398516351305578336756280542240372487783054752079460971\"\n ],\n \"9384891402264250916310682074530349498053023491238841288885646451814554254508\": [\n \"0\",\n \"15803531984951721221236953757616388625963975395500515872993758249410286581030\"\n ],\n \"4436730920559538445594605934405671991243662777041988643953449950024711485874\": [\n \"0\",\n \"9384891402264250916310682074530349498053023491238841288885646451814554254508\"\n ],\n \"8322100352375716792570886653629240603304588752363928678424111416182233923848\": [\n \"4436730920559538445594605934405671991243662777041988643953449950024711485874\",\n \"0\"\n ],\n \"5193591068988689622542333314541249225019399022834060300878711358781966155653\": [\n \"8322100352375716792570886653629240603304588752363928678424111416182233923848\",\n \"0\"\n ],\n \"7457353144577957926424069918499034276165110974134043013510250935298252677747\": [\n \"5193591068988689622542333314541249225019399022834060300878711358781966155653\",\n \"2288712711811218765575220704636068692236163415820015539307712507438918069879\"\n ],\n \"13627908544197254753239237811038167826635710105248635658388488237502319635666\": [\n \"7114960383622242950593498697189257177765539579138433725939717804546087453468\",\n \"7457353144577957926424069918499034276165110974134043013510250935298252677747\"\n ],\n \"9050501744512028839628200959747911959907580050712721628931812391436809649012\": [\n \"0\",\n \"13627908544197254753239237811038167826635710105248635658388488237502319635666\"\n ],\n \"12223470985223283627591759951037392800879187378089346010612766552092772195127\": [\n \"21732624656644788162869102927345076096887875743009685878723493933659236847187\",\n \"1\",\n \"1\"\n ],\n \"15982475007942489512468497219361277800942754602007377508322355250832808603971\": [\n \"12223470985223283627591759951037392800879187378089346010612766552092772195127\",\n \"19511709762724191195310924565905755435456837944172937946101063789287569622231\"\n ],\n \"973058561278211216308323338377196765293148930576950320512571919719416377576\": [\n \"6097120648513184680681385017617925617686917853108444476894190247414105535052\",\n \"15982475007942489512468497219361277800942754602007377508322355250832808603971\"\n ],\n \"12940504052845945197122200577633582470285240909125040393163340715592374019012\": [\n \"7827647804008925759969431385034277052816913666259912126762527655248444632503\",\n \"973058561278211216308323338377196765293148930576950320512571919719416377576\"\n ],\n \"3373051992126480756546077771060027734932629041178736289444069852790996159800\": [\n \"17106879316621595214238802169943695147000767219470659961194077377194025710209\",\n \"12940504052845945197122200577633582470285240909125040393163340715592374019012\"\n ],\n \"3423332818646243954745717282667161589183987284130068131873424454852783908497\": [\n \"13595654709631850641865023732664241142013025474223235067511876564112361230894\",\n \"1\",\n \"1\"\n ],\n \"3783401906329260074191964714446365237478995149579589399227975873173801838908\": [\n \"7105903337036840676006564660052840528754091372296528328766321064975393466653\",\n \"3423332818646243954745717282667161589183987284130068131873424454852783908497\"\n ],\n \"14572753553519815994423242247455130517285007182017412020154362775872083861286\": [\n \"14717478497739221620162928714360265403136974674564297280827610876968234864866\",\n \"1\",\n \"1\"\n ],\n \"11313574899138506782115242106322613494022670311793212355261499009868795555166\": [\n \"14572753553519815994423242247455130517285007182017412020154362775872083861286\",\n \"21389500574511331683754704859659533436649367943577440739062041116337339994942\"\n ],\n \"19305611088174382097303077869987311132290124222898665201284634005169281437195\": [\n \"11313574899138506782115242106322613494022670311793212355261499009868795555166\",\n \"15979936207726607540118840968328950010239422435994739615871453625307457389924\"\n ],\n \"20929857591323333087761702593275187746741464790596784887217917443843372133923\": [\n \"12299539447867990693649330620720842874469937258053427641293713200782840329662\",\n \"1\",\n \"1\"\n ],\n \"13580097844874590483886831235973285415950559956160744534311516548609384168013\": [\n \"17531579018230195641332476019451599052771930445975629230493097941872815569345\",\n \"1\",\n \"1\"\n ],\n \"8042895209143010118158896054797241836452942115180760029123323521327620268726\": [\n \"20726400399027420207094501334409735119116992417645872868273800116798366121441\",\n \"13580097844874590483886831235973285415950559956160744534311516548609384168013\"\n ],\n \"13896778475802157864149779895262958926202594020337190428158936953598049775247\": [\n \"0\",\n \"8042895209143010118158896054797241836452942115180760029123323521327620268726\"\n ],\n \"13060333331888577800254257965076567067929572857333240465434250946399149007419\": [\n \"0\",\n \"13896778475802157864149779895262958926202594020337190428158936953598049775247\"\n ],\n \"5584725515007865451576091647345923388871982958748722600572688920956052099457\": [\n \"12040936482386195698613848561350554493980121662358354689943299527198828604042\",\n \"13060333331888577800254257965076567067929572857333240465434250946399149007419\"\n ],\n \"3677213494363364783406839880151123489695512865656529311453188010096797261842\": [\n \"14389749785295727873016828430109486800294075652753687202769721429456602584513\",\n \"5584725515007865451576091647345923388871982958748722600572688920956052099457\"\n ],\n \"10377682990361002814324084658019866154662276907960605869767692557621607152804\": [\n \"3677213494363364783406839880151123489695512865656529311453188010096797261842\",\n \"1306180815527432369542271775329578588471818964983139494763721815672029799519\"\n ],\n \"3778412605989016895493561398509905187816423710281160817144425115242844682932\": [\n \"13367640301531798319294531322227486187407285601742781490461480167703896777783\",\n \"1\",\n \"1\"\n ],\n \"15198721910295064050199725972277215564246334085183111589863735149984358006413\": [\n \"3070217932872828751812686744590636234293172101259691727815156635880187707820\",\n \"3778412605989016895493561398509905187816423710281160817144425115242844682932\"\n ],\n \"16014754983640150229381996372972169079681561398509769277955205792178315935445\": [\n \"0\",\n \"15198721910295064050199725972277215564246334085183111589863735149984358006413\"\n ],\n \"13447990799787939809669577601655501190491901364562276746001338288047486731226\": [\n \"16014754983640150229381996372972169079681561398509769277955205792178315935445\",\n \"0\"\n ],\n \"4426586828279558198493184426815225094500570591552339088481859294493052947389\": [\n \"13447990799787939809669577601655501190491901364562276746001338288047486731226\",\n \"0\"\n ],\n \"18036297474750479534744163259902869602547111692108971816327629795995621288439\": [\n \"9806289639671166796054840045840777978700639947746052640405176940708769615976\",\n \"1\",\n \"1\"\n ],\n \"9658653877709948753445470564444765857349195758786004950508228564474633831220\": [\n \"18036297474750479534744163259902869602547111692108971816327629795995621288439\",\n \"20510277728010492412368903212741735338017115125385487506053260841681823767636\"\n ],\n \"806242518545266488248879398182717159296283641423884416733784616799816852454\": [\n \"11126607909073555625366132719194891245032092869752562710976077114842428485756\",\n \"1\",\n \"1\"\n ],\n \"1562601073543822738221578593857013536448077255359183380703894922954512569069\": [\n \"806242518545266488248879398182717159296283641423884416733784616799816852454\",\n \"1200559618023837008214597859615490223710877873398692032371245178935769395934\"\n ],\n \"18045640538750322034099105242268550581678629989582797332253512649138757315774\": [\n \"1562601073543822738221578593857013536448077255359183380703894922954512569069\",\n \"0\"\n ],\n \"20487575837514236203442126939630927541358645520354202740618237948386459593370\": [\n \"18045640538750322034099105242268550581678629989582797332253512649138757315774\",\n \"0\"\n ],\n \"6620121939085141118170110618214797718998825569290280020237210821433882783053\": [\n \"17362418124745855995488735161580624002330184191807031227966642816635859825032\",\n \"20487575837514236203442126939630927541358645520354202740618237948386459593370\"\n ],\n \"2933955683224003919725779117359035032058097667744765011156155363993070041055\": [\n \"19190397696230636321706353304531997899702050543066296431405058467760338808366\",\n \"6620121939085141118170110618214797718998825569290280020237210821433882783053\"\n ],\n \"17506304914382133571200913537030642061068465412239583874322929009549550031315\": [\n \"2933955683224003919725779117359035032058097667744765011156155363993070041055\",\n \"16560049997800285336450210141773544145900956987130574748699993970267024634199\"\n ],\n \"8702604511113082205323358358812980629382732648998282064173055330297399224228\": [\n \"17506304914382133571200913537030642061068465412239583874322929009549550031315\",\n \"21167329569142682360403726153972015291299579833824149342379776314328370691163\"\n ],\n \"3150254086276766757971879467831179359423354588324533265716401511418309832161\": [\n \"6398925842733961230088352823786144552279145891924905407605198959497323251766\",\n \"1\",\n \"1\"\n ],\n \"8850994097311495826295956854612484997503009018149675715636183730426915942921\": [\n \"4618421779158726060574087374283133853671210704316106089339304330090185519888\",\n \"1\",\n \"1\"\n ],\n \"8933058364187970977032652242231517815158378890547719187547945972928118245906\": [\n \"1073809124374535418331468651118908671088904127723368220210432804029401399438\",\n \"1\",\n \"1\"\n ],\n \"16729862182245943067850839907474179890084067642480093863124546655872817496583\": [\n \"8933058364187970977032652242231517815158378890547719187547945972928118245906\",\n \"17833413851143959689277917954604551459264145220376848680903924700287709594153\"\n ],\n \"7906863677343558968654445840331205585146855320954798391481973145255373822366\": [\n \"6143764235173404261696994590140962164025461917761302111336086616177861687804\",\n \"1\",\n \"1\"\n ],\n \"21164445970208023024530541377732239013934127647905565929437747294312740686297\": [\n \"8808299313207860189075008688588322381184926011859623708115248982847635970505\",\n \"7906863677343558968654445840331205585146855320954798391481973145255373822366\"\n ],\n \"9010376735705429281674254401556034436515166074840398422983156487405745078453\": [\n \"4261973858510159706691162686976601680917414164446625196584395630285720162628\",\n \"1\",\n \"1\"\n ],\n \"14348857780791166930688528220176893092237943483150094688035075272274659227938\": [\n \"2019895510987640028086618310045610099304016058988262162833722612387010847487\",\n \"1\",\n \"1\"\n ],\n \"3228384155017230477296581127398816466054485806890023164482655795700357159405\": [\n \"14348857780791166930688528220176893092237943483150094688035075272274659227938\",\n \"17773531787772237375720313998706825281711851421335514439221259886371781529827\"\n ],\n \"5134083250999937491444314789927154035298065517463714169013862381857890967802\": [\n \"3228384155017230477296581127398816466054485806890023164482655795700357159405\",\n \"0\"\n ],\n \"10742008273648084389359286791732338660010577409515385059614681784435855082391\": [\n \"7109851146551671068223505344311388392674633361489266754392841659946633594850\",\n \"5134083250999937491444314789927154035298065517463714169013862381857890967802\"\n ],\n \"3315155281122299450328343444064048999216899413813219711784415231220594275833\": [\n \"18532542160848440248845891475189962003790823308245252986677409169558629945919\",\n \"1\",\n \"1\"\n ],\n \"9172203632967318426784451821717631310753579768163574469572239983961659701487\": [\n \"3315155281122299450328343444064048999216899413813219711784415231220594275833\",\n \"17894777845203012121715851136761727120388767808969442545793007592576684450967\"\n ],\n \"3002850926303113913132037823320938377251607121967948656985537519426676417687\": [\n \"0\",\n \"9172203632967318426784451821717631310753579768163574469572239983961659701487\"\n ],\n \"19494137771226535586620291398637360406618889209940987074790285179980125572655\": [\n \"3002850926303113913132037823320938377251607121967948656985537519426676417687\",\n \"0\"\n ],\n \"18462012600156538420040202404987469436614812852620552176695948376843271411007\": [\n \"19494137771226535586620291398637360406618889209940987074790285179980125572655\",\n \"0\"\n ],\n \"18898305096947805023739730433807796950617069348678902021818551972590132241075\": [\n \"12716221409347481707789671900451934758486085876407058451697224058807828060871\",\n \"18462012600156538420040202404987469436614812852620552176695948376843271411007\"\n ],\n \"9180204421569396021614946181566833680637258840135519264740497391713849273634\": [\n \"2818515708678524222730145998052149460643703271368358643732859350784208970571\",\n \"1\",\n \"1\"\n ],\n \"15806556869049904247732140380902089819466156972681410279274635348381340562903\": [\n \"9180204421569396021614946181566833680637258840135519264740497391713849273634\",\n \"10638966327424473158764463582551597909058472605124146117827727182319445838107\"\n ],\n \"14728905181708111270790677030284654578160525162028826235264268612856771324049\": [\n \"7536160174652113615018312350210132249196546360734417444087469750961799585528\",\n \"1\",\n \"1\"\n ],\n \"2269071374884945123291644945998506674613102982168560200887935048511798771\": [\n \"11055533465977055239003886888834528679899129125452088926458614995637141812091\",\n \"1\",\n \"1\"\n ],\n \"12625621710032205082385479777336135819910416413818476469782888339940879572590\": [\n \"8632772451535812630617420434767305503859832965234370092947744485834843523619\",\n \"1\",\n \"1\"\n ],\n \"5570744135734208346060024631291978898910511222174644089834068532557920931524\": [\n \"16569187268195717113101550897095939174372537709655194338064993805755051741913\",\n \"1\",\n \"1\"\n ],\n \"6726432201306313599663071188259737657071158338643041258811106291996304024094\": [\n \"5570744135734208346060024631291978898910511222174644089834068532557920931524\",\n \"9611376067186229269488766938619367343610921482774132147206067871566156584234\"\n ],\n \"16021894138012903129014612005204138905152143539974323601085928768273807589913\": [\n \"6726432201306313599663071188259737657071158338643041258811106291996304024094\",\n \"0\"\n ],\n \"18989888040564549438242414480433077182974863352646765698902986633933963001489\": [\n \"0\",\n \"16021894138012903129014612005204138905152143539974323601085928768273807589913\"\n ],\n \"199496979522127342562899466098100507782345258671941876411809096757370022167\": [\n \"21301941269791233206859651636166384591526297802682333079161546076592108290729\",\n \"1\",\n \"1\"\n ],\n \"8548925762222003969012121744187249244414671809652425691289745609927162530227\": [\n \"199496979522127342562899466098100507782345258671941876411809096757370022167\",\n \"11095051366786131862422544456349178805296936453425693353783693488835892778969\"\n ],\n \"14570711664503826190755014443344296118167857819631535660355091573426106967151\": [\n \"8548925762222003969012121744187249244414671809652425691289745609927162530227\",\n \"0\"\n ],\n \"3545695496688488171912681682677684012760799619400753015070508727528540056906\": [\n \"11188347485356569120757299100833162720676252143102831028122282529971333528132\",\n \"1\",\n \"1\"\n ],\n \"4877089629078929380264348728036281001024076459803579002806133995038932700776\": [\n \"17970904642663014587405891028352373046325461907167662257718985322582360855801\",\n \"3545695496688488171912681682677684012760799619400753015070508727528540056906\"\n ],\n \"8826452684946624903915541002084195786568075283166203240084732849854310572452\": [\n \"21207021690684138493556737054415129390363651904695811168148791183142590026514\",\n \"1\",\n \"1\"\n ],\n \"6730683093170694758306245219621947751139238552517993108196752164104016956571\": [\n \"21390905943366576047392954297246353973342312124785155440314603762292283792185\",\n \"1\",\n \"1\"\n ],\n \"15666878393380808461714500257329363613102464697332939748843074859087967727356\": [\n \"11378331480054006358613287139951666550205975494237368802448434712841192434534\",\n \"6730683093170694758306245219621947751139238552517993108196752164104016956571\"\n ],\n \"11346315467602412845482908138459552930269696898598846612812465311934033033730\": [\n \"15666878393380808461714500257329363613102464697332939748843074859087967727356\",\n \"0\"\n ],\n \"16112369577410959152321853191389026016825526485590531487114884699786696096398\": [\n \"7219850865901571269443298458181253065169134807148294451274295410542865665949\",\n \"11346315467602412845482908138459552930269696898598846612812465311934033033730\"\n ],\n \"8995146926051826683474864618269820639093040326086447468900985250802376612042\": [\n \"1855108182649812612763174250986311104342210542121668630952041669148337240345\",\n \"1\",\n \"1\"\n ],\n \"3007443402612565456961956437255429481186526972207484832058184398671051071128\": [\n \"16339956244888562476860323631678600072479894292052003445443391505145706164102\",\n \"8995146926051826683474864618269820639093040326086447468900985250802376612042\"\n ],\n \"5737714187209507693622370908990369908349412233868165331226361314787114886249\": [\n \"20231314331582816049126854605301323169373309216555851016439585153448546258109\",\n \"3007443402612565456961956437255429481186526972207484832058184398671051071128\"\n ],\n \"9781483810841817393291604238688349273269343503174557929723274698142605411078\": [\n \"0\",\n \"5737714187209507693622370908990369908349412233868165331226361314787114886249\"\n ],\n \"5090459628236802059101405173014906359440141542471297018852535071735009217214\": [\n \"13770099374205715294632548963188351482493471049372527723606638323793082257622\",\n \"9781483810841817393291604238688349273269343503174557929723274698142605411078\"\n ],\n \"4930210901173328136369340267464944973512810926423501453580011547112453369478\": [\n \"18513916995940535916525275655971685013702285353572903512914855102035859554689\",\n \"5090459628236802059101405173014906359440141542471297018852535071735009217214\"\n ],\n \"7194800290843793837789981686359025459223824738926630309027191234306613585722\": [\n \"20990126866107651728619522925280875237041131180252237943173074076371686183153\",\n \"1\",\n \"1\"\n ],\n \"17641259720665320921273205104961872212806448381859197484241596101730847585988\": [\n \"20172650862256879042505333599048454744537066882645247884621401776026540442954\",\n \"1\",\n \"1\"\n ],\n \"2197012717361992560915904050660100586808113767906253646506214533075289658841\": [\n \"21487983298054431770036954265357240293297248926387227677833250420789729792070\",\n \"17641259720665320921273205104961872212806448381859197484241596101730847585988\"\n ],\n \"17854782877150404554826018581620478361768623790254223853020928369140935499572\": [\n \"2197012717361992560915904050660100586808113767906253646506214533075289658841\",\n \"13426261693852932616732012345537389727482155316242825252917157141152139953148\"\n ],\n \"12642827429947218989570255791766577709734266807209064728097308143896258617125\": [\n \"15466827390061991138142037924942583725874241402890150967481219117944556659383\",\n \"1\",\n \"1\"\n ],\n \"14704131710146287157637407376225070502947203855914186350365303393329982442302\": [\n \"12642827429947218989570255791766577709734266807209064728097308143896258617125\",\n \"19087189650908019189209101289853458552237368496572908139790784442691499925930\"\n ],\n \"5437529569146313231908223562111570184232657887412887740066435065857632874298\": [\n \"17035604671595320874548544329577766541939490365793656732563687382548390033154\",\n \"1\",\n \"1\"\n ],\n \"16983657796818474045692786558568715260856951749180932147842300751613298422208\": [\n \"5437529569146313231908223562111570184232657887412887740066435065857632874298\",\n \"14810417608925989236256863890342437462827637509698675482692706835414897609122\"\n ],\n \"21415325588411407866904449219947338192894175373818396251537687504890318272330\": [\n \"4799059651545749022255342601177522067773738829092840665443777932177556178769\",\n \"1\",\n \"1\"\n ],\n \"17494825341365311433594379198301866734499298867037335213660194708653604611965\": [\n \"21211527517026129489372968635732199031018789684991471391021973822003514325729\",\n \"1\",\n \"1\"\n ],\n \"12837459351364476404555720672008726996495133689453219001210782020476104134531\": [\n \"17494825341365311433594379198301866734499298867037335213660194708653604611965\",\n \"20397609297177840142916340717027547672493587468090910567784668624238895418171\"\n ],\n \"15366154757937169489153200466112573994640303204489387337998553590683407213345\": [\n \"10549804416196061262391918605998271985570976458033639822569278164998442185717\",\n \"12837459351364476404555720672008726996495133689453219001210782020476104134531\"\n ],\n \"16974211098277522775479984050992092455797950072030540376433871291937864170952\": [\n \"0\",\n \"15366154757937169489153200466112573994640303204489387337998553590683407213345\"\n ],\n \"4960183902774116646509269449381583866758430297164073197806622515352691004152\": [\n \"10515307120902072696185946310970533732917610839769710545483510504871991686590\",\n \"16974211098277522775479984050992092455797950072030540376433871291937864170952\"\n ],\n \"15833821774512289967396637518052635806224940722699499334312810218496278317111\": [\n \"4960183902774116646509269449381583866758430297164073197806622515352691004152\",\n \"7465028329705409111254050655801133118504499690728456978097249351025852630097\"\n ],\n \"19584539434058870829046484119419476890080456695399200199727660586695917951024\": [\n \"21228369055904407638430150244401472749327959219095490954287936101574673201275\",\n \"1\",\n \"1\"\n ],\n \"19103124309920814605458567900743463579604606266283640264177048875975662985740\": [\n \"2305089728632500951970924918053169480442748872185386892091486208556300228965\",\n \"19584539434058870829046484119419476890080456695399200199727660586695917951024\"\n ],\n \"14252577182502463575321211850063796658045535820342564931537654198917937394395\": [\n \"0\",\n \"19103124309920814605458567900743463579604606266283640264177048875975662985740\"\n ],\n \"9090131027918059181225878693204589451789968540192404717131638419348713227371\": [\n \"0\",\n \"14252577182502463575321211850063796658045535820342564931537654198917937394395\"\n ],\n \"10845408225235577793622059920629768292500033104960827378176698278352911752628\": [\n \"11529187142810588120373122474621568601500935442790479827984688595247095142806\",\n \"1\",\n \"1\"\n ],\n \"16375070583329967743791951094730861085592005749511296526934101256186530684043\": [\n \"7996198040463491993342730531302078338110495095698408701003518935880006259585\",\n \"10845408225235577793622059920629768292500033104960827378176698278352911752628\"\n ],\n \"3143241930218126396021265058841387928271440697023772571429103860295845240149\": [\n \"6696310945685582976524919424187541346583467656797263922103319400285475151694\",\n \"16375070583329967743791951094730861085592005749511296526934101256186530684043\"\n ],\n \"13101360021453055791798183559445626654070801678466517349575248463837272143118\": [\n \"3143241930218126396021265058841387928271440697023772571429103860295845240149\",\n \"0\"\n ],\n \"401469914152130900012416153369929452695882893335473206396825560036013020245\": [\n \"17693789101262179985419781669578485161092651197915821173022982641057531022988\",\n \"1\",\n \"1\"\n ],\n \"10085060299188203864487716832909592417568958061487615323346935333783884715125\": [\n \"11177032384377201706383578478155605828020849029668229964493890124395925590298\",\n \"401469914152130900012416153369929452695882893335473206396825560036013020245\"\n ],\n \"18298895294365791131460594767612064895617626041089120660510974198652343406684\": [\n \"10085060299188203864487716832909592417568958061487615323346935333783884715125\",\n \"0\"\n ],\n \"13541137953647319684747742852423480328891683186622783853507697421222039872477\": [\n \"18298895294365791131460594767612064895617626041089120660510974198652343406684\",\n \"0\"\n ],\n \"17928844782759235234630377285325452789801170252762499203711951736504172682413\": [\n \"18641724550813048915806554822024025842298721022257621317497727023943191717242\",\n \"13541137953647319684747742852423480328891683186622783853507697421222039872477\"\n ],\n \"17695154760441743949323193752432791016450905496358755525025398624034848175670\": [\n \"5523760788284966457605343798210198576525510025774082560492425765544914997716\",\n \"17928844782759235234630377285325452789801170252762499203711951736504172682413\"\n ],\n \"15995767282335913046138617830566219404462480978515482100951077175312605391996\": [\n \"20150246825917484881742808854900409006977993861987851436359852844540492279094\",\n \"1\",\n \"1\"\n ],\n \"4499728857964542551432980010104391024125855016823341145605835392392828243833\": [\n \"10158218945906621315552247513135647603959638170518107046475838947685414855753\",\n \"1\",\n \"1\"\n ],\n \"8449418848582776156051380668502478870328412150737165471581245111360949533017\": [\n \"13965914143172924256939920337423828307094837043361235311142786364809942029410\",\n \"4499728857964542551432980010104391024125855016823341145605835392392828243833\"\n ],\n \"18333934622280330887188509386813035202022695639856296590430927670875295176127\": [\n \"0\",\n \"8449418848582776156051380668502478870328412150737165471581245111360949533017\"\n ],\n \"6537106250175886178770381787373417196219314630150059043908636860503605953534\": [\n \"0\",\n \"18333934622280330887188509386813035202022695639856296590430927670875295176127\"\n ],\n \"15647001126112804591801975606590936984320190831592840764934551563057929437257\": [\n \"6537106250175886178770381787373417196219314630150059043908636860503605953534\",\n \"16603335089309913962230819651423910130729452532231209517708188349785483302032\"\n ],\n \"8738357436281478433149478758301780343785148620301094790889998485354012703721\": [\n \"15647001126112804591801975606590936984320190831592840764934551563057929437257\",\n \"13670198112949016203390984988777319693277081764159371706068217525386044200772\"\n ],\n \"7544129620965698535263182738972521749937630486871746746789173565294417339426\": [\n \"5650103191058410134658125470618536184631399199530630549676294241971959977142\",\n \"1\",\n \"1\"\n ],\n \"11351091460616599367513036533145429847781249599295754029992891969530210134355\": [\n \"15399968684791202300499686774586520992149562623349394811883452674022970172584\",\n \"7544129620965698535263182738972521749937630486871746746789173565294417339426\"\n ],\n \"15483090624244405210421832345236754730665445577331362042189019691690033582985\": [\n \"11351091460616599367513036533145429847781249599295754029992891969530210134355\",\n \"0\"\n ],\n \"2066387702986643737743768492697376062880214690883432629841730769319013370664\": [\n \"0\",\n \"15483090624244405210421832345236754730665445577331362042189019691690033582985\"\n ],\n \"3719380510318219357246167096286171967135311261598533086398714267450877938854\": [\n \"7221456774528113496084201214155249751995965895823284734483218265971238705285\",\n \"1\",\n \"1\"\n ],\n \"8011307040774040643826212574379905756177892357655422904622394322594963223148\": [\n \"9427350425023402157303569401539318582941269733667559882669813296630341012494\",\n \"3719380510318219357246167096286171967135311261598533086398714267450877938854\"\n ],\n \"11530374080543686758798873167160666358604084762308127181163878702714579911022\": [\n \"8011307040774040643826212574379905756177892357655422904622394322594963223148\",\n \"13693495152622360926354507865978269178284957628753607238077248967255460474035\"\n ],\n \"8451783003044037257226929831692592824074285293852773751314146459447543828938\": [\n \"11530374080543686758798873167160666358604084762308127181163878702714579911022\",\n \"20558432436359748065135346724170268884325956304519047850612669165296878666434\"\n ],\n \"4220532015856969428153145224732192449389687530793467840046187707280443789195\": [\n \"9631962258045768138128213096516235127470325546049265059268621955487071765063\",\n \"1\",\n \"1\"\n ],\n \"10794630590910494418968164532879220311988036161930410149341826983913184401067\": [\n \"8153517416404540948432851917517335629444665747192716022240473892587661377795\",\n \"1\",\n \"1\"\n ],\n \"2045088520388376832717234148152295212034580301218886646192718621501965840692\": [\n \"10794630590910494418968164532879220311988036161930410149341826983913184401067\",\n \"1447418205013044138247611986011019536031793683279392501427040838077438759869\"\n ],\n \"6632278526464886804911666265537988013309543433336599864188860596644416068830\": [\n \"8548441522992674016107108512000018123711280985585933971444533984350848900999\",\n \"1\",\n \"1\"\n ],\n \"1040008403787090573551176938046542615631634931019512333563303686649343777015\": [\n \"3210483161765643211263911087964135580671244656393244342706765746225403051795\",\n \"1\",\n \"1\"\n ],\n \"20229774714169986462618436808781631091666224365979563003713375788647499914377\": [\n \"21001284695960023930824415511483346921693325834514586696461512583345730208511\",\n \"1040008403787090573551176938046542615631634931019512333563303686649343777015\"\n ],\n \"9730276303044913265873031496628660066649804059862679900730804710612112742639\": [\n \"7393317160515473144230854655550958902469116608310901629129880440208886148446\",\n \"1\",\n \"1\"\n ],\n \"11401484273830537593391703743507605663787835295471486613600726617327576564722\": [\n \"8983535777552801560233891990441083673856651696588467492336647022841207018469\",\n \"9730276303044913265873031496628660066649804059862679900730804710612112742639\"\n ],\n \"2345849332759118625325347583996044421129958094160959044897413754963022888754\": [\n \"0\",\n \"11401484273830537593391703743507605663787835295471486613600726617327576564722\"\n ],\n \"14539756554439859658690904696049792029052197235245548478934008019081636919012\": [\n \"18821235704146794033232016157799647477777519045250058769713883909526955454629\",\n \"1\",\n \"1\"\n ],\n \"9383691805544366635210252035749924611859797110817523199144956576378895943851\": [\n \"20983371803921278603979082235737599831597627516289540481819064558791436820222\",\n \"1\",\n \"1\"\n ],\n \"7565443092013462278737155821042148161975476403477789443995027386975818576522\": [\n \"11553911160404600483701376614570436505808116150144302763341604562068881620777\",\n \"1\",\n \"1\"\n ],\n \"18183284028060554204115932065004994396114425605480402945932289533611050597355\": [\n \"21697156034376408070750194685545671372755966992352616085321340963955300941548\",\n \"1\",\n \"1\"\n ],\n \"20545379191517481571314855220524109834358269191159041098409876430025124616637\": [\n \"322851826262630144816322114538116000974088415857064261630049261701718501308\",\n \"18183284028060554204115932065004994396114425605480402945932289533611050597355\"\n ],\n \"15712318127899812619667878724128673858335015012993640433773998810744664235729\": [\n \"0\",\n \"20545379191517481571314855220524109834358269191159041098409876430025124616637\"\n ],\n \"10334361818596385131370316528889220888626193326052527986809796884454414464876\": [\n \"0\",\n \"15712318127899812619667878724128673858335015012993640433773998810744664235729\"\n ],\n \"6564362394327848991025469812382912614810495218123433294602548891535509309611\": [\n \"12110049636855684645486991302891893522293754043267268177736321148383275267194\",\n \"10334361818596385131370316528889220888626193326052527986809796884454414464876\"\n ],\n \"16201542558646540853843352126435951171545014606855560593621780743888328638471\": [\n \"13792957226368040196894349465264609198725460707964020024410466631653094905566\",\n \"1\",\n \"1\"\n ],\n \"15639619388097590454026302969051142247814320997944769153612865840936597179075\": [\n \"16201542558646540853843352126435951171545014606855560593621780743888328638471\",\n \"5962151690255023254321829114285253160556701796969241094112349605358637034847\"\n ],\n \"20816355765625100460017182836582048717617668482190413398290716618736350163779\": [\n \"3182534594956137906489761000867647932932811946830232265667153660357344765753\",\n \"15639619388097590454026302969051142247814320997944769153612865840936597179075\"\n ],\n \"21188261648495659579415384552309432664085617278443368276239951798154734215187\": [\n \"20816355765625100460017182836582048717617668482190413398290716618736350163779\",\n \"19758990132465598106348073388801971390868432880086927569621489245366123529592\"\n ],\n \"1129943908284947025153650553833185985131115775116866910602536159211387214695\": [\n \"4317671953579466181423734753294313470286226046703567839235317606401377763708\",\n \"21188261648495659579415384552309432664085617278443368276239951798154734215187\"\n ],\n \"12190220219958212794406486194544078550234177072325554005460899934043735524995\": [\n \"8953647724024947001322779301246572428270455550877028586513489783597911717999\",\n \"1\",\n \"1\"\n ],\n \"11970458253125716709799558063670501069473869215731180642949759741329672326769\": [\n \"8012245655686581219742012760520298335160337803788567778047428530232311400835\",\n \"1\",\n \"1\"\n ],\n \"7714756353425741865760211929388973103594447704036986662432788568345772752148\": [\n \"3254912562777656781765407105245915778316117509065538600330154577439692437899\",\n \"1\",\n \"1\"\n ],\n \"7688041136600101974218416402690700299828119692688245885308902829385972409353\": [\n \"5187593390757646032683155907469227568575731854957515956955419691041518326388\",\n \"7714756353425741865760211929388973103594447704036986662432788568345772752148\"\n ],\n \"1051134980668922676205369091941991378855584483623792232544865428932371384581\": [\n \"18191008669966403471005756001191547378543969232686542206646189374397426727154\",\n \"7688041136600101974218416402690700299828119692688245885308902829385972409353\"\n ],\n \"17882898811813945852638903757075040340946915268515532052421803563036122234938\": [\n \"20300363647153273870192549059580358403690176132008426215145348421333163512984\",\n \"1\",\n \"1\"\n ],\n \"5954852234852187160958909801462524471640836617141375332001663490338156106577\": [\n \"17882898811813945852638903757075040340946915268515532052421803563036122234938\",\n \"5680127891360672356854186360136452410541765964805689352582384471398909246626\"\n ],\n \"17943755652547804389891826726948452081720819237939520679220980361166574522925\": [\n \"2991243421450925654909882126112485098237961106231098443506853896830572243209\",\n \"1\",\n \"1\"\n ],\n \"12161940304231331449273994321690583765054619323484649027349357061684999246277\": [\n \"844317651603865883399752338082838194860196824539232968031601368615121131056\",\n \"1\",\n \"1\"\n ],\n \"472268390376808436021188445752263293609538925814259241296859094703709270236\": [\n \"12161940304231331449273994321690583765054619323484649027349357061684999246277\",\n \"19411814550509793233038481298574100385194184380711937173487593563543254993968\"\n ],\n \"21075360984839911811449470741834422856493913595729732903150889795616861868838\": [\n \"0\",\n \"472268390376808436021188445752263293609538925814259241296859094703709270236\"\n ],\n \"12347096914788348774839578443459450061657693029050591825422947328400880859671\": [\n \"21075360984839911811449470741834422856493913595729732903150889795616861868838\",\n \"793997677116429393353507096064488593310519604628436991059581798238825666713\"\n ],\n \"13290727628930901241841976057062608271313847394742010508330401597423818819766\": [\n \"1947551720419290568448508834519238654483529367069074473050838528418497527797\",\n \"1\",\n \"1\"\n ],\n \"13311984893265700657996747587996830284325187377724431107517248182768896942630\": [\n \"5383799231414273364371057110307508897055670359278679528983794911210587360101\",\n \"13290727628930901241841976057062608271313847394742010508330401597423818819766\"\n ],\n \"1771512499321128953276483770849914187037301646121751675995967113242769251650\": [\n \"0\",\n \"13311984893265700657996747587996830284325187377724431107517248182768896942630\"\n ],\n \"13048240582439716683634699449337427021244363709240628739693488894783036916985\": [\n \"14059494268556836577173617619174324383593009124259722793137348724136584508039\",\n \"1771512499321128953276483770849914187037301646121751675995967113242769251650\"\n ],\n \"7314993148095228065655604266218891258231399263388504149783910731795326191803\": [\n \"1058815430120251296637445494363148073133296600958016379983994753773250111463\",\n \"13048240582439716683634699449337427021244363709240628739693488894783036916985\"\n ],\n \"15911864360341148894613433127160209953761446928695789685972906827623803852367\": [\n \"4883067218159539910363404781544846858140987665933545995562977124378830202638\",\n \"1\",\n \"1\"\n ],\n \"12960757225688963761168054980551824412264947395554313455139416673903857914939\": [\n \"15911864360341148894613433127160209953761446928695789685972906827623803852367\",\n \"4601868399736367084489447521647417663535118093560578395025728678152905198970\"\n ],\n \"6678336478441914658704373375268458363238064378300026947194620775119151049575\": [\n \"9471054375429975953095236951094647325322467446471317107803179849992998379808\",\n \"1\",\n \"1\"\n ],\n \"5145749329993181335762544033372835059893032376292618366028558926529987070530\": [\n \"6678336478441914658704373375268458363238064378300026947194620775119151049575\",\n \"18455821090969491215406461116228729629805046204189116203020592636173993817186\"\n ],\n \"15164756208341122076519528535947268859570206864267677623398704008427161226376\": [\n \"5145749329993181335762544033372835059893032376292618366028558926529987070530\",\n \"0\"\n ],\n \"19224751006572361772073048777627928033717787490092825135069219707612220013104\": [\n \"0\",\n \"15164756208341122076519528535947268859570206864267677623398704008427161226376\"\n ],\n \"6666181451118553315357357221720358311418062185304687779718561403960322526198\": [\n \"0\",\n \"19224751006572361772073048777627928033717787490092825135069219707612220013104\"\n ],\n \"4089017321880847251670844774144711897542694018046426961527986805229187863202\": [\n \"6666181451118553315357357221720358311418062185304687779718561403960322526198\",\n \"19486196574731045429028432524527350291135311713416552171327745231187159480622\"\n ],\n \"11774786528914472780916719192755922111277669710846062591506187782712429099314\": [\n \"7224344703635775128999333921446973273681381314524552173255842511561321484447\",\n \"1\",\n \"1\"\n ],\n \"8422466386629012438825236439255930266018687994431607397407522198722869117004\": [\n \"17615605421522672855093404424929781038673995201958962863144757524889157244678\",\n \"1\",\n \"1\"\n ],\n \"3521459594676185808379268099705875198003138599642420114495470669136050883295\": [\n \"20367365301731367847698944455245842949597604580866880233959478457676653302986\",\n \"8422466386629012438825236439255930266018687994431607397407522198722869117004\"\n ],\n \"7063177368299541690075266763284697479819452676497774112886126121138203397133\": [\n \"16706363143617909325417882044853416807561686988618300423713698457373818304413\",\n \"1\",\n \"1\"\n ],\n \"21515439120923860973511290151232897764809760550543273545945348445041040748641\": [\n \"11022240320311964384086167524434588332022280053992648959033482200468287998918\",\n \"1\",\n \"1\"\n ],\n \"738097106001582009023820304806679330058334033750185509746808410253519766935\": [\n \"3614940778880402112789828036173427754991128656248860332560285890456326356231\",\n \"1\",\n \"1\"\n ],\n \"12515623197612701951553730961201083636087254002081932253550095511566293585125\": [\n \"21295924379246236562223274663716004909014970140229322397659388211453262160211\",\n \"1\",\n \"1\"\n ],\n \"5807889678189469010435121968490720221993486507600792389012857157346823914671\": [\n \"15605671139291374743195987943342566138835255080996660711552303035450482152014\",\n \"1\",\n \"1\"\n ],\n \"16527689632958023732601337139614237737302614164992460304230897759873244040115\": [\n \"3613230403032154168116270517007824113378847745049153527873564357156029257624\",\n \"1\",\n \"1\"\n ],\n \"21472060738889625736646037998192075401416638819596498863048861691736670595390\": [\n \"1925762036484509709022504996636939645237093622509752640932618357082718298774\",\n \"16527689632958023732601337139614237737302614164992460304230897759873244040115\"\n ],\n \"19209098454796582709632315030249227978363128569371792867152764366628382221113\": [\n \"21472060738889625736646037998192075401416638819596498863048861691736670595390\",\n \"16293072708933048749157765587837062588460390726628706261616259264535968878548\"\n ],\n \"16988998860074919608926023243006455380267954411471759152804529978358652954868\": [\n \"3182132285670169818389326727399565955350095877805861298544144011919935467554\",\n \"19209098454796582709632315030249227978363128569371792867152764366628382221113\"\n ],\n \"4907950241923913037798945827697309741914354994291752395431370841541080949570\": [\n \"7852998783926609373521629980628497848309626746394755376756409249810965049169\",\n \"1\",\n \"1\"\n ],\n \"2563665430416978236838166569900080748786731503686357020314851616138458814794\": [\n \"4907950241923913037798945827697309741914354994291752395431370841541080949570\",\n \"8303992342504703000810225049463554884261689018075074634350992356557705405453\"\n ],\n \"11723455998912070550460643395325637638726408839603298484436381319303680042613\": [\n \"17161503163122026681052562462802645444017572745280441176434494281911799567001\",\n \"2563665430416978236838166569900080748786731503686357020314851616138458814794\"\n ],\n \"20198903364087756044726961955546955108521553634569403977300571647980883367339\": [\n \"11723455998912070550460643395325637638726408839603298484436381319303680042613\",\n \"7855001631684007691359480352663406303496095533303592480427784976190431548780\"\n ],\n \"18841306248026164718604482329912593901346026745977231666786411322726953496836\": [\n \"15326566489107089184138607563659029477297346719609557491501543100651294566189\",\n \"1\",\n \"1\"\n ],\n \"5922707124031710681023730211956355380910180692932877571989451681730987691630\": [\n \"18841306248026164718604482329912593901346026745977231666786411322726953496836\",\n \"9576203902029164960563595717250256919535909748603118117439205158830971723314\"\n ],\n \"12850765022367719682508173015923990607222002652110762081537830683143768447171\": [\n \"8970142628928063202238767027546471109096553064739811598238929408284159892053\",\n \"5922707124031710681023730211956355380910180692932877571989451681730987691630\"\n ],\n \"17044275561901801438905436642672444734754953614825842487805481589165907897743\": [\n \"12850765022367719682508173015923990607222002652110762081537830683143768447171\",\n \"0\"\n ],\n \"1050166025854304247133993046005513120655549862744054740804627258592393995654\": [\n \"17044275561901801438905436642672444734754953614825842487805481589165907897743\",\n \"16943669052425662198394458787558950525330826174970750309702919726684992113601\"\n ],\n \"13666337227770844651069241271494744681533130943681458326146271566987469298895\": [\n \"4499123922511088884056710401293515443242320789244082526384167416998781058740\",\n \"1050166025854304247133993046005513120655549862744054740804627258592393995654\"\n ],\n \"9677774915561750277637184940495299385461415140693085426518445572901897733244\": [\n \"984904471022247271438305161513394343309602465102088622022004889662700153857\",\n \"13666337227770844651069241271494744681533130943681458326146271566987469298895\"\n ],\n \"17244430078151815560908344484659377481043480682301843309927131909063624356228\": [\n \"12900320900563516050356101116519610024900709608408607638089189458281049146726\",\n \"9677774915561750277637184940495299385461415140693085426518445572901897733244\"\n ],\n \"21287490137715948795449947381307433268286248883816398955709961195475726239294\": [\n \"13792948210867973073591820766877593591993637502401558988445336823385689361506\",\n \"1\",\n \"1\"\n ],\n \"19594669998926776551272354642156162657807294434762474074371443709104663109509\": [\n \"20914764567005419355532381391918512842132216429197092051620657564981528728919\",\n \"21287490137715948795449947381307433268286248883816398955709961195475726239294\"\n ],\n \"15804767691577779216473451121147976268466666741480504198744500381097008896864\": [\n \"0\",\n \"19594669998926776551272354642156162657807294434762474074371443709104663109509\"\n ],\n \"6703036507481751067077840458701436661889059235108648386026280341390249126351\": [\n \"15804767691577779216473451121147976268466666741480504198744500381097008896864\",\n \"0\"\n ],\n \"6484584535391046271449927220865009853471477502107802075602334206620618436482\": [\n \"6703036507481751067077840458701436661889059235108648386026280341390249126351\",\n \"0\"\n ],\n \"3854494521996761710711664054891878035290655470381152176491806664589627578647\": [\n \"6484584535391046271449927220865009853471477502107802075602334206620618436482\",\n \"21035563456995477452026639541988355504658560882215712793051498022945012666115\"\n ],\n \"7957495694222884312119691897563800725209715382689494171296909767138128381126\": [\n \"7069592581122864308461933988856212048051012316918738326252113678080286996731\",\n \"1\",\n \"1\"\n ],\n \"1412806977402523606758654874352291541620980774648680402677185145213919706333\": [\n \"20163961241084885297551175425486372059266954833986655731578225164253436579542\",\n \"7957495694222884312119691897563800725209715382689494171296909767138128381126\"\n ],\n \"16384838344450717935374527912538646234258957869847096097228526481183806258544\": [\n \"5589783924928905885336719426431211265682578095232249874009780138723028426124\",\n \"1\",\n \"1\"\n ],\n \"13880294558549343108942300906619849315352603865657542179794316472663813298869\": [\n \"15148741246421314138488833898629205627873098551603976397857780073756864802647\",\n \"16384838344450717935374527912538646234258957869847096097228526481183806258544\"\n ],\n \"6967175098491624872772581794546489557292543969283265863226447238672714031294\": [\n \"0\",\n \"13880294558549343108942300906619849315352603865657542179794316472663813298869\"\n ],\n \"6874112795149652238265198203337788568296406157049183107223880517520876516894\": [\n \"6967175098491624872772581794546489557292543969283265863226447238672714031294\",\n \"0\"\n ],\n \"9219295399087748308905419241806210173552634832787644517141659298698709956371\": [\n \"0\",\n \"6874112795149652238265198203337788568296406157049183107223880517520876516894\"\n ],\n \"17274626820565811246219535297055418048959760810597839091591820463941937741466\": [\n \"13707536744060292691858171772614460127151298465644009567783699568925779544145\",\n \"9219295399087748308905419241806210173552634832787644517141659298698709956371\"\n ],\n \"21855774002440666356111428187554546051658868936055860100675503965574361742578\": [\n \"21039398908683353083331874385653297070938382873916169061242591934435354166645\",\n \"1\",\n \"1\"\n ],\n \"7073192089275258804151253613040029649749781063437616048478250531771765279161\": [\n \"11595313053593318365911171168079431956358341362435848479520454723707380906331\",\n \"1\",\n \"1\"\n ],\n \"5633646765328593754477114350099552465788859850743611787378850826675369356845\": [\n \"2697713636883360344606362639298528407919453844816119243137234245564577097481\",\n \"7073192089275258804151253613040029649749781063437616048478250531771765279161\"\n ],\n \"18504250898484904223148576302549653711744352985995201321917845728631856062452\": [\n \"0\",\n \"5633646765328593754477114350099552465788859850743611787378850826675369356845\"\n ],\n \"14111933449778102442465554215201588016916040795987580428660644653101610549434\": [\n \"20029590464892692108690165057487903323238747332181472295430584067972860661840\",\n \"18504250898484904223148576302549653711744352985995201321917845728631856062452\"\n ],\n \"20505964645497604518425156983338300957368129926373197622568464202119253145009\": [\n \"9018856063344199928927479929396485749560418604913145414782199677945946979426\",\n \"1\",\n \"1\"\n ],\n \"1815644100537522319008209940943854531086393910922093297774805248679318736822\": [\n \"12583412177384283869849743271536931232663994626341079756780446163688890078548\",\n \"20505964645497604518425156983338300957368129926373197622568464202119253145009\"\n ],\n \"16379555683566078030912661522999310093312813423814034938151044174020445838015\": [\n \"1815644100537522319008209940943854531086393910922093297774805248679318736822\",\n \"0\"\n ],\n \"9752131385437526157636399296707401119356711906588229745560558570582686143041\": [\n \"16379555683566078030912661522999310093312813423814034938151044174020445838015\",\n \"0\"\n ],\n \"5201830974184647697255477945699114958249530467892575976771641039937116570715\": [\n \"9752131385437526157636399296707401119356711906588229745560558570582686143041\",\n \"0\"\n ],\n \"11258076799306665002930881881926638730775738931725302604735274351759150105692\": [\n \"0\",\n \"5201830974184647697255477945699114958249530467892575976771641039937116570715\"\n ],\n \"21765662333399291508643848770068788791354945172647746961833406462358585205817\": [\n \"3854494521996761710711664054891878035290655470381152176491806664589627578647\",\n \"11258076799306665002930881881926638730775738931725302604735274351759150105692\"\n ],\n \"7330855978749668262830403372220897393992916282903188221049637955582836282313\": [\n \"3241799571808721999903699861232283035236026387000325463911772529038504620729\",\n \"21765662333399291508643848770068788791354945172647746961833406462358585205817\"\n ],\n \"8347084965543435586966042751485787149565286695780561808026870793212148012159\": [\n \"6086414605521637168501193151799236744998593517727692588394191201496370251559\",\n \"7330855978749668262830403372220897393992916282903188221049637955582836282313\"\n ],\n \"1141913166859039167164047769316296391769510172447604651242172342707408937779\": [\n \"8347084965543435586966042751485787149565286695780561808026870793212148012159\",\n \"15547609997076995574824516464385264966342328635542876891045029605981956360220\"\n ],\n \"8806600325149981642276106036456389360938567185644204828069011735730043753655\": [\n \"21468003204352879382365214029578132328712039700790126390032013210383544134928\",\n \"1\",\n \"1\"\n ],\n \"5075550250752759333519948441523174473609189546979747080430838737569122500597\": [\n \"6012932758600587542847207348846813980102234773649237835562344729916478460961\",\n \"8806600325149981642276106036456389360938567185644204828069011735730043753655\"\n ],\n \"14836517913632167944683074117388574080275700392361968658274198789831707265072\": [\n \"5075550250752759333519948441523174473609189546979747080430838737569122500597\",\n \"0\"\n ],\n \"17574774598372901028609676175835312367828579279757673583624059172494466639758\": [\n \"1129792141465622670561825453818373061118390258306190974553733668218754328650\",\n \"14836517913632167944683074117388574080275700392361968658274198789831707265072\"\n ],\n \"18715346055183937697841129715172854491162294059138236215747980395450726605649\": [\n \"16498301400643720538689657108061497702570345040307282764431413270623336346876\",\n \"1\",\n \"1\"\n ],\n \"17726750004395887362330324365272663575795563452488330652591178627784188392820\": [\n \"18715346055183937697841129715172854491162294059138236215747980395450726605649\",\n \"13845861905703446853431113834878619382374409606849560926565346051448252092852\"\n ],\n \"21043204411759781142927233084018727178301790952853072134140115484518861288624\": [\n \"17726750004395887362330324365272663575795563452488330652591178627784188392820\",\n \"14681044464335298756233541107459032919768864158299094897798815052392323111136\"\n ],\n \"5610821512220981175012868179605411854857998537452596484912978406175057640646\": [\n \"0\",\n \"21043204411759781142927233084018727178301790952853072134140115484518861288624\"\n ],\n \"231054648975392318621852426400229574485750232649009064263625757784677388605\": [\n \"3347914181868286175742733736447579191040376319132338726720244603782256308298\",\n \"5610821512220981175012868179605411854857998537452596484912978406175057640646\"\n ],\n \"2623594588291700221436829367422114616348455418331088484083828581839263142590\": [\n \"231054648975392318621852426400229574485750232649009064263625757784677388605\",\n \"14098327830294892046731114702385782210674349571919141947015846246965302455858\"\n ],\n \"2034148636253316922447748582724984249642783788663208737526783791892853216179\": [\n \"1154260914157451524645928652143508382897146156130381998217519478564168053175\",\n \"1\",\n \"1\"\n ],\n \"1527038858818146422659779892605832987912140207033058596727586127308491965733\": [\n \"16040564268968667978599255379999262465774707554870691293061779170617067763859\",\n \"2034148636253316922447748582724984249642783788663208737526783791892853216179\"\n ],\n \"7305073783116546283141221778596374844725775485359749843179120913414398526091\": [\n \"1527038858818146422659779892605832987912140207033058596727586127308491965733\",\n \"2286279325542551263850087978893321463969427414241674095943454493211101171920\"\n ],\n \"11312216957399251004573866731386150996957264637404201756906704536396657165202\": [\n \"4202705001052283989386272416846047907994548581674631976847747603801011625305\",\n \"1\",\n \"1\"\n ],\n \"13155349367924474092579508324067841855052286548279268210838304938510318290071\": [\n \"11312216957399251004573866731386150996957264637404201756906704536396657165202\",\n \"14113500572613257516604464825627716165274210325346611507873351275759046169532\"\n ],\n \"2138190781064057366575148972999372338358041101464801961628872841890352441897\": [\n \"13155349367924474092579508324067841855052286548279268210838304938510318290071\",\n \"0\"\n ],\n \"10464091441126494705671287867678874744047341279358780431473011890220409230604\": [\n \"0\",\n \"2138190781064057366575148972999372338358041101464801961628872841890352441897\"\n ],\n \"8079330042366659123778579229461660042910082630538148097287628148713863742508\": [\n \"16535773667897077195932928607505314979922976040560405987994220731271020900477\",\n \"10464091441126494705671287867678874744047341279358780431473011890220409230604\"\n ],\n \"11662829699445305503604990160217376495636564830689696240828999133232060341638\": [\n \"19395117254348172564969792808826443099070128514925265114199453503755637824979\",\n \"1\",\n \"1\"\n ],\n \"473388430224745868482053710490144205309454091198654280178723576684510376120\": [\n \"8738265040137250609292209951760024293537906711484620463451057482513373810971\",\n \"11662829699445305503604990160217376495636564830689696240828999133232060341638\"\n ],\n \"21036614003953503494975285281401348284118876734412835632308394114552514812746\": [\n \"1419140030059400993659083708346481800949572389180591004737786534611268407956\",\n \"473388430224745868482053710490144205309454091198654280178723576684510376120\"\n ],\n \"6594656748962595622965129226429013128177743585297212330237890055262870795455\": [\n \"3695951432500183409737897415356145092172072612731820974091786938965358981300\",\n \"21036614003953503494975285281401348284118876734412835632308394114552514812746\"\n ],\n \"5764514685376457119559127451301254645473142515547258879675736802782233788993\": [\n \"14050880678806514828671191324098402753441560634398035139018330844270951765575\",\n \"1\",\n \"1\"\n ],\n \"7967553143146894890252093240344153579856754551521412957535006422859782838153\": [\n \"4592287006999915144064081516182826761390692506386005669926251399118515407420\",\n \"1\",\n \"1\"\n ],\n \"11751589569566864377335291734406601583412023515187310828208257056733024925535\": [\n \"4496779764243306794616859264013763442537435584134041712843731516818961855515\",\n \"1\",\n \"1\"\n ],\n \"16834980305502179944298431380076946729701152705454723717938881397002987504580\": [\n \"11751589569566864377335291734406601583412023515187310828208257056733024925535\",\n \"5301711112794113016983469699192558592408605966704011003717715024677646406421\"\n ],\n \"5484463177905629882189401399984646992606762924739842700578926994225882770626\": [\n \"11242335452862311579534634760039735536705833237414070770323457672360802147970\",\n \"16834980305502179944298431380076946729701152705454723717938881397002987504580\"\n ],\n \"16620115709619873632140384844671608341699113594319500080257079575173897680023\": [\n \"17405202232316312742766423433623940234919381323953982547269259514445250926463\",\n \"1\",\n \"1\"\n ],\n \"4335802548090610209769712563318089557354958141480449048938528860043759974686\": [\n \"20001470093661382421509908096580022700230423998024969429451022992228090762679\",\n \"1\",\n \"1\"\n ],\n \"6516796862218883332651727861010749292509655952409209535032424585241979135503\": [\n \"11631506720128799283337646767836053128766611996673180669064289156198761467482\",\n \"4335802548090610209769712563318089557354958141480449048938528860043759974686\"\n ],\n \"14749809269975563613342057467484798351081984041272008235888439486053476520171\": [\n \"6516796862218883332651727861010749292509655952409209535032424585241979135503\",\n \"17319692284823826932198392005776177231486760883817543694267338109475348869152\"\n ],\n \"8736992386067241825326783143393228819053131220888130566915298444192286578204\": [\n \"0\",\n \"14749809269975563613342057467484798351081984041272008235888439486053476520171\"\n ],\n \"12669283098980906237348105165307980620357070333148108962453824197508488066066\": [\n \"8736992386067241825326783143393228819053131220888130566915298444192286578204\",\n \"19658522497800677835390390147979525130587151340005307855230093595678762304321\"\n ],\n \"20461166215137501063195661437419621618711546537784970032221457406229950273684\": [\n \"7305073783116546283141221778596374844725775485359749843179120913414398526091\",\n \"12669283098980906237348105165307980620357070333148108962453824197508488066066\"\n ],\n \"2419116848333271061965944520968679481279658525063352933314226545883388280230\": [\n \"20461166215137501063195661437419621618711546537784970032221457406229950273684\",\n \"14373497991482990526039356550044159267459743919295865572198784753532339245106\"\n ],\n \"2750506678405418782961066377144400060016974086802488841260152734794773461192\": [\n \"9206429052281641671209094485058699071795840920644436944137112603671425467030\",\n \"1\",\n \"1\"\n ],\n \"4742202043279334485441387668578543947895770482180263960758888172084027192847\": [\n \"10389488841682828784675232336017974305282763770218409458437017335857332089121\",\n \"2750506678405418782961066377144400060016974086802488841260152734794773461192\"\n ],\n \"7516430462973461107215823002711054043696178035647041626091819705418998805368\": [\n \"4742202043279334485441387668578543947895770482180263960758888172084027192847\",\n \"0\"\n ],\n \"17253785882647340694753944817342822217760487694802638738890484890038146521683\": [\n \"3857193255533779558981663799223239841511700881044449386391063328397683326569\",\n \"1\",\n \"1\"\n ],\n \"6039090128837937982225162683461850674617024344975975071019666161987803936144\": [\n \"7141221429165986518011297211205673288172163070926339763115040849919112608053\",\n \"17253785882647340694753944817342822217760487694802638738890484890038146521683\"\n ],\n \"20551098517887715172453327343295336559816692148084773927066358562797822037474\": [\n \"0\",\n \"6039090128837937982225162683461850674617024344975975071019666161987803936144\"\n ],\n \"21439065296706000898036795866436922882058644165926460390876247940687671530978\": [\n \"0\",\n \"20551098517887715172453327343295336559816692148084773927066358562797822037474\"\n ],\n \"16286673271432798775233424537346498612592319944252688226427454356969337101020\": [\n \"0\",\n \"21439065296706000898036795866436922882058644165926460390876247940687671530978\"\n ],\n \"13467370532199341440811519903313374460537007428618706672924893990568856237782\": [\n \"242933182922418558560463298018525364972980638197477481976131434706843137346\",\n \"1\",\n \"1\"\n ],\n \"2647786448536981817752194213729256602613455309003366207295822462483173386276\": [\n \"12630302823249041372544913524211783645351132991280327433330896942715334429978\",\n \"1\",\n \"1\"\n ],\n \"4819756478805790007621052598545803868885095208120350532954534762502790436359\": [\n \"2647786448536981817752194213729256602613455309003366207295822462483173386276\",\n \"11112149418413608212623173016172640082129829315567695870622029112775778820874\"\n ],\n \"7890235222921426917425949093405269536563824167405893805862119249743973878185\": [\n \"4819756478805790007621052598545803868885095208120350532954534762502790436359\",\n \"0\"\n ],\n \"2309675103749229105982050684513305049040487737817225808402365264144864711028\": [\n \"7890235222921426917425949093405269536563824167405893805862119249743973878185\",\n \"0\"\n ],\n \"7619392407595052808432332479787837122369005966085303322071829796036166114690\": [\n \"3061719357353952112872118733411996526848899606473821258805957224317896575153\",\n \"2309675103749229105982050684513305049040487737817225808402365264144864711028\"\n ],\n \"19564612220295747000762223205146137347019895928280089949992381272870393276213\": [\n \"13444438421297371570389407132501212766390992242841228093127271408449111587490\",\n \"7619392407595052808432332479787837122369005966085303322071829796036166114690\"\n ],\n \"18953761922733397759134786812723748354193775809005688079994050863630784473306\": [\n \"19564612220295747000762223205146137347019895928280089949992381272870393276213\",\n \"4271271769264358335456188637884457683827085756216018874670414708316892759841\"\n ],\n \"12401407546812896912137745068398657956322698117136940732441902291550758731844\": [\n \"17218835292598071797767322764438610400779466932422365358411003530298780599402\",\n \"1\",\n \"1\"\n ],\n \"4285632418048481657231919949919763670682676698135139715623327845761674167472\": [\n \"15427694152488166980576862139562605850872989570084211686045109470201123753995\",\n \"12401407546812896912137745068398657956322698117136940732441902291550758731844\"\n ],\n \"18236527983720359914445399835717510166687256146688018926609004553951583960354\": [\n \"17912886830156324287694850179347162825680013677386392116686185081145171637092\",\n \"4285632418048481657231919949919763670682676698135139715623327845761674167472\"\n ],\n \"13736974549448512778997464648662905426184060511258696470482260334018893141626\": [\n \"18236527983720359914445399835717510166687256146688018926609004553951583960354\",\n \"0\"\n ],\n \"20282016919908420806146083259175435649521012082272960428589369414251162512728\": [\n \"13736974549448512778997464648662905426184060511258696470482260334018893141626\",\n \"17723187878103389767806188635748954384688814379989275961045300906706041854093\"\n ],\n \"9358329554485026281234171088005060251509278623806913465577793350790294842160\": [\n \"15108813742048946238253266766943813603796192051076670393434374085822680203305\",\n \"1\",\n \"1\"\n ],\n \"17490208849352801812264467184682227453604607601084529430367049522347225459105\": [\n \"9358329554485026281234171088005060251509278623806913465577793350790294842160\",\n \"14870000000441915481410346721555200089573073591651640083146660646339868102047\"\n ],\n \"8161112667347039579948654108244015625258300191450235386814200573643575621774\": [\n \"0\",\n \"17490208849352801812264467184682227453604607601084529430367049522347225459105\"\n ],\n \"8822156784178407929839855724504308016471237961797604197711535812177026458433\": [\n \"8161112667347039579948654108244015625258300191450235386814200573643575621774\",\n \"5770736144999831552349249505350989891353686571181216882194788957754852501549\"\n ],\n \"2859979022191464448556048402862821276408315646811605953552291235289918267932\": [\n \"8822156784178407929839855724504308016471237961797604197711535812177026458433\",\n \"10349794366606840063980247084215489460020400951218468509839159901987578062617\"\n ],\n \"3645676803730917633989721026463693437545891839205752634869864890495703158204\": [\n \"2859979022191464448556048402862821276408315646811605953552291235289918267932\",\n \"0\"\n ],\n \"6120955411235377539890295724747660013922192307794648080777544676412646992697\": [\n \"3645676803730917633989721026463693437545891839205752634869864890495703158204\",\n \"14788111060728885614444223061884899832426153915871401940908809763220688635600\"\n ],\n \"20836676412672134137360070051787580135492822373127999630233148158448830764910\": [\n \"6120955411235377539890295724747660013922192307794648080777544676412646992697\",\n \"17532176400265730801042334171674674806484925814460128388230076242190053978809\"\n ],\n \"19109818544606722574690108519357920715891466931233770535164781191082116121000\": [\n \"18155468633899854057171834231271216703959593637165983080770297933558541153928\",\n \"1\",\n \"1\"\n ],\n \"19452037881025850066426124600501589955831799715667227203992732403496908132550\": [\n \"17116543641916693458876994243858339286125848163317680339795631801205955312754\",\n \"19109818544606722574690108519357920715891466931233770535164781191082116121000\"\n ],\n \"4767254889564028564377766572904605110847283243671092057468596774063157558628\": [\n \"19452037881025850066426124600501589955831799715667227203992732403496908132550\",\n \"0\"\n ],\n \"18352554027011591405536606835651900512651170229979062581691178950660049798107\": [\n \"14721744802349468809042859423108999254352562675570838586261756638730026244180\",\n \"1\",\n \"1\"\n ],\n \"376050506909025597109047669615836972904393663888049529972780245164224303257\": [\n \"5581549099842428347073816523077431115545755245467065031895838735985986558748\",\n \"1\",\n \"1\"\n ],\n \"9984324346641996843906111718434400091961787086640337850421572465533111277819\": [\n \"376050506909025597109047669615836972904393663888049529972780245164224303257\",\n \"9468117219150381271178906121452328767479214859172402056221840381869616367402\"\n ],\n \"5970702211111924031363912211346046079390187983074019105558922978011114246857\": [\n \"9231950719525254306229240794484713027205288490453489751160508439130231613697\",\n \"9984324346641996843906111718434400091961787086640337850421572465533111277819\"\n ],\n \"65706723889329506765581788612397909419556102633037658120419520078937452564\": [\n \"2673313895291665981273374305963364640363898321415763499112894421197341883219\",\n \"5970702211111924031363912211346046079390187983074019105558922978011114246857\"\n ],\n \"8562042686296586451992786864292488354680234404414818226802384780626300320984\": [\n \"7710597130669265368506292290249996446145649842489885833157709049007151395057\",\n \"1\",\n \"1\"\n ],\n \"20387084357566612514074686931407486920458043660785731441168469475891099197952\": [\n \"7194800290843793837789981686359025459223824738926630309027191234306613585722\",\n \"8562042686296586451992786864292488354680234404414818226802384780626300320984\"\n ],\n \"1905050241651613932340823235110400079826450830689374795909201345308541005974\": [\n \"14774660808421124424935339424928000188405167519316099074466999312194638437287\",\n \"20387084357566612514074686931407486920458043660785731441168469475891099197952\"\n ],\n \"4993155334337488831672164409807074112366902404981302371913870409884877392971\": [\n \"1905050241651613932340823235110400079826450830689374795909201345308541005974\",\n \"1372340838193217176670596182888313729522197317713522804442448521686337553298\"\n ],\n \"19605828354200203151050314302888135292624698664416318100938579280378010706950\": [\n \"21222632947993844331254047908969559162218372603510173084985497897018444665794\",\n \"1\",\n \"1\"\n ],\n \"17549843552523627706270621869258709801951484322540574469291081528125813830185\": [\n \"7679259930691413060099783977723457724425953296603774980889940827738244285929\",\n \"19605828354200203151050314302888135292624698664416318100938579280378010706950\"\n ],\n \"12394774113206299323105646440205539645435833368337711432713692588250862484109\": [\n \"17549843552523627706270621869258709801951484322540574469291081528125813830185\",\n \"4637370238667131055586505210173085891177956567236110049450194401436479031834\"\n ],\n \"9629286883807356973533308526690307661399066511941244652402964499338416326387\": [\n \"11283062026592171824474071051784337595183292301121289049510956065719057490190\",\n \"1\",\n \"1\"\n ],\n \"9069689282720239740957463624948683885688893052890130876329837623305242182267\": [\n \"9629286883807356973533308526690307661399066511941244652402964499338416326387\",\n \"2591846536146165396790620127652078347312185557545219662567611821249791647731\"\n ],\n \"7869226015402257762335436406375138083439634972372410301506149158679838287062\": [\n \"16093760095099319695545438433291141536820830669943854205218156858113519819545\",\n \"1\",\n \"1\"\n ],\n \"21502367566041307634343964604090198956125292546594004422575981865225367724179\": [\n \"7869226015402257762335436406375138083439634972372410301506149158679838287062\",\n \"7501892977456572128972508548585950976330049599317931852487413348043527417045\"\n ],\n \"20538790259437018809039579011125377814849465849398463478917350750713773131743\": [\n \"21502367566041307634343964604090198956125292546594004422575981865225367724179\",\n \"3061023862608201393142624181012295502691710467199652732489568614390701878259\"\n ],\n \"2833128630380121716736792702707796816339319102841857345345465864422627296737\": [\n \"2479847518350907861410198305257657638812559821866197212682835295069330697888\",\n \"20538790259437018809039579011125377814849465849398463478917350750713773131743\"\n ],\n \"13617224275935699339478860572353516805810297906076433051471879786436542837710\": [\n \"17190921377783043972152054048223244158920874911252968843537602002931040996231\",\n \"1\",\n \"1\"\n ],\n \"3007895028829327775071254646579151897391490513970400389545331441037565735629\": [\n \"3544544827827965697217822251388660937296467387110439055088262016412056117939\",\n \"1\",\n \"1\"\n ],\n \"15120646031748071046478980325700962087392653893799391127842224507071054946196\": [\n \"3007895028829327775071254646579151897391490513970400389545331441037565735629\",\n \"6149181098800255507464748665420397282463063170424751247750977356227199657149\"\n ],\n \"6380521290339725055474297309675911049750011954559179622855759089121321192677\": [\n \"15120646031748071046478980325700962087392653893799391127842224507071054946196\",\n \"669489743814994469201039984269464282672622380464250352222044756642439549805\"\n ],\n \"19317450445123070893213477799645381993048972921247869424049549465053815571735\": [\n \"17149334667373569161838045959657900941803133605443183375096882683623604117643\",\n \"1\",\n \"1\"\n ],\n \"8556454706817504476905263006027471868571835829417121099210294925317134301794\": [\n \"21572634376967083222387397947340665566897594858185546448105568128591815885060\",\n \"1\",\n \"1\"\n ],\n \"15812808961309857508339975290190404626576391956969049974300040774119367274739\": [\n \"16099543426039034154590334491261799097389422966373637172150774861494782205789\",\n \"1\",\n \"1\"\n ],\n \"10553646031027478366030463834236893670169062864315549262135078695974928634476\": [\n \"2493712021216728102004791594420213593552079910412770778275109796636118339712\",\n \"15812808961309857508339975290190404626576391956969049974300040774119367274739\"\n ],\n \"19199600434432686082984561263084108221445297923996432853752370955969199937724\": [\n \"0\",\n \"10553646031027478366030463834236893670169062864315549262135078695974928634476\"\n ],\n \"2213228088602446001457932111072230493483536100906954848585816463915131923180\": [\n \"4689065405848575038904659882425760258614791367899666261536313987740521723200\",\n \"1\",\n \"1\"\n ],\n \"11099873416738706225771926675019250382755143223109370343765407739968358037031\": [\n \"5248392879471030278189494760474135203358190072832264201302662385821176100406\",\n \"2213228088602446001457932111072230493483536100906954848585816463915131923180\"\n ],\n \"21030800975983941688981291374205828063132748908967220700847414077231222876192\": [\n \"6654192395225100674424230076493854380632851146448356766017215785727364840978\",\n \"11099873416738706225771926675019250382755143223109370343765407739968358037031\"\n ],\n \"18208936324387831362302488234294356880801088479080765209611499241634107894173\": [\n \"10682167116854555899072436506346222912504919223638013219432821434527224742438\",\n \"1\",\n \"1\"\n ],\n \"14091122331294731888192485158980816098726589102015007795779511875698840916560\": [\n \"3440297317783179626206547273344079286655655581659233653979415303657398295735\",\n \"18208936324387831362302488234294356880801088479080765209611499241634107894173\"\n ],\n \"871976105077572386888035537073837547270419282346690848329161645612398340462\": [\n \"14091122331294731888192485158980816098726589102015007795779511875698840916560\",\n \"9882029517809141254553762153032054593313494583284856600263124451553431188640\"\n ],\n \"1475323605452527217170647639146997182458476690123391164505321602218798121028\": [\n \"714592197651017980489826365048451393523612780697622626158297372696293454849\",\n \"1\",\n \"1\"\n ],\n \"3246736900029870210318360399303223627793901788853530255133903715755496809820\": [\n \"1475323605452527217170647639146997182458476690123391164505321602218798121028\",\n \"16124134549350686199142751151346231699182111066181382575374536844783092839186\"\n ],\n \"16838826647527996813456256101884549973159123337869360459813742115191301103519\": [\n \"7611355402239856285340686747212594860895188568899656413019020161569688481949\",\n \"3246736900029870210318360399303223627793901788853530255133903715755496809820\"\n ],\n \"17174709901138905754560930375078184813682522254433360123102183071883493942303\": [\n \"8627174517935736490640927712068253708009146389830018235717642807631808624819\",\n \"16838826647527996813456256101884549973159123337869360459813742115191301103519\"\n ],\n \"14773518168916028448092432803416561103872245146039226915064697940984103425135\": [\n \"17174709901138905754560930375078184813682522254433360123102183071883493942303\",\n \"110633076982739255635071147453461879269813845543524590972808309571482115425\"\n ],\n \"14754684858783679883134214541972679153684863720548562349751881768826718546891\": [\n \"2666870075000707319189576176294461851404681250937861098264627026474087208254\",\n \"1\",\n \"1\"\n ],\n \"5439222100454070237817904082240288358773017125525155955530821850099395142085\": [\n \"8117146256216589433454678372312940947230508469812720601676767865693949364552\",\n \"14754684858783679883134214541972679153684863720548562349751881768826718546891\"\n ],\n \"15063313020205744027395888523036090355396908811004467786996583904512249836239\": [\n \"5439222100454070237817904082240288358773017125525155955530821850099395142085\",\n \"0\"\n ],\n \"10509610814060434534887985415831165648549640732940040302082412123012804765923\": [\n \"0\",\n \"15063313020205744027395888523036090355396908811004467786996583904512249836239\"\n ],\n \"8829342931997121664207890498600313624183850146784397041574786626626840607369\": [\n \"1519423271441972636887022927394755478008394121442400581993388809252900312042\",\n \"1\",\n \"1\"\n ],\n \"20991602022673440423450733616968454663299565943862004672696883277006180407729\": [\n \"8829342931997121664207890498600313624183850146784397041574786626626840607369\",\n \"1605390757980435217208149515536003840582148809810551865903229171711052685706\"\n ],\n \"12021327676293971004935293847777746295569837805335143306332854400129951208425\": [\n \"20991602022673440423450733616968454663299565943862004672696883277006180407729\",\n \"0\"\n ],\n \"20922204245672741187517885742039274951791509641004204861614678574828492876925\": [\n \"10014130361056876314554704962512233992675950888012731000931123858118098220265\",\n \"12021327676293971004935293847777746295569837805335143306332854400129951208425\"\n ],\n \"2600864991812468962255325186038281644166251475047013621034832542030077361967\": [\n \"17700233997812330803960150502333557389806334070055358357823063948908239567997\",\n \"1\",\n \"1\"\n ],\n \"18060956370992346714628346157539172583219609699222740700211901835240461324649\": [\n \"9149183833690621007089289630862310149456762389024990863899251339460719574726\",\n \"1\",\n \"1\"\n ],\n \"12696896442247844723352676443998405335913352116617956920646048902262497476835\": [\n \"20811273101978635347759017847354318246678704283075336355375558555491394775776\",\n \"18060956370992346714628346157539172583219609699222740700211901835240461324649\"\n ],\n \"55017907482241193575650899600734021826269611158396779946784416963083148480\": [\n \"8575017891891869101595947360541366693563006800871406335600184914483313411864\",\n \"12696896442247844723352676443998405335913352116617956920646048902262497476835\"\n ],\n \"8714410442606102977320341602521471454373803999461039579930285487319822925365\": [\n \"4247395886411166191866328208696673532280744084932588952064211277139858858476\",\n \"55017907482241193575650899600734021826269611158396779946784416963083148480\"\n ],\n \"16989573493223040291217871778097238771299641776135212943946433357712101741557\": [\n \"13319474243668648299559554400081232178328515318429773119922793495218481470079\",\n \"1\",\n \"1\"\n ],\n \"14726746647103317738825697907299293339879300656311826063925331109480474227819\": [\n \"16989573493223040291217871778097238771299641776135212943946433357712101741557\",\n \"15967130831133785927055904238936359996963719188187845923661699666769864365942\"\n ],\n \"4473610925621863408012552605789531939181697248790334813861957235083431330036\": [\n \"0\",\n \"14726746647103317738825697907299293339879300656311826063925331109480474227819\"\n ],\n \"1167308496149303858421943401543807662628927963648123619736895583601036160391\": [\n \"10784770618704567043094885843967335994749965602215464324914840692362753231465\",\n \"4473610925621863408012552605789531939181697248790334813861957235083431330036\"\n ],\n \"9918006872553039477539231228754680779109303001037145947501206832039757999541\": [\n \"5364915499290094814250061715192038963553377069374589106017847827961648531282\",\n \"1\",\n \"1\"\n ],\n \"4972736581613485205270046686401071496316035822667340566351072359185034498305\": [\n \"9918006872553039477539231228754680779109303001037145947501206832039757999541\",\n \"16306017298086819284274323793207561630395318937043982210668707710367480119847\"\n ],\n \"15976948327164838411414790216857969995878770754274807273728572193824774896583\": [\n \"4972736581613485205270046686401071496316035822667340566351072359185034498305\",\n \"0\"\n ],\n \"21547498701859487352954464741682812993909744141173948833929095990728809471320\": [\n \"16455441992943806068502613192346162530168446256951553794613889706946402156650\",\n \"1\",\n \"1\"\n ],\n \"6616121513190230115774550083726292537083466484747925918643297766192246658179\": [\n \"21547498701859487352954464741682812993909744141173948833929095990728809471320\",\n \"20194536537989641975391885632952746654178978606228467264842098410808212656709\"\n ],\n \"7782781502383342141150937292969441799317441432568322372990975113399685836584\": [\n \"6616121513190230115774550083726292537083466484747925918643297766192246658179\",\n \"19710778967087674375654642671902966727196481006737404187668367181583284553408\"\n ],\n \"21421811554658008641163989262709728522491804894372315175180833818477450472330\": [\n \"2399059000552680413058774763721682267514297377543629435346069322736111839576\",\n \"1\",\n \"1\"\n ],\n \"18040647377914408336409115146004783183329529147110854051774290550283864120212\": [\n \"10663078131314894314299725544622467978120298923370195577833133616313393885159\",\n \"21421811554658008641163989262709728522491804894372315175180833818477450472330\"\n ],\n \"2260602699922408604288833547566339082236282073416584928709103724118630667264\": [\n \"8045692484019247439980503328498110896034102431019169020691647864836920185249\",\n \"1\",\n \"1\"\n ],\n \"12482073047656714675538807565059282228034359303785618487380145971465032454023\": [\n \"9526634356744719669190028064600389477138146056188024217949468511934619199425\",\n \"2260602699922408604288833547566339082236282073416584928709103724118630667264\"\n ],\n \"8345225476210008016109559096020476908866463955117530105216848958956009389652\": [\n \"12482073047656714675538807565059282228034359303785618487380145971465032454023\",\n \"6266853689396486305468301994730038696194040690232205246509653351588313886023\"\n ],\n \"5135665707402866527019824850751434132458974710023862037606482927823812909232\": [\n \"8345225476210008016109559096020476908866463955117530105216848958956009389652\",\n \"10423770599328930705712337267850453526246025654213221862636690152083445761935\"\n ],\n \"3708788089070649622571228815488578580889381674580965128246011602896524835493\": [\n \"3879882877303117183236100198058125351592248577236154467092882161436597857491\",\n \"1\",\n \"1\"\n ],\n \"17261739796053164422559897833437000932532335512513564881833993257825967533362\": [\n \"16750353605098506469064840241175212046689053076352615340768443469536682918924\",\n \"1\",\n \"1\"\n ],\n \"8917608342686734174375240182693187828168808168778109820911285977761097359376\": [\n \"7866174148087548275862544633504537602859074618990769446127798233622344132114\",\n \"1\",\n \"1\"\n ],\n \"11594166342037822981311119572625246023835289963376612332408416006522462271926\": [\n \"8972542878336484303523359926677454284319303010356472507374911561882087911097\",\n \"8917608342686734174375240182693187828168808168778109820911285977761097359376\"\n ],\n \"17772804292246842325196747367986143284810567838379686603268689988389615195661\": [\n \"11594166342037822981311119572625246023835289963376612332408416006522462271926\",\n \"0\"\n ],\n \"133709986621938421719517210882917040009172337680434395550712616486618509312\": [\n \"0\",\n \"17772804292246842325196747367986143284810567838379686603268689988389615195661\"\n ],\n \"10034924424587718482836407191814641593324894641999399178406510574834455510749\": [\n \"133709986621938421719517210882917040009172337680434395550712616486618509312\",\n \"0\"\n ],\n \"922842852032465420692405121275954305115195431542573025772915370228024274523\": [\n \"10034924424587718482836407191814641593324894641999399178406510574834455510749\",\n \"0\"\n ],\n \"6584111712839638436078636521636174502843349334385091420309601292966518713899\": [\n \"922842852032465420692405121275954305115195431542573025772915370228024274523\",\n \"0\"\n ],\n \"20185974035987131642966929087391651217200854948155682899261844922990823617865\": [\n \"0\",\n \"6584111712839638436078636521636174502843349334385091420309601292966518713899\"\n ],\n \"4070474887132079250235570597790261630781907293771144223989211521555435561854\": [\n \"12407034253704947672369908572539844821886444795642468627980641444690246974427\",\n \"20185974035987131642966929087391651217200854948155682899261844922990823617865\"\n ],\n \"8289140610825817621509343609450381594807404404473756293591972940633437363050\": [\n \"4070474887132079250235570597790261630781907293771144223989211521555435561854\",\n \"0\"\n ],\n \"15238170696357745278616759737375296575376797714615780353518481113146757480225\": [\n \"8289140610825817621509343609450381594807404404473756293591972940633437363050\",\n \"6267040949108525591846883693142958298861984098045675263222228283528897272543\"\n ],\n \"3611653930274451664991713627787470864864842450016744947766713699090120881718\": [\n \"9752509037436793490066879733006399649441771934622574307480658554614973959020\",\n \"1\",\n \"1\"\n ],\n \"5994163686895170053368073108237571835905751661405930123246609358171795103790\": [\n \"3611653930274451664991713627787470864864842450016744947766713699090120881718\",\n \"11531859788316607257799803769397303293996638622716546816849129720107407994182\"\n ],\n \"5228353866112329820447689129105587883337483051316096328438211559555828606616\": [\n \"5994163686895170053368073108237571835905751661405930123246609358171795103790\",\n \"0\"\n ],\n \"5570185308743322702587349507367416907352449058027955650738357579283685518380\": [\n \"12714482072745253974646321129736978641772142576778396912276502166456840164459\",\n \"5228353866112329820447689129105587883337483051316096328438211559555828606616\"\n ],\n \"13111943576403773493458747779753905726524757890720384759196929647267464484254\": [\n \"5570185308743322702587349507367416907352449058027955650738357579283685518380\",\n \"12390060583954618198813277074487421599530525074504644649287182166993533696367\"\n ],\n \"8516411793181087808228654238262712206513917132669281546241603896583087337887\": [\n \"15195277323807344332535087440028687739893545161239071755993500263967915749127\",\n \"1\",\n \"1\"\n ],\n \"16445292876804215555208975485339254383705077989527501044375712143980745243760\": [\n \"16722484759102475695531453242165979662183755987532815782187637363081950603804\",\n \"8516411793181087808228654238262712206513917132669281546241603896583087337887\"\n ],\n \"14928473281265546673035095554260513134864902635562662121178150370806599700740\": [\n \"0\",\n \"16445292876804215555208975485339254383705077989527501044375712143980745243760\"\n ],\n \"4194262667943985487922181938203797671131198698900634201993462312653955404359\": [\n \"0\",\n \"14928473281265546673035095554260513134864902635562662121178150370806599700740\"\n ],\n \"21793202248515846393879868727992984195581201899805205630330668984247069218021\": [\n \"0\",\n \"4194262667943985487922181938203797671131198698900634201993462312653955404359\"\n ],\n \"1330350421837344341391221444384286951759868020694856336727022938502534535006\": [\n \"21793202248515846393879868727992984195581201899805205630330668984247069218021\",\n \"0\"\n ],\n \"9537497023441551950639948150484763399599560054689291813263040048256668573860\": [\n \"0\",\n \"1330350421837344341391221444384286951759868020694856336727022938502534535006\"\n ],\n \"14776432314248917312065252420777049287753238814007694108812843900121625264974\": [\n \"9537497023441551950639948150484763399599560054689291813263040048256668573860\",\n \"0\"\n ],\n \"18456613763651752370446412808521293362264100181591482564543744831693891618075\": [\n \"7933701298241977225314030209303552322430974553690869953605700194352402780341\",\n \"14776432314248917312065252420777049287753238814007694108812843900121625264974\"\n ],\n \"3583857264456895762797723632401319901025766874248199187551595449082787925476\": [\n \"15425417132116523680296586386295170009305958103066717843585608859660012041986\",\n \"18456613763651752370446412808521293362264100181591482564543744831693891618075\"\n ],\n \"17927590231117681400890922594279143282884757637025723047920893790995908977133\": [\n \"6175313290805676324176630840576889014794314911613330969502930581375846932709\",\n \"1\",\n \"1\"\n ],\n \"9319508903723601590058749486217101448536932340570767149499606717544984489175\": [\n \"5374667038907196144457508901322193816109472050778632839492144609190391510099\",\n \"17927590231117681400890922594279143282884757637025723047920893790995908977133\"\n ],\n \"12364800090376431157549569890398366213188988899583245636586349030544586059903\": [\n \"9319508903723601590058749486217101448536932340570767149499606717544984489175\",\n \"0\"\n ],\n \"5163571720261440091052656098221719015229091864074017199160046766263579314722\": [\n \"12364800090376431157549569890398366213188988899583245636586349030544586059903\",\n \"12721654932686064349393042071430485548008722266882417732349087161621810790581\"\n ],\n \"12711675256447124831473825037153924714970777907280458115949386912524600229333\": [\n \"18401108254497112986072728069089042416473852617470613319339985803713913184215\",\n \"1\",\n \"1\"\n ],\n \"9105640514337662243721545322574451853223901319007121468947824773120506820989\": [\n \"2941213200029730750140786446646501816068610649916873827217733928339103225995\",\n \"12711675256447124831473825037153924714970777907280458115949386912524600229333\"\n ],\n \"18383170263900335481434140717118678945734788046425251202957578474719939983809\": [\n \"15451059979477231471851410630344455191519627455066212002284771613647719117741\",\n \"9105640514337662243721545322574451853223901319007121468947824773120506820989\"\n ],\n \"4128777192492735500548132676958085383335685231111780675628956212556680893774\": [\n \"4665528607327599645329287731031793175950361967027863103023413090396286416893\",\n \"18383170263900335481434140717118678945734788046425251202957578474719939983809\"\n ],\n \"9410251285765556007500834734515594541801406398169570106396455407852216458767\": [\n \"3271322382647195624860930654607744374386908496097061296191158175367354181087\",\n \"1\",\n \"1\"\n ],\n \"11428399623690198557713284212804831552258621033277262420781000538068865532251\": [\n \"1968355943046315734271950443088898416844563032931014331656031534793200396679\",\n \"9410251285765556007500834734515594541801406398169570106396455407852216458767\"\n ],\n \"14973288086243274000924856327906811871169307712493445600929918188102177939432\": [\n \"11428399623690198557713284212804831552258621033277262420781000538068865532251\",\n \"12886446888590716487592901401387270522149120276270284600444405637235057170209\"\n ],\n \"14402885872610101836883795671573548406079041748996574003790902755622767841884\": [\n \"14973288086243274000924856327906811871169307712493445600929918188102177939432\",\n \"0\"\n ],\n \"20239651843372371728804466419271622900912078346219409347715981095437024792370\": [\n \"21784494739635737742919145280702682484570789581106499930692136552261083381382\",\n \"1\",\n \"1\"\n ],\n \"20453472636847253024472058842624586253193482164599089670711023596945837064267\": [\n \"21206194296543956729763097017298269402965431439089192634141376970596008816282\",\n \"1\",\n \"1\"\n ],\n \"9819239043391464190291585005389184698109751562633441321816643344232913585013\": [\n \"20076824021978339801757869517660046532444397173141863269367955449003100109984\",\n \"20453472636847253024472058842624586253193482164599089670711023596945837064267\"\n ],\n \"3628594623699159239144213971804685079567399671477997688206218542747781773152\": [\n \"10351736542600024534307123373375237940682038409825045106575462499888364155459\",\n \"1\",\n \"1\"\n ],\n \"1012022338566746136639312008387064444899645989651072355947601684844551811999\": [\n \"5339110474709025007821483224861649888235337105778206663982724092184514736806\",\n \"1\",\n \"1\"\n ],\n \"18582761612238736140444089757653295917990120587940556862797519323553782304656\": [\n \"5197968688014530816695537459160299911515450032166529340387770881998506948150\",\n \"1\",\n \"1\"\n ],\n \"3829063503925693478736790367564464271665052102313150629109432910484251145509\": [\n \"18582761612238736140444089757653295917990120587940556862797519323553782304656\",\n \"21523264154789076821939786407222810892456885282938611636480786014133470135877\"\n ],\n \"12025135358993521120704919074427825871312513070152135548661472677144480350413\": [\n \"12489688613872122494590440740537677860590947774677739532839765945599216906307\",\n \"3829063503925693478736790367564464271665052102313150629109432910484251145509\"\n ],\n \"15942863814974477157543375513903866810619767313858222113928925883876074982817\": [\n \"3533247535876961545904682544468933626636371094083208989328818993797411406693\",\n \"1\",\n \"1\"\n ],\n \"14947634609500189933159943021598348334527604402803773828760235320520326514035\": [\n \"3887259599266517757254391428214067767321331347928394167955004917551271292273\",\n \"1\",\n \"1\"\n ],\n \"7447739727375532227521918252136859073161658745094627758111971171955494856514\": [\n \"9979746259310134304708611578064620442524553319921793312825404094192582009384\",\n \"1\",\n \"1\"\n ],\n \"5583352058216367846037435995059107328198774767009759947654272302543220434013\": [\n \"5347893277837807649225348676486274647924075799902147483640825528130666960235\",\n \"1\",\n \"1\"\n ],\n \"19871152508534008305665153588540334503304484275584747596352361326358135199934\": [\n \"5583352058216367846037435995059107328198774767009759947654272302543220434013\",\n \"17457146046065013241793250856472204369687594491570492586125777365955872288376\"\n ],\n \"20719844922735164670800275901397894817196441775609687521427237984522253857723\": [\n \"17648308375863729653192079808844821365095806323701947440663227270042942506989\",\n \"1\",\n \"1\"\n ],\n \"6587401524636401354238091832368309451734705461855314389881503028336867855431\": [\n \"20719844922735164670800275901397894817196441775609687521427237984522253857723\",\n \"16280330927930607823852668725766160518933606677604714866623789410806356516063\"\n ],\n \"9002152823999117382594064214090531690831983825639151180662317119760134254037\": [\n \"4563576967848971514887203899714229761479737720627365719201315705672189309544\",\n \"1\",\n \"1\"\n ],\n \"2025936299697640302348398622403083830333345586915713408796584890431652165583\": [\n \"9087049363418752201624040501100784270768548617166609405106729767467659390485\",\n \"9002152823999117382594064214090531690831983825639151180662317119760134254037\"\n ],\n \"3616048664728813501818914219391593469307155077945972691772417214417720731806\": [\n \"0\",\n \"2025936299697640302348398622403083830333345586915713408796584890431652165583\"\n ],\n \"5950461832995765014115800526306179578680838283444740024785260493761433703640\": [\n \"0\",\n \"3616048664728813501818914219391593469307155077945972691772417214417720731806\"\n ],\n \"4835615631990078135404532212238904625860389679682983889561535485871166456476\": [\n \"0\",\n \"5950461832995765014115800526306179578680838283444740024785260493761433703640\"\n ],\n \"2094511775121191377618518332948124456487331810353416876042501175120941054928\": [\n \"4835615631990078135404532212238904625860389679682983889561535485871166456476\",\n \"0\"\n ],\n \"9761776567873222340743287639119275675004923099836295827293231037852683237384\": [\n \"0\",\n \"2094511775121191377618518332948124456487331810353416876042501175120941054928\"\n ],\n \"13580801960647536820633765574652364991561405033813939215397633987987903319135\": [\n \"0\",\n \"9761776567873222340743287639119275675004923099836295827293231037852683237384\"\n ],\n \"8754873877629631367186688958732325623200069784992962984282915179171878448744\": [\n \"1308245861772928505438736589209315871730957534537042291470374841485789718737\",\n \"13580801960647536820633765574652364991561405033813939215397633987987903319135\"\n ],\n \"17331194520574582668915540302321538940904944516480494026923887121418449164231\": [\n \"20976941770192106850745881112670362124187112944809258723336322785555035957636\",\n \"1\",\n \"1\"\n ],\n \"19628851101165641735638450218046839038153809232724002722610083612909785438836\": [\n \"17331194520574582668915540302321538940904944516480494026923887121418449164231\",\n \"13799966771427374260748942393486255718440955204375795866856806352767160186639\"\n ],\n \"11943450740523505788440139301987667372977949050747540421060626558218848072669\": [\n \"15322371448811325632396515520133545486322490008551624608979343747653447221726\",\n \"19628851101165641735638450218046839038153809232724002722610083612909785438836\"\n ],\n \"20370592631976444449565684357625275779382009519535627190840189803968351162617\": [\n \"11943450740523505788440139301987667372977949050747540421060626558218848072669\",\n \"6806895250042968701728801789143268991011086052442530312927391907056196073102\"\n ],\n \"9581946218313881345528328177132200965308686743865913465393031573534859955702\": [\n \"20370592631976444449565684357625275779382009519535627190840189803968351162617\",\n \"12101008147019404778708774338169568890482893154188485598430237219141014636472\"\n ],\n \"18464805135722180693918877567217927627021365932630530580037507775553796942469\": [\n \"3532383446328450214954726944373209172687964649043033640464256232970402883240\",\n \"9581946218313881345528328177132200965308686743865913465393031573534859955702\"\n ],\n \"14702782119874955926044415512030539135766003737291957235267079592674975057538\": [\n \"14096120146710837752900286960283339581556772595298294990769352693754366490685\",\n \"1\",\n \"1\"\n ],\n \"16797845486659278104360639259596735263569739051354616215574318785913529307415\": [\n \"21499074334350879193846655357069894926925260602938127600802627124340435402877\",\n \"14702782119874955926044415512030539135766003737291957235267079592674975057538\"\n ],\n \"14484927988635239679739944956008072361068680362378209313002252655135808079212\": [\n \"15216633770164021172390965670586201908033382674178510526682721464668594752453\",\n \"1\",\n \"1\"\n ],\n \"21474964211658005701409314430780214182508437761676310165255406858942319788108\": [\n \"2153149766964526342924131447246022941616467887759725736056556743743269730797\",\n \"1\",\n \"1\"\n ],\n \"1804990748269144231300173138792315207048563691278121801253600070710217824571\": [\n \"11225136517122947963872239636730176820152892088587990598934306987871634012635\",\n \"21474964211658005701409314430780214182508437761676310165255406858942319788108\"\n ],\n \"12165734859699779071596910750425936423652682541783135590759307732726514340253\": [\n \"5355347561680415237994212283400732019154540653771088604961160568007587155305\",\n \"1\",\n \"1\"\n ],\n \"16804496669131819206758313094794297084567240137301124371303445930104724304086\": [\n \"12165734859699779071596910750425936423652682541783135590759307732726514340253\",\n \"8060214646807826782284819394547022603938638472354308451364158085195967352894\"\n ],\n \"2850283431107358258690548848878901415815468987680203791590213321385181497379\": [\n \"0\",\n \"16804496669131819206758313094794297084567240137301124371303445930104724304086\"\n ],\n \"1435739778183892442586343652747021199869813487191723210023845311570658082038\": [\n \"21191315480982423221784662995327250424994342648581429548451319127295738927641\",\n \"1\",\n \"1\"\n ],\n \"7880340369354175322536261066792402329314837395760228755276530087118142369984\": [\n \"1435739778183892442586343652747021199869813487191723210023845311570658082038\",\n \"3800764328060073906423547875167711981167845224666134931348268997956516826825\"\n ],\n \"19679920697885457764116275915702511546046686107415268018691039177489092958047\": [\n \"4581452637673528616895045731572164691755419597597053866380695682984612640724\",\n \"7880340369354175322536261066792402329314837395760228755276530087118142369984\"\n ],\n \"20857031681218969808991213627996474400226942867947351431636322034372572226267\": [\n \"0\",\n \"19679920697885457764116275915702511546046686107415268018691039177489092958047\"\n ],\n \"10568314875729282642453909869456140049281679157793696733960219964238267900526\": [\n \"20857031681218969808991213627996474400226942867947351431636322034372572226267\",\n \"19055319329505337099101929397408034219625844628944484828546521918922255404014\"\n ],\n \"3654740442675052217226361365221880965892224467279047171669101655449527734338\": [\n \"5563305868875889944558282917140881915390254336233099078906272042612757909064\",\n \"1\",\n \"1\"\n ],\n \"12490679340944143427562138012756612993278149948682540385772840496102477655263\": [\n \"3654740442675052217226361365221880965892224467279047171669101655449527734338\",\n \"9532137501056461773067417789738860209047064694744981741463348949784910165782\"\n ],\n \"9401602960100231082769089792067739985584191675440972638143592713753427782760\": [\n \"15686882392034330080914203019546788831920311309261835324061060164185769994206\",\n \"12490679340944143427562138012756612993278149948682540385772840496102477655263\"\n ],\n \"10905517079003528651589897227427183597273374886861844355857688631999073019118\": [\n \"4015988507519033199878254403005319744635438687950113576265016667948355053183\",\n \"9401602960100231082769089792067739985584191675440972638143592713753427782760\"\n ],\n \"7273668579713685309365049822223368441276729531737348578112688023684722954098\": [\n \"15010737267388688043691444398350343112669129005383757465009325590494185793166\",\n \"1\",\n \"1\"\n ],\n \"19426007709562402538550865794964969340678586086108801574275759481666200484686\": [\n \"7273668579713685309365049822223368441276729531737348578112688023684722954098\",\n \"148436270565637412181679473646995178795052928790747700218134448860145669583\"\n ],\n \"13777333280012987084707624627714092475562098397991617892334123158912293457225\": [\n \"19426007709562402538550865794964969340678586086108801574275759481666200484686\",\n \"0\"\n ],\n \"17096337029971993492603449239068369884623335410362316706658161445012942404952\": [\n \"13777333280012987084707624627714092475562098397991617892334123158912293457225\",\n \"0\"\n ],\n \"16231409219857960069604945585936388941299066043722140322472237566207902612769\": [\n \"17096337029971993492603449239068369884623335410362316706658161445012942404952\",\n \"0\"\n ],\n \"15653582369540989135275228259993542138525023510151316585699936465549072285178\": [\n \"16507341272062042388186000515999351134157371839100636581422571040975501756904\",\n \"16231409219857960069604945585936388941299066043722140322472237566207902612769\"\n ],\n \"6808183307661366042936576459747898967739534707203018901924343759324731398140\": [\n \"15653582369540989135275228259993542138525023510151316585699936465549072285178\",\n \"7207805009314032042656622220428424847232127330095873913399216181767489461486\"\n ],\n \"3680395842893833399942798434463965369937243438511943005867274491859240940649\": [\n \"6808183307661366042936576459747898967739534707203018901924343759324731398140\",\n \"0\"\n ],\n \"14110881734276332081523982126663575656803081721552665638402299837868595973272\": [\n \"6097604874497320189472368559669636822400373999305790607055056932087834217535\",\n \"3680395842893833399942798434463965369937243438511943005867274491859240940649\"\n ],\n \"1186336046459067950413743202220448184963670216398939682871685745812218901824\": [\n \"16729862182245943067850839907474179890084067642480093863124546655872817496583\",\n \"14110881734276332081523982126663575656803081721552665638402299837868595973272\"\n ],\n \"3599340416337556104101426166765133362713517957775625410373262064709293239524\": [\n \"8590359563985638698501611083418107000514193691538087361977842139680354331425\",\n \"1\",\n \"1\"\n ],\n \"12846957086012531580157164519749417246359063841258591651269611795861592836275\": [\n \"7497993975916077197680000751971936143187572046121217743423934167784698625684\",\n \"1\",\n \"1\"\n ],\n \"7728111228179841789230065113386196816215326402184681143411062347951172117242\": [\n \"20276804624214067200827228029710311089339208170265435571668972801617166884701\",\n \"12846957086012531580157164519749417246359063841258591651269611795861592836275\"\n ],\n \"16754043825187958975316319477177197305061678020887420384006829921078532955014\": [\n \"7728111228179841789230065113386196816215326402184681143411062347951172117242\",\n \"0\"\n ],\n \"11776456519523692338958487630527847439410318125269116406246038339783868001858\": [\n \"16754043825187958975316319477177197305061678020887420384006829921078532955014\",\n \"0\"\n ],\n \"9486578298961661529085614442782634981206084391951748350183815004371732358520\": [\n \"0\",\n \"11776456519523692338958487630527847439410318125269116406246038339783868001858\"\n ],\n \"12535463823337952248731677390935853283839402909037215246139112427033185335365\": [\n \"0\",\n \"9486578298961661529085614442782634981206084391951748350183815004371732358520\"\n ],\n \"1164625052970470679462211234055471987798566268282239038386616613198950314947\": [\n \"0\",\n \"12535463823337952248731677390935853283839402909037215246139112427033185335365\"\n ],\n \"15435005488286576638729204613389399378173736733318260132105839062825401435948\": [\n \"774156445968392196732951225629621176751436298396180456529687289704457034585\",\n \"1164625052970470679462211234055471987798566268282239038386616613198950314947\"\n ],\n \"8801304564381829960607668489988556043173677872837156293559775416257270865599\": [\n \"2200312064013469804479435576991029493579614425414241902887635680274566971698\",\n \"1\",\n \"1\"\n ],\n \"3703005392338960769174182521394481741165540346426818945164724795217104111260\": [\n \"8801304564381829960607668489988556043173677872837156293559775416257270865599\",\n \"14494645936371996231360260621611658998263650322327611849763587868148551928646\"\n ],\n \"12331825962193206256955208372109626763306927790978951865703054163545353183254\": [\n \"3703005392338960769174182521394481741165540346426818945164724795217104111260\",\n \"19622254268653393435380182959065633340167191917199646269212674053721751224443\"\n ],\n \"21538477877396673296387680957873857245050271305285151796791943708199721195943\": [\n \"19244775981775712350887219207301519218113472888681485082684827271778438575788\",\n \"1\",\n \"1\"\n ],\n \"21224952125939559509896792847885691506389999178639195325675816272778603756727\": [\n \"11647873527481640625166263544314804160952467921170910203687696377715106218460\",\n \"1\",\n \"1\"\n ],\n \"20374081273525286236563456845582399901197293407650906004520840091827902777102\": [\n \"21224952125939559509896792847885691506389999178639195325675816272778603756727\",\n \"5040593612537430739062413639560751230957787263030460981346981315953703657650\"\n ],\n \"5255296051190091656182992364250284220621772732018786611240761659482332565334\": [\n \"20374081273525286236563456845582399901197293407650906004520840091827902777102\",\n \"14096499613506117539548002171650018851724764386549854891671425405906336881752\"\n ],\n \"20889520627577647016483176984505437094920292922195617938826319650516652393215\": [\n \"1552667457671722336990137393579508120946839407546112441056395597642648498724\",\n \"1\",\n \"1\"\n ],\n \"11226393910176371824614362161897913195319772556774123054024296542206674606895\": [\n \"7440368980523584461344163650322147355966379601674091029758853215627774623982\",\n \"1\",\n \"1\"\n ],\n \"20999301474084505321738686794720638525571470202409871004675320656624508034734\": [\n \"11226393910176371824614362161897913195319772556774123054024296542206674606895\",\n \"13089912953810805795568885852462760124799511713787377036594612377701550116678\"\n ],\n \"20028430433921663346559808291216417986688085755646300234860259473850950507367\": [\n \"19211610175576656442468036580922533975270457175962361385399551137588626130225\",\n \"1\",\n \"1\"\n ],\n \"11959511834400025846747712738807214626699766751180457265113974099744259695644\": [\n \"3363858811676971116076150889267479491895925193634486660750532008217919807215\",\n \"1\",\n \"1\"\n ],\n \"1163531459990793786298711126670424245319275664969575650666820438598438459105\": [\n \"11959511834400025846747712738807214626699766751180457265113974099744259695644\",\n \"2081751413669563124853029391970907734755078436646560470719418607992035973204\"\n ],\n \"1043375773269015722769371864463854625707043904524162560529458039020282829930\": [\n \"204129073754936738499326158813724386861246586996343951531453850153153107182\",\n \"1\",\n \"1\"\n ],\n \"12200029038009154512111658954637421394134425875874362567660150361014761290669\": [\n \"1043375773269015722769371864463854625707043904524162560529458039020282829930\",\n \"18763501344318781134069381634646384630680709811986277192320658486973372360438\"\n ],\n \"6480834643485550696850264926284731851784677629956334688890055411686657034972\": [\n \"21399857804688946081109001696777261038390013934439648930579404129626857009290\",\n \"12200029038009154512111658954637421394134425875874362567660150361014761290669\"\n ],\n \"10744227434677884230455749652212032371743186713202301782248703466191467869222\": [\n \"6480834643485550696850264926284731851784677629956334688890055411686657034972\",\n \"13435053773502541928773447507726428845582669350000113848135066117819884043032\"\n ],\n \"14017234709216756447741831237907848712804804012092775496584241749017962532842\": [\n \"13492827738518164510255703569375326296916235874121795843472245250649725703534\",\n \"1\",\n \"1\"\n ],\n \"11609393722036125202475673346641249439780039659471743172514270388661631391648\": [\n \"20235409838249737148850658157112302397429069256926071854884266246661830252761\",\n \"14017234709216756447741831237907848712804804012092775496584241749017962532842\"\n ],\n \"4323773154774359201075729794111622409341170161297674216808501428095761113656\": [\n \"11609393722036125202475673346641249439780039659471743172514270388661631391648\",\n \"15303230218394604061692191623667050061115443663506018421133253657254852644040\"\n ],\n \"17847598990005441197503940929880809371641199726673275076955734243339835382902\": [\n \"0\",\n \"4323773154774359201075729794111622409341170161297674216808501428095761113656\"\n ],\n \"746008777585682422928877790811241736439341436091815001490404337046535059000\": [\n \"20600068198208828897030984678200934273184286498041359955484439723149781708532\",\n \"1\",\n \"1\"\n ],\n \"3934468540905100981200273878958568245383100276199823830621972087440981883492\": [\n \"746008777585682422928877790811241736439341436091815001490404337046535059000\",\n \"8869032029434299683461983819953353039281745421407987944222491944388147111434\"\n ],\n \"178069569111769148864319015288828317468576336044174797118242378225587816924\": [\n \"13135906376042884507108495950899474921316386196851653423014027131512105369063\",\n \"3934468540905100981200273878958568245383100276199823830621972087440981883492\"\n ],\n \"2519542728750082264048668005034070535774814043138094101940983860501181517143\": [\n \"2940053309050055922080605259752030404234092964015791099355889261290272435354\",\n \"1\",\n \"1\"\n ],\n \"5924123101429059901200958495833525092676201050599042294107425976789434555962\": [\n \"12156950366136331639106967573636820906660399651937731448732154249847414151182\",\n \"1\",\n \"1\"\n ],\n \"19509565401186214984400874060116199869386150343457665539413815473262023676135\": [\n \"11094638031909993232548337676092707905037880269728105680209700730042651722754\",\n \"1\",\n \"1\"\n ],\n \"1004218282206611452718769125293278504254856035371577246550447482503710129073\": [\n \"19509565401186214984400874060116199869386150343457665539413815473262023676135\",\n \"12443035527019440719852994908284503981891655701197258384902175896707608494476\"\n ],\n \"20486431268712431810424350211431870835284395660759767334458221974118155307331\": [\n \"1004218282206611452718769125293278504254856035371577246550447482503710129073\",\n \"0\"\n ],\n \"19964405138185028422896307306069820859144812506906146915708386157103997478238\": [\n \"21152967968636858972129433651113138201694725069111744249299755548144948573953\",\n \"1\",\n \"1\"\n ],\n \"6682260394608018864261633188416327945365768360383867324827612157249027370821\": [\n \"19964405138185028422896307306069820859144812506906146915708386157103997478238\",\n \"1541758453648440189195067286862481026058868334139970643166635055334255906942\"\n ],\n \"11188403548459250634868279759421249577141636823284641249275701443534951775575\": [\n \"21813772677111462921174930353451660324165200520793344404633121979400135829405\",\n \"6682260394608018864261633188416327945365768360383867324827612157249027370821\"\n ],\n \"16689346094676560838281771998013117778837034962910675633637825772705928351891\": [\n \"2120420227109734055827880323637062474470812829052180902183173898834872853315\",\n \"11188403548459250634868279759421249577141636823284641249275701443534951775575\"\n ],\n \"7877457502995471838335527378619766073539346790045003937567220183236408864469\": [\n \"7449008979915725100486439832707470445118003220282377938069672396118522257572\",\n \"1\",\n \"1\"\n ],\n \"16972341300302169653021962964875586023072161358811446005802022130486021031891\": [\n \"16249010907108860484918500423283535362941756961038404178593386253716500360635\",\n \"7877457502995471838335527378619766073539346790045003937567220183236408864469\"\n ],\n \"18486354742499438884384972902252928121253712780944434422426178352247223086669\": [\n \"16972341300302169653021962964875586023072161358811446005802022130486021031891\",\n \"0\"\n ],\n \"13894974263029641053714383448346706018799772605845263294179723042467408194900\": [\n \"11925954507027786477125344850262245167312617559525040970041616249146667964659\",\n \"1\",\n \"1\"\n ],\n \"255001174427294503264936181471090632611384790629005933156097960701746161691\": [\n \"13894974263029641053714383448346706018799772605845263294179723042467408194900\",\n \"6426393150007678896751959706805672378234689116545350014558956636747295371578\"\n ],\n \"13912496829570839765921645882756992819992155538173589433536378750519997053543\": [\n \"0\",\n \"255001174427294503264936181471090632611384790629005933156097960701746161691\"\n ],\n \"19412005031022399631451278554250901250592484806913998161972531523801245727780\": [\n \"3157087147782582606383938658388029853404480151148141561867914586353385335321\",\n \"13912496829570839765921645882756992819992155538173589433536378750519997053543\"\n ],\n \"10898373991471218523074277948870965943162157065584439541310118055532120477043\": [\n \"19412005031022399631451278554250901250592484806913998161972531523801245727780\",\n \"18530979092021771751742324280072194235282896606679421611923815118014440640450\"\n ],\n \"16608667801314963603875497983274157843700462464841586089062758901100951245693\": [\n \"8130936670132841981265482897216173754558739304672388681444513824709208354003\",\n \"1\",\n \"1\"\n ],\n \"1387520107286236969238895090753286387805289801489413668996613869950886754416\": [\n \"3708788089070649622571228815488578580889381674580965128246011602896524835493\",\n \"16608667801314963603875497983274157843700462464841586089062758901100951245693\"\n ],\n \"14129152826516020263945906199875562165174413932331085394587739767772745224562\": [\n \"0\",\n \"1387520107286236969238895090753286387805289801489413668996613869950886754416\"\n ],\n \"21170296574088014063186147122359639423629941038627294433331548462803676986652\": [\n \"0\",\n \"14129152826516020263945906199875562165174413932331085394587739767772745224562\"\n ],\n \"17349168322134997605013850694729172834241700683885738739951511475796101511256\": [\n \"21170296574088014063186147122359639423629941038627294433331548462803676986652\",\n \"0\"\n ],\n \"13935292414659472253847480993349749330591646648024309245872661552196407680219\": [\n \"21406370113823142684382562126273585540066774177792008227642479802167338620872\",\n \"17349168322134997605013850694729172834241700683885738739951511475796101511256\"\n ],\n \"16502916165936639574688745320005808121981991024371091221948272139204629602601\": [\n \"13935292414659472253847480993349749330591646648024309245872661552196407680219\",\n \"0\"\n ],\n \"7862856850941661924112177113445860611646578119187567237650331877598337334271\": [\n \"0\",\n \"16502916165936639574688745320005808121981991024371091221948272139204629602601\"\n ],\n \"17372907027168550551907478449750315154673568760547752975029968131594551333269\": [\n \"2969810465675216749425838698067731786602479375074791900064098129767068878470\",\n \"1\",\n \"1\"\n ],\n \"12193318799210385606940714732451015600320695531638271895307374285598648126469\": [\n \"17372907027168550551907478449750315154673568760547752975029968131594551333269\",\n \"7254590333192119105564867084529323367330680417119591282257957579233843318615\"\n ],\n \"10641201408554173616872956644953564052972786701804938211940937095650701359456\": [\n \"12193318799210385606940714732451015600320695531638271895307374285598648126469\",\n \"0\"\n ],\n \"17711867032452668172044459119821513502856684559406874209157194779439355659781\": [\n \"10641201408554173616872956644953564052972786701804938211940937095650701359456\",\n \"20239651843372371728804466419271622900912078346219409347715981095437024792370\"\n ],\n \"21542878799416490342795729483942824537875008641826438128267281319738602583120\": [\n \"17847897151542418640019830442478590582936121348191280107393664582974296715004\",\n \"1\",\n \"1\"\n ],\n \"4262390871937400866268176348607980269300329227510745068864415846164843156208\": [\n \"12117776159399934172510676152358452919302019178793549086337893372862260023168\",\n \"21542878799416490342795729483942824537875008641826438128267281319738602583120\"\n ],\n \"18445631069827355041145878209677979383726356878810001555985358314676279434661\": [\n \"0\",\n \"4262390871937400866268176348607980269300329227510745068864415846164843156208\"\n ],\n \"6613261586317403268638551788326040864813517912183653057672950879032088507940\": [\n \"18445631069827355041145878209677979383726356878810001555985358314676279434661\",\n \"2066576835295512972490174523624806761042377402113707286719035383397646373787\"\n ],\n \"864855501821290435622733091200984439130172034888244416361336470403695052392\": [\n \"16941407063675895877861319810780563794134812490804769169154879485360363625738\",\n \"1\",\n \"1\"\n ],\n \"5244417580382882797918706237965395489917355432285487892551697528013864772313\": [\n \"864855501821290435622733091200984439130172034888244416361336470403695052392\",\n \"20931072960829976140087874678400543482971496653255594709333619123249684222648\"\n ],\n \"21384919687786179615771814289918591535080975803962997063910518605609421249344\": [\n \"0\",\n \"5244417580382882797918706237965395489917355432285487892551697528013864772313\"\n ],\n \"3327004257119973634772038811542138326263050106356464788254194829688616220562\": [\n \"5871723943044399306730581436249139079052817213720799599007086542370311344259\",\n \"21384919687786179615771814289918591535080975803962997063910518605609421249344\"\n ],\n \"20824695445025266075186720655279167341575308231152267912300665568067300759056\": [\n \"6642188341784158590007818689595823423642371234014386126740905518568146734831\",\n \"1\",\n \"1\"\n ],\n \"8934673135802096071324954234572841759876809245529443702258825108349041722751\": [\n \"20824695445025266075186720655279167341575308231152267912300665568067300759056\",\n \"14697835054605862769863748097888272940890239944308476770127941909682244892710\"\n ],\n \"12933045792080477800572014065142898820388821329136804199312426981097893243027\": [\n \"8934673135802096071324954234572841759876809245529443702258825108349041722751\",\n \"1163531459990793786298711126670424245319275664969575650666820438598438459105\"\n ],\n \"18482782072025671452759385367057026199522454104779332134409552590458457653907\": [\n \"1579382206376361134620092969954207297726427721720017729777846927485702847769\",\n \"12933045792080477800572014065142898820388821329136804199312426981097893243027\"\n ],\n \"2409571690707560291612600711524078351092906385285804547701485587634417452271\": [\n \"4132074428181545802322198475135613773734356901803165737132227879328957073276\",\n \"1\",\n \"1\"\n ],\n \"1924698910400277878326353246511497425501931030954532805882972404803553990193\": [\n \"17070909544077760225073211959087040990964275384267888152270311553542377813507\",\n \"1\",\n \"1\"\n ],\n \"4964308262248247043322443397249912808488693705646823834356766286822444179432\": [\n \"1924698910400277878326353246511497425501931030954532805882972404803553990193\",\n \"19425334857992500642363703120300903734169121236011471512142607161282559124359\"\n ],\n \"6046320566171031202753489748457809667515067459120094442227851706551093657640\": [\n \"0\",\n \"4964308262248247043322443397249912808488693705646823834356766286822444179432\"\n ],\n \"5961171851182417164785734640374239322852919762224102760675911325870481263093\": [\n \"13619191216115473766689487287036126490557418896494674533932446634515567615016\",\n \"1\",\n \"1\"\n ],\n \"2681997102675730405246334858766817111022078421114516314471381136157919023496\": [\n \"5961171851182417164785734640374239322852919762224102760675911325870481263093\",\n \"565988365120236775885282024412948826748483444265427227979999036979970539860\"\n ],\n \"18049417161243751906604633183174504739166140453751452251877862875220291714392\": [\n \"17187748700743937831079914525372580762903606894228046715369450781494058515849\",\n \"2681997102675730405246334858766817111022078421114516314471381136157919023496\"\n ],\n \"10095853890886335938171873001452885231639990056288891693703792906566240672130\": [\n \"4304389126922808171583873594561805688791689539201310402780470328988137611672\",\n \"18049417161243751906604633183174504739166140453751452251877862875220291714392\"\n ],\n \"15940635705068365759585976837534012204924201746721765051750466724485359429176\": [\n \"19014504979129349145918617600706334027162433317005989958312689707600193022313\",\n \"1\",\n \"1\"\n ],\n \"6820520439345694616026808813970601153093348876451505540554386530094585752976\": [\n \"17801934506931784466137868744602670913863600502610656679785939902128329926677\",\n \"15940635705068365759585976837534012204924201746721765051750466724485359429176\"\n ],\n \"8168159832556681070348880721553812890196166137603873491581561212273192089947\": [\n \"6820520439345694616026808813970601153093348876451505540554386530094585752976\",\n \"13208328270940003684495131082082880900140102167896488290787331293380543403932\"\n ],\n \"15870734682893960447440432306459995535966990511865129652633213108486821120303\": [\n \"19379100846912863039168307652492328423966379535875195346503782216469000818270\",\n \"1\",\n \"1\"\n ],\n \"19752944077445601603650688263516776963581505345600503399319788258743501500138\": [\n \"15870734682893960447440432306459995535966990511865129652633213108486821120303\",\n \"7176613916150275009584021929638343922132559399599410999501209532272170088611\"\n ],\n \"508808223003806574318161499508296975506496238935950275962076587673748209611\": [\n \"8365847440076925705651532110682161861335681221349600038953416556725295672656\",\n \"1\",\n \"1\"\n ],\n \"11183339518248898848869773441988950716959360902576329964189692342768382011762\": [\n \"508808223003806574318161499508296975506496238935950275962076587673748209611\",\n \"10967710931292387670436433080237382846529509937732299629230133618294859906969\"\n ],\n \"14414279591655888023517209926237933676550654908625206688330476003565900147062\": [\n \"11183339518248898848869773441988950716959360902576329964189692342768382011762\",\n \"0\"\n ],\n \"19168414182751326565656987247269836746541489368016673991291578263800030024315\": [\n \"14414279591655888023517209926237933676550654908625206688330476003565900147062\",\n \"0\"\n ],\n \"15540889049968868589007933198720698857748470967891543856950190213772912757112\": [\n \"19168414182751326565656987247269836746541489368016673991291578263800030024315\",\n \"0\"\n ],\n \"19169797334187624027071244640761958476974459566042141047932876596686929110428\": [\n \"0\",\n \"15540889049968868589007933198720698857748470967891543856950190213772912757112\"\n ],\n \"3360444981550444730818714470704757747315046818440359714801688892749862677775\": [\n \"16601865395973129592766133285167980932802238111142792962962315722400342580993\",\n \"19169797334187624027071244640761958476974459566042141047932876596686929110428\"\n ],\n \"14563962025898698758911157376731955693595493000691876432208624500858961260014\": [\n \"3360444981550444730818714470704757747315046818440359714801688892749862677775\",\n \"5611954846892850235635588350193499147503136360981174834488939554328159465547\"\n ],\n \"21269161717927184238031147850014092464445650447335609030196693512730229810236\": [\n \"6164506614209723123794341417531722291998842464317493598336447220493939570551\",\n \"14563962025898698758911157376731955693595493000691876432208624500858961260014\"\n ],\n \"7983906121097775732016256509419987640847156054426154743794100607555149466927\": [\n \"4618168164799156607664413640205610099409150518821213489006344107931136259570\",\n \"21269161717927184238031147850014092464445650447335609030196693512730229810236\"\n ],\n \"20607538708402847794160404199116454902601308374550482786099779562948490735720\": [\n \"4982946751314781226472001333220118859447982716338819199209216702222713590688\",\n \"1\",\n \"1\"\n ],\n \"17898260220945630178505890001803527740492745409606616508014865019602366637304\": [\n \"5123373113464732590975941259698622912723764925056879675552709285324095344769\",\n \"1\",\n \"1\"\n ],\n \"4621269197618295672793213742596853959253374073386568090277560570169886678979\": [\n \"17898260220945630178505890001803527740492745409606616508014865019602366637304\",\n \"20943397406051877662513414026267579510699455808034719349916001039558180716072\"\n ],\n \"3668143415923084148216558027843174782833688027015429413822929541148422894419\": [\n \"5518446854615746910574434927139723673844835839642793748876307257110794788788\",\n \"1\",\n \"1\"\n ],\n \"362880839271056016890556183653762592425365696244047123283889964238753391376\": [\n \"3668143415923084148216558027843174782833688027015429413822929541148422894419\",\n \"20318688742250013907244806317191880296515177193932566691847400131717852756965\"\n ],\n \"6507187583780890500046624570147326811219747129914409149659925966920069432530\": [\n \"13015269252435552226931737847862500728720749084561850789350931701345937841013\",\n \"1\",\n \"1\"\n ],\n \"17678226034270762269262948065551401624288046056459990405892074450021584318679\": [\n \"19218127537128515527335872321736186512239731548544758382172412627618089249117\",\n \"6507187583780890500046624570147326811219747129914409149659925966920069432530\"\n ],\n \"10425620939544366156865733216696001812536677717388621062668691121643427681502\": [\n \"0\",\n \"17678226034270762269262948065551401624288046056459990405892074450021584318679\"\n ],\n \"14827667387173161651675781471288426951632869297534689816432052844191166371907\": [\n \"3388488333972235026256724320759052490481878672231836770750676277227075599720\",\n \"1\",\n \"1\"\n ],\n \"16582770297332196044003810480891942725389551441441784801856847487087831068844\": [\n \"8347509802332709682896818892996759443874604012548738259894334013169287125928\",\n \"14827667387173161651675781471288426951632869297534689816432052844191166371907\"\n ],\n \"3226583295957886925919018996501900964391243441759266486086723064486891876296\": [\n \"1488057966489881152710558382816207908856111650461170694619095182146828605228\",\n \"1\",\n \"1\"\n ],\n \"21324552602842328364961665078601037175377880996634526233675883002827667438468\": [\n \"926619814930446431990665354860257406874408672041447026242600702492546685905\",\n \"1\",\n \"1\"\n ],\n \"17903387076766126728449661570101458487688106121470985107325239981475336647204\": [\n \"18402926996575413247098006579464440761999924152367054397571281635630482745771\",\n \"1\",\n \"1\"\n ],\n \"7330158845325658996793462226159390504339802774600624002683838240781670471677\": [\n \"18520766105637537846994390223730423918928783656961858302390595027360667487377\",\n \"1\",\n \"1\"\n ],\n \"2065774346751301832642984187928946572992695366106336193128687613702637966607\": [\n \"7330158845325658996793462226159390504339802774600624002683838240781670471677\",\n \"5780184904382705065929848217565166979104419937109419684844734457432096476201\"\n ],\n \"16040662507520590961254869432403598726370805476880043457159690856314140666156\": [\n \"6826904545492968606164089463309401159320118836205043758454150380511135313145\",\n \"1\",\n \"1\"\n ],\n \"3574474559409705875471812449872981006011996093326064679295282151573583480082\": [\n \"19815615110851848044545137134825541302789114478962381947357569198901201478089\",\n \"1\",\n \"1\"\n ],\n \"9183098849388535864230890884665043041557730759741372809232036875665595089609\": [\n \"3574474559409705875471812449872981006011996093326064679295282151573583480082\",\n \"6678895035615088274637016494886852854830441940012186182550445390291783022902\"\n ],\n \"5147939500455819009662695408949324572173494589603492247891650324706901476182\": [\n \"9183098849388535864230890884665043041557730759741372809232036875665595089609\",\n \"0\"\n ],\n \"847089629525028892893231526491835818253269670679004471100015358501646787962\": [\n \"5147939500455819009662695408949324572173494589603492247891650324706901476182\",\n \"12441962967220018147514518776116101505147245152575073092261937739268126166790\"\n ],\n \"16265042818695912191572836790965918381101077849461675620255503520916122264244\": [\n \"13992458883963566391181867040136554649459484095008790193083921826189135315777\",\n \"1\",\n \"1\"\n ],\n \"13646742137561281625515202786836981980141820103719687183540174013846815368396\": [\n \"16265042818695912191572836790965918381101077849461675620255503520916122264244\",\n \"12080484188884589123260486134331828330350328076059783980648741182153449509663\"\n ],\n \"10695661612311774706333435985069480849856390080872980162505385553956605071291\": [\n \"13646742137561281625515202786836981980141820103719687183540174013846815368396\",\n \"0\"\n ],\n \"899725919037206510376795864513077336157959020111207416516843484508206152409\": [\n \"10695661612311774706333435985069480849856390080872980162505385553956605071291\",\n \"0\"\n ],\n \"20996611388786521016620653181838680441793018114644180294862750447851044214292\": [\n \"899725919037206510376795864513077336157959020111207416516843484508206152409\",\n \"0\"\n ],\n \"16304167313284699853049081157624484454374094556348177479834267736134856841213\": [\n \"20996611388786521016620653181838680441793018114644180294862750447851044214292\",\n \"0\"\n ],\n \"16109374056425575032852293409314637112531302926231698499628879503247442609032\": [\n \"9718264291072404432319803373059530713857752418529040579335580698360437258754\",\n \"1\",\n \"1\"\n ],\n \"13760649958337859093863677784493941493715645448125584298405795460446756533058\": [\n \"10835636502456982546616903929981805004139388103836546470584425269564733416398\",\n \"16109374056425575032852293409314637112531302926231698499628879503247442609032\"\n ],\n \"4145855077601380368657298050585322289160838032896897939721712948983608095339\": [\n \"17180114336821410445822937515026232760644756474399240096278665060530469796371\",\n \"1\",\n \"1\"\n ],\n \"7692851091401727526299216937601865698955657994113923541787765157169062637212\": [\n \"6839182956136987203509563933216796585343827982282276812821735020555371650872\",\n \"1\",\n \"1\"\n ],\n \"3955428260845951477625630740245312677593471087179221461091211939042753777274\": [\n \"11432204825212940596650140025969126002361383251647192417836003514514972609319\",\n \"7692851091401727526299216937601865698955657994113923541787765157169062637212\"\n ],\n \"2888641131928210331074236389684685814603804030182775965713293006364135173392\": [\n \"4085506953023530542192905196514549325193487014917603019761587069846604758735\",\n \"1\",\n \"1\"\n ],\n \"18970767291893797322906118334503633480976738485724130181709062126048969562817\": [\n \"8337656459353559140641942578812292374651640028611048985292984502299894919054\",\n \"2888641131928210331074236389684685814603804030182775965713293006364135173392\"\n ],\n \"7961061812450583619137301943661535431304460465188121225051072608358675546667\": [\n \"16178883415335468545133419818036161656426328961170169600191741168035709205529\",\n \"18970767291893797322906118334503633480976738485724130181709062126048969562817\"\n ],\n \"5432020798621069063429283102572762836030091526622265655680499230014323655662\": [\n \"13859674622225088157880093930951687770093897635759505480141947643090540621959\",\n \"7961061812450583619137301943661535431304460465188121225051072608358675546667\"\n ],\n \"19905894244748820279702780985404314934711120461112017343599980248696661543472\": [\n \"770890950751196335553475091769537229445838507847741913128308036847957838571\",\n \"5432020798621069063429283102572762836030091526622265655680499230014323655662\"\n ],\n \"6967557439735951430367481025232728556994916952899820676735184371193544625663\": [\n \"12837950046213128056137713753171212565160269919391468661982426483067899483896\",\n \"19905894244748820279702780985404314934711120461112017343599980248696661543472\"\n ],\n \"18967008629685525639431256497590600716215764497480612737810010291960773223904\": [\n \"14399994762491255879507416309526645967962906570519116040235596023036392321210\",\n \"1\",\n \"1\"\n ],\n \"15203023564707007916075262692996302290656619351901205172476007920083449250287\": [\n \"18967008629685525639431256497590600716215764497480612737810010291960773223904\",\n \"3050067603986306471538048612240348519378199588241064794852682812867836861753\"\n ],\n \"20376339447530403208335941088358055132359092493112005355404931782723053763875\": [\n \"0\",\n \"15203023564707007916075262692996302290656619351901205172476007920083449250287\"\n ],\n \"12054377910101677273301887272440311633720402352475901122875346348058103680218\": [\n \"15385782752238508907586329269611862257469225271393503111831358374392135373017\",\n \"20376339447530403208335941088358055132359092493112005355404931782723053763875\"\n ],\n \"21098934648183093609278578892479600465068449062197465181243726687328001934578\": [\n \"12054377910101677273301887272440311633720402352475901122875346348058103680218\",\n \"1752570878651247658634791366035360497016985651204050805569328084471603908233\"\n ],\n \"5335869218835438556099684917435129338553216663177743362108269115666381157018\": [\n \"15983170953206346610449074003705517165862241712525556199856008441647992651377\",\n \"1\",\n \"1\"\n ],\n \"18258634416046402654455384056543024317741732267733445024327951760249225990789\": [\n \"9157024207850821431215447146362518651486131088884512499677971097301071175979\",\n \"5335869218835438556099684917435129338553216663177743362108269115666381157018\"\n ],\n \"21400125520823092835479333255101351023952617758229606444097806817964880293143\": [\n \"843121498691139795006123300950058713475009648995697952258298855433270019062\",\n \"18258634416046402654455384056543024317741732267733445024327951760249225990789\"\n ],\n \"20847311586653249920869566980559005471322532938244916080251006871561918919831\": [\n \"13044040003908647269690028579505880125547191053964331974391973413317149366359\",\n \"1\",\n \"1\"\n ],\n \"12377186795485746812477974976424227601893072292585440641673843314238867930590\": [\n \"20435833100533970891001762158421306396859903589028906248920516905931926590560\",\n \"20847311586653249920869566980559005471322532938244916080251006871561918919831\"\n ],\n \"9420892632128747829462979081855522428239798965490595903501289910673642986361\": [\n \"12377186795485746812477974976424227601893072292585440641673843314238867930590\",\n \"481872228627870297059554493176398142045033459231226478283569925363838232528\"\n ],\n \"3963499856409145353975772393006787912154563262318327038583423076025576212186\": [\n \"9420892632128747829462979081855522428239798965490595903501289910673642986361\",\n \"6407343534520619783843777147651535679263365785405698745202783870664284620922\"\n ],\n \"6755645906395939565076186460318991032688149410865035214798380412893749024010\": [\n \"16878844300733744683241030666324662675741518768950804590375677933014590709629\",\n \"1\",\n \"1\"\n ],\n \"4158780142793410102604516453282716101658007662691149715553565368448264357736\": [\n \"2415632859240041532389824523290507702847395352706175277077384670051478442912\",\n \"1\",\n \"1\"\n ],\n \"3270630098432529692976102787633456535628350943912957427257709283755311296760\": [\n \"4158780142793410102604516453282716101658007662691149715553565368448264357736\",\n \"20607538708402847794160404199116454902601308374550482786099779562948490735720\"\n ],\n \"20302568498154490214427811827858269387667380039077134420979876441157988145088\": [\n \"0\",\n \"3270630098432529692976102787633456535628350943912957427257709283755311296760\"\n ],\n \"15507445222759094567452888252118598665738337019260635074624907494160736840671\": [\n \"20302568498154490214427811827858269387667380039077134420979876441157988145088\",\n \"15914988040018297154055160831807503822405704949808310252502813080286934783907\"\n ],\n \"13035878280100508449046215345198917271979167042255962500262643652756810813033\": [\n \"15507445222759094567452888252118598665738337019260635074624907494160736840671\",\n \"0\"\n ],\n \"424557738504384256803704229485179486218403471588197586325107452815664899194\": [\n \"0\",\n \"13035878280100508449046215345198917271979167042255962500262643652756810813033\"\n ],\n \"20914660385709852146225922892876493808705068664496306533320335195981497071776\": [\n \"424557738504384256803704229485179486218403471588197586325107452815664899194\",\n \"16424679197984176852052832469202235246737870192660719224162540438623959768837\"\n ],\n \"17937349841929585243893742339201559173276028916077218418737705551385929252700\": [\n \"20914660385709852146225922892876493808705068664496306533320335195981497071776\",\n \"17999635316387633205485132059348903318568494785083526084933042063642626680852\"\n ],\n \"13250515792887950948615792350471043426020408848205164919049791597962852730537\": [\n \"15286027448890594672333904207772968957856742132247925386826753291008910086961\",\n \"1\",\n \"1\"\n ],\n \"250269268928243119928600625113416667346332699272534720886816413802799996197\": [\n \"13250515792887950948615792350471043426020408848205164919049791597962852730537\",\n \"6761973050499952635057882400019249648712688244880393646342533222773997067006\"\n ],\n \"18689455413565075010003250592939987269860433689339694974446845643196501334757\": [\n \"0\",\n \"250269268928243119928600625113416667346332699272534720886816413802799996197\"\n ],\n \"2946698125810095107404497110671564921457809340034084602340742884534801492603\": [\n \"0\",\n \"18689455413565075010003250592939987269860433689339694974446845643196501334757\"\n ],\n \"6230013734988521867949927900254687697436228968548119772421833091014410590987\": [\n \"2946698125810095107404497110671564921457809340034084602340742884534801492603\",\n \"0\"\n ],\n \"19529000281319648056477149965531586459902839539806265884857358684348428638439\": [\n \"15323156046433234768134173184988503643480009793409043998989307289850763426491\",\n \"6230013734988521867949927900254687697436228968548119772421833091014410590987\"\n ],\n \"20980040124561862602001169438403245696601912793487535102572359746032625369309\": [\n \"19529000281319648056477149965531586459902839539806265884857358684348428638439\",\n \"18246988707151083287312762749480112979597270833659482712904456595502312889670\"\n ],\n \"11743848765351797769709131770005562146013854191958475328067135672201816855703\": [\n \"20980040124561862602001169438403245696601912793487535102572359746032625369309\",\n \"12695968994821531622987516219549076174848737575636354747954181774685879785230\"\n ],\n \"8607255669439030558227878905899552782010404871127306943717285608106274032360\": [\n \"20355634946970587437654953530266334301022059401401496289845694816769054629125\",\n \"1\",\n \"1\"\n ],\n \"17058675587299810605916932016004889091045464425888193636669882479379657497116\": [\n \"205184746026426323612819025804744641646211272922469897470237004901634967144\",\n \"8607255669439030558227878905899552782010404871127306943717285608106274032360\"\n ],\n \"6036250746054788169055793059855424737122640910428833813850606355236354282292\": [\n \"7881462962073719444480851544200057300280072123155416403186426826435880895404\",\n \"17058675587299810605916932016004889091045464425888193636669882479379657497116\"\n ],\n \"15530817324170469478886238466483225922945463940044162748146836447157106124009\": [\n \"9288730393324825253072642893901911442588205477465658881924885760228674108876\",\n \"1\",\n \"1\"\n ],\n \"2343450885756643885390767859268047450637918077222226809734576060100229011169\": [\n \"7185119674083424223114788448347459489761411003804483464231795426202434038004\",\n \"15530817324170469478886238466483225922945463940044162748146836447157106124009\"\n ],\n \"2399700592289608466041235327457904691476029294799750470491750593418473670013\": [\n \"0\",\n \"2343450885756643885390767859268047450637918077222226809734576060100229011169\"\n ],\n \"15912649545811221961406209426138662799974920658459130746940030849079484419212\": [\n \"4279682092117173684732543654056144824988917580835822210802067996329954208558\",\n \"1\",\n \"1\"\n ],\n \"8564331876208911901216772679123047834195177825001779433787102445371745109869\": [\n \"4433571569746599685579095740438121592488149880144962378502096804696081824068\",\n \"15912649545811221961406209426138662799974920658459130746940030849079484419212\"\n ],\n \"15870591831315432514981834876572679079773537617090130484629696709062300353309\": [\n \"8564331876208911901216772679123047834195177825001779433787102445371745109869\",\n \"0\"\n ],\n \"16981680431212030577556834142149580531076090908952054246500660075869773806375\": [\n \"4213069488901955965219854442882496920975003676081418737555502917621526758101\",\n \"15870591831315432514981834876572679079773537617090130484629696709062300353309\"\n ],\n \"6083370544989720109156048712010843914429147120094488276721009332466889312273\": [\n \"20021885637933999820279368951934334424094877681389576943781123582668877502181\",\n \"1\",\n \"1\"\n ],\n \"4666889373936098343987964569506898309781935747047823962596224591807687023114\": [\n \"6083370544989720109156048712010843914429147120094488276721009332466889312273\",\n \"19086943178680452912504691528803687061265650723733276950829556970897852177717\"\n ],\n \"11506470664804661539748680538199856475404906834552223141373098068647731412525\": [\n \"5586594631950621840536853070270815240392587436012623217450280105771860285853\",\n \"4666889373936098343987964569506898309781935747047823962596224591807687023114\"\n ],\n \"13756053946975130342719194779437452776930817316130336813606138300868251622668\": [\n \"13051780203546237648960143686566659259239436809939448380551739223470338018751\",\n \"1\",\n \"1\"\n ],\n \"450926128460855523391662534202527677521496002784439791189029733341397407513\": [\n \"13756053946975130342719194779437452776930817316130336813606138300868251622668\",\n \"2464101524034340475054104786694294217842833630917807038347152942620485510805\"\n ],\n \"209389863457418663520823217807196418752717770578913697788236964568474947900\": [\n \"450926128460855523391662534202527677521496002784439791189029733341397407513\",\n \"12060579642215962126012180532211237847495914858720271590181547563466796658879\"\n ],\n \"6870053989550758436751455361954302128324927026707502570754368587210506992481\": [\n \"209389863457418663520823217807196418752717770578913697788236964568474947900\",\n \"0\"\n ],\n \"11927806018577065704048584318913772080425349032736476268056432312348627399051\": [\n \"6870053989550758436751455361954302128324927026707502570754368587210506992481\",\n \"0\"\n ],\n \"339662980041944604232560742798320018215103022384731817021551665008163831793\": [\n \"4326579800713802223012270307942382820566333741517691586905017415555220195021\",\n \"11927806018577065704048584318913772080425349032736476268056432312348627399051\"\n ],\n \"2766731027409629309466746068728059989242159222474831299178480890608199763527\": [\n \"13997268780100034267395274635710557342103644246485721393290461261640872192273\",\n \"1\",\n \"1\"\n ],\n \"6681448836603390723864346540665565997793178298883497706500669050446803655503\": [\n \"1955838120855187279593126891874136385002807614830658375432743349042240656102\",\n \"2766731027409629309466746068728059989242159222474831299178480890608199763527\"\n ],\n \"15307012448779413058224189209894378270252829497510212440763213367502440053500\": [\n \"6681448836603390723864346540665565997793178298883497706500669050446803655503\",\n \"9450289140546698995959883903548012484985964137379933017520929855712476665826\"\n ],\n \"21150018934949946778341044140295087851289015144820607636252084234372969174560\": [\n \"7416336042030283007774287383488101575107640994522721181034087056545084567727\",\n \"15307012448779413058224189209894378270252829497510212440763213367502440053500\"\n ],\n \"7223248168430012201896586469117027513398986952188800554037856180683371558701\": [\n \"21150018934949946778341044140295087851289015144820607636252084234372969174560\",\n \"9005189122925554912249135603462306868434469096670732277974823780114372873626\"\n ],\n \"18413029377904011960676688607803046790688912936344558182015288027773276330319\": [\n \"16197372639439705628267040424537816196190355881191088648442149472632502355829\",\n \"1\",\n \"1\"\n ],\n \"3055537162395172166275216486067101457908312961404259344044789146386307092842\": [\n \"18413029377904011960676688607803046790688912936344558182015288027773276330319\",\n \"18665645421422366728527629043411310873972552386815435904641797941752563534639\"\n ],\n \"47295211085754753274519895133352671835001097769118814821385095419054026349\": [\n \"6597011886689755828027420576886948999266118282282913443899855708153766730243\",\n \"1\",\n \"1\"\n ],\n \"18960682928619714485541966026060919010584142331016332739237158663591520169596\": [\n \"2238346593370529095890974481824810566897015582029489314847844743408248822689\",\n \"1\",\n \"1\"\n ],\n \"2949950744136594861994952908788817003826027969575369897187111580015124466799\": [\n \"18960682928619714485541966026060919010584142331016332739237158663591520169596\",\n \"17967885218643139953427287671912419246544110704292150226103161501175549061751\"\n ],\n \"20900691214747823375015929685497177537788936191931446340541402127516122730296\": [\n \"2949950744136594861994952908788817003826027969575369897187111580015124466799\",\n \"0\"\n ],\n \"14984959203660723839072306094064363427008084621706353342887321932265148210730\": [\n \"20900691214747823375015929685497177537788936191931446340541402127516122730296\",\n \"0\"\n ],\n \"17362658674922726652428219417502767838976300579433455427003091420231415675533\": [\n \"14984959203660723839072306094064363427008084621706353342887321932265148210730\",\n \"0\"\n ],\n \"18104372203933084801840463373709890466530417130222863369613678654662481655299\": [\n \"1246248729396840636108306875818027334670169462329143186539424941045359391298\",\n \"1\",\n \"1\"\n ],\n \"13476136931444411153729835324976552225672327306742810514838896833313988834346\": [\n \"9137359671365915089012417317381223242230326354245459509510483492145234777440\",\n \"18104372203933084801840463373709890466530417130222863369613678654662481655299\"\n ],\n \"7370746091960501450024989876369170327068666247365140149237377972401244823708\": [\n \"13476136931444411153729835324976552225672327306742810514838896833313988834346\",\n \"18625625836262148511010731184511568347937558569697107701516558170795374861053\"\n ],\n \"13647539699263281211780480809924444092187170799441038623951460577647224986836\": [\n \"7370746091960501450024989876369170327068666247365140149237377972401244823708\",\n \"20013712298727209088575520367215373167294270337604205919461317600372726811792\"\n ],\n \"11643381071114887297893682255553319123973502369635958412892029755228853448319\": [\n \"1134712833750190705789386231012243040309257515872743429542722604804218694209\",\n \"13647539699263281211780480809924444092187170799441038623951460577647224986836\"\n ],\n \"11311479382748619931256064016339406135924366557518071217053180775683109911029\": [\n \"5267309312351538078677724094577992762478959250216005653817983195534450777342\",\n \"1\",\n \"1\"\n ],\n \"17867780732000679472465436901692023319077074730488679103323300226290502346411\": [\n \"2241882168355497823226815151684395171806390793752058540474614812972426228494\",\n \"1\",\n \"1\"\n ],\n \"6528590076571028654689384400475498376934680410668727670928473422691440611112\": [\n \"8417060774044902643314640212295695061418598576782615391090298440053443672564\",\n \"17867780732000679472465436901692023319077074730488679103323300226290502346411\"\n ],\n \"10436199663332526138355940578888683887560447739598823771744746759660172521165\": [\n \"6528590076571028654689384400475498376934680410668727670928473422691440611112\",\n \"10042120463600772709213014379709034779622869828171957887526103922768673454995\"\n ],\n \"7582415168734811396961849177079681819336089971062790888132459389850010524432\": [\n \"4628123013810677493080604951422293305454017421839213268500737326982108449854\",\n \"1\",\n \"1\"\n ],\n \"2370971948544448650212176471613532353891036827587113736190568986397500301298\": [\n \"7582415168734811396961849177079681819336089971062790888132459389850010524432\",\n \"14036397904376173672157028351788738443231231486519006994397039534828813991159\"\n ],\n \"15758435959425833285715904052258105309969441340657272769190345825874073262318\": [\n \"17495063172266820249738889101500891456019159143227826664471685268901884774525\",\n \"2370971948544448650212176471613532353891036827587113736190568986397500301298\"\n ],\n \"12134461909398677855427504674272609094808681658952588575803253253015066540741\": [\n \"5090749594904797917728564649508860066942451963551382810543706486364002071079\",\n \"1\",\n \"1\"\n ],\n \"3633690496305756044616650476845125962608443873174267689428629229876437714829\": [\n \"12134461909398677855427504674272609094808681658952588575803253253015066540741\",\n \"14361178082023506689410314394359261964017687183815439718902389642434323727739\"\n ],\n \"13408442208546119304431875626834324356344246318000329021707702823052590580529\": [\n \"3633690496305756044616650476845125962608443873174267689428629229876437714829\",\n \"0\"\n ],\n \"13561224413932382188885276238761963901278135722280632622265560141677324810407\": [\n \"0\",\n \"13408442208546119304431875626834324356344246318000329021707702823052590580529\"\n ],\n \"4331093311540251381086003689201056198203550346349801026268189292594567197974\": [\n \"0\",\n \"13561224413932382188885276238761963901278135722280632622265560141677324810407\"\n ],\n \"11951521689489478027997923454527370374645975975820985509088625808769050773194\": [\n \"4331093311540251381086003689201056198203550346349801026268189292594567197974\",\n \"7140937907693217131225040819949589441006591480046703465439328519849495750205\"\n ],\n \"5968445714572437879263360188054339177418752772524114262758655343541964361432\": [\n \"11951521689489478027997923454527370374645975975820985509088625808769050773194\",\n \"8247272801145914466123309712092896807009431355308849474448678558027833792743\"\n ],\n \"14722866603082426518110076012273061420873926203024282081887337647144052615953\": [\n \"2825386113027327401501499946013270002306146908047272406677932416045680049068\",\n \"1\",\n \"1\"\n ],\n \"11884626768355607638687652772806930067694661068628064646361606567233577353036\": [\n \"21331407145825356831543045562897454814781010511582766427005423697917778822228\",\n \"14722866603082426518110076012273061420873926203024282081887337647144052615953\"\n ],\n \"15136615641115154996009758307091022240796301799379081736925393902908983318413\": [\n \"11174847737307998665205453111082997611929794543551135132764196146805625881700\",\n \"11884626768355607638687652772806930067694661068628064646361606567233577353036\"\n ],\n \"17458705837446381327465742501213654133868137758761365328124656983452543760197\": [\n \"20941833405226553644168352956278067520517575997929866185908421986941682503454\",\n \"15136615641115154996009758307091022240796301799379081736925393902908983318413\"\n ],\n \"6537098543216197622481500421928938088608837363743852596145907027982125718352\": [\n \"17458705837446381327465742501213654133868137758761365328124656983452543760197\",\n \"10261318520975943250521207586996484203238898269977263406742534092080995854263\"\n ],\n \"19855665688462692820688125387727713355130570877945412108439960052334776169926\": [\n \"15212325559506776355840868674326513392130170787578903360274165527382001248829\",\n \"1\",\n \"1\"\n ],\n \"9873618596264970155827150821249754126179229369355627897302627809856217806203\": [\n \"10770464496937307188904520766083943081680954988395795062832867199392002099691\",\n \"19855665688462692820688125387727713355130570877945412108439960052334776169926\"\n ],\n \"823511883019266660792862252979929801057978944033384753653801527877327459688\": [\n \"2126056078418570441336124356701435386693319492745154340728997422663656700330\",\n \"1\",\n \"1\"\n ],\n \"1980627633074447751066887589720403825392190469140388831531079139989750989886\": [\n \"17315908780826975998511792038831263440122942253447389277963431233332011766201\",\n \"823511883019266660792862252979929801057978944033384753653801527877327459688\"\n ],\n \"9540462578488576898120467719638582727693181352964435703993546040372442515654\": [\n \"3492275449778176736556299302410804956191784950519934841613837670346998167103\",\n \"1980627633074447751066887589720403825392190469140388831531079139989750989886\"\n ],\n \"17165012446606577010447521436947839483315856211095418727572575424782795153901\": [\n \"9540462578488576898120467719638582727693181352964435703993546040372442515654\",\n \"0\"\n ],\n \"2116071655111051455943425211048746556673115044726035233111843393642195312563\": [\n \"17165012446606577010447521436947839483315856211095418727572575424782795153901\",\n \"13402705106436328115455626574858715646180151028134363324655045251180224478586\"\n ],\n \"14176498480214756897792397868132550836265318365198345337445918300365723111502\": [\n \"8100285378326001876224219862808946668164914568492722274800782738482509298806\",\n \"1\",\n \"1\"\n ],\n \"1207997146331438762373092440529997757061398779701252737571278782597478705272\": [\n \"3779908640950361580835244917986078912655010237801431492991691959678813057359\",\n \"14176498480214756897792397868132550836265318365198345337445918300365723111502\"\n ],\n \"21280220062897542996787302260797721540588128445012422491075444841067953873794\": [\n \"21071941750585392108533627450846736113476709731345937259553170658468001835074\",\n \"1207997146331438762373092440529997757061398779701252737571278782597478705272\"\n ],\n \"20995265294579530705472309755496498775148406729762313732239591478605536205754\": [\n \"5971970570161684575388254072988690981564362044563662515791760610082335556294\",\n \"21280220062897542996787302260797721540588128445012422491075444841067953873794\"\n ],\n \"14407947464037884908593592482434526912086050166554066297848019063138739465322\": [\n \"14160344438090588442055282678571908523902958824595694304129693730956416973212\",\n \"1\",\n \"1\"\n ],\n \"766431598994691596390995291815805659955487327981842992599892357823096340749\": [\n \"10802719691980780504967980811799549173987329656629576465183711565494438931247\",\n \"14407947464037884908593592482434526912086050166554066297848019063138739465322\"\n ],\n \"5816850938639200281294895877384809699390803950474602268740404469856357368439\": [\n \"19279292580124020535574347132692011860424645292748433069528286218187965055794\",\n \"1\",\n \"1\"\n ],\n \"14296388022788240396380231585841678353430337621744618029024202580545422518668\": [\n \"8026115222667600353785026189179563222218418698845408996674018023598407646842\",\n \"1\",\n \"1\"\n ],\n \"186314293607419567085442280101888802322474846351038215857668584892868633022\": [\n \"3087461840322767372091849256120570218498812287404974352764656269178987551354\",\n \"14296388022788240396380231585841678353430337621744618029024202580545422518668\"\n ],\n \"1778303033156271942624455886109168290678493307556876863943198142016752738217\": [\n \"8907637677374534868726684490523408412917291230933426417755653693985582762235\",\n \"186314293607419567085442280101888802322474846351038215857668584892868633022\"\n ],\n \"5506271685320125617536884558645572950416334175960873206283696740705239415753\": [\n \"11451129593719622065250580106574306081891640541522921815282068827609255124981\",\n \"1778303033156271942624455886109168290678493307556876863943198142016752738217\"\n ],\n \"21342492637787359557126097589483240331553053919639509993757366143188768307445\": [\n \"10888671551169286669019582448441617920093620472344163257176962947542049611022\",\n \"1\",\n \"1\"\n ],\n \"20112091439022219608238902926330309825659963826554863976854443876059113672057\": [\n \"1051709170072582800954068029876915318883765479338280484866711406019976193368\",\n \"21342492637787359557126097589483240331553053919639509993757366143188768307445\"\n ],\n \"18578516050005389515994077316165847658844202973674314344679639835454568401910\": [\n \"9069689282720239740957463624948683885688893052890130876329837623305242182267\",\n \"20112091439022219608238902926330309825659963826554863976854443876059113672057\"\n ],\n \"3867249598713813154160704133275436091725929308004537584700691229655575682681\": [\n \"17781321205516561695073785135192650273034092405924669032627353266357308813845\",\n \"1\",\n \"1\"\n ],\n \"5488105129184785776035998141868809900126306872834748517003885588913798726936\": [\n \"3867249598713813154160704133275436091725929308004537584700691229655575682681\",\n \"15052736073026730297631725670993153212724481831982306889264168957627479423068\"\n ],\n \"15819618708549998228493257193245351167891658056790206504706322637250747892785\": [\n \"5488105129184785776035998141868809900126306872834748517003885588913798726936\",\n \"2003187763403607699201940779758894449213007265133366615770574994775766326059\"\n ],\n \"5665811558450990875971968624580223672047878462331469714450750143019158202283\": [\n \"10395784441742674772976320429516921887284100256482392419173988156131562291155\",\n \"1\",\n \"1\"\n ],\n \"12327219672336340446153241203059011530977509243178568653068394029430412766129\": [\n \"6425125066210612271035114675748602449172982692158945685736913439398814431787\",\n \"5665811558450990875971968624580223672047878462331469714450750143019158202283\"\n ],\n \"3719295332833037262746671743301078103127260142264819260431375589127493259050\": [\n \"13850586402558323421730710241069983062888878901205616939195097614231543896330\",\n \"1\",\n \"1\"\n ],\n \"15633159907134006858875240064502829851954841444618604949144137718297440158470\": [\n \"18110361564997936156234320563954580791654373603079587731099119492845990439099\",\n \"3719295332833037262746671743301078103127260142264819260431375589127493259050\"\n ],\n \"10305214042262502967165181961732540360415152123737451953389026504424926056556\": [\n \"15633159907134006858875240064502829851954841444618604949144137718297440158470\",\n \"0\"\n ],\n \"14904214196204820426559726744412833997269364799200021525742719119400499592649\": [\n \"10305214042262502967165181961732540360415152123737451953389026504424926056556\",\n \"13184997533766907387001753227869008971798144388704685210976927879482855573061\"\n ],\n \"5243441008548943864078802002808180648844835528532099357861818591624883742192\": [\n \"0\",\n \"14904214196204820426559726744412833997269364799200021525742719119400499592649\"\n ],\n \"15519215658804759941247856258836742750862437666005512538657338768806228699543\": [\n \"5243441008548943864078802002808180648844835528532099357861818591624883742192\",\n \"0\"\n ],\n \"1294332258313464793752383120277222640553050432574891469207878061513414145534\": [\n \"10351202072500912544650755786580051052597680827946953569928893159084569886490\",\n \"15519215658804759941247856258836742750862437666005512538657338768806228699543\"\n ],\n \"19141810744821173958782158002491993875346136197307787273284108396972591253044\": [\n \"1121826946368236088235047735154284124805523868798610626833854885614837572386\",\n \"1\",\n \"1\"\n ],\n \"9183368714123810507904108912018778478786137207075684869779659544913381076379\": [\n \"18099047912805756523737480086374479660287002358863057042673793923027868516043\",\n \"1\",\n \"1\"\n ],\n \"7380953560207642999699428609292390102123516533210127117151880393795770458472\": [\n \"3535158912938845923373422134072735490855176922371108996038358434982489183202\",\n \"9183368714123810507904108912018778478786137207075684869779659544913381076379\"\n ],\n \"5910286487789568743517569628244879332923515263155957085268271961371997506045\": [\n \"0\",\n \"7380953560207642999699428609292390102123516533210127117151880393795770458472\"\n ],\n \"16766508876637356588959788651490074353473714191289926934023128006623825750306\": [\n \"20137992379185332622291417211656950875469825425356621972707282669751116360967\",\n \"1\",\n \"1\"\n ],\n \"18378619112640191852584876250392295298744222096157846228543260633668319655879\": [\n \"16766508876637356588959788651490074353473714191289926934023128006623825750306\",\n \"738097106001582009023820304806679330058334033750185509746808410253519766935\"\n ],\n \"5932126236929398596601923126766775191261497234077311079366383350899529001293\": [\n \"17011552533655000096547569489588260941871895282780517779406682235967594456950\",\n \"18378619112640191852584876250392295298744222096157846228543260633668319655879\"\n ],\n \"11206077449177794500118347265842651538868353758508222145846655833212221180237\": [\n \"20055645853514025850018845296457538321037154143770109149516058702220587582938\",\n \"1\",\n \"1\"\n ],\n \"18320959613153412986965551282205150771836539522442947197483167600744256530073\": [\n \"9471279501375630812945807391743104228306359687673949615986614989689624030387\",\n \"1\",\n \"1\"\n ],\n \"13334766030047126545519159920725984884092090798933747450957677274276913184843\": [\n \"11390958024282416863769427235993544547243647759369560550239672392410235442171\",\n \"18320959613153412986965551282205150771836539522442947197483167600744256530073\"\n ],\n \"4855096133123562235020908001210028315042157330366460815641793747157127733977\": [\n \"0\",\n \"13334766030047126545519159920725984884092090798933747450957677274276913184843\"\n ],\n \"19109954291551555728464628988439076915873719214318251495800844094149390901392\": [\n \"4855096133123562235020908001210028315042157330366460815641793747157127733977\",\n \"2903154954878030422956983698501180280847267666960715439434925879904657541204\"\n ],\n \"13432841829289210545827144847582303594610427111302545408040551270492171448284\": [\n \"2541180378804321487232296349982886454915426858010157735358226074531507890768\",\n \"19109954291551555728464628988439076915873719214318251495800844094149390901392\"\n ],\n \"8414730595728365726601897234924987508056488675572977962114259547404793008235\": [\n \"10921974512254865814809717082376194545604330075570186344116539350854752631340\",\n \"1\",\n \"1\"\n ],\n \"3054348298320450608722507008087153106974369120626520384973818338948778674493\": [\n \"8414730595728365726601897234924987508056488675572977962114259547404793008235\",\n \"2534015970720411368003017974321444905451454896199320399062585386445627973834\"\n ],\n \"8540647171287747444901230837533740807746287430939467928950790116204156134649\": [\n \"20558794830938510057000418143641918064083334562208974640100405073278203821863\",\n \"3054348298320450608722507008087153106974369120626520384973818338948778674493\"\n ],\n \"15284550385955333948535208498111277845309659700769408051610663354376268162605\": [\n \"0\",\n \"8540647171287747444901230837533740807746287430939467928950790116204156134649\"\n ],\n \"11809104479635226637801301199911791482660497289373084101001455538485730335534\": [\n \"0\",\n \"15284550385955333948535208498111277845309659700769408051610663354376268162605\"\n ],\n \"12993747572140717783276590570646609615389786067036594982612451170190828433508\": [\n \"6005218772138813553987414144706707630515323291430522617162856448320942336109\",\n \"11809104479635226637801301199911791482660497289373084101001455538485730335534\"\n ],\n \"4178868028884125989044861027605583174196909110089400632348583144140110769790\": [\n \"6997345750590452079999166295011020913350353688733007686289101744288897467003\",\n \"1\",\n \"1\"\n ],\n \"14145613954032681299400952156127819480853814676387672160444195586628957261043\": [\n \"19282836817906445720839088779796749429699885983775382642095149266713785830525\",\n \"1\",\n \"1\"\n ],\n \"606132702696136540040241776415282203908823942540635722441024764699492553005\": [\n \"14145613954032681299400952156127819480853814676387672160444195586628957261043\",\n \"2600864991812468962255325186038281644166251475047013621034832542030077361967\"\n ],\n \"10115888711415177598129139276988172594358077404637001518381554752898961851125\": [\n \"14702482157574928555868692392112143778693497783434737012699680434615781773200\",\n \"606132702696136540040241776415282203908823942540635722441024764699492553005\"\n ],\n \"15891885438917100910326250493926082465565817194536020687281085234166920426177\": [\n \"8918150509162904732888437493412412989875141411556335248687401138774098682808\",\n \"10115888711415177598129139276988172594358077404637001518381554752898961851125\"\n ],\n \"10855492153284527506122117878611212140726654336615186687271060538053547308207\": [\n \"15891885438917100910326250493926082465565817194536020687281085234166920426177\",\n \"9690581548797281363232390172004010746830192189250550855109999357853074416921\"\n ],\n \"12158064274328858189357825303117931896371951657267525053235591221320701157694\": [\n \"20024651023751136107765817974056861981811945725554514002245220213965419940707\",\n \"1\",\n \"1\"\n ],\n \"6429620599753522230327705508535703601811452051266939427457511139447971236024\": [\n \"12158064274328858189357825303117931896371951657267525053235591221320701157694\",\n \"9451631034841813276237180049722359789151741647683520180416113440856772251698\"\n ],\n \"1947981726743109351425396468968142687756357448131382954129763326192781540468\": [\n \"0\",\n \"6429620599753522230327705508535703601811452051266939427457511139447971236024\"\n ],\n \"15626914341906570896881646094252300432766253920214995559924922645642882813197\": [\n \"1947981726743109351425396468968142687756357448131382954129763326192781540468\",\n \"16114421206692808371991505514606699358875386788663971073561707481374009208157\"\n ],\n \"17639370718405048569105885655220049396267651003849251230142110248060978099709\": [\n \"4406157795667206151035839300062102673484389148411975321809640403009952364305\",\n \"1\",\n \"1\"\n ],\n \"12576675321095342702112891486138433778639393596065172665046517572822945319499\": [\n \"21061566630765193466329573830428887688616739660245832961846795019312810177553\",\n \"1\",\n \"1\"\n ],\n \"8916972753538251521658157304898907778717597290393067268490907833569286937187\": [\n \"12576675321095342702112891486138433778639393596065172665046517572822945319499\",\n \"21244300963869508361309443618773211352619945072254592267357124893211078491885\"\n ],\n \"17881143008011909217164923496598998545544270314656877583418534186054921023071\": [\n \"8916972753538251521658157304898907778717597290393067268490907833569286937187\",\n \"0\"\n ],\n \"5041320897937264302839301312965871440341109456629354765931354333271762351236\": [\n \"17881143008011909217164923496598998545544270314656877583418534186054921023071\",\n \"0\"\n ],\n \"17094850933780502601753285669208162961621513614279005961534771683875649636084\": [\n \"5041320897937264302839301312965871440341109456629354765931354333271762351236\",\n \"0\"\n ],\n \"17788190512445597408783175119061479425211113250381667546341011922801231402741\": [\n \"17094850933780502601753285669208162961621513614279005961534771683875649636084\",\n \"0\"\n ],\n \"19037970548797999294702244669026140241688083017384791784900780050273472080799\": [\n \"0\",\n \"17788190512445597408783175119061479425211113250381667546341011922801231402741\"\n ],\n \"5856267620308028506284691142259545849304842748384663773317543758997739046908\": [\n \"1190813318134664676234582402138696747782855094278112207439351946171291632148\",\n \"19037970548797999294702244669026140241688083017384791784900780050273472080799\"\n ],\n \"17756226408349098360908952705884686635170141077388700936030155131775939329691\": [\n \"16245606665696519209736439297267003556242322897631266976072286142818512192086\",\n \"1\",\n \"1\"\n ],\n \"2621612901349700619624638600944634018055438952634371593488532256648027434094\": [\n \"17756226408349098360908952705884686635170141077388700936030155131775939329691\",\n \"1987624084203119337498109463178236371974639646718913587969771163466242253347\"\n ],\n \"6830170084364829595710456098233164272691389034870370402043932206559589638101\": [\n \"11434057627710413232456434884892424904498441837286517975499366965584948159448\",\n \"1\",\n \"1\"\n ],\n \"283653965770592889300727918477658826712316518633118431021279877907052829782\": [\n \"7257044256102307065430887466004226974939556599306168329753576185501930391420\",\n \"1\",\n \"1\"\n ],\n \"21260920643483538151077453521409935669201109635880929540847427577165120567290\": [\n \"2409571690707560291612600711524078351092906385285804547701485587634417452271\",\n \"283653965770592889300727918477658826712316518633118431021279877907052829782\"\n ],\n \"4066601656104615620718817580978304774241522140606543912599169973752914500353\": [\n \"21260920643483538151077453521409935669201109635880929540847427577165120567290\",\n \"0\"\n ],\n \"3812378678278140623630318134265388789695915061862117883990275001916212132332\": [\n \"4066601656104615620718817580978304774241522140606543912599169973752914500353\",\n \"0\"\n ],\n \"4595735408012214715422044346043779053328175953275660162796124748605390634546\": [\n \"4020346765865843425784736419246387015424158776972146683568678369659613556033\",\n \"1\",\n \"1\"\n ],\n \"793135496434201131027217499047377649051866384964159471240138522250162142017\": [\n \"21884643265722167489872130337660623911491890833712134968982995716581037043754\",\n \"4595735408012214715422044346043779053328175953275660162796124748605390634546\"\n ],\n \"2046903020156090672069508252690529341346407680820089611216524019251950043862\": [\n \"793135496434201131027217499047377649051866384964159471240138522250162142017\",\n \"0\"\n ],\n \"11347741901622671617992598381656326053186301848628047027904213394209473049069\": [\n \"5255234793668201482932639569479963808236721536903120841845539763569631656699\",\n \"1\",\n \"1\"\n ],\n \"14371766262110532258440268046139530645017212018534317063827561675515585418959\": [\n \"1404679713517077831774298627198804280584182671869904578043138171051743600506\",\n \"11347741901622671617992598381656326053186301848628047027904213394209473049069\"\n ],\n \"7801529618627389228524431112027521607255542602649690473683619473866931774206\": [\n \"0\",\n \"14371766262110532258440268046139530645017212018534317063827561675515585418959\"\n ],\n \"14244040890750748984339289141809507308580271217840243772963774506455975229154\": [\n \"7801529618627389228524431112027521607255542602649690473683619473866931774206\",\n \"2344310498098870972358738138089233844174497938412514494453340539532337751719\"\n ],\n \"21752100464140217236941407792860424929903677535273851015702771339035871922594\": [\n \"1487758019996033555989597932297418571918386230742058429586982026695147849250\",\n \"1\",\n \"1\"\n ],\n \"8301647057064848850054323772592901101861273987002078958081468629745242250009\": [\n \"20103339500858409699894524731080967529722946433653125237652066206252910545158\",\n \"1\",\n \"1\"\n ],\n \"14528739771342417455010584080228534368353737394165740468340367952333739114264\": [\n \"9478733841367768455997382844068461396016166258133710268132504252388199474688\",\n \"1\",\n \"1\"\n ],\n \"17185002294372026423686789563382234335166012965706743013270996936830551382725\": [\n \"14528739771342417455010584080228534368353737394165740468340367952333739114264\",\n \"1551999901219333921105088186138742503733734830429447821353256766437221833244\"\n ],\n \"21125795124915739740397444275856924742547561878024503223474313555905132592071\": [\n \"8924002499584263710857916261830449874804153309501514644517683015123124258059\",\n \"17185002294372026423686789563382234335166012965706743013270996936830551382725\"\n ],\n \"977805825021287025479394002606517693298001104858499310268724672714277149970\": [\n \"21125795124915739740397444275856924742547561878024503223474313555905132592071\",\n \"9316541793998032153488606853952703721168289564873784202393953091384118085605\"\n ],\n \"19314404485590887176849785620408048725906624783698111303965345854985676418183\": [\n \"977805825021287025479394002606517693298001104858499310268724672714277149970\",\n \"7140460326871722888193983239825280690188215347201648138117907588239021702270\"\n ],\n \"19239037313191892386576719869578642468543057063772132226146216521405448789328\": [\n \"6660662462319470758429993105920379581374741658679833456534022565794369980359\",\n \"19314404485590887176849785620408048725906624783698111303965345854985676418183\"\n ],\n \"10002410294459489121971882230824902840641642244451066078876981241454722826536\": [\n \"9268713027367163930854134439671652689691455586204482781756781971719373610420\",\n \"19239037313191892386576719869578642468543057063772132226146216521405448789328\"\n ],\n \"352093449864554567329254747483173046039844396126716098300771946035747451303\": [\n \"1964831353817752609517259127823594964118980366020826150622886446790124721938\",\n \"1\",\n \"1\"\n ],\n \"7396693758401432210127207680913951632159053886243550327597229854443367144843\": [\n \"16208528898512564398855698767892820959180033032877721287119299570719788899166\",\n \"352093449864554567329254747483173046039844396126716098300771946035747451303\"\n ],\n \"20154292574555066563608422622427098384750868745893431043853094947704007944837\": [\n \"7396693758401432210127207680913951632159053886243550327597229854443367144843\",\n \"0\"\n ],\n \"494529414164343364634018062052833277909736341738586553341795302892118679364\": [\n \"10093462632801493350216217428520914954904404550271609421623251585092743555429\",\n \"1\",\n \"1\"\n ],\n \"11870537170239303990490949743573060877561544146031135211645615448181606991207\": [\n \"8643149923025726032162597030753890297315669704509473225811227940794098982873\",\n \"494529414164343364634018062052833277909736341738586553341795302892118679364\"\n ],\n \"3630947832557998449283292983562399073007642443188486947203727134634354083985\": [\n \"0\",\n \"11870537170239303990490949743573060877561544146031135211645615448181606991207\"\n ],\n \"13701970384140982006077426351158638138432885734817561495347153547709475329508\": [\n \"0\",\n \"3630947832557998449283292983562399073007642443188486947203727134634354083985\"\n ],\n \"20002327785595974688369366573831282663265500878941130348783270773462205250729\": [\n \"0\",\n \"13701970384140982006077426351158638138432885734817561495347153547709475329508\"\n ],\n \"12219489583585723591039091643958204914425625550590460578073670427812183670104\": [\n \"20002327785595974688369366573831282663265500878941130348783270773462205250729\",\n \"0\"\n ],\n \"12453867765323612085859456834642435743311297939908978232950779700018495582029\": [\n \"0\",\n \"12219489583585723591039091643958204914425625550590460578073670427812183670104\"\n ],\n \"7813209250542916253207806732621393826338136274672019097108571699790103795032\": [\n \"0\",\n \"12453867765323612085859456834642435743311297939908978232950779700018495582029\"\n ],\n \"13022872688406897913055542675816201477987267934993375593343115027978488188194\": [\n \"7813209250542916253207806732621393826338136274672019097108571699790103795032\",\n \"0\"\n ],\n \"12318084385651826036146520204372570379319236440682708520813969372459926948737\": [\n \"3186344290393809125238878458664966989262687300719921907439781878938499101926\",\n \"13022872688406897913055542675816201477987267934993375593343115027978488188194\"\n ],\n \"12383222379658769571828504482078214642677647087848309469774405519240190230723\": [\n \"12318084385651826036146520204372570379319236440682708520813969372459926948737\",\n \"3444272085379431553783217825684953419279597413378047191657637423236767276211\"\n ],\n \"12202676059915287100458437927835031962988382357602627622850359562442726508989\": [\n \"9607883408708149462779267911234164222653251070959607348249232161618650262420\",\n \"1\",\n \"1\"\n ],\n \"19098035871535570751397575386687522430262592682537265794534545821176811070375\": [\n \"12202676059915287100458437927835031962988382357602627622850359562442726508989\",\n \"5566508238047345820971353221022927667068587468309650490536902116542245686754\"\n ],\n \"1913401179782519671269101369929333989462218107819336388265680118867282397728\": [\n \"3317496576700635209519652313365603290632952204802490527727031851943216437601\",\n \"19098035871535570751397575386687522430262592682537265794534545821176811070375\"\n ],\n \"9358121232864531180682712748162444669389981312310576508180161024258305668041\": [\n \"1913401179782519671269101369929333989462218107819336388265680118867282397728\",\n \"4172223240191006553013283768207764558972199306331992798518371801416483238487\"\n ],\n \"19002874669233629644641692937233569187884368102577207362380198582798647090278\": [\n \"5146112422238294609639964134798017542770239288984851333832760160954898126716\",\n \"1\",\n \"1\"\n ],\n \"14171767935969989649074559125096357728883286225485324786225269971955633432960\": [\n \"3812378678278140623630318134265388789695915061862117883990275001916212132332\",\n \"19002874669233629644641692937233569187884368102577207362380198582798647090278\"\n ],\n \"3986254771121304452936798727703518455431357663739180240791532211937082569220\": [\n \"14171767935969989649074559125096357728883286225485324786225269971955633432960\",\n \"9154506117264238884000690441073045671623846790428242876271733390818679343971\"\n ],\n \"2831312918259721374413607561061926006613469661792169815747276736777025634613\": [\n \"20693364600896908843289409748203328464316340290110476204695139173786033007504\",\n \"3986254771121304452936798727703518455431357663739180240791532211937082569220\"\n ],\n \"10317447990743962955442895167812063559686966586975837708348917198041014472015\": [\n \"13162496980431308793268343197472240742624884491393293550739284628189758464455\",\n \"1\",\n \"1\"\n ],\n \"7856167742137018538628142098590258142828589365991582466687230443040672931623\": [\n \"10317447990743962955442895167812063559686966586975837708348917198041014472015\",\n \"7066176088933194891132195652223909049404613294867842602145095587388816795700\"\n ],\n \"21069078701419798036746388537338352259053225137846285460417574181647168438382\": [\n \"7856167742137018538628142098590258142828589365991582466687230443040672931623\",\n \"2265984255332709101334111179896623408695130733351894378400468034303140762890\"\n ],\n \"16437172775732819354165159918477849650925660497568671727763463698143495568080\": [\n \"21069078701419798036746388537338352259053225137846285460417574181647168438382\",\n \"13489209851594708651942747782271994969968706726912127707228618870951950920900\"\n ],\n \"10443092884610762156354435414915076753961005699074104306356187563734864866413\": [\n \"21537570326200869833264837454773398365620714221875118923019206524565559269608\",\n \"1\",\n \"1\"\n ],\n \"8400932900429593467545486244480408749177531264271619457372611813773884617444\": [\n \"10443092884610762156354435414915076753961005699074104306356187563734864866413\",\n \"16975317864860505752585390466371921178965811544310358043782566573783617878426\"\n ],\n \"14138738257402921936783382447955836389905768670312052397191809372039219213161\": [\n \"17078889247585993150622481416550809506935680578543008600315606403931146416578\",\n \"8400932900429593467545486244480408749177531264271619457372611813773884617444\"\n ],\n \"17362814878022369812811453234622513327639718596247781110590270294811493171890\": [\n \"14138738257402921936783382447955836389905768670312052397191809372039219213161\",\n \"0\"\n ],\n \"8780539288784655043969044054540261960270211988252827220909536391384633720465\": [\n \"0\",\n \"17362814878022369812811453234622513327639718596247781110590270294811493171890\"\n ],\n \"902377276868222142238206633474653558175381219372257210330986437031286497833\": [\n \"8780539288784655043969044054540261960270211988252827220909536391384633720465\",\n \"0\"\n ],\n \"153302214416599022552210942818419269230037854386771530127634919172024552377\": [\n \"0\",\n \"902377276868222142238206633474653558175381219372257210330986437031286497833\"\n ],\n \"3829431138505389330004856360390118393861286826044360606622421082312876319985\": [\n \"16478484269085733665783812767299100725608272117011291265641567590959319548919\",\n \"1\",\n \"1\"\n ],\n \"4388067195609830841603366279126446195207911351670199990964712927177054751769\": [\n \"3829431138505389330004856360390118393861286826044360606622421082312876319985\",\n \"12461387983382821625760576169862673426460936849551836819670310339208921834709\"\n ],\n \"8926817807956448930444091570452973614850580327115772678752315182995357746891\": [\n \"4388067195609830841603366279126446195207911351670199990964712927177054751769\",\n \"3418443076844262685439005345443566615161904632616524959676817838203596325853\"\n ],\n \"13797946537702164475223048264985170281850180967661814151300456079010636023007\": [\n \"4931876808351532219240343668627805409485567389284535174673169620579293790272\",\n \"8926817807956448930444091570452973614850580327115772678752315182995357746891\"\n ],\n \"6617729625869029624956460518621887378333803970948306532632334364867259118857\": [\n \"8172885448810413325758545678959789638513548974809387727714006104989549150335\",\n \"13797946537702164475223048264985170281850180967661814151300456079010636023007\"\n ],\n \"18072430278465230011481907116480858072959436749903455659372536076576625217037\": [\n \"20252406267711432931817638261286761783112137452405265035570693300894721516401\",\n \"1\",\n \"1\"\n ],\n \"19938886950768050772125575495679612968088683000951754394732591706928344960225\": [\n \"13138810049178831731590614420724260985176227633773242019817808332889705096565\",\n \"1\",\n \"1\"\n ],\n \"4685342261311363534207303072160705908735346710228232311886342796223630153525\": [\n \"19938886950768050772125575495679612968088683000951754394732591706928344960225\",\n \"4624304337371429003596063719057103724515184810520446336014200629868270687423\"\n ],\n \"6184216580794767563623356563991260069925375374372249136853200758559893829661\": [\n \"21855774002440666356111428187554546051658868936055860100675503965574361742578\",\n \"4685342261311363534207303072160705908735346710228232311886342796223630153525\"\n ],\n \"7279245009760470267671150665770044499101123755323332298508636066009171939720\": [\n \"6184216580794767563623356563991260069925375374372249136853200758559893829661\",\n \"18084121552573891453918317762833652859091697895270202904567663721600629671380\"\n ],\n \"7342185015464948039547207633757265047065156414419410792851825589002790124986\": [\n \"8550446984179711264292439548614351464317917005328483496239106331369995668721\",\n \"1\",\n \"1\"\n ],\n \"9320810237122100694293762374746454325759053245494689824838359134816475801376\": [\n \"13749521929307177485131967796561634738301350137132120921991785755537736944946\",\n \"7342185015464948039547207633757265047065156414419410792851825589002790124986\"\n ],\n \"1808793270711936613027712138422143281252253941115090895376566517051383724193\": [\n \"9320810237122100694293762374746454325759053245494689824838359134816475801376\",\n \"0\"\n ],\n \"8039199998851188833753706487991850417387317613521879925877410561233291516999\": [\n \"0\",\n \"1808793270711936613027712138422143281252253941115090895376566517051383724193\"\n ],\n \"20406496144415226155020890307864353968511614212470411294164340952564525058\": [\n \"8039199998851188833753706487991850417387317613521879925877410561233291516999\",\n \"0\"\n ],\n \"16712336074729712880521385248146973316111708979592898376534445681790996436723\": [\n \"20406496144415226155020890307864353968511614212470411294164340952564525058\",\n \"0\"\n ],\n \"7726732588822736987168075648042737882067480248178655995206090415727385996543\": [\n \"16712336074729712880521385248146973316111708979592898376534445681790996436723\",\n \"4398824795843331159858863843226920897566425473753455663345724723198003184246\"\n ],\n \"17957555349020956671090821988626390357813772170007265647395141118877206222504\": [\n \"5386770472930279394987625616421890752828527668117127060204968827124209349660\",\n \"1\",\n \"1\"\n ],\n \"2699166597067424464828805947824729458775363215213827350990414531470027619207\": [\n \"12470989638173960509702611367532333943512592718210109104553938820142928682045\",\n \"17957555349020956671090821988626390357813772170007265647395141118877206222504\"\n ],\n \"3279068792510198887984744306718807109794964640750063991476391692125745554855\": [\n \"0\",\n \"2699166597067424464828805947824729458775363215213827350990414531470027619207\"\n ],\n \"458189838883384066716009710113040225937871798725025747049939794638604635521\": [\n \"16614048767226692633555977767811966141658568248889100907233136249837806911200\",\n \"3279068792510198887984744306718807109794964640750063991476391692125745554855\"\n ],\n \"5313815639154166868579593005102870024882124448672617691717888029225318202032\": [\n \"458189838883384066716009710113040225937871798725025747049939794638604635521\",\n \"3686643815110498405274760694736935627018033929685600259047760272889949296628\"\n ],\n \"7638948602477339336892824436030095048835432323139099011560678248833140951240\": [\n \"15801945142415303811838146077081025542277520598686271542846640030029239103425\",\n \"1\",\n \"1\"\n ],\n \"16198175393256563839826584461512677347277086508528267887303077079581837833583\": [\n \"1380953471818132468923764627886106350245532612611152767617018333096047714052\",\n \"7638948602477339336892824436030095048835432323139099011560678248833140951240\"\n ],\n \"3735556989227671883657678444260792602370190678693072675957925414634249746914\": [\n \"16198175393256563839826584461512677347277086508528267887303077079581837833583\",\n \"15163385250317778477409910553988098622347163692771098364659409886449884700143\"\n ],\n \"1668082982741578508285203601870983634486708311054992302658911810974740413547\": [\n \"17953238351741252185033053851139211737367141756259405991066934183934100510304\",\n \"3735556989227671883657678444260792602370190678693072675957925414634249746914\"\n ],\n \"21470511072136019943012030351752247438223525785820127086762206629188084131633\": [\n \"392579869812814815762163505623632832751140747991675495105645093831517407613\",\n \"1\",\n \"1\"\n ],\n \"12799585488820377167500912812640278068876473318120397742775781522126314409127\": [\n \"6022104432968858111654968547476351475407720843933193085718826270588040093280\",\n \"21470511072136019943012030351752247438223525785820127086762206629188084131633\"\n ],\n \"12615880488867929437170772257273313721999312269214455416972266994789243397607\": [\n \"1671984306588073129934022690464148714528109543820175263303319629723001143239\",\n \"1\",\n \"1\"\n ],\n \"11237918744949628079434439290976298305425522915439701095523215140012027311464\": [\n \"6599843394740985464010321837148293360696949258487268015412344171549764687060\",\n \"12615880488867929437170772257273313721999312269214455416972266994789243397607\"\n ],\n \"17274356718966828859922771960862484255780339192468336024155678436267881277982\": [\n \"11237918744949628079434439290976298305425522915439701095523215140012027311464\",\n \"0\"\n ],\n \"18548844869329204386385494187469335105430974866575047607066665424788194055321\": [\n \"0\",\n \"17274356718966828859922771960862484255780339192468336024155678436267881277982\"\n ],\n \"7355514462989647501368803972076635409335443953969802200510054510398480708039\": [\n \"17945938970361754768971933483608563115785634653334186335826236723956490812442\",\n \"18548844869329204386385494187469335105430974866575047607066665424788194055321\"\n ],\n \"20690254262147298098412175251830372609795526765538550668627104529702000750961\": [\n \"10853017558488811752114025691558984438455624437228563368121421815215928353684\",\n \"7355514462989647501368803972076635409335443953969802200510054510398480708039\"\n ],\n \"15264823534922556656811572594728392487452239948512398147467465540279948577093\": [\n \"10660631835123302501589051337323056384893535647995084369041581524647003598449\",\n \"20690254262147298098412175251830372609795526765538550668627104529702000750961\"\n ],\n \"17977964363537948207708388622064438900366519419684290930752751366500510381492\": [\n \"16437172775732819354165159918477849650925660497568671727763463698143495568080\",\n \"15264823534922556656811572594728392487452239948512398147467465540279948577093\"\n ],\n \"17976602505123911122149428543574693945650390979706339364828369328036058114953\": [\n \"10035445155537779433686978046050245947535264550965331342423566417338137335095\",\n \"1\",\n \"1\"\n ],\n \"21444349322896071681053900092969799757889695693374114233373951455732382798975\": [\n \"16873375156101500917480910123145757980021002606493744749032372090691103500436\",\n \"17976602505123911122149428543574693945650390979706339364828369328036058114953\"\n ],\n \"16471309875248603991879295001841783334360336808956118493546734027738757565600\": [\n \"21444349322896071681053900092969799757889695693374114233373951455732382798975\",\n \"13515916668054527590909407911878464829671243596064453595247713245702391531380\"\n ],\n \"2013825715555481428893128953603466918434080634583656866328153102073714989591\": [\n \"16702639895848147836304286873233378699163404035470003779046651063339368392299\",\n \"16471309875248603991879295001841783334360336808956118493546734027738757565600\"\n ],\n \"9935400645787355865168040031346587781037883819516968606121284284865769467122\": [\n \"2013825715555481428893128953603466918434080634583656866328153102073714989591\",\n \"15066467316169399832453354700510866690537254616183822560508364398956634690767\"\n ],\n \"20621956353774875109414393313015237958327339612148126352122809961837633916801\": [\n \"15584753966938827898392102549507810580490799832988880081073564432036436374906\",\n \"1\",\n \"1\"\n ],\n \"1866467322062068404792088268274040227491173006443411427740403981391499520696\": [\n \"5837186138139755086973197620528861221009241735100506938219076744406542490343\",\n \"20621956353774875109414393313015237958327339612148126352122809961837633916801\"\n ],\n \"2860441950187875523515880877535326238945149019246737862763935269938808517989\": [\n \"0\",\n \"1866467322062068404792088268274040227491173006443411427740403981391499520696\"\n ],\n \"4018964057161224577343312429894964876255085023645633160967228366529893134303\": [\n \"12094359017613057622423339804094621250372712542217735601438889738664274872824\",\n \"2860441950187875523515880877535326238945149019246737862763935269938808517989\"\n ],\n \"16094434953820011851733163098354051914791204235255366334026180438908912823360\": [\n \"0\",\n \"4018964057161224577343312429894964876255085023645633160967228366529893134303\"\n ],\n \"6132121168061627567340400080760020793952458873373558917666534141493800468069\": [\n \"17352714958930338734160525276315816434922966797391278380972137439795731559656\",\n \"1\",\n \"1\"\n ],\n \"5787106642056589974634005719450480092950304883105176829612817725633144683237\": [\n \"10596782571855026813524955156017669589941924541161192069366135861342782531906\",\n \"6132121168061627567340400080760020793952458873373558917666534141493800468069\"\n ],\n \"8881029639835314573123842705178888712448250656997852947687056622745188312457\": [\n \"0\",\n \"5787106642056589974634005719450480092950304883105176829612817725633144683237\"\n ],\n \"12454799191040703103128388375160044839623378185804106968484944208507940991167\": [\n \"0\",\n \"8881029639835314573123842705178888712448250656997852947687056622745188312457\"\n ],\n \"15292751750447303820211638601600556457798680634275835339459747222055983414419\": [\n \"17077550033182030875214746318950649076286893183459147179052533263978965639540\",\n \"12454799191040703103128388375160044839623378185804106968484944208507940991167\"\n ],\n \"14009000947025306771160587852377320255212088906544060616355997464115603540992\": [\n \"15292751750447303820211638601600556457798680634275835339459747222055983414419\",\n \"15270549460500880158101662184940527555990527063269496451756171691566613769055\"\n ],\n \"21623054972664695243375928027968270055026800692505773198373857757151265905159\": [\n \"12893826759381400913942200094629893427042694336018835084965993540565194210880\",\n \"1\",\n \"1\"\n ],\n \"8736862465592291784451015957040308864500097169952922706405363694604094305224\": [\n \"12089538313652427183352028988235241136170709722213415881649990433628480937454\",\n \"1\",\n \"1\"\n ],\n \"4028917934926785148254417206348656136268066991285388192358316034146869080755\": [\n \"8736862465592291784451015957040308864500097169952922706405363694604094305224\",\n \"3231585792993570562439588917543205925058350035668708697693748617071622396730\"\n ],\n \"1985608649524714423546664127575358582694816525891529106667359637873968030489\": [\n \"4028917934926785148254417206348656136268066991285388192358316034146869080755\",\n \"3023819226452039014333199648814376972783943449888163236623839843758902525567\"\n ],\n \"9139884151657821526613354229217493640400405275533578928256900816619378370993\": [\n \"7339563688323935066791898478121986916841909446282775224290446018421353556109\",\n \"1985608649524714423546664127575358582694816525891529106667359637873968030489\"\n ],\n \"6139945740131049717710419522892557682208111020794440227617029196035719725192\": [\n \"21156382863059969229468739019351455612308948025749405275772465258347191624279\",\n \"9139884151657821526613354229217493640400405275533578928256900816619378370993\"\n ],\n \"19825115042934087388309515078950722061575530527633857745897215110681592090009\": [\n \"8345996636374781164479848370735696494781786367913885857728572643950463194164\",\n \"6139945740131049717710419522892557682208111020794440227617029196035719725192\"\n ],\n \"10050308856666305454719370026523196903856134399329366802394722534902701232337\": [\n \"19825115042934087388309515078950722061575530527633857745897215110681592090009\",\n \"19907518647923976218770771117754539746026786829894655449548305904170079983180\"\n ],\n \"6039519727958085196464390340127512961485149507012627011928772582401658126571\": [\n \"1020859512387882938409204560152958151045503184324511287022026198628740551103\",\n \"1\",\n \"1\"\n ],\n \"8725301244516230097836465240167601404036692084536318604431262213728624609684\": [\n \"1492585382929134951449710022024033440935343914670586251134107634652811628775\",\n \"6039519727958085196464390340127512961485149507012627011928772582401658126571\"\n ],\n \"2785331435181554847958286137231583966791808242847092577143649024499458075179\": [\n \"8725301244516230097836465240167601404036692084536318604431262213728624609684\",\n \"6912558919662043787917506996623559011855775906674969402122892943560362974130\"\n ],\n \"13039853004912275806142629800325648890510277624569929038056504196624589479577\": [\n \"2785331435181554847958286137231583966791808242847092577143649024499458075179\",\n \"339662980041944604232560742798320018215103022384731817021551665008163831793\"\n ],\n \"16515778784089436409607548900504320720207127727940732312537485935354856840488\": [\n \"20633511973365292104080041042757914184554257497089697492492662560911576943124\",\n \"1\",\n \"1\"\n ],\n \"6847169261599077703231613707454875452702647019658611075365621469332059232365\": [\n \"13512416577367880869102083996423849033824148437054700852633580762653547191865\",\n \"16515778784089436409607548900504320720207127727940732312537485935354856840488\"\n ],\n \"18920501695106214036876727555549528757512699755282034962759162009077883586688\": [\n \"6847169261599077703231613707454875452702647019658611075365621469332059232365\",\n \"21637679922178826575683531746545342351576137393967937898086985448471762383307\"\n ],\n \"1598039817851056137070756007819757166623611059817098948188417637167053616179\": [\n \"7860072772480472676658223881433838204615787724431950131071199405275664181845\",\n \"1\",\n \"1\"\n ],\n \"8162041068352169794041722892915720592032274623863896259051094005391491888626\": [\n \"21599666914547940917616685726548045281318481726644661768378658907858532690161\",\n \"1598039817851056137070756007819757166623611059817098948188417637167053616179\"\n ],\n \"8371839094067044024967468092705461167968581203501784673235985932043265686\": [\n \"18103131299730373269177925265025499305870954846290975816287147483635808664298\",\n \"1\",\n \"1\"\n ],\n \"16449783690716449533480278934776440876509959309957672848951906085844769595651\": [\n \"21449619731149267557094292686045309015078677154647575853688215198563945260987\",\n \"8371839094067044024967468092705461167968581203501784673235985932043265686\"\n ],\n \"4704820885550276019585028605703694514611612187844591094945653110863704921191\": [\n \"14573634915215619543990282031489450701446600551443841280348586429401110311656\",\n \"16449783690716449533480278934776440876509959309957672848951906085844769595651\"\n ],\n \"457653412443027034076760472793986721407536828197842362803185081529992097580\": [\n \"0\",\n \"4704820885550276019585028605703694514611612187844591094945653110863704921191\"\n ],\n \"19351149509506821518994363499997770101578069987668744821631043927392611084931\": [\n \"457653412443027034076760472793986721407536828197842362803185081529992097580\",\n \"6705784698643174383093431049702461071146175551912528888778807506490848102386\"\n ],\n \"1374558986914697660780407117835122097865217652807272204625603182542091951079\": [\n \"5776726179831665294513224597947669950271497474400645978695614718935309243055\",\n \"1\",\n \"1\"\n ],\n \"3752775999298634945852738820075625408079277898281627253458970245096615963247\": [\n \"1374558986914697660780407117835122097865217652807272204625603182542091951079\",\n \"1882973370312738474952437631374855105987098332007411182728635163745119485218\"\n ],\n \"6945242035992331726772114615597446363275055584567459313390377867890233749163\": [\n \"3752775999298634945852738820075625408079277898281627253458970245096615963247\",\n \"5736474840268259304457276723374840633373798983594051545944179457272358732206\"\n ],\n \"2748699273937822238324335287694293648782994694830227884212183498287784357952\": [\n \"9341870507926483097280493533357712365456357191214766365683480015107737035279\",\n \"1\",\n \"1\"\n ],\n \"10651309002896576756190687690180978799146305126443627438770609077534704179404\": [\n \"2748699273937822238324335287694293648782994694830227884212183498287784357952\",\n \"16544030340613582798122699278692676176100421121634706971142461277833950413937\"\n ],\n \"17518164480808567442609673367636429559977960375568421470111778888020605099555\": [\n \"10651309002896576756190687690180978799146305126443627438770609077534704179404\",\n \"14567471400875841377864242582191385926424744424960383144240530759302921083057\"\n ],\n \"10181393506840546929774363377211296319041325098865447665472358707484780675478\": [\n \"2702271673259750771067321179065571848879074738406215008425824680110045651731\",\n \"1\",\n \"1\"\n ],\n \"12953224536289929604534220389620801600522699069391608150279356038753087022432\": [\n \"10181393506840546929774363377211296319041325098865447665472358707484780675478\",\n \"21223833561108403627674393886652507570397865448674448982472525993351613151691\"\n ],\n \"14830968067494627291916864542743379572468221939297034147884040135467322328711\": [\n \"12953224536289929604534220389620801600522699069391608150279356038753087022432\",\n \"6305373270946943374613503293732101859757141112736459697790548170926414456251\"\n ],\n \"12566515378288887102076858473685249888217935685770076093128987221930367756890\": [\n \"2959484322515740083260806182388110634912993293852248361857139168051451229399\",\n \"1\",\n \"1\"\n ],\n \"19258858379273925557252624001295382103459346404411816276549769740990691490147\": [\n \"12566515378288887102076858473685249888217935685770076093128987221930367756890\",\n \"17539072083471232843730596242801214230296215353271472520501873573237699230729\"\n ],\n \"14260632657093114438181084081203143060375462924535883069916253226544919365347\": [\n \"5937233885443108998391288327601647207776349978279980763664427341559688512307\",\n \"1\",\n \"1\"\n ],\n \"1711450788979968613060820623143822979846729576981004435089842925969253361725\": [\n \"14260632657093114438181084081203143060375462924535883069916253226544919365347\",\n \"3702694980204099783286815126003542079171075324281684221405268185469213385068\"\n ],\n \"6742480802608032117862903715343253052915510270613806397922674476924178734186\": [\n \"15918201938618037717476570870633562876713073496757412352706013927954171667428\",\n \"1\",\n \"1\"\n ],\n \"2567850553295582106121579016985638278151691347486358003077943665420958663196\": [\n \"6742480802608032117862903715343253052915510270613806397922674476924178734186\",\n \"2161606046043428371260426073093595122901273969068924160930096670481416920355\"\n ],\n \"8883256849407807320187599197719862335540791718766406488371688051327790625278\": [\n \"0\",\n \"2567850553295582106121579016985638278151691347486358003077943665420958663196\"\n ],\n \"17199332163819429756271857554412560573095109236296121149000364056314131906127\": [\n \"8883256849407807320187599197719862335540791718766406488371688051327790625278\",\n \"0\"\n ],\n \"2280524565292877243227502060153358485298694675998235448915566724726352300364\": [\n \"0\",\n \"17199332163819429756271857554412560573095109236296121149000364056314131906127\"\n ],\n \"10330020731296350717561509438458390384874627784591118828301858710529335807773\": [\n \"2280524565292877243227502060153358485298694675998235448915566724726352300364\",\n \"0\"\n ],\n \"9632517594316101295873538637681323039781728253275860960072044028328980724121\": [\n \"10330020731296350717561509438458390384874627784591118828301858710529335807773\",\n \"0\"\n ],\n \"8474144490493734265385221859277104339312435989169267048407045784334831656913\": [\n \"9632517594316101295873538637681323039781728253275860960072044028328980724121\",\n \"0\"\n ],\n \"4884525242748391767409729128356759808305374129082640813504455954174302600491\": [\n \"8474144490493734265385221859277104339312435989169267048407045784334831656913\",\n \"0\"\n ],\n \"11080640641066952701296907351924616774815485927702735747455468328292129111854\": [\n \"0\",\n \"4884525242748391767409729128356759808305374129082640813504455954174302600491\"\n ],\n \"14231810704219306393883552940721246366671550895945668299749229480162080714583\": [\n \"0\",\n \"11080640641066952701296907351924616774815485927702735747455468328292129111854\"\n ],\n \"17786128006048134808721829281256569121865234027384067185744108966175706211366\": [\n \"14231810704219306393883552940721246366671550895945668299749229480162080714583\",\n \"0\"\n ],\n \"18773084971005987795543043800175438933692040016036659290924090462425665183665\": [\n \"0\",\n \"17786128006048134808721829281256569121865234027384067185744108966175706211366\"\n ],\n \"20431548511456033897795669709323826683075762494045066694342487699488079632540\": [\n \"18773084971005987795543043800175438933692040016036659290924090462425665183665\",\n \"0\"\n ],\n \"16393344733482852739369164971383754909625304605631207156429579218585463361153\": [\n \"20431548511456033897795669709323826683075762494045066694342487699488079632540\",\n \"0\"\n ],\n \"21273590858285443247242291360091554803419290431590491056325683856549316824297\": [\n \"16393344733482852739369164971383754909625304605631207156429579218585463361153\",\n \"9776059798725120746177096760422493187548172188781071618345647916175643503863\"\n ],\n \"1563436478592464625670623564713011104622853333811436579804822942102287779789\": [\n \"13942237292057735163667423168890778871320784084758953865307274524545819797792\",\n \"1\",\n \"1\"\n ],\n \"380624304399909834954266664867972711554369644053521667315522105116672782638\": [\n \"4089017321880847251670844774144711897542694018046426961527986805229187863202\",\n \"1563436478592464625670623564713011104622853333811436579804822942102287779789\"\n ],\n \"16167630538713595366508623739342915979164125351173672586160240750705267060568\": [\n \"380624304399909834954266664867972711554369644053521667315522105116672782638\",\n \"4634302725281585184232736166285444065217571014057677673099931249948417599902\"\n ],\n \"17047540071076470202722217657510806444270846361144269796097159829836853482408\": [\n \"8034850466553576633747610698757393534126638219545396396831334396457825572881\",\n \"1\",\n \"1\"\n ],\n \"10799797135155331069172934587341541868597863645725821233094069207273723023892\": [\n \"14477218383279202936469912938289066206319462838497846225284909431404498995364\",\n \"17047540071076470202722217657510806444270846361144269796097159829836853482408\"\n ],\n \"12966087231867072820688715896818948147381708654073673237192295749681098470702\": [\n \"8775721223436301511551717120915831738208356611841693066074710564152388091661\",\n \"10799797135155331069172934587341541868597863645725821233094069207273723023892\"\n ],\n \"17489663138480662435437230791819113902859709887140789398229298149448797307307\": [\n \"4866461020791540144091169334781630328960743560175830760448158300061696097856\",\n \"1\",\n \"1\"\n ],\n \"9820083439155796578932442693422870097568257324851199387100621739328803853388\": [\n \"17489663138480662435437230791819113902859709887140789398229298149448797307307\",\n \"21623054972664695243375928027968270055026800692505773198373857757151265905159\"\n ],\n \"4905310134122339479458358765299291160413425696712075789907283226201564205342\": [\n \"0\",\n \"9820083439155796578932442693422870097568257324851199387100621739328803853388\"\n ],\n \"10858349420450989583372484689903980582301985235556101313497868644597820891854\": [\n \"4905310134122339479458358765299291160413425696712075789907283226201564205342\",\n \"0\"\n ],\n \"17388253225870636328013318398658869060573463484319802362002903371775727712996\": [\n \"0\",\n \"10858349420450989583372484689903980582301985235556101313497868644597820891854\"\n ],\n \"5935693759545519850534493729297812316635530751256323044556249569294110615048\": [\n \"5027159377204081589915997677442049973513093881127050318578394048737732474865\",\n \"17388253225870636328013318398658869060573463484319802362002903371775727712996\"\n ],\n \"11215802863948970099396413517140498724616347863846234306265375125604912694843\": [\n \"17127541235822649098534179052461608999238395360893724188777390321207062109229\",\n \"5935693759545519850534493729297812316635530751256323044556249569294110615048\"\n ],\n \"16253016282916865613240620468038509400902246882640056272066305821924589376946\": [\n \"5745521727022748811855053351078357758576564578889823418094304578961599783394\",\n \"11215802863948970099396413517140498724616347863846234306265375125604912694843\"\n ],\n \"12511170496633188633611493852936521677210995794208674147767093885746508580546\": [\n \"6535977412485060353536392760127562772966518145603907224681817879107427810423\",\n \"16253016282916865613240620468038509400902246882640056272066305821924589376946\"\n ],\n \"9386948372358980265334099879649624283419369651951440777266473016942334332646\": [\n \"6807138222874666024623761086085748811753511952288111198664591013227138685488\",\n \"1\",\n \"1\"\n ],\n \"7171490566177781741901143363383186897602164345906385210763139441107361791771\": [\n \"9386948372358980265334099879649624283419369651951440777266473016942334332646\",\n \"21646133247261326070081122327740131913028128386815274830548094117606054514478\"\n ],\n \"12522214005957708238097989480872013114946492543142684555828354863105844442341\": [\n \"14205004633179175190713082194057324358421106529711210125320146651839958155575\",\n \"7171490566177781741901143363383186897602164345906385210763139441107361791771\"\n ],\n \"17863327323008154537988615098140916403225337605743172942741171881536280934801\": [\n \"7056966794155592600354517425817724680883343740777615334474426523078521712777\",\n \"1\",\n \"1\"\n ],\n \"10637769161428641576154777594663546364472362098023632416258726005245410655112\": [\n \"10610554527155726160514051979291232899073887270051228514127279027132448135500\",\n \"17863327323008154537988615098140916403225337605743172942741171881536280934801\"\n ],\n \"13292999932442596914231130504303139790212412098542120579376346902562472036267\": [\n \"0\",\n \"10637769161428641576154777594663546364472362098023632416258726005245410655112\"\n ],\n \"18916872618122804886013892053747706396001113597927906866100139263914003536521\": [\n \"8677982078250583546002682754054379014562951315333530059118214931483008129519\",\n \"13292999932442596914231130504303139790212412098542120579376346902562472036267\"\n ],\n \"49675923646880400455440430520789148040274927456052394489458217408946279402\": [\n \"3620951078143253789056775075712035666069071884124078625482089126079846416147\",\n \"18916872618122804886013892053747706396001113597927906866100139263914003536521\"\n ],\n \"17598929968340726905131457218684823409140683997625342366540508340295511583660\": [\n \"13460939351199398255574923126927883994105343556754689926526048714097335696493\",\n \"1\",\n \"1\"\n ],\n \"10828728178113706561566640399504771414694485099530778125454974691705011068999\": [\n \"14769069703178616976007858592408099464709971863666141526592978392357300188472\",\n \"17598929968340726905131457218684823409140683997625342366540508340295511583660\"\n ],\n \"6557353168345917350878976794329367942939833775637051236337650454161833228635\": [\n \"0\",\n \"10828728178113706561566640399504771414694485099530778125454974691705011068999\"\n ],\n \"14913363038574291443848138269317597751831309203389844425222158409824934632228\": [\n \"18009227401168862892806513986019803384672941412000545840618510071676744979791\",\n \"6557353168345917350878976794329367942939833775637051236337650454161833228635\"\n ],\n \"4704105867766180672637001801274998205223634932981898240628337004496908590492\": [\n \"4997446696223853203467766095557893253026701770941584959152225720149015733873\",\n \"1\",\n \"1\"\n ],\n \"15811169752236394873594392357104678166014959595490250006983391782508236185328\": [\n \"4704105867766180672637001801274998205223634932981898240628337004496908590492\",\n \"21400125520823092835479333255101351023952617758229606444097806817964880293143\"\n ],\n \"19220710054062942393154152452686270931474408642568787868226723704075717578184\": [\n \"2967761062436253994154275079504797338479352590984653443897377186093642318056\",\n \"15811169752236394873594392357104678166014959595490250006983391782508236185328\"\n ],\n \"13433283999921545591563814385589109390069018285992946538111727562836247843583\": [\n \"14730597921912124791167666322866462440676742723635633605817259661380621456715\",\n \"1\",\n \"1\"\n ],\n \"14865680804909366551011656831052924078339412183794461568534951953832537134231\": [\n \"8997906500057682382446137819198122904891896566269372863749027869925657676285\",\n \"13433283999921545591563814385589109390069018285992946538111727562836247843583\"\n ],\n \"747972549048251089086904010735397822782347698865148627080078858194926805689\": [\n \"14865680804909366551011656831052924078339412183794461568534951953832537134231\",\n \"15887326674030539246330266553056800492597300082989469065076309560982214966760\"\n ],\n \"11321173543176238491078317229132777732993943240209974419885801488634134434831\": [\n \"21009008595509627446107351032296315556414428253994263018112216356617878949162\",\n \"1\",\n \"1\"\n ],\n \"2713306402600037192057051613827921704234930324092526039092316782376106048591\": [\n \"9369952196827846714912683574873333098465408943114716904703940991835108476146\",\n \"11321173543176238491078317229132777732993943240209974419885801488634134434831\"\n ],\n \"7120550302828339090315618675030730598202486151928295362018216916048608255677\": [\n \"17582209785467769828899950636837174384031150798865261470402645508406181696552\",\n \"2713306402600037192057051613827921704234930324092526039092316782376106048591\"\n ],\n \"15065171101962639406841296823408675679101485301412346520735009404480184774709\": [\n \"4575322067584514559993786234954190892864511919044810936951503178805241123203\",\n \"1\",\n \"1\"\n ],\n \"15762536858916475123137149059456219749022188637523934998510774061084987460709\": [\n \"15065171101962639406841296823408675679101485301412346520735009404480184774709\",\n \"14637103138348098810367648405556687981030025430065766550269067022465834974752\"\n ],\n \"16769161545291011010677340556498967569073589506545097686284221382834109178377\": [\n \"15762536858916475123137149059456219749022188637523934998510774061084987460709\",\n \"19055529710094061225652615588095448327038831176176772658998842378668445822104\"\n ],\n \"12597946159324334783411911152886055874490319405617083677645456094448448347501\": [\n \"19554191996942949451834801229614227763151895603303681007371489599696125487809\",\n \"16769161545291011010677340556498967569073589506545097686284221382834109178377\"\n ],\n \"2660095035766569301407152060788922398317813983524512054263713798948746182032\": [\n \"12597946159324334783411911152886055874490319405617083677645456094448448347501\",\n \"11970458253125716709799558063670501069473869215731180642949759741329672326769\"\n ],\n \"10212975998575738206063385996568841913931790373989396189004349136565874243468\": [\n \"2660095035766569301407152060788922398317813983524512054263713798948746182032\",\n \"6985906759342915380750435141245771368675818642577042192835684458970441403180\"\n ],\n \"5969734271513691071994454367395008968541205196624919970434611602700325196484\": [\n \"10212975998575738206063385996568841913931790373989396189004349136565874243468\",\n \"6199556045897766596567293226790807775450010682305163672106378406952435566401\"\n ],\n \"6509624533754186492638480819207876792039645691493130129721552849933298764353\": [\n \"4331883442627614933023643521579074365310507343721505750272406637980001069385\",\n \"1\",\n \"1\"\n ],\n \"2447428307542133679475182167726056616008654544451104942857012959439599768044\": [\n \"6509624533754186492638480819207876792039645691493130129721552849933298764353\",\n \"12798677175081113841765674346488057559480589623269964559637362173802871292087\"\n ],\n \"17654071011858479583047505713578348926586321946193181969789943091936394464753\": [\n \"21484464186163914358219225052776595139385120319699544468361400477338891308852\",\n \"2447428307542133679475182167726056616008654544451104942857012959439599768044\"\n ],\n \"8786867221524527912675478482774830803327513256487098197723099243643896613022\": [\n \"17654071011858479583047505713578348926586321946193181969789943091936394464753\",\n \"20029834412353251498789676715724623718454699082254006190986887312475173411830\"\n ],\n \"13127988528274426753997608058117431346231970562442093385656797486854250890106\": [\n \"10814463451335718016290672530209568564644289552314708434493322765036428051293\",\n \"1\",\n \"1\"\n ],\n \"20876570585578999206490171202288451019704756632676447537472593190774471612677\": [\n \"16346285638856516351167911874269220666620510879607577044322853348576672548470\",\n \"13127988528274426753997608058117431346231970562442093385656797486854250890106\"\n ],\n \"9744611623949231245683335136214060409921410714400117515076434044630865025554\": [\n \"20876570585578999206490171202288451019704756632676447537472593190774471612677\",\n \"769114477969583197579761507850507349155480490224102676472879844815953185917\"\n ],\n \"18950571115458656713095916160622562718443771265540301669749548334937237687000\": [\n \"9744611623949231245683335136214060409921410714400117515076434044630865025554\",\n \"0\"\n ],\n \"4210448554447107457112696831105914268525009855985476409201498459386977970762\": [\n \"18950571115458656713095916160622562718443771265540301669749548334937237687000\",\n \"16755633611218121454163953760011359700325340261117585948709375292411947389099\"\n ],\n \"19806928159463842424200960542511255234962808693088458438093398532051840871248\": [\n \"4210448554447107457112696831105914268525009855985476409201498459386977970762\",\n \"19199600434432686082984561263084108221445297923996432853752370955969199937724\"\n ],\n \"19395953745375741033133291111815263051147095086464094018958830364586813983903\": [\n \"7736825749464797258987162740092153379283677957495040140486265005688831421323\",\n \"1\",\n \"1\"\n ],\n \"13525971463318994809261043812569239861882300052573435917163864369929720366296\": [\n \"19395953745375741033133291111815263051147095086464094018958830364586813983903\",\n \"4069882761221495283172790986434928035121903323645266954591742810720593792133\"\n ],\n \"229611722822015715859209763250942001517805665666390391629987611451584361419\": [\n \"13250891507172300801397810772046776167154538772376450813105856766238634116610\",\n \"1\",\n \"1\"\n ],\n \"9204902203636647390224216873034314909572702755266095869024776612973120401036\": [\n \"229611722822015715859209763250942001517805665666390391629987611451584361419\",\n \"8311475766589486850208904922092200732248544458907256515779890819271810310652\"\n ],\n \"13416898805883510486600495543203838451948079523412481692305334609601664630756\": [\n \"9204902203636647390224216873034314909572702755266095869024776612973120401036\",\n \"5224662880304015924479622634733412208912475955967254634249635122245293535972\"\n ],\n \"20376468218364413708814997272132812772841789841898277000137903267034174902304\": [\n \"19485389225403979270992532989483419818586175642927097511217130134685801592152\",\n \"1\",\n \"1\"\n ],\n \"5221414091796920042268247531557326682553656522515463229691583154179922935114\": [\n \"20376468218364413708814997272132812772841789841898277000137903267034174902304\",\n \"17974890108323847264530505655863437224106670246322181407972454026118833673190\"\n ],\n \"1856364324286248133541041181445659494505753793044090494049664601987215410562\": [\n \"18040647377914408336409115146004783183329529147110854051774290550283864120212\",\n \"5221414091796920042268247531557326682553656522515463229691583154179922935114\"\n ],\n \"5096682760410351967965573228635546684839360244147195443892383781771002757402\": [\n \"1856364324286248133541041181445659494505753793044090494049664601987215410562\",\n \"8471574869880826066901740202366702205946234871243923957707992934753983950786\"\n ],\n \"12264773964420425897920342069417110400911756144307471301364933989662935739120\": [\n \"5363781425345738670053493112116229718880986252593508388289606445031531273706\",\n \"1\",\n \"1\"\n ],\n \"12449050422867101931834065759599668287491534399786546986656884438024176350078\": [\n \"12264773964420425897920342069417110400911756144307471301364933989662935739120\",\n \"7241048324003720248871704196658529760376764774414582404397708618202287723582\"\n ],\n \"7282262065713516599139067378523702472685320159005428464871169238474371768925\": [\n \"0\",\n \"12449050422867101931834065759599668287491534399786546986656884438024176350078\"\n ],\n \"15230567944016752859092686246075165518772975671403453639440061841632658756352\": [\n \"0\",\n \"7282262065713516599139067378523702472685320159005428464871169238474371768925\"\n ],\n \"13451717799660065569805425507816013091857301512571496471985114094415253796685\": [\n \"15230567944016752859092686246075165518772975671403453639440061841632658756352\",\n \"0\"\n ],\n \"18518854790376861223734544541920690314663294375796117477008957989121032563687\": [\n \"21794528413920490554938238551414933022611544800475226098352262361604646346700\",\n \"1\",\n \"1\"\n ],\n \"6803482611063124942334004207958284702090731168330267423292882596221132789503\": [\n \"18518854790376861223734544541920690314663294375796117477008957989121032563687\",\n \"19879899135564156937679539415379855927642935582509575549986254795515672248094\"\n ],\n \"1663584833320342007881109461797175702876111177401548423727245722954571686915\": [\n \"6803482611063124942334004207958284702090731168330267423292882596221132789503\",\n \"0\"\n ],\n \"4472218117816609764020223142684717446903467023379073640191240341226810406750\": [\n \"11072290294901095185190582646543805689102463352340194895230079622748002495080\",\n \"1\",\n \"1\"\n ],\n \"8832941402133314077723859354983131935430973239126324840087118151256845045369\": [\n \"8754873877629631367186688958732325623200069784992962984282915179171878448744\",\n \"4472218117816609764020223142684717446903467023379073640191240341226810406750\"\n ],\n \"18770536995554519945291490396108313378329009855327958337989155687061253667978\": [\n \"8832941402133314077723859354983131935430973239126324840087118151256845045369\",\n \"18690528662715252098536318305343281981962669224756815296680417887784547360439\"\n ],\n \"4078278762803822082274871655399065687317233642281419008967203431506359726181\": [\n \"4083636092399581924978097415486314159123113931997738815704942592682459697954\",\n \"1\",\n \"1\"\n ],\n \"3157628659236258975385567442563316353840597675402224944164794224140947546300\": [\n \"4078278762803822082274871655399065687317233642281419008967203431506359726181\",\n \"20326816997079890623705668867168636528635263389245587544172542412886467018087\"\n ],\n \"10404854579340371327074102382627897211953108628249681156421705052334992626618\": [\n \"3157628659236258975385567442563316353840597675402224944164794224140947546300\",\n \"18558687696372090721554451676134255110826502768278779067334054724068771059615\"\n ],\n \"6742746973653204185865950577073943758937088196106361626325814562856042237354\": [\n \"19141810744821173958782158002491993875346136197307787273284108396972591253044\",\n \"10404854579340371327074102382627897211953108628249681156421705052334992626618\"\n ],\n \"8293407521733705946074945141621286226221398622054315334210285096455130271664\": [\n \"6742746973653204185865950577073943758937088196106361626325814562856042237354\",\n \"18743491666836406150093501092573420613209187792981965365749407846958395222541\"\n ],\n \"6803924723981890692890814625368168550772793390390466579336377987497130373096\": [\n \"8293407521733705946074945141621286226221398622054315334210285096455130271664\",\n \"4753326962607966190647587554047969015481485830550235103004358669344920263713\"\n ],\n \"9948039600592924613620778964821347394919197980382948564439831766273165457474\": [\n \"1546621462264729345516299150495027402333081603463730642629893240447313063634\",\n \"1\",\n \"1\"\n ],\n \"6962580775853278560494436834502655986971426811965976593831559668523419253002\": [\n \"15640329692765703126016094955747894064032796055321380365013190711211125911469\",\n \"9948039600592924613620778964821347394919197980382948564439831766273165457474\"\n ],\n \"8720891954949002546992750300370412583552131232066554322465883035912763529663\": [\n \"0\",\n \"6962580775853278560494436834502655986971426811965976593831559668523419253002\"\n ],\n \"9982588627251967482435540058726694019842097700344742381001491488498264280722\": [\n \"8720891954949002546992750300370412583552131232066554322465883035912763529663\",\n \"0\"\n ],\n \"10636077636276014568366311354003638832175941178101355211640573041190169078418\": [\n \"9982588627251967482435540058726694019842097700344742381001491488498264280722\",\n \"0\"\n ],\n \"16150374783079524134635081429913325347180366648518012252409355381418223393932\": [\n \"327365009827957659504100482563959772851819088272088510978310344854644663852\",\n \"10636077636276014568366311354003638832175941178101355211640573041190169078418\"\n ],\n \"6241446849464174283388311147470801000867628928978886396434682037061938884000\": [\n \"16168487996416838199502871056567330475725432196713359551546144437050021281059\",\n \"1\",\n \"1\"\n ],\n \"8314471527766367178191421932415910624202431205702128813127907169725518429518\": [\n \"15989364793117564899955281715146886531994951833509287306323104866008491947643\",\n \"6241446849464174283388311147470801000867628928978886396434682037061938884000\"\n ],\n \"2680433886268292999909684475887045950182791824569893859799380076602319393058\": [\n \"12605309530086853253976272389808798497071000586843325420031847644377280980730\",\n \"8314471527766367178191421932415910624202431205702128813127907169725518429518\"\n ],\n \"1087992227108009863268303013441977522364206134427490304040103405013763393894\": [\n \"17908150278733875013101993902849111733526732756502326131874332924805457861850\",\n \"1\",\n \"1\"\n ],\n \"14841264130076049529527767073636951104243882111633171348160114421104362976548\": [\n \"6746185279730899352988731595607474816333416420257614883473035198084399601405\",\n \"1087992227108009863268303013441977522364206134427490304040103405013763393894\"\n ],\n \"6140584921247631568249687802380698632427341270072075969042362120068250470876\": [\n \"8158696578871862422149426509048585236074846225557674962733437830947077859527\",\n \"1\",\n \"1\"\n ],\n \"4469571324329182636050415721044239958070985636589490925822226305276584865069\": [\n \"20543575349899999226620643320929415028341317561359347991833708559136814941819\",\n \"1\",\n \"1\"\n ],\n \"7948390401751114649718473102232273505002054395035167702573573218688417015152\": [\n \"4469571324329182636050415721044239958070985636589490925822226305276584865069\",\n \"8256998776080098236034944492610863795345958600901909503510710619758878072146\"\n ],\n \"21277157072949382691134730357207661184607215084996876399576440308350668132586\": [\n \"0\",\n \"7948390401751114649718473102232273505002054395035167702573573218688417015152\"\n ],\n \"13414540789321689249738162827215028226273217932183075118131144213844718973235\": [\n \"21277157072949382691134730357207661184607215084996876399576440308350668132586\",\n \"0\"\n ],\n \"15602148006336952228987689626338902409193792702608528072440471385600812322032\": [\n \"13414540789321689249738162827215028226273217932183075118131144213844718973235\",\n \"0\"\n ],\n \"17454303949115666444081517080179787859569457468542593492136745656297159892813\": [\n \"2716814247489215740233100346504294044071456258976415453451020712654528879994\",\n \"1\",\n \"1\"\n ],\n \"13992718526873946582632407196114573739437429795120940803361817747799609234109\": [\n \"17454303949115666444081517080179787859569457468542593492136745656297159892813\",\n \"6442677760671885928903452988435131908289178811817653018805167874124220904082\"\n ],\n \"6559437726959076375848948174214616940065463095600001854406276787644844252642\": [\n \"0\",\n \"13992718526873946582632407196114573739437429795120940803361817747799609234109\"\n ],\n \"10335188332160459855111089800134385859146654041128128045491812583044700880192\": [\n \"16094434953820011851733163098354051914791204235255366334026180438908912823360\",\n \"6559437726959076375848948174214616940065463095600001854406276787644844252642\"\n ],\n \"10540513179928499970875628416213859353411856398262718208321809208681460777225\": [\n \"21812389008614211282830321765648030639193332987896550330985199041754739112304\",\n \"10335188332160459855111089800134385859146654041128128045491812583044700880192\"\n ],\n \"1388033362094388439902769487649724841419971320825740759841091879663210769269\": [\n \"15366318274429539713718258857560784975598769486970299513957003366817095657606\",\n \"1\",\n \"1\"\n ],\n \"3165134427539324489416497228474934977657737224339491453207059434039518717703\": [\n \"1388033362094388439902769487649724841419971320825740759841091879663210769269\",\n \"17062558987540474563998669729639364082440320439997072670797167882758572014859\"\n ],\n \"12521167837774580238837869348040160675654816815450832277478603121542133718937\": [\n \"0\",\n \"3165134427539324489416497228474934977657737224339491453207059434039518717703\"\n ],\n \"13683148287145515246556109393438738976568821682944136897268019262563945372281\": [\n \"12521167837774580238837869348040160675654816815450832277478603121542133718937\",\n \"0\"\n ],\n \"7246987633845584469581314086259116059476704394814876615764641969629904436345\": [\n \"0\",\n \"13683148287145515246556109393438738976568821682944136897268019262563945372281\"\n ],\n \"10677687051874607497872179733717631744442607895818455221129700843203657060721\": [\n \"18477826713213636087574002137554320000857800614664992065386511670242054273659\",\n \"1\",\n \"1\"\n ],\n \"15531186113822495879987418165501167256083144276458503715805086879211924372823\": [\n \"8230742571798102412283011298299732643615693632265209624686296555619620383806\",\n \"10677687051874607497872179733717631744442607895818455221129700843203657060721\"\n ],\n \"7000545753182272798683714088270255176073865844534425721745988564823743457478\": [\n \"13003953790047126098037715118037827623687734046853182932373429398856362001368\",\n \"15531186113822495879987418165501167256083144276458503715805086879211924372823\"\n ],\n \"9185438453260590034515889704187829806327937976970417555025042630789210765960\": [\n \"4178868028884125989044861027605583174196909110089400632348583144140110769790\",\n \"7000545753182272798683714088270255176073865844534425721745988564823743457478\"\n ],\n \"4128846548419433645590174554534178311891154742930207586942923951005928383375\": [\n \"4582489627230910791570645468459217247459317954460310551649299802589355792492\",\n \"1\",\n \"1\"\n ],\n \"8329230502064049700043609527966056884002572008145694656952263916298619678519\": [\n \"4128846548419433645590174554534178311891154742930207586942923951005928383375\",\n \"10454251152277802896325994668576305308187842926806262634894865986994468418227\"\n ],\n \"2048584355721185867758610286759139588088059197702314150055196064497101567022\": [\n \"0\",\n \"8329230502064049700043609527966056884002572008145694656952263916298619678519\"\n ],\n \"18330522456699673100470494572107251529123988835758311015985019680659166916192\": [\n \"2048584355721185867758610286759139588088059197702314150055196064497101567022\",\n \"0\"\n ],\n \"11642895449522864724956783931852869003775993206780662845913284048298247440012\": [\n \"17470380749645568617156322527926744598431974223595171000234141705945343503485\",\n \"18330522456699673100470494572107251529123988835758311015985019680659166916192\"\n ],\n \"18670954034063188542792971321074257788258254176017663137384229458090111485549\": [\n \"21040352340480358330048687226401390738592927803486551999041078062536802156833\",\n \"11642895449522864724956783931852869003775993206780662845913284048298247440012\"\n ],\n \"8669117487739864904277058527270136615898249885910232412744769366872428091335\": [\n \"18670954034063188542792971321074257788258254176017663137384229458090111485549\",\n \"14749624876468070100939952686025894400252812244518269681837837957574752514786\"\n ],\n \"7372972596690200989071541125095736083338426154164583972987399735951359239457\": [\n \"8669117487739864904277058527270136615898249885910232412744769366872428091335\",\n \"17813579453328227105749851333600463251552067110167543698762854472525633068790\"\n ],\n \"21717007190683962610463632535879750594289255509134414515108243087656745753303\": [\n \"16151257662590694508457711666058069865106907019060947258401297936462721779243\",\n \"1\",\n \"1\"\n ],\n \"21036400131296298003591814384599324420642840459691663416084118189140914335074\": [\n \"21717007190683962610463632535879750594289255509134414515108243087656745753303\",\n \"3900369501470985832499130160671553838588090445077527889807938414833815618721\"\n ],\n \"16946242399854158313524130506507664909852047978156322526802742562645410945064\": [\n \"21036400131296298003591814384599324420642840459691663416084118189140914335074\",\n \"0\"\n ],\n \"6946907257294538069542001151584446644335682000796987448812572511122587786427\": [\n \"16946242399854158313524130506507664909852047978156322526802742562645410945064\",\n \"9512380905212709886399466330347560492885533119308726214238886639436434216252\"\n ],\n \"3136365914935386089760924790253593720234359352620593241189419808337321075821\": [\n \"6391083333391648428054254488963968692904325046838866976874508214083830264983\",\n \"6946907257294538069542001151584446644335682000796987448812572511122587786427\"\n ],\n \"1226433436684031435706823383793740674249362644144402749818128888479202098414\": [\n \"18150264747603467607824468636430558009769034869855173453469921483614718417536\",\n \"3136365914935386089760924790253593720234359352620593241189419808337321075821\"\n ],\n \"5384690959119111167948349400027733853044384691935809370370302353060672536639\": [\n \"20194818300989893011404467310213875846342923740373421636401650791920263858206\",\n \"1\",\n \"1\"\n ],\n \"21150604965163470036419570784378705349022385583336323317121950693343919668461\": [\n \"5384690959119111167948349400027733853044384691935809370370302353060672536639\",\n \"13840720703630842907845049392163215323572787879899927099297999149222777043705\"\n ],\n \"3793293246406840604071896385999460252164799104355058553776143324945287671677\": [\n \"21150604965163470036419570784378705349022385583336323317121950693343919668461\",\n \"13148153439475783398208130249070725937978482853454386369262427059452926532954\"\n ],\n \"10027003553089067941822721321993969232984750920701096926734280857968480275189\": [\n \"0\",\n \"3793293246406840604071896385999460252164799104355058553776143324945287671677\"\n ],\n \"6851248797066840527615800094485343986890093273539711743761780924292721856413\": [\n \"10027003553089067941822721321993969232984750920701096926734280857968480275189\",\n \"4876256565464042106435500208170481509277297653746279030954586899059512262211\"\n ],\n \"18179368959326806698446137892771176071225051346680514240566680906079802150317\": [\n \"10251775944872548599627460694248544921240526016643668201310623336428552531910\",\n \"1\",\n \"1\"\n ],\n \"16070508449295031750341061189763135247123531844664487479312421101586114523015\": [\n \"19795251529296145103083211557469015994923502412735716272081581696663156968344\",\n \"18179368959326806698446137892771176071225051346680514240566680906079802150317\"\n ],\n \"16492139498920283049020974757701294753801016823909219729210656481724483726322\": [\n \"12427509003622771353932991665441388318330122740976372973245104172836254580212\",\n \"1\",\n \"1\"\n ],\n \"18845594178269669555617057176207247454660927273919807571987122209122823871788\": [\n \"7324626237333352105852837791228020973858811978324518554139428569781063013336\",\n \"1\",\n \"1\"\n ],\n \"2385156920974235779337224525785835781867311816762514295092509330468084870765\": [\n \"10366652043397071494376952376767361682404814843274522136009729836673016879806\",\n \"1\",\n \"1\"\n ],\n \"12074130919934381464620529837746843464252612329804469169278928482015640493906\": [\n \"13563407978484761711020834340986362733086194759002201423612185725429918608\",\n \"2385156920974235779337224525785835781867311816762514295092509330468084870765\"\n ],\n \"874822947849742152827844033577771311923560765995951723283155554361751471125\": [\n \"12074130919934381464620529837746843464252612329804469169278928482015640493906\",\n \"18923395856075376338053432123555598828851015704163509022352029164203848580716\"\n ],\n \"21278668871683947865423310360455279567556386489049730051917468416238685171759\": [\n \"1994096448443853117668855227732122655390181283421944087552119490937051845683\",\n \"1\",\n \"1\"\n ],\n \"7478332837431470121329367299375172556591169403693871218309322318519646948709\": [\n \"18521116955061816540502497393772896624541804435667894485038149618496984021433\",\n \"1\",\n \"1\"\n ],\n \"11886027270593243366579914790649421953906879145961278716127452844970353671350\": [\n \"10389448740947117883073697533269575848767346395307636453915059523420701486547\",\n \"7478332837431470121329367299375172556591169403693871218309322318519646948709\"\n ],\n \"588929628786287610285235015376240822596467930543322507939132682594336248546\": [\n \"11581842744001938355989154481451926819587640964934457749397967963731157272889\",\n \"11886027270593243366579914790649421953906879145961278716127452844970353671350\"\n ],\n \"21400245653227806498542394334881208840955888346167817241810554944262497723646\": [\n \"7314992354391060156093091847111908848954995460314480719355528225862828728408\",\n \"1\",\n \"1\"\n ],\n \"6736799126268097927372659183245221997502123575307333630120788987207356874527\": [\n \"21400245653227806498542394334881208840955888346167817241810554944262497723646\",\n \"9313652602769989376588055098225963628740760293885892749636503448455620731204\"\n ],\n \"20464992346150537044134849515850063496931952063466921380400739680819435425960\": [\n \"6736799126268097927372659183245221997502123575307333630120788987207356874527\",\n \"21261136236987680285470372520778850440109882046132771195379788547666292203068\"\n ],\n \"14602733817352001611475431509225221893062433893993984178040072387747073518461\": [\n \"17772840659656163610297535786770278742544599041151726914881570409235184222837\",\n \"1\",\n \"1\"\n ],\n \"18201473863062772314670451720707085900039530827246215286056260738525458146500\": [\n \"8508977776056107926274891344190225636114450457259204105808605393054643837747\",\n \"1\",\n \"1\"\n ],\n \"2853033207725985985072599721488978246036317887787158789886598971820096611124\": [\n \"1711450788979968613060820623143822979846729576981004435089842925969253361725\",\n \"18201473863062772314670451720707085900039530827246215286056260738525458146500\"\n ],\n \"18739204368256403068603849404830886560509480030290977579950316255901110373376\": [\n \"2853033207725985985072599721488978246036317887787158789886598971820096611124\",\n \"15144280951297919361807740342480299858374236506294805670154453297204280867793\"\n ],\n \"12819690423156993700793550091337366747094827471097827800592238470723413709169\": [\n \"14554161521702068542337355373984830925268075863192380813561522032166935723330\",\n \"1\",\n \"1\"\n ],\n \"5543894074925826454111835805373123039836119503254240350418586137403137020258\": [\n \"3788375758384127304626892038036388431525730654759291618245752574157495452522\",\n \"12819690423156993700793550091337366747094827471097827800592238470723413709169\"\n ],\n \"664300208484085316773394042979184280981294293105933925053943819139560822248\": [\n \"0\",\n \"5543894074925826454111835805373123039836119503254240350418586137403137020258\"\n ],\n \"10628914422057488012047709627519109811794611904931152114540961273196325081848\": [\n \"2765011389861786624760998733414356625771124318445140394085018435935300784692\",\n \"664300208484085316773394042979184280981294293105933925053943819139560822248\"\n ],\n \"2352852112798085232033117764645298724362582819983989283512562496858149481521\": [\n \"0\",\n \"10628914422057488012047709627519109811794611904931152114540961273196325081848\"\n ],\n \"8644851298493856899547868021450334095862413779088564083887541145662520245289\": [\n \"13477932060118493634266193364522943536654187875652972159916807866307497466331\",\n \"2352852112798085232033117764645298724362582819983989283512562496858149481521\"\n ],\n \"17593920483608849275713245945027970304977981802514893281760715304428872441053\": [\n \"13467370532199341440811519903313374460537007428618706672924893990568856237782\",\n \"8644851298493856899547868021450334095862413779088564083887541145662520245289\"\n ],\n \"21430783842064079816189843059724779265991711675621989521550463040129084887506\": [\n \"12724493649064298969123998872151051237119366865744168539335654870763701864287\",\n \"1\",\n \"1\"\n ],\n \"745085656176841691100444459612977781524535687385717899871282196435588070095\": [\n \"16277332204885097638293912134481260318987398397176475691001447890243246435432\",\n \"21430783842064079816189843059724779265991711675621989521550463040129084887506\"\n ],\n \"20410123648328426397127431065714463540645705462796629847500379830875900344124\": [\n \"745085656176841691100444459612977781524535687385717899871282196435588070095\",\n \"0\"\n ],\n \"21788103085496672523199518519411012679372766226685630118665320846417718917266\": [\n \"20410123648328426397127431065714463540645705462796629847500379830875900344124\",\n \"0\"\n ],\n \"14913516722116157342940613670113633918131616755174758819517996952177195501148\": [\n \"21788103085496672523199518519411012679372766226685630118665320846417718917266\",\n \"11662396898880906318116150636076849339093708701319457354469410836134256603298\"\n ],\n \"14616747265917819080326079965584020700607549481730256296738152174256197121903\": [\n \"14913516722116157342940613670113633918131616755174758819517996952177195501148\",\n \"0\"\n ],\n \"3722370011386393255814571655108065817938959619221861647542579486367171729779\": [\n \"14616747265917819080326079965584020700607549481730256296738152174256197121903\",\n \"11785943690661567320841244756348238868456379103102054563698413790001531878383\"\n ],\n \"9197193448736404626719345365908060348817733303878787772299128487894963401481\": [\n \"15189832852604229772059869848882082845749092363470177079629319735146783710030\",\n \"3722370011386393255814571655108065817938959619221861647542579486367171729779\"\n ],\n \"5271956505253094161760362614523714107732267609601942462362346561727468168910\": [\n \"13692454301990837692279183801561605037110120871089118907513060839747610202464\",\n \"1\",\n \"1\"\n ],\n \"2260764636885056801400054050487522485081467008862465050204398025518435917201\": [\n \"16125053758503306388666893308461312636674657570976956887011388734312476419144\",\n \"5271956505253094161760362614523714107732267609601942462362346561727468168910\"\n ],\n \"12339960854959729930397164212696562096116622188444849489250553692643302831742\": [\n \"2260764636885056801400054050487522485081467008862465050204398025518435917201\",\n \"19863736178082356648959212988376531491441582372133792991978772783576002784570\"\n ],\n \"20806011597037106960141709011510252986885457475109423767199628617055109958071\": [\n \"12339960854959729930397164212696562096116622188444849489250553692643302831742\",\n \"13658430422792440249405514049009438550253052878963665890143039786869678561031\"\n ],\n \"11716682813130867433537495256924362356671529346243302537659917197026480285024\": [\n \"20806011597037106960141709011510252986885457475109423767199628617055109958071\",\n \"2692702478622679229008700909209503707393380779432479131325692566715308215134\"\n ],\n \"13797543920326360804656128506753841708628792551235503807249382508558025209367\": [\n \"21880036133160991668790955403727706390419412092379133838841285942900976312665\",\n \"1\",\n \"1\"\n ],\n \"5234630042181726570917013088770545819141789793440365491432674012438330870444\": [\n \"13797543920326360804656128506753841708628792551235503807249382508558025209367\",\n \"3118567431483196440612009525540567019025921679921771377830612689131336957005\"\n ],\n \"17402827828329950630652078054062639292670896239079660429484866879955044890\": [\n \"5234630042181726570917013088770545819141789793440365491432674012438330870444\",\n \"13972494583029207152050012106431293699788155530667245353433854969426421426001\"\n ],\n \"13673751689324932149696440559645078940190436313248051649848115516524554494544\": [\n \"17402827828329950630652078054062639292670896239079660429484866879955044890\",\n \"8079330042366659123778579229461660042910082630538148097287628148713863742508\"\n ],\n \"13672374606666367591627287034638171958071552939509119896226361206392927315647\": [\n \"11687703173518389064630151157594488878920766035255199191520512018168430850858\",\n \"1\",\n \"1\"\n ],\n \"20745346719890073162273705139787880115043557273014750043083984307725542149180\": [\n \"9930446972568491179820584415779290376367058604408885538902308293403166093560\",\n \"13672374606666367591627287034638171958071552939509119896226361206392927315647\"\n ],\n \"8907015863095805051971370087382263873472591543773193112328123066141254695522\": [\n \"0\",\n \"20745346719890073162273705139787880115043557273014750043083984307725542149180\"\n ],\n \"15188664014503931644028955937267697351993888926460599478262951224090788334518\": [\n \"19913842264449369906180672078013831330659160894225551718152495891266880755344\",\n \"1\",\n \"1\"\n ],\n \"5211884051521575637300160193186892914898975904256387058433000324505183349499\": [\n \"15188664014503931644028955937267697351993888926460599478262951224090788334518\",\n \"13743763560170709693638905627279218860979819124092502574586181804342910245401\"\n ],\n \"3271025609173777574159877714971348383271386646734744079321088073162475196589\": [\n \"16660879016270638866016594482695895602335657561862930702149457393478848590728\",\n \"1\",\n \"1\"\n ],\n \"13182443799285844150135962945426071164221752593075945150540360069146294601510\": [\n \"8051336590283269578730577715359589027348078016504486492180587003960178477233\",\n \"3271025609173777574159877714971348383271386646734744079321088073162475196589\"\n ],\n \"18033689323539450760358658908935334446797316226639660692426244411661351192\": [\n \"3566807147854419636792652798867983398549843107210585418268677727449333282607\",\n \"1\",\n \"1\"\n ],\n \"5584175141624792261193319276112686446076171961987998761089536030529477214602\": [\n \"19147934879006072009830670177301053446265013707324000564277345321335024578638\",\n \"1\",\n \"1\"\n ],\n \"814291419500497999844055197962144689885865529368344560031559223397873014368\": [\n \"15178815538620380363552197981199570545672236505776369929079635074914174833024\",\n \"1\",\n \"1\"\n ],\n \"5951526807854056427430475447594102954696195346768153046562399422851093760573\": [\n \"16507106475892045695556442674828439112031870746797933717534815417184652580604\",\n \"814291419500497999844055197962144689885865529368344560031559223397873014368\"\n ],\n \"7774816228571643197263734326193367307851833847955452354340487589012242522094\": [\n \"5951526807854056427430475447594102954696195346768153046562399422851093760573\",\n \"0\"\n ],\n \"9948590501567234881905523319688365602878007090231462904080853308556861372217\": [\n \"7774816228571643197263734326193367307851833847955452354340487589012242522094\",\n \"3328824265770713065811416434881757022938254594464236050207091346941614246035\"\n ],\n \"11008412689867964742974467495839805241949612802832537409783936377826538844171\": [\n \"12221236826772778020776100721454479699217008401013459414894340327273940648722\",\n \"1\",\n \"1\"\n ],\n \"7704757639733126241379496726959297616876316604305962630300519142597197306800\": [\n \"11008412689867964742974467495839805241949612802832537409783936377826538844171\",\n \"8826452684946624903915541002084195786568075283166203240084732849854310572452\"\n ],\n \"8774913089742806028466799978630163295029882228556904018181046231475178470436\": [\n \"7704757639733126241379496726959297616876316604305962630300519142597197306800\",\n \"18727615557594365769478229233040806394237720380394740832457694775849835714869\"\n ],\n \"12025929766530288669725385225672589651734023259189882729267673404768685638954\": [\n \"8774913089742806028466799978630163295029882228556904018181046231475178470436\",\n \"20154292574555066563608422622427098384750868745893431043853094947704007944837\"\n ],\n \"3787802385971440233124462292863532253071881371015400452270627558037026494504\": [\n \"21156088257461073952797548294197368701314984203829218770514488094653576305582\",\n \"1\",\n \"1\"\n ],\n \"970734961037757061454295131467564992959999579323587769618682673903971489753\": [\n \"3787802385971440233124462292863532253071881371015400452270627558037026494504\",\n \"10880104046986938850628575177733511014407668692076614487166627623649115066796\"\n ],\n \"889620368149051327894451001997155717875971832912012989805862524751250197125\": [\n \"9138483477257866241874204589403893906646260890359076220006914745575062667035\",\n \"970734961037757061454295131467564992959999579323587769618682673903971489753\"\n ],\n \"1289138029294581885367666435875210399582306477640533280208229793852320785977\": [\n \"9123538745165140901831832721341349988719791344144045085041505214936827498010\",\n \"889620368149051327894451001997155717875971832912012989805862524751250197125\"\n ],\n \"13069799039636201620413724626896400366126601457299183361247909160742910029543\": [\n \"1289138029294581885367666435875210399582306477640533280208229793852320785977\",\n \"0\"\n ],\n \"5535729539431084648543105505131150632737328351504010854092807826757240683531\": [\n \"7042889005791056417234890748605923765886255106134635400678188070720894716083\",\n \"1\",\n \"1\"\n ],\n \"19511385178942080543939022173004746351004282142139398793108933133792747008422\": [\n \"20432032577433603257690199880183086586669813728455708310766584009932134465767\",\n \"5535729539431084648543105505131150632737328351504010854092807826757240683531\"\n ],\n \"20056132797195198595945075213327828162512959721032781974613484098633486273631\": [\n \"19511385178942080543939022173004746351004282142139398793108933133792747008422\",\n \"0\"\n ],\n \"14412207256028377268057845120189488807930925990314204712969132253818503023690\": [\n \"20056132797195198595945075213327828162512959721032781974613484098633486273631\",\n \"2056623373984896176694652901738091023176168598655011642990376358651701789248\"\n ],\n \"14974677960152937307259144354112620418801383907757545198402655390523525569500\": [\n \"20663324324862924219227076983874407026224722375099914497569352532891177019688\",\n \"14412207256028377268057845120189488807930925990314204712969132253818503023690\"\n ],\n \"5201575318899660132555793133613055680824486678663198527564964129852736220053\": [\n \"14974677960152937307259144354112620418801383907757545198402655390523525569500\",\n \"13432841829289210545827144847582303594610427111302545408040551270492171448284\"\n ],\n \"18129814571742232218398267062821689298511722716362025657833490874828795563317\": [\n \"5201575318899660132555793133613055680824486678663198527564964129852736220053\",\n \"6380521290339725055474297309675911049750011954559179622855759089121321192677\"\n ],\n \"6731704901325068981306435442296055175562671461502964234446611595839812455834\": [\n \"14387466242551363994231189634616212755255919114403290675275852219916746874195\",\n \"1\",\n \"1\"\n ],\n \"6458016205726167355870051941603564571601010895067032764354840719042705644386\": [\n \"6731704901325068981306435442296055175562671461502964234446611595839812455834\",\n \"11032315019306543201713639751406072746594325212587326247732278205275072525443\"\n ],\n \"7996172963596862213369158530949778327383566109691284765437224909656231025145\": [\n \"0\",\n \"6458016205726167355870051941603564571601010895067032764354840719042705644386\"\n ],\n \"14511033342234854691179757072068629423351084390714351109623013889951683203709\": [\n \"15539151991220571503777519983767185753338764733124941460468198647512242697273\",\n \"7996172963596862213369158530949778327383566109691284765437224909656231025145\"\n ],\n \"11983163624978616285096116699105110078785386749431924514661430318450715839474\": [\n \"13538679729602108864361359675055473457284627916340082141976924888281114408442\",\n \"1\",\n \"1\"\n ],\n \"12603084676043677386079592794396344179252614094611562472042443209629451984898\": [\n \"4424336028156980379795671288638866648031893405247070717219519588628080885238\",\n \"11983163624978616285096116699105110078785386749431924514661430318450715839474\"\n ],\n \"3217230675839490265102750899058986832624521836747161246237542691229484758309\": [\n \"12603084676043677386079592794396344179252614094611562472042443209629451984898\",\n \"20708295259935403170199278242450301189376523952581682725653317006789646169039\"\n ],\n \"7042077924524457555945558306095270955286706375551537674266826404711992740715\": [\n \"0\",\n \"3217230675839490265102750899058986832624521836747161246237542691229484758309\"\n ],\n \"12674112058495303011190658037987307693846404017943839367182575682746993945897\": [\n \"7042077924524457555945558306095270955286706375551537674266826404711992740715\",\n \"15330252842852187792399877229972789923501626538561466047014190893560206193821\"\n ],\n \"14308884218513879134147834792494159759135015148141851604924175808015578281057\": [\n \"16070184216634104744876365974336656052181889618312396186391872558458914685712\",\n \"1\",\n \"1\"\n ],\n \"15673944927499138024522530408670707116653862445701730243457642744446712794055\": [\n \"10184687335994408539027285265780600217510716028806864692625272852322936671005\",\n \"14308884218513879134147834792494159759135015148141851604924175808015578281057\"\n ],\n \"4687512864618088863403328972099384695642159518352728578213593002583499887127\": [\n \"15673944927499138024522530408670707116653862445701730243457642744446712794055\",\n \"0\"\n ],\n \"20415318517180825349709142112887286841280319685640847517361439632741246998320\": [\n \"4687512864618088863403328972099384695642159518352728578213593002583499887127\",\n \"8850994097311495826295956854612484997503009018149675715636183730426915942921\"\n ],\n \"21091967692026182331155632168200691269861224669170843955848685587569869376058\": [\n \"20415318517180825349709142112887286841280319685640847517361439632741246998320\",\n \"12738589536448439098721621851756941858255079239394264473809147625482621673008\"\n ],\n \"18687216428889918966882821835787243920990749742259126002045340944267355422513\": [\n \"5586944218083350952716471844961558585382173302496019308418706773024501551150\",\n \"1\",\n \"1\"\n ],\n \"1659556466941438989326697195172031210638356482285700163480660017594684213405\": [\n \"17410372171238848062192313826421680463923671289114410339559015418157371482974\",\n \"18687216428889918966882821835787243920990749742259126002045340944267355422513\"\n ],\n \"5231048637254557835548026865406442321410950705921902495142847676020209777975\": [\n \"1659556466941438989326697195172031210638356482285700163480660017594684213405\",\n \"0\"\n ],\n \"16568934328352484728661908162975363313655804468195955100462279305859461835708\": [\n \"15634497373772042579303469605881550300287274185241745686471059728817962302329\",\n \"5231048637254557835548026865406442321410950705921902495142847676020209777975\"\n ],\n \"7911882058046154461340529414203798622103421517708898898592704384608883492300\": [\n \"16568934328352484728661908162975363313655804468195955100462279305859461835708\",\n \"0\"\n ],\n \"15280469908663327835363555326743964876888979271102959065520529400274342820808\": [\n \"10310439515259255947760551179019533692687147212413690704867561003324396407738\",\n \"1\",\n \"1\"\n ],\n \"12495922045024241671861743291530734985033105989222636533116163383991611037926\": [\n \"15280469908663327835363555326743964876888979271102959065520529400274342820808\",\n \"16707272846547026775407991748409341906740478618743081553368873614160784998020\"\n ],\n \"2117828073678676765185980847731942731774187450622930993077896750053745522743\": [\n \"12495922045024241671861743291530734985033105989222636533116163383991611037926\",\n \"0\"\n ],\n \"19797123451419836209402191287508354987357969210187454815503202504151858608266\": [\n \"2117828073678676765185980847731942731774187450622930993077896750053745522743\",\n \"0\"\n ],\n \"1543002857110377437650127273119734489932214403504995704279981013423313244359\": [\n \"19797123451419836209402191287508354987357969210187454815503202504151858608266\",\n \"0\"\n ],\n \"19497438777500689092058240478139691585448098449498020328882413192584444213994\": [\n \"1543002857110377437650127273119734489932214403504995704279981013423313244359\",\n \"0\"\n ],\n \"11006805784996731890969551431564233200187290175396311026244017164550988714941\": [\n \"0\",\n \"19497438777500689092058240478139691585448098449498020328882413192584444213994\"\n ],\n \"17020302945619997455595728707172883761464046864492610615473284872609706891635\": [\n \"11006805784996731890969551431564233200187290175396311026244017164550988714941\",\n \"19095208609596345728212499582532314757995795446294360918558675619088404952122\"\n ],\n \"15673339329073237059314950212781853143336085410025931699123826776965919698888\": [\n \"21488659234966618962740179284631284927087114838377262952278953077353510881689\",\n \"17020302945619997455595728707172883761464046864492610615473284872609706891635\"\n ],\n \"7281941023438869838623100810818231583177480414526030377135769491491704460580\": [\n \"4188457847566840990997973955546663548921692008359811134948658870681751100627\",\n \"1\",\n \"1\"\n ],\n \"3806978762809520062848199950902824361622895788310020976343141423572341593011\": [\n \"7281941023438869838623100810818231583177480414526030377135769491491704460580\",\n \"15263967856504042293820053562457345389210399285784312443502768022115178724817\"\n ],\n \"14857768704255905860823608848935277711164881561284843704307664576902586893994\": [\n \"7862856850941661924112177113445860611646578119187567237650331877598337334271\",\n \"3806978762809520062848199950902824361622895788310020976343141423572341593011\"\n ],\n \"21541932651898265851624405090458433541582196177459041303896692453228311207504\": [\n \"17290736755790477616341861869168178624874258402026967393826008009045175350058\",\n \"14857768704255905860823608848935277711164881561284843704307664576902586893994\"\n ],\n \"21252773727088639867563871554265334005256247525026748379152417814613618811118\": [\n \"21823029152463085498105953210557097809721430104171598740531212785356048490128\",\n \"1\",\n \"1\"\n ],\n \"2404410018500792740519022863591851618093200683829110328018173654213624139021\": [\n \"21252773727088639867563871554265334005256247525026748379152417814613618811118\",\n \"1972006895057097707015305511525127255989023927270512198751832942510807691846\"\n ],\n \"5123642434340394936849062455936256941909238737181620475341407810945922056134\": [\n \"2404410018500792740519022863591851618093200683829110328018173654213624139021\",\n \"6350907994665554581202840375505416477450676267631539279590271009892886582442\"\n ],\n \"16545934136524507256327400238191478787887572852248691011318459803009868248822\": [\n \"0\",\n \"5123642434340394936849062455936256941909238737181620475341407810945922056134\"\n ],\n \"14302709601063627600646176306077276852614848548946348324678185071344257996933\": [\n \"12100904413026759637346148410463567827798197432177304791896801703487355114343\",\n \"16545934136524507256327400238191478787887572852248691011318459803009868248822\"\n ],\n \"13052195800160762405927772983491695611954637401883328903935425366949796697838\": [\n \"14302709601063627600646176306077276852614848548946348324678185071344257996933\",\n \"0\"\n ],\n \"16380013910193201515945772629045438352834606748363742508568867105695768084989\": [\n \"14866377789882962444597259875824514437276139937651284967180921270023380438547\",\n \"13052195800160762405927772983491695611954637401883328903935425366949796697838\"\n ],\n \"7514399758600981603878686032583440625957360715821491353774466518993590402935\": [\n \"16824310118401640821318368850890764939844279603330357237813510425110119638489\",\n \"1\",\n \"1\"\n ],\n \"5842329495905711779528712850810916170847566578011848531363388840580531051698\": [\n \"19213179376443616406401181189917975215879958918935215194440013536430976083915\",\n \"7514399758600981603878686032583440625957360715821491353774466518993590402935\"\n ],\n \"3603478978804549730306440578924931481149242440060072307554520886805279108426\": [\n \"0\",\n \"5842329495905711779528712850810916170847566578011848531363388840580531051698\"\n ],\n \"5708026961469292723548207589666727744069202378051833561747485320497944208165\": [\n \"3603478978804549730306440578924931481149242440060072307554520886805279108426\",\n \"13867162012070244902531603965878878644576912275339391592418276982953512683431\"\n ],\n \"2168757254636926218668396127758591055687395245032839446453426326231130111228\": [\n \"5708026961469292723548207589666727744069202378051833561747485320497944208165\",\n \"0\"\n ],\n \"10255110046679797412330655449715176414973747978318695821887305423266640170693\": [\n \"2863363295730206769353681878872057842186909472640019195525249856050402250952\",\n \"2168757254636926218668396127758591055687395245032839446453426326231130111228\"\n ],\n \"7252105892049944082466063101149818758804174259081297916050514538896036118381\": [\n \"10255110046679797412330655449715176414973747978318695821887305423266640170693\",\n \"3556878780637914454269647841448748728131553337360537493646710623790853451998\"\n ],\n \"5496747724416630191591645115994559574726869590033239618309167079300484327405\": [\n \"5745271350947222685102948007068932330247226059928139359623916071495174019647\",\n \"1\",\n \"1\"\n ],\n \"793340194757064721167224087781869127553931299704417964566144816213649989401\": [\n \"5496747724416630191591645115994559574726869590033239618309167079300484327405\",\n \"11237671157245131086077847737605875642106663744197689159262159238249186443125\"\n ],\n \"4305027093467159312074639946880124280827914086298958378856627678787871080101\": [\n \"0\",\n \"793340194757064721167224087781869127553931299704417964566144816213649989401\"\n ],\n \"730971063489737349817794493080011263156003288546228011420489235642330844704\": [\n \"4305027093467159312074639946880124280827914086298958378856627678787871080101\",\n \"0\"\n ],\n \"1604061953574650885657118374025516088953480468966632674215251191687412537515\": [\n \"0\",\n \"730971063489737349817794493080011263156003288546228011420489235642330844704\"\n ],\n \"18670124891937553632798717685384022152485341207556273074031571809572503375177\": [\n \"1604061953574650885657118374025516088953480468966632674215251191687412537515\",\n \"0\"\n ],\n \"12857705553722040328675956024323990492396026082139227203620311176905796784865\": [\n \"0\",\n \"18670124891937553632798717685384022152485341207556273074031571809572503375177\"\n ],\n \"12677840884627122671524877917340621890765474529375557682982784220307405138622\": [\n \"18898305096947805023739730433807796950617069348678902021818551972590132241075\",\n \"12857705553722040328675956024323990492396026082139227203620311176905796784865\"\n ],\n \"18972883861262986230363592472262860522439151677437534188113212712178067663679\": [\n \"12677840884627122671524877917340621890765474529375557682982784220307405138622\",\n \"18114155163044461360303980669788758644932931888686583447314744984633266656300\"\n ],\n \"17237887626086797859847830819750574037024107492775625808988992081897418371780\": [\n \"1476192861190028130868554709929141770794233343612224502047241473360008074708\",\n \"18972883861262986230363592472262860522439151677437534188113212712178067663679\"\n ],\n \"1346430439106428638113332790730963614537613207917159680672532134373192628755\": [\n \"17237887626086797859847830819750574037024107492775625808988992081897418371780\",\n \"4411498136262826716269954420583357536773768847667899367597974620651716082915\"\n ],\n \"8046466200893659183850041477892107869921069373401157531151164530734493920549\": [\n \"20745466286447705769044114421664947222830878123964810570888402295751158574638\",\n \"1\",\n \"1\"\n ],\n \"8780234468707063310999058138626569664053310273794323195734329195455171693152\": [\n \"871906939383164310010658962250486271658721323245748368719481180771312403444\",\n \"1\",\n \"1\"\n ],\n \"20940017521353366399480322456503543410924234749472280364867366508524725349845\": [\n \"8780234468707063310999058138626569664053310273794323195734329195455171693152\",\n \"15089599762729957536584848785845116695188608349911806897366475798487077464498\"\n ],\n \"21329082800443779288027106226328738402148056631049053713377101454388861138955\": [\n \"20940017521353366399480322456503543410924234749472280364867366508524725349845\",\n \"0\"\n ],\n \"18682342658194432025607166493873902975856724298918296103120368186760421388684\": [\n \"21329082800443779288027106226328738402148056631049053713377101454388861138955\",\n \"1865137718143558811064616713676554155522716141763643522549246265424464747031\"\n ],\n \"21215193320759745170117282807340061794112782549311057950944817620173047447030\": [\n \"18682342658194432025607166493873902975856724298918296103120368186760421388684\",\n \"12567137783043484151658865133979373160355495886511123365422397893303026135989\"\n ],\n \"21613334662658421334042241533711529889741331692770237003804359837975138212113\": [\n \"21215193320759745170117282807340061794112782549311057950944817620173047447030\",\n \"8961201544972873398925955699216605905354246084276675388158428854258860487464\"\n ],\n \"5265554424552422887852042901880407288181087918796298555899677556398612227630\": [\n \"6619956116411429871364170081932442435621560135979595046890093720439975222027\",\n \"1\",\n \"1\"\n ],\n \"85967611015218338087695152731928176798893070555502973941632160915679460375\": [\n \"8844403088033407919321203344864432552680205762213156412449848263913821866614\",\n \"5265554424552422887852042901880407288181087918796298555899677556398612227630\"\n ],\n \"5543826211033472430454777584359189893249615970515699161243609737305171710386\": [\n \"15775833089829478593711104908557396161072582008979648876778632926697214131736\",\n \"85967611015218338087695152731928176798893070555502973941632160915679460375\"\n ],\n \"11323009585530142352534001776298251961419453390240140321112519600108965685609\": [\n \"5543826211033472430454777584359189893249615970515699161243609737305171710386\",\n \"7242405377046913624372612597298690000047126871941926515003189319103220216650\"\n ],\n \"8801895589398544420634729518731615800370992634866056343253908836778320558772\": [\n \"21773663187048999656561711010753364166215190465400719913662424770652923688560\",\n \"1\",\n \"1\"\n ],\n \"15074563480801596856697061021612646585126958400114292611721803591484263150737\": [\n \"15514835714211635986608265486875518143785459818339759146662491843532429132249\",\n \"8801895589398544420634729518731615800370992634866056343253908836778320558772\"\n ],\n \"11328331139557945349157827402636067136312680764915953592241087323623506423246\": [\n \"0\",\n \"15074563480801596856697061021612646585126958400114292611721803591484263150737\"\n ],\n \"12139708329054750096043086092371144884353072360621035360232976550412047699610\": [\n \"7675275227370513539179137973942600558198861609335668166366774576359680381293\",\n \"11328331139557945349157827402636067136312680764915953592241087323623506423246\"\n ],\n \"13569737524585929808826529060695978718347754095018303506609901991747478435700\": [\n \"12139708329054750096043086092371144884353072360621035360232976550412047699610\",\n \"3353382788987245068978359777308664808054033459988787377361466715924358373684\"\n ],\n \"18158558380643611034017341549953314175259954229682982362255635664501804824171\": [\n \"2586944030855063996816464325602749716762703309784762059623499486836465470793\",\n \"13569737524585929808826529060695978718347754095018303506609901991747478435700\"\n ],\n \"12416437198765985339878768645072039147555447945485799666174644366282516708704\": [\n \"3707629536924953162626993096594987484322378551276364382883617112439223606036\",\n \"1\",\n \"1\"\n ],\n \"16709488741057027131847684088419125869786112655186566638139553878914754321339\": [\n \"15093162359916698861475191180266780679737593375535895154996998655576364667849\",\n \"1\",\n \"1\"\n ],\n \"20640420817545332309061145582640993288410173061782338926526939957288901368182\": [\n \"5223381474315928517982532039268627817374483841823596215347468445483978339551\",\n \"16709488741057027131847684088419125869786112655186566638139553878914754321339\"\n ],\n \"19321390690408048174024921714906299669530815482240014458495630457466855945882\": [\n \"20640420817545332309061145582640993288410173061782338926526939957288901368182\",\n \"19399418956351021747240445715972295606244842275184214594176027572858988465252\"\n ],\n \"4557252130702676654832501346668109152901728002106172991647511085495829041633\": [\n \"19321390690408048174024921714906299669530815482240014458495630457466855945882\",\n \"13224321120799817943100974739175760522347507248274305538147393738593494212662\"\n ],\n \"1389986620912345776739770037690323023353179761439491940713148015171636426093\": [\n \"847089629525028892893231526491835818253269670679004471100015358501646787962\",\n \"4557252130702676654832501346668109152901728002106172991647511085495829041633\"\n ],\n \"5679367090888627505182744957421135401136908516768015558449576234642587079212\": [\n \"19116551371374981216218219338522181021698588548248075650572232884137206537589\",\n \"1\",\n \"1\"\n ],\n \"18079394321459697103266583979367181563582020263890270041168464481646298018528\": [\n \"18994379530727680635415936220343241299594773365362758395049257741570150413260\",\n \"5679367090888627505182744957421135401136908516768015558449576234642587079212\"\n ],\n \"9805090137297158306528336980985404236750172766240637273787282823509152163723\": [\n \"7279245009760470267671150665770044499101123755323332298508636066009171939720\",\n \"18079394321459697103266583979367181563582020263890270041168464481646298018528\"\n ],\n \"2774526928409526198306781558362212765883569323845926855831279304738458603862\": [\n \"18222489502699813467508046394180201699909610868929361063936919024073771910918\",\n \"9805090137297158306528336980985404236750172766240637273787282823509152163723\"\n ],\n \"14239803757281692667176937596150754061945333518900111200591617846954191895491\": [\n \"7750285831602029898205520584933973697752577072938227160879659426711407489091\",\n \"1\",\n \"1\"\n ],\n \"10785032400043043172453492543643168409853536922696608737797023366658599776316\": [\n \"17483059025033113808018756137386325760046713405366232920313139525570815763363\",\n \"14239803757281692667176937596150754061945333518900111200591617846954191895491\"\n ],\n \"6733816602741774598758467440599293852755349507659546917100384942281672787262\": [\n \"10785032400043043172453492543643168409853536922696608737797023366658599776316\",\n \"18951378062730771388813823608576180433209351035346995738339462241668037381922\"\n ],\n \"13941975963030781848410303906797776081836592297233656775106129735512048051515\": [\n \"6733816602741774598758467440599293852755349507659546917100384942281672787262\",\n \"15692035096803202745810977114738984616014118157291591181280181668967955739944\"\n ],\n \"1966315757611892623628044628697926034579822443133915104026599105938187068651\": [\n \"6890681882098917000023480037051809830643846443307671927622411935719138416485\",\n \"1\",\n \"1\"\n ],\n \"9698437970920475550247877992521330240643129931180736630775653839872556191970\": [\n \"11703144957957232672569987284668205597407968591319388067905421202402493053735\",\n \"1966315757611892623628044628697926034579822443133915104026599105938187068651\"\n ],\n \"17028024601676562935451917276217411233707927929539811565931368610281508407118\": [\n \"9698437970920475550247877992521330240643129931180736630775653839872556191970\",\n \"2566856502639406726269479191021029367122113591049885632660605664684477688220\"\n ],\n \"10656783563549745873157295137988771108546753232415560345894353795393750110804\": [\n \"15942863814974477157543375513903866810619767313858222113928925883876074982817\",\n \"17028024601676562935451917276217411233707927929539811565931368610281508407118\"\n ],\n \"18952237469915165620658050699341939574744093526185599374330269562053812062878\": [\n \"12383222379658769571828504482078214642677647087848309469774405519240190230723\",\n \"10656783563549745873157295137988771108546753232415560345894353795393750110804\"\n ],\n \"5747208319715521611998208949362352923388293405963661034894230714711860671706\": [\n \"21128715291386364468190323383350714218438204203527539759522802900609009773441\",\n \"1\",\n \"1\"\n ],\n \"2676837024349090094085385717375309960395776645682536621438018326136067696276\": [\n \"8941165038233180804794731260420254982805623560132199839544708572812578638671\",\n \"5747208319715521611998208949362352923388293405963661034894230714711860671706\"\n ],\n \"18003864512317843363105311957781727000665753275811030100563597769462498097553\": [\n \"0\",\n \"2676837024349090094085385717375309960395776645682536621438018326136067696276\"\n ],\n \"3058873478299821064116333257438110864669767739195653457405453723977529323604\": [\n \"18003864512317843363105311957781727000665753275811030100563597769462498097553\",\n \"522080300087738776332408284032818096077549827922022717827765282455265932397\"\n ],\n \"20727780203837843687508852735813807416781100648799603008121516533013734368948\": [\n \"0\",\n \"3058873478299821064116333257438110864669767739195653457405453723977529323604\"\n ],\n \"19362357706027958828345641956691320254311665072641584345869657388639551698118\": [\n \"14366735768409892340645013002071864710151331567767783194677737358172365037385\",\n \"1\",\n \"1\"\n ],\n \"3482004428854340124765360046745454198396503929519255766778543068724600045900\": [\n \"4180689766072369166387743262239868072686705379622536389522827241891324761698\",\n \"19362357706027958828345641956691320254311665072641584345869657388639551698118\"\n ],\n \"4278027331864575500155610100180742194542637122948187935818435714812072830612\": [\n \"0\",\n \"3482004428854340124765360046745454198396503929519255766778543068724600045900\"\n ],\n \"15046340984389490270483236462555739688332056612804752414186906957975216273044\": [\n \"6375391132633156447135757531774982128649580938905316744177218018148976970578\",\n \"1\",\n \"1\"\n ],\n \"3214745223449726354000128789152974022968373503177556739036110060795972460031\": [\n \"7403221548188308435809948336997843643501261786681826011228206766482285831436\",\n \"15046340984389490270483236462555739688332056612804752414186906957975216273044\"\n ],\n \"5000128652155308874673343345430546803724483983666417598832436467452273513389\": [\n \"3214745223449726354000128789152974022968373503177556739036110060795972460031\",\n \"5424907943350890663591225926601741419890025924442872165695636842226931569729\"\n ],\n \"5574573849027092275769739932421130878008621072662212725643880467340188321500\": [\n \"20382745069118363096772906503368034771909350250979028291075186154710101037796\",\n \"1\",\n \"1\"\n ],\n \"9872702273648935039839047309963631465235069526587674815336452632102791032260\": [\n \"4981471945079791090906526663625544470551853585793040872136138434352809440854\",\n \"5574573849027092275769739932421130878008621072662212725643880467340188321500\"\n ],\n \"496220561596309099781857494327061377209270572132892561785790754897491695798\": [\n \"11906876310189924928560044956800416602309549142307391138677826430454055695971\",\n \"1\",\n \"1\"\n ],\n \"18370597106843200865082626653960286310100932614341527331627740013199646783568\": [\n \"14192045504094937032637340732136857329736017955760191111298434215004097620848\",\n \"496220561596309099781857494327061377209270572132892561785790754897491695798\"\n ],\n \"16550863602954814374310531941619364209820927820117850379432050899999416436880\": [\n \"0\",\n \"18370597106843200865082626653960286310100932614341527331627740013199646783568\"\n ],\n \"15151545326395725017677182401810852352079221952003365468823263323483512582352\": [\n \"9165004426028535290736537724393078095967040027965219321497541485863727680402\",\n \"16550863602954814374310531941619364209820927820117850379432050899999416436880\"\n ],\n \"17606468563502998243888491682147655285985162917603250096821713586452523251444\": [\n \"18821651958796110299003437605234231341067028110557519526340487421432501037771\",\n \"15151545326395725017677182401810852352079221952003365468823263323483512582352\"\n ],\n \"21732486962430992004427609648763792169050382445856908963855215764759218533339\": [\n \"17606468563502998243888491682147655285985162917603250096821713586452523251444\",\n \"299671072290943842812866711178872586237856547757100536889952507236514049093\"\n ],\n \"2629802996045556211056708642155873914758678244575685713870727201232635224824\": [\n \"2896902615250529318757997801669422349135440430359513589437910211920879987034\",\n \"21732486962430992004427609648763792169050382445856908963855215764759218533339\"\n ],\n \"15154842375318061914842317314861528824460796652655861985674184491601164859971\": [\n \"4229241060212961392773004550192457728472440289460106149153758068726752492644\",\n \"2629802996045556211056708642155873914758678244575685713870727201232635224824\"\n ],\n \"2991823141270901820449218380158641261036689092304394215356397820228360894166\": [\n \"11934065805819116045170890660607944054870368098157073377878724547146164376142\",\n \"1\",\n \"1\"\n ],\n \"7204882117628110365066933429913951411643231452594355608678486342707298857096\": [\n \"2207961183154646351808814021621520227470439598610815504689738240097574528066\",\n \"2991823141270901820449218380158641261036689092304394215356397820228360894166\"\n ],\n \"2706992906277369943942925609445230972460854545307553767044749088874558988108\": [\n \"7204882117628110365066933429913951411643231452594355608678486342707298857096\",\n \"5807889678189469010435121968490720221993486507600792389012857157346823914671\"\n ],\n \"6335730576272078870700650777018570145857266056828697204634589529491551816865\": [\n \"2706992906277369943942925609445230972460854545307553767044749088874558988108\",\n \"1949662201652603173990541023695263411399954895455000757506514366754653997619\"\n ],\n \"5422690931911540391646969841782331217051867440827604912721736485534770065711\": [\n \"17171906989718594235717403319289463574214463599031457551835038807059784356053\",\n \"6335730576272078870700650777018570145857266056828697204634589529491551816865\"\n ],\n \"3229291603098505214263842269543171607581734974513206927645995360702711259472\": [\n \"5422690931911540391646969841782331217051867440827604912721736485534770065711\",\n \"7407362256722162428581950601171475945875035046452213385067643186500463529566\"\n ],\n \"20888520736357440483177981793462402489806634628905586343588498036748075649792\": [\n \"3229291603098505214263842269543171607581734974513206927645995360702711259472\",\n \"370163779614174612559520994415818363078126956574638283322511765094612385226\"\n ],\n \"6308698868564290582083887197941358478801575560587445896303520680468295471124\": [\n \"17825008798576974743729877894254075184268858866415596793538859660559768635754\",\n \"1\",\n \"1\"\n ],\n \"6852795054138215480422993244741984296275608691822192277916189059475914352161\": [\n \"10793901937545749483043346795387588566409601247099968039857573383943916203394\",\n \"6308698868564290582083887197941358478801575560587445896303520680468295471124\"\n ],\n \"5328260973573313045286325375877464963424956140300757567388929898449307067844\": [\n \"6852795054138215480422993244741984296275608691822192277916189059475914352161\",\n \"12652328896882031669123470305816785344362928970194374910021927764073194764636\"\n ],\n \"2554632183020793251018754199859632326100581296220723877287807543255763064102\": [\n \"5328260973573313045286325375877464963424956140300757567388929898449307067844\",\n \"0\"\n ],\n \"17006021228732001961314039398045133941724211419743193187413107392790054672915\": [\n \"18678898965518135090720897097061682559617000371291632753821592928862430987157\",\n \"2554632183020793251018754199859632326100581296220723877287807543255763064102\"\n ],\n \"19158423446613470775899367013929123302941792451135381143011124285357855279504\": [\n \"17006021228732001961314039398045133941724211419743193187413107392790054672915\",\n \"5000447635745478790544131451974684915768789170101955666157579304787605028129\"\n ],\n \"21051594268383344710938692843440643133843257048042054535593495731633967011777\": [\n \"19158423446613470775899367013929123302941792451135381143011124285357855279504\",\n \"2220943910153082555695145004584516892235339633115424631989878677411073845595\"\n ],\n \"2282052634053684397923892978130298910151166679108082343792929350728435745721\": [\n \"19440024665577032980973645163780252953757884241765677989650466675254782909289\",\n \"1\",\n \"1\"\n ],\n \"5231613252417162739546076337976868744598240156404259284792257774638459480283\": [\n \"16074580326297924102697053908731780943351770632223580504670148273000556338394\",\n \"2282052634053684397923892978130298910151166679108082343792929350728435745721\"\n ],\n \"4939215708142113575128774486024591264482661240498329952058800524167858375896\": [\n \"5231613252417162739546076337976868744598240156404259284792257774638459480283\",\n \"8297136111469716182137536637087915025018518109788753912856955847180431690726\"\n ],\n \"9144757068950974352092360796686891342670332233635104378141702709153751185862\": [\n \"3585857516674672186688011758373584216078748910360724094731167054970746277590\",\n \"4939215708142113575128774486024591264482661240498329952058800524167858375896\"\n ],\n \"7005865150810938112129151232771576730971747845418593424056715483224941930639\": [\n \"9340608375759726135010359821059079059729823754745510053984394585854957634770\",\n \"9144757068950974352092360796686891342670332233635104378141702709153751185862\"\n ],\n \"21254699298705427868183231766378493963923254351440765791138273818595988944821\": [\n \"7005865150810938112129151232771576730971747845418593424056715483224941930639\",\n \"16765840456573972788330292654561724144347417551422172656533727195560689487286\"\n ],\n \"7675976860074544769237720251066125743305701163890287856749775360271822961144\": [\n \"10204366422126245943891734664810854836125669557841707819177554079141857683223\",\n \"1\",\n \"1\"\n ],\n \"2284389006434939018581078956775213498174538527651191813907284845830896051342\": [\n \"5165599177923686840861377817731465644124241128388282582242145409410261750988\",\n \"1\",\n \"1\"\n ],\n \"1173602826203477477994849972737479965404701035433281390562670563945971863270\": [\n \"8769589860734587949862673833904150277419839128591248281937408114017568966281\",\n \"1\",\n \"1\"\n ],\n \"18697502573906397664861808808674092383171912264522388678876220472233401130611\": [\n \"1173602826203477477994849972737479965404701035433281390562670563945971863270\",\n \"3211347276788141500491290247549931008585794241964037857229997515370054932496\"\n ],\n \"8468355425929871771243868774390332588583941992173643832487949952292105753276\": [\n \"0\",\n \"18697502573906397664861808808674092383171912264522388678876220472233401130611\"\n ],\n \"21656245577701261277759286648746570125431223225902686605244460041329390926140\": [\n \"8468355425929871771243868774390332588583941992173643832487949952292105753276\",\n \"0\"\n ],\n \"715252279706462398931398706785242773273992341045058823747603669097788008964\": [\n \"1132037048399158471115979466388654195461126991713708741747415750792678377172\",\n \"1\",\n \"1\"\n ],\n \"13171058453157517888481229724478470354980230421784307208717045776465061560684\": [\n \"3761535154245273212784709788832960986837937525161833358003905991755847705903\",\n \"1\",\n \"1\"\n ],\n \"5373492640457436597580331435167736430409709273030727471912731346163262458838\": [\n \"13171058453157517888481229724478470354980230421784307208717045776465061560684\",\n \"11694147280052897075463088829621105124230578870750037082309316163142884972954\"\n ],\n \"7203286742039168271110012011627682519037289439583423505501890909703775955579\": [\n \"14882578217970027791184496610157143193580465012985590425591821456924380393971\",\n \"5373492640457436597580331435167736430409709273030727471912731346163262458838\"\n ],\n \"9801209750182766657654219622747386930962677657952866376677069028628895106171\": [\n \"7203286742039168271110012011627682519037289439583423505501890909703775955579\",\n \"2159842316639828605074536530854811876683274139324892437381810910446483889873\"\n ],\n \"8483534560201769962138121348246384206588040291330033221350392678667114427734\": [\n \"9801209750182766657654219622747386930962677657952866376677069028628895106171\",\n \"0\"\n ],\n \"14123206131262560218600318968115955485374375806409925253073688291393551265546\": [\n \"13899526940518368800743329763907273186731758549457795611833035957465843851158\",\n \"1\",\n \"1\"\n ],\n \"21694802286726178545277140232256934620238388495839581898641360247999390306608\": [\n \"20158744635619777065129495166139256778853484979177234894747270626416793373333\",\n \"1\",\n \"1\"\n ],\n \"2466629729824944850976802254803180415705049575992506696440153090242372775260\": [\n \"4702760344885239046199993242822864040765990209687102587185294855580565471301\",\n \"21694802286726178545277140232256934620238388495839581898641360247999390306608\"\n ],\n \"11280700223746732773468035105293995145782178108861023785947442140705184124176\": [\n \"4094718545466376827101400561969333663410892796411950425165978929063210249996\",\n \"1\",\n \"1\"\n ],\n \"4640922017024901743553960603694118566810074241803769019707148800385204190785\": [\n \"1697347264007931751737117414610850534338429431390791452546987242437712143877\",\n \"1\",\n \"1\"\n ],\n \"9281398497617163188098620134014028075864278532420125806742497557554085162299\": [\n \"4640922017024901743553960603694118566810074241803769019707148800385204190785\",\n \"18947234823646721597074340991467845344347294984438401379807493342263149090830\"\n ],\n \"5990956969417933175503294160152545496279698588115775642810706168430352470017\": [\n \"9281398497617163188098620134014028075864278532420125806742497557554085162299\",\n \"0\"\n ],\n \"11568439013294960028727201000197866718474876979611334715537137260609196608231\": [\n \"8044184801169401349226805360676754689459798574977727001108883459726712396357\",\n \"1\",\n \"1\"\n ],\n \"10324287930258262866674988817230475626325832837156480296802808859173551146584\": [\n \"19484168557330473142247134205453110201250529428936351153817437263914630310099\",\n \"1\",\n \"1\"\n ],\n \"5951091063023253904383614268007962071634002201116058235251966956642089031461\": [\n \"18210028530612193917054473349746605835041330460265572236059014551903499322737\",\n \"1\",\n \"1\"\n ],\n \"18249524881645919605352093395985857782369201904160077585891983808415078065974\": [\n \"5951091063023253904383614268007962071634002201116058235251966956642089031461\",\n \"13366799048345847280008191149424364931478849780435039094261788423235712292808\"\n ],\n \"15008763510044856044862139016813601274710664796049573538874902920287073487479\": [\n \"18249524881645919605352093395985857782369201904160077585891983808415078065974\",\n \"0\"\n ],\n \"11260917764469769163689760538909136288759461235185309939070442316249622205829\": [\n \"15008763510044856044862139016813601274710664796049573538874902920287073487479\",\n \"18306434202501430720558063409154307965024535504697143128841368258278522166694\"\n ],\n \"17439633265337596864378194898600075335962822074117632038812371420968862304286\": [\n \"11260917764469769163689760538909136288759461235185309939070442316249622205829\",\n \"4616706178674760554081237526859373591374900939683501633064240339078446206747\"\n ],\n \"15553250051043222846106469254404599533094032777291741208625045210855416839623\": [\n \"17439633265337596864378194898600075335962822074117632038812371420968862304286\",\n \"14947634609500189933159943021598348334527604402803773828760235320520326514035\"\n ],\n \"3342255074062108198929102972573322270789293987294849871096196531565185216207\": [\n \"21148011357007948225713780412842033116062055546653340877830152154843909432533\",\n \"15553250051043222846106469254404599533094032777291741208625045210855416839623\"\n ],\n \"9058204389656086869011993575953525101214668750396081553707151627816357414592\": [\n \"21572051901736713649665629267965594934203852113071552345886079964743650442227\",\n \"1\",\n \"1\"\n ],\n \"9411749393548951898834050938869840088107554489985150452038525543702217524878\": [\n \"6617732527132532013706114222969359935821661836282019606950550280964425169059\",\n \"9058204389656086869011993575953525101214668750396081553707151627816357414592\"\n ],\n \"16616973517738133878320888651440054206610329368350054670429457777542510426316\": [\n \"19585013704509545206819299586706646442033054652378975984439190975698631788844\",\n \"9411749393548951898834050938869840088107554489985150452038525543702217524878\"\n ],\n \"15679267890955417235633610914867453477669402322315407452936675736423440420190\": [\n \"6151462657919547681085024515547488222308698194731886350032057090099765971483\",\n \"16616973517738133878320888651440054206610329368350054670429457777542510426316\"\n ],\n \"16192246905604887821644683873029889523264299664987044780589070128165013772815\": [\n \"500021184352158454317957870002096118185178475149949021411071604621030242426\",\n \"1\",\n \"1\"\n ],\n \"6006256103826827938988649782030466432415983843729735461349726880065997830849\": [\n \"17180871293601817608487997185038931965357386542972238046251508353772525164960\",\n \"16192246905604887821644683873029889523264299664987044780589070128165013772815\"\n ],\n \"11137781805658636032302649245860490798199182133978636925084132351572278114722\": [\n \"4307010771788830023894264310036782274089293426068288013926319398054174598990\",\n \"6006256103826827938988649782030466432415983843729735461349726880065997830849\"\n ],\n \"12899074802851569755345256470396216272604504990071896133167519209352017100499\": [\n \"2529693477295502514772334197840051933837119431534484218033633782795272681944\",\n \"1\",\n \"1\"\n ],\n \"16895691805961478136643529346013010243860478162326595464926495107854994927072\": [\n \"6374743327353155978048003344058379985059196707897678457403380390601494327987\",\n \"12899074802851569755345256470396216272604504990071896133167519209352017100499\"\n ],\n \"2502707272765626651668430427605559767783366023804970647438561166073789796504\": [\n \"0\",\n \"16895691805961478136643529346013010243860478162326595464926495107854994927072\"\n ],\n \"4450405168188537938006245406243115601773498086439598245776199003501384080910\": [\n \"2502707272765626651668430427605559767783366023804970647438561166073789796504\",\n \"830458233573698513311195340966746459181856297499822489540944852106643641252\"\n ],\n \"9548448641250554739426748867369090644140454231234723252976383220373998985448\": [\n \"19308679722439996973898693879944957946341516295886773089665833181042608412947\",\n \"1\",\n \"1\"\n ],\n \"6331334314098162582949086671204490001373779059335256913698113462642669734418\": [\n \"8036863198955229678964338462576538873165033313392655758355645823022953249436\",\n \"9548448641250554739426748867369090644140454231234723252976383220373998985448\"\n ],\n \"21012295152043811257625592006208114491338623838973692167340954936365453071723\": [\n \"0\",\n \"6331334314098162582949086671204490001373779059335256913698113462642669734418\"\n ],\n \"12860918528212638883421395787961662358249966150999622655230527164975148313742\": [\n \"8101275442508553927335576807273299304220266545316614429859876172202175960959\",\n \"1\",\n \"1\"\n ],\n \"19764603521857598600791691409592020325301003546860221464560205299649869673901\": [\n \"12860918528212638883421395787961662358249966150999622655230527164975148313742\",\n \"16620115709619873632140384844671608341699113594319500080257079575173897680023\"\n ],\n \"17781604200188882619008850327225767058118299102218485345772250332629011610766\": [\n \"19764603521857598600791691409592020325301003546860221464560205299649869673901\",\n \"0\"\n ],\n \"7274267672139308746540658980959309351372256136590960169008342402905562940661\": [\n \"17781604200188882619008850327225767058118299102218485345772250332629011610766\",\n \"0\"\n ],\n \"11846533368687168118328430672261853451862004843152186136518656537450441106632\": [\n \"0\",\n \"7274267672139308746540658980959309351372256136590960169008342402905562940661\"\n ],\n \"9333332533715053071735954818431716526014722237844814086623270140981485489604\": [\n \"11846533368687168118328430672261853451862004843152186136518656537450441106632\",\n \"3029671962550099314209193538344690265197156376840199311647143361099255526574\"\n ],\n \"6783170571816596038048897105328133238691811274795284873083652020017349497118\": [\n \"20196944891864431511716778416844652783007399393074124740523908638697080493949\",\n \"9333332533715053071735954818431716526014722237844814086623270140981485489604\"\n ],\n \"14249464249480638529459871873440544834420875032859490091469445806072534245350\": [\n \"16836790552998690071281760450137016225096238175321228733071851655290217732541\",\n \"1\",\n \"1\"\n ],\n \"9066274387189883813364945299826439903762651680104784022648267140871000406037\": [\n \"14249464249480638529459871873440544834420875032859490091469445806072534245350\",\n \"2976354683896855406647086642606132791057954062534541631788402685515790625191\"\n ],\n \"16086374289220832616144284280441884873289479512605693328770354528857780059189\": [\n \"9066274387189883813364945299826439903762651680104784022648267140871000406037\",\n \"0\"\n ],\n \"4701849955502541430191873755607938046838304388677666349939960512201575428179\": [\n \"0\",\n \"16086374289220832616144284280441884873289479512605693328770354528857780059189\"\n ],\n \"14676905167063743855291218386736462073237008495757931510965557422899957095997\": [\n \"6324431677536434236849370622617550549320555006990199517790488313720010224687\",\n \"4701849955502541430191873755607938046838304388677666349939960512201575428179\"\n ],\n \"599045829025762286032065435843650518088459248692814016740316862359803798585\": [\n \"14676905167063743855291218386736462073237008495757931510965557422899957095997\",\n \"5464624781207363900295235054878381376704124776957822207828284821979528814471\"\n ],\n \"3680792796358744467815240821410089004681919603738764321392167529717791121446\": [\n \"2553826334927648099710806246006502285150473455084218770378975842256257889605\",\n \"1\",\n \"1\"\n ],\n \"10080782383548177837178532107858974979969127104374974111344606559825014821752\": [\n \"16621279738001925168009537110570780543054260100393736920179135922245596522355\",\n \"3680792796358744467815240821410089004681919603738764321392167529717791121446\"\n ],\n \"17927358944807967996804498175348436118919774700760643688813593195048012249547\": [\n \"274686442416962188429467021264193417207142577210354508881086253769287900364\",\n \"10080782383548177837178532107858974979969127104374974111344606559825014821752\"\n ],\n \"15095119329181382207713578025584564359803894535266459852898200630816991267296\": [\n \"17927358944807967996804498175348436118919774700760643688813593195048012249547\",\n \"0\"\n ],\n \"13163560144981317709449746362173194212336974399197469249949638207401075512320\": [\n \"11455640745359691315557048135036928222845524822080219711957555698121621582159\",\n \"15095119329181382207713578025584564359803894535266459852898200630816991267296\"\n ],\n \"12477738171921935072367456882927902105568369810264622047108628556138727226454\": [\n \"13163560144981317709449746362173194212336974399197469249949638207401075512320\",\n \"18051583385186940936288136027959330127580315704513531566150940483033084276337\"\n ],\n \"21549427563164419423974391152517456765625636304532809262853436475570223170330\": [\n \"6108857031835878171892166400748353893487210069470785471493565496896938515054\",\n \"1\",\n \"1\"\n ],\n \"9982613419703414376135891100414747615346746572955119566653115107201902497742\": [\n \"1835594151845585082014298725488815935526293331751703983834630803100167737272\",\n \"21549427563164419423974391152517456765625636304532809262853436475570223170330\"\n ],\n \"8830237398005098545714002671435464809931822987124124854702968205026458206020\": [\n \"8937313652481771369989942823885988104557702132111392309798263583547600944568\",\n \"9982613419703414376135891100414747615346746572955119566653115107201902497742\"\n ],\n \"4959865750521594328071459171094925517046166826205137877095658857300607005636\": [\n \"8830237398005098545714002671435464809931822987124124854702968205026458206020\",\n \"6386795308396699619398340157200495999686211422895404492910509051998276405019\"\n ],\n \"1409541181441381037486824527290942425082540986157562131918773833595178323951\": [\n \"21417656195770919079951481378479723689171088474317449335173739159486713867021\",\n \"4959865750521594328071459171094925517046166826205137877095658857300607005636\"\n ],\n \"7594450382337189977541099920975013635180767506639371048775632921056917920707\": [\n \"18945650345229663950159561577671042091126587646321392350788418576476097019062\",\n \"1\",\n \"1\"\n ],\n \"14753308303031390176965125430374029512456317123148883112946163241372455951437\": [\n \"1286435524434510834170317697641297734648251226091849794585167410908227836666\",\n \"7594450382337189977541099920975013635180767506639371048775632921056917920707\"\n ],\n \"34353535611997640697223543811441097831118585523780953780864876432510046628\": [\n \"0\",\n \"14753308303031390176965125430374029512456317123148883112946163241372455951437\"\n ],\n \"9890154827010555670345709524843483151634248418015573782793023237140973874057\": [\n \"0\",\n \"34353535611997640697223543811441097831118585523780953780864876432510046628\"\n ],\n \"20434332323634177528400017304501307615540643277034496692746110699611376207684\": [\n \"2066387702986643737743768492697376062880214690883432629841730769319013370664\",\n \"9890154827010555670345709524843483151634248418015573782793023237140973874057\"\n ],\n \"19353595856438776579345744383799281113544961553819193965998935274705129119918\": [\n \"15755123489288457369092871770837451093278642141323730607269364558152389064975\",\n \"20434332323634177528400017304501307615540643277034496692746110699611376207684\"\n ],\n \"1241548950709062620151363466485778936189695492820759825973856935029774381466\": [\n \"2274834648109135283804183509150648583340928656340299328248077879662044783718\",\n \"1\",\n \"1\"\n ],\n \"17498154401622328985941738450814466823268608523447871199246388824468521476466\": [\n \"1241548950709062620151363466485778936189695492820759825973856935029774381466\",\n \"16807493600004561651782385239432040764539894416716094171175374164562942825316\"\n ],\n \"6569880636111892189138636239541625459152249470114760757060132783054757898693\": [\n \"17498154401622328985941738450814466823268608523447871199246388824468521476466\",\n \"0\"\n ],\n \"4833009070189991340359808077827644702495157242070524437364771776321458152566\": [\n \"6569880636111892189138636239541625459152249470114760757060132783054757898693\",\n \"0\"\n ],\n \"9917516406095110185961976755391368553278877948019562689133435903922994551622\": [\n \"0\",\n \"4833009070189991340359808077827644702495157242070524437364771776321458152566\"\n ],\n \"19427047354615059515719795948809927636684262426824006321752635733456748438292\": [\n \"9917516406095110185961976755391368553278877948019562689133435903922994551622\",\n \"0\"\n ],\n \"20870100488159697388063507444979869910735785488296391938145761091815979548104\": [\n \"19427047354615059515719795948809927636684262426824006321752635733456748438292\",\n \"0\"\n ],\n \"2004695195699782839242425281887940967697145532019887212680623535549648336333\": [\n \"7143627515419103953735748486823624906039119192610616301216116347987432514667\",\n \"1\",\n \"1\"\n ],\n \"21814739454220207825581419534379965894801831444254752905359837723584939955985\": [\n \"15300591827703063818408585714237557390523389891150851268518682644773389871127\",\n \"1\",\n \"1\"\n ],\n \"257617922975152898801256568010137299375602821760267415968503709734269999051\": [\n \"2031222523414364968702323546113715368798872607888468617087195590706056128892\",\n \"1\",\n \"1\"\n ],\n \"13654327764846227505103422643213769002492682656572909176147340300947786396957\": [\n \"257617922975152898801256568010137299375602821760267415968503709734269999051\",\n \"21572548863887572051905824093413605829298582954693880631150094491115467224848\"\n ],\n \"21270888835928599656766598677931061064347004761815643013618147942136015459539\": [\n \"17457427034808340945375216092184228287513552063760643121618280213840103218166\",\n \"13654327764846227505103422643213769002492682656572909176147340300947786396957\"\n ],\n \"16292631777199627061580665333807301567645714288844060269410314518342439278585\": [\n \"21270888835928599656766598677931061064347004761815643013618147942136015459539\",\n \"19052975674249440745875764900516388460593276592282181254560661063422805090120\"\n ],\n \"16466333597488376606857625658859290807610179206790757594494545997456614584383\": [\n \"16292631777199627061580665333807301567645714288844060269410314518342439278585\",\n \"2831312918259721374413607561061926006613469661792169815747276736777025634613\"\n ],\n \"21526003001310855138577416148829855914233736652837263010769165956015793744605\": [\n \"6366429056828141882008327211563751092741967830229206190442370264849524479675\",\n \"1\",\n \"1\"\n ],\n \"1585234484729469944298266290897719424869684588043774941903116948874103447475\": [\n \"10864784219694612888745712515308118830328018901327898606751310127172684593650\",\n \"21526003001310855138577416148829855914233736652837263010769165956015793744605\"\n ],\n \"5805975738320017590682236745918262000905940929969791645435258880464860527742\": [\n \"1585234484729469944298266290897719424869684588043774941903116948874103447475\",\n \"0\"\n ],\n \"13153421724511007023768786555650535235857380103739920941975681164104961610272\": [\n \"14794664299977574569012737618286824267349094505603081134746471025013542699720\",\n \"1\",\n \"1\"\n ],\n \"5086501420730152759879777035065743583605184400119573630547028722990275374400\": [\n \"13657881136750880811613976082550043451183301161639237070755933744523389156866\",\n \"1\",\n \"1\"\n ],\n \"5696213292298974446219090303136507560741737562009003461966056494449624464848\": [\n \"13746384442423772450528293139598314816990343585691400418850350345016061317501\",\n \"5086501420730152759879777035065743583605184400119573630547028722990275374400\"\n ],\n \"3895687592429165372997482164036731510047952505310437980713475193002914115653\": [\n \"13416898805883510486600495543203838451948079523412481692305334609601664630756\",\n \"5696213292298974446219090303136507560741737562009003461966056494449624464848\"\n ],\n \"6175175824475854430344059960345207029157805719387192247744306029553652337540\": [\n \"13760649958337859093863677784493941493715645448125584298405795460446756533058\",\n \"3895687592429165372997482164036731510047952505310437980713475193002914115653\"\n ],\n \"10730097381829102407425728599186581697718412232507613462721762161926066535507\": [\n \"19232165910287013970346712093809361314019060048592662229995744297750498720629\",\n \"1\",\n \"1\"\n ],\n \"2038055102257678762287144444447267656706180611968700225285426928340906290789\": [\n \"10425620939544366156865733216696001812536677717388621062668691121643427681502\",\n \"10730097381829102407425728599186581697718412232507613462721762161926066535507\"\n ],\n \"18851409583219345118878214593785895116813213695004718417692748423432051878711\": [\n \"14540213107341420192096384037012425699166667214826350266000596483892631839021\",\n \"2038055102257678762287144444447267656706180611968700225285426928340906290789\"\n ],\n \"5724927075054693681768603150935535779717835482382843121660470662484977240453\": [\n \"14962725864179509522001429922894568098360250322024997137952797529854264283483\",\n \"18851409583219345118878214593785895116813213695004718417692748423432051878711\"\n ],\n \"6013577597114920725773041365664219244239739737250971150880810515587610457294\": [\n \"17190831542456943235442098962037893480324920212163498908004741231695318009941\",\n \"1\",\n \"1\"\n ],\n \"8913140866431539073075094501712831107317471229585888257703162745357640808703\": [\n \"6013577597114920725773041365664219244239739737250971150880810515587610457294\",\n \"12568142250960678965764495889001207434546883072559555645671973394764475992072\"\n ],\n \"14389550154119002505531769367469172673941628736111760582942591834438495020777\": [\n \"0\",\n \"8913140866431539073075094501712831107317471229585888257703162745357640808703\"\n ],\n \"1882223228693206996930447882167623949030819229069979987319801128760900657156\": [\n \"0\",\n \"14389550154119002505531769367469172673941628736111760582942591834438495020777\"\n ],\n \"14425372705542037087494489226134575887051740022819009359660611062574390759369\": [\n \"1882223228693206996930447882167623949030819229069979987319801128760900657156\",\n \"0\"\n ],\n \"5177611482820737315504330936710973910777481414035671900251901428795307327059\": [\n \"14425372705542037087494489226134575887051740022819009359660611062574390759369\",\n \"7046160626638230631229964911029649069382912671228200594280436560063320543921\"\n ],\n \"15215591542565537548433716507980734982014169828446815776779058254779530499445\": [\n \"4671222870489755490944880552389177064539504247884177963086478372485048458932\",\n \"5177611482820737315504330936710973910777481414035671900251901428795307327059\"\n ],\n \"9083946123647370197000646251722132869658697006130894568827357860288313699094\": [\n \"15215591542565537548433716507980734982014169828446815776779058254779530499445\",\n \"12146051609434125462389255531588284147704601390578979093820983829663075064332\"\n ],\n \"6591216098893474342853954121997833764241849955804342461827886272620446779214\": [\n \"19155618651120179530721890580086904480043227095735337682046867673058645326826\",\n \"1\",\n \"1\"\n ],\n \"267977735444859049614431318563633469070274465632954131990359661309012617901\": [\n \"6566883400387886652755253243368377824785671206768796750844822396303609011326\",\n \"6591216098893474342853954121997833764241849955804342461827886272620446779214\"\n ],\n \"16036328905509281846510692310248894281216785572589434795965191829556390003612\": [\n \"20922204245672741187517885742039274951791509641004204861614678574828492876925\",\n \"267977735444859049614431318563633469070274465632954131990359661309012617901\"\n ],\n \"797781710056979410621150722292473463830435892368403414733434694723972263060\": [\n \"11735864825515225289935621577759261525959600889650881996601875874833995959092\",\n \"1\",\n \"1\"\n ],\n \"9159361310024172019786625123798741791539727455540963088153163973829596927057\": [\n \"797781710056979410621150722292473463830435892368403414733434694723972263060\",\n \"14118182294457602635285798511225049504947261956641833626556004357990812003113\"\n ],\n \"5497936675265048647357707469389592188078214893653046853871814100230375919661\": [\n \"255407120477944482943084145554661599912648876642914441190414790071608353120\",\n \"9159361310024172019786625123798741791539727455540963088153163973829596927057\"\n ],\n \"8441586246994432084092640104989153667857885810630276308319477117649151138755\": [\n \"6546086636185197090774287172449428069337306623771225050525852464569109816105\",\n \"1\",\n \"1\"\n ],\n \"3893354648731840433895497254360871825531385481466491094378399755376028934730\": [\n \"8441586246994432084092640104989153667857885810630276308319477117649151138755\",\n \"13709872113480268750202324056879455637028450392933080987250907398817177239667\"\n ],\n \"4318734098207296890528926650815978412586505030829188155786446762306221771051\": [\n \"0\",\n \"3893354648731840433895497254360871825531385481466491094378399755376028934730\"\n ],\n \"8127478814417373484597672845554624889852531927109325135145799940457740232386\": [\n \"4318734098207296890528926650815978412586505030829188155786446762306221771051\",\n \"17491271996414899603140359651256770853552882134066869603081035875497895352443\"\n ],\n \"19909287142878775704350982370775973503233883894795529012532114547799567242475\": [\n \"13562366864334539254896566229341548049858803504034115977677891592365260271376\",\n \"1\",\n \"1\"\n ],\n \"14116825616541559396869592764091571415181558838265828364106236103337305186333\": [\n \"19909287142878775704350982370775973503233883894795529012532114547799567242475\",\n \"10733361585829520448024577718774693797824191209073742755286418530266084404340\"\n ],\n \"15843816760571405961539669896762486005739140879103151472208721907315491792196\": [\n \"16432175479272951276280272348535801034389467908401905405382587613560049230795\",\n \"1\",\n \"1\"\n ],\n \"4009816362536546721493728955380060570437897254649976357707293821074333349481\": [\n \"3724914049930079834120555477669593674763500842694281901610603746169401810808\",\n \"1\",\n \"1\"\n ],\n \"8005406628884883408382221281733656994786983642319346273864999452463452331692\": [\n \"16106193831431676263663628856002408973765480847304875349167501290123412514585\",\n \"4009816362536546721493728955380060570437897254649976357707293821074333349481\"\n ],\n \"17680687104898188188809682279385259036925200400166807049613601719841647443888\": [\n \"0\",\n \"8005406628884883408382221281733656994786983642319346273864999452463452331692\"\n ],\n \"7491058633217348492242462106118196397310840830660546877939622257230835154644\": [\n \"2142033113647592041896635747330200272547128039308878212956189568953704395675\",\n \"1\",\n \"1\"\n ],\n \"15832068355741973135192232379207169144221029227966316825159574287644928256222\": [\n \"7400872713990656005512764543340627732952110998944647303484777396192808209898\",\n \"1\",\n \"1\"\n ],\n \"8595002479442436936463139712073546391981010307413073768764642623885258771207\": [\n \"15832068355741973135192232379207169144221029227966316825159574287644928256222\",\n \"20732182726854259828164309436724367056953030746862589457772279829575303542456\"\n ],\n \"6059277970155778684149199054616090972653665265944705894812953099276215208388\": [\n \"8595002479442436936463139712073546391981010307413073768764642623885258771207\",\n \"13451717799660065569805425507816013091857301512571496471985114094415253796685\"\n ],\n \"17910636618782217124463711185789185581458397245927863354495431088149428902019\": [\n \"7984994435834488415571527584296695288726443232238701086421691470034150814754\",\n \"1\",\n \"1\"\n ],\n \"310042720196840762512513698520912789145933773466382881638152890144928583623\": [\n \"6668606947559135198858667547366084990858119135140196789513328320165121177050\",\n \"1\",\n \"1\"\n ],\n \"6687938676327153020809416999102710273574851895449429420476489956772983214635\": [\n \"11206077449177794500118347265842651538868353758508222145846655833212221180237\",\n \"310042720196840762512513698520912789145933773466382881638152890144928583623\"\n ],\n \"9290036395032568026410088519377556234552725073230141862586611380922878762686\": [\n \"6687938676327153020809416999102710273574851895449429420476489956772983214635\",\n \"16969183746725075243360127069961793501936397988849039973816431399803588680103\"\n ],\n \"5373427708202030462872203893638254046242039014518172475364680252379350731913\": [\n \"4830389207545847679325973224772669671670024001062846430838997833084916237438\",\n \"1\",\n \"1\"\n ],\n \"15167985800016893665648415480003902292805247760595735954443997022711328847519\": [\n \"5373427708202030462872203893638254046242039014518172475364680252379350731913\",\n \"20363588804192855843173227736218220966309164462811991123188168278474243201310\"\n ],\n \"8991268271634534298648377809654537373757012844340249231827945424948643244124\": [\n \"15167985800016893665648415480003902292805247760595735954443997022711328847519\",\n \"13768883215943192034327560826310715301341780118220287306423522704269164700611\"\n ],\n \"20602281417822072017830482703730940552608738125905503915402577768232568693629\": [\n \"0\",\n \"8991268271634534298648377809654537373757012844340249231827945424948643244124\"\n ],\n \"18138560420943930170253185674160889807697247729214115728676399791398095196287\": [\n \"20602281417822072017830482703730940552608738125905503915402577768232568693629\",\n \"15418904293106269668094713086146476689696293364756308607246154890186189612944\"\n ],\n \"11786878581429879236598020420388611274397986673739614253502662760562111353384\": [\n \"17595372234182416070879125955322716096202982308412824648883526480212594538103\",\n \"1\",\n \"1\"\n ],\n \"7568626991990302091785554270685468433291939084551288980821685897035081721266\": [\n \"7700010849749130113580767467866136202792715469801683963042747990371040815759\",\n \"1\",\n \"1\"\n ],\n \"11596259591215226621834831690085499199132712383408488516669503361143078678582\": [\n \"21791407154146778410372541139291506404465558683109746942432876405505030629068\",\n \"7568626991990302091785554270685468433291939084551288980821685897035081721266\"\n ],\n \"13624278671478422966283090306964015366579057101220706406700319708978374213881\": [\n \"11596259591215226621834831690085499199132712383408488516669503361143078678582\",\n \"21801182326200284567573288029459446381005898811741685162609597152687282650482\"\n ],\n \"8930961286367657359381645958459399904349720274775901781523506909755628570598\": [\n \"14124055561115322223868621657621112989511761140169698619781870539493444201367\",\n \"1\",\n \"1\"\n ],\n \"7616490836944973495264433906749969580915907633251851419249418119554817942103\": [\n \"2105858191924325938908540732538754392836118797482300240550928762399040453352\",\n \"8930961286367657359381645958459399904349720274775901781523506909755628570598\"\n ],\n \"19786534750123080471387564681733458520824890468193352248934160241776281089087\": [\n \"7616490836944973495264433906749969580915907633251851419249418119554817942103\",\n \"15064850380661413330472179898526672066219916700795466485694762778672020644019\"\n ],\n \"13876536500042058057591388633553573440061428360498067081629838815997100529509\": [\n \"8684058553839299394419588708733427784671924314939768287999192950842716061314\",\n \"19786534750123080471387564681733458520824890468193352248934160241776281089087\"\n ],\n \"3138007060231510157442843535953847005834585650931481612813495080129736258946\": [\n \"15745025440257187369321205925170757148373357577502150056555483390634078773266\",\n \"1\",\n \"1\"\n ],\n \"21241088295810483173898182011793912634370535257820585693775799538760595564616\": [\n \"3138007060231510157442843535953847005834585650931481612813495080129736258946\",\n \"16804384772375496990817829259033043200747681594646706162967907542436218723784\"\n ],\n \"3019209056142891397757201477980583448564564289163942127024837121807812655360\": [\n \"21241088295810483173898182011793912634370535257820585693775799538760595564616\",\n \"0\"\n ],\n \"16650540780558129059457004777217839506458375684695939223976205302606154044434\": [\n \"3019209056142891397757201477980583448564564289163942127024837121807812655360\",\n \"12940309835806876092257947538222015298127789547279790040725456474886342807709\"\n ],\n \"19884278305041172381147334624371272282851798576152961797573251711843247692016\": [\n \"16272202615722087228653859104720219399842663105015387885681782683399840415287\",\n \"16650540780558129059457004777217839506458375684695939223976205302606154044434\"\n ],\n \"5484240241753700264758142242360660985059759125962268680777798329842895518341\": [\n \"19884278305041172381147334624371272282851798576152961797573251711843247692016\",\n \"0\"\n ],\n \"6238876888326704456723307931057221567104809913324444339126181828429310450412\": [\n \"5484240241753700264758142242360660985059759125962268680777798329842895518341\",\n \"14239566183081135898939826479552182439956879335424865344473532475512812931170\"\n ],\n \"3064717682340381830930635470892220082501899907055865194016189341399792571055\": [\n \"6238876888326704456723307931057221567104809913324444339126181828429310450412\",\n \"13682692493121380812506277824298317634504695385435604399758878366278050149727\"\n ],\n \"20106457333018983286314321242064163187605582299560591694214657685733973247703\": [\n \"19143111160297007407742538133698537699223064684071093780671024133317563529435\",\n \"1\",\n \"1\"\n ],\n \"19415696457846598437277063265017956724789370319637276178929687415406014143663\": [\n \"20106457333018983286314321242064163187605582299560591694214657685733973247703\",\n \"2925296307862729938149402900381475786156102316003633670666143850208679720310\"\n ],\n \"10944317809405624615038766156451882218745072646899841698917210467258856038902\": [\n \"19415696457846598437277063265017956724789370319637276178929687415406014143663\",\n \"0\"\n ],\n \"9013168044615587144963701096847334384316859421907707533978924845290613281492\": [\n \"10944317809405624615038766156451882218745072646899841698917210467258856038902\",\n \"0\"\n ],\n \"12555604744794651551803819489225488134154946166753821830456929431166210511191\": [\n \"10228885070799730083106044008080495474876045285974456198005276825294659367681\",\n \"9013168044615587144963701096847334384316859421907707533978924845290613281492\"\n ],\n \"16824202249710220368293397751572586688940897509917916696545755217644796268639\": [\n \"19014778145406644752693639979210000403803176004469879466712875100771981264483\",\n \"12555604744794651551803819489225488134154946166753821830456929431166210511191\"\n ],\n \"287042805495039428081450984726078964024100176646521106260744663745373340978\": [\n \"8206969516990215755728738112804504607292451545159960647028542989712699005486\",\n \"1\",\n \"1\"\n ],\n \"17268768064099935230888926973165131718894185725574378462277984759926663296277\": [\n \"5144200953592347815791241591482961942469883556695958867001609668707528682302\",\n \"1\",\n \"1\"\n ],\n \"15721077368439067850385560999908944757527243840158741003139050462132396080549\": [\n \"17268768064099935230888926973165131718894185725574378462277984759926663296277\",\n \"14843563140164062351939082282320770292399866108807309018206464759529817536405\"\n ],\n \"13356024364969563719918798647011568169034427450261893730091511539942799812864\": [\n \"6832616894504709121662042568817347560863532780860956258284144820283131231570\",\n \"1\",\n \"1\"\n ],\n \"15298012014226475396398186798337212942501069308554013611731917891060046571190\": [\n \"13345039356700318937423660399012869415942393024233989596302613862474146763196\",\n \"13356024364969563719918798647011568169034427450261893730091511539942799812864\"\n ],\n \"16343563301822563287699244629721576320371606875182982340613494640731973137854\": [\n \"5623196927360211723975835719603717147636361930431005473783156602430964253553\",\n \"1\",\n \"1\"\n ],\n \"20281888054335480452845113595498994303368928036172552707099300784688112828442\": [\n \"18020754765191433282849195350172684540449789633576333104659625419489177505080\",\n \"16343563301822563287699244629721576320371606875182982340613494640731973137854\"\n ],\n \"20861046573185941902396106082696898781702875920192490098628602958569427636960\": [\n \"20281888054335480452845113595498994303368928036172552707099300784688112828442\",\n \"18072430278465230011481907116480858072959436749903455659372536076576625217037\"\n ],\n \"2870434729544777834607185420294403523868559703165435199333314867802306426886\": [\n \"20861046573185941902396106082696898781702875920192490098628602958569427636960\",\n \"9456591089783241650431948461301485593008410580707583106824112804483842857030\"\n ],\n \"18095231918223189532476154476156641901737381462122578691551965745910641206146\": [\n \"2870434729544777834607185420294403523868559703165435199333314867802306426886\",\n \"136797436177266690166773581185427713015716093553827343715105038678993037977\"\n ],\n \"3268631213048908134251253629656047764940501241532738150342359560904581651174\": [\n \"18095231918223189532476154476156641901737381462122578691551965745910641206146\",\n \"381199359295703028806007566321564972062395668975836496692964259505100753227\"\n ],\n \"3443807044242736022166309661718444464849090336109463096306280013436681932548\": [\n \"3342255074062108198929102972573322270789293987294849871096196531565185216207\",\n \"3268631213048908134251253629656047764940501241532738150342359560904581651174\"\n ],\n \"10016485992597819969251399408796586131434873835959494613093697329273377832296\": [\n \"20643126814784430329786654785800144350120171336165662396504107840299582526278\",\n \"1\",\n \"1\"\n ],\n \"19557760058253667628140302433057314891188530505895366856763450022067489313269\": [\n \"10229639926597960727228902359711269790658501353637375634153550376645611188249\",\n \"10016485992597819969251399408796586131434873835959494613093697329273377832296\"\n ],\n \"6638844410053745256165252782119971299412694783340350622205548773808108138732\": [\n \"9929779742531239253071751120526338392569360235455010088499290884967909505334\",\n \"1\",\n \"1\"\n ],\n \"4897187686458145358333408177115802617276757353550155369434089944612512481422\": [\n \"16132992830002537132286012501058287625391799398857878345075674746586485799639\",\n \"1\",\n \"1\"\n ],\n \"8685363818102060228582227709081203449887489572203149893034410985522026812888\": [\n \"17139665863298230525063882167130748789661514970562658482933142589735483313358\",\n \"4897187686458145358333408177115802617276757353550155369434089944612512481422\"\n ],\n \"14233903462001941189005617947660633591506657267099805660866427595662623905793\": [\n \"2471594042428663228328866826637891386812163985047986930905325180396871651040\",\n \"1\",\n \"1\"\n ],\n \"14082589319265092060901502897601272332406595478783957477039595216079582618866\": [\n \"4988892035502443103976136257806276449469942102923171534157951712379274200195\",\n \"1\",\n \"1\"\n ],\n \"8844043390262229405034057910403130072630402689029205127834491089533654395975\": [\n \"14082589319265092060901502897601272332406595478783957477039595216079582618866\",\n \"6362116491636913606212330097741049276028184497168204220787386746189347546080\"\n ],\n \"9155614182195291056095419338587787027300981839842416382731108281254615207222\": [\n \"16927839586145224404159137677453859214220391806802614607749338525681313046066\",\n \"8844043390262229405034057910403130072630402689029205127834491089533654395975\"\n ],\n \"11106653906921456991885993670092987497893546868802043070378017704504933259877\": [\n \"13654575761559756370172765534159619898152604192379849615132160947682860300804\",\n \"1\",\n \"1\"\n ],\n \"14827166072236295688489836420696432731478844296273025829201147312438200798388\": [\n \"585879392163275259041174909551845638040966974003973945548074071569020190693\",\n \"11106653906921456991885993670092987497893546868802043070378017704504933259877\"\n ],\n \"17193862066391676317129273073865860576282823574871121922466403464471502651189\": [\n \"18685856727547442762517807092222197881153106273268092337437370170840039159724\",\n \"14827166072236295688489836420696432731478844296273025829201147312438200798388\"\n ],\n \"2432291510927614708032724439124302849512317658866615038269456392421766231446\": [\n \"17193862066391676317129273073865860576282823574871121922466403464471502651189\",\n \"7361311766709120498057982073352952894895005612491626179365561828539903820567\"\n ],\n \"19032040622313221464577464786297464442145297657320774430748854251200285663109\": [\n \"1221980057215622016873158029905438434221650552009926010319512198903375277090\",\n \"1\",\n \"1\"\n ],\n \"16705945311273584737326870557106266910716075859730945035154310147651942640832\": [\n \"12256840158589794143162782390576593997404817773508244769881248279577042574531\",\n \"19032040622313221464577464786297464442145297657320774430748854251200285663109\"\n ],\n \"13875819713171138927321394456355532035279965377462761146050609474254735401367\": [\n \"16705945311273584737326870557106266910716075859730945035154310147651942640832\",\n \"15592700238345883531556836426850724616241875383901134096263883044387558757754\"\n ],\n \"18719296604663201171542308600244512343844066955326804860815852300539201184958\": [\n \"17910636618782217124463711185789185581458397245927863354495431088149428902019\",\n \"13875819713171138927321394456355532035279965377462761146050609474254735401367\"\n ],\n \"8691092135502016346384464019341910966461999921437954675564943364304573190369\": [\n \"10661833246017390959095266537044060679313221503481640569930193359594532455883\",\n \"1\",\n \"1\"\n ],\n \"20775410756942530878036109179610486911424605215042482823807257654517832211277\": [\n \"9934420365299316213646582316650848659784663607924689041576043867361681535271\",\n \"1\",\n \"1\"\n ],\n \"15790059977674574254153496955501252465078794967078713942984124142085594831636\": [\n \"11060659382801550371161221687268136673623647423338094254894147208990305141869\",\n \"20775410756942530878036109179610486911424605215042482823807257654517832211277\"\n ],\n \"9072692441206479013372310268038481535423982356080497821421351228720152868994\": [\n \"0\",\n \"15790059977674574254153496955501252465078794967078713942984124142085594831636\"\n ],\n \"14830173178977565368203829078186181142135105757119702012414484548117957853944\": [\n \"17779177293564202196255358915905628183390595500825749671483325333227322854134\",\n \"1\",\n \"1\"\n ],\n \"16120854154250086635265331755032276575347524318203811314853604043090010770378\": [\n \"11510931576329280124596129571377661053704985474183738125186586342177887986041\",\n \"1\",\n \"1\"\n ],\n \"12683733112622417511377908190211886419254237668350386611991485792780780459191\": [\n \"3712585316562821655230983554326300261808263353992375168696493752693428454986\",\n \"16120854154250086635265331755032276575347524318203811314853604043090010770378\"\n ],\n \"8948139601754968226481252832211880611495518764164226013118215102522634436793\": [\n \"0\",\n \"12683733112622417511377908190211886419254237668350386611991485792780780459191\"\n ],\n \"19484013309065081813900205861082683628033972309291052426448205817702760614920\": [\n \"0\",\n \"8948139601754968226481252832211880611495518764164226013118215102522634436793\"\n ],\n \"1659760981980267575542654913351024573100636741088923918238345466990100635551\": [\n \"8672510182885562729456397223230143580969244468795900404447742481794682111225\",\n \"19484013309065081813900205861082683628033972309291052426448205817702760614920\"\n ],\n \"7613514114351118127596102934298382755018609292927906485002294402127233883696\": [\n \"1659760981980267575542654913351024573100636741088923918238345466990100635551\",\n \"0\"\n ],\n \"12610241270092216807278338362655592017918628159373053106480500201186588527427\": [\n \"7379451594015368384614620198369926168925385844823177854588217735512176570437\",\n \"1\",\n \"1\"\n ],\n \"15027491194169486918108056605073208898656258394738048972089492202505510701398\": [\n \"438726588382400089407971984319982551622455007435669690132250895241382225295\",\n \"12610241270092216807278338362655592017918628159373053106480500201186588527427\"\n ],\n \"2117308319401835709925641751247934466984199458122332258665019901126263539135\": [\n \"15027491194169486918108056605073208898656258394738048972089492202505510701398\",\n \"0\"\n ],\n \"5535495542894088635597519047473276805487267674594450784672599551382682602589\": [\n \"2117308319401835709925641751247934466984199458122332258665019901126263539135\",\n \"16367714548412602858673320743875503275887321890932873039410856727013884661670\"\n ],\n \"12819656963913493834447522786350181062648183134295442913176606714674273313729\": [\n \"4498370228210861008808725020924982267460604838661210162317243333324111693788\",\n \"1\",\n \"1\"\n ],\n \"14132803321813271017674852985078312098552417006475724833734544837358470285456\": [\n \"12819656963913493834447522786350181062648183134295442913176606714674273313729\",\n \"13917274313505760067045836032319922798349485489231185621357944077372381321757\"\n ],\n \"14765146821232024638520276457162551455030178993092830101866260987864624449937\": [\n \"14132803321813271017674852985078312098552417006475724833734544837358470285456\",\n \"6882442763491440855014561886269956436616651087392366136241844705972248492688\"\n ],\n \"9403452560308840153153672872692794221932481183861880250511997470466312349706\": [\n \"14765146821232024638520276457162551455030178993092830101866260987864624449937\",\n \"8265783299514005215186122975378494040353453754294609932418925837944220667313\"\n ],\n \"21086935355705156024771584211037605858271280186241536199218726807260336378417\": [\n \"15543952941997396416336774977944357143423861090833907602857286183190110869387\",\n \"9403452560308840153153672872692794221932481183861880250511997470466312349706\"\n ],\n \"20713093004811537962375636271835301957951049165549398479937364729000729774851\": [\n \"5255296051190091656182992364250284220621772732018786611240761659482332565334\",\n \"21086935355705156024771584211037605858271280186241536199218726807260336378417\"\n ],\n \"16175264376234128408667966380385072293875404275466825193054050445610122241063\": [\n \"19266166311732299244671674937801524532118816815257862008166796792040842504066\",\n \"1\",\n \"1\"\n ],\n \"17908999440122964208173100946180975715393338929182960328058806323757361893121\": [\n \"18821539390548905815274184053435667781908990779688466671379761323210457636522\",\n \"16175264376234128408667966380385072293875404275466825193054050445610122241063\"\n ],\n \"15807853671456167730352559150935903736397715560355361788999842012908310339032\": [\n \"17908999440122964208173100946180975715393338929182960328058806323757361893121\",\n \"10850431805928201191500157119773661680696033171902689744647339768155262481128\"\n ],\n \"5261215857250854618833485420345874673326105938610936491248091952197595460187\": [\n \"6973805471950876529220689314015597420476989563239720790101627120015774103418\",\n \"15807853671456167730352559150935903736397715560355361788999842012908310339032\"\n ],\n \"16691828160780284832613233777005358905266620134835000832376159257725320377234\": [\n \"5261215857250854618833485420345874673326105938610936491248091952197595460187\",\n \"0\"\n ],\n \"19124310743887662977448974594997216648932207222037826925939365024106097947044\": [\n \"16691828160780284832613233777005358905266620134835000832376159257725320377234\",\n \"8794662771759473872305666810936688969407636418435609822646008597238861317621\"\n ],\n \"15143765643608201800052609333476073104831936654574871134067186494223193780235\": [\n \"16624995188500655605062723784209175171587283290495193071981552588002622341223\",\n \"19124310743887662977448974594997216648932207222037826925939365024106097947044\"\n ],\n \"6040399012652026646759979431875363169134347106666687512355303170376186953316\": [\n \"14674769381325632516619294744485432087255541367317682002081411684031715490602\",\n \"1\",\n \"1\"\n ],\n \"12141148468046607378578870481763617255144490669138789763753685654626681750754\": [\n \"9631582969545641504798604669064643042204150355593231703312429622747124784381\",\n \"6040399012652026646759979431875363169134347106666687512355303170376186953316\"\n ],\n \"18883792872169838340491748542482889698675977910453577099719084243432195570764\": [\n \"8907015863095805051971370087382263873472591543773193112328123066141254695522\",\n \"12141148468046607378578870481763617255144490669138789763753685654626681750754\"\n ],\n \"10814042178529236983767507751830483783473943343262001501999329634331180417472\": [\n \"18883792872169838340491748542482889698675977910453577099719084243432195570764\",\n \"835795923446791747824462663631535227521599134942632837851027329995529816580\"\n ],\n \"13127155082892504697789267711755745581732850668397279752876372340452136305932\": [\n \"7120550302828339090315618675030730598202486151928295362018216916048608255677\",\n \"10814042178529236983767507751830483783473943343262001501999329634331180417472\"\n ],\n \"11996726684336309499919126809779368426365574293134531545155178543646128940228\": [\n \"19102814711446180489270132101259997296334136867500728516582236010887305627420\",\n \"1\",\n \"1\"\n ],\n \"2475430272088097264152288716771662413384359114589345620622121788998274586629\": [\n \"11996726684336309499919126809779368426365574293134531545155178543646128940228\",\n \"2110981648662418472048530267939840063655176997033443301287656921349460037801\"\n ],\n \"12599418187018515069047820391258147551847885701115923629695801668918014214847\": [\n \"2475430272088097264152288716771662413384359114589345620622121788998274586629\",\n \"9193525122683714901011529875524929258143119002203613491953592344358465251377\"\n ],\n \"7064623960046787275267347713806284908979456737207925381510038642189558066183\": [\n \"12599418187018515069047820391258147551847885701115923629695801668918014214847\",\n \"13814789578272583936286380646898327150269824014846098172857657834361394560152\"\n ],\n \"15864874917725081722828966008459299596059936454313009824077574986724359684610\": [\n \"7064623960046787275267347713806284908979456737207925381510038642189558066183\",\n \"15623315167528289424587856310900620868162729715568244950996384336009558871547\"\n ],\n \"3329392161201540589506712975766750273621456203386333626538334844442782804603\": [\n \"65706723889329506765581788612397909419556102633037658120419520078937452564\",\n \"15864874917725081722828966008459299596059936454313009824077574986724359684610\"\n ],\n \"9815594465658379110113146362775276287351895462813857243591842696077232172618\": [\n \"14388461817278977613729580990087810999158577377209604899798604243946567950062\",\n \"1\",\n \"1\"\n ],\n \"19494473150813322621160398373306885700576999079243051340629411997266777066341\": [\n \"20229192894098947104460572477709500556652647708262324703027202793678283413968\",\n \"1\",\n \"1\"\n ],\n \"12525712341216121091041686071901090721831048623061316785938219082307182055340\": [\n \"19494473150813322621160398373306885700576999079243051340629411997266777066341\",\n \"4698444790475079716798403156767837751946362639934198266721429522023456736396\"\n ],\n \"17375965932578841321672985019830574790664217249339977878410074669743263277225\": [\n \"12525712341216121091041686071901090721831048623061316785938219082307182055340\",\n \"0\"\n ],\n \"19758898444758688105156304064506024483810066909402655945122145204698483756562\": [\n \"17375965932578841321672985019830574790664217249339977878410074669743263277225\",\n \"953492626568629869385440924582626143000283034140630322132058601116301372220\"\n ],\n \"15997710505155757125072178500173770363191476319372009627674711120612714485299\": [\n \"15362469003435426742191785774739047568460793388207335202826612068649383062656\",\n \"19758898444758688105156304064506024483810066909402655945122145204698483756562\"\n ],\n \"13106065334095846173843023814706264138770283234109195130901041367598576826400\": [\n \"16492519599087447780663646385587888611076193943767591563447380616313943955896\",\n \"15997710505155757125072178500173770363191476319372009627674711120612714485299\"\n ],\n \"20307546693052878496613627343514924197692088314246262795260755705716313652786\": [\n \"13106065334095846173843023814706264138770283234109195130901041367598576826400\",\n \"9857954932913925857104947653384868893012563882526678028819444115403858019826\"\n ],\n \"3479627153027722830630270022389185392611329729589000412175298329907594725563\": [\n \"4516042727829998929970434586622498873225598290391759380186134236393834944601\",\n \"1\",\n \"1\"\n ],\n \"8760348563272230416118136260741842328512606790222114004600770878832924264649\": [\n \"16605780925124704025103967782332664294671477720277894299444504865357588902938\",\n \"3479627153027722830630270022389185392611329729589000412175298329907594725563\"\n ],\n \"10095292078669224397744307359286751765414937670481817804469407883991112801568\": [\n \"8760348563272230416118136260741842328512606790222114004600770878832924264649\",\n \"0\"\n ],\n \"10752430307425843176078496433307635527170762850168687780106358076744244006810\": [\n \"10095292078669224397744307359286751765414937670481817804469407883991112801568\",\n \"0\"\n ],\n \"13429780687254249425544896181816799967848724018710660587396442498873471519877\": [\n \"10752430307425843176078496433307635527170762850168687780106358076744244006810\",\n \"1889337846715140483742192786633643393696331393726151263008280924562840656743\"\n ],\n \"13339021378969303017647184132664509323271917559175922415442360543121391729181\": [\n \"13429780687254249425544896181816799967848724018710660587396442498873471519877\",\n \"13102620314881512630816701241390590203147123634520700039926905132261458943387\"\n ],\n \"19239243410355941866804063768690925342796236932912788961051063421027262508340\": [\n \"0\",\n \"13339021378969303017647184132664509323271917559175922415442360543121391729181\"\n ],\n \"5663940258088741988693978888218114203678209758767956266776998893297615785286\": [\n \"20217768016228205060636712265767371834588076280498172091410465692195079615501\",\n \"1\",\n \"1\"\n ],\n \"8563661747356390030455608400942385539187704195998422008415042208091642630886\": [\n \"21192687421523239740213929821785896579860881559699211335122148597483153711257\",\n \"5663940258088741988693978888218114203678209758767956266776998893297615785286\"\n ],\n \"20250267311623510458950903618817461487883082544130354192055000761776629822511\": [\n \"0\",\n \"8563661747356390030455608400942385539187704195998422008415042208091642630886\"\n ],\n \"5374223091614202481234093388042333827515805933846913907115568249656016555107\": [\n \"20250267311623510458950903618817461487883082544130354192055000761776629822511\",\n \"0\"\n ],\n \"18398462390503242634197830470985203654525460428486897534090196448411482131514\": [\n \"13697824626568691744248671366453566300936866198552523311634342733702579494145\",\n \"5374223091614202481234093388042333827515805933846913907115568249656016555107\"\n ],\n \"714708671199503785210824009099734354180113253520501257450903015125696250823\": [\n \"18398462390503242634197830470985203654525460428486897534090196448411482131514\",\n \"14669726047076263045719003091157356745387149522388305460624539457560770980313\"\n ],\n \"15031297530799761270997574579585819564484857907058853552523233381962871657109\": [\n \"8828183668900427429321555441268692304799753256953856327340409185370101560342\",\n \"1\",\n \"1\"\n ],\n \"15509863723822671367444827343067099515901617222914190268108063168638469935994\": [\n \"19023165474419163058829377100962003134221464020821437651487994593972681909262\",\n \"1\",\n \"1\"\n ],\n \"11297281058913612187122969158908496300983804690336448181703702906225398300974\": [\n \"16358567059043652484340663984617013694165355299786597908884540393907263643498\",\n \"15509863723822671367444827343067099515901617222914190268108063168638469935994\"\n ],\n \"1955514310811301027443966734488259876604692324356058945900615497536661629796\": [\n \"11297281058913612187122969158908496300983804690336448181703702906225398300974\",\n \"0\"\n ],\n \"12439031122264848719089186492367072158626497020870888239776646780376037540506\": [\n \"1955514310811301027443966734488259876604692324356058945900615497536661629796\",\n \"13582150223136849040657062164659003776014672694754021055022440549465042209918\"\n ],\n \"15143410244097095943823768363351770987483922367831680769112303101731766704473\": [\n \"0\",\n \"12439031122264848719089186492367072158626497020870888239776646780376037540506\"\n ],\n \"2249723842118562905728112963611351607851726881051219617534576649727943125185\": [\n \"15143410244097095943823768363351770987483922367831680769112303101731766704473\",\n \"18109063002300705165971719605532326423605274036627912975642077387324327351863\"\n ],\n \"3163832540339390624153330751466321866369880526943669501083592274757823958787\": [\n \"2249723842118562905728112963611351607851726881051219617534576649727943125185\",\n \"21764581897268328056588905041042983158122150712815339825796069112223907903503\"\n ],\n \"21638869180723450992888922111746199910203863827122841860655994133490186562500\": [\n \"9475673132585485714134078244587482476336640326401896153733658683831290277854\",\n \"1\",\n \"1\"\n ],\n \"16232356599071894251856490208143230978419465724614969049427456595064009272409\": [\n \"2807815329460132287425452826897095289604823956726117972014011083737492106878\",\n \"21638869180723450992888922111746199910203863827122841860655994133490186562500\"\n ],\n \"4768787480258494994506691260344988646256710730625717205450223082268749201333\": [\n \"2303208589489394796604243221269814217273636723822668465914197925742598270986\",\n \"1\",\n \"1\"\n ],\n \"18709175382080312373622744782768732301633065371650452813030781701123071938394\": [\n \"15477388457045643441500326051290098660696071286948890993020122798659519984845\",\n \"1\",\n \"1\"\n ],\n \"9817743432482250718495196254484270675023182007495053658295486190948063727803\": [\n \"18709175382080312373622744782768732301633065371650452813030781701123071938394\",\n \"35214602306341820116371318666468603975162116359726905954666473421201655050\"\n ],\n \"1539895139230476517819290626747530154441588249859041053360000310029423003852\": [\n \"0\",\n \"9817743432482250718495196254484270675023182007495053658295486190948063727803\"\n ],\n \"1980974469863823708200713782437725404026240669503279973201070740376085354391\": [\n \"16075150946215572739701612711349718768629067103061777926980603485977433589429\",\n \"1539895139230476517819290626747530154441588249859041053360000310029423003852\"\n ],\n \"19224902065681746531147188445960587982130812149328225888376908582654701604492\": [\n \"1980974469863823708200713782437725404026240669503279973201070740376085354391\",\n \"2140362667524126669919503274114422226735845317305368641071332015164785590241\"\n ],\n \"4159005118522556544039366769629552740284352570771810764709123796378958738251\": [\n \"21270200686461542679926594706563615681075939317774104419130152420960458894163\",\n \"19224902065681746531147188445960587982130812149328225888376908582654701604492\"\n ],\n \"16993158795835364523081033155503752307761446636958344956379738900629031690880\": [\n \"331493161580000461437214040552435072261435962574599534297433868989886003770\",\n \"1\",\n \"1\"\n ],\n \"16292696371297845558674944621869815986639171613283067594494322924391667540881\": [\n \"17349353827003155103444960334846430297766666719685580145714262658761696347499\",\n \"16993158795835364523081033155503752307761446636958344956379738900629031690880\"\n ],\n \"7333994869695633157708680699956091497470117295808336565653059311461005623047\": [\n \"7682341017015283601653462550305380475516467213324793339354079069490121514093\",\n \"16292696371297845558674944621869815986639171613283067594494322924391667540881\"\n ],\n \"15798474667572259112790314777657131398935393450133937021725021592296030520858\": [\n \"9397088244508929673216949396485874603242667326734289675684248308515894569636\",\n \"1\",\n \"1\"\n ],\n \"7507970225916062622625703214822524481106442766427428823596059824466123305036\": [\n \"5333262914640823426682607711451276356746607784362136896743282950175052190085\",\n \"15798474667572259112790314777657131398935393450133937021725021592296030520858\"\n ],\n \"11126957618110586577766922202765486541946867861434614107270506383351107208090\": [\n \"7507970225916062622625703214822524481106442766427428823596059824466123305036\",\n \"0\"\n ],\n \"21154536775909759339585260997094994505584139591031252633250641206513859378227\": [\n \"0\",\n \"11126957618110586577766922202765486541946867861434614107270506383351107208090\"\n ],\n \"4860933195860258515127467235792364071066081075958681799432481713204017187978\": [\n \"21154536775909759339585260997094994505584139591031252633250641206513859378227\",\n \"8579535921629868381054419743300107487347513189614836196041307783813896702167\"\n ],\n \"11041158688227410761974286736661087332109632638840215857573369182287152104063\": [\n \"10361805185113143363873964280409344296473707900290347511572938648908925568717\",\n \"4860933195860258515127467235792364071066081075958681799432481713204017187978\"\n ],\n \"10543874038805100573134937246819934631041433577355188850721269253209556937497\": [\n \"11041158688227410761974286736661087332109632638840215857573369182287152104063\",\n \"18366329692447979638331230808728686391786845929227017320614150986647901499845\"\n ],\n \"2583135415521034073355340546413347435440801001088047112915264667393430075253\": [\n \"10527360192599357706109083342417407488890741817801856118556125753678355784834\",\n \"1\",\n \"1\"\n ],\n \"14868920878058970113708678203498825131327627391427580941875070441153373820014\": [\n \"12974230495423505543367438422355799863082981055400962580290278730234423026373\",\n \"1\",\n \"1\"\n ],\n \"13931085328690383981525909994193036722841997310990334472272186504840081446309\": [\n \"19551921281895954103926438285638015864720898056804961818223011523716805774142\",\n \"1\",\n \"1\"\n ],\n \"14224801242193611136166225988263952768128365513662131657039707675782475194397\": [\n \"13931085328690383981525909994193036722841997310990334472272186504840081446309\",\n \"15721077368439067850385560999908944757527243840158741003139050462132396080549\"\n ],\n \"3461089288317518233708296653819568480843370368075764056386640090143119334489\": [\n \"14224801242193611136166225988263952768128365513662131657039707675782475194397\",\n \"0\"\n ],\n \"21059928211735338603080544688838638945814184612317238080445615453418409252349\": [\n \"16392672675036514616954420979914920201002636945175203405291567379913515825614\",\n \"3461089288317518233708296653819568480843370368075764056386640090143119334489\"\n ],\n \"6809348476449499834565460847617798299833586659318222815867567261208487335743\": [\n \"19375198444953898865951305297598247680591652473714692574165274653644742375260\",\n \"1\",\n \"1\"\n ],\n \"12220115996607379090648610825474233394763820680806006256351242243894496261796\": [\n \"13366395612079067249195712031034282210258908460975046415122865063402356780855\",\n \"6809348476449499834565460847617798299833586659318222815867567261208487335743\"\n ],\n \"12490778479881208958685891652671495995011387711366880515233598349560899038567\": [\n \"12220115996607379090648610825474233394763820680806006256351242243894496261796\",\n \"0\"\n ],\n \"12501966387309005921468024714182373698591505552942195697388170191557554304849\": [\n \"220734810764252559991126703372191089929260657799746907371418412217134793266\",\n \"12490778479881208958685891652671495995011387711366880515233598349560899038567\"\n ],\n \"19653844849516359063579339771610013809886701755468456204835897540828017585046\": [\n \"15218318132281754678938611343300593514302370611877018852116018427921400818243\",\n \"12501966387309005921468024714182373698591505552942195697388170191557554304849\"\n ],\n \"12527391390402871841392869904798348057088367339135524355713496718383992198542\": [\n \"19653844849516359063579339771610013809886701755468456204835897540828017585046\",\n \"2322552305530350134294677956314816266363282079721969867466350401756127340249\"\n ],\n \"13629715796991277864105151633474942399911792757032937603114906172449723737805\": [\n \"3001412084768891164437479165232872167650155018187951473028451235295335233465\",\n \"12527391390402871841392869904798348057088367339135524355713496718383992198542\"\n ],\n \"16257591024655569365800912712817829125854185452054020037634549406624256751545\": [\n \"6801619515652246145834361765399556993866661540821606334872498031396742026941\",\n \"13629715796991277864105151633474942399911792757032937603114906172449723737805\"\n ],\n \"17417096340867307941680962921607240908518256676084137057465752492791783829083\": [\n \"14569497453456112981289745814663599896690691986269183266044333433518248652936\",\n \"1\",\n \"1\"\n ],\n \"15704188444381779281116403544979936442381888714397549775524518281601332268487\": [\n \"16287026721998704781515898977842157164937862658101078266510198671897490695568\",\n \"17417096340867307941680962921607240908518256676084137057465752492791783829083\"\n ],\n \"4387131638244273422187423373591900353279473841395998499001034162948251941574\": [\n \"0\",\n \"15704188444381779281116403544979936442381888714397549775524518281601332268487\"\n ],\n \"1798526161109248165418937899626156601596414838078717673259268305797774468396\": [\n \"16745433388138821382651388253442002665777480763014224813742918897858013810732\",\n \"1\",\n \"1\"\n ],\n \"472582915541233546490513036055932560805994741541213054041853027884103430713\": [\n \"18527732636943642430216861139880581790655655422630175605264574121510964300451\",\n \"1\",\n \"1\"\n ],\n \"19018736885252349027406727806976598643816559920843661691176828898968064220836\": [\n \"1770630084872614600312160181893140932318398332321989058923744541819749638395\",\n \"472582915541233546490513036055932560805994741541213054041853027884103430713\"\n ],\n \"3685468454714198354682573397515308904440447267298687207414003452101129692550\": [\n \"19018736885252349027406727806976598643816559920843661691176828898968064220836\",\n \"12414018027477907380331591328688400767504462843533425628443215603655179690285\"\n ],\n \"13140075941521152243078697257300648287231481526231683422976849795021835392819\": [\n \"15196066122806021832293184585460690389321294855732779070712205604885502641982\",\n \"3685468454714198354682573397515308904440447267298687207414003452101129692550\"\n ],\n \"5241218120672407599347907988033219862820428619020857898353154490104713106213\": [\n \"6758592489168483873622320659714223176532499724325215590478322126145455363502\",\n \"1\",\n \"1\"\n ],\n \"8120725890509039015271400714444094747129772508438685161453436548247893293019\": [\n \"18379988670044603798719678199439029202219664671047119525429079071927229163020\",\n \"1\",\n \"1\"\n ],\n \"1969661384156822094310802579738207296179880278201070225716719826701190064903\": [\n \"8120725890509039015271400714444094747129772508438685161453436548247893293019\",\n \"17423643219914318298366143569146760415190283217363872191113975491847460519856\"\n ],\n \"12794999409639084314884059488287237729243944854925709047655302695542805947391\": [\n \"1969661384156822094310802579738207296179880278201070225716719826701190064903\",\n \"4459706699425536143704654735906886763752680439392757610127800413967332978211\"\n ],\n \"13410923419559339472368324898039484729903734907090398471237669516479859211711\": [\n \"14908943463766495168626448337596173948364670510700013848091291249554908690238\",\n \"12794999409639084314884059488287237729243944854925709047655302695542805947391\"\n ],\n \"12537208651892272517758363920104297483973831586341682044997506176900026112840\": [\n \"6535753011331712788900458193965263485899624938017869054139168690753311967287\",\n \"1\",\n \"1\"\n ],\n \"20799095086672483875829066381438074648008071188919026470626392169199994704604\": [\n \"12537208651892272517758363920104297483973831586341682044997506176900026112840\",\n \"8774398230334084430622549654050675335804061470517268501603722927595004698480\"\n ],\n \"11726559463467570387902699831164874637117858872397120851899373376246276260170\": [\n \"20799095086672483875829066381438074648008071188919026470626392169199994704604\",\n \"16732042308642382082267759523021169737787571037622740492917420202564661491918\"\n ],\n \"1775441757129819526968137692309229598017148364363400851391885988696840533215\": [\n \"3208517986202340701162749826565367350526692526320625800306440442471232323521\",\n \"11726559463467570387902699831164874637117858872397120851899373376246276260170\"\n ],\n \"2715271667552381798135091490161815173024938738399150522031751411987857254939\": [\n \"1775441757129819526968137692309229598017148364363400851391885988696840533215\",\n \"4426586828279558198493184426815225094500570591552339088481859294493052947389\"\n ],\n \"5108250259804980916502972114817824389225906058544800103206873063170702522908\": [\n \"6962767621299280320120011935273471077232280920826177876843612221922087034636\",\n \"1\",\n \"1\"\n ],\n \"772072737509715327551608510802306775810219754285578758002560342642321206357\": [\n \"11991775891044776099020462572604820143546846415464390438614120725302621351740\",\n \"1\",\n \"1\"\n ],\n \"2379288854337196608520137534161151365456591482345068528485479801556315816538\": [\n \"4978857394398202583961237121853978469744017947941450417247469662091520191425\",\n \"1\",\n \"1\"\n ],\n \"20790498647080515313716302720585893150738715639718030619984341739502707180663\": [\n \"2379288854337196608520137534161151365456591482345068528485479801556315816538\",\n \"20739756399683383501279418505041985362774388092279852554413123952011966229791\"\n ],\n \"17111676590959920378666246425542634847398578179838892674278722718551008540470\": [\n \"21477328317720842945115761540777737194683573071193172344883868594472624691058\",\n \"20790498647080515313716302720585893150738715639718030619984341739502707180663\"\n ],\n \"15141745004273801526012260118701007069047627001778510811279286534180417867447\": [\n \"17111676590959920378666246425542634847398578179838892674278722718551008540470\",\n \"18322305173417673058369031642529579157087112340066763963675563300899726381466\"\n ],\n \"19642252127879924665393195460123851228732232557700410835455680062153220960662\": [\n \"14693109959895500222163315493280394434153414194779722734665917451340449779256\",\n \"1\",\n \"1\"\n ],\n \"13082173553497543237472653955859848525649469639303796170363189943786498100407\": [\n \"19642252127879924665393195460123851228732232557700410835455680062153220960662\",\n \"10303738759268936102768898834031497261549364599983764458652678187973473128986\"\n ],\n \"975709073598654678256306547801524560594793709367186763242488351626736760204\": [\n \"0\",\n \"13082173553497543237472653955859848525649469639303796170363189943786498100407\"\n ],\n \"5839062738561090256720690300192475950283632822401988586782412429103436782025\": [\n \"9062503705301860618590997858132540866595547876768021923530431891138680625230\",\n \"1\",\n \"1\"\n ],\n \"16723834147208138370274750965704024951774434144894528817935030817057077858325\": [\n \"15588893007446256199237841049860549963863947341080630955397578652728837694471\",\n \"5839062738561090256720690300192475950283632822401988586782412429103436782025\"\n ],\n \"2514516833634632489473725729152668587882297626840156736081674683184670173870\": [\n \"833292234306707327791533004228921027344530400905817578331290202181400291087\",\n \"1\",\n \"1\"\n ],\n \"16261689203040534076009716651449732994691410889687987646184584701245667856057\": [\n \"2514516833634632489473725729152668587882297626840156736081674683184670173870\",\n \"16369164808213498319778466908096858667733772991004645634941850843298685983380\"\n ],\n \"1550764412585332379408316565495198675706878850201813185730998091995031106372\": [\n \"21180365397236219127061207366618702803950003394743231621017564626282762233765\",\n \"16261689203040534076009716651449732994691410889687987646184584701245667856057\"\n ],\n \"11369809276216308437190613564713882702902902102934530712443463666334455077119\": [\n \"20248412564999019828103080531745120409626134379660056351869536996301507146044\",\n \"1550764412585332379408316565495198675706878850201813185730998091995031106372\"\n ],\n \"7171007573053817681135669658048667972962864923498081180353978150330503890776\": [\n \"8325762959407767996165554233881835817351555351396465354835992816623276339788\",\n \"1\",\n \"1\"\n ],\n \"69046107535576701860853677305089365673275252407537248482122652620419497238\": [\n \"7862696206535412487709567390864802490542029245213027668828886228998899242963\",\n \"1\",\n \"1\"\n ],\n \"19630328064554112670905637382871661783818726618440079563377121311981197365988\": [\n \"69046107535576701860853677305089365673275252407537248482122652620419497238\",\n \"12327219672336340446153241203059011530977509243178568653068394029430412766129\"\n ],\n \"15436094181972669541506807146567147564319069743232542301349831870229197458647\": [\n \"18715252190279813496349882222313644549942049681613552255652881594078825238742\",\n \"1\",\n \"1\"\n ],\n \"19871313513002798484089791410523221681004309288531164339531959755787751971913\": [\n \"15436094181972669541506807146567147564319069743232542301349831870229197458647\",\n \"18250271643751933298476371306760003148239582435221596202080289851724214652747\"\n ],\n \"12566853504329224145102709781123834900605909782302283371892692560130536720931\": [\n \"7966188365560484289324431135692507554125437462877537786123416535906216186994\",\n \"19871313513002798484089791410523221681004309288531164339531959755787751971913\"\n ],\n \"17997975954531535146077901435260756709475231199332402279974800240570681239233\": [\n \"8753104389911458581440849688250439747569527274839593434069159430394133219011\",\n \"1\",\n \"1\"\n ],\n \"4004253256536228590677958179835294227788300339491229988115572165050987629574\": [\n \"246687720800667230937788295330610071254368196448853110765804581011070420107\",\n \"1\",\n \"1\"\n ],\n \"1050044022624693531355387034979400832756730552324761195860838863880832180244\": [\n \"6942848076035800203576329850364396772480680997207375006187445699861554843382\",\n \"1\",\n \"1\"\n ],\n \"16539693196132841249335763515718921696118709489123656491645215275295200072338\": [\n \"11871390316678159677545045722043339185171768077071462300390507425780837143949\",\n \"1\",\n \"1\"\n ],\n \"14719713685159425348861084197840791563023925790193970630544901446038812632029\": [\n \"14378982149817541912971337975114810327989321948277194998713094276878715022169\",\n \"1\",\n \"1\"\n ],\n \"10184773058567879744288916271268243479571570786011166029368117973537089300091\": [\n \"17870926321361096124755450879598821675913788857965173047996015642265543135888\",\n \"14719713685159425348861084197840791563023925790193970630544901446038812632029\"\n ],\n \"8636027666552821949750855419537391351860738460357613791051370125146393970934\": [\n \"10184773058567879744288916271268243479571570786011166029368117973537089300091\",\n \"14846267522845389687792965364106099877086410622114423541275179424238916980082\"\n ],\n \"9941034835489398700011694356184191655840013429978823677233839491965188928875\": [\n \"13673751689324932149696440559645078940190436313248051649848115516524554494544\",\n \"8636027666552821949750855419537391351860738460357613791051370125146393970934\"\n ],\n \"21388749679023637937839917642267849338178164775710394553226612534410785995951\": [\n \"19685731591125612499251536921424782427841908360953588246341016230602712911532\",\n \"1\",\n \"1\"\n ],\n \"832222875528054362943002351254148430278674086140577191783507211540937288038\": [\n \"21538477877396673296387680957873857245050271305285151796791943708199721195943\",\n \"21388749679023637937839917642267849338178164775710394553226612534410785995951\"\n ],\n \"10688420505149025972540653706076194000874002287731203395666107281118927318804\": [\n \"9055767706361935566163900372059232376165619713647816990700700432794224586438\",\n \"832222875528054362943002351254148430278674086140577191783507211540937288038\"\n ],\n \"14225986849088996784848925970858616070807182863602285502656399459659366618023\": [\n \"557395602584364333981706975449263441392403958974222822881919072407081916738\",\n \"1\",\n \"1\"\n ],\n \"10829756179799834478652927056077351637301623949825989101023752478024118067285\": [\n \"1514264904972981005035016954677741637011880856490445655549952983371008819119\",\n \"1\",\n \"1\"\n ],\n \"18001568009112100456336703001195473145187906364043917015288521737405357421576\": [\n \"10829756179799834478652927056077351637301623949825989101023752478024118067285\",\n \"8358771427936067079565744415917371275936425698659226324769274179779807390812\"\n ],\n \"14288549829511779600957530712553807473978836889781085160109500829818843481353\": [\n \"0\",\n \"18001568009112100456336703001195473145187906364043917015288521737405357421576\"\n ],\n \"14227204324619166657423834292237149315020318376810697213317465217839242783933\": [\n \"7151775022808375150704045771946295832238127624599581625936598216453305368957\",\n \"14288549829511779600957530712553807473978836889781085160109500829818843481353\"\n ],\n \"16877071468853547981633087202886572946737683877078293823208024922737157393112\": [\n \"20392394007281725050198537090960333949653060274128774302013140089803851837316\",\n \"14227204324619166657423834292237149315020318376810697213317465217839242783933\"\n ],\n \"14243375403747939650274650040175988073367874364548473509928895349996102600631\": [\n \"6346176817083791124320225642543278450577884110461605951158705529276825643562\",\n \"1\",\n \"1\"\n ],\n \"19787117335370059596726739855060254283316505205859623015532044741782906227931\": [\n \"14243375403747939650274650040175988073367874364548473509928895349996102600631\",\n \"3158524124184906171149013660415688310260372532567698618112858864270516644038\"\n ],\n \"12768959031942849983385767523813324446809171220370598613970553338468100425395\": [\n \"19838010942011600649912913799008011659486795560538424643360935951307483862857\",\n \"19787117335370059596726739855060254283316505205859623015532044741782906227931\"\n ],\n \"20598494640966717099673740266392481976098665841970827351788965927501704988691\": [\n \"12768959031942849983385767523813324446809171220370598613970553338468100425395\",\n \"0\"\n ],\n \"17096549208542061241420435096069336750422050914884655013532909922965433755120\": [\n \"4745564356966895782468159520664522388867501907448202092647833004495591271251\",\n \"20598494640966717099673740266392481976098665841970827351788965927501704988691\"\n ],\n \"10283501315124256914105848840305252715496103192208160414969453454704637021788\": [\n \"17096549208542061241420435096069336750422050914884655013532909922965433755120\",\n \"4711146506880737358561454784674333601796249808845006407305325608529445139767\"\n ],\n \"15531181257679849680148134738286732841538860481291892382717639748569208059756\": [\n \"3108378357133861811738267286523742092607572511549435322822988471699531388674\",\n \"10283501315124256914105848840305252715496103192208160414969453454704637021788\"\n ],\n \"16120792438372830420103824793721046275401459164296460818575908006958312143191\": [\n \"15531181257679849680148134738286732841538860481291892382717639748569208059756\",\n \"13127155082892504697789267711755745581732850668397279752876372340452136305932\"\n ],\n \"16132056748965119984421976006330053177216884168795068334327648051476631429162\": [\n \"19603356545982562731450830319040005682700964330284950193010937189860562353274\",\n \"1\",\n \"1\"\n ],\n \"5168508926544741562203620215174900410636884223398975385304133457764703202476\": [\n \"11270579363595240562074657733069913997403507433862120040591371384674456045266\",\n \"1\",\n \"1\"\n ],\n \"1130493072662848524130028717645656417765779467209908257569827236392954284107\": [\n \"5168508926544741562203620215174900410636884223398975385304133457764703202476\",\n \"9937440121512669817871976843465415959069635504884799902310842100439944084962\"\n ],\n \"10632101654036083106344955766541565994571359217402470049083052902271170208648\": [\n \"1130493072662848524130028717645656417765779467209908257569827236392954284107\",\n \"0\"\n ],\n \"375591463808016360323264332588356228186929467048271880357710534737075608662\": [\n \"12330520529578719091437493126208670775791250027351257808086377561857575954722\",\n \"1\",\n \"1\"\n ],\n \"13757820180401231681514323918963326170213135628477229427749775680231198030757\": [\n \"18516968868349434134807098149233336355551912383435160474130037501524433864196\",\n \"375591463808016360323264332588356228186929467048271880357710534737075608662\"\n ],\n \"12791331113543707414866014996886882638532889268809013012377324570595880735676\": [\n \"13757820180401231681514323918963326170213135628477229427749775680231198030757\",\n \"384974740857331699292050694049879046852916488189599015809209653746307264372\"\n ],\n \"10985453423317434657345539941604574963882123610415580995000396849077633348623\": [\n \"12791331113543707414866014996886882638532889268809013012377324570595880735676\",\n \"6803924723981890692890814625368168550772793390390466579336377987497130373096\"\n ],\n \"5472912803052709755207794045711989990974854511056607109162344708221810748384\": [\n \"2327688270423812944364424211071933951998937633159482381821870639493496609853\",\n \"1\",\n \"1\"\n ],\n \"7019208666690218978551441750188985799093702302912803165178587183865899104342\": [\n \"5472912803052709755207794045711989990974854511056607109162344708221810748384\",\n \"3325353565728518805649178471068890350505592878211790797526062582004588882570\"\n ],\n \"5067194967591655315255404908007226274297086151792276945104396201949136352668\": [\n \"7019208666690218978551441750188985799093702302912803165178587183865899104342\",\n \"0\"\n ],\n \"12900398555186771109433874704662614627730518553387212109740452287480045790129\": [\n \"0\",\n \"5067194967591655315255404908007226274297086151792276945104396201949136352668\"\n ],\n \"6001359417422260636586268120447817375466848557939312954922490831822903430463\": [\n \"16774845788498321511713010101064235467992739572238292689849447027747517490009\",\n \"12900398555186771109433874704662614627730518553387212109740452287480045790129\"\n ],\n \"16947128483190658225817819306093319564959725330350804975230505897054196515586\": [\n \"16797845486659278104360639259596735263569739051354616215574318785913529307415\",\n \"6001359417422260636586268120447817375466848557939312954922490831822903430463\"\n ],\n \"16157526498926798215981582582113267871165040319778028731325501205971744328320\": [\n \"13080535585698961459830406933840658530428177434871778458842863875420508280585\",\n \"1\",\n \"1\"\n ],\n \"742983404561588229851730212023949864682845061609172026950584048938572024075\": [\n \"17860002541241917491351835511731646092045139662839734591944803656151735860280\",\n \"16157526498926798215981582582113267871165040319778028731325501205971744328320\"\n ],\n \"5957036045808704708903423963295201310938037160642551949668609356979113398284\": [\n \"8132173438221859290740680400198665321483970974942649720241713969081468506316\",\n \"1\",\n \"1\"\n ],\n \"9515816080176062983531886419382657512091547293556028922291289245252528504653\": [\n \"682877049170792527316511241670794042971760934941585563425257564114762440908\",\n \"1\",\n \"1\"\n ],\n \"6616002194992627225186905402385247130841316778136386364223261701357681648820\": [\n \"9515816080176062983531886419382657512091547293556028922291289245252528504653\",\n \"13288122056168630468463631032656065686723123171821094256491434320545490369681\"\n ],\n \"21353342889569881426272090139911977215170226608008101420509429010991365207294\": [\n \"0\",\n \"6616002194992627225186905402385247130841316778136386364223261701357681648820\"\n ],\n \"19488841511005816409597394164749657718919780206874172432955997190443619901945\": [\n \"21353342889569881426272090139911977215170226608008101420509429010991365207294\",\n \"5957036045808704708903423963295201310938037160642551949668609356979113398284\"\n ],\n \"15830408272999617941590506019108457887083190133644510056936858730419296592129\": [\n \"19488841511005816409597394164749657718919780206874172432955997190443619901945\",\n \"16583084863277669394876277804059274070192873740645372940311404332293590233806\"\n ],\n \"8260856599920606372183753042398701581148703777590733171140539160091539073459\": [\n \"20075719751174652498432925193408498701975245145781995461181862207677743682991\",\n \"1\",\n \"1\"\n ],\n \"21196121022720604569687548403837133843062527609400887451446897226689679840881\": [\n \"3098403129968572517976964305231239731002057968785519107338593669768193857793\",\n \"8260856599920606372183753042398701581148703777590733171140539160091539073459\"\n ],\n \"10481052649789547930520863600018809011293475036290382742510356098236314775686\": [\n \"21196121022720604569687548403837133843062527609400887451446897226689679840881\",\n \"21211281373893909511273078405882687306650242567391497329611718455882487557444\"\n ],\n \"2814301232082568089090393536929493773956165960724060817035504025366960915522\": [\n \"11810722710527094949915050151530988593233280625698096629347796178276848888162\",\n \"1\",\n \"1\"\n ],\n \"1311639684371383719496727843575175172865403852117082860304719407798744125837\": [\n \"2814301232082568089090393536929493773956165960724060817035504025366960915522\",\n \"21017816159825334084389501967473961054674273059497752739697730064628153885549\"\n ],\n \"7911442855546459824575547929380551419162511018987791495323216696634527023129\": [\n \"15595451899693572971952600789910999286285544208674177264376099749374576888852\",\n \"1\",\n \"1\"\n ],\n \"6606764373525009123947691190842518669346588783820761442989770307172919192455\": [\n \"7911442855546459824575547929380551419162511018987791495323216696634527023129\",\n \"12664363569660119989575131626894816539542771753342067152181730054109380132235\"\n ],\n \"12206984468922151671976503569424939421777520957031282573992035753439321187038\": [\n \"6606764373525009123947691190842518669346588783820761442989770307172919192455\",\n \"0\"\n ],\n \"8361196892701086847033615259038239757847064425478024295644911232554036097385\": [\n \"11471997358183072083812853793667021227327920687715702018887656603103959506627\",\n \"12206984468922151671976503569424939421777520957031282573992035753439321187038\"\n ],\n \"3401584174822865988743225181606727363050476560561739135204044798318281015231\": [\n \"14908750981542305429748519723553124386536445214385076063709862974874213427671\",\n \"1\",\n \"1\"\n ],\n \"4448204282560187323794087000656787925526102979210699412272489272411172128632\": [\n \"5667583378917893798978925880381528232295075366055972185760480199110921002305\",\n \"3401584174822865988743225181606727363050476560561739135204044798318281015231\"\n ],\n \"11668083395981646965404256531252989908196991032595876866759525430594282913879\": [\n \"4448204282560187323794087000656787925526102979210699412272489272411172128632\",\n \"11586716102667565388158997427672064526559099562695602550792735746577396949841\"\n ],\n \"21057029076718750382861124578257300599957207814205102722431701381107538127598\": [\n \"11668083395981646965404256531252989908196991032595876866759525430594282913879\",\n \"4128777192492735500548132676958085383335685231111780675628956212556680893774\"\n ],\n \"6807336049787859824750906120643985691584235622095783396854818911561245796769\": [\n \"14741540752111942802859139571536565688633610325743309169052808021001468828331\",\n \"1\",\n \"1\"\n ],\n \"6943801048602591291607099307178062873853544324392189119421965346441377800202\": [\n \"2054145873341837055456694527245740838499352544665104424072969471023703955540\",\n \"1\",\n \"1\"\n ],\n \"4497547451863808123799974301437715869380085176818782719414251752804120797295\": [\n \"6943801048602591291607099307178062873853544324392189119421965346441377800202\",\n \"18352554027011591405536606835651900512651170229979062581691178950660049798107\"\n ],\n \"21053630904401886857151853394551367846543980774305773795528042577914448098066\": [\n \"4497547451863808123799974301437715869380085176818782719414251752804120797295\",\n \"0\"\n ],\n \"407571784881566822894196263361916808717717744771401132856627825845099457090\": [\n \"17907535177152960071579340741547647288311743865216970340067321042232655441173\",\n \"21053630904401886857151853394551367846543980774305773795528042577914448098066\"\n ],\n \"14264651698496507259989063450992230347307910771409562486414969602729363362347\": [\n \"0\",\n \"407571784881566822894196263361916808717717744771401132856627825845099457090\"\n ],\n \"5976361510708795349187552292920923717150932242444838789822039109818752869868\": [\n \"14264651698496507259989063450992230347307910771409562486414969602729363362347\",\n \"8200191881533845312765287845224269815896844346693348436610428391458361780513\"\n ],\n \"17712028630279491378155858608620874926527308359899227563299670313909592911205\": [\n \"5976361510708795349187552292920923717150932242444838789822039109818752869868\",\n \"17874323005228106357509731413562217371105167906506316784377630400280169082179\"\n ],\n \"2039542170018719206579254382277376767884439044633967755758853266393763266209\": [\n \"13450555216647112429203912235703499121221399249102579990279485758316947974402\",\n \"1\",\n \"1\"\n ],\n \"19620471564392299975597887615105820717915463887443924696004050806506696768724\": [\n \"2039542170018719206579254382277376767884439044633967755758853266393763266209\",\n \"15901929752959679650904862027077121315159761587888174554227555100387635943484\"\n ],\n \"15592503163509760929137838633056629166945886892593879079128062216264181938810\": [\n \"0\",\n \"19620471564392299975597887615105820717915463887443924696004050806506696768724\"\n ],\n \"13358380991549771979821069321951116810684565135503039169062607688104029259782\": [\n \"15592503163509760929137838633056629166945886892593879079128062216264181938810\",\n \"17327865706632639689617527088273780892148765335603893356589694511930702949195\"\n ],\n \"8716534851544733788221615263266547789859842490186166675662137241003037393954\": [\n \"2168284835706292239129716617494230862548408076342240492514259536788028455922\",\n \"1\",\n \"1\"\n ],\n \"14638820779729916158352785562161870807439292325547564006414680714757051833188\": [\n \"9451617714788627212974347980657587439126944880286844109627787216989146646630\",\n \"1\",\n \"1\"\n ],\n \"2132525101181489862215816091505437458352732207059287546889392267772163725220\": [\n \"12862318952448654245746459821981560114865847998140647837944692468815422403788\",\n \"14638820779729916158352785562161870807439292325547564006414680714757051833188\"\n ],\n \"21051976091485004758828817153261843974691743008110107536526804519682614181628\": [\n \"2132525101181489862215816091505437458352732207059287546889392267772163725220\",\n \"20870100488159697388063507444979869910735785488296391938145761091815979548104\"\n ],\n \"3378074253218886742605938235746314009729281687484807030114295366841276946330\": [\n \"5404630262726432993691440044170719071637930290657827321729025996172136252815\",\n \"1\",\n \"1\"\n ],\n \"2564362932848170064069075796960385420058640126362880931982282515580292765504\": [\n \"17369059599204031427832564741296609538959653529975217243485483053823524396466\",\n \"1\",\n \"1\"\n ],\n \"6442411230935697424262951938452819744510121855689296461665966972473300787613\": [\n \"19178221838683951319422526802015759190498511112812190584117892139747727607923\",\n \"2564362932848170064069075796960385420058640126362880931982282515580292765504\"\n ],\n \"719795547376556589445801156845759594918659916268629076823424598272286154453\": [\n \"6442411230935697424262951938452819744510121855689296461665966972473300787613\",\n \"8023470010715027160835436865123059607720169615887163757660213496659827805060\"\n ],\n \"2535641502631178058745153831989311377245382271861531119814329939602282033061\": [\n \"14516830038798907813649920111894699029969334151665842298804521094689517058965\",\n \"719795547376556589445801156845759594918659916268629076823424598272286154453\"\n ],\n \"19680416383034765378741315404850584146937501619286689212025539196246100316985\": [\n \"14963879104174958757945203262023832676296933287560873288510169838696584308896\",\n \"2535641502631178058745153831989311377245382271861531119814329939602282033061\"\n ],\n \"9803492380719364606580597262920415781202799949291492171923507029711639445151\": [\n \"17015428956795532542945097984648688704753982203597867022320244099474217212733\",\n \"19680416383034765378741315404850584146937501619286689212025539196246100316985\"\n ],\n \"6082463701509744051019653315259972432747476740696356748807366474013704597406\": [\n \"3844473073039015283801308939338876981143039275465179759107849865177935728779\",\n \"1\",\n \"1\"\n ],\n \"15062433740881927861447074925975837999063696599500493448190634794162196260739\": [\n \"6082463701509744051019653315259972432747476740696356748807366474013704597406\",\n \"596142982311376576511285825337516808556312797766869242441076088341803705265\"\n ],\n \"946622689350165481268960456345554353302105364091377646210385332899589404757\": [\n \"19317450445123070893213477799645381993048972921247869424049549465053815571735\",\n \"15062433740881927861447074925975837999063696599500493448190634794162196260739\"\n ],\n \"9526616439527742052290060532054948183471404016827803658765638504820412979232\": [\n \"946622689350165481268960456345554353302105364091377646210385332899589404757\",\n \"0\"\n ],\n \"13406215864733321038776973868585871350342401777189410116896585431735625527718\": [\n \"9526616439527742052290060532054948183471404016827803658765638504820412979232\",\n \"4004253256536228590677958179835294227788300339491229988115572165050987629574\"\n ],\n \"11896084165271600308709758622619194193138153899515067624063730352609654682051\": [\n \"13406215864733321038776973868585871350342401777189410116896585431735625527718\",\n \"16033209055818329223008030924529596337222709082619763884173275271260567173525\"\n ],\n \"1026484638452687191594027094338905904297919705315037181692324300749318124325\": [\n \"2917517064538109241385128125993057494094896088036187286704515783961416432281\",\n \"1\",\n \"1\"\n ],\n \"14439496363330422858484263191984215221983325475901430758955357753347173257301\": [\n \"1026484638452687191594027094338905904297919705315037181692324300749318124325\",\n \"14938871285168146562465360857472676165797657460130052752849127691019203340500\"\n ],\n \"5155703862990858621598151800586447012103478647814205344708795057256228312294\": [\n \"0\",\n \"14439496363330422858484263191984215221983325475901430758955357753347173257301\"\n ],\n \"18704199911945502946236706374182197454740623609860274106930832704784130056034\": [\n \"0\",\n \"5155703862990858621598151800586447012103478647814205344708795057256228312294\"\n ],\n \"17313750098812083171183322477418023267988828580764896592843127405789681203183\": [\n \"7629833233306145679167082493232128754391123939304842446597166999464866700527\",\n \"18704199911945502946236706374182197454740623609860274106930832704784130056034\"\n ],\n \"10182357862185410144950825919153243670629428104123728398093175065904928657671\": [\n \"0\",\n \"17313750098812083171183322477418023267988828580764896592843127405789681203183\"\n ],\n \"3686515639711804431242187706298977408909498991779196928859825441423144067138\": [\n \"21875616718066952402881888134819533349028031782787057340383091454111678385630\",\n \"10182357862185410144950825919153243670629428104123728398093175065904928657671\"\n ],\n \"19192392734041077217849022895881216105459018326165440108006585409201468448116\": [\n \"13970785719258243484096051946374501003340112652582898203763987250303748220995\",\n \"3686515639711804431242187706298977408909498991779196928859825441423144067138\"\n ],\n \"2281084285051025484837494315180873418733303085044176872639468389728397283306\": [\n \"19192392734041077217849022895881216105459018326165440108006585409201468448116\",\n \"19322989688702690078383616978212239914278148347439192451279139171276917313996\"\n ],\n \"15508774981927448825248624923034273891331836180993999429315862787141882257176\": [\n \"4782463507254788827969792424495540350282581160917636680420518320740649303679\",\n \"1\",\n \"1\"\n ],\n \"13161183782999536596164922201217771295782796220877193165726685496588501225498\": [\n \"5557938757601363803065493490327215229333973179992804234976378128173988878149\",\n \"15508774981927448825248624923034273891331836180993999429315862787141882257176\"\n ],\n \"11802051159431624110577856482223494983969527144499591419665092227901631972276\": [\n \"0\",\n \"13161183782999536596164922201217771295782796220877193165726685496588501225498\"\n ],\n \"16162447916418689728910939789411859800351002594493444919766355298277157143634\": [\n \"7544019714465017193700529403517677727612827336217203878081478683360975300131\",\n \"1\",\n \"1\"\n ],\n \"3321992909066211098734093509727709146038469842376621729888613877204813067114\": [\n \"36622039715036975838711439788232352057825715413646498087683130471144801614\",\n \"1\",\n \"1\"\n ],\n \"11758555557359893412734680141308398334980924738673206497652658907337823475493\": [\n \"15598685645418512179008664473071490750176538770955894275577719233933245192773\",\n \"3321992909066211098734093509727709146038469842376621729888613877204813067114\"\n ],\n \"7436894427250265724544355749226565393889551466280014122753580678902398378399\": [\n \"0\",\n \"11758555557359893412734680141308398334980924738673206497652658907337823475493\"\n ],\n \"1019146728417705570744686418237969112582819850238344486286736337925210366615\": [\n \"7436894427250265724544355749226565393889551466280014122753580678902398378399\",\n \"0\"\n ],\n \"2994393537024104693183317492578459735689282747940570134935284684587709052761\": [\n \"1019146728417705570744686418237969112582819850238344486286736337925210366615\",\n \"11768800651908301234528107165013676983273662731908305926763749008914520089754\"\n ],\n \"4487176778632659439830158637602496643516528765673609009094391840155691125792\": [\n \"9931086556770382447894779669535176665671676037451310653189829383038260305469\",\n \"1\",\n \"1\"\n ],\n \"11889900043535900433955689611950779112264275746720992970499895984069517378160\": [\n \"4447601330373478980154093697240336576841801829666859267003951068868011449393\",\n \"4487176778632659439830158637602496643516528765673609009094391840155691125792\"\n ],\n \"17422658288712187515079079884297101623434889963124076445829126102292599037610\": [\n \"18431949603535440498109403784906828073166466176965580325760696753123390698159\",\n \"11889900043535900433955689611950779112264275746720992970499895984069517378160\"\n ],\n \"21375163158388341099211568671341450149390198315800881635303115234618081774509\": [\n \"9873618596264970155827150821249754126179229369355627897302627809856217806203\",\n \"17422658288712187515079079884297101623434889963124076445829126102292599037610\"\n ],\n \"1500646701016684165331757235207199900703212662394140288531834879327089945838\": [\n \"16947128483190658225817819306093319564959725330350804975230505897054196515586\",\n \"21375163158388341099211568671341450149390198315800881635303115234618081774509\"\n ],\n \"3875380751666913964084240624291498070444669195251538109863835080651062834339\": [\n \"16391265116560986939262534251722861871893355839021552901193427358977382587598\",\n \"1\",\n \"1\"\n ],\n \"16476243873795202887851657762205379076289266950429736872723352762632562604723\": [\n \"3875380751666913964084240624291498070444669195251538109863835080651062834339\",\n \"998604877030594251063008651354971390235999553512244152016036046707651295495\"\n ],\n \"19463334990772096216056225129617983509489563719554559579084741438711230254250\": [\n \"0\",\n \"16476243873795202887851657762205379076289266950429736872723352762632562604723\"\n ],\n \"16280991081085617010111497290144612163157452356857127594641364573580026914133\": [\n \"19463334990772096216056225129617983509489563719554559579084741438711230254250\",\n \"0\"\n ],\n \"828069221742932126505352583557531575530702741089994332276674561902497961527\": [\n \"0\",\n \"16280991081085617010111497290144612163157452356857127594641364573580026914133\"\n ],\n \"17105201521671406883571816586425905843445634225695128041515619535958394897455\": [\n \"828069221742932126505352583557531575530702741089994332276674561902497961527\",\n \"0\"\n ],\n \"17298980062068109277180685421498399052915491873633639563762479748220936105316\": [\n \"17105201521671406883571816586425905843445634225695128041515619535958394897455\",\n \"0\"\n ],\n \"180977124635940386406008668676663987711167308537979714386043453403498976480\": [\n \"0\",\n \"17298980062068109277180685421498399052915491873633639563762479748220936105316\"\n ],\n \"1654409550369631019636372056111826363341079155882343184806835464818091786483\": [\n \"4540929189175161429277919157197030252174906386266306235578440029500156842535\",\n \"180977124635940386406008668676663987711167308537979714386043453403498976480\"\n ],\n \"12749492029061641533922527815091031466893323057889929379940013371879518815985\": [\n \"4081899895622637826602145079890247362683068833331100181111993617373504259869\",\n \"1654409550369631019636372056111826363341079155882343184806835464818091786483\"\n ],\n \"16750955635957970615411441334044280098862280608150909296282774141939403252172\": [\n \"12749492029061641533922527815091031466893323057889929379940013371879518815985\",\n \"1340864784204753919139028739365464592776878945175207409080835233301401094728\"\n ],\n \"3199612806522593979556640530615145818861559529776611831494221496843368773727\": [\n \"13874642020880443707808802355715873136773120692886842650270777673774690039539\",\n \"1\",\n \"1\"\n ],\n \"17306729034485513601186464788284906721489485883347978021963085916001806064047\": [\n \"12622069222750109528916305677602007917200353250407738496535123616222345848096\",\n \"3199612806522593979556640530615145818861559529776611831494221496843368773727\"\n ],\n \"17628886327599897964899697280555473671788426642423029261297884013501216065512\": [\n \"0\",\n \"17306729034485513601186464788284906721489485883347978021963085916001806064047\"\n ],\n \"3934112486868116325058337879868207165433281104477779350020058402365220677596\": [\n \"20791691067120541771140920417893664938551219482007865905775795853963234616317\",\n \"17628886327599897964899697280555473671788426642423029261297884013501216065512\"\n ],\n \"9440889181033946505509241974113014305552062845900152175858240028326455590559\": [\n \"3934112486868116325058337879868207165433281104477779350020058402365220677596\",\n \"18482849482008488691679096570866477262464378964646567390028707167662885401611\"\n ],\n \"7234210658572641067646291873201819339387992410953762773608592823061896075340\": [\n \"16568143929505289043895265143462404694041400242230272331875842686759506868108\",\n \"9440889181033946505509241974113014305552062845900152175858240028326455590559\"\n ],\n \"18229706561618092925744354813422275490217959293935917386796925080877620072358\": [\n \"10898373991471218523074277948870965943162157065584439541310118055532120477043\",\n \"7234210658572641067646291873201819339387992410953762773608592823061896075340\"\n ],\n \"2121805297982656975256670914548420357059135468793553090949022077567564946850\": [\n \"8682670639028440149117125370588441748520245371523255446854112877516760417895\",\n \"1\",\n \"1\"\n ],\n \"11757638399768539400648939987506590586966767135392175799710054334544493315598\": [\n \"2121805297982656975256670914548420357059135468793553090949022077567564946850\",\n \"18818719409759880060460205191027230077693608523957749151778361258800335909868\"\n ],\n \"15552663253230483557243208143465155560803764291128187243223368406491422782641\": [\n \"11757638399768539400648939987506590586966767135392175799710054334544493315598\",\n \"1183153099883275933549018417197124044920957167126295037274211602244818130865\"\n ],\n \"5283210732622245275749801550025528727930444137903128456878872943137863118582\": [\n \"10732203011271719099656905696393244910545273012873944984771389900219823203638\",\n \"1\",\n \"1\"\n ],\n \"21215216117836265365301120842430008152240967889734773000516743202392815245532\": [\n \"5283210732622245275749801550025528727930444137903128456878872943137863118582\",\n \"14141247329254619441737815277291711736833572261198869806938086932342358743758\"\n ],\n \"863776723554645136580176269051465341270506126602539386470405620865763227952\": [\n \"21215216117836265365301120842430008152240967889734773000516743202392815245532\",\n \"15995767282335913046138617830566219404462480978515482100951077175312605391996\"\n ],\n \"4794171670147661203978488327655506678563503872160208916563855047413582404309\": [\n \"2790233050467590320646178938244143419342654586963551324581304799628178785186\",\n \"1\",\n \"1\"\n ],\n \"3889218311014095425971118759007890756237528168176957992108044571081507829989\": [\n \"13135860854217578215859719399256998668481589719243836061875448695976029166199\",\n \"1\",\n \"1\"\n ],\n \"12830193832545796093027099310164065133139216763188263531952479000902136012135\": [\n \"17577381139087820785288764192021703301652676774090938535257745659473516221604\",\n \"3889218311014095425971118759007890756237528168176957992108044571081507829989\"\n ],\n \"6337134982148456453797260009881568235517612657342449120866707749768567870221\": [\n \"2783895580440287133007313639341543474583353681387245647746836549545932781175\",\n \"1\",\n \"1\"\n ],\n \"18670235250001839728189464036161946225529690086141863958756637680648417425046\": [\n \"11786878581429879236598020420388611274397986673739614253502662760562111353384\",\n \"6337134982148456453797260009881568235517612657342449120866707749768567870221\"\n ],\n \"17587001242976030795197938809448317027866997889772459983693314044342646787906\": [\n \"3086795693219528799725220701015139826610334160602062928940788885041171638194\",\n \"18670235250001839728189464036161946225529690086141863958756637680648417425046\"\n ],\n \"15720081815246291768415745467158312021729280636934103430601619530407007281038\": [\n \"0\",\n \"17587001242976030795197938809448317027866997889772459983693314044342646787906\"\n ],\n \"16482973524608694391609380416645490285898203711496835501085466453413590608875\": [\n \"15720081815246291768415745467158312021729280636934103430601619530407007281038\",\n \"17921423052383094420662565420190787885075158288941628597262780138921258406461\"\n ],\n \"17738683620035029248425749807321924130770728700443343421391153151099611106124\": [\n \"12830193832545796093027099310164065133139216763188263531952479000902136012135\",\n \"16482973524608694391609380416645490285898203711496835501085466453413590608875\"\n ],\n \"12448168896820405366409819930778234252790190761135036289158280030080007346573\": [\n \"3504762025038862348982915175539598349329979743899379014708356434212310691512\",\n \"1\",\n \"1\"\n ],\n \"10615511976094657338527654511557397008327059405104073153405179149210275855483\": [\n \"12606061715607864384221691010078699722846457975890117152850854149206775979100\",\n \"12448168896820405366409819930778234252790190761135036289158280030080007346573\"\n ],\n \"20365093901277051925743542407130441929563547400197202151121781458288770019187\": [\n \"10615511976094657338527654511557397008327059405104073153405179149210275855483\",\n \"17212348347576037678567165073612451931724410828210809606026198058554106513727\"\n ],\n \"690649051878699786118875868674844184018032427709568984262880046693675327925\": [\n \"14368329121577453764651160373247550321576082172748991178488031948262236881898\",\n \"20365093901277051925743542407130441929563547400197202151121781458288770019187\"\n ],\n \"14201450143476617374566979044064811587358325519544339692921153293502649178514\": [\n \"3039540454040456076062867097600337584146566828196497488813147333802718640148\",\n \"1\",\n \"1\"\n ],\n \"2783854678861326654362058202414533063869598533441801919455137911434961041901\": [\n \"6656746542494932227530674348661555438040068196748061871369790623925513268947\",\n \"14201450143476617374566979044064811587358325519544339692921153293502649178514\"\n ],\n \"11414373176408101082683656147281540895846712804914638120295595667927443999837\": [\n \"184831990636503137000690418084265887452629171248558315449526532496607302202\",\n \"2783854678861326654362058202414533063869598533441801919455137911434961041901\"\n ],\n \"20599325438166862367149218205080395672900577564105975976197872231045810999926\": [\n \"11414373176408101082683656147281540895846712804914638120295595667927443999837\",\n \"8361196892701086847033615259038239757847064425478024295644911232554036097385\"\n ],\n \"485129551007298743783211626135231707994081901524634905733985172951517659944\": [\n \"20599325438166862367149218205080395672900577564105975976197872231045810999926\",\n \"18920501695106214036876727555549528757512699755282034962759162009077883586688\"\n ],\n \"4398313551995297788136687867019064702007090543780672522684539753407735820340\": [\n \"7612291715999709385793497068413710194970478735854109261579822724756548513583\",\n \"1\",\n \"1\"\n ],\n \"1391774770226953652789218306050860664284412512133769832903652585708224267643\": [\n \"3914003334249801622180176296555602432420965227497030399421767327830572802810\",\n \"4398313551995297788136687867019064702007090543780672522684539753407735820340\"\n ],\n \"20515704699902708929956944263530840221818411890510300707825264133320191112617\": [\n \"1391774770226953652789218306050860664284412512133769832903652585708224267643\",\n \"0\"\n ],\n \"5626159093245923862958035702427876232870220633269914423202612114767203934477\": [\n \"18033689323539450760358658908935334446797316226639660692426244411661351192\",\n \"20515704699902708929956944263530840221818411890510300707825264133320191112617\"\n ],\n \"2542320595302054202468405134427394228776732356773188368331187331463797058423\": [\n \"2895649491330294054610593221093183485130366734065644490836332670375438953117\",\n \"5626159093245923862958035702427876232870220633269914423202612114767203934477\"\n ],\n \"7504286474590407713109873743715809468461228446294941443518819891843105750708\": [\n \"10706227341512399251435721773928890103260540167538437362061431516509551970628\",\n \"1\",\n \"1\"\n ],\n \"13623428466567350269580137328833340347177288890627004058977199228159373641347\": [\n \"9010376735705429281674254401556034436515166074840398422983156487405745078453\",\n \"7504286474590407713109873743715809468461228446294941443518819891843105750708\"\n ],\n \"6838504240661565282761442156722381600104591413110906079421775175922988894160\": [\n \"9993273722917764692819462056525499834330148425829695300598590095705189484858\",\n \"1\",\n \"1\"\n ],\n \"13328250391973206829968589971009211118111371902093811832474143512943870275921\": [\n \"14217461906575549331705095049079390520317103217693928744027372243951131680587\",\n \"6838504240661565282761442156722381600104591413110906079421775175922988894160\"\n ],\n \"1590896069964441496188417118272546052424390948416915910612303084015380507342\": [\n \"13328250391973206829968589971009211118111371902093811832474143512943870275921\",\n \"0\"\n ],\n \"11313269067924896949509133425902844336314265855706206785481157158401988984904\": [\n \"1590896069964441496188417118272546052424390948416915910612303084015380507342\",\n \"0\"\n ],\n \"21236852533138417723506620465583239269841795411483935556207872475634916767835\": [\n \"11313269067924896949509133425902844336314265855706206785481157158401988984904\",\n \"6440004403328847503669938330425397003290463712261135862305872182485465726176\"\n ],\n \"8201314693808234711981574060072858741890451850034957106787420132072868991925\": [\n \"13626934408529381671007074842736291333617229655029370278397579568139126463015\",\n \"21236852533138417723506620465583239269841795411483935556207872475634916767835\"\n ],\n \"18703523939456865930064084688151203915278477827140439765165796724588960950083\": [\n \"8201314693808234711981574060072858741890451850034957106787420132072868991925\",\n \"4803211660296966219786404694852768735242464040221854386109180023918624739347\"\n ],\n \"14054207859878175933626119585225354684500858015262963313582757947070169595789\": [\n \"18703523939456865930064084688151203915278477827140439765165796724588960950083\",\n \"552722660050207362605059225614835548753595181703203369234036404834107677319\"\n ],\n \"10667197097361404835807533285900912680529148646901428250672100072069005694700\": [\n \"10604536842023095219520596742906713643143498349148312302495299475193043758852\",\n \"1\",\n \"1\"\n ],\n \"21073510875431423839456139919813707240873347051050685471755116981265498641815\": [\n \"12913492233110729649628437126067617225099333108408019413564053753253220508094\",\n \"10667197097361404835807533285900912680529148646901428250672100072069005694700\"\n ],\n \"5828281704311510212970638452090781611405691523340962047515847942119491454040\": [\n \"6083017421962220556566586561536771726005314347851088827462105617445176053428\",\n \"21073510875431423839456139919813707240873347051050685471755116981265498641815\"\n ],\n \"3215589631037647673339191712472247236910681224952013193552182760444589231392\": [\n \"5038380372061049843697690916398112879629347299106180418356405456296337655810\",\n \"1\",\n \"1\"\n ],\n \"17039725887282621937287043926355054522892395512914401903175524300940320954407\": [\n \"1036772675874387987244533943299185171200576659112472047658637053094501137312\",\n \"3215589631037647673339191712472247236910681224952013193552182760444589231392\"\n ],\n \"19865904060853943245765843136404066768505214234691247822005111165352213021722\": [\n \"17039725887282621937287043926355054522892395512914401903175524300940320954407\",\n \"0\"\n ],\n \"8165229645433963227842827117627118103416584885960098696011939019986790339175\": [\n \"19865904060853943245765843136404066768505214234691247822005111165352213021722\",\n \"636165695339069982537213753224011502499532995937339869788151681826715620712\"\n ],\n \"19010196698893729335180610075031408485460113573319840709208711029836551201667\": [\n \"6662954203326636541999363917623228287913486240884843970441223991582969644847\",\n \"8165229645433963227842827117627118103416584885960098696011939019986790339175\"\n ],\n \"7087140211751156456077553454559847975596747081520537371300918752523648422831\": [\n \"19010196698893729335180610075031408485460113573319840709208711029836551201667\",\n \"20486431268712431810424350211431870835284395660759767334458221974118155307331\"\n ],\n \"19073493513195271409534904456818834431562527582471721698911274758227488322386\": [\n \"7087140211751156456077553454559847975596747081520537371300918752523648422831\",\n \"6175175824475854430344059960345207029157805719387192247744306029553652337540\"\n ],\n \"10491897608455670367932200258967272051442864161278578980311811774548252880501\": [\n \"4388941096928980222954796394446618074882803851804171196495398874950350260320\",\n \"1\",\n \"1\"\n ],\n \"3234623764974619767527020229701732770908493241371510895800965162137924410794\": [\n \"10491897608455670367932200258967272051442864161278578980311811774548252880501\",\n \"4033126168094153536328906137261721034724874980954050958249060004203796022371\"\n ],\n \"96393225200157448167525934375148863577535984803265528264685362659184415025\": [\n \"3234623764974619767527020229701732770908493241371510895800965162137924410794\",\n \"1058319747993786344601851218474781810269228942021833657833727055323438170975\"\n ],\n \"11676805075476992955226748111665028344254365000534044478344926093958865561408\": [\n \"0\",\n \"96393225200157448167525934375148863577535984803265528264685362659184415025\"\n ],\n \"10231758815232455948339954219002018120161486862313027112870082995483442822537\": [\n \"12077215793714961815409135241134408264690149865596082457707923794220727414547\",\n \"1\",\n \"1\"\n ],\n \"6690981792891766826095953979591512532408194023524883810382604605958334285553\": [\n \"10231758815232455948339954219002018120161486862313027112870082995483442822537\",\n \"20229774714169986462618436808781631091666224365979563003713375788647499914377\"\n ],\n \"4153742808581970840189882993703833247975038634067624785983538190285105408449\": [\n \"0\",\n \"6690981792891766826095953979591512532408194023524883810382604605958334285553\"\n ],\n \"11553650850093499802263078252570398170905910234638452092650319547735500009191\": [\n \"14830968067494627291916864542743379572468221939297034147884040135467322328711\",\n \"4153742808581970840189882993703833247975038634067624785983538190285105408449\"\n ],\n \"933769390462277552434129454268624430699103159777653159345596584902613502816\": [\n \"18120178697221166977964130968118940212011575816031713413612313844925182548690\",\n \"1\",\n \"1\"\n ],\n \"13889047074787522446211373878300014573672198845524738910860495186669068704905\": [\n \"933769390462277552434129454268624430699103159777653159345596584902613502816\",\n \"3507488643514956760333889118468774154045211534640270465556508796827433585194\"\n ],\n \"4933409849967317388738943302051909352515296480833711090508196923341751556949\": [\n \"13889047074787522446211373878300014573672198845524738910860495186669068704905\",\n \"0\"\n ],\n \"18355313468367904173694822741219143823217782505803740677691594000938312901691\": [\n \"4933409849967317388738943302051909352515296480833711090508196923341751556949\",\n \"0\"\n ],\n \"17523620968685924634610451666043973226741578977424972455252750943291936437203\": [\n \"18355313468367904173694822741219143823217782505803740677691594000938312901691\",\n \"0\"\n ],\n \"12538742336648996368717329828286839379183892720671695337505380321828830983244\": [\n \"0\",\n \"17523620968685924634610451666043973226741578977424972455252750943291936437203\"\n ],\n \"4925712060273504326071798139758661986267532175037177092578169391750947959831\": [\n \"12375497038638175643320150560288053310533840625172334236686065934844912762293\",\n \"1\",\n \"1\"\n ],\n \"11456742126038030292605312241121782947041398847060227472487303191863497822814\": [\n \"3181389547338560171802516638354645073785759841237437418466739317644632294496\",\n \"1\",\n \"1\"\n ],\n \"4465728228968337868223359661646420849488918578990583017937398287931449835913\": [\n \"11456742126038030292605312241121782947041398847060227472487303191863497822814\",\n \"1979755457090816418406133922729075066452806208393889948960232957340307757156\"\n ],\n \"283148902887201479815835123117342489702797459622682983436513779216641928108\": [\n \"11676805075476992955226748111665028344254365000534044478344926093958865561408\",\n \"4465728228968337868223359661646420849488918578990583017937398287931449835913\"\n ],\n \"18085807308231455521150121528077019862552045942207564434771306325306802355118\": [\n \"283148902887201479815835123117342489702797459622682983436513779216641928108\",\n \"12554858523561807324679707382704004140075070796237572070271366374103041576605\"\n ],\n \"1950734137309228761627933593979073514610133384315336934172719763320249212451\": [\n \"18085807308231455521150121528077019862552045942207564434771306325306802355118\",\n \"11716682813130867433537495256924362356671529346243302537659917197026480285024\"\n ],\n \"13979008535241828584720652256727861766858460290254092510856365709819020321924\": [\n \"2147847068551301686308559089865434374489754850203436829378714933783938819962\",\n \"1\",\n \"1\"\n ],\n \"6554921368227385629387825762595811485878812876897016005405022769232920532051\": [\n \"21275196138180656949286450230232412463503573955652260095714965147019379016531\",\n \"13979008535241828584720652256727861766858460290254092510856365709819020321924\"\n ],\n \"16646151786889451553663708921805057656021327435449336636893879055725303164888\": [\n \"0\",\n \"6554921368227385629387825762595811485878812876897016005405022769232920532051\"\n ],\n \"12387601339498242260486262703141941856426209535066508013808032983901148652273\": [\n \"955080039899712803116547357842453317769425129420170716149837782254423448553\",\n \"1\",\n \"1\"\n ],\n \"15337979677863736625021864773539081558201349973410454297211336148109948456871\": [\n \"6052139396836532893881763634254389657742251776154363710886339954918382581878\",\n \"12387601339498242260486262703141941856426209535066508013808032983901148652273\"\n ],\n \"15854421439034196860178648485388763023251328062938969153897100075721946620080\": [\n \"2354828916121919524516075034280056181878268273888238839105017869364414117952\",\n \"15337979677863736625021864773539081558201349973410454297211336148109948456871\"\n ],\n \"14156380545776307098851326427116838755540357433272589637685790367764063439348\": [\n \"15854421439034196860178648485388763023251328062938969153897100075721946620080\",\n \"16322586185108514414214831374436527757028944631429783030580644460148886290672\"\n ],\n \"9791761062250580261550240660909219868253738637381614611500322616161263306872\": [\n \"17807334139871376883702016636848807251895597211088856952548498322337971883666\",\n \"14156380545776307098851326427116838755540357433272589637685790367764063439348\"\n ],\n \"11531102187872409897506147027033467316778317548058705836355011615510458929056\": [\n \"16312437116728503000617370079700356881386658407442792545746197037666480007174\",\n \"1\",\n \"1\"\n ],\n \"2385597192629934784877577039291657920480946398067889816840406577775708913773\": [\n \"18118913587595332382141015106838397426327120826963685246051890301274705585544\",\n \"1\",\n \"1\"\n ],\n \"4720804572042789379075564815876935392244212197261027462735398666205229221817\": [\n \"17360204590697410682441561710611269227096772526159842823493571511641385333567\",\n \"2385597192629934784877577039291657920480946398067889816840406577775708913773\"\n ],\n \"5687184205116481092420971390780808752114008826480658943043930475945910687780\": [\n \"4720804572042789379075564815876935392244212197261027462735398666205229221817\",\n \"15737669397311983604123224489356919295133478155707634788471062339927600181925\"\n ],\n \"17152967420823626905010003277890245997885148995589054027133116942763591748816\": [\n \"5687184205116481092420971390780808752114008826480658943043930475945910687780\",\n \"15733668532281530485338938187929230629303916775826096689018990649845778295081\"\n ],\n \"6895397910096466373887332885678044198049483700110158661906976336168973940125\": [\n \"17349362421343149769067567229490799577436080866306035243169184963157859716759\",\n \"17152967420823626905010003277890245997885148995589054027133116942763591748816\"\n ],\n \"19387148830381671851584189491345056647920993090280373445710862337161255553074\": [\n \"16459560840255523068548431638990212268148057993460039435629789008281446412289\",\n \"1\",\n \"1\"\n ],\n \"916820317038046877997993631734063097453828922948941486295256898769884800463\": [\n \"6704421856563637833612041186276761274668880043579203134085892033756173840608\",\n \"19387148830381671851584189491345056647920993090280373445710862337161255553074\"\n ],\n \"18740497142650762374172395807229650581207704878428487252653096875768175675983\": [\n \"0\",\n \"916820317038046877997993631734063097453828922948941486295256898769884800463\"\n ],\n \"16695762806236240656428311833982365250468658922398011439592260441094687235224\": [\n \"18740497142650762374172395807229650581207704878428487252653096875768175675983\",\n \"17897984979696706069340204923871099906304253712346431804146780329065508621299\"\n ],\n \"8199514093452885062212697138734147124283552039690154274803426147394743228572\": [\n \"16695762806236240656428311833982365250468658922398011439592260441094687235224\",\n \"14773518168916028448092432803416561103872245146039226915064697940984103425135\"\n ],\n \"1646356959866716560201140088127556062941664609231168489698100064975959538774\": [\n \"8199514093452885062212697138734147124283552039690154274803426147394743228572\",\n \"8309520140310288951485596060917942138253911568280890189354402079088510382444\"\n ],\n \"2482912192596880649019637014558715551393071782605474700207165471737121209535\": [\n \"1646356959866716560201140088127556062941664609231168489698100064975959538774\",\n \"16689346094676560838281771998013117778837034962910675633637825772705928351891\"\n ],\n \"2744734343699671317792367878628930409363259544042727326461625765344702185239\": [\n \"9263881993094596649106674826288617579947311386101325151324938322748800348822\",\n \"1\",\n \"1\"\n ],\n \"3069444286872954015536548822553387851991445622260210270416165388813092398835\": [\n \"7516430462973461107215823002711054043696178035647041626091819705418998805368\",\n \"2744734343699671317792367878628930409363259544042727326461625765344702185239\"\n ],\n \"594882651883717854677041444767775002649867082896172643781629177265646994576\": [\n \"3069444286872954015536548822553387851991445622260210270416165388813092398835\",\n \"0\"\n ],\n \"8732912000128545516082989704644024068192065834456485680603683670173739963808\": [\n \"8626095952394916244274007874818954373582290404539460367850436910607177104518\",\n \"1\",\n \"1\"\n ],\n \"20000819328826097499108226809903494580161342649702577846570740141816087945210\": [\n \"18201695282137108284786802194074423326161580789590876289216966944222165027828\",\n \"8732912000128545516082989704644024068192065834456485680603683670173739963808\"\n ],\n \"3525926156807967307677541447378040919532154767552751228736982080536303374397\": [\n \"205852650000811863303591936796018170081398378150974357153839136846649518059\",\n \"20000819328826097499108226809903494580161342649702577846570740141816087945210\"\n ],\n \"8199335994582579239376189662280545198302586124571823132086543911104465876794\": [\n \"7246987633845584469581314086259116059476704394814876615764641969629904436345\",\n \"3525926156807967307677541447378040919532154767552751228736982080536303374397\"\n ],\n \"15735090763397800074994331040514260460448066242125107659602154773417491165307\": [\n \"15577957600842376089075842248816190532072894807230630167880140813147849877333\",\n \"1\",\n \"1\"\n ],\n \"11259804308347548256924340307108168101131611509955515971865323172945353339151\": [\n \"17301339531631921615740165469855437660429017490515820636631437626057306170841\",\n \"15735090763397800074994331040514260460448066242125107659602154773417491165307\"\n ],\n \"16256626785012166371232182145242687168595948996494541995388783245091776547437\": [\n \"11259804308347548256924340307108168101131611509955515971865323172945353339151\",\n \"15991557332236072571425067547240042764882499822687355119999920625623925992013\"\n ],\n \"20569918975632268065134877694096641510945931972906358690030734248002750158923\": [\n \"16256626785012166371232182145242687168595948996494541995388783245091776547437\",\n \"21602145005142643487099998806770230289838496991131396411842616817810447830318\"\n ],\n \"3336164066061463922068732950818137613307687988906917122082418430216054128114\": [\n \"14502784729683509325796322122748136315377424172591981939219730560103735659110\",\n \"20569918975632268065134877694096641510945931972906358690030734248002750158923\"\n ],\n \"1642156648377918659410992745683961361198224740961568545504183169591042286239\": [\n \"15946271037416019013528727783478996420733155377405840286382618496682727372752\",\n \"1\",\n \"1\"\n ],\n \"15048101258211112857498315685965529126232926746410208826924192046629528991825\": [\n \"1642156648377918659410992745683961361198224740961568545504183169591042286239\",\n \"19577845009283555594373474285718219680946349461559352391129291823793912200825\"\n ],\n \"18592359978839749751847307970425430792339440809291102871153180539765377418912\": [\n \"15048101258211112857498315685965529126232926746410208826924192046629528991825\",\n \"0\"\n ],\n \"8590193720375462285690964006630744095840670149170954116009085736089004051502\": [\n \"0\",\n \"18592359978839749751847307970425430792339440809291102871153180539765377418912\"\n ],\n \"10421773811290259540577358298004263675927902760218476803893217710314890691700\": [\n \"0\",\n \"8590193720375462285690964006630744095840670149170954116009085736089004051502\"\n ],\n \"1739243213126900940700814561066180195453052112605188691915182308357795987673\": [\n \"5513409603378659296066627186426529612570990497501336620065024697688487922867\",\n \"10421773811290259540577358298004263675927902760218476803893217710314890691700\"\n ],\n \"9169193217796226331590036858464558133118214329812348391629483828345588395912\": [\n \"12525861700464892621604396219950317342621068367121407837787643066315214358836\",\n \"1739243213126900940700814561066180195453052112605188691915182308357795987673\"\n ],\n \"20711933507698335318121174712983554670111973144806245044282401114895716183433\": [\n \"1840918367689541471094302583596037984624337079949899394351356189490359629285\",\n \"1\",\n \"1\"\n ],\n \"6144650619063444946051928318055946981584362483622951653444168108620029345976\": [\n \"12373505467125745897829308222053050105530730306842876681837063301436937669434\",\n \"20711933507698335318121174712983554670111973144806245044282401114895716183433\"\n ],\n \"10911529218303327626670222897183284922728522219527604777070914384929628041714\": [\n \"0\",\n \"6144650619063444946051928318055946981584362483622951653444168108620029345976\"\n ],\n \"4288213823372164599324991617429777243322611649219210317159691997043930520392\": [\n \"9900118941570921256089769624745452913612800187207312763153745234757393171731\",\n \"10911529218303327626670222897183284922728522219527604777070914384929628041714\"\n ],\n \"18867904546905240439722623275906215668863028228288279474424857856157620347302\": [\n \"4288213823372164599324991617429777243322611649219210317159691997043930520392\",\n \"6425201016045682534678781572847811761447711412794085352387987968140660008271\"\n ],\n \"655715702930500211475100712029079462912330010043094115457640797082988525826\": [\n \"11658887720692667174422391225398887563352027812973665663808003455941425609506\",\n \"18867904546905240439722623275906215668863028228288279474424857856157620347302\"\n ],\n \"20294346648230675003512289404512456397527716989223146960883203144613490624816\": [\n \"655715702930500211475100712029079462912330010043094115457640797082988525826\",\n \"18204476802611076970872920620138195459756145308419652544033465532577474553539\"\n ],\n \"5239873265913364705678130311611737420796431580120396305988754291470071124036\": [\n \"7414085586077583033698297538651931385323174560170465582590966904740206549024\",\n \"1\",\n \"1\"\n ],\n \"5145442710503007713978090940733033489928138760001725372972825737491073091502\": [\n \"5239873265913364705678130311611737420796431580120396305988754291470071124036\",\n \"4047548341525002181061075088135098017836581405677665574104446264180127132031\"\n ],\n \"14553307727510968597377561524684815958599339826906024453224020942142439650212\": [\n \"8062322430465954182781631774470290623445819540819352707825414089561718063552\",\n \"5145442710503007713978090940733033489928138760001725372972825737491073091502\"\n ],\n \"21017938748889584795596648616923975828051372625881786815466910911739525437253\": [\n \"0\",\n \"14553307727510968597377561524684815958599339826906024453224020942142439650212\"\n ],\n \"959308124312394352072411489084760324845424353203387116822973663074773412329\": [\n \"21017938748889584795596648616923975828051372625881786815466910911739525437253\",\n \"10686134576032545478804284693313102651293386890589292473403939450119791566549\"\n ],\n \"20347722316610123196357824800416649312301749337260010104050894480185517503990\": [\n \"19007342020118698038170205005513898412549511733383280081023434669562280721989\",\n \"1\",\n \"1\"\n ],\n \"1595100556788865657377975820044590987008772743312741234669216593440871358898\": [\n \"12892594153333885793958004840160141527208141056603101572147257889832029347533\",\n \"20347722316610123196357824800416649312301749337260010104050894480185517503990\"\n ],\n \"9484511254734663072078809838075435693068791610380523855055895372237825452799\": [\n \"850960415615418181789736814060231551877495462793205770155752935216835838621\",\n \"1595100556788865657377975820044590987008772743312741234669216593440871358898\"\n ],\n \"5260900938101369980231035645921702394618860050618452498159887030307806290354\": [\n \"18860302162432977427858582460740197026265446017840612622507103744494821588718\",\n \"9484511254734663072078809838075435693068791610380523855055895372237825452799\"\n ],\n \"9948280519015103239198611111877275201329672777442728015185736828743992431545\": [\n \"14132739700533267306760214464635908318728637919346062091928366890206101540668\",\n \"1\",\n \"1\"\n ],\n \"5635671798155064996341245703784830798489540160889641487620477444950891899171\": [\n \"9948280519015103239198611111877275201329672777442728015185736828743992431545\",\n \"21328686566996032290805041769708093781607788895708353393937643796078271841127\"\n ],\n \"3471610706010140670472056443543735998715105248508250636615927408911956571667\": [\n \"5635671798155064996341245703784830798489540160889641487620477444950891899171\",\n \"772072737509715327551608510802306775810219754285578758002560342642321206357\"\n ],\n \"9246154256141878135504548421971718732235870210733529735861233235115665993794\": [\n \"3471610706010140670472056443543735998715105248508250636615927408911956571667\",\n \"5234929441975115491763501763790718004678019048575172238069035122563329681316\"\n ],\n \"10633885632335414992868037040741519078531526760635907443602401431738217531443\": [\n \"10995477460878291094540845741404400544421419860931454987572522880772006286762\",\n \"9246154256141878135504548421971718732235870210733529735861233235115665993794\"\n ],\n \"2494789530214843357876056081588966984525139468186562230936164016795967404310\": [\n \"9031980013403416893515674862877480502697705247872051895505912892935116236256\",\n \"10633885632335414992868037040741519078531526760635907443602401431738217531443\"\n ],\n \"8918069975882565562940917472114681228139640575563915155807976827401903885874\": [\n \"19336813701977847983570049195598258404097938815699951880565604697245743789575\",\n \"1\",\n \"1\"\n ],\n \"16353389697348827465525127714073121630188618467813823092550109591068075807787\": [\n \"7295933642247648848942384854088400061593686937991938358816730887187880227014\",\n \"1\",\n \"1\"\n ],\n \"1588446918011972976038033428763734738816017048543622706911365848884815345458\": [\n \"16353389697348827465525127714073121630188618467813823092550109591068075807787\",\n \"11082463845787261125929489700619799290739557044308669110609541832121421243827\"\n ],\n \"19803040199024337002474428516094122164262033082983194711126867558726569341507\": [\n \"1588446918011972976038033428763734738816017048543622706911365848884815345458\",\n \"0\"\n ],\n \"17058573490573838444183031772497709916309326934115616559397687423491344520731\": [\n \"19803040199024337002474428516094122164262033082983194711126867558726569341507\",\n \"0\"\n ],\n \"4987664917185968073951498069454464131058089111321560086983707034133673926334\": [\n \"0\",\n \"17058573490573838444183031772497709916309326934115616559397687423491344520731\"\n ],\n \"15571898299301091926585534479693530176321477535682478273829853799431628779150\": [\n \"0\",\n \"4987664917185968073951498069454464131058089111321560086983707034133673926334\"\n ],\n \"7453464165652120447782787128856372819351068503669657389699027158747539756152\": [\n \"9767569849846189737080595906476227241648286891874205788005751510189960134281\",\n \"1\",\n \"1\"\n ],\n \"3003115791599370682854420969342616365874879524023824068654689509089466468932\": [\n \"20528156147793767964854479558885146942428096317244980697578444763433384401732\",\n \"1\",\n \"1\"\n ],\n \"13667629752031523978875430218826396930362867560166363708103380216927830411978\": [\n \"11976456813764247065861130326852135680694097102030508142838531631026673734681\",\n \"3003115791599370682854420969342616365874879524023824068654689509089466468932\"\n ],\n \"1201590212725043951722930852408698811533187194964995077428379312183265099628\": [\n \"13667629752031523978875430218826396930362867560166363708103380216927830411978\",\n \"3731490557029180475804512883023581783595241214574865696580266311926060227030\"\n ],\n \"6409071135775725653784923737330371440414254417784881693492157731167690408430\": [\n \"10746294335159986683574984605350393077958745230377138608703030137327586263894\",\n \"1201590212725043951722930852408698811533187194964995077428379312183265099628\"\n ],\n \"14735557828374479655858163731096225702417734983948017120128978824356669725293\": [\n \"14433848942655360280550850761535733600524748156659339104116473783957577990284\",\n \"6409071135775725653784923737330371440414254417784881693492157731167690408430\"\n ],\n \"200368575193691770941368504739793943499961367926379469514134790291044311196\": [\n \"14735557828374479655858163731096225702417734983948017120128978824356669725293\",\n \"18014306512428915954994624927582608558320181029237984141485811796133689910869\"\n ],\n \"19437557868488791509153518552032030896491729536490812569254940594529169708510\": [\n \"14368630932278931637506078540768995430092973280049855447912806671931204894939\",\n \"1\",\n \"1\"\n ],\n \"2139879255560742662651940202243642698280201621820584724028028976401704724607\": [\n \"19437557868488791509153518552032030896491729536490812569254940594529169708510\",\n \"11973092472790020106664193425056229810489924717443602417729877441592949508267\"\n ],\n \"11870237819678751395987674550142847337535830409120630390415989919885291511385\": [\n \"2139879255560742662651940202243642698280201621820584724028028976401704724607\",\n \"0\"\n ],\n \"9353796295809104979563721903954886833981849599068812225971207155525580027458\": [\n \"11870237819678751395987674550142847337535830409120630390415989919885291511385\",\n \"0\"\n ],\n \"1958068568280047119327734737698384489567867455011789768081916915402039111173\": [\n \"9353796295809104979563721903954886833981849599068812225971207155525580027458\",\n \"13182146308616544275899786992483445577001396028560818824134381246121041891930\"\n ],\n \"13630328267337828760366749753458410131607649768039866122243104689387214241520\": [\n \"1958068568280047119327734737698384489567867455011789768081916915402039111173\",\n \"16824202249710220368293397751572586688940897509917916696545755217644796268639\"\n ],\n \"15087566366839897984554961693876967315168288093696975554650812326396736469448\": [\n \"13630328267337828760366749753458410131607649768039866122243104689387214241520\",\n \"10716273949843000051546906445900823569966721929768675712898844176305119276612\"\n ],\n \"20247309374104522719647878152568762872078819942694057951069162278837981252500\": [\n \"9423159234951798753229806998306435295854496492106983345187840237300331682212\",\n \"1\",\n \"1\"\n ],\n \"6529233787768236034480696812808132604883207712448298817687234974172543544648\": [\n \"16203984320417797910043923672844508699492391251098828819514616022880053820251\",\n \"20247309374104522719647878152568762872078819942694057951069162278837981252500\"\n ],\n \"1709316894966027583744630005545957104080962606304253983142377390312114448981\": [\n \"0\",\n \"6529233787768236034480696812808132604883207712448298817687234974172543544648\"\n ],\n \"19724176900394406197798422057134290162244317185004861756676936711657240016530\": [\n \"1709316894966027583744630005545957104080962606304253983142377390312114448981\",\n \"0\"\n ],\n \"20764726547094116992005265128198250287066730417560064919971960429286022037605\": [\n \"19724176900394406197798422057134290162244317185004861756676936711657240016530\",\n \"0\"\n ],\n \"14846876621946791909656936486481568936248042344902519537997846383081996469151\": [\n \"0\",\n \"20764726547094116992005265128198250287066730417560064919971960429286022037605\"\n ],\n \"10157757551661440710069381013003369787241637250342312445153652680533307573251\": [\n \"10199325648644261875977984427131237966623516831901583010362078228309099144999\",\n \"14846876621946791909656936486481568936248042344902519537997846383081996469151\"\n ],\n \"9357937540770267571731437835787814685853692924854293083831799108824882893776\": [\n \"10157757551661440710069381013003369787241637250342312445153652680533307573251\",\n \"8533059603285704989415168341199910225690152396143043185574790469388158416780\"\n ],\n \"3316398202328411902206886268628281248257867717761535197225302951665831897021\": [\n \"12202637694180366894861280281008457903518418601473286102869717417120951975578\",\n \"1\",\n \"1\"\n ],\n \"18852735480795701792283820124723966524722416811520261986366516253311135160128\": [\n \"3316398202328411902206886268628281248257867717761535197225302951665831897021\",\n \"4725137091567904042185972943388772898062457805925611071624933105782231629834\"\n ],\n \"2254865021384174846383108884702015548521802196951973920749168885815073662792\": [\n \"11102510888945690820519805881554174238768014086988612029979047844482008482424\",\n \"18852735480795701792283820124723966524722416811520261986366516253311135160128\"\n ],\n \"10154824021314770731194201555039435656523317698292598224788801183380731760988\": [\n \"9819239043391464190291585005389184698109751562633441321816643344232913585013\",\n \"2254865021384174846383108884702015548521802196951973920749168885815073662792\"\n ],\n \"13477322954315122028630778310567765524186034431390985127140710179566901066974\": [\n \"20296794035776354399742657963893669212401198285180074205166729282898695469036\",\n \"1\",\n \"1\"\n ],\n \"1174090768275513176390382533149822757935581167038093175659543840649305809911\": [\n \"3117091530284798442254496815399152855654640486617814605095856166006169745822\",\n \"13477322954315122028630778310567765524186034431390985127140710179566901066974\"\n ],\n \"5717046494178830232979028009539778268384738324231419751719354369438369904988\": [\n \"19195164273983344004222659801470770343852663744321739767313082025823530043972\",\n \"1174090768275513176390382533149822757935581167038093175659543840649305809911\"\n ],\n \"18445399661666987332258378980924553465378116611599403347812189795374662765945\": [\n \"5717046494178830232979028009539778268384738324231419751719354369438369904988\",\n \"10258292825288137033881577629429478439641154844635076144143142262272549286816\"\n ],\n \"5161223944688454352081566417484281323848117875007109620463987766967028651342\": [\n \"68388437907011921057418912862300937157939574103211140017153206652132051593\",\n \"1\",\n \"1\"\n ],\n \"16531496352314815989740287375834707603608392373952741316922552715381490567265\": [\n \"5161223944688454352081566417484281323848117875007109620463987766967028651342\",\n \"17245599130032751645745258828023717032190476877710251421495255301900842220658\"\n ],\n \"11357448440242981329590528111294044784861079459578006151622353706880473348686\": [\n \"16531496352314815989740287375834707603608392373952741316922552715381490567265\",\n \"0\"\n ],\n \"7370992637907298300358387239005407534967854986702546897632959646871331874455\": [\n \"11514365298866008977370748671960188336868674222924726917564511405713532063969\",\n \"1\",\n \"1\"\n ],\n \"9667359573219075555873749960339602382697901168584952040213752652715261266906\": [\n \"17718829220842166215820484745907540670931720772598471080630185770996763512674\",\n \"1\",\n \"1\"\n ],\n \"13605818055213315938345316806676181157001190759632954199987570992754600127002\": [\n \"428332836763430228746317522070619015109658566680272190137619035165872326763\",\n \"1\",\n \"1\"\n ],\n \"224178711299477050601876097425479523995864557069218325803081029762625155599\": [\n \"13605818055213315938345316806676181157001190759632954199987570992754600127002\",\n \"21605426956738533389065476657615352760436077359629389265996427344650210295875\"\n ],\n \"8840726407704580713958073243772606929589224012571492570228691501621818937314\": [\n \"224178711299477050601876097425479523995864557069218325803081029762625155599\",\n \"1977938430018486408757074223952461328476109353132301106599067105536151586903\"\n ],\n \"9159883001570247617708403880339806540782468641311245219576916527788898029981\": [\n \"0\",\n \"8840726407704580713958073243772606929589224012571492570228691501621818937314\"\n ],\n \"3241054759991978525261128126473415479888283410324481732034182222555586690751\": [\n \"11938281924014575099317467280530702542644311768461773400340027539090756587672\",\n \"1\",\n \"1\"\n ],\n \"3444815506475267455897716050616544939014422152451847592905037185677665964419\": [\n \"7780386354541255930240470228268110692452563763053741288199851960607391287558\",\n \"1\",\n \"1\"\n ],\n \"9112939784557460287379634296271138533179316361053901396123875660755805410916\": [\n \"3444815506475267455897716050616544939014422152451847592905037185677665964419\",\n \"8301647057064848850054323772592901101861273987002078958081468629745242250009\"\n ],\n \"16133484786363517669967158032507075671125436271360803080408036904198781378640\": [\n \"9112939784557460287379634296271138533179316361053901396123875660755805410916\",\n \"18879055767173346398842732439420613428758839379957925639644412722516456671683\"\n ],\n \"20030010085252976368438282803719829438919497253726975210599041534470160641936\": [\n \"16133484786363517669967158032507075671125436271360803080408036904198781378640\",\n \"0\"\n ],\n \"14274944624325854995339140198020572865932981613998789571962343592640872307243\": [\n \"20030010085252976368438282803719829438919497253726975210599041534470160641936\",\n \"0\"\n ],\n \"3878092962365751645867829000705513581877354541984107695930519862943194808597\": [\n \"13039562491467349908706761415199949298445185485076515899749115397787773517425\",\n \"14274944624325854995339140198020572865932981613998789571962343592640872307243\"\n ],\n \"8612226241133344324007208466773633355680668180341967793855181351232804663098\": [\n \"3878092962365751645867829000705513581877354541984107695930519862943194808597\",\n \"18643029432520591937733784630079602300895596360376872247882502398415186594491\"\n ],\n \"577390768986844285961187532197811708410312366143570670896176504646391639185\": [\n \"19513691142017010392232268420721914363571600951666490500082214511004260434648\",\n \"1\",\n \"1\"\n ],\n \"13869873843524309115173735508888839858997748838651665755964861504080260801538\": [\n \"6179183911442896352584200222050854027405741862937626949544139540906218297435\",\n \"577390768986844285961187532197811708410312366143570670896176504646391639185\"\n ],\n \"4465131421893307856799078412054887868307098593874632868765957803306168063614\": [\n \"0\",\n \"13869873843524309115173735508888839858997748838651665755964861504080260801538\"\n ],\n \"9176303695730636543715321514111157896108874009961839984603029151051211903152\": [\n \"4465131421893307856799078412054887868307098593874632868765957803306168063614\",\n \"0\"\n ],\n \"15639105930420847341204393476807659475756520905981750452275362592209247858765\": [\n \"9176303695730636543715321514111157896108874009961839984603029151051211903152\",\n \"6550410577615644903705682984705858022043790451721126804928800483870868195646\"\n ],\n \"17264963824873226366928087514278723541639250113652583595594718448402588878739\": [\n \"15639105930420847341204393476807659475756520905981750452275362592209247858765\",\n \"0\"\n ],\n \"10533120714053633187212633942136927726834406732018746170918679511289146133696\": [\n \"17264963824873226366928087514278723541639250113652583595594718448402588878739\",\n \"15837727434753422802609200181006684213974812857610593625723842775894608566936\"\n ],\n \"14429299260818765972568047456268852606231150196772449251863548188270265385710\": [\n \"10533120714053633187212633942136927726834406732018746170918679511289146133696\",\n \"11251596606670399890956462116004738214414193001587160498538210982775607463301\"\n ],\n \"17886844902917861614725961228126883866954036894524485722891319589160105392684\": [\n \"14429299260818765972568047456268852606231150196772449251863548188270265385710\",\n \"10093382250824172177386178272759396065311060147017021032721964449674046492675\"\n ],\n \"8731844803263336549984839961231202695517452769846130704806995850081965315540\": [\n \"13919477028564520074078833487952029079047793970183770600750239108606418544237\",\n \"1\",\n \"1\"\n ],\n \"10880448344786927111500658965412220496186743169394651034981052527902891457641\": [\n \"2343697124430280905219751331969041118809612187379137764942361858179352207808\",\n \"8731844803263336549984839961231202695517452769846130704806995850081965315540\"\n ],\n \"1159030694826928973990367631729337905693197755691456393911390111906098079033\": [\n \"0\",\n \"10880448344786927111500658965412220496186743169394651034981052527902891457641\"\n ],\n \"14225692981387469015568761681524769195854610582586403985664679618336586927963\": [\n \"14368684446438861994267359643195596973481043721262046238083082006288933440608\",\n \"1159030694826928973990367631729337905693197755691456393911390111906098079033\"\n ],\n \"7487190360137007717891136118709219436413939338952764797454390783158169053800\": [\n \"14225692981387469015568761681524769195854610582586403985664679618336586927963\",\n \"0\"\n ],\n \"18172422946182269160753453388391546629761563222582014365768008018991869420135\": [\n \"7487190360137007717891136118709219436413939338952764797454390783158169053800\",\n \"0\"\n ],\n \"13249879635557367695554067235734657089474891351949758092587925884673643219892\": [\n \"21448290836794423558530569982622399728293002043007000036439983369003620487726\",\n \"18172422946182269160753453388391546629761563222582014365768008018991869420135\"\n ],\n \"18282084753873151722051091644810463617586908296006361049395396744866822699212\": [\n \"14913363038574291443848138269317597751831309203389844425222158409824934632228\",\n \"13249879635557367695554067235734657089474891351949758092587925884673643219892\"\n ],\n \"4883465625187583257058673982679504148168339124623693931629055495847499084852\": [\n \"411328230174472726946485050761118235063709204900087596855149425250627664843\",\n \"1\",\n \"1\"\n ],\n \"21182166400481500782723294967176906314887226882747558271321131394695291814005\": [\n \"4883465625187583257058673982679504148168339124623693931629055495847499084852\",\n \"11126561178313610520667306840556245652138209066225783720519791218239904780889\"\n ],\n \"5531256724157072499470844247208772306959932891972031602925104944244601247116\": [\n \"0\",\n \"21182166400481500782723294967176906314887226882747558271321131394695291814005\"\n ],\n \"19332553065940738432476948946749267582040867199322855066128696371267090544684\": [\n \"0\",\n \"5531256724157072499470844247208772306959932891972031602925104944244601247116\"\n ],\n \"15925590374682384603856760128004410746557819364782394401522132296281504020233\": [\n \"15843816760571405961539669896762486005739140879103151472208721907315491792196\",\n \"19332553065940738432476948946749267582040867199322855066128696371267090544684\"\n ],\n \"3930850896955743947813253470184916160443968781219997988365554475688583210182\": [\n \"15925590374682384603856760128004410746557819364782394401522132296281504020233\",\n \"11239487471630840543358935117160776471766498319919001908288773948866588172747\"\n ],\n \"4013085678813978931210681030914608012558656980303413639536456524314394541513\": [\n \"245810030235204416201598104934613658745087304661416961772388084102390766469\",\n \"1\",\n \"1\"\n ],\n \"6120069385892197426973048121025288151581123558195454960493693102885018746346\": [\n \"659066484122773508870517495255318024027546053322280526619128917075585860402\",\n \"1\",\n \"1\"\n ],\n \"15402430414679438989850945920242235666328271413435122292293314780457536144970\": [\n \"6120069385892197426973048121025288151581123558195454960493693102885018746346\",\n \"13080682926699457707285435479423792553568985689192139658534945916673456125655\"\n ],\n \"1063849612829931428966533792834660949623591200780488413915896690584379421385\": [\n \"15402430414679438989850945920242235666328271413435122292293314780457536144970\",\n \"5816850938639200281294895877384809699390803950474602268740404469856357368439\"\n ],\n \"986756549694338022991137484777529445429398374667055165746024739179156894183\": [\n \"1063849612829931428966533792834660949623591200780488413915896690584379421385\",\n \"0\"\n ],\n \"12853861195052484695098903325565481544915064364153014601336143809668003696668\": [\n \"986756549694338022991137484777529445429398374667055165746024739179156894183\",\n \"1323204962961864754691934016200448691148571096172009168248155948648413463713\"\n ],\n \"19984387552256194999438356130939708916412381084279905483050663495289779518294\": [\n \"12853861195052484695098903325565481544915064364153014601336143809668003696668\",\n \"3231694945445700884257999707574848731500309009483341986821326681982398852658\"\n ],\n \"7979882364681328898308050453657839645303876488497835625695223907560882207179\": [\n \"19984387552256194999438356130939708916412381084279905483050663495289779518294\",\n \"4999682646654583182260747488075443168339193346615983890295261383820032186191\"\n ],\n \"18332198905016067708148020452795648863079265343958819367721824767081447602359\": [\n \"12331825962193206256955208372109626763306927790978951865703054163545353183254\",\n \"7979882364681328898308050453657839645303876488497835625695223907560882207179\"\n ],\n \"6448708828680911061314499156764359717031554378710213760640163578281406812119\": [\n \"1662799621840581288187009190367406034343209672752710156236768279828573295825\",\n \"18332198905016067708148020452795648863079265343958819367721824767081447602359\"\n ],\n \"17903213431379345936327021691605964372720014471621098347708486107368632916264\": [\n \"9007468362111450754916225232495233098313773780428570687583942303080828966118\",\n \"1\",\n \"1\"\n ],\n \"507440376057663645921976734762834441260569544807200646618345285180160859623\": [\n \"18609380483115172531667200581332483588585839324873649573546305993658042418829\",\n \"1\",\n \"1\"\n ],\n \"8483470187605373799503608719296962318426699881071336084753464493796657307883\": [\n \"6625499689927621900860667447658100112610510833946251112332828613882131506832\",\n \"1\",\n \"1\"\n ],\n \"19901342160631689308646716033389390268930878915180390352171646804493849939031\": [\n \"8483470187605373799503608719296962318426699881071336084753464493796657307883\",\n \"5211884051521575637300160193186892914898975904256387058433000324505183349499\"\n ],\n \"9404464884149373595699093080243929729033976486492871530362329287726437139136\": [\n \"19901342160631689308646716033389390268930878915180390352171646804493849939031\",\n \"16380013910193201515945772629045438352834606748363742508568867105695768084989\"\n ],\n \"14272724877491839996459261879041868062792167823503207316219092239264895089447\": [\n \"1225579925337740678087807367909567880689476426829632745668647147011993093580\",\n \"1\",\n \"1\"\n ],\n \"18840573326738901182697787632425175596551946524008738587063814226943658490443\": [\n \"14272724877491839996459261879041868062792167823503207316219092239264895089447\",\n \"11607653978907217076923615927677900041253992957381002416168389576899244135082\"\n ],\n \"6158177938645801693780562509512625721327389294756648341361657052140887692222\": [\n \"18840573326738901182697787632425175596551946524008738587063814226943658490443\",\n \"2399700592289608466041235327457904691476029294799750470491750593418473670013\"\n ],\n \"21560802573992198486648247038827587409912148763261009040910170402215395747011\": [\n \"9339846928851379741092716178369441349964043731372413283002460574842755247388\",\n \"6158177938645801693780562509512625721327389294756648341361657052140887692222\"\n ],\n \"11789596191628638478364859238978904836602337729673092250238605328519298513319\": [\n \"11692649128035704653294506391109466199714612555046741125902469116149618584361\",\n \"1\",\n \"1\"\n ],\n \"16121400435912529358891908822495019093776007649224293935649861373132972597871\": [\n \"11789596191628638478364859238978904836602337729673092250238605328519298513319\",\n \"17484953042749376139825513271995419341173193865075519254286434594278909587689\"\n ],\n \"1400173454038630769714414748537864293856379659217673972631903837797051217317\": [\n \"8127478814417373484597672845554624889852531927109325135145799940457740232386\",\n \"16121400435912529358891908822495019093776007649224293935649861373132972597871\"\n ],\n \"10758276731342810546284435445611138262112838749169737132956346874066890466480\": [\n \"21350054839522575114982582250443920353227916629815513301603009630961569713086\",\n \"1\",\n \"1\"\n ],\n \"19637330924807141535455788015186547043869556517268405647548174130121393007234\": [\n \"10758276731342810546284435445611138262112838749169737132956346874066890466480\",\n \"6860104803260020899041001126558568156750322808909177978182714982236097548645\"\n ],\n \"18403797610769941269303288742500028909879335537537584739709417277541705672647\": [\n \"17949225188986818845527147842214288408587827481785619100100871981958989879440\",\n \"19637330924807141535455788015186547043869556517268405647548174130121393007234\"\n ],\n \"20364901156057493475272524822880086145863148537463703772048065031775195249958\": [\n \"18403797610769941269303288742500028909879335537537584739709417277541705672647\",\n \"2009118087812266314753372627442649550500243490481356706284346172177152898525\"\n ],\n \"17462715868761647047896057102600253805924153640482156455888101151520809344583\": [\n \"324048053258138281069979516063587370805935478076351900013130342671509559627\",\n \"1\",\n \"1\"\n ],\n \"19509297936383109847032158011480343256083259297606974587023839643381913173538\": [\n \"11966836802179103424096734421802143814768425711209928213391752132460723503445\",\n \"17462715868761647047896057102600253805924153640482156455888101151520809344583\"\n ],\n \"15541679001725254626101203726201514492265273643393821726375320074411955452061\": [\n \"19509297936383109847032158011480343256083259297606974587023839643381913173538\",\n \"0\"\n ],\n \"21579201327571495897027750844162558916207446233893264495102674606677949237653\": [\n \"0\",\n \"15541679001725254626101203726201514492265273643393821726375320074411955452061\"\n ],\n \"6394037817125758561740896063779236759909430688440657290617162807551866045217\": [\n \"0\",\n \"21579201327571495897027750844162558916207446233893264495102674606677949237653\"\n ],\n \"2508588522847929789428577945967148369341423128910003588252150425716765672758\": [\n \"6394037817125758561740896063779236759909430688440657290617162807551866045217\",\n \"0\"\n ],\n \"21256596586572352900553318553416893106701617923642293831438969619039444266185\": [\n \"2508588522847929789428577945967148369341423128910003588252150425716765672758\",\n \"0\"\n ],\n \"18199606696830885062009905021201755818134870803564736556929245902800123094123\": [\n \"21256596586572352900553318553416893106701617923642293831438969619039444266185\",\n \"0\"\n ],\n \"2587530696767108372243611618916386657623595770409465541040482705099778055577\": [\n \"4498869714934099572776502076465232822551076253230216440931848574191846593608\",\n \"18199606696830885062009905021201755818134870803564736556929245902800123094123\"\n ],\n \"7771853096973143593421536447135369905914689743695170273457938767297881749821\": [\n \"11627240953315011787775852987385031479314959886004053307027597716893050573032\",\n \"1\",\n \"1\"\n ],\n \"3029083754129163180143853897746322569303303772440016494086293192093163765727\": [\n \"7771853096973143593421536447135369905914689743695170273457938767297881749821\",\n \"5162708011269360249073323361199995846195302996129127475865165838191192928951\"\n ],\n \"15400212327488052251425562131919073894504459570605623796351022664260683067578\": [\n \"15699034053302372839922811664144151023342041253514228395780884178247768664812\",\n \"3029083754129163180143853897746322569303303772440016494086293192093163765727\"\n ],\n \"11644570347922969516993077079353830999284567458764838787292853015847593681724\": [\n \"15400212327488052251425562131919073894504459570605623796351022664260683067578\",\n \"153302214416599022552210942818419269230037854386771530127634919172024552377\"\n ],\n \"4303576270574137158723647697372296160004525962376905358615255019303204682363\": [\n \"11644570347922969516993077079353830999284567458764838787292853015847593681724\",\n \"14009000947025306771160587852377320255212088906544060616355997464115603540992\"\n ],\n \"8658744788931050382139214201769508557119627570518900418794546446706201144043\": [\n \"13868099117565594762676903595906430134578081277112638871082233874960764808534\",\n \"1\",\n \"1\"\n ],\n \"14416628783639617023132992925378659675005501668442201717963727989283843854914\": [\n \"19464047043001231576456986291777233970736969831528788315430928949435600955973\",\n \"8658744788931050382139214201769508557119627570518900418794546446706201144043\"\n ],\n \"6761938762901230662463684279196751692874523014726713542327414561135604691409\": [\n \"14416628783639617023132992925378659675005501668442201717963727989283843854914\",\n \"0\"\n ],\n \"15551418505902419803136624607607929110821476628726320244634265597276650171511\": [\n \"9947424361794129135105140513244242294139541114070554933891419454264272395071\",\n \"6761938762901230662463684279196751692874523014726713542327414561135604691409\"\n ],\n \"8664874029762767878455558113209510115525542048230056101960407120931302270082\": [\n \"14628881490084929864158077748639452302045761943870614431161706265927313428904\",\n \"15551418505902419803136624607607929110821476628726320244634265597276650171511\"\n ],\n \"15868566056788148634979927685520718232653177095557993852646533891277843170877\": [\n \"2245639822089177346287166802122259803630388733718997124157063617903014591441\",\n \"1\",\n \"1\"\n ],\n \"7126298599753068800556167959118374234955242044128639721728334165078807262472\": [\n \"15868566056788148634979927685520718232653177095557993852646533891277843170877\",\n \"1764138329669916806931259706751198600462817734266414955970963337391845459737\"\n ],\n \"4920767529068521541198983531242475106719577879397811098832449856460439826344\": [\n \"7126298599753068800556167959118374234955242044128639721728334165078807262472\",\n \"2649156615880661169498651616422892879751810314630143306535041466746877752141\"\n ],\n \"21650442572551970776609846238935537116591419833135354314295175509910209404636\": [\n \"4920767529068521541198983531242475106719577879397811098832449856460439826344\",\n \"0\"\n ],\n \"18796421462825628562526399654499772898963662290891022694287581644860112933589\": [\n \"21324552602842328364961665078601037175377880996634526233675883002827667438468\",\n \"21650442572551970776609846238935537116591419833135354314295175509910209404636\"\n ],\n \"10791544553538225511513069534477134273588193253538562824241835915575756774516\": [\n \"8372750393620031044395148881731643364783070901632484697630423794143344678616\",\n \"18796421462825628562526399654499772898963662290891022694287581644860112933589\"\n ],\n \"15542728624410265661562474319276895890643337023137823669178418045886307594463\": [\n \"8486400337288237844465497272539275870093241977556426843067484956397729614971\",\n \"10791544553538225511513069534477134273588193253538562824241835915575756774516\"\n ],\n \"2618939120321295195780374291380777853178015747077087319546799851082577453636\": [\n \"15542728624410265661562474319276895890643337023137823669178418045886307594463\",\n \"20390968303132717685538965925922289935662997934926640522194313031322414472343\"\n ],\n \"19266674056342289270294444124076677326334609967298573599001535503650485377255\": [\n \"11325347226261707227281477425214860515801717005289468586240828633859074349124\",\n \"1\",\n \"1\"\n ],\n \"16373886325491656033882613564700425670899429083987146104981270450551427459028\": [\n \"11409191165009762232164393342723685212892468113299362461532941696868403926001\",\n \"19266674056342289270294444124076677326334609967298573599001535503650485377255\"\n ],\n \"8264053030120997708229998163568773518402367788120477856723347829804200475363\": [\n \"16373886325491656033882613564700425670899429083987146104981270450551427459028\",\n \"8606514843608629615369101142087658191199117146454712655913776036744881833496\"\n ],\n \"8054425592567789333862521966383324661584846438066669922926283154288744119915\": [\n \"18430596197617555793151151690024151659894438668986100169471259759843056222964\",\n \"1\",\n \"1\"\n ],\n \"10118721588847326080802631356550689489155072221092531536308489524364161647445\": [\n \"2291876141535256191590236848429227475579514409920507313399859931553927772095\",\n \"1\",\n \"1\"\n ],\n \"8103315417092562055841807083883375612449105781928802878440941948534143997090\": [\n \"10758924477065295154020892789288617198458630029920339699849931110326858226717\",\n \"10118721588847326080802631356550689489155072221092531536308489524364161647445\"\n ],\n \"9158634013145704090776575088443719600253656563836164273064597089870750469332\": [\n \"0\",\n \"8103315417092562055841807083883375612449105781928802878440941948534143997090\"\n ],\n \"10508771598142050812041132598794292835002438186914191563943792736282124195771\": [\n \"9158634013145704090776575088443719600253656563836164273064597089870750469332\",\n \"18198597477883963025599753031222973410826019238071415355474041376984953455925\"\n ],\n \"2799085846347182642178929032079243070145568884847255108978428212436418698440\": [\n \"10697542377945870963140491498021452128411319665504809598233840351018049807457\",\n \"1\",\n \"1\"\n ],\n \"5204221050521635148261794237991780572244399261354255398976400529120256213872\": [\n \"10945789031056970577553387971395001106229367140516900817348350502488381705409\",\n \"2799085846347182642178929032079243070145568884847255108978428212436418698440\"\n ],\n \"10829612249146974651419636957743803314111804955898261042042573784521891444607\": [\n \"5204221050521635148261794237991780572244399261354255398976400529120256213872\",\n \"0\"\n ],\n \"19357522796961528701803060556863638491463653517771644813343434065961519550180\": [\n \"10829612249146974651419636957743803314111804955898261042042573784521891444607\",\n \"17869664597426480224972009246476028450781450618944784060888611157020311042145\"\n ],\n \"11922320281961141053243179808818103698001833613699239130513999230456354567162\": [\n \"15507709128795459296428226742773994838789481479486992634472088808463444948992\",\n \"19357522796961528701803060556863638491463653517771644813343434065961519550180\"\n ],\n \"5857855892628820640922055253873461374522513607469652168323854587902610257295\": [\n \"11922320281961141053243179808818103698001833613699239130513999230456354567162\",\n \"817887998302300118838298932391212582260113820036110062575400263741354034046\"\n ],\n \"9836456774834610289739356741934393263720686401599790711223664824294943493567\": [\n \"20058488626940907428400336320186141445463920482640133180014225169719441838253\",\n \"1\",\n \"1\"\n ],\n \"4511629545481109213440752628564327120555152781439393812057377793900786614193\": [\n \"9836456774834610289739356741934393263720686401599790711223664824294943493567\",\n \"7879688653426072051269451981891196973856198717159330403478635801401031594200\"\n ],\n \"4935610743775342406458556704188723022476071984195637069836018181836740245939\": [\n \"0\",\n \"4511629545481109213440752628564327120555152781439393812057377793900786614193\"\n ],\n \"9072742602339081860670381194571266639293612493796504718775992794669180750923\": [\n \"4935610743775342406458556704188723022476071984195637069836018181836740245939\",\n \"0\"\n ],\n \"4590920589785989988168808173301364219641165452988770331615022054517532170759\": [\n \"12944534043680154091152541379626968395308913289901558126942702712407970971230\",\n \"1\",\n \"1\"\n ],\n \"7613744728093089876135902520694585844209790940529456635863906393572105023204\": [\n \"19752944077445601603650688263516776963581505345600503399319788258743501500138\",\n \"4590920589785989988168808173301364219641165452988770331615022054517532170759\"\n ],\n \"8744665482880281531987595024923258047047761769894665000731987560072501775701\": [\n \"12873328469091363521052445006512710370109673311283881597960395778274692648555\",\n \"7613744728093089876135902520694585844209790940529456635863906393572105023204\"\n ],\n \"21077458826686490204817186471734621193453351319694813531896322094802274988883\": [\n \"35224589662431368528176044964867030015614239400709955673663603956739879651\",\n \"1\",\n \"1\"\n ],\n \"3349030584909455280140227004943374388262548603332024844717776525608136725988\": [\n \"21077458826686490204817186471734621193453351319694813531896322094802274988883\",\n \"9155087784289926418063825210568109333487256408097592234104330130049143917651\"\n ],\n \"10358571535875461131251072082262374683166100098108643980583785208080647559357\": [\n \"14243217030501880208853196749257887992229826610837314738098048408451490062721\",\n \"3349030584909455280140227004943374388262548603332024844717776525608136725988\"\n ],\n \"17273016444144985115335918958233931090025831289511288742634930503116242655336\": [\n \"0\",\n \"10358571535875461131251072082262374683166100098108643980583785208080647559357\"\n ],\n \"2629519566400991753079448845949348527531514527934856209250116366130671391618\": [\n \"17273016444144985115335918958233931090025831289511288742634930503116242655336\",\n \"18913043485941340117267635472921824598305530272951170193266755553138792032356\"\n ],\n \"2567227778065823544177895960615786981837450716635898755866024635792339097177\": [\n \"2629519566400991753079448845949348527531514527934856209250116366130671391618\",\n \"21230439508240660169962114589744203245917970604419177871246290431497366607270\"\n ],\n \"496261976031026146342294277259342401261991285806514234853779327876155339546\": [\n \"6843189166070231595877514383169986483782783582170967418903543355564168408440\",\n \"1\",\n \"1\"\n ],\n \"20794330428267381217058278166972463907255471480495946420449275909537939984154\": [\n \"20611807278967071751202987765999552594562371747137721828503004249644558550989\",\n \"496261976031026146342294277259342401261991285806514234853779327876155339546\"\n ],\n \"3150294117065095894963077227104239255615185517285719895952854766332817625715\": [\n \"20794330428267381217058278166972463907255471480495946420449275909537939984154\",\n \"2971210383443610919151012078863541397479701911998650934622530962785196713039\"\n ],\n \"8884400063747348705157063361767983324670083745483855796681174634286009051811\": [\n \"3536016242988001913506102845473535424564751156989283272869028254929589671895\",\n \"3150294117065095894963077227104239255615185517285719895952854766332817625715\"\n ],\n \"6229711717312362259086152443207818324382232817066618231910123930444432293410\": [\n \"19026632123549968087434782039229651295435916107842919224655380540239901545449\",\n \"8884400063747348705157063361767983324670083745483855796681174634286009051811\"\n ],\n \"8962128177580967164766375863265246654588697394150719422384794724899977833868\": [\n \"13731900160612248542472050840856098153289774540393031821134339857409741694089\",\n \"1\",\n \"1\"\n ],\n \"21567384708656598913609554882509134048736022869803923212155673878217849016359\": [\n \"4594539787982507871472848954329407207372061553619564240410025963039176083613\",\n \"1\",\n \"1\"\n ],\n \"8394541495113181410298322546937594575703815505084343814430406829291284158659\": [\n \"21567384708656598913609554882509134048736022869803923212155673878217849016359\",\n \"13419267769283924871451342270662708637892709660966534182556749058451203520980\"\n ],\n \"17808595807073128304324027220318575084602525632462483076929641909767357995592\": [\n \"8394541495113181410298322546937594575703815505084343814430406829291284158659\",\n \"0\"\n ],\n \"13691137959501387369225583289532799286623557722832270196169412162708928225370\": [\n \"0\",\n \"17808595807073128304324027220318575084602525632462483076929641909767357995592\"\n ],\n \"10749872332917971000110122009125194325528073405762091959538001795106721445083\": [\n \"13691137959501387369225583289532799286623557722832270196169412162708928225370\",\n \"0\"\n ],\n \"20489634674481303253132722074214769706387324517668825522175646894848669139592\": [\n \"0\",\n \"10749872332917971000110122009125194325528073405762091959538001795106721445083\"\n ],\n \"16732155449915748803268684371383992351959237364828723329176940647712594429474\": [\n \"20489634674481303253132722074214769706387324517668825522175646894848669139592\",\n \"0\"\n ],\n \"18783265364357856219355252044742601768313553268364226724811301809060525964102\": [\n \"16732155449915748803268684371383992351959237364828723329176940647712594429474\",\n \"0\"\n ],\n \"8602052693438621276132105572259766619494094007635300936503405569486273796154\": [\n \"1111280274409065837349889831304050741329767392301573019008877579991626483373\",\n \"18783265364357856219355252044742601768313553268364226724811301809060525964102\"\n ],\n \"4166635928450506163410537444282901870950414898770926451699847748000171751462\": [\n \"14187802335273245931640023852225700117034851733780759976521523813860494270420\",\n \"1\",\n \"1\"\n ],\n \"20456995048130373376594533436427490773039558598469009551016832500702797699983\": [\n \"660976795713877107089911877990872075549622312479707090186858563876296300838\",\n \"4166635928450506163410537444282901870950414898770926451699847748000171751462\"\n ],\n \"1482617188483999775316962122382394702895827865177715030686641832489921454554\": [\n \"21323798410818438240524662243694796077860013186487574033268042347630651494985\",\n \"20456995048130373376594533436427490773039558598469009551016832500702797699983\"\n ],\n \"21719883324559557892662292351209249830556620243088122002586645065374978642806\": [\n \"14137628938997829008035394658667875553922713030817164162246003312527239741430\",\n \"1\",\n \"1\"\n ],\n \"20569072649218652878504367017458027384883293934290157149546469407643464055407\": [\n \"4119796834791800599008851687199367378810909112972518759452213477139972195497\",\n \"21719883324559557892662292351209249830556620243088122002586645065374978642806\"\n ],\n \"14460458858909524138337865383200071514768009353385548690914063746785772760945\": [\n \"21403338222467413930667878261979519573050954352827412672866505563508361555258\",\n \"20569072649218652878504367017458027384883293934290157149546469407643464055407\"\n ],\n \"7949283664392525229901702068759737247180466113033837818771966935738628917621\": [\n \"6744359819292106094902410118290389509675016467648259221643632865197281465823\",\n \"14460458858909524138337865383200071514768009353385548690914063746785772760945\"\n ],\n \"21012136874286826720736174644085777737208506564205109872175931407702362356561\": [\n \"17591492838586370573150817559584050340793369968548523460377844484655986037066\",\n \"7949283664392525229901702068759737247180466113033837818771966935738628917621\"\n ],\n \"14256494050971522621046281864483769653777264275641631335982079850828439529216\": [\n \"19633090804777543604967997580832071385680180087670641917283520327587683123142\",\n \"21012136874286826720736174644085777737208506564205109872175931407702362356561\"\n ],\n \"43981734473930478421311220321616532561066853705055009331505682297670284175\": [\n \"18650228265598868949931632644672519386970402093959211179478291606150359810969\",\n \"1\",\n \"1\"\n ],\n \"7478718518678020258610224986600074092801603391983382452920508945905893256497\": [\n \"43981734473930478421311220321616532561066853705055009331505682297670284175\",\n \"19859204422724856445924548442955257070915941563309941910240197799206738575076\"\n ],\n \"10167106605366138237764231431124079208468008683090188884469219288777993668693\": [\n \"7478718518678020258610224986600074092801603391983382452920508945905893256497\",\n \"20123251925515544729947854114559954009064734973517303196235419166370238175905\"\n ],\n \"7230671022728215955670166944061190402613984620958635780490617192305157129860\": [\n \"10167106605366138237764231431124079208468008683090188884469219288777993668693\",\n \"0\"\n ],\n \"18581851682870424546139840223738333474364289115225244719467155101632811969102\": [\n \"18593194927396924832426734201670768371275356251814936534075482710183864969640\",\n \"1\",\n \"1\"\n ],\n \"9780483690386988034835832527210931014708950910556752768243925178860930175239\": [\n \"19316246821145421177066363660922364442096032001008172093106079707083448739845\",\n \"1\",\n \"1\"\n ],\n \"20919881947484363654969868544539940539759142740382268611688158878546094920728\": [\n \"480151535439077850951175073616131503908418026761966808281099331111967698231\",\n \"9780483690386988034835832527210931014708950910556752768243925178860930175239\"\n ],\n \"14987315369027997170777161373856826640163403453134454119438567824208619749489\": [\n \"20919881947484363654969868544539940539759142740382268611688158878546094920728\",\n \"10296570968984287968806038706368414865465848615461389248170037552343733257108\"\n ],\n \"10315873720896241319080907277225796022736139214584399871550387107478260567517\": [\n \"7552600539376381055200483372481054073824248453944813762855120286610712851456\",\n \"14987315369027997170777161373856826640163403453134454119438567824208619749489\"\n ],\n \"11082710880029180767742571907851015032825475733870542168494726884565068320243\": [\n \"10315873720896241319080907277225796022736139214584399871550387107478260567517\",\n \"11569158241484267708319857176867989967464195060312802159597331853094732627939\"\n ],\n \"2400125128032836113624043964754115838464347656612118674958930266691952333782\": [\n \"8502059763826334591543227583673012246533347420642833425311891259982645852032\",\n \"1\",\n \"1\"\n ],\n \"10099243273665499374643891761139940795237930746600633409816235035584972726724\": [\n \"10519369234212318462180814599980990305365016860593233483104565244598030961623\",\n \"2400125128032836113624043964754115838464347656612118674958930266691952333782\"\n ],\n \"5646003573833011438425049135774606449056230453204399218444214693703180850710\": [\n \"20617102890854897141161354860601212612349629249571278719755030996436771559112\",\n \"1\",\n \"1\"\n ],\n \"18553213221209182844081279216183136186303034763632246877901025391732801419184\": [\n \"17462374608850787965251467570753263283224177429637953105892687568812331396571\",\n \"1\",\n \"1\"\n ],\n \"14749354021194129401449841146008510384094495292278292701827684997015479042200\": [\n \"18553213221209182844081279216183136186303034763632246877901025391732801419184\",\n \"13713792399202132223508996550516743294264824902304025696893359071464614579470\"\n ],\n \"10513781944038649575824077572012654756391706122786331477220177642372427909978\": [\n \"8983851619304057666729577541121504178182359934573559429006346270723484011807\",\n \"14749354021194129401449841146008510384094495292278292701827684997015479042200\"\n ],\n \"21584102557139256894722339938041385726388592906429896519510227870509259019195\": [\n \"13644479288947430018655864198796741394165739732011326993279324255726693935987\",\n \"10513781944038649575824077572012654756391706122786331477220177642372427909978\"\n ],\n \"18999143965860589793723134358499204980852921862988302120667693679874932848648\": [\n \"21584102557139256894722339938041385726388592906429896519510227870509259019195\",\n \"3853505665369132142017563604936628069476895349820679818022895463321407675483\"\n ],\n \"8689118286404705876384162221250933129440770149655187644838369196069523056056\": [\n \"10551560304906187517399319756612053167042552307925286040764352041408674865912\",\n \"1\",\n \"1\"\n ],\n \"21245188634744840642228899665592751314833006100713885185141616499613822969498\": [\n \"20678358303236236774349579032225758554677267609898935504509104641802008649878\",\n \"1\",\n \"1\"\n ],\n \"3676211448376160666720419534104982901683554104785060288594255182654711946667\": [\n \"11985688919134117562310658838467865888699982002822181509009673808384193588225\",\n \"21245188634744840642228899665592751314833006100713885185141616499613822969498\"\n ],\n \"478885909098667103118719777880716568104803589608601015715620601243260999972\": [\n \"0\",\n \"3676211448376160666720419534104982901683554104785060288594255182654711946667\"\n ],\n \"9822871540377842338516001371230257819146054980686161303038760809042848834589\": [\n \"478885909098667103118719777880716568104803589608601015715620601243260999972\",\n \"3300154258964368650255547765094805279355776058106578839276932750246928377445\"\n ],\n \"21563249377732025933781138671550911892226112515391878790222949661120917847406\": [\n \"9822871540377842338516001371230257819146054980686161303038760809042848834589\",\n \"2401076620881995445635297424800535945108566259289596657771002227772826474630\"\n ],\n \"5379858954430409202528988611192703120595959131924898860955919424179704215804\": [\n \"1828944022460270458001331656107945837851888379767631751093629667377997253337\",\n \"1\",\n \"1\"\n ],\n \"9435314080793922231667796147820982951112247123332923884978222574112585809352\": [\n \"18989888040564549438242414480433077182974863352646765698902986633933963001489\",\n \"5379858954430409202528988611192703120595959131924898860955919424179704215804\"\n ],\n \"8102466490513761786089247450343346857279537955288367342793366665281291281950\": [\n \"9435314080793922231667796147820982951112247123332923884978222574112585809352\",\n \"8641582169270758806966453462960403602449327947423759996481559460882964632506\"\n ],\n \"7798709405611833937095402551625990617225733609979519613350245060222277547060\": [\n \"3848854162716571205539667987725486942230006727556806138666040327486507946921\",\n \"8102466490513761786089247450343346857279537955288367342793366665281291281950\"\n ],\n \"7993664341265997293643853567997312937829897421812569776441950085753307365228\": [\n \"7798709405611833937095402551625990617225733609979519613350245060222277547060\",\n \"7252105892049944082466063101149818758804174259081297916050514538896036118381\"\n ],\n \"3493081408949199326737037399772357816791616898427187459749678729430411322920\": [\n \"1144241458724059666538838330962441595910876286351839169504133703495769500152\",\n \"1\",\n \"1\"\n ],\n \"10171280702246259192025899310548809047233949244126007898853869684541185239162\": [\n \"12393904764923389659725312727793542007580382070024691882249724754555216118806\",\n \"3493081408949199326737037399772357816791616898427187459749678729430411322920\"\n ],\n \"9194254008314377085604005501142956859898671433540117561260818105126209082492\": [\n \"10171280702246259192025899310548809047233949244126007898853869684541185239162\",\n \"0\"\n ],\n \"18241489268557511766367936380344473703525655880319429190678021052978663260518\": [\n \"2247142894754290435604575746899529797463425206370270336975312519326240267933\",\n \"9194254008314377085604005501142956859898671433540117561260818105126209082492\"\n ],\n \"18571116419252074458925390248341566539334188742655743917161456657500276811217\": [\n \"18241489268557511766367936380344473703525655880319429190678021052978663260518\",\n \"13896953269284949908035622542224913752539153296219865491676739708739129138423\"\n ],\n \"13851590990293839428334582048983871762507357388319751213656293719015715739311\": [\n \"15869439024451089034032368025407386115553609848184845086214952655498295706425\",\n \"1\",\n \"1\"\n ],\n \"14296951106972592371021830976035057217867040458200744799523282920757746751298\": [\n \"4333159416669443631360107802825567135860634023333316184306158381011809713860\",\n \"1\",\n \"1\"\n ],\n \"8741586450548744946975123240307036255237787725983581127981293096010277196627\": [\n \"6814738649775231885069068359763509262457306264960309257291731972813373829618\",\n \"14296951106972592371021830976035057217867040458200744799523282920757746751298\"\n ],\n \"20858903150035176721128485133033789783910979028210092607257668601693764957797\": [\n \"0\",\n \"8741586450548744946975123240307036255237787725983581127981293096010277196627\"\n ],\n \"11428470410955931538740802053288815215099258208446095159523321012840869422298\": [\n \"14945496198814696905250510355702469050200021114670431128858433933889524795737\",\n \"20858903150035176721128485133033789783910979028210092607257668601693764957797\"\n ],\n \"20709914865718569786485333373751599763967026618071537187051720966424755816674\": [\n \"9281502991744622251074869706089441039063366725467804173467760562342081587743\",\n \"1\",\n \"1\"\n ],\n \"855152261544316457629937474252623239824402266165494888324424489465611442084\": [\n \"7684184279005174015229388357798007774992725029299690269340576259409615823557\",\n \"1\",\n \"1\"\n ],\n \"1404392854690116051253813242660430769813589189204394635979488673888254021293\": [\n \"14868920878058970113708678203498825131327627391427580941875070441153373820014\",\n \"855152261544316457629937474252623239824402266165494888324424489465611442084\"\n ],\n \"2670742076129019881301995080581451035557921818378185445002829562710289035595\": [\n \"1404392854690116051253813242660430769813589189204394635979488673888254021293\",\n \"0\"\n ],\n \"7848698163025291595401676085811066970884102825484959398989164007038309803388\": [\n \"0\",\n \"2670742076129019881301995080581451035557921818378185445002829562710289035595\"\n ],\n \"20221263404607366546588171102835288155183283780712819091630361741392373512768\": [\n \"7848698163025291595401676085811066970884102825484959398989164007038309803388\",\n \"0\"\n ],\n \"11544281893410995419578740509830683859955840445085238757742647878413826839623\": [\n \"20221263404607366546588171102835288155183283780712819091630361741392373512768\",\n \"3106178935802498763235430078692154473142233654509230752431833818197073501965\"\n ],\n \"6240206572412001282610549299771993756356428450745406625939172464239222734107\": [\n \"11544281893410995419578740509830683859955840445085238757742647878413826839623\",\n \"0\"\n ],\n \"14791489105787607700237968469816045827113574441910628731205344798169041657966\": [\n \"690777387911197628399483709655724008568277920311895971039522743153688202340\",\n \"6240206572412001282610549299771993756356428450745406625939172464239222734107\"\n ],\n \"19972237320289335743703896090618347479911514348632528277506771355894671176126\": [\n \"3383521736492260091528191871901685001683816793250058887706153094594195544401\",\n \"1\",\n \"1\"\n ],\n \"12554021293871612695535098861359077501630251442925239491466852613273232015200\": [\n \"19972237320289335743703896090618347479911514348632528277506771355894671176126\",\n \"585409632429073589121326714014812974990557693885028562003380501946945294839\"\n ],\n \"2565594518503801718066413463102590706722712089296707859141978788004388202423\": [\n \"10777223201408316603386104747392650342307441550743519567030550232978763403646\",\n \"12554021293871612695535098861359077501630251442925239491466852613273232015200\"\n ],\n \"4631837528548284816591909187348752071351353880283430343382351434969760601396\": [\n \"0\",\n \"2565594518503801718066413463102590706722712089296707859141978788004388202423\"\n ],\n \"3679423436727014509709660965281178082030736203124801089510269147319980032633\": [\n \"4631837528548284816591909187348752071351353880283430343382351434969760601396\",\n \"20574600940169581106630307115183987641899213061604637822235566460900910182590\"\n ],\n \"10352533211895600494362969132509719942102570774138528096538674265297117958333\": [\n \"17486879702966136899839640226182224173376511049750625106937841854677880633598\",\n \"1\",\n \"1\"\n ],\n \"11533246163652112094384187673707764148603573588426426801493840567145612220069\": [\n \"18439430038937807641502276501735543574043039160824776124534429104421252993266\",\n \"10352533211895600494362969132509719942102570774138528096538674265297117958333\"\n ],\n \"3461886513389942272543128751939432386534287633420523735281985618757797377420\": [\n \"21489816446636157916254804816762156374966654262055513396440091165917326344860\",\n \"11533246163652112094384187673707764148603573588426426801493840567145612220069\"\n ],\n \"19463628995348969767277915709323594714913959106400322501030915375532339892081\": [\n \"5508938846522615384272448464866461912344418373813866977238714438442768462047\",\n \"1\",\n \"1\"\n ],\n \"14512489630828952317695373933283774402395163632125360421741231537532596163957\": [\n \"15234311539928099325498785760638011518679669140436757339921610121906808548936\",\n \"19463628995348969767277915709323594714913959106400322501030915375532339892081\"\n ],\n \"11019612915473230173655112486428139756470891093094573306772979748411824981333\": [\n \"0\",\n \"14512489630828952317695373933283774402395163632125360421741231537532596163957\"\n ],\n \"3256090608235951394356228007712905902688412699502081663685535002731446440462\": [\n \"0\",\n \"11019612915473230173655112486428139756470891093094573306772979748411824981333\"\n ],\n \"1949451497493120471861842070574581048717434427250460819673690532595765330608\": [\n \"2741922304732912771020108750456998558359712419978707060070632671419701010707\",\n \"3256090608235951394356228007712905902688412699502081663685535002731446440462\"\n ],\n \"2627638260862071379973228940270865944935279194994900412895517385658361342249\": [\n \"1949451497493120471861842070574581048717434427250460819673690532595765330608\",\n \"18019698115315967752428997127609707785867886328109757419180309015184779886961\"\n ],\n \"14129337263807872691496645306496144222809235304482272324191419180992157140479\": [\n \"17076779090350855671875966624864522886887879971066476161385275236938262576587\",\n \"1\",\n \"1\"\n ],\n \"15269955418045586083625826522983091197809570011546439268588088566504740734092\": [\n \"8691092135502016346384464019341910966461999921437954675564943364304573190369\",\n \"14129337263807872691496645306496144222809235304482272324191419180992157140479\"\n ],\n \"4773250795330872524215048636087307585478207089883201549942910813215664715510\": [\n \"18328391282647363889511493195016025379538326936955737431844219998705446172193\",\n \"15269955418045586083625826522983091197809570011546439268588088566504740734092\"\n ],\n \"11799663682807741956087114501600184492608822993042864945828821921174560953129\": [\n \"4773250795330872524215048636087307585478207089883201549942910813215664715510\",\n \"3930850896955743947813253470184916160443968781219997988365554475688583210182\"\n ],\n \"3928367913304762789140739258970310705117186816302984282263508205268462154839\": [\n \"19659045317215356612853892025048374053715543723350909669880718282472517380147\",\n \"1\",\n \"1\"\n ],\n \"10986104691225715110080826363760604961037952612615467011545072179378125796964\": [\n \"15917539876772666683770056186966562547155591929310127948582171501441578423831\",\n \"3928367913304762789140739258970310705117186816302984282263508205268462154839\"\n ],\n \"1176728096305030466599696353009219803398561546943791278277929389857846122743\": [\n \"10986104691225715110080826363760604961037952612615467011545072179378125796964\",\n \"7139389074759993678171318870957298794843244125564434639144141647076449875573\"\n ],\n \"13657546690431412540459202367368386716729221557205251929959285381601476641500\": [\n \"0\",\n \"1176728096305030466599696353009219803398561546943791278277929389857846122743\"\n ],\n \"9143414053346985664164386745013777438232625603253336729328805078579956454394\": [\n \"13657546690431412540459202367368386716729221557205251929959285381601476641500\",\n \"21278668871683947865423310360455279567556386489049730051917468416238685171759\"\n ],\n \"4524909742763166254928612365035708912949188167312455115617059557116917106193\": [\n \"8529520857130437013996681124768175081159985014476480565933835510246859088850\",\n \"1\",\n \"1\"\n ],\n \"19295969231042954485613029418443762550210760119196605879642765007223666562138\": [\n \"17409500603070377177174440658607079950811835240982477002234674469854426978625\",\n \"4524909742763166254928612365035708912949188167312455115617059557116917106193\"\n ],\n \"8936468365440153100352564772383103695274058258433450664912918919960033890958\": [\n \"19295969231042954485613029418443762550210760119196605879642765007223666562138\",\n \"0\"\n ],\n \"11155453431993572921051201242631843497963768592115373834626693089326175873017\": [\n \"8936468365440153100352564772383103695274058258433450664912918919960033890958\",\n \"19076660877408764333435035508460338760088754100968622616232000482880054913287\"\n ],\n \"14362457793956645454351160648326887894383469909016729509113042441177946538581\": [\n \"11155453431993572921051201242631843497963768592115373834626693089326175873017\",\n \"21396695410254909049953162532952962735704823241164725331262604471277659791592\"\n ],\n \"19296199535597171327477310958433554002964762431790252360656311538633741729714\": [\n \"21497496184230134358241403756000873159175744904648788118109861458037153443131\",\n \"14362457793956645454351160648326887894383469909016729509113042441177946538581\"\n ],\n \"21404471998925464436432277829552051060418257530413494758901141441752993663361\": [\n \"20564840470208193090217431488671324341625117471892911463743597378096839311471\",\n \"1\",\n \"1\"\n ],\n \"3960462361236114632592950000093760223472749513545581067481768754771173827833\": [\n \"21404471998925464436432277829552051060418257530413494758901141441752993663361\",\n \"21283184409597825441803715334987976478657457820232968638865367794648995588805\"\n ],\n \"8939954259193918247566367104064081796541302782521705942717985041610979745485\": [\n \"0\",\n \"3960462361236114632592950000093760223472749513545581067481768754771173827833\"\n ],\n \"15614422763154456195427143266607797408241362954010617111916196257911979118148\": [\n \"0\",\n \"8939954259193918247566367104064081796541302782521705942717985041610979745485\"\n ],\n \"18447909878069570864893969287921864534944838108077281767415043455980724442424\": [\n \"15614422763154456195427143266607797408241362954010617111916196257911979118148\",\n \"7008779688688188466669177076465296937438242329617554556435166887399755606236\"\n ],\n \"7513801809657122642308599742078494205486875604340853594440890744252684566219\": [\n \"18447909878069570864893969287921864534944838108077281767415043455980724442424\",\n \"9759018369107513782984376833563095300799757144935171575180137753339138445278\"\n ],\n \"20248517737906290671930165637983378192987193277178585960860489238855313446043\": [\n \"1786449027924672674732776699544834585389444062352858927277854684598116200537\",\n \"1\",\n \"1\"\n ],\n \"14014195630201984991935659427685592147605838771724813278851411789356268919313\": [\n \"15920332358571246609666416771342805936463042673362510800966127552636239015121\",\n \"1\",\n \"1\"\n ],\n \"223419565356819934094249432143881366725013342871055571088947176902318552349\": [\n \"10510299532558033104766747625195920532501448055618584805262422201494191437809\",\n \"14014195630201984991935659427685592147605838771724813278851411789356268919313\"\n ],\n \"3564719151701956153110244702033228534590119767163217034721863716884356615072\": [\n \"223419565356819934094249432143881366725013342871055571088947176902318552349\",\n \"0\"\n ],\n \"877963755049758220811183803724967692683446423979231008870875513104625087031\": [\n \"14292415284994296226766994886777812281382145088149480384247450953941138889148\",\n \"3564719151701956153110244702033228534590119767163217034721863716884356615072\"\n ],\n \"5494359361436117866391112745490807501553522629262215492982200623364110810840\": [\n \"13727563252587391081255744274080091522450659423849984416078531764949453675957\",\n \"877963755049758220811183803724967692683446423979231008870875513104625087031\"\n ],\n \"16809664830031793619010244824726282425427050174750668797932761001534922532862\": [\n \"17749699569146484773064761423078713267811949529242884097070207779098959886904\",\n \"1\",\n \"1\"\n ],\n \"13014234595338982248277536866517843107887474186577805942930832878171094976414\": [\n \"13290796787933090773429416847909241432493675868203708800472739503757427228824\",\n \"16809664830031793619010244824726282425427050174750668797932761001534922532862\"\n ],\n \"13166194299237729627091287737645684437303556438672368622696341258527146701242\": [\n \"19224846534491297944132822627627197260120775775296728376567763323108952373157\",\n \"13014234595338982248277536866517843107887474186577805942930832878171094976414\"\n ],\n \"21485063294314948336015121274615693123314300179603440269044580017214495468761\": [\n \"62013900384573350558379372011540655425724357311400329091876836222257179972\",\n \"1\",\n \"1\"\n ],\n \"7418940621282307968093753301277535793844445046383871501556738861464255592745\": [\n \"21485063294314948336015121274615693123314300179603440269044580017214495468761\",\n \"2811474058751981400205662810567311243134273879076651845514855945930900902170\"\n ],\n \"9493498211617452790315930172676656632158551453004470243520387203099434910398\": [\n \"0\",\n \"7418940621282307968093753301277535793844445046383871501556738861464255592745\"\n ],\n \"13039266449097601815125120493601424486483204079165795574273560490575888391721\": [\n \"9493498211617452790315930172676656632158551453004470243520387203099434910398\",\n \"8289065419210971723696962904890129522712456884381276520491704946180707592547\"\n ],\n \"17487620417631829592128470425093989897025049814719694743310456428391203951118\": [\n \"6285974109643849711544776331608926398213567849843212592795230399294858998957\",\n \"13039266449097601815125120493601424486483204079165795574273560490575888391721\"\n ],\n \"6603283885773787636937809310562352204580931239246992904181927495353866663486\": [\n \"13623428466567350269580137328833340347177288890627004058977199228159373641347\",\n \"17487620417631829592128470425093989897025049814719694743310456428391203951118\"\n ],\n \"7244464362693166845019390340208543166746941615977597032920471514453344341659\": [\n \"6603283885773787636937809310562352204580931239246992904181927495353866663486\",\n \"200368575193691770941368504739793943499961367926379469514134790291044311196\"\n ],\n \"15236710803672763352146547767196009530524823571948402176900923433837845709722\": [\n \"21368615962365055104794870553836978166795375499779357382442148242093128880526\",\n \"1\",\n \"1\"\n ],\n \"20814960831498812577443793984596644169608229130897418964906617463599352660077\": [\n \"15236710803672763352146547767196009530524823571948402176900923433837845709722\",\n \"13905177776804766540570248863706478272261298719696153593347029092472683272834\"\n ],\n \"10493035584681249229286786887372303868453674296640355702130860805195688993261\": [\n \"20814960831498812577443793984596644169608229130897418964906617463599352660077\",\n \"0\"\n ],\n \"10083089217696102711401556426179495703753249017166575316024441437179041074076\": [\n \"8135424232093106801444725283292294081665433248998420611749774114719447065612\",\n \"1\",\n \"1\"\n ],\n \"8038350201738529973018695104583999480135011038129878799093676148576531391577\": [\n \"6671800474051584062371396728989797934086071889851799300899859810235105459142\",\n \"1\",\n \"1\"\n ],\n \"13609726123234480269644335247197389373381755742484487769436253232824532594164\": [\n \"11138172285746328310977161988151640032908125864130545793288543385116473291825\",\n \"8038350201738529973018695104583999480135011038129878799093676148576531391577\"\n ],\n \"1733928764415512319476518696683153375699814109819536817914896052734313523384\": [\n \"13609726123234480269644335247197389373381755742484487769436253232824532594164\",\n \"0\"\n ],\n \"3948916528679102233253204393222369982607376582714739696611702504494657982998\": [\n \"1869032005563827325412299624716599848520796984863878297837547419653129298339\",\n \"1733928764415512319476518696683153375699814109819536817914896052734313523384\"\n ],\n \"16377679456143246544256383070881525668476481049938361684979086499347291158962\": [\n \"21515439120923860973511290151232897764809760550543273545945348445041040748641\",\n \"3948916528679102233253204393222369982607376582714739696611702504494657982998\"\n ],\n \"16354725634243620317520734592997214631597781695725032603587216954766834192107\": [\n \"13723997113660785718272519252985716380462923287030719684612294363767099166297\",\n \"16377679456143246544256383070881525668476481049938361684979086499347291158962\"\n ],\n \"15495645977579077315972412694013897815589753365017947351903853238990922153259\": [\n \"16354725634243620317520734592997214631597781695725032603587216954766834192107\",\n \"16070508449295031750341061189763135247123531844664487479312421101586114523015\"\n ],\n \"15756934750115324615936688395673118115477858751390605098740784917369219110633\": [\n \"5993226212015827627027831873134542962961048928081195352332970231059576574566\",\n \"15495645977579077315972412694013897815589753365017947351903853238990922153259\"\n ],\n \"3161783177419287072914930656228010173617571866457889646345963507461558077897\": [\n \"17118743550580123767637458607546361318520342010423476074834899304637637639590\",\n \"1\",\n \"1\"\n ],\n \"8380012791908272482209797423274878731812144878747803367869672625707115508051\": [\n \"285920472444631381732809522746698522291494890820936428766757833037167728912\",\n \"3161783177419287072914930656228010173617571866457889646345963507461558077897\"\n ],\n \"5031335361110426931142917633300196307435117120834541230194986660575677927460\": [\n \"2493974332662137159110980675646076612394183889859428612448519517734681593594\",\n \"1\",\n \"1\"\n ],\n \"1710560919483570524623789996334206389188386670467995476832216969780011670458\": [\n \"5031335361110426931142917633300196307435117120834541230194986660575677927460\",\n \"11821515415314582914413968609734481500339616375261629542865134216227360976855\"\n ],\n \"14891223445670417713651163218749125254497109818522020266389641742845722682830\": [\n \"1710560919483570524623789996334206389188386670467995476832216969780011670458\",\n \"7544750299292768019144542276718449478074516687452266373296473441928260922487\"\n ],\n \"12158622663722961097327368528710244657699328983947410182519608441021207235557\": [\n \"4648065385125104119417032575345746329271916576392541668271278993977527130229\",\n \"14891223445670417713651163218749125254497109818522020266389641742845722682830\"\n ],\n \"320302906384870273885476150211957852053626232943079850771734325303354659081\": [\n \"20236074031200371278902246710220418102895921438282111371590407312557432514232\",\n \"12158622663722961097327368528710244657699328983947410182519608441021207235557\"\n ],\n \"19289116947803168379949231468150401007730920596535051674403574020731673378492\": [\n \"320302906384870273885476150211957852053626232943079850771734325303354659081\",\n \"12674112058495303011190658037987307693846404017943839367182575682746993945897\"\n ],\n \"16779182877604063116143710087189805462783821822261331715945818938628221093136\": [\n \"4665718166867199408198687341952151996457105462036479895306091890987603410009\",\n \"1\",\n \"1\"\n ],\n \"6211656130490918299598128725254619345208148462540903843256399462851111113590\": [\n \"16779182877604063116143710087189805462783821822261331715945818938628221093136\",\n \"19737077556943481120928712708243812742665351561665956512427722142537452782777\"\n ],\n \"4660942856738626490552009172168284538767745857390670491262842849592694893591\": [\n \"6211656130490918299598128725254619345208148462540903843256399462851111113590\",\n \"9945035207774285526605209721392184541178308485306947351791738737022616673105\"\n ],\n \"5522442806618272260010816579305428049876022576425035318134449936961415037730\": [\n \"0\",\n \"4660942856738626490552009172168284538767745857390670491262842849592694893591\"\n ],\n \"14836421528163976703400652059112132892906722554541171094425986764701885114988\": [\n \"15738565680258947511923737318035591010534605279114662043791942035992986657995\",\n \"5522442806618272260010816579305428049876022576425035318134449936961415037730\"\n ],\n \"14342983052814605725968540038435288520315423170593612018798698932993468182057\": [\n \"13853905935642578575458013960462846017688649650046324697279594000244401196880\",\n \"1\",\n \"1\"\n ],\n \"16451538118083042900449112171649226577356482544931125701974567924009841528769\": [\n \"5884569778749971188711654328014078460803442707024008088221677477363433861014\",\n \"14342983052814605725968540038435288520315423170593612018798698932993468182057\"\n ],\n \"19939519487515501476273967647686316973199110193019402891880310426144645065156\": [\n \"16451538118083042900449112171649226577356482544931125701974567924009841528769\",\n \"17936517565286883185961425948784180821041662735447487943240674226538100801217\"\n ],\n \"14337616784372463317021717356458145510265738811296414590020890568762993242608\": [\n \"19939519487515501476273967647686316973199110193019402891880310426144645065156\",\n \"0\"\n ],\n \"16825784798288201421080842043915600368820905432800169544917840408944185080718\": [\n \"16741910547626757452215273016604094309310583274809777850569519396871266249605\",\n \"14337616784372463317021717356458145510265738811296414590020890568762993242608\"\n ],\n \"3192469526463311250268925632766784602267025068876820331731735372643939943558\": [\n \"21541504671523937247678525206516569396861976630091160131802248100731325798441\",\n \"16825784798288201421080842043915600368820905432800169544917840408944185080718\"\n ],\n \"20308490083534108229596617394398198084732538302046898812671946384527504120722\": [\n \"7983906121097775732016256509419987640847156054426154743794100607555149466927\",\n \"3192469526463311250268925632766784602267025068876820331731735372643939943558\"\n ],\n \"20659011593235561023405335496842861750471513883480046846809255955073660052613\": [\n \"1339220049698990063865704066055412870672817313730220744627030364465277747612\",\n \"1\",\n \"1\"\n ],\n \"4124755663562964597233857257375589032644386490237998661166062163896104898008\": [\n \"5148849518585139082088775059567732841267633089931427473730185454354489106496\",\n \"1\",\n \"1\"\n ],\n \"13965459161578036591667128220092155018878789912522186817068470331556602012535\": [\n \"1229732008185709444013868410247294499203575445089218779398512730948072308128\",\n \"4124755663562964597233857257375589032644386490237998661166062163896104898008\"\n ],\n \"5451758430010086690673322132981631536767827175385139980333879791141082924502\": [\n \"0\",\n \"13965459161578036591667128220092155018878789912522186817068470331556602012535\"\n ],\n \"3668909161197326856879349622036813799199286637842587158280034642458771942358\": [\n \"5451758430010086690673322132981631536767827175385139980333879791141082924502\",\n \"0\"\n ],\n \"4873575880540458683612208023863357357142704050457488752395794667401437074919\": [\n \"3668909161197326856879349622036813799199286637842587158280034642458771942358\",\n \"11300754444284081562021891742837421553338031209581808887311146638486133902904\"\n ],\n \"14259996163865206724480524985239490504626290057059588740178118703919443848662\": [\n \"19414799141253389214433396716966326292245987180679790077329782137327385602864\",\n \"1\",\n \"1\"\n ],\n \"15449441359896280195429698052923680693375527401834225383419338110786768699011\": [\n \"6865861091959987768926794046540495346485615194664063124088258835983904885812\",\n \"14259996163865206724480524985239490504626290057059588740178118703919443848662\"\n ],\n \"18380277639579281896268472109357908423884461330585560202377189315145894734524\": [\n \"15449441359896280195429698052923680693375527401834225383419338110786768699011\",\n \"8961759671139220867030614856724250232665598953284910452340734053092140204784\"\n ],\n \"10615411266722313991601449081662695622717028361288957337938589932910724266592\": [\n \"1710890715851997538280559040355292956837210165388839246334913672250173731366\",\n \"1\",\n \"1\"\n ],\n \"7853213716642237841793038893614437325964499416366427816357445070546345168320\": [\n \"10283172177728159327580105147332980827320593584153727375879420144863082783646\",\n \"10615411266722313991601449081662695622717028361288957337938589932910724266592\"\n ],\n \"18723181603916232173829441537237447073582482357516510809977935752009006039162\": [\n \"871976105077572386888035537073837547270419282346690848329161645612398340462\",\n \"7853213716642237841793038893614437325964499416366427816357445070546345168320\"\n ],\n \"10463788235542027128778843646745358298936926298781290748814713325054082627130\": [\n \"18723181603916232173829441537237447073582482357516510809977935752009006039162\",\n \"21151542797898218917609172493282943011271270883315411724095241742477574307385\"\n ],\n \"14255771994872428181359422507005712444371699277477707663881834749390842818284\": [\n \"10971025573060110386640927326829415369174678903575816431833555938859022624746\",\n \"1\",\n \"1\"\n ],\n \"1067652007774041822900100412469287141264923536889825840914473356759219212431\": [\n \"20122527622746341747791053610185785446896171418920133792061688073951136140608\",\n \"1\",\n \"1\"\n ],\n \"18319128212937032498635219762093424639344888586356040994254165713727787903340\": [\n \"1067652007774041822900100412469287141264923536889825840914473356759219212431\",\n \"19192912547786411140340085316467980987270863208815679057069131385037791853533\"\n ],\n \"18945280445537385268770626909373051967753985443286240148749125429302268033697\": [\n \"0\",\n \"18319128212937032498635219762093424639344888586356040994254165713727787903340\"\n ],\n \"14741407595508555068254662161157727570990975663993297068431059955481829179366\": [\n \"18945280445537385268770626909373051967753985443286240148749125429302268033697\",\n \"0\"\n ],\n \"8706434036422547910780853122949984585543607685685217794066521393544203003316\": [\n \"14741407595508555068254662161157727570990975663993297068431059955481829179366\",\n \"0\"\n ],\n \"3123974086222299302417046278199601344877473024061267633976771509862549394656\": [\n \"21030800975983941688981291374205828063132748908967220700847414077231222876192\",\n \"8706434036422547910780853122949984585543607685685217794066521393544203003316\"\n ],\n \"19996229994398849214224003684380347790019261116134565801249752029482300730058\": [\n \"19572619696764896980701967225419879918102285940389077387294819441836100413148\",\n \"3123974086222299302417046278199601344877473024061267633976771509862549394656\"\n ],\n \"21443321123413464841949884372535585898120288656782101480440531491717006673538\": [\n \"9961402485479294199732442488764258390480898003610025839804524668168641034118\",\n \"1\",\n \"1\"\n ],\n \"16063108118568806111970632247744183496478734931491074843497406241389481020317\": [\n \"10000746721236793389796524414506653915461858522504524690523069214167942719885\",\n \"21443321123413464841949884372535585898120288656782101480440531491717006673538\"\n ],\n \"14077211873654771418327166395673680596640846234068803727268637255040721521178\": [\n \"16063108118568806111970632247744183496478734931491074843497406241389481020317\",\n \"15023332962851950998986731593003348407886879943784790577884222320958205719615\"\n ],\n \"3437779003569759458973407618103476396356460988322682951815692887613925637560\": [\n \"16964832371840172203298551537023804421570437008452384834694147804672601110334\",\n \"1\",\n \"1\"\n ],\n \"2653769751933484402066283956281351925284362441011491784533178012505601973947\": [\n \"18338053850615475302468262814893813372024164230075467817503701556666534914698\",\n \"1\",\n \"1\"\n ],\n \"19623409015476880162717815156590183785898714139669835399844516864834827905154\": [\n \"2653769751933484402066283956281351925284362441011491784533178012505601973947\",\n \"10501581293892535140987735882630346064144438577578902491340424726819793638031\"\n ],\n \"3195802488313236246188653156719474835726329037693194737309880474602847414284\": [\n \"0\",\n \"19623409015476880162717815156590183785898714139669835399844516864834827905154\"\n ],\n \"14396206600212927181934350078222208848623730814984755113228888234436960134279\": [\n \"10952273602147314178023064485126666973580025339440464074243008340113773660703\",\n \"1\",\n \"1\"\n ],\n \"1194687617897725778609810157381465625930411521239128966797826783897341789717\": [\n \"14396206600212927181934350078222208848623730814984755113228888234436960134279\",\n \"8137851488715362165047757728309243651103317542161203628678308741307075335340\"\n ],\n \"6833580873699940732301145636594610820734306646712779755364883826767220198794\": [\n \"1194687617897725778609810157381465625930411521239128966797826783897341789717\",\n \"20709914865718569786485333373751599763967026618071537187051720966424755816674\"\n ],\n \"19982643483781215276091451993492123182870724312475199015566239598905462173457\": [\n \"6833580873699940732301145636594610820734306646712779755364883826767220198794\",\n \"7149651785321050863188834669353645193184513502587894741766171875159146809844\"\n ],\n \"6888395340367631581341791803930315169353349858237790072880534009425962495375\": [\n \"10723540960848641568791371776909117663937272349479400314154902407302941538593\",\n \"19982643483781215276091451993492123182870724312475199015566239598905462173457\"\n ],\n \"14143092975394825402343664404001602924323124717139740784682111450581340840468\": [\n \"6541599752273906472845071137171101616577135451767495504873221735687832274235\",\n \"1\",\n \"1\"\n ],\n \"18468873176048079117868219263135633419237313112142286980064637183050242942190\": [\n \"14143092975394825402343664404001602924323124717139740784682111450581340840468\",\n \"18430573199566292208965327824050016997973534037997714536134152127376370604548\"\n ],\n \"9693167847884534854997290699074816925498260580556169941474644380564390121421\": [\n \"18468873176048079117868219263135633419237313112142286980064637183050242942190\",\n \"0\"\n ],\n \"5090647201027100422206009835981891052886452711148336506002182685854612789782\": [\n \"5262127839912446339689508974677148799999845830452123819339741707327025331788\",\n \"9693167847884534854997290699074816925498260580556169941474644380564390121421\"\n ],\n \"5354502952974355759198867130604060908233857461808853598238130025875420522970\": [\n \"5090647201027100422206009835981891052886452711148336506002182685854612789782\",\n \"898428136793716371272820045754710871434268890095919199928746311472080182847\"\n ],\n \"4926824287744432886076382377846901470587336510027790634056870170736218201343\": [\n \"224998216105484760686711442831481931581540007246553549512204205421129109318\",\n \"1\",\n \"1\"\n ],\n \"4998142723477939217798755941535661364312288234157623431714523632312510013518\": [\n \"4926824287744432886076382377846901470587336510027790634056870170736218201343\",\n \"21697107716791122184960297932849183319720026708913758834583929317703849306493\"\n ],\n \"13581475637610997959558691862572422211119447374017880914694065355046713645598\": [\n \"4998142723477939217798755941535661364312288234157623431714523632312510013518\",\n \"0\"\n ],\n \"19624591311177694320869132058274260030623261721584120636473968237295872087717\": [\n \"13149490304785313680248504700736245781375865300150310049096873904801544146476\",\n \"1\",\n \"1\"\n ],\n \"1176156260522376271549258507729613045569516047595789258175095612275210302703\": [\n \"19624591311177694320869132058274260030623261721584120636473968237295872087717\",\n \"16407797620075305669256593080944428312108857751629501648688009629300049368960\"\n ],\n \"2575754228512884624045901953084973328848393444063885806152569319112845557637\": [\n \"1176156260522376271549258507729613045569516047595789258175095612275210302703\",\n \"0\"\n ],\n \"5680766230572179517869409309098917766267646102372472956944071615951146311008\": [\n \"2575754228512884624045901953084973328848393444063885806152569319112845557637\",\n \"21417160048765727732398691761481657147039842557837427638299228615660047246746\"\n ],\n \"992761477278027600243078263266546194055855572991263858216664586990991760401\": [\n \"17466425962606978839219883427136606301150891983592650003124334408706071187842\",\n \"5680766230572179517869409309098917766267646102372472956944071615951146311008\"\n ],\n \"310410461337542740570668677593114429088070864937912279391371383116715495604\": [\n \"12993747572140717783276590570646609615389786067036594982612451170190828433508\",\n \"992761477278027600243078263266546194055855572991263858216664586990991760401\"\n ],\n \"17756854330800840186581804604543425602650023573500871103738570932560727281544\": [\n \"11881333391255254768909676471385782698714142591179243800066935835193624117876\",\n \"1\",\n \"1\"\n ],\n \"11922813116449983210101345782136496400403155999070018121160617446200353224736\": [\n \"17756854330800840186581804604543425602650023573500871103738570932560727281544\",\n \"19451271810387357806358935542908955729158282957920412657225413570168641927882\"\n ],\n \"5293462561223667676556473573651241664944181308554311496868060489473521745\": [\n \"15378302921588764004220200377490749133726144633297036764723119791783525441109\",\n \"1\",\n \"1\"\n ],\n \"17637930036953042082383572921557388778510536812032744868445558529199121253799\": [\n \"6173431064312016584646121066994701507304431007828366697724077355733299303173\",\n \"5293462561223667676556473573651241664944181308554311496868060489473521745\"\n ],\n \"7119793475408938561877562677135041962563396438392825982310470479446244353049\": [\n \"8162041068352169794041722892915720592032274623863896259051094005391491888626\",\n \"17637930036953042082383572921557388778510536812032744868445558529199121253799\"\n ],\n \"10672649189296163637785259494353133245165533292652921109678252522741765151038\": [\n \"9083946123647370197000646251722132869658697006130894568827357860288313699094\",\n \"7119793475408938561877562677135041962563396438392825982310470479446244353049\"\n ],\n \"5260680813868090449240094221057819238743667837644996106724357095655313679517\": [\n \"18597094732396258995341593088864455559052293350923699123007644747560541765179\",\n \"1\",\n \"1\"\n ],\n \"9407301846448031684093796514712947874738817683348799949009201538455448167847\": [\n \"464186109286527024438335718235276911218263377383266667795536841130934287788\",\n \"1\",\n \"1\"\n ],\n \"7266895124247255933500631096298596903563310237891199851446523762875488944552\": [\n \"9407301846448031684093796514712947874738817683348799949009201538455448167847\",\n \"16417668665354986142879489974104829899498799086555768351277527246420351532626\"\n ],\n \"11727494416916343301258461452698921871035866087647392113008257673457488529562\": [\n \"0\",\n \"7266895124247255933500631096298596903563310237891199851446523762875488944552\"\n ],\n \"5873927747787762026548314085599702762703116697456464546716186519293279677327\": [\n \"0\",\n \"11727494416916343301258461452698921871035866087647392113008257673457488529562\"\n ],\n \"17463950246703454593212536829969233491217578489956063207716171251707609881080\": [\n \"6876598200291909943124227743971233489160058527343658366225101018012353121759\",\n \"5873927747787762026548314085599702762703116697456464546716186519293279677327\"\n ],\n \"17618971693379248719141106874326092556675574800473136736615976210412930069007\": [\n \"7403205260284896872705204173027182804688497760775873818566837219260933472014\",\n \"1\",\n \"1\"\n ],\n \"13861939272650039986017469656854299362760036531994902704371970738935874088020\": [\n \"15965350303191264495873952175903511793000601971248586644019524529592456165153\",\n \"17618971693379248719141106874326092556675574800473136736615976210412930069007\"\n ],\n \"14774097893432612671202916494823120564416272373269169308160977322956773708848\": [\n \"12960757225688963761168054980551824412264947395554313455139416673903857914939\",\n \"13861939272650039986017469656854299362760036531994902704371970738935874088020\"\n ],\n \"12936848891341003881042495026558932757730684599920482272056239231666940333071\": [\n \"10436199663332526138355940578888683887560447739598823771744746759660172521165\",\n \"14774097893432612671202916494823120564416272373269169308160977322956773708848\"\n ],\n \"938000748359720789638872429273903485212179616287466544274761062298021624632\": [\n \"18578516050005389515994077316165847658844202973674314344679639835454568401910\",\n \"12936848891341003881042495026558932757730684599920482272056239231666940333071\"\n ],\n \"13967621505754487784986372598323404805860954806106571664420079141075142493093\": [\n \"10808532292043798222569286069833821252451614682667955773849865836757321971681\",\n \"1\",\n \"1\"\n ],\n \"10804605276236129425081020979427139634695929973417233867412076041330177337753\": [\n \"20025536157696900542910184283752914634916767657749968021079543590487637909042\",\n \"13967621505754487784986372598323404805860954806106571664420079141075142493093\"\n ],\n \"14902760792767784346544729646069498532506682903252278637427994529344174347467\": [\n \"0\",\n \"10804605276236129425081020979427139634695929973417233867412076041330177337753\"\n ],\n \"12647988453060295923238688537968233265332932355146706811728157088508075772655\": [\n \"14902760792767784346544729646069498532506682903252278637427994529344174347467\",\n \"0\"\n ],\n \"2521660953166141155896351585269301454404768905392718656682212457925814008105\": [\n \"15374830038386478738146072784981407480979518154806755534367658358723235816130\",\n \"1\",\n \"1\"\n ],\n \"8018352309027540469163976536577265271739019294349263499568549773229846266409\": [\n \"14147264396636552670096491012640949993454068375922604866804488695033771984861\",\n \"2521660953166141155896351585269301454404768905392718656682212457925814008105\"\n ],\n \"5745154999708134480744026958996353364081182438370276161586972117074792306741\": [\n \"8018352309027540469163976536577265271739019294349263499568549773229846266409\",\n \"16121732161526202117316037435014125184859605030435182570882518018738440650128\"\n ],\n \"16123957211324389995995031678495721329029572307086208373478736900204607520654\": [\n \"5745154999708134480744026958996353364081182438370276161586972117074792306741\",\n \"21727948733356382829676268600451623139646326223704896816295097231894578432619\"\n ],\n \"9598186092172694312585950731761477191676817319281562146746764349043097548518\": [\n \"11266341822969887001032653553904609539545397525218057110653204286818827767324\",\n \"1\",\n \"1\"\n ],\n \"3951147409302027495003826763482129362755760921152492971902178693941346169767\": [\n \"9598186092172694312585950731761477191676817319281562146746764349043097548518\",\n \"13357076705591593447116415823763792880569475376125203092871497730458601440453\"\n ],\n \"12919096816847653980053210694284022253484523035713469115466742760765395132096\": [\n \"0\",\n \"3951147409302027495003826763482129362755760921152492971902178693941346169767\"\n ],\n \"4043575071915700839087040224745533199720102399746775831322319639997921003155\": [\n \"978688507510910838930080458296193234971610381743132135845352453189672101021\",\n \"1\",\n \"1\"\n ],\n \"11637593647298935233598939699198877871013073537566900002298966752237214482635\": [\n \"9584144172494819730504928340632239690087090404521194148255017551522786560506\",\n \"4043575071915700839087040224745533199720102399746775831322319639997921003155\"\n ],\n \"9402418516885158013223684724213554939328957508550873057708055918797718501645\": [\n \"2775694796105064098556945326869225601616914973213319690515396219205444259065\",\n \"11637593647298935233598939699198877871013073537566900002298966752237214482635\"\n ],\n \"6371594054173220690534685858835912631052547224539848289593300046124352880234\": [\n \"9402418516885158013223684724213554939328957508550873057708055918797718501645\",\n \"0\"\n ],\n \"16769589322315868553915515115914292962657837922426966448787416506939404621658\": [\n \"6371594054173220690534685858835912631052547224539848289593300046124352880234\",\n \"0\"\n ],\n \"9622161201780144246457147648339890905815427364360254251249946069559096856009\": [\n \"8602052693438621276132105572259766619494094007635300936503405569486273796154\",\n \"16769589322315868553915515115914292962657837922426966448787416506939404621658\"\n ],\n \"1043373780095222465685511327273796202171551039611549412511565274847870216452\": [\n \"9622161201780144246457147648339890905815427364360254251249946069559096856009\",\n \"9156985755396428205430021477530898332452583008199635270867569065519352949647\"\n ],\n \"5772960866755936708465871834894998768668691626544440920966515832911286546882\": [\n \"14493343437496791915391561760933575119615457237011047692202379041909479516179\",\n \"1\",\n \"1\"\n ],\n \"16888892062341933813619491334788807484174437436989081581822173781203055463160\": [\n \"14419932459458175520522832516127750862489713284020071359622115643055062191292\",\n \"1\",\n \"1\"\n ],\n \"6721989789442710610222108230941199530967626625392544066853840135744060519649\": [\n \"16888892062341933813619491334788807484174437436989081581822173781203055463160\",\n \"18614803969913220377456043511490585629904030306372859296219863663218908007664\"\n ],\n \"15215823058918100468740964563844656296460493368363502941486946697866011371456\": [\n \"6721989789442710610222108230941199530967626625392544066853840135744060519649\",\n \"3957593293774010825336892143717485353713672537165924750819732858669066599002\"\n ],\n \"13837988040930551287587880419247450306281422710095006284967912908762740380339\": [\n \"15215823058918100468740964563844656296460493368363502941486946697866011371456\",\n \"5785882410603764202925126689778322451014989166779864308310671507761817039167\"\n ],\n \"11351200599434277750195516788334993242397015025745702330765383143785280558054\": [\n \"12866778175839503722352424433335627230118102891002801765569401142187688749389\",\n \"13837988040930551287587880419247450306281422710095006284967912908762740380339\"\n ],\n \"13119288874727287849980068937595789326561075239251514242284619634310711135840\": [\n \"21015952333105020351627874590278957601524986833280698532385804592829171290125\",\n \"11351200599434277750195516788334993242397015025745702330765383143785280558054\"\n ],\n \"4741266986432923098894382213525890324485056745161055253707492327173759264924\": [\n \"13119288874727287849980068937595789326561075239251514242284619634310711135840\",\n \"7295592434670853705247282078813562288100642517511199046347914862716839975402\"\n ],\n \"329529944167370450323634980088191501702122528912936310033014615045256830410\": [\n \"4106134793365467378978880222955008678035775618026440968985638146395589923572\",\n \"1\",\n \"1\"\n ],\n \"11517501644692383762649834393041421447197686925062740150208241036494879273436\": [\n \"329529944167370450323634980088191501702122528912936310033014615045256830410\",\n \"13981878428022370575187457416053854929613057507782252999531819956387679267588\"\n ],\n \"6739794361882332136693193795648524714633128966213980636468579823564019616520\": [\n \"0\",\n \"11517501644692383762649834393041421447197686925062740150208241036494879273436\"\n ],\n \"6018092547399408563270968304797536122047067701146469822106736679980993190251\": [\n \"6739794361882332136693193795648524714633128966213980636468579823564019616520\",\n \"0\"\n ],\n \"6363892401352946283678753246133069975472175015628460538992670518189281047012\": [\n \"8054425592567789333862521966383324661584846438066669922926283154288744119915\",\n \"6018092547399408563270968304797536122047067701146469822106736679980993190251\"\n ],\n \"18952529025440485075165904845733013272717821853513006328469386516971613873509\": [\n \"6363892401352946283678753246133069975472175015628460538992670518189281047012\",\n \"13575816320479934777630887327865746492406895197773524679820081878548012235140\"\n ],\n \"1720479204529382119066014372767303136313201215519675866353181351854296509764\": [\n \"18952529025440485075165904845733013272717821853513006328469386516971613873509\",\n \"178069569111769148864319015288828317468576336044174797118242378225587816924\"\n ],\n \"13025581161649921685983215743665292825459262636875821481049973291507114332301\": [\n \"14410544611934462277006218091722943917749897828903023491672370520222657052079\",\n \"1720479204529382119066014372767303136313201215519675866353181351854296509764\"\n ],\n \"6091850431455406914638902799140723454280662327796397940294827676178926929708\": [\n \"7215113931652837617677516268781439836589498496308009518676082552791088974389\",\n \"1\",\n \"1\"\n ],\n \"10813902132971142898438777943198236622094535491714370658017263997913257825861\": [\n \"12430447574896545400570730762163946122450372324669653226256959858449998743157\",\n \"6091850431455406914638902799140723454280662327796397940294827676178926929708\"\n ],\n \"9914708891222115083645818699365801769147446076677606521226150789193727031945\": [\n \"10813902132971142898438777943198236622094535491714370658017263997913257825861\",\n \"0\"\n ],\n \"7901921415730481213698892395725890843654603562230652828641152562584449352347\": [\n \"15590946345057551518142261153737493549998054214419601644520873248845283752945\",\n \"9914708891222115083645818699365801769147446076677606521226150789193727031945\"\n ],\n \"20977323970720720604994935223762623805951607376092894443860688657880635189101\": [\n \"7901921415730481213698892395725890843654603562230652828641152562584449352347\",\n \"0\"\n ],\n \"18424868063283380152253478692883435043006455079280138711411243549793764713857\": [\n \"20977323970720720604994935223762623805951607376092894443860688657880635189101\",\n \"1166669079776069574405486029427080700534495214862415647950548069982048924202\"\n ],\n \"19692062554922687160879852497189362812764910724965311424384190809463653510036\": [\n \"13559596768685682125513097325817745170146311507704563455193542105301298670539\",\n \"18424868063283380152253478692883435043006455079280138711411243549793764713857\"\n ],\n \"5397544709650823487532143195156884152944713749589363661169030937870726288686\": [\n \"18234927007443791715931118815351622470102701542729209147950215211813130662570\",\n \"1\",\n \"1\"\n ],\n \"17978239042868810321647448928820710058648958887574240704115446439644396427434\": [\n \"16537315937157748764680074071443347241065630140201486377269594071016298335516\",\n \"5397544709650823487532143195156884152944713749589363661169030937870726288686\"\n ],\n \"5475690039805493035971493584712965939761428578632759808623465323046270414185\": [\n \"0\",\n \"17978239042868810321647448928820710058648958887574240704115446439644396427434\"\n ],\n \"1972202448807113406259229358297819009491858363019059842593084416188188220394\": [\n \"0\",\n \"5475690039805493035971493584712965939761428578632759808623465323046270414185\"\n ],\n \"16417729984977473958589271962936727477043183424159761122690408634678734544407\": [\n \"1972202448807113406259229358297819009491858363019059842593084416188188220394\",\n \"15434825856832610315147550433701051910026363079430762530228423375964864092497\"\n ],\n \"18118445178228523813606065047259811882961616071466153407963555771499538337584\": [\n \"16417729984977473958589271962936727477043183424159761122690408634678734544407\",\n \"17639743658005993015919548061723239691354255414798611471390405922195058994413\"\n ],\n \"18135307579203737106815361167442228999524909386257499829804441431061390481250\": [\n \"7181671141383545147496676614909674648644354461647208688229932654934364437422\",\n \"18118445178228523813606065047259811882961616071466153407963555771499538337584\"\n ],\n \"10547575526015523760478725837584236614573944685229027605468326960806136852893\": [\n \"18135307579203737106815361167442228999524909386257499829804441431061390481250\",\n \"2116071655111051455943425211048746556673115044726035233111843393642195312563\"\n ],\n \"8759428034757321556362691987272318362260008652913934306809268856502100655788\": [\n \"16120792438372830420103824793721046275401459164296460818575908006958312143191\",\n \"10547575526015523760478725837584236614573944685229027605468326960806136852893\"\n ],\n \"14747722873335350056813569735538896150450897523423750882113406934053739167625\": [\n \"19397267346062168356214283156646752370967689100194483687613993530905662642004\",\n \"1\",\n \"1\"\n ],\n \"21324690132939416734146587110294573896347901032381573854309449951958772682717\": [\n \"12763616802830945026792470481942814697954304217375716659512516881174783218195\",\n \"1\",\n \"1\"\n ],\n \"18110788882855552248057688537341539431690913119494909463783676574561954994006\": [\n \"17497127449108050275583923916779399545851421981456439157163069244045497511809\",\n \"21324690132939416734146587110294573896347901032381573854309449951958772682717\"\n ],\n \"5584847129682257857565196399503004293237621689725349555023996056495195769823\": [\n \"17950139114804783114557314267046515084430693813956484323475578214593505399508\",\n \"1\",\n \"1\"\n ],\n \"17012383330918210493962450939426954045387269269308468677746184703731420467317\": [\n \"5584847129682257857565196399503004293237621689725349555023996056495195769823\",\n \"20036894165639929893033886401562506859690802809012935848016295987473049283380\"\n ],\n \"1884585008409383031356744096942717914309404279608302869221020151982942554855\": [\n \"17012383330918210493962450939426954045387269269308468677746184703731420467317\",\n \"0\"\n ],\n \"9461644923495884123295073782202703831731123980790069496958254696066332576728\": [\n \"1884585008409383031356744096942717914309404279608302869221020151982942554855\",\n \"0\"\n ],\n \"12718167170696870019074520783197471249808223832734774266502875079020454863597\": [\n \"0\",\n \"9461644923495884123295073782202703831731123980790069496958254696066332576728\"\n ],\n \"11043278490850047284547151309090387839481001564411577679825508643683455160188\": [\n \"12718167170696870019074520783197471249808223832734774266502875079020454863597\",\n \"0\"\n ],\n \"9028750278968992942412560201596006025439513022170441065597510809682263871121\": [\n \"19885650692558795381566956319939230875055015232280257476946389067093282453797\",\n \"1\",\n \"1\"\n ],\n \"12459602436984342634931354544373470366135768306104306085302940082517814995097\": [\n \"6433810027676817748447591009020904508312650215705950263678310952521116937646\",\n \"9028750278968992942412560201596006025439513022170441065597510809682263871121\"\n ],\n \"11421800452562805515255795456984038717883306843189706817001586183747627707467\": [\n \"0\",\n \"12459602436984342634931354544373470366135768306104306085302940082517814995097\"\n ],\n \"17223878795039995366944478475546039567702249273929003153509337520159915259133\": [\n \"0\",\n \"11421800452562805515255795456984038717883306843189706817001586183747627707467\"\n ],\n \"9249332817241518269312526144238062618446764603827181828270419467205385768596\": [\n \"0\",\n \"17223878795039995366944478475546039567702249273929003153509337520159915259133\"\n ],\n \"3714587079291280350416250258440899757690436750033251483389772351106539028385\": [\n \"17985117693111916682171975800159977104257642060196378307732074811637996253966\",\n \"9249332817241518269312526144238062618446764603827181828270419467205385768596\"\n ],\n \"9829479530942987167279351833776113515969010889342155068339053047097216170320\": [\n \"3714587079291280350416250258440899757690436750033251483389772351106539028385\",\n \"21488690029681971635859669086168008013850377053565641463410673003323066584009\"\n ],\n \"953200312123263851668228762199260135293721132822259945595778002135125009113\": [\n \"7344513101173602492637457654397428941993621132987038408731452321150243027080\",\n \"1\",\n \"1\"\n ],\n \"393308490339789018306678243892624108878891740271598584229360655106854429880\": [\n \"3998688322199834137191301012394946809044548899503737119630944328993500650272\",\n \"1\",\n \"1\"\n ],\n \"9352380368457889190079335230564434853919140167268061927771055409816678291883\": [\n \"393308490339789018306678243892624108878891740271598584229360655106854429880\",\n \"4175349467785802307024432583439542015091786583054849091248707269611542970526\"\n ],\n \"10326178011104678873058401373456540065044073341699249076841270102449602991614\": [\n \"0\",\n \"9352380368457889190079335230564434853919140167268061927771055409816678291883\"\n ],\n \"12440586697266539976523461471607289622809471084552909600959436387882285950849\": [\n \"4002225259133259868553905856973655163983142348777525357704516017161861106674\",\n \"10326178011104678873058401373456540065044073341699249076841270102449602991614\"\n ],\n \"14554245160064202401014445100834788212149623116127317729953358393660999962749\": [\n \"12440586697266539976523461471607289622809471084552909600959436387882285950849\",\n \"8363931103218076313076940999710982926519999205410924480936942937370591687870\"\n ],\n \"3577158611207999830620745555770995139089427819457622573044476903673492210022\": [\n \"16167630538713595366508623739342915979164125351173672586160240750705267060568\",\n \"14554245160064202401014445100834788212149623116127317729953358393660999962749\"\n ],\n \"5054684535581475013809084582744449831680758409844534597838949892547636642902\": [\n \"6148976267854717437518371519183077745679719718377018840515360405638640799201\",\n \"1\",\n \"1\"\n ],\n \"4513109905845543180893582004718521675718200440249618096171474691720128425919\": [\n \"17547669708844831031703703039897123002287783141388542754322312116451429912829\",\n \"1\",\n \"1\"\n ],\n \"19408730608877611274406463100986062664035233624102699485796530450764970246618\": [\n \"10445915527136913099349519261749079128310826610175271041657047184049176049465\",\n \"1\",\n \"1\"\n ],\n \"8084791909097859082448306029873662388240307104251680526004964155435114693711\": [\n \"10565600183026061810184714988445718771375939031607834086964621620332271681109\",\n \"19408730608877611274406463100986062664035233624102699485796530450764970246618\"\n ],\n \"19945838170942793174875085879252455854565354237331045342844604921715168832830\": [\n \"0\",\n \"8084791909097859082448306029873662388240307104251680526004964155435114693711\"\n ],\n \"6756112428620449160855379425931163983650380169809769311339407332056694210594\": [\n \"0\",\n \"19945838170942793174875085879252455854565354237331045342844604921715168832830\"\n ],\n \"15509912924280824072594733065963855352197387024293310475116810134534924721968\": [\n \"2637187454409630072120182125256856000160907422507603711314056901507101125319\",\n \"6756112428620449160855379425931163983650380169809769311339407332056694210594\"\n ],\n \"6716647964247999462371534519208694872903402890809362522405571335974396799864\": [\n \"18570902424818793643348178847827903995452111501770470112865398819091001456716\",\n \"1\",\n \"1\"\n ],\n \"5139881580384045242791702531238579557153105324557864662770548552237850982600\": [\n \"6716647964247999462371534519208694872903402890809362522405571335974396799864\",\n \"11106179115405505728138368027420446553432832434510526064353720620815146938711\"\n ],\n \"10016775675979474675292762323772008885859843997143968299666671047075189963652\": [\n \"0\",\n \"5139881580384045242791702531238579557153105324557864662770548552237850982600\"\n ],\n \"16964722525142991472834448667771462170620782871551987364694209354364255017883\": [\n \"10016775675979474675292762323772008885859843997143968299666671047075189963652\",\n \"0\"\n ],\n \"5740631601088674972655999087436098237902323156901002114119947570362431851\": [\n \"9652215767824354514529942615568904301300546356481981872352821253288682766358\",\n \"1\",\n \"1\"\n ],\n \"7092713977889464451948934638170848768885291772131177947253945868040892290658\": [\n \"12328822331703872316555757048932373249059303425039334635757807444168613518380\",\n \"5740631601088674972655999087436098237902323156901002114119947570362431851\"\n ],\n \"16822178693806896763461235364132247187149274891267144372641558569399898788833\": [\n \"7092713977889464451948934638170848768885291772131177947253945868040892290658\",\n \"0\"\n ],\n \"11712564864980959908941826888190317019316048634566815837945605024876632142386\": [\n \"16822178693806896763461235364132247187149274891267144372641558569399898788833\",\n \"11245809302172741714112121280416199783969352518677140495628461129038477948630\"\n ],\n \"20648269987723360346632111349834808933682488801060471135500237250223817080715\": [\n \"16142659748690706785650877215698315191711919646300388495831704977804621852392\",\n \"1\",\n \"1\"\n ],\n \"12939287157456997857838508508298955186754704718503357090152313459001126798393\": [\n \"20648269987723360346632111349834808933682488801060471135500237250223817080715\",\n \"10988722779878826088140651424228800501019939175742122691025212074389480535039\"\n ],\n \"18659757235923100586090910776611059070574529877792033342687950159559529068383\": [\n \"9236747066471012343910987909954589201224281116770825956211745497307365176423\",\n \"12939287157456997857838508508298955186754704718503357090152313459001126798393\"\n ],\n \"3934881571605292938735695098762660025095541225022893418292484318659548881270\": [\n \"6541734612517331018945923218391091183350372921338763231540935852310960669791\",\n \"18659757235923100586090910776611059070574529877792033342687950159559529068383\"\n ],\n \"19365179470984659215040670731823127980300091135854741012328101638447373133406\": [\n \"4303576270574137158723647697372296160004525962376905358615255019303204682363\",\n \"3934881571605292938735695098762660025095541225022893418292484318659548881270\"\n ],\n \"17819994365113880178066059108401141775082951292162625344750717600379445125331\": [\n \"15142467315114117511920764201519234517123230538125205765270960665347764506548\",\n \"1\",\n \"1\"\n ],\n \"986264697121087327497730049751556561884181320136100938584056794491463869899\": [\n \"17819994365113880178066059108401141775082951292162625344750717600379445125331\",\n \"362880839271056016890556183653762592425365696244047123283889964238753391376\"\n ],\n \"4572614117124298060266518225130608512716601335210042109267383466107998213888\": [\n \"0\",\n \"986264697121087327497730049751556561884181320136100938584056794491463869899\"\n ],\n \"2897103343566008914392361814372435678874213483324387870479558384106974417525\": [\n \"1131287384356202809549348471818159104318960916550309726908763285085354082690\",\n \"1\",\n \"1\"\n ],\n \"10368221087828466081038450691143291168594910725682470831053955378191942130892\": [\n \"2897103343566008914392361814372435678874213483324387870479558384106974417525\",\n \"12029296263007024144353552623611152938180513242123694567265534158028946330943\"\n ],\n \"9458934448666915581702113815293305453418180248110017490622457336721071878813\": [\n \"10368221087828466081038450691143291168594910725682470831053955378191942130892\",\n \"17905370989566603880814892107314507266609879345524015680814142356066212888779\"\n ],\n \"13574960366617377808532185487011066568511976440665892922678122833193516333698\": [\n \"9458934448666915581702113815293305453418180248110017490622457336721071878813\",\n \"17071475937344202005111014047987997911463660202648185028885065943082069305018\"\n ],\n \"11748619047968691614156743919851682804617866374020359610303919245064847633161\": [\n \"13574960366617377808532185487011066568511976440665892922678122833193516333698\",\n \"13126168558864656639466317800818975485895786144604013757734040201734316019389\"\n ],\n \"15601910581110753091105324894315138005275363314859356571838634383689702538951\": [\n \"11748619047968691614156743919851682804617866374020359610303919245064847633161\",\n \"15143765643608201800052609333476073104831936654574871134067186494223193780235\"\n ],\n \"14670681569791437583205452879381691381503089215956534409427845032218589323835\": [\n \"18097694407453852897495993096844651029420200070750178479855618428529514018988\",\n \"1\",\n \"1\"\n ],\n \"8788095451448883091877328760531396414125682077501758047282812758704837952908\": [\n \"10812488159054231342024536230399540121264751551810384106352807086630909571109\",\n \"14670681569791437583205452879381691381503089215956534409427845032218589323835\"\n ],\n \"17447904583047520298206205621753642940049729721443953192094197581119518736642\": [\n \"0\",\n \"8788095451448883091877328760531396414125682077501758047282812758704837952908\"\n ],\n \"14562897911684693496167135348733383240233843392262908210894149651695544840787\": [\n \"18217562498682865649864198006688580923050179076080560267208413340170347447790\",\n \"17447904583047520298206205621753642940049729721443953192094197581119518736642\"\n ],\n \"1296352326525120432885681178459574799637324906899743030003687552179495889967\": [\n \"0\",\n \"14562897911684693496167135348733383240233843392262908210894149651695544840787\"\n ],\n \"1205563464415465251214089186873435963006558463830936910592158210100107602648\": [\n \"1296352326525120432885681178459574799637324906899743030003687552179495889967\",\n \"21524948619538592635181798938985321287031005333255326757401612598439443099634\"\n ],\n \"8347712854921751364086409543767053945849369360635485222555175187507004895667\": [\n \"1205563464415465251214089186873435963006558463830936910592158210100107602648\",\n \"10688420505149025972540653706076194000874002287731203395666107281118927318804\"\n ],\n \"17860786447993885850885401031201885893684291537725537277047379679157160489335\": [\n \"19429496084757991066625426363875971136442480748195484246218281741283291705003\",\n \"1\",\n \"1\"\n ],\n \"122705069818924346439361137647103894168534766092580717337569624443729559588\": [\n \"14240810901241905348573520403801569026931077228220611733692618410074324884096\",\n \"1\",\n \"1\"\n ],\n \"14216217084370128045627940922441211977414361123875540741531229631072220597188\": [\n \"6276211315876961297941093935611528652079493799511589299550627734521343244419\",\n \"122705069818924346439361137647103894168534766092580717337569624443729559588\"\n ],\n \"6839320488638236396272760442365796697243855375422254821596550393330955621023\": [\n \"14216217084370128045627940922441211977414361123875540741531229631072220597188\",\n \"0\"\n ],\n \"9766265362626779924611722649477959508210482862291803008334711948568238178251\": [\n \"0\",\n \"6839320488638236396272760442365796697243855375422254821596550393330955621023\"\n ],\n \"19669955485091152620561118073307409919982349127891569800281412778730643374427\": [\n \"15526021063700378841942406835767930572873367270247494867161896965550312323989\",\n \"9766265362626779924611722649477959508210482862291803008334711948568238178251\"\n ],\n \"9737743168302995095282746788918886737277061442060796151127387158059053488562\": [\n \"19669955485091152620561118073307409919982349127891569800281412778730643374427\",\n \"1917611421283943569828585914777651006158185402469641197227241404264373585539\"\n ],\n \"18231644208727489641942797625273121486768107869074766339050417058881617292517\": [\n \"16991495568953419759450305612154390944546875328885738105314064616085716432212\",\n \"9737743168302995095282746788918886737277061442060796151127387158059053488562\"\n ],\n \"4000319025303737136089570728301216433438198388078838459176443526225410353593\": [\n \"10502125574410037999067735569139524488154245032006182265412349144760743714255\",\n \"1\",\n \"1\"\n ],\n \"5928642298173424241712693217801444811345493629023468886357302562602274133036\": [\n \"4000319025303737136089570728301216433438198388078838459176443526225410353593\",\n \"7732744534201951383562373541643965080454837320282314806386785900107821325127\"\n ],\n \"19487461788591660745632150129248072856552794323689918950340852230155911660382\": [\n \"16295154389298586872719302498171036312447231538133212907008461376100770728999\",\n \"5928642298173424241712693217801444811345493629023468886357302562602274133036\"\n ],\n \"18737195422636330233610160355662841287654971751208574320192363264998732245007\": [\n \"15918109271850691015697496781539095946272338305314326549668328968106248452981\",\n \"19487461788591660745632150129248072856552794323689918950340852230155911660382\"\n ],\n \"19767852392420546086909523323391402309344530501381126906555983727454382020933\": [\n \"8272950350960676966237973872608985660459063740611492773524190279548372267796\",\n \"18737195422636330233610160355662841287654971751208574320192363264998732245007\"\n ],\n \"2620529344263808156145099886779455636736856980535913500629540917983198495374\": [\n \"5876033979878811451545429260429764784227938871062500920621718257010353269507\",\n \"1\",\n \"1\"\n ],\n \"12623173732901233468535026967624490842976645316295281403844209138602979379952\": [\n \"6901083687722104559971099443415336091653399029298307150370992647868591990639\",\n \"2620529344263808156145099886779455636736856980535913500629540917983198495374\"\n ],\n \"9731815418654081877856845212403830936410586411250829058127049913809592120123\": [\n \"12623173732901233468535026967624490842976645316295281403844209138602979379952\",\n \"19299558577959232862133016016920890892199637873837524494066397896731722377552\"\n ],\n \"18229552100287504987864905236143544768701755772164580694311891844255874190670\": [\n \"9643007429921840615125211540876341419023682379432402530895659971789507446532\",\n \"9731815418654081877856845212403830936410586411250829058127049913809592120123\"\n ],\n \"17980004433581390036816075535618343246433236313781109993384792715339828813022\": [\n \"18229552100287504987864905236143544768701755772164580694311891844255874190670\",\n \"9511604095066667715045795237753299518629152480469473623856329667599963974939\"\n ],\n \"7409914271391886728879923754884681115297384923781452279529441592056984593530\": [\n \"2817172411523498935340627834541130314450801253728413437883299209205844162320\",\n \"1\",\n \"1\"\n ],\n \"5028462181150554990565273052654209865822250689257278606139801268258331621933\": [\n \"7409914271391886728879923754884681115297384923781452279529441592056984593530\",\n \"14116825616541559396869592764091571415181558838265828364106236103337305186333\"\n ],\n \"2472659645632338412303992218925473465631789937896009560045559992369401192809\": [\n \"21091967692026182331155632168200691269861224669170843955848685587569869376058\",\n \"5028462181150554990565273052654209865822250689257278606139801268258331621933\"\n ],\n \"3963080441850154609654034384926954781561264924653555573677404229618671616447\": [\n \"12621203203116237160791076435748943542496142233510766925015005179797855667225\",\n \"1\",\n \"1\"\n ],\n \"19776838015512165986939106683254923156435002891183783659994121492607179984496\": [\n \"3963080441850154609654034384926954781561264924653555573677404229618671616447\",\n \"10491340179910216451663427820182208216790793903510199697084063462072313574000\"\n ],\n \"6801110072717555715989843827295445945041206331245669589444832237944359004555\": [\n \"19776838015512165986939106683254923156435002891183783659994121492607179984496\",\n \"6890325434116397367098301850560706436539713345267455230742538527035930475304\"\n ],\n \"7647492294271132964370754256707401178226944478132495385435179348461341473788\": [\n \"13700892152675768828933572549933350371601052964693598515519099852061996376748\",\n \"6801110072717555715989843827295445945041206331245669589444832237944359004555\"\n ],\n \"13050329111652903853958892306727888960558434903103891578968026316474265263544\": [\n \"7647492294271132964370754256707401178226944478132495385435179348461341473788\",\n \"10568314875729282642453909869456140049281679157793696733960219964238267900526\"\n ],\n \"3358193584108948781057932893432596892726478961543471462012429718134613555409\": [\n \"14410643924994169655779425381420031886720697922351507695034551948835307543767\",\n \"1\",\n \"1\"\n ],\n \"17703541918061998764025224307744425790900036929131943389592150078152473157904\": [\n \"3358193584108948781057932893432596892726478961543471462012429718134613555409\",\n \"1762621612061279897878534508254827144582827484152383810447513744351679619546\"\n ],\n \"16734163743422494454750147331128379825050641430057450003132177162413142821054\": [\n \"3044007930135383965361299743666839538939114352240382580774444582678414788988\",\n \"17703541918061998764025224307744425790900036929131943389592150078152473157904\"\n ],\n \"3599394169192342197774591489698561393363459064824294540005903570649799364080\": [\n \"16584424354810731529106918225813226705870939387949638402096745485724018140396\",\n \"1\",\n \"1\"\n ],\n \"10959584123800300394701637406111516513724591997617609596406626820441591654052\": [\n \"14639184137948232966749368796876604267560430887625981388361012694841599096058\",\n \"3599394169192342197774591489698561393363459064824294540005903570649799364080\"\n ],\n \"6309690068840101335016749946161836117643999248641976874324497154484923344923\": [\n \"10959584123800300394701637406111516513724591997617609596406626820441591654052\",\n \"18063484431088105099831319406561472091922678511785288702975630279885504101314\"\n ],\n \"17344799262187639703668903909286456265105627403164040532032788016459994836443\": [\n \"17554062836943476559267141475759269428180770122463351800010811515178084973027\",\n \"1\",\n \"1\"\n ],\n \"14330285891809573026626408365884212924987983067690987673459452420093388757447\": [\n \"19114439481434616204052535693070423595831305165760295393187962849351206142275\",\n \"17344799262187639703668903909286456265105627403164040532032788016459994836443\"\n ],\n \"17281972892745131287099357036238283731854863455568200596126128292285463299550\": [\n \"18680128018629727354978675176237745063028472555568757448426909885832626594928\",\n \"14330285891809573026626408365884212924987983067690987673459452420093388757447\"\n ],\n \"1628900667085496767395989804111181312336922259994637984419317126125915882223\": [\n \"0\",\n \"17281972892745131287099357036238283731854863455568200596126128292285463299550\"\n ],\n \"7144940900851456882820570841524516868893820417049973090601152417127179684492\": [\n \"1628900667085496767395989804111181312336922259994637984419317126125915882223\",\n \"13865441962995707935410097788305080748050245848715135189247476393355942861120\"\n ],\n \"16246406980703481731555863262333592792930627480541920863946929550363686470760\": [\n \"7144940900851456882820570841524516868893820417049973090601152417127179684492\",\n \"20852723184689735280606650082642596490595864079241798600344136375715550074558\"\n ],\n \"15067265320409401301262054003034596038153471029762797690109952557791733304814\": [\n \"21579136123574280746095777429994942376689039834769087302823407690026150741580\",\n \"1\",\n \"1\"\n ],\n \"19024204522330173125827800155636738714818459274735512410396148765649306888434\": [\n \"14826806805481657426196448232436905198843674124398311500828788587298244465479\",\n \"1\",\n \"1\"\n ],\n \"17142530902484895326679851172424223489515029526561027003949862218052745042507\": [\n \"19024204522330173125827800155636738714818459274735512410396148765649306888434\",\n \"7023208662732251683177963698737799493110359536130309616309250814278375413419\"\n ],\n \"11445768321340760233083924958533496193794522577820818949853230231924918547967\": [\n \"15646795521683439670209305624564398226819101699144108971741442086520007146773\",\n \"17142530902484895326679851172424223489515029526561027003949862218052745042507\"\n ],\n \"19494557631120489605957108550479115874877850449203175927606668567298581179716\": [\n \"11445768321340760233083924958533496193794522577820818949853230231924918547967\",\n \"14398484818037219973855590959335793013533370932452693151077243137470250795687\"\n ],\n \"18556122975526979096191723612946896910141006691921534724754551900025962187158\": [\n \"5506027635668717002218475053348426422424595245002396997658255553009340254639\",\n \"1\",\n \"1\"\n ],\n \"12525540079410769703620844052644950122900703318249035721110668811477345789102\": [\n \"18556122975526979096191723612946896910141006691921534724754551900025962187158\",\n \"11481183774659868207026086587547807047695320411226652709543325207379568459534\"\n ],\n \"352485908257855011445931279485358896272557794446119046503406323092572152883\": [\n \"12525540079410769703620844052644950122900703318249035721110668811477345789102\",\n \"10926931066279251480979229110505907521037649602299693701794029250527754085277\"\n ],\n \"4705116485604380532272323579660280808596203433704422181769390720846170047252\": [\n \"21380822550427796493325838758469598891643061650068594939938245029200376975623\",\n \"1\",\n \"1\"\n ],\n \"19179866516600767186482166881695040708908168125589046353648209734613660107509\": [\n \"13980969485516814083848374138353470610455903932319070009374013367503073818844\",\n \"1\",\n \"1\"\n ],\n \"14804177697616115765580387978999422644453313833519403589800848581875733440686\": [\n \"5570907071543108988614060558851974508674121266885935631131739967491120458516\",\n \"19179866516600767186482166881695040708908168125589046353648209734613660107509\"\n ],\n \"19063794560763578641584724766500640806635016690055595321859688101824695033838\": [\n \"16716251007557340930580313218282848998309334341932321835487525834649846809621\",\n \"14804177697616115765580387978999422644453313833519403589800848581875733440686\"\n ],\n \"15622717373290158225593852737040486984653149555535048322645673540717314819866\": [\n \"19063794560763578641584724766500640806635016690055595321859688101824695033838\",\n \"0\"\n ],\n \"1422109433826886472122922879864429994986392123285874363690470690016204109892\": [\n \"15622717373290158225593852737040486984653149555535048322645673540717314819866\",\n \"10142589317652517558731624620970338521015526705670093800102474207038419111703\"\n ],\n \"7731612533960647050520629068760840990867031764780514387645459849243522450145\": [\n \"1422109433826886472122922879864429994986392123285874363690470690016204109892\",\n \"20713093004811537962375636271835301957951049165549398479937364729000729774851\"\n ],\n \"18868574414930171982894993280276440892217343030119537577036587770938089147971\": [\n \"5360082570082079717380724960585254946925379648157803048756158337597134178890\",\n \"1\",\n \"1\"\n ],\n \"3567123958547235587436654029120983279195014262562077651230600044595664682608\": [\n \"18868574414930171982894993280276440892217343030119537577036587770938089147971\",\n \"14465473092415563121508096712862854456857073349041657616527942777770141263266\"\n ],\n \"12013847778139716618177223843800764688595642345895457328956856744267574344230\": [\n \"3567123958547235587436654029120983279195014262562077651230600044595664682608\",\n \"9100125653569681511087832736734491871616384377093439203721280825798487190584\"\n ],\n \"10921883415300902623791172171794691855745580114330744487105059240317857095857\": [\n \"12013847778139716618177223843800764688595642345895457328956856744267574344230\",\n \"0\"\n ],\n \"14813523837379699440777879822705049965068628635805277680552643094727995347225\": [\n \"11645986162215587844502430328071612467243643615529855546547087924006688568340\",\n \"10921883415300902623791172171794691855745580114330744487105059240317857095857\"\n ],\n \"19916453013234824487584811178762714705126514325220921767709507667871675076285\": [\n \"14813523837379699440777879822705049965068628635805277680552643094727995347225\",\n \"1770641687810624242120105346523759472440694178409554266242530840934563702505\"\n ],\n \"13478147895819683909798451328076087189874830547058271931858573424174250645524\": [\n \"5499268740215365454451501649897073151684365218713064479351687011977633096449\",\n \"19916453013234824487584811178762714705126514325220921767709507667871675076285\"\n ],\n \"11203668734381475121220778896610232423585984300241222054272642154042052912636\": [\n \"13478147895819683909798451328076087189874830547058271931858573424174250645524\",\n \"17854782877150404554826018581620478361768623790254223853020928369140935499572\"\n ],\n \"21324180818629410273404610889795516295747408257191912610515762440759736489096\": [\n \"21097397551647517942621719258101311981512420999461119898411134192888115976246\",\n \"1\",\n \"1\"\n ],\n \"20536601350440321812643946961066097665321374636427509325340253682769863672619\": [\n \"20979834109006843641938302432807896982541989892044683791592373321917689473809\",\n \"1\",\n \"1\"\n ],\n \"12314170257504424594822174345454776152876596938931868095548487864771850945343\": [\n \"20536601350440321812643946961066097665321374636427509325340253682769863672619\",\n \"13695994712479638466744851749427460481125401774725045949074042704493073003334\"\n ],\n \"4820656999860473677787676686783634201299897997071444002059328776839812810802\": [\n \"2780850726472170369384585771070476269967082027231086970293210257562587497620\",\n \"1\",\n \"1\"\n ],\n \"8202276126906959266447501104851796229425317860872047453520669661847612407177\": [\n \"4820656999860473677787676686783634201299897997071444002059328776839812810802\",\n \"20451940272688034432184134463400716251606714668784706443144462102351919574205\"\n ],\n \"19271813125123697412993648327263310225027347431447740684039324027345690746073\": [\n \"8202276126906959266447501104851796229425317860872047453520669661847612407177\",\n \"0\"\n ],\n \"19427500158024180864943430634107004286647070684657644062006634316862039774384\": [\n \"19271813125123697412993648327263310225027347431447740684039324027345690746073\",\n \"0\"\n ],\n \"17250939438166621971249832945792077662714870839691829674986830704718541438770\": [\n \"19427500158024180864943430634107004286647070684657644062006634316862039774384\",\n \"0\"\n ],\n \"11265640576734924584137615155021133408563259371402008752539591626728650617028\": [\n \"17250939438166621971249832945792077662714870839691829674986830704718541438770\",\n \"11202508534474807037809687198943385991483327637113446336056628670143431607719\"\n ],\n \"3901584560563078945904283169206572530319454328810017114271062129906364726987\": [\n \"10965458778560428551736543008142442393973187619528914930835553083670660927039\",\n \"11265640576734924584137615155021133408563259371402008752539591626728650617028\"\n ],\n \"13439538198151307117813177869667477326596534132272414669063683354433180561272\": [\n \"3901584560563078945904283169206572530319454328810017114271062129906364726987\",\n \"15435005488286576638729204613389399378173736733318260132105839062825401435948\"\n ],\n \"10876496900189694606384191282199164142367479621778941870109816681148227981940\": [\n \"4192676538249707313926154363966553485797446949992803749991781123379836776990\",\n \"1\",\n \"1\"\n ],\n \"8616568800361312099984940175322014303276249458230470650488031789569829567409\": [\n \"3707055717080258980514179836710670438679165525688042524012323628428086660939\",\n \"10876496900189694606384191282199164142367479621778941870109816681148227981940\"\n ],\n \"2016523399023648634144523520504719384022042880431663075464440877118889036896\": [\n \"0\",\n \"8616568800361312099984940175322014303276249458230470650488031789569829567409\"\n ],\n \"8495766790037709136353974488505123923963236076393282003388785799218697004798\": [\n \"2016523399023648634144523520504719384022042880431663075464440877118889036896\",\n \"0\"\n ],\n \"5874014319190917955625398424618619434813976273126302321233961252799992105233\": [\n \"17520418168062781025673397805975812555435704982792369172707538852547430524834\",\n \"1\",\n \"1\"\n ],\n \"19296842113500507129385866822981016491971240432751096476918191728827267381239\": [\n \"12063908366507519049047035378138517194911301311683640126551552392237889015495\",\n \"1\",\n \"1\"\n ],\n \"10785242335637676019615879506683443361041288113534369922839115597888231185656\": [\n \"9754408257977043883878471325758754051962616605404009979813849384069150460738\",\n \"19296842113500507129385866822981016491971240432751096476918191728827267381239\"\n ],\n \"12918405656468641350409476137406602470471523984890446819643136878530653676002\": [\n \"0\",\n \"10785242335637676019615879506683443361041288113534369922839115597888231185656\"\n ],\n \"13484417848538856803832910183025409119772863458951162832908563597012404515578\": [\n \"12918405656468641350409476137406602470471523984890446819643136878530653676002\",\n \"0\"\n ],\n \"2992480556079358434950536009892849775570641835959952678548603840173418410416\": [\n \"13484417848538856803832910183025409119772863458951162832908563597012404515578\",\n \"0\"\n ],\n \"12754710676581503493286699131625481580910809595196887836055976473171481052138\": [\n \"0\",\n \"2992480556079358434950536009892849775570641835959952678548603840173418410416\"\n ],\n \"5061475413528923495912046523141252924803057907514214950055610700537708966124\": [\n \"15034669211176596446093874902713422104108337269461859050877068954276798283672\",\n \"1\",\n \"1\"\n ],\n \"17376552521368761383527552627645296816718604820999619612580693290478162603315\": [\n \"1572206209367745317912483220765953635947383077275274051447786200606641403683\",\n \"5061475413528923495912046523141252924803057907514214950055610700537708966124\"\n ],\n \"12761459636124679985634370141377581191326139958995744603668912103516571079024\": [\n \"9899705028387990474137200845415677073857154475822777739786730672087376443275\",\n \"17376552521368761383527552627645296816718604820999619612580693290478162603315\"\n ],\n \"5992052895831931789349451653905596196902993227612411639201110777279494777331\": [\n \"16988998860074919608926023243006455380267954411471759152804529978358652954868\",\n \"12761459636124679985634370141377581191326139958995744603668912103516571079024\"\n ],\n \"12474697376762097518056932209042302224247266673190860180177435645463905230253\": [\n \"20513666829064100145201020077623285785128126692180321834849576274986505943653\",\n \"1\",\n \"1\"\n ],\n \"10750010869593599787206327377745042602713685409991286259606196479956748227683\": [\n \"10515222217148471745515806224950411183417642633470317412387465035299561033464\",\n \"1\",\n \"1\"\n ],\n \"10455014080020330480878038071207693843856432319069057406968994795512541388904\": [\n \"10750010869593599787206327377745042602713685409991286259606196479956748227683\",\n \"14728905181708111270790677030284654578160525162028826235264268612856771324049\"\n ],\n \"18081783619356761351484791058362886670454048654109108583042251646981422761686\": [\n \"18752601097956133320394920935246070208186873490978843806198170469205121475120\",\n \"1\",\n \"1\"\n ],\n \"18115648903713824288274687907624390409349771891854844948899904559596882756900\": [\n \"18081783619356761351484791058362886670454048654109108583042251646981422761686\",\n \"6913681978275260431253729494511143620704227003407512567224704099415289352783\"\n ],\n \"6766093015697022402221143208758203636508104371603978466716170066689487500603\": [\n \"19228971947247387086239953833229728272081234177132743540141199771426395770086\",\n \"1\",\n \"1\"\n ],\n \"710346894650993165689714373844206651776149861165360550816103139315547005811\": [\n \"1489100679075290597847180903446526162104446871172768020964389854436950165089\",\n \"6766093015697022402221143208758203636508104371603978466716170066689487500603\"\n ],\n \"5659068987913922006118367212447150753872827826160882748601040418724146757878\": [\n \"710346894650993165689714373844206651776149861165360550816103139315547005811\",\n \"0\"\n ],\n \"924417879769109395081474993774353383573103019675002771624899704929224731690\": [\n \"0\",\n \"5659068987913922006118367212447150753872827826160882748601040418724146757878\"\n ],\n \"18575000940542587885086183496134041533045236514881012740851984731065524168937\": [\n \"0\",\n \"924417879769109395081474993774353383573103019675002771624899704929224731690\"\n ],\n \"7099008463325533942390888039465116893929598525978037962082349833332992595397\": [\n \"0\",\n \"18575000940542587885086183496134041533045236514881012740851984731065524168937\"\n ],\n \"11721109880193578823598439278520992846885489161202751269853848650273106799622\": [\n \"0\",\n \"7099008463325533942390888039465116893929598525978037962082349833332992595397\"\n ],\n \"16486706697158052841568464240567898768632306571673712609601750405687255973883\": [\n \"11721109880193578823598439278520992846885489161202751269853848650273106799622\",\n \"15422630053356926080623067192252451840817825272312426223826627305826400060216\"\n ],\n \"6497847188724374563174442026829847122310996643294935465674346415811898782374\": [\n \"16486706697158052841568464240567898768632306571673712609601750405687255973883\",\n \"0\"\n ],\n \"1512715278088827812898256237530341478510634196912935802624628549867248072770\": [\n \"5663470509632385968859777638722879349074716896659648408838498630620920991015\",\n \"1\",\n \"1\"\n ],\n \"17868690680901340192721478821947180805210106515733586307451138461757924744959\": [\n \"1512715278088827812898256237530341478510634196912935802624628549867248072770\",\n \"5979222654651869694691052225007133126638405506192014237357259637377412285402\"\n ],\n \"13830589662048972274377774837214591125669118762721080676158551014354193331018\": [\n \"17868690680901340192721478821947180805210106515733586307451138461757924744959\",\n \"4664608873097577638283471424102732997697599731480430441174841585466912148738\"\n ],\n \"12340503659776814704987725535516904973610381072211261013923596466653311870794\": [\n \"2782435156957890442386910523374021118025841769030268117788332946958075979595\",\n \"13830589662048972274377774837214591125669118762721080676158551014354193331018\"\n ],\n \"16645731411770561072649738295482030794424210198384331021621198966826024569458\": [\n \"12212448612558160963218074505666346307962854768931698179633644433101548218228\",\n \"1\",\n \"1\"\n ],\n \"4083826140656024109424153889138922950497062564685681221140862339339169707238\": [\n \"16645731411770561072649738295482030794424210198384331021621198966826024569458\",\n \"16394842786770427130212177974624543486682339706141847541848656308043936268476\"\n ],\n \"7907667692572020103023072153042941192172492563947954822691764168329502731085\": [\n \"12681641862585325389934487119151509559676848782507819047781655661995675570662\",\n \"4083826140656024109424153889138922950497062564685681221140862339339169707238\"\n ],\n \"4727665246225949591825935722165334090848413361295812427162515297835963106386\": [\n \"16172695655703051372375353949668460286569106923187824653495058233559469096100\",\n \"1\",\n \"1\"\n ],\n \"3446775789399623082977806169643385006002442017651813659626469412403126106139\": [\n \"8775229193266200813311156913341056506059248337202083424139372431551699582102\",\n \"4727665246225949591825935722165334090848413361295812427162515297835963106386\"\n ],\n \"14007900967194153894716824962930597173553004120795275604013056398443778610393\": [\n \"21486086768780885190711058874869157140095339636341436295859650742199538215731\",\n \"3446775789399623082977806169643385006002442017651813659626469412403126106139\"\n ],\n \"11664457108586092995740559921565084147037817400029426131051821357261884594743\": [\n \"16790990180909926855941180324124409345160677299573092707860637872343565146171\",\n \"1\",\n \"1\"\n ],\n \"16992979900686696674635212342212336657188634017417496563795777772758391701202\": [\n \"19314424774986429513113384941194718125258235602312203593976859741234725826961\",\n \"11664457108586092995740559921565084147037817400029426131051821357261884594743\"\n ],\n \"21275987295560254499344944817480393011975472496225948090210169528262240083488\": [\n \"3364912864168931196883697106474148189409909841453634796789857036436915017264\",\n \"16992979900686696674635212342212336657188634017417496563795777772758391701202\"\n ],\n \"9542006965003741232306432466881615543608888931972161157733805594540124837284\": [\n \"21275987295560254499344944817480393011975472496225948090210169528262240083488\",\n \"13527281593434224465425012162539841464846894749322203877496097177931043167158\"\n ],\n \"1889203504827822613225354727189027779891722319543695489613739246672891400785\": [\n \"5077814534704777710566904166022543789810956408594206023122951716718537684209\",\n \"1\",\n \"1\"\n ],\n \"3762270441606677669607131607650043327943142274254989181280444740269536527807\": [\n \"1889203504827822613225354727189027779891722319543695489613739246672891400785\",\n \"7726732588822736987168075648042737882067480248178655995206090415727385996543\"\n ],\n \"17386058350475702091200347947001625604466990624295295027538276128300874141555\": [\n \"4993155334337488831672164409807074112366902404981302371913870409884877392971\",\n \"3762270441606677669607131607650043327943142274254989181280444740269536527807\"\n ],\n \"17812070439598832748865339659832256079714643960493644902083151872692767936181\": [\n \"17386058350475702091200347947001625604466990624295295027538276128300874141555\",\n \"16160634219669948227711065006282300184768853630441568322684861056709879337863\"\n ],\n \"14739109220528390400548375990278145179387271144863097918804352404363520619662\": [\n \"10739743332727185256481368907465211406322517274398408706728764798888352309960\",\n \"1\",\n \"1\"\n ],\n \"5214500212431931984179315310366640040926634761089486443984288945606221459819\": [\n \"14739109220528390400548375990278145179387271144863097918804352404363520619662\",\n \"11109943777386844471045221348213828196673887897677223848933819700540796902519\"\n ],\n \"8864848202880848706696895924583438052925927534418330247780383448014947755791\": [\n \"5561099855444427781318805900049649468870785291114886611953355165300304692720\",\n \"5214500212431931984179315310366640040926634761089486443984288945606221459819\"\n ],\n \"20106782417924514213894146249218219143318200710309675391555200980890447303561\": [\n \"13153421724511007023768786555650535235857380103739920941975681164104961610272\",\n \"8864848202880848706696895924583438052925927534418330247780383448014947755791\"\n ],\n \"12918527196863287188968980736613807626212098703849075262089399382536885730386\": [\n \"20106782417924514213894146249218219143318200710309675391555200980890447303561\",\n \"16878523176889425049985919082718136819518921995680383502057992860138353770691\"\n ],\n \"21846920119440677470825085257196279061435461592615467987865894270206582517822\": [\n \"12918527196863287188968980736613807626212098703849075262089399382536885730386\",\n \"10061406106038138223869380676643216307487657296349059188818405246076250161462\"\n ],\n \"5514215783655484670635683304262320877299724039344697495459094280698446583876\": [\n \"752942304676378848874618784373729386207862147669653554650917495636732517857\",\n \"1\",\n \"1\"\n ],\n \"1857316540321740487540773029623392637458367002843545442501424263065602157909\": [\n \"5054684535581475013809084582744449831680758409844534597838949892547636642902\",\n \"5514215783655484670635683304262320877299724039344697495459094280698446583876\"\n ],\n \"17123288070738368697845890342455204613321813254681996301071462659455909645461\": [\n \"18798168720877854306543070938649310004595042224705831673243510120349737476520\",\n \"1\",\n \"1\"\n ],\n \"19585427639910017701008714080906791161036579154908725530751366260278499852229\": [\n \"9655420902174630324574960604880272393934394927378156222037961375491119106557\",\n \"17123288070738368697845890342455204613321813254681996301071462659455909645461\"\n ],\n \"3689044747138031801807300298727790983141285443236237383327376936530027702599\": [\n \"19585427639910017701008714080906791161036579154908725530751366260278499852229\",\n \"0\"\n ],\n \"6838098496035543907834265701390725935461582895764880490610066145225966035683\": [\n \"11123552616673237635540055663583859391644351474592672847188043699790491018561\",\n \"1\",\n \"1\"\n ],\n \"4505474071849155620029239395930812559056906551485932660791257849359730445214\": [\n \"6838098496035543907834265701390725935461582895764880490610066145225966035683\",\n \"2046903020156090672069508252690529341346407680820089611216524019251950043862\"\n ],\n \"4616213009363519091022232005522338666412774452977307236251460915062975487553\": [\n \"5989549414963475134075195323059715512537661747768076466418196547639883575951\",\n \"4505474071849155620029239395930812559056906551485932660791257849359730445214\"\n ],\n \"872327131345145311365840697797457379562037418669872425007327853919335619045\": [\n \"6327791168089554805132384327486592440569623991306542977521596500777519465694\",\n \"1\",\n \"1\"\n ],\n \"6170114779612175734028294456549349571920829351779223579893672055488697001196\": [\n \"872327131345145311365840697797457379562037418669872425007327853919335619045\",\n \"20322111375389333610882639481476530558712964964185032734379757187496818862380\"\n ],\n \"1117389044617390342142881039428936419813429979129593262401788006162031790363\": [\n \"6170114779612175734028294456549349571920829351779223579893672055488697001196\",\n \"0\"\n ],\n \"18159930977773357204938686912608189251073670295522043663108550909101640999508\": [\n \"7706127778187809993182978303535036024484496747542536772083710354719693114570\",\n \"1\",\n \"1\"\n ],\n \"10073567798010752638475098719608857163907800832869773818973460123028072839383\": [\n \"13307784477949221228747252430181456754684354448485209033220885642909704980806\",\n \"18159930977773357204938686912608189251073670295522043663108550909101640999508\"\n ],\n \"5701169582955840438942945732460104703534309540732962878789121220994891856987\": [\n \"12538341124655274108351860305690693401904455901435217561128828184685282717285\",\n \"10073567798010752638475098719608857163907800832869773818973460123028072839383\"\n ],\n \"12572426921352653115565266333107626701359090579860470405485685449345963111795\": [\n \"1482902993388708406875884309417432094810333421245285292389275132863047757250\",\n \"1\",\n \"1\"\n ],\n \"12334978799607188769900880936292393122644440492550039265011357851836523498758\": [\n \"12572426921352653115565266333107626701359090579860470405485685449345963111795\",\n \"9147908380361919965300970310166096917320903971694399481220534814488091663668\"\n ],\n \"17301614727203945791909514394312569262654568367982433753022260438594988434535\": [\n \"0\",\n \"12334978799607188769900880936292393122644440492550039265011357851836523498758\"\n ],\n \"21528333815349597004483906129305949708255062380399952767688633827227194587538\": [\n \"0\",\n \"17301614727203945791909514394312569262654568367982433753022260438594988434535\"\n ],\n \"9385668691623495272467255150682833989215882797612753414008073497799961544606\": [\n \"21528333815349597004483906129305949708255062380399952767688633827227194587538\",\n \"0\"\n ],\n \"19157406106340431568759402391719882736227297514667564622850787472853161069315\": [\n \"0\",\n \"9385668691623495272467255150682833989215882797612753414008073497799961544606\"\n ],\n \"4679604603673504515895878671070117773030686751650762892646833872914062322718\": [\n \"9578327173070388972673396606812166432843126316614737301795948578685881923283\",\n \"1\",\n \"1\"\n ],\n \"4612827593165167025413169322937455047412659280902594756121545372566340457758\": [\n \"18186443437038973877058717959967424407413033696326924059934115649549059825342\",\n \"4679604603673504515895878671070117773030686751650762892646833872914062322718\"\n ],\n \"8870448689332399984987621276619929223046803956818275515787937325068321260740\": [\n \"0\",\n \"4612827593165167025413169322937455047412659280902594756121545372566340457758\"\n ],\n \"11778543589023739851431777874891657206525627213047180525369368428929984151859\": [\n \"8870448689332399984987621276619929223046803956818275515787937325068321260740\",\n \"1131083052495200917805738611461162281383223243491060918564992120556654565121\"\n ],\n \"20117266338885903003558053668961316265791523459081793925117876997235837613326\": [\n \"13046039538337928701172823342155479557485740575742064872363421772482213911133\",\n \"11778543589023739851431777874891657206525627213047180525369368428929984151859\"\n ],\n \"19307075661841044836689202778923757586269526236195124457674282995996117024171\": [\n \"6368890642629744023396971536606945186464811111169078563234305630060729014830\",\n \"1\",\n \"1\"\n ],\n \"10455362420356792962137507782591281761170028266532260009966596678048926835841\": [\n \"19307075661841044836689202778923757586269526236195124457674282995996117024171\",\n \"287042805495039428081450984726078964024100176646521106260744663745373340978\"\n ],\n \"14759461597014107190185648311127833403422677785132777833189794147641287979107\": [\n \"10455362420356792962137507782591281761170028266532260009966596678048926835841\",\n \"0\"\n ],\n \"17571850845240472498232895741091880821250568410644173776215967988776705934293\": [\n \"14759461597014107190185648311127833403422677785132777833189794147641287979107\",\n \"18268472097503805208069300288276223772851041962762888587330102442237396820364\"\n ],\n \"15857698414726300710361496480914339639390734199022810328981175375807254141629\": [\n \"7956425188521790009200360459204805327722179487118804098841113248262849315431\",\n \"17571850845240472498232895741091880821250568410644173776215967988776705934293\"\n ],\n \"14391418057644311282411931345328073890355117083542671308609924813306612628745\": [\n \"3783401906329260074191964714446365237478995149579589399227975873173801838908\",\n \"15857698414726300710361496480914339639390734199022810328981175375807254141629\"\n ],\n \"16882964127208731055748602562392296288750427342671219730414589375857039201495\": [\n \"2940689383983076241837438298818230240680303707028046830204213244318820285161\",\n \"1\",\n \"1\"\n ],\n \"3355213687006831276741925794535488633812799749772627928586010235075081897748\": [\n \"15726530502936785517832545992524752310954257338664504071207755324911492893676\",\n \"1\",\n \"1\"\n ],\n \"7283035363371613106151552712853751415761925357406577199011719934238349220028\": [\n \"3355213687006831276741925794535488633812799749772627928586010235075081897748\",\n \"10453085450393264986121974490205001185318939840334283544914756377099893351389\"\n ],\n \"14316930224499070949506966620746731729052946986690483856745921355578424706297\": [\n \"7283035363371613106151552712853751415761925357406577199011719934238349220028\",\n \"0\"\n ],\n \"16522851932028767840268445002296230172904507418994298100014531063639885728156\": [\n \"14316930224499070949506966620746731729052946986690483856745921355578424706297\",\n \"0\"\n ],\n \"18825584521701608914638625046332100987499971018797170642831793087539140579091\": [\n \"18662934782604354585194185288702414516059373771103616483129866638518182935189\",\n \"16522851932028767840268445002296230172904507418994298100014531063639885728156\"\n ],\n \"17640240941457078327778507601177310021063954762777504339510517249191225303255\": [\n \"18825584521701608914638625046332100987499971018797170642831793087539140579091\",\n \"18445399661666987332258378980924553465378116611599403347812189795374662765945\"\n ],\n \"17776774550541043782131969142805470831282191250971949023428471289405318382715\": [\n \"12203205161075424596307944218241515943875880917534410233046700335835522292963\",\n \"1\",\n \"1\"\n ],\n \"16604088142871176773343999197785949486267456047606198564330321776498200116904\": [\n \"17776774550541043782131969142805470831282191250971949023428471289405318382715\",\n \"19202806689749301434683276740810860305046159854349641894456933677749655194062\"\n ],\n \"20027991083063079654423356447509125830634017490559206360506063774148815916771\": [\n \"19625918717592850587146143737451785505239045395287565835790815046772142796377\",\n \"16604088142871176773343999197785949486267456047606198564330321776498200116904\"\n ],\n \"12931229287840675940903647166253594391005205694452386854453786778260807867716\": [\n \"17263506567736785307376273031442364740473898622415540604304885905350570641314\",\n \"1\",\n \"1\"\n ],\n \"5493456700913881689813968503586678008104992301678602124057346877086803045761\": [\n \"12931229287840675940903647166253594391005205694452386854453786778260807867716\",\n \"12088664935339580824405230215406333480439485973346135719730626501742019940707\"\n ],\n \"13206031400694953773458729778854046055688678708739654438183563402656635843873\": [\n \"5493456700913881689813968503586678008104992301678602124057346877086803045761\",\n \"0\"\n ],\n \"15800027328777298272910987430616301254436519695660662972641558588380975874911\": [\n \"0\",\n \"13206031400694953773458729778854046055688678708739654438183563402656635843873\"\n ],\n \"9870428187477462269990880908761824653327143763014849118766112285473209586505\": [\n \"0\",\n \"15800027328777298272910987430616301254436519695660662972641558588380975874911\"\n ],\n \"2151233066034555075625700947566980080438543233691700412006711061525147353208\": [\n \"9870428187477462269990880908761824653327143763014849118766112285473209586505\",\n \"0\"\n ],\n \"1956774264628168431735966767261406378317287917999653244932343365972628981125\": [\n \"2151233066034555075625700947566980080438543233691700412006711061525147353208\",\n \"5874014319190917955625398424618619434813976273126302321233961252799992105233\"\n ],\n \"7050965759138730005273989817762840136731169302132215608625066982565363712155\": [\n \"1956774264628168431735966767261406378317287917999653244932343365972628981125\",\n \"0\"\n ],\n \"10128490008404429807136473490955836756480183670872408818830155482849890062833\": [\n \"7050965759138730005273989817762840136731169302132215608625066982565363712155\",\n \"6861158047030977576764280962042469084504543839616045440382660281265207823878\"\n ],\n \"2306414713656411158253399192533255133330748025738341642539464821209132486407\": [\n \"16819955252882702027712653068572803494568723134149351164169001946358166441469\",\n \"1\",\n \"1\"\n ],\n \"13783344316812019117956414414374830481680197427662648545140641914205295500842\": [\n \"3455167721747330003526680237539478318243647332006063869180834491996878223929\",\n \"2306414713656411158253399192533255133330748025738341642539464821209132486407\"\n ],\n \"12366395733345613040690717578712788759521379525712802022437323972940905911892\": [\n \"0\",\n \"13783344316812019117956414414374830481680197427662648545140641914205295500842\"\n ],\n \"18942943548870650195834323881452520912258928068147946621515970473987919039713\": [\n \"0\",\n \"12366395733345613040690717578712788759521379525712802022437323972940905911892\"\n ],\n \"21019518564658023617013280545875304081470979671588568321640582882806082780116\": [\n \"18942943548870650195834323881452520912258928068147946621515970473987919039713\",\n \"16553724588863002946168167553463432577761052957228505863274568892588344127360\"\n ],\n \"2908110593805701192636782404755270604667851622147555192638743805845860007659\": [\n \"21019518564658023617013280545875304081470979671588568321640582882806082780116\",\n \"6578161713738597918066249496509762949355322314430491729905297690104344197507\"\n ],\n \"21135818601509345915797375791399796144549601757366092644522088497168097682237\": [\n \"3952254932558585954056033928963447365676887825378433426987014535689109222396\",\n \"2908110593805701192636782404755270604667851622147555192638743805845860007659\"\n ],\n \"1646728517463255964137623483281132368996877359468307627073386811463088551738\": [\n \"14081225844121949163713419115684181855656435632163265795712513303786808635769\",\n \"21135818601509345915797375791399796144549601757366092644522088497168097682237\"\n ],\n \"842307196611100465037941115884873338463891453591438254175014523151431152357\": [\n \"1646728517463255964137623483281132368996877359468307627073386811463088551738\",\n \"20198688251739336370156916680614614515607224563035219739251561828586760714310\"\n ],\n \"4419090360167359489020760958126813263460849378702155998468280680898275445439\": [\n \"7535246224163826416452223223215812663744704888754551304530832364556337956871\",\n \"1\",\n \"1\"\n ],\n \"1488676375397858656001617975766047072162673959440910698203112745905755903600\": [\n \"6085375494722351684946766427762283206756607719526062541405771959332854715619\",\n \"1\",\n \"1\"\n ],\n \"16960630266741650118983511516130885680339894275060943825329292335479023549262\": [\n \"1488676375397858656001617975766047072162673959440910698203112745905755903600\",\n \"20027991083063079654423356447509125830634017490559206360506063774148815916771\"\n ],\n \"15289870405727425649577249386349014394870133828503883993223501108403353557597\": [\n \"20485076605021044738414233589985179734863955444356056574750051191581243200300\",\n \"16960630266741650118983511516130885680339894275060943825329292335479023549262\"\n ],\n \"20312017347133032985822929625395368315144137465332633967628701704925206189722\": [\n \"15289870405727425649577249386349014394870133828503883993223501108403353557597\",\n \"2567227778065823544177895960615786981837450716635898755866024635792339097177\"\n ],\n \"19047769613895947755698875758490202166365263471443864373571761401446629061950\": [\n \"20312017347133032985822929625395368315144137465332633967628701704925206189722\",\n \"16246406980703481731555863262333592792930627480541920863946929550363686470760\"\n ],\n \"302697600983360186539449388070934433045239730010244092906574940167572609133\": [\n \"9436441058549668255578397894749582836363564435468216022761638594244717777618\",\n \"1\",\n \"1\"\n ],\n \"8167043530103417387929879692692099452020314219480577176571428327288878183836\": [\n \"4296362458975723364577715856101387455776664676429482328764817931310354177849\",\n \"1\",\n \"1\"\n ],\n \"17831436446020488573985553752914668940685247022323738036650268925106967665620\": [\n \"13815705245582541008736430455009499690667146804434458626390248333235352234367\",\n \"8167043530103417387929879692692099452020314219480577176571428327288878183836\"\n ],\n \"14285647248137171978971219488328749663249907628408047287312889998929565674215\": [\n \"17831436446020488573985553752914668940685247022323738036650268925106967665620\",\n \"0\"\n ],\n \"4865757254797347749628420722248703958393630111685357127943251590868927244828\": [\n \"14285647248137171978971219488328749663249907628408047287312889998929565674215\",\n \"9042182407038734714782818892709324794485385772914370414413016100123196442193\"\n ],\n \"15584980217994196444535044515801898989067444777912336504043313786368172870117\": [\n \"0\",\n \"4865757254797347749628420722248703958393630111685357127943251590868927244828\"\n ],\n \"20105266497598783883522253725903528281915186302181571293093530454690865051276\": [\n \"15509912924280824072594733065963855352197387024293310475116810134534924721968\",\n \"15584980217994196444535044515801898989067444777912336504043313786368172870117\"\n ],\n \"1098800470201209796289227321961169950580249943154929772956528506945477090594\": [\n \"14564793384090489423383643969794688266059561205080542685139144707022546067708\",\n \"1\",\n \"1\"\n ],\n \"6482513469932920492815343137069359602650084521285778587948028920338972068853\": [\n \"1098800470201209796289227321961169950580249943154929772956528506945477090594\",\n \"274509251357502078509383538690639848003267270943685632937116221914856469816\"\n ],\n \"20317296777507532118894265835556404853993921750659041182800385151787200971706\": [\n \"6482513469932920492815343137069359602650084521285778587948028920338972068853\",\n \"6239413013266078181524775594883429874341066348423071390059738996674137597113\"\n ],\n \"5752852735425462810726676424831661850385079735817637837838758195086565182789\": [\n \"20317296777507532118894265835556404853993921750659041182800385151787200971706\",\n \"2623594588291700221436829367422114616348455418331088484083828581839263142590\"\n ],\n \"4712927606609048392786977611269199933460950183816879039871787584374779701859\": [\n \"6539129132339678565523861073038994549754348131594143746402768052945444865543\",\n \"1\",\n \"1\"\n ],\n \"15687473545653378467282064587406119102390725388780140756924059137625961521922\": [\n \"8467029617103737928133621352486003384215935650018000189380979046199202355566\",\n \"4712927606609048392786977611269199933460950183816879039871787584374779701859\"\n ],\n \"1901817910217639360420807440832750881046672180058371964548112651838671855468\": [\n \"0\",\n \"15687473545653378467282064587406119102390725388780140756924059137625961521922\"\n ],\n \"6080839642242383742117464906797400622048366953881875968184579069717475194706\": [\n \"1901817910217639360420807440832750881046672180058371964548112651838671855468\",\n \"0\"\n ],\n \"1063502486125467727524963337563667464306406352920620465573563302378303472067\": [\n \"6080839642242383742117464906797400622048366953881875968184579069717475194706\",\n \"0\"\n ],\n \"8139806984940704729526735987888786418096370542060312765419151408146190347366\": [\n \"1063502486125467727524963337563667464306406352920620465573563302378303472067\",\n \"0\"\n ],\n \"21475121121483279578462929466292750021055982745826985859965472083094710019215\": [\n \"8139806984940704729526735987888786418096370542060312765419151408146190347366\",\n \"8918069975882565562940917472114681228139640575563915155807976827401903885874\"\n ],\n \"2040655785292523810143839203930138506361400201154700162328162797677249189856\": [\n \"1713356189764187909796005303546092739062326387212661667950640928492282600886\",\n \"1\",\n \"1\"\n ],\n \"15925984126057575036658836191877877176346303468160546048116275106122160315550\": [\n \"14786838873117350185197946279497833780049392358772035981650445074844554674710\",\n \"2040655785292523810143839203930138506361400201154700162328162797677249189856\"\n ],\n \"9220828573096341359406556947939846850590760755072652329507346243202642363912\": [\n \"15925984126057575036658836191877877176346303468160546048116275106122160315550\",\n \"0\"\n ],\n \"4262432287334548582971247691207041776972127975383112368970755322003125120721\": [\n \"9220828573096341359406556947939846850590760755072652329507346243202642363912\",\n \"0\"\n ],\n \"7795934780313214812059984346011783457480733172870405423143446035304331043449\": [\n \"0\",\n \"4262432287334548582971247691207041776972127975383112368970755322003125120721\"\n ],\n \"8202384632329023421704528501625501229592472016436580400678051347732616715285\": [\n \"0\",\n \"7795934780313214812059984346011783457480733172870405423143446035304331043449\"\n ],\n \"14671221501988909996428169376239867918382121813998362959242666076034891706096\": [\n \"8202384632329023421704528501625501229592472016436580400678051347732616715285\",\n \"0\"\n ],\n \"16784444361064466893793630742368650822982597022787941581375776697975606635138\": [\n \"14671221501988909996428169376239867918382121813998362959242666076034891706096\",\n \"0\"\n ],\n \"12936389666116190405298680486449184717020935611254110080604617917009956892675\": [\n \"0\",\n \"16784444361064466893793630742368650822982597022787941581375776697975606635138\"\n ],\n \"903290087754881628925835016641268976061203758128872636023484537946776118271\": [\n \"12936389666116190405298680486449184717020935611254110080604617917009956892675\",\n \"474616858986684762818416738875539341547512955378688096105031906765035828322\"\n ],\n \"17004997786959146734771334682349945689785785706771827892379172996722421818803\": [\n \"0\",\n \"903290087754881628925835016641268976061203758128872636023484537946776118271\"\n ],\n \"12060881427102213552435578744245896741287659611446431908683232709855175675438\": [\n \"20962626283147894389275642815377098281389001524498019523720750625291701897375\",\n \"1\",\n \"1\"\n ],\n \"11960503450359081211211143527509032263654852335587918052858171194503445993497\": [\n \"12060881427102213552435578744245896741287659611446431908683232709855175675438\",\n \"8102000432844098775640623351103162062151400026583686233364547246152435661812\"\n ],\n \"1735764056472778334927086696927751717117274565318163430392724281782536055413\": [\n \"11960503450359081211211143527509032263654852335587918052858171194503445993497\",\n \"0\"\n ],\n \"10938310673795469363234478530772719158806298341135048371134348424619092247723\": [\n \"11774786528914472780916719192755922111277669710846062591506187782712429099314\",\n \"1735764056472778334927086696927751717117274565318163430392724281782536055413\"\n ],\n \"19545686030990612358831319606929195510689517913370668775355874498419254766516\": [\n \"10938310673795469363234478530772719158806298341135048371134348424619092247723\",\n \"15671837721583203247784266077024518351881427227725602101478531689483496482572\"\n ],\n \"9111974084946037927555734498090897869512677493263798400369449232883904341688\": [\n \"19545686030990612358831319606929195510689517913370668775355874498419254766516\",\n \"20304330984063950543754672953272400591040720749233096460243008008174121114509\"\n ],\n \"8257496576317581341677020604196345887006410014041012737958297492202244748084\": [\n \"9111974084946037927555734498090897869512677493263798400369449232883904341688\",\n \"11688169668241926761314898031657624516575505932320556019448476203673317876995\"\n ],\n \"5043603437522281405713562871433706930314676365801672489393160226804583965387\": [\n \"15163396764382317792441237695742344827084839455736596346671257696803163642469\",\n \"1\",\n \"1\"\n ],\n \"2454248277771337291214944687421367862940301893529271976703798059941062151256\": [\n \"5043603437522281405713562871433706930314676365801672489393160226804583965387\",\n \"12474697376762097518056932209042302224247266673190860180177435645463905230253\"\n ],\n \"6449884486937160984207595888279769669157467366852730443447460474039531055066\": [\n \"0\",\n \"2454248277771337291214944687421367862940301893529271976703798059941062151256\"\n ],\n \"1671357682972048338710830112166113148482744478620773101921041229132645104251\": [\n \"8803613680444264305185124092384774055490737949755562767916427679751556601418\",\n \"6449884486937160984207595888279769669157467366852730443447460474039531055066\"\n ],\n \"18706611556875705454836741167501652016297581835077084811053791485299197638211\": [\n \"1671357682972048338710830112166113148482744478620773101921041229132645104251\",\n \"14825331673510651109502220590778176636122317132259362181179774425398477678374\"\n ],\n \"6890649841857864511068072813695928134656211432845729145453759117166817558029\": [\n \"18288463981548952542342531048411801148896865482348963996583487389847915044956\",\n \"1\",\n \"1\"\n ],\n \"12049694846519283790589251490407453989144656247281528928633681106479111205514\": [\n \"6890649841857864511068072813695928134656211432845729145453759117166817558029\",\n \"1062595758817183093155279329122834333850456709043543003659686980686839299781\"\n ],\n \"7171434342958279614556997686827583826474201833473194829545724351458910848779\": [\n \"12049694846519283790589251490407453989144656247281528928633681106479111205514\",\n \"95586616993967196653387208418845281596514964608241298186989858250467686608\"\n ],\n \"10773484197813105288475702593142671194167605982943202464080623943827527244981\": [\n \"7171434342958279614556997686827583826474201833473194829545724351458910848779\",\n \"1077546895858312403891214920716675582152662322008479875310439406581460784888\"\n ],\n \"21522591156101313904111106228282154422242764759696472615717692816183459237597\": [\n \"18556249727661002988823546978703184791760102256932825039833597902701001406402\",\n \"1\",\n \"1\"\n ],\n \"18758096753286298069860611856327596407443577704574054957850566083385344586540\": [\n \"19448173648513562049389018223207648394219363061270196338185158548235778773421\",\n \"21522591156101313904111106228282154422242764759696472615717692816183459237597\"\n ],\n \"16298842141574006838249646084440704332384571087770106719795615503135459194769\": [\n \"13728075784605334333186784697074222943541705242869742729516722375906510528778\",\n \"1\",\n \"1\"\n ],\n \"9240542628752540828089117097025061122386888299946694363182506413509437448812\": [\n \"8113269104918083419643567683485921573343551041388240167485600209187591539544\",\n \"16298842141574006838249646084440704332384571087770106719795615503135459194769\"\n ],\n \"1004744571460051348759896643005212469775092988444699002587356156783158991007\": [\n \"9240542628752540828089117097025061122386888299946694363182506413509437448812\",\n \"0\"\n ],\n \"13521101747133166963004239246061489455638773781462979401558342833169039129173\": [\n \"1004744571460051348759896643005212469775092988444699002587356156783158991007\",\n \"1294332258313464793752383120277222640553050432574891469207878061513414145534\"\n ],\n \"5160623122438623907764087985701140458514279184088385386502566851172175124009\": [\n \"13521101747133166963004239246061489455638773781462979401558342833169039129173\",\n \"3327004257119973634772038811542138326263050106356464788254194829688616220562\"\n ],\n \"21176837994127737862963029593983714078496087940651796992085458812988919593429\": [\n \"5160623122438623907764087985701140458514279184088385386502566851172175124009\",\n \"15382576122900421923685749755661102531551832785231570521668327950219580162017\"\n ],\n \"6142887038221944127105163757985548273735222829800532378475997026022043661724\": [\n \"15504584489883474863952401521904590976623024467928900837060270347814472719466\",\n \"1\",\n \"1\"\n ],\n \"11701314885489225386065095859577237794422320330670775186751084880505893661700\": [\n \"6142887038221944127105163757985548273735222829800532378475997026022043661724\",\n \"19135827984291405428245406038446404905172134323298799810832965770251017823291\"\n ],\n \"2578100583586363697621696279908205920033418603267647198349441192720864877092\": [\n \"11701314885489225386065095859577237794422320330670775186751084880505893661700\",\n \"0\"\n ],\n \"11454705155832337286390068061272488298595365315884336509237541822904614425829\": [\n \"13076109472751097177679575165341570412550533013684203228734377359446812999416\",\n \"2578100583586363697621696279908205920033418603267647198349441192720864877092\"\n ],\n \"1350696694519631530433619435725805103925439275726552492343541447008676968362\": [\n \"20282016919908420806146083259175435649521012082272960428589369414251162512728\",\n \"11454705155832337286390068061272488298595365315884336509237541822904614425829\"\n ],\n \"13435718585355594767484995425776449901772582787219300455001325298075118965360\": [\n \"7782781502383342141150937292969441799317441432568322372990975113399685836584\",\n \"1350696694519631530433619435725805103925439275726552492343541447008676968362\"\n ],\n \"21839786980822500455799128111812277650345526117504388506853132028585709881148\": [\n \"13435718585355594767484995425776449901772582787219300455001325298075118965360\",\n \"9751201603953315296906495747311595032939964377011067246911179156136276665087\"\n ],\n \"5457625995183607212565996841628777078423845662192726508653035648888358026982\": [\n \"21839786980822500455799128111812277650345526117504388506853132028585709881148\",\n \"21051594268383344710938692843440643133843257048042054535593495731633967011777\"\n ],\n \"18341194408721450964192645816499799011765210964157098389179415784025702294874\": [\n \"15181638830091583885307758409199147429224253928601895333320155056001249189898\",\n \"1\",\n \"1\"\n ],\n \"14747294270109448766510574868039173438441379187488463621779343765184746135340\": [\n \"18341194408721450964192645816499799011765210964157098389179415784025702294874\",\n \"4768787480258494994506691260344988646256710730625717205450223082268749201333\"\n ],\n \"10286038913115834943412764021478898825074024653319061882445673093569062189734\": [\n \"14747294270109448766510574868039173438441379187488463621779343765184746135340\",\n \"16661846683472129781083507227513046071998186368070461070941275699327504718511\"\n ],\n \"5269088142158909091885167571390642946293401062263445997883438421613300788890\": [\n \"10286038913115834943412764021478898825074024653319061882445673093569062189734\",\n \"18323644396564488653720517511297793958210274845837324880563330173817457834405\"\n ],\n \"15830380035179690992754397909398450627289364329268703625740157157813083775954\": [\n \"5269088142158909091885167571390642946293401062263445997883438421613300788890\",\n \"2665568212872253628992374445255587336317548703770596599876435127027215845973\"\n ],\n \"9466740921075300123837170428646147329350613101153359676669277287292160414017\": [\n \"15830380035179690992754397909398450627289364329268703625740157157813083775954\",\n \"21176837994127737862963029593983714078496087940651796992085458812988919593429\"\n ],\n \"11077924718303601138722230916298657499754579405527878969213094227370294589430\": [\n \"10395332019319419850780791008713902193438282807128692164725607345781645708469\",\n \"1\",\n \"1\"\n ],\n \"13010049292855491362860071101506527026955752194097809222491970798185972720790\": [\n \"11077924718303601138722230916298657499754579405527878969213094227370294589430\",\n \"3358619779812861962584701883181071492224783020258551901544146514416797455022\"\n ],\n \"21875215676705297183816297677218950411744617089730164347422660392859929047182\": [\n \"13010049292855491362860071101506527026955752194097809222491970798185972720790\",\n \"0\"\n ],\n \"5057179598529007935097257446160858715553659407465651255057486305054153998153\": [\n \"3063569985206854509600518424389595067903409911953707993645773300895010783327\",\n \"21875215676705297183816297677218950411744617089730164347422660392859929047182\"\n ],\n \"13757180191585407610511092409699967683613513236303385249096267670162173324807\": [\n \"9462638428507910775008505944386177120204992079860501251091374292952044260862\",\n \"5057179598529007935097257446160858715553659407465651255057486305054153998153\"\n ],\n \"517387620833098709064428126727118382140710242265878541649916934461118353156\": [\n \"12635894433592531843421512068589429940084177593680571105194051857068770414606\",\n \"1\",\n \"1\"\n ],\n \"2343944545564567612582526561690840188694359106651046162900741382414629780578\": [\n \"517387620833098709064428126727118382140710242265878541649916934461118353156\",\n \"5924123101429059901200958495833525092676201050599042294107425976789434555962\"\n ],\n \"14437225513249934956743969611854780569753989158002234456181815928112122577005\": [\n \"2343944545564567612582526561690840188694359106651046162900741382414629780578\",\n \"3163832540339390624153330751466321866369880526943669501083592274757823958787\"\n ],\n \"20023208913099496570211135702434405407412853125197294736665072536308797000138\": [\n \"14437225513249934956743969611854780569753989158002234456181815928112122577005\",\n \"12429019045720080833773053131086972725492063341230926259299503464624341315188\"\n ],\n \"6716152578036987310467530108245200521563887112068018147098181753139594620614\": [\n \"20023208913099496570211135702434405407412853125197294736665072536308797000138\",\n \"938000748359720789638872429273903485212179616287466544274761062298021624632\"\n ],\n \"13323935776974155333346293306873167192342341971050338883475085160409243057012\": [\n \"11214195820993582852093639848026636586698440037845635744443626026654020955135\",\n \"1\",\n \"1\"\n ],\n \"1954961284212086777919378438046967452544588167756906045482148174060593755136\": [\n \"8997786962532809016292224567893496740463729477688522195552000950840148233618\",\n \"1\",\n \"1\"\n ],\n \"14564437189094999806956038876464164110144750040168668261615167299113731203186\": [\n \"1954961284212086777919378438046967452544588167756906045482148174060593755136\",\n \"4628629558759888449447072426942206683074877133798834997988662522304531011324\"\n ],\n \"7948474805075055866143559152191555399733835066735754610861993817626997101248\": [\n \"14564437189094999806956038876464164110144750040168668261615167299113731203186\",\n \"0\"\n ],\n \"411927276545552690897886949057147515788816703228183749785819104320867010492\": [\n \"7948474805075055866143559152191555399733835066735754610861993817626997101248\",\n \"0\"\n ],\n \"1826795124636223203818563561539811810808535234194734517501822104993451916839\": [\n \"12708269852134282058149245761616401192320194231769814550056540520037384507212\",\n \"411927276545552690897886949057147515788816703228183749785819104320867010492\"\n ],\n \"606478957116064321386214991714809535446183504251680738282354990074549798012\": [\n \"15412523169996208679108322963086217361643948009658638793475769520072058165282\",\n \"1\",\n \"1\"\n ],\n \"16664331962717058597244666908390037784219430173513577341701188966291411580459\": [\n \"16398305443967077017205774501189312620870451331816044406844409946734748382961\",\n \"606478957116064321386214991714809535446183504251680738282354990074549798012\"\n ],\n \"3272828388700285395835928903471399482970884087062896077813551248343049150922\": [\n \"16664331962717058597244666908390037784219430173513577341701188966291411580459\",\n \"0\"\n ],\n \"2996539548482870002960081360291086196437913925508570535579873086416970570150\": [\n \"0\",\n \"3272828388700285395835928903471399482970884087062896077813551248343049150922\"\n ],\n \"2996072532834590790174460512182960667855595210919763219994450700956211070162\": [\n \"2996539548482870002960081360291086196437913925508570535579873086416970570150\",\n \"0\"\n ],\n \"409982123696856554148874913046433061443102957132548953431334307573217177020\": [\n \"10655136973152968264611258129689139176423301162230662338792229989687851970269\",\n \"2996072532834590790174460512182960667855595210919763219994450700956211070162\"\n ],\n \"13184276237641789359277975114709778435705935816692487229527428148293456134866\": [\n \"614094650879799129522188279103393520847941697070367188032793111507555974791\",\n \"409982123696856554148874913046433061443102957132548953431334307573217177020\"\n ],\n \"13098124890668250984513279821609721008432773105302135272296401611108356449516\": [\n \"13184276237641789359277975114709778435705935816692487229527428148293456134866\",\n \"18719296604663201171542308600244512343844066955326804860815852300539201184958\"\n ],\n \"10862233711454669369530150367530313843013723763169723424142281746752465880708\": [\n \"14814377361424167088935101446176138148955672403678245851505414304263157234889\",\n \"1\",\n \"1\"\n ],\n \"2015667285292532738227128147284290960690714203323850996303945950363249216187\": [\n \"5488551517514541946910679593383776081408779381162618069111390100177499302962\",\n \"10862233711454669369530150367530313843013723763169723424142281746752465880708\"\n ],\n \"13613568717279384016104796185313807298959928928842350566713849868236644037248\": [\n \"13382765432194892245981480068927505203091986420935790579334869922308074692712\",\n \"2015667285292532738227128147284290960690714203323850996303945950363249216187\"\n ],\n \"11508673639987353463654147768169014084540355970988591579648305919839113752753\": [\n \"13613568717279384016104796185313807298959928928842350566713849868236644037248\",\n \"13820526336826169703908599141624556308861066267811305359290378162126335996481\"\n ],\n \"5970149659369924534668594243459134159034622459169628560821550762055830211045\": [\n \"11508673639987353463654147768169014084540355970988591579648305919839113752753\",\n \"1389986620912345776739770037690323023353179761439491940713148015171636426093\"\n ],\n \"15981075177339936840242014495903696138655744491495557106467982955590770664607\": [\n \"18090207322858754107667452714015633443909132845986823259315136872708622802065\",\n \"1\",\n \"1\"\n ],\n \"16558611032923591772932392577646346306802364502041047887214175029900208947486\": [\n \"2065774346751301832642984187928946572992695366106336193128687613702637966607\",\n \"15981075177339936840242014495903696138655744491495557106467982955590770664607\"\n ],\n \"16748352249969741165559065119264709242752409641145210201139813780406926902496\": [\n \"17161079221854945328722485659515359109950188853564514426093994575410491876704\",\n \"16558611032923591772932392577646346306802364502041047887214175029900208947486\"\n ],\n \"2387949351658179564633604882418509317038378163224003168770447002438588390431\": [\n \"3092802810733820492136422283945993163823867359488796353107429395724205538788\",\n \"16748352249969741165559065119264709242752409641145210201139813780406926902496\"\n ],\n \"3220836582414943188293495280346703151907789189467718691199695177758528799399\": [\n \"2387949351658179564633604882418509317038378163224003168770447002438588390431\",\n \"5300312738161511947952900204157291450695072761844497545926098580681928404413\"\n ],\n \"738150543585481916817960560887491554167374927220768571131422391329307946723\": [\n \"15439922509013680851194094098540078361744893880564575397571357939854719604879\",\n \"1\",\n \"1\"\n ],\n \"8254541207203390083206301782420943768522968548944752182515227030793325700289\": [\n \"12517172536773662427943759367777116228923221196171590603554592355653161145958\",\n \"1\",\n \"1\"\n ],\n \"9341964252474074447872809623499879419482717538233288445305484160569033006273\": [\n \"8254541207203390083206301782420943768522968548944752182515227030793325700289\",\n \"16106352134178808295708701799285815980263641423306843334648540528665376709621\"\n ],\n \"6282004261770084706284883902175711817015882457467641732786384469435460820026\": [\n \"12862102644320709793795074063537416155694162862252574966549569999213323277251\",\n \"9341964252474074447872809623499879419482717538233288445305484160569033006273\"\n ],\n \"1753162208525260612154739254649365942621420965069834482483495556930094428416\": [\n \"21051976091485004758828817153261843974691743008110107536526804519682614181628\",\n \"6282004261770084706284883902175711817015882457467641732786384469435460820026\"\n ],\n \"11624764737624769269997560338483262200531293465500858284052444838711741374004\": [\n \"1753162208525260612154739254649365942621420965069834482483495556930094428416\",\n \"6078144684668722157222223292324830953864624473430268209605974934728485365818\"\n ],\n \"17367402393525490396200745300367693975939490447363593367329207437756847760901\": [\n \"1520262457824502272850443363128472061807209249924589917187888615313751792323\",\n \"1\",\n \"1\"\n ],\n \"4333638016639705489002238394164481835373633398481546639390565879744752050256\": [\n \"8105357074335167601943878816193884193266381534303564440518556556082938586177\",\n \"17367402393525490396200745300367693975939490447363593367329207437756847760901\"\n ],\n \"12929330266472659202444051459284197891227220645393890539685871826821361495771\": [\n \"4333638016639705489002238394164481835373633398481546639390565879744752050256\",\n \"17997975954531535146077901435260756709475231199332402279974800240570681239233\"\n ],\n \"3810318428992238845861185560789093355370973964815745900500152551663829355525\": [\n \"15248673479660611046666593479950446885178808240109225792940803659149158036587\",\n \"1\",\n \"1\"\n ],\n \"6242218001066319529362738582840867168624092535671225001061542912187754834040\": [\n \"3810318428992238845861185560789093355370973964815745900500152551663829355525\",\n \"10989211786011863972313968066599881892375281062240305344773001958421054460616\"\n ],\n \"5267933941832444642065574832521750201009763474117834280312150413275227580063\": [\n \"0\",\n \"6242218001066319529362738582840867168624092535671225001061542912187754834040\"\n ],\n \"8170178820053273465178049135815986764402127035016078321156168976930548549245\": [\n \"2004695195699782839242425281887940967697145532019887212680623535549648336333\",\n \"5267933941832444642065574832521750201009763474117834280312150413275227580063\"\n ],\n \"17589498177559762804331118869761420973413486888284226084413325981880224841736\": [\n \"11163951556594675722461987628595697949827995179616240824327710000437708228102\",\n \"1\",\n \"1\"\n ],\n \"9113778430151928745105915575840174709305239367681793187791407025428067404838\": [\n \"17589498177559762804331118869761420973413486888284226084413325981880224841736\",\n \"19843214007095396362268233377247361319197156943415975465902552835653409158527\"\n ],\n \"4921458994175814497219019853597861967268467468780978717914191794466205090003\": [\n \"0\",\n \"9113778430151928745105915575840174709305239367681793187791407025428067404838\"\n ],\n \"3035280068796967758643811819510758773131180243306413687283852702109076679224\": [\n \"4921458994175814497219019853597861967268467468780978717914191794466205090003\",\n \"0\"\n ],\n \"2280154269459150946628620140661731290619952088205796738114602482945194154001\": [\n \"3035280068796967758643811819510758773131180243306413687283852702109076679224\",\n \"0\"\n ],\n \"5418216992274684729011966317335013408190804325849094625921112458696757546882\": [\n \"0\",\n \"2280154269459150946628620140661731290619952088205796738114602482945194154001\"\n ],\n \"4314114880684387579785284649673760755211069145714959045837576613751996111963\": [\n \"5418216992274684729011966317335013408190804325849094625921112458696757546882\",\n \"0\"\n ],\n \"18756983043994553753249298636399742428369014222318916412844329091463493107784\": [\n \"4314114880684387579785284649673760755211069145714959045837576613751996111963\",\n \"0\"\n ],\n \"11357494497397686899366231381407415063000750496848676554477098223970311910019\": [\n \"18756983043994553753249298636399742428369014222318916412844329091463493107784\",\n \"0\"\n ],\n \"15850596188145224872598499405733674054420241758838135551323531125010909868085\": [\n \"11357494497397686899366231381407415063000750496848676554477098223970311910019\",\n \"10316559303840439757987988288880202735221332767248113357046071502013384784419\"\n ],\n \"15170996372960256626994049319344745494548056621046816629303029922465152685606\": [\n \"112540984429110011381444998100531848927179053203123106852876029045911940288\",\n \"15850596188145224872598499405733674054420241758838135551323531125010909868085\"\n ],\n \"181865975595693750792344515415219099181963234108464019250102754274863456616\": [\n \"17042942081951718217511927284026772360564711820612159387486104772703514033950\",\n \"1\",\n \"1\"\n ],\n \"11955423465563866542947869036578643048693249257956955182266172998487865313789\": [\n \"21404262569193217209400471372874948317329526065676294760519490948183865199414\",\n \"181865975595693750792344515415219099181963234108464019250102754274863456616\"\n ],\n \"10240980537455772266260356763666802555173800680087798761125048210033197001152\": [\n \"10447002505137113953941660168862615190411278522717550491654383268413933211608\",\n \"11955423465563866542947869036578643048693249257956955182266172998487865313789\"\n ],\n \"10640564944931521228093555769084408815138280956522138184036436676403821108020\": [\n \"0\",\n \"10240980537455772266260356763666802555173800680087798761125048210033197001152\"\n ],\n \"263418907785015487625716754974643449348007958235093916284487101555384275829\": [\n \"0\",\n \"10640564944931521228093555769084408815138280956522138184036436676403821108020\"\n ],\n \"9968931029892865629256931688953126454138043037248772097758302585604750693313\": [\n \"18975250610784673385104402029817970697754342125941402583347734973621667699115\",\n \"1\",\n \"1\"\n ],\n \"12712576117208161910320055422222029496965575274933451479961410791898382279093\": [\n \"17903387076766126728449661570101458487688106121470985107325239981475336647204\",\n \"9968931029892865629256931688953126454138043037248772097758302585604750693313\"\n ],\n \"15150895310104637194408277331812603526955015162484468520358069608653729747191\": [\n \"0\",\n \"12712576117208161910320055422222029496965575274933451479961410791898382279093\"\n ],\n \"14979406930794928156738767919572290083404192216501726545987167291278325591191\": [\n \"15150895310104637194408277331812603526955015162484468520358069608653729747191\",\n \"8008437290798094887767051600656788591700248633109481177002564855528898335274\"\n ],\n \"3758238799874539342574193200295657150896774783151252983826801138994554034448\": [\n \"14979406930794928156738767919572290083404192216501726545987167291278325591191\",\n \"9905383001848970668703593936437049716803815447391204919575177296428483155913\"\n ],\n \"17159856564791668588290796871822177975738471522330358068578537488876808028760\": [\n \"18339433623293111299285490211033587751797943248724837332778152467290687560002\",\n \"1\",\n \"1\"\n ],\n \"21528744342052945470568452875364242455910579464236564499180728899234844286176\": [\n \"17159856564791668588290796871822177975738471522330358068578537488876808028760\",\n \"18144120694636230216919026192229770143136986115298632035358571189538520727318\"\n ],\n \"21341960722268402965932030482622055053675723678350475260733398676838601748349\": [\n \"14225986849088996784848925970858616070807182863602285502656399459659366618023\",\n \"21528744342052945470568452875364242455910579464236564499180728899234844286176\"\n ],\n \"18889365674167473986757579032944829189160242980078999196196270942656727855777\": [\n \"21341960722268402965932030482622055053675723678350475260733398676838601748349\",\n \"0\"\n ],\n \"4764413276187723027926330099460740145639935102909628820308839456003312320365\": [\n \"0\",\n \"18889365674167473986757579032944829189160242980078999196196270942656727855777\"\n ],\n \"493260634552388549775842224617403033267873052876852510936800213003699976606\": [\n \"4122579407484439051076858531455473829891689070030789417256893022408459255819\",\n \"1\",\n \"1\"\n ],\n \"7879900821801073753397661448536997262457313966997840827545694624235532077092\": [\n \"493260634552388549775842224617403033267873052876852510936800213003699976606\",\n \"4971127147800567455571311029127870640478726924814288757562862574551181099884\"\n ],\n \"10646767921484433913927982640532926534022394362457263967210664632665226521241\": [\n \"7879900821801073753397661448536997262457313966997840827545694624235532077092\",\n \"19049676799622058026161178118628600636201151159452611091419308647417448854026\"\n ],\n \"2513583306685486618172988497475211302827404272606911624119873674353389166448\": [\n \"10646767921484433913927982640532926534022394362457263967210664632665226521241\",\n \"17504548613926962661144385311863430702035802655565782537783890197212951239282\"\n ],\n \"4426846824853892601526744911771998214458123698741885479198083329554372763440\": [\n \"2513583306685486618172988497475211302827404272606911624119873674353389166448\",\n \"17782819576374463830405090998550114720897648694422632947092448781102663765466\"\n ],\n \"18689944688592167999884334505874536216962996900444883919197838347244246120810\": [\n \"4556119895198398338753112344397898823228120674717622721267377368099462734232\",\n \"1\",\n \"1\"\n ],\n \"3098958629701235484126697813049788050735014504898461065498824319545449022608\": [\n \"18689944688592167999884334505874536216962996900444883919197838347244246120810\",\n \"3442317427716450961256430114328850183039981190448631792025478629965712439440\"\n ],\n \"21356788583767350764950399911338199068708654209634111204008966679751840604896\": [\n \"3098958629701235484126697813049788050735014504898461065498824319545449022608\",\n \"14138167969318303727146537254679179888350095003372736929721353675289661292443\"\n ],\n \"20485809116709608372403852593341355689476972732242994534108405768473568940724\": [\n \"13754999505070925539983947080257238961537187516680518001182052722919589859606\",\n \"1\",\n \"1\"\n ],\n \"1447421004570116195503206281101193828150660569763380752789313265800000157332\": [\n \"20485809116709608372403852593341355689476972732242994534108405768473568940724\",\n \"7158253350884687327782737243370116868532056843838110297741059476416477952801\"\n ],\n \"20103664034031997916569102250489992385060281356904582522905298458786791279913\": [\n \"8388564282603186724722988296464911692144933075138905109096458016630268564022\",\n \"1447421004570116195503206281101193828150660569763380752789313265800000157332\"\n ],\n \"3740180462933812906050467767562347491517676249892676055282172410033659242524\": [\n \"13762733168919315073107727425092614884904321845829779467957220144953128231518\",\n \"1\",\n \"1\"\n ],\n \"18911750344155070163709125790061460681630682675065457072468923686727325099705\": [\n \"17466509953499549714477181723792773914994752852462226398971948855284331816897\",\n \"3740180462933812906050467767562347491517676249892676055282172410033659242524\"\n ],\n \"13678347505944152873702741277310730560413283937434275117665187754551080735263\": [\n \"18911750344155070163709125790061460681630682675065457072468923686727325099705\",\n \"0\"\n ],\n \"4572336831031526176046849615989003321030419300080545465976389999549332884045\": [\n \"13678347505944152873702741277310730560413283937434275117665187754551080735263\",\n \"8793205646239886512452066807761003342544071950527215801404560189989150159829\"\n ],\n \"15911162816787625294508274842698477336729409200713586287754546143267090864912\": [\n \"4572336831031526176046849615989003321030419300080545465976389999549332884045\",\n \"8744665482880281531987595024923258047047761769894665000731987560072501775701\"\n ],\n \"763063418254642474197725464352650913088518297254062227352545019760124026866\": [\n \"21070673209524429098569088805236629722433074035481725599866803149573186882942\",\n \"1\",\n \"1\"\n ],\n \"16323501411882212487755522600394581291754443436805306887987312307691045036706\": [\n \"763063418254642474197725464352650913088518297254062227352545019760124026866\",\n \"17293964540183698766291675772553322059873281857354557905517351265317592610116\"\n ],\n \"5759998594321712877454500342219335294713362092425788869952455475757297045678\": [\n \"0\",\n \"16323501411882212487755522600394581291754443436805306887987312307691045036706\"\n ],\n \"19247475187399896200194045294699358179384054792572321767507197806242030747344\": [\n \"19848468917123379490028520631459594668351894268616513374412920745507573703810\",\n \"5759998594321712877454500342219335294713362092425788869952455475757297045678\"\n ],\n \"17582614031704647823514901209032133139128346594755570246192476219019841481135\": [\n \"19247475187399896200194045294699358179384054792572321767507197806242030747344\",\n \"6851107504760142268828114894632313968043035482692148769774985809637018691004\"\n ],\n \"15055042774277180946968061921019547569465339380659770688773171651399521645750\": [\n \"18138560420943930170253185674160889807697247729214115728676399791398095196287\",\n \"17582614031704647823514901209032133139128346594755570246192476219019841481135\"\n ],\n \"4672712745509190181076797322441952360030541644865897406584028899963218585005\": [\n \"1025458102973282611283407961347426150873184755113068010237809887687391382353\",\n \"1\",\n \"1\"\n ],\n \"14959993067043264280710905952144660405864360756332364506873155782824637291601\": [\n \"4672712745509190181076797322441952360030541644865897406584028899963218585005\",\n \"15457745220773075326825082467452550315682385481346815070772186328726775121610\"\n ],\n \"6728739407946212411063187372277405211366030047906599133382053897663914306918\": [\n \"14959993067043264280710905952144660405864360756332364506873155782824637291601\",\n \"0\"\n ],\n \"9785397070487854717001203267388384602346844507472705569819197219366178451341\": [\n \"6728739407946212411063187372277405211366030047906599133382053897663914306918\",\n \"21804698634061511752385257909912316177324554231286545268749381530904036911544\"\n ],\n \"20617495357783985606281678088285679300287903054782982250548020607972809026288\": [\n \"18667416906797269867397795802121191908421678123272307255981943608224170530322\",\n \"9785397070487854717001203267388384602346844507472705569819197219366178451341\"\n ],\n \"4770345341812129642235373916587272373177270584320971542048658038174402332997\": [\n \"3571150077982039928204502433626266984256324818042344323575050533073002434924\",\n \"1\",\n \"1\"\n ],\n \"21400798889420950126949084320282394681651619011236936883507373573468884995154\": [\n \"9692127906906590876108715350379549053040013299657401703381254383962875576514\",\n \"4770345341812129642235373916587272373177270584320971542048658038174402332997\"\n ],\n \"3120042227666702802518449264933079801057141502898098798368490719179976086160\": [\n \"21400798889420950126949084320282394681651619011236936883507373573468884995154\",\n \"18369161684090525270526212559857046315101655395557002765151984227197699789777\"\n ],\n \"16708957137649885538866093660132455257854134151274818492551390724019128126525\": [\n \"3120042227666702802518449264933079801057141502898098798368490719179976086160\",\n \"0\"\n ],\n \"13251753575658180347244160242662030765030531154539769647596058318981356442670\": [\n \"16708957137649885538866093660132455257854134151274818492551390724019128126525\",\n \"13111943576403773493458747779753905726524757890720384759196929647267464484254\"\n ],\n \"8685140979760939240276352297967874850686319064999778149931776835122816419717\": [\n \"7372972596690200989071541125095736083338426154164583972987399735951359239457\",\n \"13251753575658180347244160242662030765030531154539769647596058318981356442670\"\n ],\n \"4118670606460675882866382615257327541733845321254642479676374412593694911611\": [\n \"4377600960250841143598499860883764136438642582705824835534375720482666878667\",\n \"1\",\n \"1\"\n ],\n \"16184771191849569358870003678312632956330469509224028641686012090998549413298\": [\n \"4118670606460675882866382615257327541733845321254642479676374412593694911611\",\n \"5910286487789568743517569628244879332923515263155957085268271961371997506045\"\n ],\n \"14707544877505187402890552475927801555416232297815886710489025455675920165625\": [\n \"15851838686002442495303567673630310505810273657433701568298285862973255551896\",\n \"16184771191849569358870003678312632956330469509224028641686012090998549413298\"\n ],\n \"18808621018910869948309591002461107461028430047937739636095499837733890239453\": [\n \"9187307131701319443321364066967873374859177751075207107873176342077234318449\",\n \"14707544877505187402890552475927801555416232297815886710489025455675920165625\"\n ],\n \"11562518933546630527709196911329419128378835991757369990708995900466142621253\": [\n \"18808621018910869948309591002461107461028430047937739636095499837733890239453\",\n \"11799663682807741956087114501600184492608822993042864945828821921174560953129\"\n ],\n \"17752331700711757385959186319328096996512881169283177539060699079835967391136\": [\n \"19459511318632788102484815520720534808227235174858462293077417982877456623509\",\n \"1\",\n \"1\"\n ],\n \"4528957778709225997220827458408677071069035761672802674413935689215587125562\": [\n \"20247044148187581091152902539820323476659471714536465146189815599179421571720\",\n \"1\",\n \"1\"\n ],\n \"10939926049120563337211201893180329203525101276580419097814151585598681876442\": [\n \"16159370448545408827192261982267651643310937047214327515134620258558273504247\",\n \"4528957778709225997220827458408677071069035761672802674413935689215587125562\"\n ],\n \"21187550201087602057428674091739166580323465180836222687380002590042217473146\": [\n \"5401457457378486437262189925547158524040886210686509378876188436621555874991\",\n \"10939926049120563337211201893180329203525101276580419097814151585598681876442\"\n ],\n \"4534089259659215113306924365167983311762883373295026846394603955522456595790\": [\n \"21187550201087602057428674091739166580323465180836222687380002590042217473146\",\n \"4767254889564028564377766572904605110847283243671092057468596774063157558628\"\n ],\n \"15045590153727267013861308832531926093001407666790953464337958191265297952340\": [\n \"21486902465183491809295734053822535709604953337041316704438804516227867322897\",\n \"1\",\n \"1\"\n ],\n \"21113471821725701407695110243755591613689321587974186342579413684131386529468\": [\n \"1383367887631151470803195576659244059337072293242073680874577472560234652218\",\n \"15045590153727267013861308832531926093001407666790953464337958191265297952340\"\n ],\n \"19377294244879375922516424245064667490391639656783207450869177628629676780260\": [\n \"21113471821725701407695110243755591613689321587974186342579413684131386529468\",\n \"16202088391788607282428144657044204168129495155213326057767158363008676213687\"\n ],\n \"8662189580053838165784922281868767618323650620448289897544401390553844924967\": [\n \"15814153362858983099268715313514688176059595364028142636339964087929048733775\",\n \"19377294244879375922516424245064667490391639656783207450869177628629676780260\"\n ],\n \"2872348962707659546143776681282447763143799347289467000053820327321420642843\": [\n \"8662189580053838165784922281868767618323650620448289897544401390553844924967\",\n \"15378656612430691776443824014167351537872585278383437075807731985143439877001\"\n ],\n \"13774311447506484311360636119763932509676330049342877909727423056254672458702\": [\n \"8090680660532867656420208752842419934132427459387698104377790659422643795704\",\n \"1\",\n \"1\"\n ],\n \"7046837019052106123636942597399832646484333927083713554079169462996914271700\": [\n \"12147408902401400941283990549153950298220064512600093861525749994125500445900\",\n \"13774311447506484311360636119763932509676330049342877909727423056254672458702\"\n ],\n \"3583502907885547047716384766024521455457494633155481596946831239044719302540\": [\n \"7046837019052106123636942597399832646484333927083713554079169462996914271700\",\n \"10455014080020330480878038071207693843856432319069057406968994795512541388904\"\n ],\n \"12105224668991858621684829031250828835073834061912319018303034142998823789685\": [\n \"1204400554052935465452193221283672790791507774466537765336866342120823905519\",\n \"1\",\n \"1\"\n ],\n \"13443045454546033665224447002363268402851744311219265090245189445149774145505\": [\n \"8443433903139941516261390116914245073336518875714771291020143203586147846918\",\n \"12105224668991858621684829031250828835073834061912319018303034142998823789685\"\n ],\n \"9914103129008887276504755807093145610312157632836179307015694217770331213328\": [\n \"20309487766213792794265327566110328266329135520540443571631741380206865997173\",\n \"13443045454546033665224447002363268402851744311219265090245189445149774145505\"\n ],\n \"8389793785233024006199242974901991616272771057209902480551210985965841235529\": [\n \"19531454027421906234252391956672541270053682974556576489705186029679106042401\",\n \"9914103129008887276504755807093145610312157632836179307015694217770331213328\"\n ],\n \"21079494820167052252917134084619099165657292529103708527637922953272489334525\": [\n \"17694193135411119886725065705773098555119186010970530971337502491907339840205\",\n \"1\",\n \"1\"\n ],\n \"264622721837469172266962937147812828602773967794968367161838615383690309295\": [\n \"625572247467811545966008684397503385149905480252270478216927254833777002250\",\n \"21079494820167052252917134084619099165657292529103708527637922953272489334525\"\n ],\n \"16971320656641584754159514291683326642323402138621792082173221881197185262713\": [\n \"14782309557568520583446904282753452614141214003697154746065793683186784731510\",\n \"1\",\n \"1\"\n ],\n \"19549130639310528959780961507843338154222757895107875420038313564514220838585\": [\n \"16971320656641584754159514291683326642323402138621792082173221881197185262713\",\n \"7476971980477285874007078216776557650198351041562354060087232853841601317167\"\n ],\n \"3721574309806745695114202268389629023583001871237885327097876557357702774562\": [\n \"19549130639310528959780961507843338154222757895107875420038313564514220838585\",\n \"0\"\n ],\n \"16604043854886058092873013073199873267064396710630721629536758314674137095247\": [\n \"3721574309806745695114202268389629023583001871237885327097876557357702774562\",\n \"0\"\n ],\n \"7670168796175977513026576153758013135557551753039382550390371395384068115533\": [\n \"16604043854886058092873013073199873267064396710630721629536758314674137095247\",\n \"21366508807077351750102964114286489533783681074794174913692866440206347070602\"\n ],\n \"7493445074415758187647855271315761314308301606715510891601054772128829056852\": [\n \"7670168796175977513026576153758013135557551753039382550390371395384068115533\",\n \"0\"\n ],\n \"6840935102297255626606071199940240227792071927562534120658174624935680877286\": [\n \"7493445074415758187647855271315761314308301606715510891601054772128829056852\",\n \"17427159012816043903397540402163193736735710534825441168011660801969644809136\"\n ],\n \"1985833247140341149879677424256552976714472773861669954347165370400677784229\": [\n \"6840935102297255626606071199940240227792071927562534120658174624935680877286\",\n \"14715184885668969593711940364906147205261384112000026117116083362786994217071\"\n ],\n \"11689961139485213936759031548872357390277855634720328042634632454014514133615\": [\n \"20424139264560399347313033419584556368292530614738230916961767666781499701114\",\n \"1\",\n \"1\"\n ],\n \"4882306828661055066423507278142900813136595688557633278685803105579113959024\": [\n \"11689961139485213936759031548872357390277855634720328042634632454014514133615\",\n \"12981078422373331763752254341010536022923616588079032376213286217072304315049\"\n ],\n \"8308894123148873701890801403831165859404968361939767027076163957152631593921\": [\n \"0\",\n \"4882306828661055066423507278142900813136595688557633278685803105579113959024\"\n ],\n \"1995793053157262697804845158149573692799499733977837422390775245158837642397\": [\n \"16646151786889451553663708921805057656021327435449336636893879055725303164888\",\n \"8308894123148873701890801403831165859404968361939767027076163957152631593921\"\n ],\n \"2756851964887618973390371464617413109973588573197635338468711829751776625652\": [\n \"1995793053157262697804845158149573692799499733977837422390775245158837642397\",\n \"12161313418109154497528875894489568218555555245853713032664299367177672916432\"\n ],\n \"11509743737347330798685869471396232924210541388771399009804687524274723843200\": [\n \"13498638013766164847055443332369598747079082100020033947903423008591973142425\",\n \"2756851964887618973390371464617413109973588573197635338468711829751776625652\"\n ],\n \"6291209579149308895137697300003180215941944313931259183241040644213793507021\": [\n \"10540513179928499970875628416213859353411856398262718208321809208681460777225\",\n \"11509743737347330798685869471396232924210541388771399009804687524274723843200\"\n ],\n \"12524148464080421050247934592762198443626594893405012750354448542799280063312\": [\n \"9769590439670154741958925041678503745176869521323729190600623195910397855055\",\n \"1\",\n \"1\"\n ],\n \"18340593594135879643505241002381779394978078184479783707045108948795870370838\": [\n \"12524148464080421050247934592762198443626594893405012750354448542799280063312\",\n \"3119380487862881970203733151710018682367417750466784624651211569217404862242\"\n ],\n \"16765684202093472536022496273869758798799637550996074814138340946159322461519\": [\n \"346587720041257164550066282866789408426231164031488215135481619157177495707\",\n \"1\",\n \"1\"\n ],\n \"8914836720945248698589799274259137356693775180156334736891936625607280105632\": [\n \"5229626833570814650645467232267183569875504187193066871444596523199709381827\",\n \"16765684202093472536022496273869758798799637550996074814138340946159322461519\"\n ],\n \"8544283058142942358044850567104663125751805341402513979424726857335091184455\": [\n \"11414127579243693935517254071101597534494725091924591394308929305525235132931\",\n \"1\",\n \"1\"\n ],\n \"7251745458562792632101148852658476844888285698896008945865672796732100686505\": [\n \"8544283058142942358044850567104663125751805341402513979424726857335091184455\",\n \"47295211085754753274519895133352671835001097769118814821385095419054026349\"\n ],\n \"16005677985126870494826081897099999945623035627461768047783599380737992288450\": [\n \"9191756914885582202950946506887213230388633876632837443764910008805178174977\",\n \"7251745458562792632101148852658476844888285698896008945865672796732100686505\"\n ],\n \"5358477813200165931685742091013736042246996270753300972344103609915996019486\": [\n \"6020845922884346355493253827649873957628576643416170208217860843875897919900\",\n \"1\",\n \"1\"\n ],\n \"3689116184805623268360463372837640744735718098710940236318983345523914766159\": [\n \"5358477813200165931685742091013736042246996270753300972344103609915996019486\",\n \"766431598994691596390995291815805659955487327981842992599892357823096340749\"\n ],\n \"18647166662687201518614877694087194902433123730181381665710813291888955327258\": [\n \"20659011593235561023405335496842861750471513883480046846809255955073660052613\",\n \"3689116184805623268360463372837640744735718098710940236318983345523914766159\"\n ],\n \"4920783171907030470633682339231991731723979489088849953546691270955338110570\": [\n \"18647166662687201518614877694087194902433123730181381665710813291888955327258\",\n \"1774768385045495267324965973251004180613740632175331926551217166849348717097\"\n ],\n \"17066264926156952466956695493257801673731783217765351975022378227394062128547\": [\n \"12900848114872714168867523251251592610850729721800872143451307475039676193027\",\n \"1\",\n \"1\"\n ],\n \"8495565222257472198985791736789379928641996759514723895242328158476725495176\": [\n \"1838125714916681129864924141906792726926624786864297576407170667651199623989\",\n \"17066264926156952466956695493257801673731783217765351975022378227394062128547\"\n ],\n \"16167410233481642021451794663677934875456186553069669785549176745713464013380\": [\n \"2045088520388376832717234148152295212034580301218886646192718621501965840692\",\n \"8495565222257472198985791736789379928641996759514723895242328158476725495176\"\n ],\n \"10331631427017658563727609449790055021523148908050495801580195656539076968973\": [\n \"16167410233481642021451794663677934875456186553069669785549176745713464013380\",\n \"5406535410828256291562644320083604368960778081514953044239173580535260876027\"\n ],\n \"19148623530683303150198586232460185254519643222417202066516242807681118851629\": [\n \"10331631427017658563727609449790055021523148908050495801580195656539076968973\",\n \"17980004433581390036816075535618343246433236313781109993384792715339828813022\"\n ],\n \"8819440006593364676565841155957556342563727460923444808912077584660306099534\": [\n \"16492427233088779446474596854870281053410835573885012627985953921229033041118\",\n \"1\",\n \"1\"\n ],\n \"8619069461357207206258215102263098183812893819281353794106326879732992612791\": [\n \"849760393728775941973241174795353716638559459242371281125166162227612244341\",\n \"8819440006593364676565841155957556342563727460923444808912077584660306099534\"\n ],\n \"21268876258475830223478817343024634512914151693205555448857867152442485450458\": [\n \"7950667709296803469886982635820333009955306251825710179375343301569642669888\",\n \"8619069461357207206258215102263098183812893819281353794106326879732992612791\"\n ],\n \"9086500138939998970714137964673304805491644958532006040197264124495796440915\": [\n \"21268876258475830223478817343024634512914151693205555448857867152442485450458\",\n \"0\"\n ],\n \"15576390507441836028586234636080902139961191591086803642253593145853132387841\": [\n \"1117389044617390342142881039428936419813429979129593262401788006162031790363\",\n \"9086500138939998970714137964673304805491644958532006040197264124495796440915\"\n ],\n \"4361422639011719302425365462224052640664141891044370918459413871824724258934\": [\n \"6445312866459170865139864987817124912631413675707068011346517281757262937862\",\n \"15576390507441836028586234636080902139961191591086803642253593145853132387841\"\n ],\n \"3061373180369482678771058918160055657912124010448683812889512885069151473376\": [\n \"4361422639011719302425365462224052640664141891044370918459413871824724258934\",\n \"1129943908284947025153650553833185985131115775116866910602536159211387214695\"\n ],\n \"1845785816780359106956688890482486815025227391674208757712841717409728133040\": [\n \"7549946056776717652950070325852226167977496316922096702154210082422122983758\",\n \"1\",\n \"1\"\n ],\n \"20368347248595940345906943357309381626062879880585173347800768710505280439396\": [\n \"11716680174652155380648559527509089909973188457714702643734096229146138166485\",\n \"1\",\n \"1\"\n ],\n \"16831336516415896024232883361928985083418116937973240839377870819842073851587\": [\n \"20368347248595940345906943357309381626062879880585173347800768710505280439396\",\n \"11673883841693264754501362533168911268310992761797883420808744685763198522159\"\n ],\n \"7500828568951107609715669934044687182614824409190657275299948327134776821235\": [\n \"16831336516415896024232883361928985083418116937973240839377870819842073851587\",\n \"7599367088682148651075221309307700555896098438034691222094004361156212417877\"\n ],\n \"12709620695420917534757263349725854187366851357539847257516104190822289743483\": [\n \"17711585754306116652111926911018795809386260842993308413108863093052172437600\",\n \"7500828568951107609715669934044687182614824409190657275299948327134776821235\"\n ],\n \"5436573786796145079610566372548812542521695561110451752276531499457657428185\": [\n \"12709620695420917534757263349725854187366851357539847257516104190822289743483\",\n \"17153669854108477717879492666468255749427127020632397376677396358129746431090\"\n ],\n \"621970161365784378822864916792015793153033475987363119448659616410502998241\": [\n \"5436573786796145079610566372548812542521695561110451752276531499457657428185\",\n \"206128491568381562539245573032931705682861788173292282005354252082389046153\"\n ],\n \"7045444193810115984903303238921942407805051823762333316676173386870022910619\": [\n \"3913184904013876046288110632799189697723814378526725481555537002351018711251\",\n \"1\",\n \"1\"\n ],\n \"13868489889480892465862374265457651383321560633161235496883470169009075447997\": [\n \"7045444193810115984903303238921942407805051823762333316676173386870022910619\",\n \"4606649368074077703549444675539704363781586327272137620219041982585399945039\"\n ],\n \"16336504068942339330467345059688375163731725399689553389798741117519128093376\": [\n \"10324287930258262866674988817230475626325832837156480296802808859173551146584\",\n \"13868489889480892465862374265457651383321560633161235496883470169009075447997\"\n ],\n \"9344310247950496550359219928444691118970792615633265238328716223036302741615\": [\n \"13120840015759431425502795748189296880194302526068162554679735055863517144504\",\n \"16336504068942339330467345059688375163731725399689553389798741117519128093376\"\n ],\n \"9273394818539215524417876892030753402354454977871206382716265747536997093369\": [\n \"9344310247950496550359219928444691118970792615633265238328716223036302741615\",\n \"21541932651898265851624405090458433541582196177459041303896692453228311207504\"\n ],\n \"16596687356699981111252891875220577569646599543023242799475591788512719184182\": [\n \"9273394818539215524417876892030753402354454977871206382716265747536997093369\",\n \"20117266338885903003558053668961316265791523459081793925117876997235837613326\"\n ],\n \"6314701850724070956703442427695666567863685957360997351419655669960211270652\": [\n \"6511700775810046180667127212495307841866371405932501175082462250569050989682\",\n \"1\",\n \"1\"\n ],\n \"9314807021178749086875747453902401148082039905098738787954800948170106953555\": [\n \"5738934849995327228912621876154661104384827408882525572790361295133693427206\",\n \"6314701850724070956703442427695666567863685957360997351419655669960211270652\"\n ],\n \"5621894664862821715405647664615001730851271900464006975954236684060112602874\": [\n \"9314807021178749086875747453902401148082039905098738787954800948170106953555\",\n \"0\"\n ],\n \"17214255237868182719653443009230617896779827635169054364518056790893356565050\": [\n \"5621894664862821715405647664615001730851271900464006975954236684060112602874\",\n \"0\"\n ],\n \"2071868310172974667489627447327687853332164235850843528863579865343106145573\": [\n \"14902539134965179339351564003669475766470871400906869123771119282352698438365\",\n \"17214255237868182719653443009230617896779827635169054364518056790893356565050\"\n ],\n \"8752510656903319128342376990289868287658809462883065817022853484752905502427\": [\n \"2071868310172974667489627447327687853332164235850843528863579865343106145573\",\n \"11563757169159018771460383901602997463402163030300318936413133989681997529587\"\n ],\n \"7496179517983970871925433106570281523912316517281932994400884757490021060850\": [\n \"5153869644922883111368485726063811232449581143133624656420283141302339486241\",\n \"1\",\n \"1\"\n ],\n \"15641585350622692469008015701130326834005177085902258824771013330591975371693\": [\n \"20207321933781437295222623953567177817705622378406743719614118121804239122763\",\n \"1\",\n \"1\"\n ],\n \"20524629795577076101132437893896332668313149503186149261733588868817640237715\": [\n \"12497113890134648163135020795322090268749056249026965555609888266045084778621\",\n \"15641585350622692469008015701130326834005177085902258824771013330591975371693\"\n ],\n \"17243203569334022563219134416086208386264514692646838801537519795022628229516\": [\n \"20524629795577076101132437893896332668313149503186149261733588868817640237715\",\n \"0\"\n ],\n \"13595145168453215292139346287974500251041187399265184896520359913120452100677\": [\n \"0\",\n \"17243203569334022563219134416086208386264514692646838801537519795022628229516\"\n ],\n \"1541480398255969079125436995642884451118559899562314546345784988574017629471\": [\n \"0\",\n \"13595145168453215292139346287974500251041187399265184896520359913120452100677\"\n ],\n \"6176451321332020984551861747250121215396088649634767186966315284055804131655\": [\n \"1541480398255969079125436995642884451118559899562314546345784988574017629471\",\n \"2587530696767108372243611618916386657623595770409465541040482705099778055577\"\n ],\n \"10570880305295681135653493303042514940442497695677431906897447117941287563313\": [\n \"6176451321332020984551861747250121215396088649634767186966315284055804131655\",\n \"747972549048251089086904010735397822782347698865148627080078858194926805689\"\n ],\n \"14268124090510593626433287854005750527867499603661225497470412953057746891003\": [\n \"10570880305295681135653493303042514940442497695677431906897447117941287563313\",\n \"15806556869049904247732140380902089819466156972681410279274635348381340562903\"\n ],\n \"16145051776242917885788548332133452234555673403261485746865549935855841867853\": [\n \"7254442717866166026430682667579655209680138326422125781466186580771303717207\",\n \"14268124090510593626433287854005750527867499603661225497470412953057746891003\"\n ],\n \"16520647636897227610266031751515130019752854652328072805011101062312804805365\": [\n \"16145051776242917885788548332133452234555673403261485746865549935855841867853\",\n \"11562518933546630527709196911329419128378835991757369990708995900466142621253\"\n ],\n \"11097847002611956687710657242682525781792175504177648976690086095124333458567\": [\n \"4137683767675720730001967227901148705140431793059327812945001950477591572461\",\n \"1\",\n \"1\"\n ],\n \"1887346137431048758491159821111105202021412930496408471162329890542535955306\": [\n \"6330586600421183194899346399556750872889303905366639614884605212372049667128\",\n \"11097847002611956687710657242682525781792175504177648976690086095124333458567\"\n ],\n \"11780504255791187130789249893317328685700884836162985855206920985312631573938\": [\n \"0\",\n \"1887346137431048758491159821111105202021412930496408471162329890542535955306\"\n ],\n \"14713787153785059423971955556696441027492750780395544088148876142054388200947\": [\n \"0\",\n \"11780504255791187130789249893317328685700884836162985855206920985312631573938\"\n ],\n \"16471931257272286430668239129075593606417644644300885638948411217430107083875\": [\n \"14713787153785059423971955556696441027492750780395544088148876142054388200947\",\n \"18001526651500133164387753952462970920615351933080582705487083694689589637015\"\n ],\n \"4145690339638135411660872396642683562708350704582931070465002467276598545837\": [\n \"6587401524636401354238091832368309451734705461855314389881503028336867855431\",\n \"16471931257272286430668239129075593606417644644300885638948411217430107083875\"\n ],\n \"11802182830473803031048306739386654314896465107433284274761072445997428597502\": [\n \"9850847722583965562113285309820351099682352991159167750129181980691583303005\",\n \"1\",\n \"1\"\n ],\n \"20757594997344613976153568871006194602648102249026365659932621748200485904265\": [\n \"11802182830473803031048306739386654314896465107433284274761072445997428597502\",\n \"2383197803237335914555287703809063196016928040104954384314011709530684106763\"\n ],\n \"19253680209568772045391415109741655770483859733959389441873605635385707211777\": [\n \"0\",\n \"20757594997344613976153568871006194602648102249026365659932621748200485904265\"\n ],\n \"4479868257454680393117071636607583539145560607203138179237894583262624956946\": [\n \"7016743355092307922517272653378695479562572753917925853662293575542473447488\",\n \"19253680209568772045391415109741655770483859733959389441873605635385707211777\"\n ],\n \"7210417985480138757373642382027245498213728563014458249295638359351168939543\": [\n \"15940377796809139893522319258332402049675227802248298975881651538780526031974\",\n \"4479868257454680393117071636607583539145560607203138179237894583262624956946\"\n ],\n \"6522327840505008463181228923257829026158097707561962444631307239924678805037\": [\n \"12202834995725466140385653844296592842702094485267490993551799024381807275828\",\n \"7210417985480138757373642382027245498213728563014458249295638359351168939543\"\n ],\n \"13862700743965228000688138199097150764577652331015991397204453918337371059254\": [\n \"10517325725377483658183587780019629603836955769376751460303647911652625032421\",\n \"6522327840505008463181228923257829026158097707561962444631307239924678805037\"\n ],\n \"6428663651563662694165281056572336158420096553412299680382913855427562431633\": [\n \"13862700743965228000688138199097150764577652331015991397204453918337371059254\",\n \"19806928159463842424200960542511255234962808693088458438093398532051840871248\"\n ],\n \"11362638758763015126838143508858879715715389512202145941003289566889295616367\": [\n \"17904801210589356836076334242240130259577143813604189442415087400611138472013\",\n \"1\",\n \"1\"\n ],\n \"10751357167002832789535839122117050970667509318729067686548897497956251076831\": [\n \"6790357151843477061160575026868089227678945740503396686223819777285076132113\",\n \"11362638758763015126838143508858879715715389512202145941003289566889295616367\"\n ],\n \"10356596703197462891090394655852325257737786938977373239648762309912505357688\": [\n \"10751357167002832789535839122117050970667509318729067686548897497956251076831\",\n \"0\"\n ],\n \"15544957577671892770450530746137428585749426181938045517622917588050837811537\": [\n \"10356596703197462891090394655852325257737786938977373239648762309912505357688\",\n \"0\"\n ],\n \"992786050885495841312074258119449405334941896309250211413055484685343283655\": [\n \"15544957577671892770450530746137428585749426181938045517622917588050837811537\",\n \"9925009844847933404912034566267951579612715062646661652902240216859006046699\"\n ],\n \"17323028855597580724423941584886803291647476331739137071969895379313037923663\": [\n \"8303621868581857815449200291631774114491374251000494791859794255303910282509\",\n \"992786050885495841312074258119449405334941896309250211413055484685343283655\"\n ],\n \"17280925136363738961854736829635746637017556371648775323177571253810092966174\": [\n \"17323028855597580724423941584886803291647476331739137071969895379313037923663\",\n \"5195979523273855243787382087356469029779635849524024931292766103973459302687\"\n ],\n \"5171154343323356784135603275102836535357590632393103856754898413479827234434\": [\n \"17280925136363738961854736829635746637017556371648775323177571253810092966174\",\n \"15572518517449640394873070286303156132368612443268184932067288325476473056295\"\n ],\n \"842959485959992816551213220844502029280523978568517649004613402118552927263\": [\n \"15671743633626023465518281296098160330694409431870881421312277133111294032070\",\n \"1\",\n \"1\"\n ],\n \"12032326694426659779110344251755402150050793034820987594054116024300295704562\": [\n \"21699079648895998305669361146921848940471793180555527461739543662107582225151\",\n \"842959485959992816551213220844502029280523978568517649004613402118552927263\"\n ],\n \"16916499569658159463307495374208677383763699250907265845331554768511539180368\": [\n \"13259003252458803098628018306831031497414157413540803101716552415587571315192\",\n \"12032326694426659779110344251755402150050793034820987594054116024300295704562\"\n ],\n \"19581707926782271971089275727254284294333248326532899255898575950479134098469\": [\n \"15571898299301091926585534479693530176321477535682478273829853799431628779150\",\n \"16916499569658159463307495374208677383763699250907265845331554768511539180368\"\n ],\n \"6851491775516488457186730355526840542989666378324072572040007128710021849680\": [\n \"19581707926782271971089275727254284294333248326532899255898575950479134098469\",\n \"10568604323178374925283440609698495109255973683764424343787004057918149043138\"\n ],\n \"14158002171216328569671943234827877349950998809247167526788380826892938219656\": [\n \"5593639982481251342320076525188742417951384657329050309201570822272772473567\",\n \"1\",\n \"1\"\n ],\n \"2511187741205791402713947840727066914512706122354954098934900148730720706671\": [\n \"1024244842623667922177980210137083812614911655228811340288816257148116046305\",\n \"1\",\n \"1\"\n ],\n \"19954253385677792194461656675840356595788098323108402607323349997407345112097\": [\n \"2668563554012104639007628232781949165026451296828485636372559392938347331874\",\n \"2511187741205791402713947840727066914512706122354954098934900148730720706671\"\n ],\n \"8890326450763032442309030773810413429787210342035701041127900493109153404106\": [\n \"19954253385677792194461656675840356595788098323108402607323349997407345112097\",\n \"0\"\n ],\n \"2572489243609556722053068437595464572105749391829814845476705240689749633967\": [\n \"16294674571639157117587197473801398580092085968087741877405221134583142764212\",\n \"1\",\n \"1\"\n ],\n \"9634441010500770169980168326823038380754489535396634480159477661455408544157\": [\n \"2572489243609556722053068437595464572105749391829814845476705240689749633967\",\n \"13994499520679582376236371659917704922327245852253571990416405589106155683733\"\n ],\n \"16285309651955929281692731179015085083508407908559632503077632727037679847395\": [\n \"9634441010500770169980168326823038380754489535396634480159477661455408544157\",\n \"19276261664667059906007308271518567028941939001035564669906028103275681960791\"\n ],\n \"14500519557593921220326727308443420671606217902915569250043976237112986551057\": [\n \"101784645160578677031309039022905559673008664580977096379557023983909980347\",\n \"16285309651955929281692731179015085083508407908559632503077632727037679847395\"\n ],\n \"13847945047199871972502322982244485227207207475247096223647191011008434676545\": [\n \"9864645317456457385725058576374219426781380496038186940278348292959093161185\",\n \"1\",\n \"1\"\n ],\n \"5222544277800606939592500566607773640899107177116012437364182777771303889854\": [\n \"7355429455952572164754686576053628518887930289951411597567596691525985959793\",\n \"13847945047199871972502322982244485227207207475247096223647191011008434676545\"\n ],\n \"367458994830053750870846150919907734656351492764576454266497730647950791656\": [\n \"5287220151325316290990180633784648592836683121313131798594996081305334345986\",\n \"1\",\n \"1\"\n ],\n \"16864811596306525567511689199012523722603303617871477305875510676210739166909\": [\n \"5741208348677818358471481038628715495819201276295708541002779804145548859366\",\n \"1\",\n \"1\"\n ],\n \"11082475447027443945618700610280159960910151762293258669991786295786315304291\": [\n \"16864811596306525567511689199012523722603303617871477305875510676210739166909\",\n \"21602987231247484625507978454104219407510707605133846037031144034776079967086\"\n ],\n \"19623182145584201214263209926103879599258810972844754894441748293665170135355\": [\n \"20142299315361981912126402052456322938268216327397751812972061444272465633974\",\n \"11082475447027443945618700610280159960910151762293258669991786295786315304291\"\n ],\n \"15026049921589316802953167304272386733478275737619752662897702466936666689999\": [\n \"21093735646291872638141130786718616626515415261121846600123224471085440366130\",\n \"19623182145584201214263209926103879599258810972844754894441748293665170135355\"\n ],\n \"7273582249455739466847296625258311049731954788773330616098829852835457325598\": [\n \"2868514816008275012698472523539524572480111390075515628910241513686519393288\",\n \"1\",\n \"1\"\n ],\n \"19232977940944920098385590672437206224827963665943235468797747052519968278121\": [\n \"7273582249455739466847296625258311049731954788773330616098829852835457325598\",\n \"687180482296694246521845829236340495470832696508255012288862715298787216425\"\n ],\n \"14097662105093375387558186519002621899299029493787663934502411790638609383548\": [\n \"0\",\n \"19232977940944920098385590672437206224827963665943235468797747052519968278121\"\n ],\n \"19611122879386825891437484602974614857227397780755680891908187134264764702581\": [\n \"14097662105093375387558186519002621899299029493787663934502411790638609383548\",\n \"16672117530603505273114195224366803024474568069127938715455173090232625668302\"\n ],\n \"3602291441197613231544352571594626397326333987090538054676572725193388456495\": [\n \"10785701761229832412972741025924708888229299101837398918922217017424476658089\",\n \"19611122879386825891437484602974614857227397780755680891908187134264764702581\"\n ],\n \"10232477874300056257256361416848820356383346785527027579339997585506914674220\": [\n \"13407855161171906712600190533350273168162491344697204054773259461487517192924\",\n \"3602291441197613231544352571594626397326333987090538054676572725193388456495\"\n ],\n \"18800551471121994174004614627853578324880194203086214620958479805162348937679\": [\n \"10232477874300056257256361416848820356383346785527027579339997585506914674220\",\n \"20421933109421666156341651592343731723660763258850266665369274024131939047806\"\n ],\n \"366145942092357495488027248018400735724656820026984111918993391941877593809\": [\n \"2663719428057859305329034370489466034672923291486659522641926921514735857889\",\n \"1\",\n \"1\"\n ],\n \"12354725129599821919840629770196701326885629664868328676037473300787070858841\": [\n \"7370992637907298300358387239005407534967854986702546897632959646871331874455\",\n \"366145942092357495488027248018400735724656820026984111918993391941877593809\"\n ],\n \"9233005337320894011562687244035990667827396745036674524003614101433654215036\": [\n \"0\",\n \"12354725129599821919840629770196701326885629664868328676037473300787070858841\"\n ],\n \"12054354202542491717089412917234632303298215437551279201010767516909244328122\": [\n \"9233005337320894011562687244035990667827396745036674524003614101433654215036\",\n \"18644381448111149875156691651065483101895779741777874510880574535865522978458\"\n ],\n \"13529584329734548663776243067744683425200210061735536009401003996289563192207\": [\n \"12054354202542491717089412917234632303298215437551279201010767516909244328122\",\n \"5222544277800606939592500566607773640899107177116012437364182777771303889854\"\n ],\n \"21003706586350454698246268096132405060504492124583047445402975909982383814433\": [\n \"13529584329734548663776243067744683425200210061735536009401003996289563192207\",\n \"15833821774512289967396637518052635806224940722699499334312810218496278317111\"\n ],\n \"11340454727294055993604517431996514226844141718788414623654868238496766074658\": [\n \"3193161656865807191693155664550719539056398942058303133714421473356360538956\",\n \"1\",\n \"1\"\n ],\n \"5496282939046425082111074153222834367810485836021133989909012124376912932335\": [\n \"4569685514438873502811327124877747282750560915726178028604257758500981368642\",\n \"11340454727294055993604517431996514226844141718788414623654868238496766074658\"\n ],\n \"13805161273124146539812498579012133544610053892739285808352511508132893651046\": [\n \"5496282939046425082111074153222834367810485836021133989909012124376912932335\",\n \"0\"\n ],\n \"12129849944906039417629248665205174180188028415521986563804781927576724141535\": [\n \"0\",\n \"13805161273124146539812498579012133544610053892739285808352511508132893651046\"\n ],\n \"12497261351396317188787788616981190756713420337442547168963716558756469516006\": [\n \"377223637594695525391518436265169464107509682219272422102679239075735882601\",\n \"12129849944906039417629248665205174180188028415521986563804781927576724141535\"\n ],\n \"7786050873265396935705288201302689904869734251327951376147630210077143429547\": [\n \"243476870150232407603450417822563325153528440009627812628521330599514513255\",\n \"1\",\n \"1\"\n ],\n \"15530203376316354893335559759474221104788969368797206667552886409308572238178\": [\n \"7786050873265396935705288201302689904869734251327951376147630210077143429547\",\n \"12794086387973926765839490279380329490652391243500001563542015313169208016803\"\n ],\n \"12046712130827917100337467762588786819761519902298642182380428558218779022705\": [\n \"15530203376316354893335559759474221104788969368797206667552886409308572238178\",\n \"0\"\n ],\n \"8663840186444434067841740134606133833929142968766821045207155042765200519810\": [\n \"20867870741103134362563589533463719062827595090726425595840627624769979345280\",\n \"12046712130827917100337467762588786819761519902298642182380428558218779022705\"\n ],\n \"8819197197772994799243702597758209431701807059151691089543046288269402289078\": [\n \"0\",\n \"8663840186444434067841740134606133833929142968766821045207155042765200519810\"\n ],\n \"21313718131436141858476406286856213519273393615183286648165464371468231065710\": [\n \"19800106111666008864220469390493566947521360785082687881235008672707508799511\",\n \"1\",\n \"1\"\n ],\n \"3445438141062792653236611155798572157818177924339328082247130475934915420093\": [\n \"21313718131436141858476406286856213519273393615183286648165464371468231065710\",\n \"21814739454220207825581419534379965894801831444254752905359837723584939955985\"\n ],\n \"11443108018844828118673915906425005671466552987857608699118130082468521510126\": [\n \"3445438141062792653236611155798572157818177924339328082247130475934915420093\",\n \"0\"\n ],\n \"18856647125060218102970899916920415745588394387536707954717565317308717767441\": [\n \"549082068931529834051686538596868272710731221833748382499238098071286774865\",\n \"11443108018844828118673915906425005671466552987857608699118130082468521510126\"\n ],\n \"21575073837462986760597045581894358894376636243907005483046049767280076275087\": [\n \"18856647125060218102970899916920415745588394387536707954717565317308717767441\",\n \"12591102761348097945166091154021515404672085872164579560597298549079772142605\"\n ],\n \"13908703237021350811255585078634054925389819760637729996245964504309499405338\": [\n \"20358176732434854151506249687509744083204237009299485216129769887098985904406\",\n \"1\",\n \"1\"\n ],\n \"4109333982639125056528712533250619910435779174171448473499248398862052677932\": [\n \"20103664034031997916569102250489992385060281356904582522905298458786791279913\",\n \"13908703237021350811255585078634054925389819760637729996245964504309499405338\"\n ],\n \"12956429574544485503267265100913824586893721807173170182595579662433323389618\": [\n \"18239917899844288717741874313547240587112537747769769206128279843632524831144\",\n \"1\",\n \"1\"\n ],\n \"13207890452534206662971473056844747521934045142652308635490845437793119142504\": [\n \"18581851682870424546139840223738333474364289115225244719467155101632811969102\",\n \"12956429574544485503267265100913824586893721807173170182595579662433323389618\"\n ],\n \"17189369672565552036395642996242113590851571904954950325593501802394503867295\": [\n \"13207890452534206662971473056844747521934045142652308635490845437793119142504\",\n \"0\"\n ],\n \"4523620433115763268239790181517086515926738199981520722321392048323153528727\": [\n \"17189369672565552036395642996242113590851571904954950325593501802394503867295\",\n \"0\"\n ],\n \"21754191995150288454248685526703122985544693778281265978663643930636198889490\": [\n \"4523620433115763268239790181517086515926738199981520722321392048323153528727\",\n \"0\"\n ],\n \"15687273702471980950669236665209899019220637614700677187436200835055150835646\": [\n \"21754191995150288454248685526703122985544693778281265978663643930636198889490\",\n \"0\"\n ],\n \"13714604424253869565904513802445997313477761614505367571982178853694539613304\": [\n \"0\",\n \"15687273702471980950669236665209899019220637614700677187436200835055150835646\"\n ],\n \"17528434528777153691003312223785032625884801926807776802639189029512855558541\": [\n \"13714604424253869565904513802445997313477761614505367571982178853694539613304\",\n \"15075278431978734433606745062586584395938860701037311975923667566137567654858\"\n ],\n \"7576633390856496293194083732127083720773767517413289727611698267842730289206\": [\n \"3689044747138031801807300298727790983141285443236237383327376936530027702599\",\n \"17528434528777153691003312223785032625884801926807776802639189029512855558541\"\n ],\n \"10535506065098065852766681676687790425444072211717194167208655985899808138613\": [\n \"21320660437651074802385999403327859229833944831693086538936144585431243122484\",\n \"1\",\n \"1\"\n ],\n \"11356447467892417937836215712845610161128703016004219762781095516169950048390\": [\n \"3341195702478925290820978274252179156955334159369868699698746355267788474003\",\n \"1\",\n \"1\"\n ],\n \"1290642607317409302516284282664072796341514035584496864272418827733009115395\": [\n \"11356447467892417937836215712845610161128703016004219762781095516169950048390\",\n \"19238951415698909733230211354079815550379222851094267884996419166519380422281\"\n ],\n \"19093270809241184710990085120200111944080113425872477319907805356518431537570\": [\n \"1290642607317409302516284282664072796341514035584496864272418827733009115395\",\n \"7618317890164373233166252704599111120870964348653646217363939765698305902002\"\n ],\n \"17919540348288186186868149787409433490762697944874873848876885077316659146093\": [\n \"19093270809241184710990085120200111944080113425872477319907805356518431537570\",\n \"20647880565660059507542394200881822188371833799469494972544653263170953688925\"\n ],\n \"2299837998173444543327568221429652612554616978499250127547660046127439944380\": [\n \"17919540348288186186868149787409433490762697944874873848876885077316659146093\",\n \"0\"\n ],\n \"10485681270805902225281169146130542965763454666213811032199869702993744951152\": [\n \"2299837998173444543327568221429652612554616978499250127547660046127439944380\",\n \"5192878553709503280028313633499710803846706804042877697098133015034920545773\"\n ],\n \"16760141494130713420153520735398130857378509755600963108263591394461844410344\": [\n \"0\",\n \"10485681270805902225281169146130542965763454666213811032199869702993744951152\"\n ],\n \"18359924206991322799377554381980181258002774970847499666826822230923489175499\": [\n \"8332387589281369009027203966305226372861231618697481396805181015662859903501\",\n \"16760141494130713420153520735398130857378509755600963108263591394461844410344\"\n ],\n \"15140942706033876465559089533438014235914606462968940692892924932108723331290\": [\n \"20420084367240992635516833168519295427053423901459329910758776110126301699793\",\n \"1\",\n \"1\"\n ],\n \"2203898491643821668283216073804466438856826874153692470641136599733004591793\": [\n \"11948255537460375009447823535809995614599247135696577111491211307963281265750\",\n \"15140942706033876465559089533438014235914606462968940692892924932108723331290\"\n ],\n \"2729322372501265621954331238686908677395080689926793535512264097709287311487\": [\n \"0\",\n \"2203898491643821668283216073804466438856826874153692470641136599733004591793\"\n ],\n \"18346221471620113175637997070008656071561845064988166240001059867470720004125\": [\n \"0\",\n \"2729322372501265621954331238686908677395080689926793535512264097709287311487\"\n ],\n \"7333177617024094495161379851663096992597366897681559627159057189682734995358\": [\n \"0\",\n \"18346221471620113175637997070008656071561845064988166240001059867470720004125\"\n ],\n \"1414275595152593289985531027740813851549461555399084807991415564106802385818\": [\n \"7333177617024094495161379851663096992597366897681559627159057189682734995358\",\n \"550639020067496157238172329628595308636444661121751960982307458843480265212\"\n ],\n \"3352718371467561073507944252512389035895287286521417023406894980045835455052\": [\n \"0\",\n \"1414275595152593289985531027740813851549461555399084807991415564106802385818\"\n ],\n \"18021683374197879032291772202316918387285039711785278786195401106792148295618\": [\n \"16486910628004854099872327857859692900144571618614202285347508854970584684229\",\n \"3352718371467561073507944252512389035895287286521417023406894980045835455052\"\n ],\n \"1360442922971639672843248639512750645327661894331264834596641139237262367350\": [\n \"2078921339575638259085973234048335361436718779318729440454333876800763446401\",\n \"18021683374197879032291772202316918387285039711785278786195401106792148295618\"\n ],\n \"18073541044479827654817834544760407969642826269528065570342679201728314882599\": [\n \"5494359361436117866391112745490807501553522629262215492982200623364110810840\",\n \"1360442922971639672843248639512750645327661894331264834596641139237262367350\"\n ],\n \"9745639276147581433649948910669404760280403633646711475628989910296779129209\": [\n \"10282574411661885041804726881035904586952302762796752054335756787368004140173\",\n \"1\",\n \"1\"\n ],\n \"9277210574861348303061078271519683230739750655921733587861799871459865609674\": [\n \"19807838643552705166639549160135115640188650707901735934196732240760448400033\",\n \"9745639276147581433649948910669404760280403633646711475628989910296779129209\"\n ],\n \"11567497075343293418131943601602976974373270823310621282902100656039491715120\": [\n \"16558647608165414260142866847125730601443615210270616950046177551478024302767\",\n \"9277210574861348303061078271519683230739750655921733587861799871459865609674\"\n ],\n \"1915838534791004987149610608886437783471889202066418448520926521208269287825\": [\n \"18992519892312452631640239349803424415099340964404394502788571571306213110339\",\n \"1\",\n \"1\"\n ],\n \"7173836312606596275032220121471361327988350057214909445619438604485468568870\": [\n \"3628594623699159239144213971804685079567399671477997688206218542747781773152\",\n \"1915838534791004987149610608886437783471889202066418448520926521208269287825\"\n ],\n \"11329656690111384700591280409099008023750839530986698461616700079695289742775\": [\n \"7173836312606596275032220121471361327988350057214909445619438604485468568870\",\n \"0\"\n ],\n \"16049718509390547912201683449889186940000603577282601531023803332388631057042\": [\n \"0\",\n \"11329656690111384700591280409099008023750839530986698461616700079695289742775\"\n ],\n \"13946403313204561536072526129049693786633814940222237293643328762794655097878\": [\n \"0\",\n \"16049718509390547912201683449889186940000603577282601531023803332388631057042\"\n ],\n \"6632697288239100773868490664974398347994224654436062634840864102955643496989\": [\n \"21459753472056742519528080305247511304772250902374746343554604402710822285018\",\n \"13946403313204561536072526129049693786633814940222237293643328762794655097878\"\n ],\n \"18452361162640137748888528926036778641565864437173939996603293645597415605830\": [\n \"6632697288239100773868490664974398347994224654436062634840864102955643496989\",\n \"12046887248524700525761740344286376379590386976414426842438523065652778534037\"\n ],\n \"10389439630638800464147597558885890436210541851792675128915782824616255066372\": [\n \"18452361162640137748888528926036778641565864437173939996603293645597415605830\",\n \"1264333043204920796182662148109544412376535543946994480095690789738932294677\"\n ],\n \"16148986164212342183145152750583801860450824007645527105882164114509834763627\": [\n \"13941975963030781848410303906797776081836592297233656775106129735512048051515\",\n \"10389439630638800464147597558885890436210541851792675128915782824616255066372\"\n ],\n \"8421425598968330936742428263944968958930476306168701120544955903506648639473\": [\n \"11196753664801564577073704375169733955768683801340924837585132667604312168333\",\n \"1\",\n \"1\"\n ],\n \"4421326148290567393000046142455474963887273880315181324674753563184343056088\": [\n \"16872370731565568029893472409842133269183552477029405456555038244952475437366\",\n \"8421425598968330936742428263944968958930476306168701120544955903506648639473\"\n ],\n \"18171044780319394423859253344129078944838000810606692414844415412912240378093\": [\n \"4421326148290567393000046142455474963887273880315181324674753563184343056088\",\n \"0\"\n ],\n \"19921865528559531942421746386058444481802884284657045793478915887685253541715\": [\n \"18171044780319394423859253344129078944838000810606692414844415412912240378093\",\n \"0\"\n ],\n \"577368438458654139772118525071815804329340495117667994408899773642008383033\": [\n \"12512617123095043129062982570991579779177047485928665149784056074563913982982\",\n \"19921865528559531942421746386058444481802884284657045793478915887685253541715\"\n ],\n \"18629941497140938179928350144009904932541740016566500806622617027383400289010\": [\n \"577368438458654139772118525071815804329340495117667994408899773642008383033\",\n \"0\"\n ],\n \"18208691437893481595706036869543250703227645445167609343239520488978190870300\": [\n \"21705702086033592632845191722760282281851998556509529395584018492768434238745\",\n \"18629941497140938179928350144009904932541740016566500806622617027383400289010\"\n ],\n \"11210724929908025009151820551414920545556383858135502536940729668817554579389\": [\n \"10582261682572906994708477953814728926360378447779040230324116509622123243446\",\n \"1\",\n \"1\"\n ],\n \"10815734544509962044760080994345244415078906724379740987014027505461964757475\": [\n \"11210724929908025009151820551414920545556383858135502536940729668817554579389\",\n \"19811196510661183553419545345184477051994365963050056210805532459006198468178\"\n ],\n \"8147536297935128157287838957980922529828072438590008580203290549753691765559\": [\n \"10815734544509962044760080994345244415078906724379740987014027505461964757475\",\n \"19967468438152086693519913285528830237129111037768995156415350906296066218552\"\n ],\n \"1821271803184819253031802132695748960612852965118276575184056229475166475567\": [\n \"12638803775819461910976411596235900926112754177732631817342774706812272239976\",\n \"8147536297935128157287838957980922529828072438590008580203290549753691765559\"\n ],\n \"7647178273538596825292041728532282627325502489652515097249539759375837800225\": [\n \"10228564234441111607174884578424491860316545994081595449019870066096722897828\",\n \"1\",\n \"1\"\n ],\n \"7059920084610200354042724118774430585629901144235726730713424759806359902848\": [\n \"5330155262686226642368848792279721319840681104749104654972374865126724024199\",\n \"7647178273538596825292041728532282627325502489652515097249539759375837800225\"\n ],\n \"10050427730896468076846228776789948057656137769117907425169897987437401785752\": [\n \"0\",\n \"7059920084610200354042724118774430585629901144235726730713424759806359902848\"\n ],\n \"5069080439805703521492157005207927943111109012503932030882776632377677746764\": [\n \"10050427730896468076846228776789948057656137769117907425169897987437401785752\",\n \"0\"\n ],\n \"20861869845292283378494542978886070320245641910479729183714498194740524608028\": [\n \"9645602993900546686059440631265849608458734019798849617605104551410900626877\",\n \"5069080439805703521492157005207927943111109012503932030882776632377677746764\"\n ],\n \"5025742376900547667086408264779682248843578467564409853547113061329043128235\": [\n \"1711024521736405379279923614643535594620277888300549692867877507044099970529\",\n \"1\",\n \"1\"\n ],\n \"275358402131584538831542751769087236223233003313994444273114186359937839692\": [\n \"5025742376900547667086408264779682248843578467564409853547113061329043128235\",\n \"1386924913279251996323867942027667776009768355636310710399947653234352729878\"\n ],\n \"7023881547606101224141951094434390856741236211386250644205838031753773658780\": [\n \"0\",\n \"275358402131584538831542751769087236223233003313994444273114186359937839692\"\n ],\n \"5396074780141546315687926384569402529680112324122554240365879959824689682190\": [\n \"7023881547606101224141951094434390856741236211386250644205838031753773658780\",\n \"1857316540321740487540773029623392637458367002843545442501424263065602157909\"\n ],\n \"15896707356223904812443520768730395895520574308462300623265022464380690514285\": [\n \"8890326450763032442309030773810413429787210342035701041127900493109153404106\",\n \"5396074780141546315687926384569402529680112324122554240365879959824689682190\"\n ],\n \"1560609484467714902294972663545726132023007886666536916255068836214778979397\": [\n \"4490076777896271661601743285989938306545540834308879451687020292130096368044\",\n \"1\",\n \"1\"\n ],\n \"18631299906575406366769276250485231396406380975884296247509652072565401880776\": [\n \"2152344154432114178753048762119512916090725573223421491364286885587547197458\",\n \"1560609484467714902294972663545726132023007886666536916255068836214778979397\"\n ],\n \"3296300481311625975732446364176819690985513669097474416168591892468705026534\": [\n \"18631299906575406366769276250485231396406380975884296247509652072565401880776\",\n \"0\"\n ],\n \"8105952585536675640768808845110734609236287614480169982085660786100282119980\": [\n \"15813107821479465722868523709545762783567509515964952471483845124939363929846\",\n \"1\",\n \"1\"\n ],\n \"8394947321406013619759020587004993599027923340109968416671329348501004231803\": [\n \"8105952585536675640768808845110734609236287614480169982085660786100282119980\",\n \"1050044022624693531355387034979400832756730552324761195860838863880832180244\"\n ],\n \"21054534644099490609947547428754986293441919660697182065096407442754971145814\": [\n \"9574453388202649465818137955081401365470911888346348378530736664864667383143\",\n \"8394947321406013619759020587004993599027923340109968416671329348501004231803\"\n ],\n \"5826880814913893715790546604340158600700484949037019001983881644010018010046\": [\n \"21054534644099490609947547428754986293441919660697182065096407442754971145814\",\n \"0\"\n ],\n \"18463826918733471218643204365343636630309419127005331989071797449785927437378\": [\n \"5826880814913893715790546604340158600700484949037019001983881644010018010046\",\n \"21564885724271052299615668584964029216618368841046839061556418197533031788843\"\n ],\n \"9137399639330187498101317940121734080708799596328673790406865420282299276190\": [\n \"19181578031962805656764613426088594057148905851480510582095819830724761046491\",\n \"18463826918733471218643204365343636630309419127005331989071797449785927437378\"\n ],\n \"5839727248954926319777598074658311917645602698943732148533009389662960143038\": [\n \"6278545138980840182546499065264005821546788777543013711329435696017763466863\",\n \"1\",\n \"1\"\n ],\n \"11062987172241798645436571710421980129795183277890714896130571079013461654632\": [\n \"18331056233106597626720182477674940453087983607243514213984493896847166286113\",\n \"5839727248954926319777598074658311917645602698943732148533009389662960143038\"\n ],\n \"20773169946335652544508743167809413149775736388492640802417830732218828250697\": [\n \"3984930001610303826596360939892827232649720096062198198334804085702186654956\",\n \"1\",\n \"1\"\n ],\n \"17644554002250992245752677214012350723076417623649955467158897893714984998255\": [\n \"10786216179408785448179605254545007288458755543670089823164420279196386034588\",\n \"20773169946335652544508743167809413149775736388492640802417830732218828250697\"\n ],\n \"12118336056719751040791841976415122990710453687484165941188082705786759759175\": [\n \"17644554002250992245752677214012350723076417623649955467158897893714984998255\",\n \"14128412914366801758666335010630848971464008167780184313274179803118614566916\"\n ],\n \"2623774067535557709992690298870820607875208349243552655494814228749570432912\": [\n \"0\",\n \"12118336056719751040791841976415122990710453687484165941188082705786759759175\"\n ],\n \"5212436535867737677260189475549581112837838590181231470883268878805219935365\": [\n \"6309690068840101335016749946161836117643999248641976874324497154484923344923\",\n \"2623774067535557709992690298870820607875208349243552655494814228749570432912\"\n ],\n \"3617782937938522447377472620567056581356661255334814921590771590661201587198\": [\n \"284468467990754761888969196665498319860993884770826884408032088795886468510\",\n \"5212436535867737677260189475549581112837838590181231470883268878805219935365\"\n ],\n \"14316313387819669539015607555444361047142742971273600232079714488353742321412\": [\n \"3617782937938522447377472620567056581356661255334814921590771590661201587198\",\n \"6564362394327848991025469812382912614810495218123433294602548891535509309611\"\n ],\n \"17763217767261795330885720592605436806176199552068111558072252422300885047478\": [\n \"19247511876820372706376466362319913178592400748251115394850953074229643992313\",\n \"1\",\n \"1\"\n ],\n \"13045957339259052035679759817523011134037661244881782243288308823373908505964\": [\n \"17763217767261795330885720592605436806176199552068111558072252422300885047478\",\n \"9685221507043026255441267170635491279219522306843881456443024276805160858784\"\n ],\n \"13142349151079352195438549021268458957734564469248698355859256722173509566143\": [\n \"13045957339259052035679759817523011134037661244881782243288308823373908505964\",\n \"0\"\n ],\n \"13050632278921286707200684768006751738109775953736748873694785325278550393874\": [\n \"0\",\n \"13142349151079352195438549021268458957734564469248698355859256722173509566143\"\n ],\n \"1683169854138712851933340636866973454679933107512428446509891307955590541417\": [\n \"13050632278921286707200684768006751738109775953736748873694785325278550393874\",\n \"12794811868595254388451058217761178555059639161092350319294046804046452359385\"\n ],\n \"6668245463744627058104103473169322919129287874123313791503915115385669407316\": [\n \"16040662507520590961254869432403598726370805476880043457159690856314140666156\",\n \"1683169854138712851933340636866973454679933107512428446509891307955590541417\"\n ],\n \"2589564689279278242021179498434582310325695467354979496726217123343755552483\": [\n \"10220319178594111738984970998967176570691373578214869501360274543853879115505\",\n \"6668245463744627058104103473169322919129287874123313791503915115385669407316\"\n ],\n \"20311801743625939702807027760644949783775743607043603054977238599094405341142\": [\n \"8193097340077389022422838582379621500882376400702367381590355959657695143748\",\n \"2589564689279278242021179498434582310325695467354979496726217123343755552483\"\n ],\n \"11081294565811123500802890355557803216257321615329009807041914674375443134157\": [\n \"7812287363228511219312108279575654698213506127148119245867326074802250616596\",\n \"1\",\n \"1\"\n ],\n \"1033158722909448089049810122540843326964856856009642312379839009730925318367\": [\n \"12802824086475986709523136174405833347802829028458172116731975700844376272442\",\n \"1\",\n \"1\"\n ],\n \"17121916045690812020692309792064695922784803797548538359902340560353248205987\": [\n \"1033158722909448089049810122540843326964856856009642312379839009730925318367\",\n \"8652629450536588965998644494515957794226135266353977319149989347976590245071\"\n ],\n \"1396320324886630223253950091412334776602563318088238644404323363953803517734\": [\n \"8674205391071828799602209330428819432206239804802232968971350387417488956684\",\n \"17121916045690812020692309792064695922784803797548538359902340560353248205987\"\n ],\n \"18246137781378397391478320599308237525686680432727938718652269373146783494259\": [\n \"7333994869695633157708680699956091497470117295808336565653059311461005623047\",\n \"1396320324886630223253950091412334776602563318088238644404323363953803517734\"\n ],\n \"14080505953721888532581916443762437922829581663909312033795922198758524357595\": [\n \"10681217508751642327655188132520786826836509541586496325280572230035290930838\",\n \"18246137781378397391478320599308237525686680432727938718652269373146783494259\"\n ],\n \"9002872508417865777401518490259176523793086451680857794792608489358537029283\": [\n \"14080505953721888532581916443762437922829581663909312033795922198758524357595\",\n \"14054207859878175933626119585225354684500858015262963313582757947070169595789\"\n ],\n \"6155620336548746102012869762428463502311654644182119180645735582814247401768\": [\n \"12154905073172391143021902270934118303016886399870087730702649751874508052624\",\n \"1\",\n \"1\"\n ],\n \"8765371911209752746073294907297402564889090749486431334804433728334562012290\": [\n \"20044936609694433935522897096831464395748090806864443921490317480350385880631\",\n \"1\",\n \"1\"\n ],\n \"13984116955693923792563195471045175092329757909673901216781319090868971010815\": [\n \"2804896509438640147378634394647610304218857666308725906020976150379117561156\",\n \"8765371911209752746073294907297402564889090749486431334804433728334562012290\"\n ],\n \"10175643191654599676817347403408659784691351016915174788991566455543246406116\": [\n \"13984116955693923792563195471045175092329757909673901216781319090868971010815\",\n \"16206656614315688067505126197610416267902614309580520077802278937971789325119\"\n ],\n \"3880504029868714951020462884216067218098622368828154194738344334012417853898\": [\n \"1081294214013839064666178053430244301661956412499813878779468280777773696903\",\n \"10175643191654599676817347403408659784691351016915174788991566455543246406116\"\n ],\n \"14814066018652404454319468637333858933458983155440709582425204620235597031052\": [\n \"0\",\n \"3880504029868714951020462884216067218098622368828154194738344334012417853898\"\n ],\n \"6719413511477137577229863129809132549310080030040112349579531908615494922103\": [\n \"17092158507972253043350466788907520323446889046574442646481451418271574536613\",\n \"14814066018652404454319468637333858933458983155440709582425204620235597031052\"\n ],\n \"20164979646953939342230108723122730269949661288546738991159763745470623561374\": [\n \"0\",\n \"6719413511477137577229863129809132549310080030040112349579531908615494922103\"\n ],\n \"21781618096245492810374964858075653633532830713620979764094869398294179741068\": [\n \"2715271667552381798135091490161815173024938738399150522031751411987857254939\",\n \"20164979646953939342230108723122730269949661288546738991159763745470623561374\"\n ],\n \"17416326786364148859301153715452906145045417214739433000691092401061189043747\": [\n \"1646643752019220062538070884504716500557778564750093179898052362294981666669\",\n \"1\",\n \"1\"\n ],\n \"20657100597843610830931628055486669008456600675386751775531490782214456117553\": [\n \"8710283865535875596361597318404197436475567254023364513981230388189983678249\",\n \"17416326786364148859301153715452906145045417214739433000691092401061189043747\"\n ],\n \"7813102967583912727498827338490756323120494215229251889405469827335686151807\": [\n \"20657100597843610830931628055486669008456600675386751775531490782214456117553\",\n \"0\"\n ],\n \"4961402861853762238536361694673861731000565857134996492566252387895486449255\": [\n \"18573673590597860195523197901162181251850596914907923929836207151984407093847\",\n \"7813102967583912727498827338490756323120494215229251889405469827335686151807\"\n ],\n \"5578908708556107924767192457132937420122902778965520760259125515269454942985\": [\n \"4961402861853762238536361694673861731000565857134996492566252387895486449255\",\n \"0\"\n ],\n \"9900475123099103350239010695897275837474613867101599429126181735017655616119\": [\n \"5578908708556107924767192457132937420122902778965520760259125515269454942985\",\n \"13196325893010551953568424454535917545604839538352333530698858799205333952184\"\n ],\n \"769900174193176737468142036560764570580004444218651889333038426204770796218\": [\n \"5607678766328830935438174172723918110370918642608537776050029193477816341381\",\n \"1\",\n \"1\"\n ],\n \"10692533763377811924364006517151623582689553483788191438059491839707962457343\": [\n \"20082856668653214636129647990822404232648031745642537233350177035601012026543\",\n \"769900174193176737468142036560764570580004444218651889333038426204770796218\"\n ],\n \"4391829010640804576511061356700262952719288496682899227859239825084459317272\": [\n \"10692533763377811924364006517151623582689553483788191438059491839707962457343\",\n \"11029282966409292320603195080641969445585866957839712441099315949814851236165\"\n ],\n \"15001769542782093177428239042182837165718449288744446600393158083853788811518\": [\n \"0\",\n \"4391829010640804576511061356700262952719288496682899227859239825084459317272\"\n ],\n \"7038592251950626833277989768786479444426503245170276012384680203349866085148\": [\n \"15001769542782093177428239042182837165718449288744446600393158083853788811518\",\n \"4013085678813978931210681030914608012558656980303413639536456524314394541513\"\n ],\n \"14281941662432593165437474900258339035797283792956600180401644596295944986376\": [\n \"12220350542093729198592699906848266993255131999631224200989194483461157184708\",\n \"1\",\n \"1\"\n ],\n \"10113733105552589725098156576914153701063774165451767239470910802049797815501\": [\n \"4707778771464912549642774430378319141734006326506061300676426907086484370621\",\n \"14281941662432593165437474900258339035797283792956600180401644596295944986376\"\n ],\n \"15289049476280835297794973310691206050280962934916731164506597841274803294833\": [\n \"13119258129120571461278303163189927041195802904045429334443849725944510738862\",\n \"10113733105552589725098156576914153701063774165451767239470910802049797815501\"\n ],\n \"15902273883023229054273831644471538720956785284206151535409680475988892419103\": [\n \"15289049476280835297794973310691206050280962934916731164506597841274803294833\",\n \"15069063779426121621929928023736342347799899295428331179962738231342345411739\"\n ],\n \"14131887941727053241618250581856024100585568452327500523096797665523589666163\": [\n \"15902273883023229054273831644471538720956785284206151535409680475988892419103\",\n \"0\"\n ],\n \"17577967107306051304179417233646503815180040211895698855969752707333690201422\": [\n \"7291271469792713520902788123349347324808092656936804142784327287378090657858\",\n \"14131887941727053241618250581856024100585568452327500523096797665523589666163\"\n ],\n \"10018260349520827269410893353651443619022040606593734774128812314038885817551\": [\n \"17577967107306051304179417233646503815180040211895698855969752707333690201422\",\n \"11428470410955931538740802053288815215099258208446095159523321012840869422298\"\n ],\n \"14800353444074641973018595969886655783973674343756852700763682691643490477231\": [\n \"10018260349520827269410893353651443619022040606593734774128812314038885817551\",\n \"321984080516771683490003419487288394099018428685714292800122615552957229258\"\n ],\n \"17667465727719019692885046475485595421436058422453823773296362762923253410272\": [\n \"13064257891899331146425602533010304791809399035878704647185908338500778640303\",\n \"1\",\n \"1\"\n ],\n \"21774238930640094021802857210357568753385521081358867453121263821723890848631\": [\n \"5163638689610475410097932909742527028018359861765879941773660923358924936846\",\n \"17667465727719019692885046475485595421436058422453823773296362762923253410272\"\n ],\n \"3578197207726566420092004906397889365908977168742371492793113415201020554993\": [\n \"0\",\n \"21774238930640094021802857210357568753385521081358867453121263821723890848631\"\n ],\n \"14331000293253972714023293078619023701479144959347557661032587955670841092281\": [\n \"3578197207726566420092004906397889365908977168742371492793113415201020554993\",\n \"12593877007849403709989417576521086726566297475301268934278313414679574948938\"\n ],\n \"13445143993060162425666750978528619465174873361670127850690204982527581501707\": [\n \"14331000293253972714023293078619023701479144959347557661032587955670841092281\",\n \"651282912468717636608694966344093000368782136788276745831612699980734329952\"\n ],\n \"524364839615259259892326816990261348678419637320034119132245101222588250454\": [\n \"13445143993060162425666750978528619465174873361670127850690204982527581501707\",\n \"19709845578173218063133068032582201549106074542845965591344745157485466367785\"\n ],\n \"6535151667723083286669112692856433721632897024540111062499268415635477662118\": [\n \"524364839615259259892326816990261348678419637320034119132245101222588250454\",\n \"16877071468853547981633087202886572946737683877078293823208024922737157393112\"\n ],\n \"8377049196675837669103834646256865328510901272634424577448884395689973409877\": [\n \"6357444730108382856505491877900129164082708586619821887126451246513203038878\",\n \"1\",\n \"1\"\n ],\n \"7686902645839464178974465692931185604732341076954621109429110473412107318411\": [\n \"18466206866432854963983095128322683627629577049764893343963446114262793626742\",\n \"8377049196675837669103834646256865328510901272634424577448884395689973409877\"\n ],\n \"9409512102022761185411408336196793890744706317625373722776558426046738521235\": [\n \"15309106672474772219175420500190375324346380063283374834516243419672063039064\",\n \"1\",\n \"1\"\n ],\n \"17418231885317134103347390249613444470930876558055011255512835849810075297754\": [\n \"9409512102022761185411408336196793890744706317625373722776558426046738521235\",\n \"18920933702334101766217924157108509048326514061988886987221862358224329609010\"\n ],\n \"6946319429699049365652066980989260622783175731329248975390823054580398620008\": [\n \"11932903022312827578521362973404656185631037994336422087303558550643478147970\",\n \"17418231885317134103347390249613444470930876558055011255512835849810075297754\"\n ],\n \"21300946806380471160617339182323908181687213376517500969203863707359678672125\": [\n \"20464992346150537044134849515850063496931952063466921380400739680819435425960\",\n \"6946319429699049365652066980989260622783175731329248975390823054580398620008\"\n ],\n \"4234652451889822591300032820950685943294110079318397657283629465476270778068\": [\n \"21300946806380471160617339182323908181687213376517500969203863707359678672125\",\n \"5096682760410351967965573228635546684839360244147195443892383781771002757402\"\n ],\n \"14406290580529111062654074609968656088887123661944621318048813846305810950125\": [\n \"6816746047128173486868021656403746720324930565673857047163167390981711198551\",\n \"1\",\n \"1\"\n ],\n \"14677443586313895277574492281927714120953482585126854248918919816415965833468\": [\n \"14849621810468806136824308830887146473644896895403293488251469003878220433118\",\n \"14406290580529111062654074609968656088887123661944621318048813846305810950125\"\n ],\n \"8518015455988248924474648667418658066139470021495760320102838454154298920795\": [\n \"17130944491154818924617512070333822233446085927449814343109534018821565592009\",\n \"14677443586313895277574492281927714120953482585126854248918919816415965833468\"\n ],\n \"16740592776220558042702922578014593824822283006690524432934039143388737118738\": [\n \"8518015455988248924474648667418658066139470021495760320102838454154298920795\",\n \"19717877459895955599690791423553589111829913605732025149992667544976454096695\"\n ],\n \"6395230727937495390708559907304739804928933407254497313756454957198917213093\": [\n \"16740592776220558042702922578014593824822283006690524432934039143388737118738\",\n \"9534852266104354042721216384863799349995822448692174938381853994342568841211\"\n ],\n \"2983144118173780495113319621968301688789109579791505786669259858026592576137\": [\n \"3963499856409145353975772393006787912154563262318327038583423076025576212186\",\n \"6395230727937495390708559907304739804928933407254497313756454957198917213093\"\n ],\n \"7645103544152445750901677105701490955001098669568657500325052797237555821889\": [\n \"21078144020038740776480057024813724364430908363429930781985027248132746565796\",\n \"1\",\n \"1\"\n ],\n \"5053140989810773200699529187611130044316062535199540952997772321455784524171\": [\n \"7645103544152445750901677105701490955001098669568657500325052797237555821889\",\n \"2033551616557220435345288572870741384676712294670491996988121706433850213183\"\n ],\n \"1757844668864955346170592892634567348100772590226087913064675915729630807174\": [\n \"13975642978122194744777185964161264113146854614547384156477946741834086991481\",\n \"5053140989810773200699529187611130044316062535199540952997772321455784524171\"\n ],\n \"12248653408890123698490332189294196649132930290101077857338142077773051070294\": [\n \"18486354742499438884384972902252928121253712780944434422426178352247223086669\",\n \"1757844668864955346170592892634567348100772590226087913064675915729630807174\"\n ],\n \"20709299911912646219674512823167031529655371968110897142476858102833538427172\": [\n \"12248653408890123698490332189294196649132930290101077857338142077773051070294\",\n \"14007900967194153894716824962930597173553004120795275604013056398443778610393\"\n ],\n \"21586088571957729305114559041513100495226648591324115829271929688790799677150\": [\n \"20709299911912646219674512823167031529655371968110897142476858102833538427172\",\n \"10543874038805100573134937246819934631041433577355188850721269253209556937497\"\n ],\n \"18766470090932488402101861209860554344560414685672175484086577621711524110937\": [\n \"3943490059724327212127319038912865618187730724628474808087030414603029311244\",\n \"1\",\n \"1\"\n ],\n \"310368504456775678975270983092962692628205584685186671238692246316720037874\": [\n \"11280700223746732773468035105293995145782178108861023785947442140705184124176\",\n \"18766470090932488402101861209860554344560414685672175484086577621711524110937\"\n ],\n \"2334077961759108165235771182741645620322278746117448907174261906490618309726\": [\n \"310368504456775678975270983092962692628205584685186671238692246316720037874\",\n \"0\"\n ],\n \"17943285833407013449069093316076190890890497239698341828234340747512546518816\": [\n \"2334077961759108165235771182741645620322278746117448907174261906490618309726\",\n \"0\"\n ],\n \"19730310924063360874713929111207852425384038795908096162141686469094412269791\": [\n \"17943285833407013449069093316076190890890497239698341828234340747512546518816\",\n \"0\"\n ],\n \"7522981659638201016771623419322096103952712238525269945700788903475258828903\": [\n \"19730310924063360874713929111207852425384038795908096162141686469094412269791\",\n \"9160798463599280689057425021350040423035042559188776644381092310555478847013\"\n ],\n \"1402459874035936940488456998911499570531781604285666748952711648085753390945\": [\n \"0\",\n \"7522981659638201016771623419322096103952712238525269945700788903475258828903\"\n ],\n \"223429026970821351478044187946056338420365497473718300519731956829813741601\": [\n \"0\",\n \"1402459874035936940488456998911499570531781604285666748952711648085753390945\"\n ],\n \"8445753025184019547690381742800277993842590650203550181180442625617950908696\": [\n \"0\",\n \"223429026970821351478044187946056338420365497473718300519731956829813741601\"\n ],\n \"11116010951023423964256860075773991450339430247507196115123755438534622683957\": [\n \"13381510104108759766437900972550156147649379084681057639847761107785363653104\",\n \"8445753025184019547690381742800277993842590650203550181180442625617950908696\"\n ],\n \"7427185960265453082634029683796605965719024208264716001512011504915660665261\": [\n \"21087946797164368666482448637520443289766082443868238385245506404417888172979\",\n \"11116010951023423964256860075773991450339430247507196115123755438534622683957\"\n ],\n \"20095364425048504692725237201239047696250279360789566750315553633800407549957\": [\n \"0\",\n \"7427185960265453082634029683796605965719024208264716001512011504915660665261\"\n ],\n \"6231174068837358138485032265753752924213056787730201989043543877826729982934\": [\n \"20095364425048504692725237201239047696250279360789566750315553633800407549957\",\n \"5108250259804980916502972114817824389225906058544800103206873063170702522908\"\n ],\n \"19146884584923520470138626482509508381869627976216148005410041703928159114961\": [\n \"0\",\n \"6231174068837358138485032265753752924213056787730201989043543877826729982934\"\n ],\n \"15011346324626389689744701881919870989380138863539585810989347809265113118689\": [\n \"16040227772933199671325910208121493555149968887274832157941858022553283128571\",\n \"19146884584923520470138626482509508381869627976216148005410041703928159114961\"\n ],\n \"13829072043678140784238469429419247045600537544740949173433398428590595553677\": [\n \"12188270472064207772459977340951384544189952246622186731163982653400699163213\",\n \"15011346324626389689744701881919870989380138863539585810989347809265113118689\"\n ],\n \"1808726949013393870972526679617462406336505975041185854222942183534708251809\": [\n \"3829021747861247583371516064251774583663888104418113986772870209383306626347\",\n \"1\",\n \"1\"\n ],\n \"14591670004604413639430018810539482887448620477096857911003915056991858684375\": [\n \"1808726949013393870972526679617462406336505975041185854222942183534708251809\",\n \"5691337661733338987789487307134593091836660552353452944207470032692032669926\"\n ],\n \"15155201594761641809906342017725221363873819493550182828780981000827106850828\": [\n \"14591670004604413639430018810539482887448620477096857911003915056991858684375\",\n \"6738442648947296702443341218040994995737689995883890527951554642590535341592\"\n ],\n \"19618899344696096828708182967958982139265195747881514762319381474246675607048\": [\n \"17302872074057934063407060874977241945970729928933827695542618136073911596912\",\n \"15155201594761641809906342017725221363873819493550182828780981000827106850828\"\n ],\n \"4138394605078828710308875299753806644557893683288697551453428161609884937675\": [\n \"9162903321431235603338242057471005298048398972661630602154193085331403052681\",\n \"1\",\n \"1\"\n ],\n \"10230686182103562069121885945196028371818393427110843655833544074522877229677\": [\n \"21656245577701261277759286648746570125431223225902686605244460041329390926140\",\n \"4138394605078828710308875299753806644557893683288697551453428161609884937675\"\n ],\n \"20298186553835423745164428688894808738944164292138403315356639259472371248055\": [\n \"10230686182103562069121885945196028371818393427110843655833544074522877229677\",\n \"7453464165652120447782787128856372819351068503669657389699027158747539756152\"\n ],\n \"10059067959392229142324136463856908504063870943755974244434098051102697911422\": [\n \"4711513500766054989529553294678095695254093157201314489351047467993047690893\",\n \"1\",\n \"1\"\n ],\n \"4821617670379583000838160086576344066184690675524951645562306209700222943721\": [\n \"17377087782334249872194188181129276511380038696488223665825735050232276104360\",\n \"10059067959392229142324136463856908504063870943755974244434098051102697911422\"\n ],\n \"2278520051414126690967976859342467256093922702599496926415267836506684920881\": [\n \"8265988616923044814699138947449649301440596609984211201770961079448498162729\",\n \"1\",\n \"1\"\n ],\n \"3723345219991548406164201889081724641355210518588513378023833881252812392146\": [\n \"2278520051414126690967976859342467256093922702599496926415267836506684920881\",\n \"19389210339266845633174379359075564691900063388930200604155646843388131768776\"\n ],\n \"3578155640537087907916574376482028511291228901279471971729777274416325530625\": [\n \"17473817177103033792249248661706679944607236548748260920412376002579548438592\",\n \"3723345219991548406164201889081724641355210518588513378023833881252812392146\"\n ],\n \"13908170062481187900865330515179779373629533555318108932079587680420319042692\": [\n \"20836676412672134137360070051787580135492822373127999630233148158448830764910\",\n \"3578155640537087907916574376482028511291228901279471971729777274416325530625\"\n ],\n \"14275562476048102873337765312036684496399533510808701697958479850505166409484\": [\n \"13908170062481187900865330515179779373629533555318108932079587680420319042692\",\n \"16011758007727141931327631663054247588615462700962020322452759774199174268030\"\n ],\n \"3884834080094353762414067999673951483562353799935730141128782215989404363806\": [\n \"8874105008240781134130679705504145861563437523306965668872659686305120950490\",\n \"1\",\n \"1\"\n ],\n \"3235699598865515595919725631013650926559578915093920395425953906577486997068\": [\n \"14766734948986751380596976251108278670987025626935035638749384444286833012786\",\n \"3884834080094353762414067999673951483562353799935730141128782215989404363806\"\n ],\n \"14588900507221599213424189488513856138399819879124911797731520830919387070792\": [\n \"8226000030471029368425943425403933873599099797651534379417399427444015135560\",\n \"3235699598865515595919725631013650926559578915093920395425953906577486997068\"\n ],\n \"5228939251299910116303907345779971893282204103661729553698440459922988646660\": [\n \"14588900507221599213424189488513856138399819879124911797731520830919387070792\",\n \"14841264130076049529527767073636951104243882111633171348160114421104362976548\"\n ],\n \"10691327751815476862988061390748435290479353515373207577332907443356778365913\": [\n \"17739760081302596961288308404475019521239467324918098707518272166988582943643\",\n \"1\",\n \"1\"\n ],\n \"10650538233365853551429890019148234851688606613732667297217493403617934067933\": [\n \"7491058633217348492242462106118196397310840830660546877939622257230835154644\",\n \"10691327751815476862988061390748435290479353515373207577332907443356778365913\"\n ],\n \"1217570284513624382561585383953083988479455071893658892473955847117934719026\": [\n \"10650538233365853551429890019148234851688606613732667297217493403617934067933\",\n \"18245131227831246327871788273594215974615382313705220573392377254619107221229\"\n ],\n \"9455867904558800257864507783601725973071987483799569161083688752569546561003\": [\n \"21591971398716636782611776585800684509439705803812942839024214627293807605724\",\n \"1217570284513624382561585383953083988479455071893658892473955847117934719026\"\n ],\n \"1887637505986242647063385393089559565252582593337147405017715337123624084816\": [\n \"17520259075267254260325885931130437595016817909867657641835092242109297990124\",\n \"1\",\n \"1\"\n ],\n \"17880902324420364846309928418673974681589902395446561834478796489920129295307\": [\n \"1887637505986242647063385393089559565252582593337147405017715337123624084816\",\n \"7195699179711165087632727472326685212641681323357528683093629034174177602105\"\n ],\n \"9882815413622348285459228562180168174889817740253441069270524768680774262179\": [\n \"17880902324420364846309928418673974681589902395446561834478796489920129295307\",\n \"0\"\n ],\n \"5786496990375822847275952288157173553584489923217293298470653430009435324754\": [\n \"9882815413622348285459228562180168174889817740253441069270524768680774262179\",\n \"10613528299967224209298817200841310352860087750284540295819044351237266509328\"\n ],\n \"9277494182009889179638425323875862021175290002680130778679032126980943758933\": [\n \"0\",\n \"5786496990375822847275952288157173553584489923217293298470653430009435324754\"\n ],\n \"2232238769447597433458814761248554603710011479589874217987962580007410413436\": [\n \"4251951921527414218477332997497399218721577148885524956797274704676621576676\",\n \"9277494182009889179638425323875862021175290002680130778679032126980943758933\"\n ],\n \"18799717158521609430515419812055948129318860278592895399409745792479748455210\": [\n \"2232238769447597433458814761248554603710011479589874217987962580007410413436\",\n \"16889694026647442061900328929749445500980079711831048082343536843273547625620\"\n ],\n \"11579382137733960483583601690367495874899529818598544618713377447396916700174\": [\n \"18799717158521609430515419812055948129318860278592895399409745792479748455210\",\n \"17640240941457078327778507601177310021063954762777504339510517249191225303255\"\n ],\n \"15612219805736157510086956639830264211231822643889007733105851049882539669730\": [\n \"14316313387819669539015607555444361047142742971273600232079714488353742321412\",\n \"11579382137733960483583601690367495874899529818598544618713377447396916700174\"\n ],\n \"12017913518790605446488180454839523644285312481517476039319578200092659400255\": [\n \"8685140979760939240276352297967874850686319064999778149931776835122816419717\",\n \"15612219805736157510086956639830264211231822643889007733105851049882539669730\"\n ],\n \"3924971431380051549894193769985117206924655853659564319516402047931971962432\": [\n \"17714006182305585627277366020838097702965489391257337793895025011272568243313\",\n \"1\",\n \"1\"\n ],\n \"10632678199742914361750621820294864772380711662146165267759636908596693651227\": [\n \"19833689683220068468962945305877744913242422708377628986756465053435881883542\",\n \"1\",\n \"1\"\n ],\n \"9607984655113461943549648112498262938484563919321365545083774845470947040521\": [\n \"10632678199742914361750621820294864772380711662146165267759636908596693651227\",\n \"14123206131262560218600318968115955485374375806409925253073688291393551265546\"\n ],\n \"10704812374672309699656362523312206793699755645291979962744459117195859756111\": [\n \"14470959854525062785117185642697515103597209833615052619750069875161845406854\",\n \"9607984655113461943549648112498262938484563919321365545083774845470947040521\"\n ],\n \"20333315450930179235753267415759237093009171869255652442531661999847999820143\": [\n \"13101360021453055791798183559445626654070801678466517349575248463837272143118\",\n \"10704812374672309699656362523312206793699755645291979962744459117195859756111\"\n ],\n \"11925628201790302058247059065166816894404962236515023397881746350664719592783\": [\n \"7249051809518820311346252545296834312104177745008267304301833588080893457549\",\n \"1\",\n \"1\"\n ],\n \"11664063444834476410477849640976705913114825137230775790390192407026642017967\": [\n \"10356720473858739006108131790521862925250311518398053006020122935420191103734\",\n \"1\",\n \"1\"\n ],\n \"17330725533272428772442583544029566200579816731168284408218386611209540638234\": [\n \"11664063444834476410477849640976705913114825137230775790390192407026642017967\",\n \"412982115228031364898547802589041182018338645888101042856959308185380798702\"\n ],\n \"3240469910182521018826664809073044692032960969347798902626310147827389301085\": [\n \"14830173178977565368203829078186181142135105757119702012414484548117957853944\",\n \"17330725533272428772442583544029566200579816731168284408218386611209540638234\"\n ],\n \"1471505099641458566824138170233107989449050672546212196980863852380417867136\": [\n \"21467354058152615348827138090861639827336075193859732108956693756815472707433\",\n \"3240469910182521018826664809073044692032960969347798902626310147827389301085\"\n ],\n \"11193864223200016076195088353734229194734133559812406673003383468185742325531\": [\n \"1471505099641458566824138170233107989449050672546212196980863852380417867136\",\n \"9137399639330187498101317940121734080708799596328673790406865420282299276190\"\n ],\n \"16616126245810533153133161944619070195307897851433429976368280582675177554529\": [\n \"10039359714844755984635394827721853898863610616435506866759247339052701183798\",\n \"1\",\n \"1\"\n ],\n \"1668106927717522976807969525550752317852712601549171733491265141752198170897\": [\n \"16616126245810533153133161944619070195307897851433429976368280582675177554529\",\n \"10266089412789669401459456502153662916825371101057485048750959593188487775086\"\n ],\n \"10190446113086431124588169687006087255518105692670375530151949392889370312435\": [\n \"0\",\n \"1668106927717522976807969525550752317852712601549171733491265141752198170897\"\n ],\n \"9279972747569116331994983254310504802066400388551496192405772751190067413513\": [\n \"0\",\n \"10190446113086431124588169687006087255518105692670375530151949392889370312435\"\n ],\n \"16604108642207772774254793851553050410885966316805777377338107617222172152987\": [\n \"19628141914996341869836336782613040649295080125855987750859699308896383181932\",\n \"9279972747569116331994983254310504802066400388551496192405772751190067413513\"\n ],\n \"10731056163438751713094089557952880546890883294053269788933759053905227842743\": [\n \"11804882344880701067426718392084923801023099359745978071322440782945817304815\",\n \"16604108642207772774254793851553050410885966316805777377338107617222172152987\"\n ],\n \"5956694739790136612733660237138277414579293390399350707892643980428062881073\": [\n \"10731056163438751713094089557952880546890883294053269788933759053905227842743\",\n \"8942587108511666789157318792169336298185725558703321473967438143727186229322\"\n ],\n \"20337302919831973275891478449389943977856619979796855371394303477670202523604\": [\n \"17916252567763669201353451479121020614449784403272755362903231417518991608734\",\n \"5956694739790136612733660237138277414579293390399350707892643980428062881073\"\n ],\n \"16052636309315446858319242048379947544088430214625576584048914276205800005045\": [\n \"0\",\n \"20337302919831973275891478449389943977856619979796855371394303477670202523604\"\n ],\n \"5828546685523809315929339463360733759889241258501507249725689627218345477631\": [\n \"14992038145305209958763670163523756057896069863869768989014206186452672263997\",\n \"1\",\n \"1\"\n ],\n \"1853172511419140038915299247527478970217854812767000521784301867164112610027\": [\n \"5828546685523809315929339463360733759889241258501507249725689627218345477631\",\n \"11265383934755045124969202351650640224251939453739351581157789017775595142498\"\n ],\n \"10534711229366152722337430595989425416365180181781115007128202803882032226024\": [\n \"1853172511419140038915299247527478970217854812767000521784301867164112610027\",\n \"0\"\n ],\n \"1706244977075727568337867286708293490279684319336941182678148900897386182906\": [\n \"0\",\n \"10534711229366152722337430595989425416365180181781115007128202803882032226024\"\n ],\n \"7324943077005937368461391172977047035955077388180790257094282764523343749937\": [\n \"21754492444932597933489253025741837030653240147690938443183356866445790278899\",\n \"1706244977075727568337867286708293490279684319336941182678148900897386182906\"\n ],\n \"4451776295026460909176410227733600678710682042552818320004946807325716802015\": [\n \"7324943077005937368461391172977047035955077388180790257094282764523343749937\",\n \"10182864717778861082016440059152986282352104029326355291478619500996630999563\"\n ],\n \"4873137779007281580958003009005860916909909527530767225437450538636323285964\": [\n \"17465713936736709148677890281290002488204159410944338533342292952490985712049\",\n \"4451776295026460909176410227733600678710682042552818320004946807325716802015\"\n ],\n \"14056757448611736199891164288822861479605848617046412571656936244348563987786\": [\n \"3798984975472074491880604550311577902051423510288531392048297360258477242080\",\n \"4873137779007281580958003009005860916909909527530767225437450538636323285964\"\n ],\n \"4924898126791303483715913904798668753414424550668159523470899606622202260734\": [\n \"1500646701016684165331757235207199900703212662394140288531834879327089945838\",\n \"14056757448611736199891164288822861479605848617046412571656936244348563987786\"\n ],\n \"3952060152337937414592751609272757123816879592092964656768390524894727755437\": [\n \"15263155259537410270774765454994304422998762494961062973041276318631854767198\",\n \"1\",\n \"1\"\n ],\n \"13133270971657359668558324281266532680898872661876496347705224831604159984496\": [\n \"3952060152337937414592751609272757123816879592092964656768390524894727755437\",\n \"13580104034526555343391005437553271304565133708565336501397150825377058706682\"\n ],\n \"8660599248277242992952832499775884483838568285186124783170396989878439399067\": [\n \"3804474737092025058046915456472383772000634266008748950409052123796363698082\",\n \"13133270971657359668558324281266532680898872661876496347705224831604159984496\"\n ],\n \"553329794055506502456253800131599855366480894186676417336855184214526369970\": [\n \"0\",\n \"8660599248277242992952832499775884483838568285186124783170396989878439399067\"\n ],\n \"10730197439680116577639978773952680423779271250082254504019158914336570591859\": [\n \"0\",\n \"553329794055506502456253800131599855366480894186676417336855184214526369970\"\n ],\n \"679741801073508481476294657190941427945484181653646031026667267573909334212\": [\n \"4756639482896949327215110598639543777657310210188432596787666678397450691666\",\n \"10730197439680116577639978773952680423779271250082254504019158914336570591859\"\n ],\n \"8987134709984652155876744026821625562000523079718186223986124654748194036096\": [\n \"1114495806815656371365241012498894322782314083041933531820793867360727392357\",\n \"1\",\n \"1\"\n ],\n \"14917907456154483041735157834609498674896373750991617700254468549357448206330\": [\n \"2546582877077082599158489693819644757432524660144621070565469045740592985531\",\n \"8987134709984652155876744026821625562000523079718186223986124654748194036096\"\n ],\n \"18236993658244464870831135046337414766164124376128528948518936094160897254916\": [\n \"0\",\n \"14917907456154483041735157834609498674896373750991617700254468549357448206330\"\n ],\n \"3978283890347194078149637762229518325483292229165799119289773087820847671806\": [\n \"0\",\n \"18236993658244464870831135046337414766164124376128528948518936094160897254916\"\n ],\n \"16777334324039349295532980393315199140119872371356833433638323856490577040273\": [\n \"5477356580456923681283458246020558373583409725871685324620684742395600667583\",\n \"1\",\n \"1\"\n ],\n \"16178464354643006225366570983282721353658428502138825426179233186531092668528\": [\n \"16777334324039349295532980393315199140119872371356833433638323856490577040273\",\n \"544255563501221139076916455115399479821369815823305764320179426309020253049\"\n ],\n \"5882934596576267054970483357061021195059558268946064437726618853042883927603\": [\n \"16178464354643006225366570983282721353658428502138825426179233186531092668528\",\n \"0\"\n ],\n \"21038320922127554557646598865358685838206076764911458851194166112759296137982\": [\n \"5882934596576267054970483357061021195059558268946064437726618853042883927603\",\n \"0\"\n ],\n \"18467033224814450646766703618355895219953301983869072466741365898669254322775\": [\n \"21038320922127554557646598865358685838206076764911458851194166112759296137982\",\n \"0\"\n ],\n \"2225749149588214576853487244938339452420079874610470682236524081842029331535\": [\n \"18467033224814450646766703618355895219953301983869072466741365898669254322775\",\n \"10508771598142050812041132598794292835002438186914191563943792736282124195771\"\n ],\n \"18025548002124414688039646402758709298048706669137727145079694651012131566306\": [\n \"13039853004912275806142629800325648890510277624569929038056504196624589479577\",\n \"2225749149588214576853487244938339452420079874610470682236524081842029331535\"\n ],\n \"7498249927560066864817397943486830724919061919988581797530628150769152793882\": [\n \"8371849401161839050230325621343629382782742489108664231867577587276900170488\",\n \"1\",\n \"1\"\n ],\n \"11225269418148475221528005482616638422666439190244740296827237063910908952069\": [\n \"8689118286404705876384162221250933129440770149655187644838369196069523056056\",\n \"7498249927560066864817397943486830724919061919988581797530628150769152793882\"\n ],\n \"4801700140021781051447867067375544879238261550207765151398170177095608885436\": [\n \"11225269418148475221528005482616638422666439190244740296827237063910908952069\",\n \"3583502907885547047716384766024521455457494633155481596946831239044719302540\"\n ],\n \"2613114172439301783101735054430763466177816763224646886649743723147182608781\": [\n \"2978176287973320759808492839739444016592584340446387217206115724046631936258\",\n \"1\",\n \"1\"\n ],\n \"12819297684074877814608186345856931993143945717513388894967177691806281066191\": [\n \"2613114172439301783101735054430763466177816763224646886649743723147182608781\",\n \"367458994830053750870846150919907734656351492764576454266497730647950791656\"\n ],\n \"18409013424131598384884628129519408472427074374389302065193196763925394839217\": [\n \"12819297684074877814608186345856931993143945717513388894967177691806281066191\",\n \"13358380991549771979821069321951116810684565135503039169062607688104029259782\"\n ],\n \"10598324136636602080950818523436733576474577571052011963178181435728347643147\": [\n \"18409013424131598384884628129519408472427074374389302065193196763925394839217\",\n \"15821563362315439694711299506444855875737383453130615668740745411825545227261\"\n ],\n \"6383424644038175684978495293113039123272764203539939619643089270694750029452\": [\n \"16140623044261290343947457210030332486292847985828518112740469821016243094543\",\n \"1\",\n \"1\"\n ],\n \"1422210437238427231774704243200222980587738918043560865213850459445996789811\": [\n \"6383424644038175684978495293113039123272764203539939619643089270694750029452\",\n \"15631263196815203998433730499839491323949965915463167952862694050508702054470\"\n ],\n \"9040549161002944826789784428229551827110178944294017962536929196937215196442\": [\n \"1422210437238427231774704243200222980587738918043560865213850459445996789811\",\n \"8605590786083786773066545031728282972857866223325400013696335160264766155615\"\n ],\n \"90186838638317931186741439370966037482356745832616262425648522119948160185\": [\n \"9040549161002944826789784428229551827110178944294017962536929196937215196442\",\n \"14018020604971416927054350461746574763400739811095816956849688471472360901854\"\n ],\n \"6664166094293185067211885940712608557063843809504051801552810258694288508025\": [\n \"3343533452629740985172191185098030992406379929696232899644281565316978369237\",\n \"90186838638317931186741439370966037482356745832616262425648522119948160185\"\n ],\n \"6423389464009818101257396716352116750310761225161165702284542114172810117916\": [\n \"6664166094293185067211885940712608557063843809504051801552810258694288508025\",\n \"17518164480808567442609673367636429559977960375568421470111778888020605099555\"\n ],\n \"2693905643756035083171685715783491314160103923638625020034211985826403548553\": [\n \"6423389464009818101257396716352116750310761225161165702284542114172810117916\",\n \"11369809276216308437190613564713882702902902102934530712443463666334455077119\"\n ],\n \"7974022704960697668438665597543058943609694398218348916770409661236734559246\": [\n \"11988963126931390366839365699394401340455758687335638740061007046918720311959\",\n \"1\",\n \"1\"\n ],\n \"6558861053081938053363156370188608405867523640202694979775089411321033881423\": [\n \"12572501374521527155443650680338918680376121790099865930027722757513629556426\",\n \"7974022704960697668438665597543058943609694398218348916770409661236734559246\"\n ],\n \"7002208274057769290089322640453627501186602049855989374965658244932852208348\": [\n \"0\",\n \"6558861053081938053363156370188608405867523640202694979775089411321033881423\"\n ],\n \"7912974172274367909578347418752078255848564282658240568130757544620297767233\": [\n \"0\",\n \"7002208274057769290089322640453627501186602049855989374965658244932852208348\"\n ],\n \"12101190529254190412601229839497181751146035128845129629295269872049316979122\": [\n \"7912974172274367909578347418752078255848564282658240568130757544620297767233\",\n \"0\"\n ],\n \"9944759099179657622504731343475661367624779996206465300616248971385249034149\": [\n \"1616002312009968642891677276721216604023263439894877253497908501311333047251\",\n \"12101190529254190412601229839497181751146035128845129629295269872049316979122\"\n ],\n \"830389809552816936545819313652878213412350681974131962654896694994915752155\": [\n \"9944759099179657622504731343475661367624779996206465300616248971385249034149\",\n \"9762127901048364590719621130045692344613019525231524495961060336551672790655\"\n ],\n \"16401941133236318070565193138700392907917738920112716207809511873331332554489\": [\n \"830389809552816936545819313652878213412350681974131962654896694994915752155\",\n \"1575256873537710258123107527803624197525056825596626500489313010655782968232\"\n ],\n \"2900237644749229453725906683302383268622512876630422178414259337015896385471\": [\n \"2035505040919079486684488666019441258419898437716620830927804377120541356982\",\n \"16401941133236318070565193138700392907917738920112716207809511873331332554489\"\n ],\n \"5870175003672458423761924526627544398026902474523470501681314792839368490176\": [\n \"3582130333763881554453613949644875248953904007008273655247618943750982539429\",\n \"1\",\n \"1\"\n ],\n \"20368219230917682848137753790477095014104956462720461223893481929348312995511\": [\n \"5870175003672458423761924526627544398026902474523470501681314792839368490176\",\n \"482002020656363419370210131823847978115945631545404568230387387771658096911\"\n ],\n \"8858142199805668464291599460895334495045327057039873869013440719550277374447\": [\n \"20368219230917682848137753790477095014104956462720461223893481929348312995511\",\n \"16647628147227789815823678930321892963657348082027496677015500084242446538051\"\n ],\n \"1594358492544528272738597067245893769943974207113137072123537931142584187557\": [\n \"8858142199805668464291599460895334495045327057039873869013440719550277374447\",\n \"13962542339905470622525664467648783441788868023630967545419044636006345479890\"\n ],\n \"9759577687447697907945715997553735979413394515334891045932007636095594701929\": [\n \"9614095764935794693488264230907519906147059365759020881450509115779979234134\",\n \"1594358492544528272738597067245893769943974207113137072123537931142584187557\"\n ],\n \"19993096933708086071371294854077091929073293978244593088891550800072647647455\": [\n \"14539756554439859658690904696049792029052197235245548478934008019081636919012\",\n \"9759577687447697907945715997553735979413394515334891045932007636095594701929\"\n ],\n \"13144974802933501164867066704418214979775020921148974726736922743174073422826\": [\n \"19993096933708086071371294854077091929073293978244593088891550800072647647455\",\n \"19952998746620900606048804499170471251385877054186652753475716326973832106260\"\n ],\n \"7477210172937937559802812883893875086769678118255224633596476922098749548139\": [\n \"13144974802933501164867066704418214979775020921148974726736922743174073422826\",\n \"12466207492782358381278358187902199192479496296962389796037354045466834485063\"\n ],\n \"20946197108614095867717861138925171826408998453560644444267262432541819761723\": [\n \"21455500465596257115022937761357068624492194661722095447123239058291406635718\",\n \"1\",\n \"1\"\n ],\n \"7471710047502685174272429264357883779689293794172829484730064897206913005270\": [\n \"20946197108614095867717861138925171826408998453560644444267262432541819761723\",\n \"8714410442606102977320341602521471454373803999461039579930285487319822925365\"\n ],\n \"2948236522389546396373056386461513286689821100814525652884457673115797861196\": [\n \"6851491775516488457186730355526840542989666378324072572040007128710021849680\",\n \"7471710047502685174272429264357883779689293794172829484730064897206913005270\"\n ],\n \"276508896326761643946874915895616461103391768449247491696477132816753231227\": [\n \"2948236522389546396373056386461513286689821100814525652884457673115797861196\",\n \"15756934750115324615936688395673118115477858751390605098740784917369219110633\"\n ],\n \"8527745229219966530775623927583558871085009028676720081748532157499562439124\": [\n \"963558149892688352811583228931757193365253527965375774906561162416960696382\",\n \"1\",\n \"1\"\n ],\n \"15092755168249454670519482614870728448690895752302102107966484315980560834991\": [\n \"13390190272779718647589337685735083970288777019230148481903586530735755220515\",\n \"8527745229219966530775623927583558871085009028676720081748532157499562439124\"\n ],\n \"13640388953151687517451522256551575508592556910096452112369356505997986464612\": [\n \"15092755168249454670519482614870728448690895752302102107966484315980560834991\",\n \"0\"\n ],\n \"1840888581309904763628221531346211891351094823061928639349947034239660445940\": [\n \"13640388953151687517451522256551575508592556910096452112369356505997986464612\",\n \"15758435959425833285715904052258105309969441340657272769190345825874073262318\"\n ],\n \"8118039339219345743417467151639120963423015467581203768725429796935670425323\": [\n \"1840888581309904763628221531346211891351094823061928639349947034239660445940\",\n \"12992807536208400307924310171271573947941436543289975797958128799616313175687\"\n ],\n \"2422119747403159571526935010390008016672774808269089291245157989151982304913\": [\n \"6723569867310721540839559760188278281524004134551188981645063791649780217667\",\n \"1\",\n \"1\"\n ],\n \"5560957679620166335864865596789569689166419709696020216531566513306632247478\": [\n \"20704963702661370151110941508417671644361513278505872942698179132027062914431\",\n \"1\",\n \"1\"\n ],\n \"10250250536105539139932523141030956050668424335021927061417296595874714863655\": [\n \"16867524939418496889715854935830896455579153728276933851204224669282460230378\",\n \"5560957679620166335864865596789569689166419709696020216531566513306632247478\"\n ],\n \"19473368774589497212850587757416236974447661921927998280307420920448022009482\": [\n \"10250250536105539139932523141030956050668424335021927061417296595874714863655\",\n \"6783170571816596038048897105328133238691811274795284873083652020017349497118\"\n ],\n \"19546351573500476808332444813190014894862181381710180757117653609374676594573\": [\n \"19962984247731568096932978373720200228896861434738108049791134518114327255575\",\n \"1\",\n \"1\"\n ],\n \"11687148581663584625692175720468742521056434814435257582252704665387210496322\": [\n \"21028664492992188411412802668216413551431190706069083990041612534458332222595\",\n \"19546351573500476808332444813190014894862181381710180757117653609374676594573\"\n ],\n \"6851435571980194055516210296903719914128232070918007609655208453596271740110\": [\n \"11687148581663584625692175720468742521056434814435257582252704665387210496322\",\n \"803270441189317393794492528172952336877942678002738336303407282347595587207\"\n ],\n \"12672744506163466436574452689370282481394420119916842691068160554235949836013\": [\n \"21575073837462986760597045581894358894376636243907005483046049767280076275087\",\n \"6851435571980194055516210296903719914128232070918007609655208453596271740110\"\n ],\n \"17380867429789619755233065174795023070680486544310276475061137871554695728768\": [\n \"20122655610940677107911877029686317686929571537609646163027475780055581149492\",\n \"1\",\n \"1\"\n ],\n \"14572561908624592684660854555031693509106747535662203278090741996081131960902\": [\n \"17380867429789619755233065174795023070680486544310276475061137871554695728768\",\n \"1850720735085719327171794332904225220079611311307123710726505847278960696247\"\n ],\n \"8921926917107210228199182334354390576242046267649457154238257441708702046685\": [\n \"199653085427609340139437806170796131696095765548712690374642873001260839974\",\n \"14572561908624592684660854555031693509106747535662203278090741996081131960902\"\n ],\n \"18021585733654636896424208995805433456495180553275890639052931502798933893798\": [\n \"8921926917107210228199182334354390576242046267649457154238257441708702046685\",\n \"19440721076618448417543895182889690020377904799745664732569382954793420527140\"\n ],\n \"3071464769028350378901731416572429955369114160381200941180346005847215000899\": [\n \"11710339041510985232981901049043910382426343241609757745673488660520706846503\",\n \"1\",\n \"1\"\n ],\n \"16667908363060066767553271737858632292660895663989969732437864460421182399609\": [\n \"13920164637885997072610540017962982568385111898144664550221382620144550099720\",\n \"1\",\n \"1\"\n ],\n \"3973645670984228319447425652558527836395193782840570795689529950429187141543\": [\n \"16667908363060066767553271737858632292660895663989969732437864460421182399609\",\n \"16255197119000102976777905734448580892763657165416644513732353281999039958982\"\n ],\n \"15773981698220085587225706798428137485414339852347504065154964562128139683604\": [\n \"3973645670984228319447425652558527836395193782840570795689529950429187141543\",\n \"0\"\n ],\n \"15971151874098363126209201885316863330542683807060802127243420790761262445822\": [\n \"15484482776688329539428616516542516451251725879010445702643888804991952702419\",\n \"1\",\n \"1\"\n ],\n \"21059653897661544673491014556783034002155918575358071520609540654970087311202\": [\n \"15971151874098363126209201885316863330542683807060802127243420790761262445822\",\n \"12577526065357113324844996253586036117306311471322595933032523574033515904619\"\n ],\n \"11250534607574241436414989225243238122233538179611166201789800432701300051514\": [\n \"0\",\n \"21059653897661544673491014556783034002155918575358071520609540654970087311202\"\n ],\n \"20973727032179342001821984546292698783175555528496844972265082226610163531450\": [\n \"11250534607574241436414989225243238122233538179611166201789800432701300051514\",\n \"19630328064554112670905637382871661783818726618440079563377121311981197365988\"\n ],\n \"13672957980654046288053624194793783529047669688593275712883649041453755238160\": [\n \"6594656748962595622965129226429013128177743585297212330237890055262870795455\",\n \"20973727032179342001821984546292698783175555528496844972265082226610163531450\"\n ],\n \"8099408906166781360887046938864165059014226861572930239102866431122011973246\": [\n \"16596687356699981111252891875220577569646599543023242799475591788512719184182\",\n \"13672957980654046288053624194793783529047669688593275712883649041453755238160\"\n ],\n \"21840667656903966089257841254903827950890964609466676778235159680878751301443\": [\n \"15115665672368943765541723028486882839720185260353855828770101759246766153017\",\n \"1\",\n \"1\"\n ],\n \"9437577057959376030945407825333491172423799985322399344476214351979937124051\": [\n \"13542707985018930714629038359698766713849535921920153775455315747329257679346\",\n \"21840667656903966089257841254903827950890964609466676778235159680878751301443\"\n ],\n \"1495178153180218673334680576045892777175294377047749008946554691651738456334\": [\n \"0\",\n \"9437577057959376030945407825333491172423799985322399344476214351979937124051\"\n ],\n \"2980070658195365242127029956475728156663161650725052009763236256532855421101\": [\n \"4853696369936586796139045038161102526852386166404726319221272864227083005015\",\n \"1495178153180218673334680576045892777175294377047749008946554691651738456334\"\n ],\n \"10496801569701565180301831664498665124619144756992426433307817522667316067516\": [\n \"4517509214108364289129943882936873893804553519862927116569092038011879638740\",\n \"1\",\n \"1\"\n ],\n \"7648877696470717928639244548821592542063944159064501160573091732007585993171\": [\n \"715252279706462398931398706785242773273992341045058823747603669097788008964\",\n \"10496801569701565180301831664498665124619144756992426433307817522667316067516\"\n ],\n \"20578359089654989828736917041924480419347170273578876035555819515215153735602\": [\n \"7648877696470717928639244548821592542063944159064501160573091732007585993171\",\n \"0\"\n ],\n \"19857940347963025499696306277557616518443889592008489737045210384768412761482\": [\n \"20578359089654989828736917041924480419347170273578876035555819515215153735602\",\n \"7029804411773995699342609601356237919470761084171499854615770366426897403000\"\n ],\n \"2711073406228364541673635968275763132130489515142517504930701347582566797954\": [\n \"19857940347963025499696306277557616518443889592008489737045210384768412761482\",\n \"0\"\n ],\n \"3987651937573629131871595680286313923648305184247430326271789131880561187026\": [\n \"11043278490850047284547151309090387839481001564411577679825508643683455160188\",\n \"2711073406228364541673635968275763132130489515142517504930701347582566797954\"\n ],\n \"8452496189485342997255366683365586315979696134401869483592371410488547127340\": [\n \"12035470424768152123985898169374654515971834989699656361578499721968414246281\",\n \"1\",\n \"1\"\n ],\n \"9969598354444172051245625665566170994712458652358584072056978532250619968949\": [\n \"8452496189485342997255366683365586315979696134401869483592371410488547127340\",\n \"1750364484947387207195986696637545547482346026876351580844461899830962295303\"\n ],\n \"3939649622393277514468076379079096242870284165612951514433803489574352693353\": [\n \"9969598354444172051245625665566170994712458652358584072056978532250619968949\",\n \"0\"\n ],\n \"17322531294619136602098401211421228287335160936625357847859285187572175554210\": [\n \"14969297224523441198133937275464232379390792051995166818058414218929688768138\",\n \"3939649622393277514468076379079096242870284165612951514433803489574352693353\"\n ],\n \"7268146045560614264834622464680933090397250762283052018679791708241790744036\": [\n \"17322531294619136602098401211421228287335160936625357847859285187572175554210\",\n \"7066296433570739449669375751627196681855677873921091487251421808644550923314\"\n ],\n \"4154508863055973852239118065759683601619977521756997930243189104948856054596\": [\n \"3658152065818904516000702683961339736871599519172640611002818950302569840598\",\n \"1\",\n \"1\"\n ],\n \"56761802185718003457581878627212837329359374564305195092111395058032707761\": [\n \"8800420601509953965684108777197121680990675738846314209843528127365524200257\",\n \"4154508863055973852239118065759683601619977521756997930243189104948856054596\"\n ],\n \"13697159396645323618952308630208260248322261373667725880366188600848454071025\": [\n \"20232947136079640412145738406828632843283890587131903835419900567805444021370\",\n \"1\",\n \"1\"\n ],\n \"19489111041028017017852048385944218124620000992021855574561226074721033530684\": [\n \"13697159396645323618952308630208260248322261373667725880366188600848454071025\",\n \"16132056748965119984421976006330053177216884168795068334327648051476631429162\"\n ],\n \"4394222658338102861448564539554620920557483325486757244498615616861430173212\": [\n \"16309471831836336247218700386038578955908267552745884225316608499338568078964\",\n \"1\",\n \"1\"\n ],\n \"13495559314427837016347559861281363649499388615984651957680501602145959506262\": [\n \"6297569151723299603226423491245436689211380937933819098775506393341500778934\",\n \"4394222658338102861448564539554620920557483325486757244498615616861430173212\"\n ],\n \"12555906516084770754130360564321161848712247112320605646852406018263074635697\": [\n \"13495559314427837016347559861281363649499388615984651957680501602145959506262\",\n \"8782631993077527815152034480122282909209828943661228660026891646961265095874\"\n ],\n \"19508305202939493343683435019131113081175675005811296554930221658859052453803\": [\n \"11922813116449983210101345782136496400403155999070018121160617446200353224736\",\n \"12555906516084770754130360564321161848712247112320605646852406018263074635697\"\n ],\n \"6943026097269424082258283270125102842982187440436328227409140273988876899375\": [\n \"19124098288761536998804726047496444799765157831874057409049222020246304402104\",\n \"1\",\n \"1\"\n ],\n \"11341303229881871473642695126484628366254392226373804045780243882397567406245\": [\n \"6943026097269424082258283270125102842982187440436328227409140273988876899375\",\n \"12646168841057487842969675645914502494157932007274775208279102228957837667507\"\n ],\n \"16802685231221966322850891880547403452097065864129048500054836000081009825933\": [\n \"17815599025939435381002037451510375398808148417522138644282883252125343140613\",\n \"11341303229881871473642695126484628366254392226373804045780243882397567406245\"\n ],\n \"18373996579857847718017347024953048337002132688606155433317770971436085164769\": [\n \"16802685231221966322850891880547403452097065864129048500054836000081009825933\",\n \"690649051878699786118875868674844184018032427709568984262880046693675327925\"\n ],\n \"7079875453379429669317608419075581971699163796582305249336008082719439265301\": [\n \"10495085049944708262970933083379391079050391936313843853135794649884535080658\",\n \"18373996579857847718017347024953048337002132688606155433317770971436085164769\"\n ],\n \"10257766251535240248115699322547128531759510900237473789756818342918784971000\": [\n \"7074920747538969017009664705854785865190058708663669140504483837633486257400\",\n \"1\",\n \"1\"\n ],\n \"1234725933031846805379352486053749999137275128058743707327478146792795467556\": [\n \"12841178368651131005425996492948239343497055048898889277262926028607922345120\",\n \"10257766251535240248115699322547128531759510900237473789756818342918784971000\"\n ],\n \"20062160292393549967826529443463145497217336982475643825070568408663222979383\": [\n \"0\",\n \"1234725933031846805379352486053749999137275128058743707327478146792795467556\"\n ],\n \"7013172507493427013503951457287398384495239474599617110567940389302290566370\": [\n \"14795539280005804255968130561943825271841572707370309580928885135895252863630\",\n \"20062160292393549967826529443463145497217336982475643825070568408663222979383\"\n ],\n \"12020215240195629616089991201584841291169297648242515852398808278988906279591\": [\n \"21219079375094994670573894892122255279147305361424048116560016289290649603318\",\n \"1\",\n \"1\"\n ],\n \"21235366576035116791074384108988612640043161830767987885931958784015572453846\": [\n \"12020215240195629616089991201584841291169297648242515852398808278988906279591\",\n \"16988956849019430392225342822816046467715124700642518553432148417237632518257\"\n ],\n \"18054244253934524884992676649785723518005881485221735878080696562275449027869\": [\n \"21235366576035116791074384108988612640043161830767987885931958784015572453846\",\n \"0\"\n ],\n \"766854873648651543252521919628658969645836744834999294871173591508566216246\": [\n \"18054244253934524884992676649785723518005881485221735878080696562275449027869\",\n \"0\"\n ],\n \"13296877490235019708602038714197096140591239765035169800041066443927532259967\": [\n \"766854873648651543252521919628658969645836744834999294871173591508566216246\",\n \"0\"\n ],\n \"15695269578431486424738034072227574243788899808933099971468958760596426342314\": [\n \"13296877490235019708602038714197096140591239765035169800041066443927532259967\",\n \"9099028599068271082841574737296428412522412238181593660969792876927218363356\"\n ],\n \"15787558214052499485875454384411281631798050972620734822713138949481118787284\": [\n \"15695269578431486424738034072227574243788899808933099971468958760596426342314\",\n \"0\"\n ],\n \"12049659597668088065468912418039295617975712667999609409237912734145586686196\": [\n \"1934818637550944353766109257204564616873768324982360171881582456679737791003\",\n \"15787558214052499485875454384411281631798050972620734822713138949481118787284\"\n ],\n \"13095252730416205638756601757137687949414937425681713042593437750298038246134\": [\n \"3643073856804629060174309604688755236526418231818204047454812037566260970553\",\n \"12049659597668088065468912418039295617975712667999609409237912734145586686196\"\n ],\n \"6133615444513361511943760810027310180502509629428013505473846487965731174442\": [\n \"13095252730416205638756601757137687949414937425681713042593437750298038246134\",\n \"11193864223200016076195088353734229194734133559812406673003383468185742325531\"\n ],\n \"10185760617866289971218080916141932404068914174752553462940732443241335042594\": [\n \"6133615444513361511943760810027310180502509629428013505473846487965731174442\",\n \"14256494050971522621046281864483769653777264275641631335982079850828439529216\"\n ],\n \"5797055156778026762545823213666041882823192782774127718914395012837834668706\": [\n \"5284891370654462043978918013130661217623449647673023072597270878199200289636\",\n \"1\",\n \"1\"\n ],\n \"17595719971727184801880091516333628977370489977626629946505995110103883363377\": [\n \"5797055156778026762545823213666041882823192782774127718914395012837834668706\",\n \"12475374386729382222634417545507833913798895476918622860200362764863079824878\"\n ],\n \"873093912187497810776722214300145998110351818767835325923078107055263299576\": [\n \"0\",\n \"17595719971727184801880091516333628977370489977626629946505995110103883363377\"\n ],\n \"18728451401968304356168964275356972056082116114491856110358392261682390632391\": [\n \"873093912187497810776722214300145998110351818767835325923078107055263299576\",\n \"0\"\n ],\n \"14202225755206193409425042413177552853026589229316741958326153407892510263770\": [\n \"18728451401968304356168964275356972056082116114491856110358392261682390632391\",\n \"0\"\n ],\n \"19473508552350735335483280665355635447688347763082119273997320301801077735432\": [\n \"14076745395448951118786833269260666960210520763118002527419141845596677712628\",\n \"14202225755206193409425042413177552853026589229316741958326153407892510263770\"\n ],\n \"10047755674852000523438580802467089152492137190973162017405512549398380808791\": [\n \"5721723278895150609628600226397494523096008400354755038665804351495898779359\",\n \"1\",\n \"1\"\n ],\n \"10862950923898425077323384630825842365690321224610873011999584488218771645787\": [\n \"10047755674852000523438580802467089152492137190973162017405512549398380808791\",\n \"10934817819010940829568789985490083837575803993985441447601965052694770878639\"\n ],\n \"6876456003864370454528591428238461705538758059082322047017955453403542284266\": [\n \"10862950923898425077323384630825842365690321224610873011999584488218771645787\",\n \"0\"\n ],\n \"9555943399683651810051426507253402362664497122758532400130647425848382916823\": [\n \"16539247254962634905707644993762069692188251078233629919468120002047944740715\",\n \"6876456003864370454528591428238461705538758059082322047017955453403542284266\"\n ],\n \"18626474068235544076053163130786682460470228432457190935941357008692649107061\": [\n \"18383672565900219300626653459861250426952640012387827997487271426500601381191\",\n \"1\",\n \"1\"\n ],\n \"2501460978581384935206070093818633079772881089565648244622410273046466106444\": [\n \"18626474068235544076053163130786682460470228432457190935941357008692649107061\",\n \"9661769172198528421147785877088151497006356371498580106338713818901903640095\"\n ],\n \"21165432057880751876693129241184574515222955072448521427110805480293774927243\": [\n \"2501460978581384935206070093818633079772881089565648244622410273046466106444\",\n \"0\"\n ],\n \"11675854957081290880962962729400155320907288274258946084444681383367687974368\": [\n \"21165432057880751876693129241184574515222955072448521427110805480293774927243\",\n \"2113695585476424789977888388664434721045756109144520819229828173536447781559\"\n ],\n \"21391113311893186071334206869702926651112922129944948467264713860270678086567\": [\n \"6631166782520129049826193196791901889633791000073891810591900333507071497485\",\n \"1\",\n \"1\"\n ],\n \"6031399614614824216246455641814739670327370791961852107806639385951532237502\": [\n \"19084956276893492636705074311585686632445348208703496358660678205241694180794\",\n \"21391113311893186071334206869702926651112922129944948467264713860270678086567\"\n ],\n \"12858332840139049046094638340542971035338968719771532858682013662445385081725\": [\n \"513095556531528306421526961887166869034407139515960310140511856876378862707\",\n \"1\",\n \"1\"\n ],\n \"16418380300494816171375188930876210045563946266930772674857714313474442202215\": [\n \"7726531175766796281481969258620656270137554938405157254257643532063762881315\",\n \"12858332840139049046094638340542971035338968719771532858682013662445385081725\"\n ],\n \"967501591256788532919116603022024846931814644243683383222158207698791367214\": [\n \"0\",\n \"16418380300494816171375188930876210045563946266930772674857714313474442202215\"\n ],\n \"10518514736855281436076088934495873695661203538479745083370262924172891563062\": [\n \"0\",\n \"967501591256788532919116603022024846931814644243683383222158207698791367214\"\n ],\n \"7746178249127606153940218237284054735910217304479476588132396426688097208015\": [\n \"10518514736855281436076088934495873695661203538479745083370262924172891563062\",\n \"20054531340248225265853819631132917270304907172999810654227668535633098363630\"\n ],\n \"13091385815241475253232911531693297279564656972776964401723631504017484458420\": [\n \"7746178249127606153940218237284054735910217304479476588132396426688097208015\",\n \"0\"\n ],\n \"2481604611004486526814388727079880618005550560247525209150579590837899414570\": [\n \"0\",\n \"13091385815241475253232911531693297279564656972776964401723631504017484458420\"\n ],\n \"19215882035030450097842687128211517427371372044709992527910036087071879758866\": [\n \"0\",\n \"2481604611004486526814388727079880618005550560247525209150579590837899414570\"\n ],\n \"5764940511080423113811689575591724243700242117652063142054664729792257575347\": [\n \"18141005056023245994354069547096468980947825238170120032868620714521065782908\",\n \"1\",\n \"1\"\n ],\n \"10509444820649799799060698827413116461843798289362351973901798402649437837816\": [\n \"11427396638330775807433611371003295421521955187962396570355081939689104006262\",\n \"5764940511080423113811689575591724243700242117652063142054664729792257575347\"\n ],\n \"21378896926196225771412447355179503877288034312106953199975345665411542746711\": [\n \"13845557561982002396381655920500398479624714191643633097434224891549906936566\",\n \"10509444820649799799060698827413116461843798289362351973901798402649437837816\"\n ],\n \"12747439967786553189256177627832855057465110565384980630432532426331974502688\": [\n \"8702604511113082205323358358812980629382732648998282064173055330297399224228\",\n \"21378896926196225771412447355179503877288034312106953199975345665411542746711\"\n ],\n \"18027567633980178286509472376601122265641753238046023225528099278921564358301\": [\n \"12747439967786553189256177627832855057465110565384980630432532426331974502688\",\n \"16466333597488376606857625658859290807610179206790757594494545997456614584383\"\n ],\n \"15939160360816690191026477320118397088206693871786275130701437166414572600310\": [\n \"19772682315320427364825524865362257734301947711011478713039981974028459062487\",\n \"1\",\n \"1\"\n ],\n \"20292000141243916139340402472945572689317890109334537540462632742155327661885\": [\n \"15939160360816690191026477320118397088206693871786275130701437166414572600310\",\n \"19258858379273925557252624001295382103459346404411816276549769740990691490147\"\n ],\n \"2400995222678055561675481580236315888181248955033314542056880155196968951933\": [\n \"4693826961079488738636010680815065029946402708879686182554840873359098097040\",\n \"20292000141243916139340402472945572689317890109334537540462632742155327661885\"\n ],\n \"2570110685156582460372213767340406384124830092067095461925380652450563593975\": [\n \"4322957650944846947863235435861828763554923879349524012158119519317197054315\",\n \"2400995222678055561675481580236315888181248955033314542056880155196968951933\"\n ],\n \"11858548695713827392404791003842928707548193879815899510132640769680159905713\": [\n \"2570110685156582460372213767340406384124830092067095461925380652450563593975\",\n \"16734163743422494454750147331128379825050641430057450003132177162413142821054\"\n ],\n \"16529830870611358509808750195957153910123646945608873152935630166335794189776\": [\n \"15059268372492003535418762859586426264819761824312100107008892270215730662169\",\n \"11858548695713827392404791003842928707548193879815899510132640769680159905713\"\n ],\n \"11159679167366759051072692945225834068807266231973242301087181998750086852192\": [\n \"12983203589967771298522993067715672854521786368132991892013972549312483615469\",\n \"1\",\n \"1\"\n ],\n \"4210019720084929615871674736332985067689973107406777589144276555131893323566\": [\n \"10053056430962195104391912140223065464250102299598765473363661947427311727120\",\n \"1\",\n \"1\"\n ],\n \"12292946442258214130579068127856551286261891084786297400618519872885721242802\": [\n \"4210019720084929615871674736332985067689973107406777589144276555131893323566\",\n \"9124291910695743382658675861424675057883345072973652499247657307384247060887\"\n ],\n \"21691467423778910086864926554844743916094574215690121546295664925476556461606\": [\n \"12292946442258214130579068127856551286261891084786297400618519872885721242802\",\n \"0\"\n ],\n \"10756844810387142539934570034183315075003156631624724255208382256549030371440\": [\n \"13292176255042455967865596216434394486463566227597224295772202749200658700947\",\n \"21691467423778910086864926554844743916094574215690121546295664925476556461606\"\n ],\n \"14911766329198646880913149111419159454564766874477786726554109053992868761880\": [\n \"10050894641137685215637520643699709790848156561703548628264903291935784877309\",\n \"10756844810387142539934570034183315075003156631624724255208382256549030371440\"\n ],\n \"2093625744122919685157137725990647324423767736758091150670735047676997855189\": [\n \"14911766329198646880913149111419159454564766874477786726554109053992868761880\",\n \"19046587974339424734685066629807765464684180610180755511911522426233311058859\"\n ],\n \"9891218150987564099519379857406246320260281605758704045993500469451485294959\": [\n \"2093625744122919685157137725990647324423767736758091150670735047676997855189\",\n \"18074957268943973119837471537553813868187193999109461604898860527900994563000\"\n ],\n \"20521139415837838029255323774906564909569948789577049181787351660367871016988\": [\n \"15545944726519745935804029214945683045981134390519944326917018272330417487148\",\n \"9891218150987564099519379857406246320260281605758704045993500469451485294959\"\n ],\n \"9617402236398850984422356937807369001997765207096905943172100634883300172224\": [\n \"3251889723308238212927229824086678267513085119261257416374392403060186352044\",\n \"1\",\n \"1\"\n ],\n \"7303042859236034552499124563438315360274683326005425402578617243521791372014\": [\n \"9617402236398850984422356937807369001997765207096905943172100634883300172224\",\n \"3296300481311625975732446364176819690985513669097474416168591892468705026534\"\n ],\n \"15849355792808186400957340444566216873841483715846453062555056950826948457346\": [\n \"7303042859236034552499124563438315360274683326005425402578617243521791372014\",\n \"0\"\n ],\n \"15356383063078601054845570427166416025605672165590478806798096919040500614450\": [\n \"15849355792808186400957340444566216873841483715846453062555056950826948457346\",\n \"0\"\n ],\n \"10448117554828131913762369087568463359208078821928990559945288102942579379366\": [\n \"5774725120375819425988990905778550190556765380982083291289250031600385657374\",\n \"15356383063078601054845570427166416025605672165590478806798096919040500614450\"\n ],\n \"2105906879631738838583096691302073627618300714349968948054421997832323202064\": [\n \"10448117554828131913762369087568463359208078821928990559945288102942579379366\",\n \"17463950246703454593212536829969233491217578489956063207716171251707609881080\"\n ],\n \"2479584610043913334409436333801907232325468015088869048787079544593783577727\": [\n \"2105906879631738838583096691302073627618300714349968948054421997832323202064\",\n \"6537098543216197622481500421928938088608837363743852596145907027982125718352\"\n ],\n \"16739505891527403516472662200586672840453880960357421180683483345305810764779\": [\n \"8347712854921751364086409543767053945849369360635485222555175187507004895667\",\n \"2479584610043913334409436333801907232325468015088869048787079544593783577727\"\n ],\n \"3115979951574504735573352592314109219583068630300914453200061683853053963337\": [\n \"1619389258108864316137742173125977941006333159880475851170413591507940448693\",\n \"1\",\n \"1\"\n ],\n \"5719023639076974890218373523698898091068340211557244864280298299725700362991\": [\n \"19637559083359614662689731426849509174078771570704919902492720340425081938677\",\n \"3115979951574504735573352592314109219583068630300914453200061683853053963337\"\n ],\n \"15179478221731288658927879118537158131831416720487635854935214008107087182797\": [\n \"5719023639076974890218373523698898091068340211557244864280298299725700362991\",\n \"0\"\n ],\n \"2338029758133505816531817490290833369225994152054553974775132241480131515643\": [\n \"15179478221731288658927879118537158131831416720487635854935214008107087182797\",\n \"11549123048701223455399091117557895168032460396488057025597148311836299156804\"\n ],\n \"9556266879659142339349581735976925583011841223107797604543140277843106871924\": [\n \"0\",\n \"2338029758133505816531817490290833369225994152054553974775132241480131515643\"\n ],\n \"13759873142667375610376542468580608810912796828433575767131263027167431274822\": [\n \"13454034819782764124341740637703599918597432152540590593987855495403451478191\",\n \"1\",\n \"1\"\n ],\n \"12198646069726548572431226888915426015321928533891543829200099439649986395508\": [\n \"14588884583524672247913937869668450142204979373994753303711338169109761364706\",\n \"13759873142667375610376542468580608810912796828433575767131263027167431274822\"\n ],\n \"14757405248106339185759500800855125917243596893194554060872170816689907732809\": [\n \"0\",\n \"12198646069726548572431226888915426015321928533891543829200099439649986395508\"\n ],\n \"5319860547191373522044979342497020700804782457457121159026880732785311110771\": [\n \"14757405248106339185759500800855125917243596893194554060872170816689907732809\",\n \"16953427274852987342008768316116598492262471429145901508266649925270692719652\"\n ],\n \"11013953858436256820289730755263883608701350391891485670354728163229450910345\": [\n \"5319860547191373522044979342497020700804782457457121159026880732785311110771\",\n \"3519027591546692223605813771506550967677178145966629036589513656027524158206\"\n ],\n \"8208364698928628965552345546465318766325756523406549506887725707261188929496\": [\n \"11013953858436256820289730755263883608701350391891485670354728163229450910345\",\n \"6945242035992331726772114615597446363275055584567459313390377867890233749163\"\n ],\n \"5396899367150472843767780048656614143331592374486893090072100153052682949150\": [\n \"4042610768438661007984673259988464968267660876292151632771732745348503966861\",\n \"1\",\n \"1\"\n ],\n \"8695254066244914582552905967269838329227780072580495233015010558456369188338\": [\n \"5396899367150472843767780048656614143331592374486893090072100153052682949150\",\n \"11925628201790302058247059065166816894404962236515023397881746350664719592783\"\n ],\n \"6747843742563596198838091857046117755430442926033473747340512903746496857935\": [\n \"0\",\n \"8695254066244914582552905967269838329227780072580495233015010558456369188338\"\n ],\n \"9008670296103777180454679087110547628240797470337166406534358412482064098856\": [\n \"6747843742563596198838091857046117755430442926033473747340512903746496857935\",\n \"11567497075343293418131943601602976974373270823310621282902100656039491715120\"\n ],\n \"7135376617413768309703225353324350459096190027459762457761109402294060988870\": [\n \"2294506909832270570312550946654527071390969397450577845050298126016919629365\",\n \"9008670296103777180454679087110547628240797470337166406534358412482064098856\"\n ],\n \"358201522906132423646113165181635411598585207785989403806845826963396706984\": [\n \"1548840172292150912260749968294270966239494163991566238138659757664966434945\",\n \"1\",\n \"1\"\n ],\n \"17149113173892649407965523806385728576189590464710966614029272514202253437574\": [\n \"358201522906132423646113165181635411598585207785989403806845826963396706984\",\n \"4621269197618295672793213742596853959253374073386568090277560570169886678979\"\n ],\n \"7320462513800211609098719832037275987461445081413444392770308980935103677622\": [\n \"17149113173892649407965523806385728576189590464710966614029272514202253437574\",\n \"17116696667966099795610732178426867088256606713027455836716775712597225448099\"\n ],\n \"6841934526721495651709288574989913592834003028013520940944428587328714938625\": [\n \"7320462513800211609098719832037275987461445081413444392770308980935103677622\",\n \"0\"\n ],\n \"12451906479261454303268439573978799341400503458662463941442473172325866779268\": [\n \"6841934526721495651709288574989913592834003028013520940944428587328714938625\",\n \"531799679362721404521085021358706573156976770607818630216619107873279938041\"\n ],\n \"11342798136829004477019352830460736868618643069178768017020669962381317605755\": [\n \"11303894730876447828829306640926410698246860222310478474618878315932134537024\",\n \"1\",\n \"1\"\n ],\n \"11686093226681859314115795347574934959446971540179997814207292654591922172189\": [\n \"12070335497030687216664854151546361712776850765300355811703194159927030594291\",\n \"11342798136829004477019352830460736868618643069178768017020669962381317605755\"\n ],\n \"5336485700111683268542109467112339842460607320046299438203244566801371370478\": [\n \"0\",\n \"11686093226681859314115795347574934959446971540179997814207292654591922172189\"\n ],\n \"14266921101297394105702818739223082328295738070993939925972458753632686733998\": [\n \"5336485700111683268542109467112339842460607320046299438203244566801371370478\",\n \"17094436039598159677554198924025717697359593790837361075062234255426016133297\"\n ],\n \"21549076250543122517039646152285560989017403864442626879907547183786634934365\": [\n \"5753151226483284149733506393627598312064509563923277620710574395663944687869\",\n \"14266921101297394105702818739223082328295738070993939925972458753632686733998\"\n ],\n \"5729230216396804343446705792482001444872112982677226434100857566918682769128\": [\n \"19996229994398849214224003684380347790019261116134565801249752029482300730058\",\n \"21549076250543122517039646152285560989017403864442626879907547183786634934365\"\n ],\n \"9308652079071228615257284820036152667766735966229135081334979128406486016057\": [\n \"2581044851679455686751256537993147274848781266313586373364509411038085056551\",\n \"1\",\n \"1\"\n ],\n \"3548677790581319442590753401315418584695627933290206571185289677272568170593\": [\n \"9308652079071228615257284820036152667766735966229135081334979128406486016057\",\n \"7764625090955731400084911155993005214907549082710351795186501004887642776539\"\n ],\n \"10701250793479210988994433621434384068904583150694164335126198158236590240381\": [\n \"3548677790581319442590753401315418584695627933290206571185289677272568170593\",\n \"0\"\n ],\n \"14963531344264340228584172824969985173169369912225347824470792594518145086001\": [\n \"0\",\n \"10701250793479210988994433621434384068904583150694164335126198158236590240381\"\n ],\n \"21366257383993329728902388356398605855088298815427554869016002129365084132808\": [\n \"14963531344264340228584172824969985173169369912225347824470792594518145086001\",\n \"20608132415847651401198142979897093203236296629155520293902838412760441859768\"\n ],\n \"15801971895198073992622667016943166847242886931321281517947318143257688565896\": [\n \"21366257383993329728902388356398605855088298815427554869016002129365084132808\",\n \"5968445714572437879263360188054339177418752772524114262758655343541964361432\"\n ],\n \"17690311680811174702637256484195061186929959219648388911102751974854011204261\": [\n \"15928895003926313969827628714108107073221687504595125676840943535785228097056\",\n \"1\",\n \"1\"\n ],\n \"12264702299774909512944909652712149853627054900960439019892095884802364327929\": [\n \"17690311680811174702637256484195061186929959219648388911102751974854011204261\",\n \"776701473749239364978589436258128913976313676170367149890752663672916145354\"\n ],\n \"9610273384673454383397106375404879231209532288887910591575994292821200296430\": [\n \"9410525647585797317076928908402568703387992470334962479884181713604328551855\",\n \"12264702299774909512944909652712149853627054900960439019892095884802364327929\"\n ],\n \"12467578397723372322011120955738680373369155884979086376015974100723281702119\": [\n \"959308124312394352072411489084760324845424353203387116822973663074773412329\",\n \"9610273384673454383397106375404879231209532288887910591575994292821200296430\"\n ],\n \"12694050333759264818311259486281586621897397725992795454758763843069304159484\": [\n \"12467578397723372322011120955738680373369155884979086376015974100723281702119\",\n \"3577158611207999830620745555770995139089427819457622573044476903673492210022\"\n ],\n \"15024420091482912632736925598139754970149911631863124797183503227887282516891\": [\n \"1973088067328369618284118969839621178463684029800809025483810202377351507278\",\n \"1\",\n \"1\"\n ],\n \"20089357398280061599702195738842716019794722687640288132100918812522766733565\": [\n \"15024420091482912632736925598139754970149911631863124797183503227887282516891\",\n \"1545217715520840344753036940377290927161156613323400590680174488276414311987\"\n ],\n \"10470067564595110169140605371274602622577539631682904092282186807807379101481\": [\n \"2994393537024104693183317492578459735689282747940570134935284684587709052761\",\n \"20089357398280061599702195738842716019794722687640288132100918812522766733565\"\n ],\n \"3593023994166917475707750889145790647968509932339652127076403537126104218739\": [\n \"20794641936159548749368751360283628515365775760049090425975899085896607820108\",\n \"1\",\n \"1\"\n ],\n \"5503538397366032334395082726367899738975535579653650627624319645989565112158\": [\n \"3593023994166917475707750889145790647968509932339652127076403537126104218739\",\n \"1311045631332832692050002609236287915707314443076563905234444536862162583393\"\n ],\n \"7086378484678477296912580434987933463524318317494920661490825352864696324787\": [\n \"0\",\n \"5503538397366032334395082726367899738975535579653650627624319645989565112158\"\n ],\n \"13937468864525647190094780479955401990763145252998463279649317735384066244585\": [\n \"13116274995180632110873136220929520248278919296828974911799326841459053134938\",\n \"1\",\n \"1\"\n ],\n \"21813728780290813299992288746391636535795336413563010401951537584086491722693\": [\n \"13937468864525647190094780479955401990763145252998463279649317735384066244585\",\n \"5878047247385999048900136526871140845902577060219892220760590539064227257987\"\n ],\n \"2959425947444864123878293356069442622292929156406460769832177238263883997879\": [\n \"21813728780290813299992288746391636535795336413563010401951537584086491722693\",\n \"0\"\n ],\n \"426198574581880839781001468132859468282755363996654349703305737185021025087\": [\n \"2959425947444864123878293356069442622292929156406460769832177238263883997879\",\n \"0\"\n ],\n \"21734893282784488624563103325489121537690850444244851145523167059473871678980\": [\n \"17395236956878621758386806430326366756141125701519180053707357275510372288948\",\n \"426198574581880839781001468132859468282755363996654349703305737185021025087\"\n ],\n \"11738863159458229313423219198387355916788833203827817547989356148930963989401\": [\n \"4648938889610532937002290988334058388866893080064239517576201674886363385101\",\n \"1\",\n \"1\"\n ],\n \"16880113841441224240226638043873996279126332801008107571753189111469860515008\": [\n \"6031399614614824216246455641814739670327370791961852107806639385951532237502\",\n \"11738863159458229313423219198387355916788833203827817547989356148930963989401\"\n ],\n \"17876909050457555090635304375074931300129318353965891304124658700916028715015\": [\n \"8694560580535690950871058207263723946692746586617001501873387856027060325173\",\n \"16880113841441224240226638043873996279126332801008107571753189111469860515008\"\n ],\n \"5797875975454569222905463924406943097363286750973972494197491507032458677137\": [\n \"17876909050457555090635304375074931300129318353965891304124658700916028715015\",\n \"5903970304266296864730704071149781972435246767838086374979973610749476201011\"\n ],\n \"1111373929716725981479775792936880172296477033081972028234233289795636185629\": [\n \"714708671199503785210824009099734354180113253520501257450903015125696250823\",\n \"5797875975454569222905463924406943097363286750973972494197491507032458677137\"\n ],\n \"16691018993810158387213432463244578760848075848378519945566017782071805572589\": [\n \"15241460153111648172736084325874753857012138336754768157432934820915352130638\",\n \"1\",\n \"1\"\n ],\n \"8158580991629381497163400328192416716867185468976672605952208058872614648377\": [\n \"13259045957178084500077776599696691139710579464742175209386907947576716201701\",\n \"16691018993810158387213432463244578760848075848378519945566017782071805572589\"\n ],\n \"9182637695473373320836335136584705293159914461034048573552415482381481162355\": [\n \"8158580991629381497163400328192416716867185468976672605952208058872614648377\",\n \"15428827016707460079056758692990033989490471780722005033880268572423111560680\"\n ],\n \"18589235195794671016208554551908906904789041280499057436976293747385145715309\": [\n \"6028069981157996442256008931286082690497233007146020119346988730382125351289\",\n \"1\",\n \"1\"\n ],\n \"8085908487529658723977360022321063098744065284292651114564647145205851796462\": [\n \"18589235195794671016208554551908906904789041280499057436976293747385145715309\",\n \"7613514114351118127596102934298382755018609292927906485002294402127233883696\"\n ],\n \"6808794859342618432651386613781084487868657214356993001072166062686504512092\": [\n \"8085908487529658723977360022321063098744065284292651114564647145205851796462\",\n \"0\"\n ],\n \"12524069756828593577858302796411896798116091262513112049232563812710975412411\": [\n \"13980370299995069571369969664867937304932456432555267961072981245071483193267\",\n \"1\",\n \"1\"\n ],\n \"7789554506920627129137286886751533526754946942476037591897393302301190795372\": [\n \"12524069756828593577858302796411896798116091262513112049232563812710975412411\",\n \"17319339862565717659543387805638845705369865829166668634288329716655308531914\"\n ],\n \"12055085013744906751563926102097327161820189630412949507722531727984800284965\": [\n \"19616752669328498638835330854676841821717523146164291863828381367354739556366\",\n \"7789554506920627129137286886751533526754946942476037591897393302301190795372\"\n ],\n \"18041997068398232598759856173643005306272390795468789520469721035957846356603\": [\n \"2358565125552094791954968004517967872300585473123307284663071893010606106996\",\n \"1\",\n \"1\"\n ],\n \"8289040864181924104900140129621884930257425001205606054802410677233841450549\": [\n \"20389705819112960319456906440137824078381316358014567341322741157592645882579\",\n \"18041997068398232598759856173643005306272390795468789520469721035957846356603\"\n ],\n \"10610973180755560565389699964220676171806128211569762470489224157973981290233\": [\n \"8289040864181924104900140129621884930257425001205606054802410677233841450549\",\n \"16952015224200553884411488875648916558944735775065619294805623107247964183737\"\n ],\n \"7262175615852903239846654838676982772524078004491531477477532655427316165959\": [\n \"10610973180755560565389699964220676171806128211569762470489224157973981290233\",\n \"7907667692572020103023072153042941192172492563947954822691764168329502731085\"\n ],\n \"12732200178795057091103504331437703448825689508862941665403864946070105360561\": [\n \"1715414096850597872985267512652856560337645704441013089293050141839398003330\",\n \"1\",\n \"1\"\n ],\n \"18982908794650045822435577215977472945986380243850678737404689489934196865639\": [\n \"12732200178795057091103504331437703448825689508862941665403864946070105360561\",\n \"14318131143302375086087510829440260727647300862539684953107273470841622315851\"\n ],\n \"13746944984030371373041533339911721820259813848644042921952769906701789790843\": [\n \"18982908794650045822435577215977472945986380243850678737404689489934196865639\",\n \"0\"\n ],\n \"4400443251122717083863487174416967710054974592155893459660068164579613544757\": [\n \"13746944984030371373041533339911721820259813848644042921952769906701789790843\",\n \"10865402544793231488944114129998925375625569571468083787907341413066431444388\"\n ],\n \"9362487497425615966289507199027115377889681641782896363652978206421657441568\": [\n \"5408655596495126841255484825950508127842263895980856627200690406168986519663\",\n \"1\",\n \"1\"\n ],\n \"5325406750885441785304259046524372785853304115986775328711271024137271832868\": [\n \"9362487497425615966289507199027115377889681641782896363652978206421657441568\",\n \"12190220219958212794406486194544078550234177072325554005460899934043735524995\"\n ],\n \"4429959061149371722991471226149679656964102192675587073560559346472742047039\": [\n \"7513801809657122642308599742078494205486875604340853594440890744252684566219\",\n \"5325406750885441785304259046524372785853304115986775328711271024137271832868\"\n ],\n \"12401722214364367009957408635416884041886960628075817578858391816537483902450\": [\n \"4429959061149371722991471226149679656964102192675587073560559346472742047039\",\n \"4474124931047058917772789824552195599127493399613855459133885380637712447076\"\n ],\n \"16893618026210918908311134829995858558975117346980864360476021900381993656047\": [\n \"12204491481634984657418635025990910215477346499805181012917774659680780635879\",\n \"1\",\n \"1\"\n ],\n \"10435406777617791342889606350348179926448563072864159078016251726704498012584\": [\n \"9738804477731749262044934945899119600164380707672358186430739544185239374944\",\n \"16893618026210918908311134829995858558975117346980864360476021900381993656047\"\n ],\n \"4335494649470584757258163763962894667747289828829851612031565265460348158453\": [\n \"3419612512953726459720117981695241403778382835627515226723597987306955022071\",\n \"10435406777617791342889606350348179926448563072864159078016251726704498012584\"\n ],\n \"20029075630234928920291757631434137737888751829770680505190470806341621501937\": [\n \"8416607757289143861829152365906405299985758543505310495227215632496188014960\",\n \"1\",\n \"1\"\n ],\n \"8449439834005254699421594575314390968104809141372886304728441146119331432141\": [\n \"20029075630234928920291757631434137737888751829770680505190470806341621501937\",\n \"11963934231051152063834673532608795977333167151887723115269006636930298533121\"\n ],\n \"18013898334524437997610707895166468685972898367149139111374936414186608183642\": [\n \"4320953031986788239828271841203306346477650966216267178295360443142015078821\",\n \"1\",\n \"1\"\n ],\n \"4550596401921354940918026906486916587775456206977207303019559696371081598214\": [\n \"12316050172794097383259620637853255988497249348776372732699741530716858202733\",\n \"18013898334524437997610707895166468685972898367149139111374936414186608183642\"\n ],\n \"2043629116351999622758283623220536785487385816370220449014670892173958604006\": [\n \"4550596401921354940918026906486916587775456206977207303019559696371081598214\",\n \"19389738124297640996167720032405524596338959677974511737499267990720450487760\"\n ],\n \"10314315371658158421465103798617603137880645067766339550026881634423385200245\": [\n \"2043629116351999622758283623220536785487385816370220449014670892173958604006\",\n \"10323970208131859088244696128536397463079592841445708223694432396063260553107\"\n ],\n \"18401881323560016970143926524770094239794927906796295165370122512660141488401\": [\n \"10314315371658158421465103798617603137880645067766339550026881634423385200245\",\n \"7588242078506585770590749761634859380937718344025912414467721966419296238602\"\n ],\n \"4441351817058152379116627158544235732710152011890547596507444756074761067848\": [\n \"7477210172937937559802812883893875086769678118255224633596476922098749548139\",\n \"18401881323560016970143926524770094239794927906796295165370122512660141488401\"\n ],\n \"7552314681024308009704350724418681922392578392194847878777372495380023964364\": [\n \"18864088201210637105803718528981543985168928729029605305406473514776502175704\",\n \"1\",\n \"1\"\n ],\n \"15618964773322112744160210706570901612235574832285955296441442080799618864979\": [\n \"7552314681024308009704350724418681922392578392194847878777372495380023964364\",\n \"5069986228293100189416122250274883224971987212477629580645527837651158681919\"\n ],\n \"14725411979314991985896437768308519986496830177084567219996272807356245770967\": [\n \"15618964773322112744160210706570901612235574832285955296441442080799618864979\",\n \"0\"\n ],\n \"12563274293786762619550093601096932061579027482942334719575586003766111669351\": [\n \"14725411979314991985896437768308519986496830177084567219996272807356245770967\",\n \"10488998967147475747350865253854084359886825235154708315441849239726860231669\"\n ],\n \"16543674237131898533264009558055739717739549024548721074668233591019530710336\": [\n \"7910186615511616163717341338029174351038767642604578414080950002602984661967\",\n \"1\",\n \"1\"\n ],\n \"7576345298293304997018885234529105260756546018365219674170635234526142946142\": [\n \"17154187132022467282432411782051025681255550789305276277198690711547984293263\",\n \"1\",\n \"1\"\n ],\n \"5818700302054015177551675391512331640181404437940715368422666359708706726914\": [\n \"7576345298293304997018885234529105260756546018365219674170635234526142946142\",\n \"19688034032654127759257768588528087161086348082205932842261082711703902052254\"\n ],\n \"8474524886361589820935518354626542053887520139655481460815936766558121955355\": [\n \"5818700302054015177551675391512331640181404437940715368422666359708706726914\",\n \"0\"\n ],\n \"15255252112680151334856929889063349077917772862123667945906216152700604176362\": [\n \"0\",\n \"8474524886361589820935518354626542053887520139655481460815936766558121955355\"\n ],\n \"13405254388202376398210958738657710484125689163545413482391470115402050779611\": [\n \"15524738971094275689465832702626744935368830763820182400321541356655593942294\",\n \"1\",\n \"1\"\n ],\n \"10135313601836648919996188795837770730662300855357987906166127315011399949347\": [\n \"13405254388202376398210958738657710484125689163545413482391470115402050779611\",\n \"19498389130013687833245693651147953627973319144858969992986387489594249978486\"\n ],\n \"2926991292053506715003204913060356320442360828310702029665609374165540915529\": [\n \"2335563084646416870097683692140937050265745798164837983173363181975085580094\",\n \"1\",\n \"1\"\n ],\n \"7986692323673718883989162020766395964404927080760080589412347134179420128283\": [\n \"6098980465441140561294126502723685316186869810182192015937976156951303029832\",\n \"1\",\n \"1\"\n ],\n \"2871110847077854760671036752297121480511716836699685797439483768877701796636\": [\n \"7986692323673718883989162020766395964404927080760080589412347134179420128283\",\n \"7244922633647032218794267431970608233967154968213148921299012161033120133080\"\n ],\n \"18459919591246511264260496032793308775933550745724678247397049313471123068603\": [\n \"2871110847077854760671036752297121480511716836699685797439483768877701796636\",\n \"0\"\n ],\n \"19482819465135783007928100381201409049521682382806543216216749551217757878634\": [\n \"9453348684545832067097850064507627965475268695619976987744260301779807919771\",\n \"18459919591246511264260496032793308775933550745724678247397049313471123068603\"\n ],\n \"8084259584494884530315355089574323373025259650622086982531267466104168265199\": [\n \"19482819465135783007928100381201409049521682382806543216216749551217757878634\",\n \"10905517079003528651589897227427183597273374886861844355857688631999073019118\"\n ],\n \"4480717612720268319298001538407434041428673942197457374262160139928878303555\": [\n \"8084259584494884530315355089574323373025259650622086982531267466104168265199\",\n \"15353851586607960222891282071199102088074361449065571885473129121733227329069\"\n ],\n \"4346136941111320642729178169037417980933091020196617589361489134617993549455\": [\n \"19634156132356856699378973675035584443006976813050379165984636971411554529929\",\n \"1\",\n \"1\"\n ],\n \"17354996927979773720125799791728829720004148638594693616038029544078778459178\": [\n \"7877014541391623415647759750508929695576341518838797405671167104974261095875\",\n \"4346136941111320642729178169037417980933091020196617589361489134617993549455\"\n ],\n \"988264124760763570428348161861354906219326943884175385744784159506458668383\": [\n \"17354996927979773720125799791728829720004148638594693616038029544078778459178\",\n \"11357448440242981329590528111294044784861079459578006151622353706880473348686\"\n ],\n \"17413034582323826645091905867956115109878984780802857184651190322248178026740\": [\n \"988264124760763570428348161861354906219326943884175385744784159506458668383\",\n \"20298186553835423745164428688894808738944164292138403315356639259472371248055\"\n ],\n \"10670410214716381273217049898572934411374863348296666519488772011447108603443\": [\n \"6379373119951847997164124484101233346713452020649337400327137906590813231407\",\n \"1\",\n \"1\"\n ],\n \"14082761425473288219890306137865415613236688853601841450892780685177977658054\": [\n \"10670410214716381273217049898572934411374863348296666519488772011447108603443\",\n \"4761821516402117862922702578177924251997038722675791000844154666314250971047\"\n ],\n \"14326025589565034067868361410622737102040136268342665326571155641508252128421\": [\n \"0\",\n \"14082761425473288219890306137865415613236688853601841450892780685177977658054\"\n ],\n \"10040420181250943315264493564108211042711969650327588526029105187437255124737\": [\n \"16969707286992912495337932886787345442436140329297123618190360925652119779342\",\n \"14326025589565034067868361410622737102040136268342665326571155641508252128421\"\n ],\n \"18117646332473240883362970388821708281024689859112671900656135007689962682244\": [\n \"10040420181250943315264493564108211042711969650327588526029105187437255124737\",\n \"8483534560201769962138121348246384206588040291330033221350392678667114427734\"\n ],\n \"1632625706998527544948707065632603544878838214168664719669481845304296271046\": [\n \"18117646332473240883362970388821708281024689859112671900656135007689962682244\",\n \"2542320595302054202468405134427394228776732356773188368331187331463797058423\"\n ],\n \"10692109687383774070155014219587209196829326474522359276808139799327562433979\": [\n \"3588621560800235737957571546362610843756598770784257694594282684715280172337\",\n \"1\",\n \"1\"\n ],\n \"14949354982733661593252383356421484783781632717240869817109324606373399216649\": [\n \"20028430433921663346559808291216417986688085755646300234860259473850950507367\",\n \"10692109687383774070155014219587209196829326474522359276808139799327562433979\"\n ],\n \"8293257534815681243791584534235996285609043384626256971867824840548669255437\": [\n \"14949354982733661593252383356421484783781632717240869817109324606373399216649\",\n \"0\"\n ],\n \"14342869965387093436106302004304924785487887538863197665140994526631267189634\": [\n \"0\",\n \"8293257534815681243791584534235996285609043384626256971867824840548669255437\"\n ],\n \"18551534137068699728582900003102849521870044038042726268902259773237901091315\": [\n \"14342869965387093436106302004304924785487887538863197665140994526631267189634\",\n \"0\"\n ],\n \"21587612700401623559982204410071269917064743515573790564052230423770514876875\": [\n \"18551534137068699728582900003102849521870044038042726268902259773237901091315\",\n \"0\"\n ],\n \"8616797015671277701649808231185915675458683797003336387150122699958596586968\": [\n \"21587612700401623559982204410071269917064743515573790564052230423770514876875\",\n \"10315886333510493827834850724944444462606241032779289140823278750702651095468\"\n ],\n \"13139542154235154731714299834199979325838038594010354008488023109298438554578\": [\n \"8616797015671277701649808231185915675458683797003336387150122699958596586968\",\n \"0\"\n ],\n \"9051902603688246727584208400549670612427310933237036796152383649862726660931\": [\n \"10122122339057881665700728318044335503690750641998546329044822302000436186611\",\n \"1\",\n \"1\"\n ],\n \"716720921452452736112372403640214516141765598986906523704781776235258954967\": [\n \"9051902603688246727584208400549670612427310933237036796152383649862726660931\",\n \"17369533876380206533515491554961014472060849431343028715461505195967486678892\"\n ],\n \"21215340029221662549130714276434765513253311376170254563438176707691595103764\": [\n \"6443117189140189581874408940923948308886361668682723546538496472156065278741\",\n \"1\",\n \"1\"\n ],\n \"2881310310468456868749437035169055319269728828500861359969880000978723082258\": [\n \"21215340029221662549130714276434765513253311376170254563438176707691595103764\",\n \"18931339018146504047278472099201253861519538801775301275573232116242419956896\"\n ],\n \"12025349885139640980376222439256295588931007006366732246756846795632829375601\": [\n \"2881310310468456868749437035169055319269728828500861359969880000978723082258\",\n \"0\"\n ],\n \"16290791421385426467405186628302805233723509047226336283661845411869239397232\": [\n \"21685355416889102672612480410657744517020334595947475506625745780963248380632\",\n \"12025349885139640980376222439256295588931007006366732246756846795632829375601\"\n ],\n \"10850117462835276369143561617838956840446073014103488365775940110260702683656\": [\n \"16290791421385426467405186628302805233723509047226336283661845411869239397232\",\n \"0\"\n ],\n \"20271723682072168149156939059971841855811043184588063661907494048538472327465\": [\n \"15406715094741601472184878386047037895995949608691765758181131295372070107152\",\n \"10850117462835276369143561617838956840446073014103488365775940110260702683656\"\n ],\n \"747156364442164332030118530872389198333735271825417263968291411247391485106\": [\n \"20271723682072168149156939059971841855811043184588063661907494048538472327465\",\n \"0\"\n ],\n \"1488283333423410095778197413507021417718602386293497574716486118666639689356\": [\n \"1385895143995396734049479169442220432267665081595977137113556097089440274378\",\n \"1\",\n \"1\"\n ],\n \"2103823659279817553854995345531704588531911962552936153346478129462610511474\": [\n \"1488283333423410095778197413507021417718602386293497574716486118666639689356\",\n \"11280172777366965432656098932098254881451093306823818658665108736272618005692\"\n ],\n \"795753221475938597336951178060789769275276488206795458720748616720886901498\": [\n \"16128491100507329447072602912916572601749193030530996093656554236453982646663\",\n \"2103823659279817553854995345531704588531911962552936153346478129462610511474\"\n ],\n \"18929608260692816526447021178716120393164636476204592120722384647264466238107\": [\n \"5043930563265110881071250206146197397482963465882976295250029412489774334515\",\n \"1\",\n \"1\"\n ],\n \"20572617938885238238202516660406745678918053493822564555366488791792424235651\": [\n \"18929608260692816526447021178716120393164636476204592120722384647264466238107\",\n \"21040331546826788993361772897590227533363906784710878921528463883176018853789\"\n ],\n \"14168395786682729308818191369037559462515469069118760255766376805504824451794\": [\n \"20572617938885238238202516660406745678918053493822564555366488791792424235651\",\n \"9358132694955853496850585968909725652995917084879970303631557039119682819096\"\n ],\n \"13037202279486477815996053954080823729692662609931678316133787334691703214864\": [\n \"9143414053346985664164386745013777438232625603253336729328805078579956454394\",\n \"14168395786682729308818191369037559462515469069118760255766376805504824451794\"\n ],\n \"527058446686214478289095123234947001984307180977743373520209741053208586751\": [\n \"14610186326867659686983390192698612513428623768961076307530361782230726401454\",\n \"1\",\n \"1\"\n ],\n \"6228821201201414826754336620929863710941961328545057173029806681069925568790\": [\n \"14260943222205876290600124196502186189167472776215603272732422720704570441197\",\n \"1\",\n \"1\"\n ],\n \"15930023595857296212903752271151429318269716819248394454830119919503423023699\": [\n \"4386951475114775110873169717646889306938827842204113348509647365501602326022\",\n \"6228821201201414826754336620929863710941961328545057173029806681069925568790\"\n ],\n \"8553537046803167864257399408401530579902340484637294409111086528811244397729\": [\n \"19464418549646842208518878671433759358790298271371139264843538583593461012264\",\n \"15930023595857296212903752271151429318269716819248394454830119919503423023699\"\n ],\n \"15221011408470801998031567464716166464198567342818716817080816315965737462507\": [\n \"4483337698094093028882007927516598246893060529190282253987092837834398974115\",\n \"8553537046803167864257399408401530579902340484637294409111086528811244397729\"\n ],\n \"15899013279738189025437129579593448558083297793156721773366609929354782583300\": [\n \"1804990748269144231300173138792315207048563691278121801253600070710217824571\",\n \"15221011408470801998031567464716166464198567342818716817080816315965737462507\"\n ],\n \"3508228252632364914105561633405074546956619246331459496357880154109314622497\": [\n \"6169466104616540741838816416362592718440111313718024796435139799678296831742\",\n \"1\",\n \"1\"\n ],\n \"15481855322651544944370711012600464302074894173015575699408935289175601509941\": [\n \"3508228252632364914105561633405074546956619246331459496357880154109314622497\",\n \"15138722702976479540747553669107173279068530067993920631526866560818775114945\"\n ],\n \"18724709735280131772754513959046378072108357056396332603498396247370953295381\": [\n \"15750269628096134096392183983602287109727228746016080016749245009167888098177\",\n \"15481855322651544944370711012600464302074894173015575699408935289175601509941\"\n ],\n \"11521115905797657307547484426428682412629305554666837526666569807926383157992\": [\n \"0\",\n \"18724709735280131772754513959046378072108357056396332603498396247370953295381\"\n ],\n \"6353557823547752196200350779696478527964824941807853386538784202883753187218\": [\n \"11521115905797657307547484426428682412629305554666837526666569807926383157992\",\n \"9383691805544366635210252035749924611859797110817523199144956576378895943851\"\n ],\n \"9926483919724043755436207294637895461929585304127745782803134811709544478442\": [\n \"20906282090224633349486129374525178673761992528472273139815532922920418952531\",\n \"6353557823547752196200350779696478527964824941807853386538784202883753187218\"\n ],\n \"3904766441388144461649290913299292927233444394387516376955932302421753248867\": [\n \"5373416585388766904352511378605570380271163872803031334351977036283541911785\",\n \"1\",\n \"1\"\n ],\n \"9143064170049936457835421792710207794881625878150694947316446359609270421731\": [\n \"4816202840284993347716957236759926642430223279736906203564176939884717655946\",\n \"3904766441388144461649290913299292927233444394387516376955932302421753248867\"\n ],\n \"12770804697683992755211081767700329875054924641588684308301111161681126560894\": [\n \"866037691220536700285597243269532294409412228696455646238578279955408645332\",\n \"9143064170049936457835421792710207794881625878150694947316446359609270421731\"\n ],\n \"1702251659735185692775412839292735059909427939203684608185046344858709723765\": [\n \"2999884539257285571594765193452635028536365625719556659815930154182906955681\",\n \"12770804697683992755211081767700329875054924641588684308301111161681126560894\"\n ],\n \"20088094985221023205284225276794353921532832861812194580376175673139434663763\": [\n \"1702251659735185692775412839292735059909427939203684608185046344858709723765\",\n \"6239590778465643999542947855205063486103448576217092166305979289219884091155\"\n ],\n \"225032649005590716804028995849437635550817903759599458277157063059826835196\": [\n \"3421600638030111301414117041130030883620976580939402177024306056818424105577\",\n \"1\",\n \"1\"\n ],\n \"14374667347397284066237754142717695927642653828661997990570659517971810299072\": [\n \"6310176985601134408451518150502812803408492743737855482378430293789890359272\",\n \"225032649005590716804028995849437635550817903759599458277157063059826835196\"\n ],\n \"20402175041285488617423123594722632178980456942443982684832512718354722933717\": [\n \"17977444197007063132815683500084178363510977317689505725524375919710408884784\",\n \"1\",\n \"1\"\n ],\n \"1108901843633505239420396035292278680505091644187068081021782119916257514051\": [\n \"20402175041285488617423123594722632178980456942443982684832512718354722933717\",\n \"18115648903713824288274687907624390409349771891854844948899904559596882756900\"\n ],\n \"15093454187890442219939378506686831877387086728762487624956681079194204281223\": [\n \"10667427721498665796413274061508817334982176132285294620116442896503144842491\",\n \"1\",\n \"1\"\n ],\n \"16708181329022319686514168141003072749281021623497987075723519816572679503988\": [\n \"15093454187890442219939378506686831877387086728762487624956681079194204281223\",\n \"19954017611935854138933514164496398500130587744702056614158448750426084788863\"\n ],\n \"4296643991312058392660337632185733396341727288652464840497389911807441436677\": [\n \"16708181329022319686514168141003072749281021623497987075723519816572679503988\",\n \"0\"\n ],\n \"9640720338521358146317003754958516830361451581110496686964388739211530903237\": [\n \"4296643991312058392660337632185733396341727288652464840497389911807441436677\",\n \"0\"\n ],\n \"13931027118932829656627123713649840058939687288590631000651097423044961461649\": [\n \"9640720338521358146317003754958516830361451581110496686964388739211530903237\",\n \"4186865125944935616794616506104804665401396719422020529484586576050642046825\"\n ],\n \"19002871550448311938284603425875378357702365198813042322164501070771314942125\": [\n \"1412806977402523606758654874352291541620980774648680402677185145213919706333\",\n \"13931027118932829656627123713649840058939687288590631000651097423044961461649\"\n ],\n \"17783988401535388864787646270557610757966262228762452826148227241513076913213\": [\n \"19002871550448311938284603425875378357702365198813042322164501070771314942125\",\n \"14244040890750748984339289141809507308580271217840243772963774506455975229154\"\n ],\n \"618164513533806653820458720508970591322417040225771775158245226652709375470\": [\n \"17783988401535388864787646270557610757966262228762452826148227241513076913213\",\n \"17899635696930822033734538074294944053035075794453089395383065258670673339281\"\n ],\n \"18856236843246412027385470179100048441267230952326928072971998174358857388009\": [\n \"3063589528960095491844615376839164459772250780583010171287717546711468305313\",\n \"1\",\n \"1\"\n ],\n \"2873919496886722634297928401325192758957496562393427651886598302751556382743\": [\n \"18856236843246412027385470179100048441267230952326928072971998174358857388009\",\n \"17362658674922726652428219417502767838976300579433455427003091420231415675533\"\n ],\n \"11475826413340339070831614934015480238274442633326214281102035127464734362898\": [\n \"15162935579266051007886686617404790790454442430147746696683682849685532409320\",\n \"1\",\n \"1\"\n ],\n \"2800684676005159947473177483538683828173712654922570324878426445406083559793\": [\n \"563039498326909687244853366590136757343376752953810781017565344226553424800\",\n \"11475826413340339070831614934015480238274442633326214281102035127464734362898\"\n ],\n \"6485712819447283267131083974547464364964477737286358649340998486048908984076\": [\n \"599063173168530120037883728772414287376009000327978263819815899746947132555\",\n \"2800684676005159947473177483538683828173712654922570324878426445406083559793\"\n ],\n \"16789127595703665973671703323038914634878411475936811356728778735269317173656\": [\n \"15176806464701659094009404964814280058865429513610086155130737677523776670490\",\n \"6485712819447283267131083974547464364964477737286358649340998486048908984076\"\n ],\n \"352430606029189969626777382197406386888845392440114270852853792565336468434\": [\n \"20216062743692716277101684401152153844930677665315100076098174056456745281382\",\n \"16789127595703665973671703323038914634878411475936811356728778735269317173656\"\n ],\n \"4851162257826624338750540114175297939128368339786822418119838035615461560161\": [\n \"352430606029189969626777382197406386888845392440114270852853792565336468434\",\n \"2645297157206818401001442860846003397268522622009700457327266428905224806897\"\n ],\n \"21312186222944154195086891204660667852624395377045246742598399792928336001796\": [\n \"19365179470984659215040670731823127980300091135854741012328101638447373133406\",\n \"4851162257826624338750540114175297939128368339786822418119838035615461560161\"\n ],\n \"14629546075494935306178460424389014788728564373948333700618602543136863798069\": [\n \"12594911778506695445625718456881718403271470313744685915725473781013196221941\",\n \"1\",\n \"1\"\n ],\n \"16647847586132004483731563899382780734195706366479881789262632901935445464124\": [\n \"9707046015031701171595402950091103858946211621890813474105813443572662034855\",\n \"14629546075494935306178460424389014788728564373948333700618602543136863798069\"\n ],\n \"6415314620019524476777585262292741379681640994404839031934731205671265309935\": [\n \"16647847586132004483731563899382780734195706366479881789262632901935445464124\",\n \"0\"\n ],\n \"6658837582662314814932068646138668396223113583000473640767409469840151462796\": [\n \"0\",\n \"6415314620019524476777585262292741379681640994404839031934731205671265309935\"\n ],\n \"13562894860985484323336819688598328350874082161713327171168672171658069287277\": [\n \"6658837582662314814932068646138668396223113583000473640767409469840151462796\",\n \"244966089166175537523856762237906049043778875532524710136638664831187824751\"\n ],\n \"3922578152064515745240294835976151323345543931380583998419294261012661860394\": [\n \"0\",\n \"13562894860985484323336819688598328350874082161713327171168672171658069287277\"\n ],\n \"11295974812360791384038912691971105846049212054006150285198421125456268189752\": [\n \"2590679882722784062153788251746955950937291658473199432377077885305507218835\",\n \"1\",\n \"1\"\n ],\n \"10464050427818846087664597604826435956658511309910227247522148500664709360130\": [\n \"19826420319435012485958003344607449146096611628041693872535455190704994797383\",\n \"1\",\n \"1\"\n ],\n \"1017904132574921898649563788547601299770099548155052524080660883598364309068\": [\n \"10464050427818846087664597604826435956658511309910227247522148500664709360130\",\n \"9995619998632458637031403393639675979498438383425017961002648602776144921247\"\n ],\n \"14272081819990363999848018613150438047503851555135874678230269920515594131866\": [\n \"1017904132574921898649563788547601299770099548155052524080660883598364309068\",\n \"0\"\n ],\n \"20766525962813157991370849965880680053068896333104888372733442142231036530189\": [\n \"14272081819990363999848018613150438047503851555135874678230269920515594131866\",\n \"20708835021412923808344529694266234693901148968898429339267637697091558370724\"\n ],\n \"5583255780630752775640233064979242375294486679840096753130065511287195233488\": [\n \"19494557631120489605957108550479115874877850449203175927606668567298581179716\",\n \"20766525962813157991370849965880680053068896333104888372733442142231036530189\"\n ],\n \"5563544698648875496083869561790797078220325962398075422258909139673687171400\": [\n \"14403425374597371720052720190326040177605275961407247504348077955979811417210\",\n \"1\",\n \"1\"\n ],\n \"13237775549728855455058393280388328237521880470829890643116477554445065302600\": [\n \"5563544698648875496083869561790797078220325962398075422258909139673687171400\",\n \"19489111041028017017852048385944218124620000992021855574561226074721033530684\"\n ],\n \"13671313775001929123626047128462219479996177928728229654928710654091959615465\": [\n \"18478438420931446488050886082236530844339022740911695599570252939425224593551\",\n \"13237775549728855455058393280388328237521880470829890643116477554445065302600\"\n ],\n \"406814097966736687806249366259572633812619758560850110892843357953561897181\": [\n \"11137781805658636032302649245860490798199182133978636925084132351572278114722\",\n \"13671313775001929123626047128462219479996177928728229654928710654091959615465\"\n ],\n \"5909163930162073302644950422430355940627252692683537971748942428306574412792\": [\n \"406814097966736687806249366259572633812619758560850110892843357953561897181\",\n \"5506271685320125617536884558645572950416334175960873206283696740705239415753\"\n ],\n \"14890506518277467117841700030547904601019306366904892273828378114949717182074\": [\n \"5909163930162073302644950422430355940627252692683537971748942428306574412792\",\n \"6291209579149308895137697300003180215941944313931259183241040644213793507021\"\n ],\n \"3068201447337011297559029554543613570269604294527657054249184055166584335896\": [\n \"14890506518277467117841700030547904601019306366904892273828378114949717182074\",\n \"19289116947803168379949231468150401007730920596535051674403574020731673378492\"\n ],\n \"9001519987377196723934635120354457651664740337257969277257451528507687659603\": [\n \"18504645110182563435010284027144759867894837146693454307614023044528797794073\",\n \"1\",\n \"1\"\n ],\n \"6414678778622471285192899077096624700280290052514853001777853476992548595056\": [\n \"17492869866692518060905845494566660631396506099409111468434366090151257607967\",\n \"9001519987377196723934635120354457651664740337257969277257451528507687659603\"\n ],\n \"15153937813990658724531229155854303480298855531635395593967866329281951695100\": [\n \"13715451471924527619405072302476363803195742104189798100084480229316094770015\",\n \"6414678778622471285192899077096624700280290052514853001777853476992548595056\"\n ],\n \"14699647894830836286874877213189522301684344701933939555447596391172678928041\": [\n \"17448465689181539457993800278264206710415137336321581998556265425216569044899\",\n \"15153937813990658724531229155854303480298855531635395593967866329281951695100\"\n ],\n \"5180355146862212278526312831535725233494016970636392276954064029852018886615\": [\n \"18563851634276740992595463629483168593362380964170508848528774127812168675236\",\n \"1\",\n \"1\"\n ],\n \"1749561646740107469960261789837103590223742196044953982410212273844551080376\": [\n \"8191547363726060525025083307857879178166663978435629461078468906065701907267\",\n \"1\",\n \"1\"\n ],\n \"315267276082499865595558319041665638827829342394733302051615709639115459530\": [\n \"922441750787989186114487240265886996546084010087161437661405295539881745710\",\n \"1749561646740107469960261789837103590223742196044953982410212273844551080376\"\n ],\n \"15665077886548069734869672299759857276736449806695799349489212017469249811273\": [\n \"315267276082499865595558319041665638827829342394733302051615709639115459530\",\n \"3681459463841205390158083511808466379681229072110791403493485991314735207995\"\n ],\n \"1665262868062374560269951196447057372795065127918390187760109309328491249095\": [\n \"1515900073576134377593082748429985331364415662212096932995554485691395527537\",\n \"15665077886548069734869672299759857276736449806695799349489212017469249811273\"\n ],\n \"6163414657655434120224564282528339291655442997360046099549665723586446853516\": [\n \"1665262868062374560269951196447057372795065127918390187760109309328491249095\",\n \"2422119747403159571526935010390008016672774808269089291245157989151982304913\"\n ],\n \"20072434516885115440186105944866188589510019479798841217237275066611264798346\": [\n \"13125118978445592583827095607381093347240199567104945511329783818458657717450\",\n \"6163414657655434120224564282528339291655442997360046099549665723586446853516\"\n ],\n \"1717997151033614534531631713040070560283304778151534716695447390858787877769\": [\n \"16148986164212342183145152750583801860450824007645527105882164114509834763627\",\n \"20072434516885115440186105944866188589510019479798841217237275066611264798346\"\n ],\n \"14579758283927759142102885253961241105551057471173562189431597395576759273467\": [\n \"19871070535263623031433321434583186306736025679540182522409902737129865197014\",\n \"1\",\n \"1\"\n ],\n \"15070657717676744828504031774750520280483272629311831519538579596812055694302\": [\n \"14579758283927759142102885253961241105551057471173562189431597395576759273467\",\n \"15873015796237733633899805822488538495190648240771675254380924828641687165898\"\n ],\n \"21070459221094377380357080576210330493127245349341699535225913487874521647833\": [\n \"4339672836949462773556792651898257774654901019642583752478541828084144031640\",\n \"15070657717676744828504031774750520280483272629311831519538579596812055694302\"\n ],\n \"19741584555638600848870646885452093695115369282137915150368375620605857831896\": [\n \"8240200194940443340782311734715084074111982513897966345859349512231645013793\",\n \"1\",\n \"1\"\n ],\n \"10248523326202959822328214836582743041764594247412727936782174900450788243345\": [\n \"4990962538970893179658147402582343830251073061533001828088828341407711138555\",\n \"19741584555638600848870646885452093695115369282137915150368375620605857831896\"\n ],\n \"6453705514225053688991690505172782207045642700326540357180532624624593448518\": [\n \"0\",\n \"10248523326202959822328214836582743041764594247412727936782174900450788243345\"\n ],\n \"15596043982717386525000250054146810281983212169091963335706540169588266749595\": [\n \"0\",\n \"6453705514225053688991690505172782207045642700326540357180532624624593448518\"\n ],\n \"11140169816014186235351779731130021814970327835252195034704763468244143543582\": [\n \"15596043982717386525000250054146810281983212169091963335706540169588266749595\",\n \"10550149359911699619990551796035882948328145853782465373375362828444190969456\"\n ],\n \"8229929783594307148600491200978291823509352627716825332520046573936955795857\": [\n \"11140169816014186235351779731130021814970327835252195034704763468244143543582\",\n \"6026914434054047465092747479670449945391849996657363120019088721678259366623\"\n ],\n \"1472875194227636516315836752604524823111202623854324157883076219889763990789\": [\n \"3599340416337556104101426166765133362713517957775625410373262064709293239524\",\n \"8229929783594307148600491200978291823509352627716825332520046573936955795857\"\n ],\n \"21192643582657475701143249229899028214080117740422835753803641216545766994379\": [\n \"15500828357171734787059909442699039507155819140945576833822079746528105757312\",\n \"1472875194227636516315836752604524823111202623854324157883076219889763990789\"\n ],\n \"12636142811624006608433322657720479322459168960140395970555015930346002879207\": [\n \"7677056105995259179294982500697813702612697464998954670347530448416135812029\",\n \"1\",\n \"1\"\n ],\n \"12673390537196337414912220809995829980670372054420457740339907716624123069258\": [\n \"2193680288749582198831658675605114652769168943560972145851657129741178349614\",\n \"12636142811624006608433322657720479322459168960140395970555015930346002879207\"\n ],\n \"11734428836284622184064739988752075261920280561857197150823979737683130067215\": [\n \"12673390537196337414912220809995829980670372054420457740339907716624123069258\",\n \"5871041116962802467643785445788179816522067336187686219420012117722054878324\"\n ],\n \"15653829897604792002697672482379223388142638574364085594500204103443801023244\": [\n \"11734428836284622184064739988752075261920280561857197150823979737683130067215\",\n \"21743570713945892518549866231118374489505503189623910115580780454273254767695\"\n ],\n \"10476010920233826254443405099229933775705232719999629975340482505426042611166\": [\n \"599045829025762286032065435843650518088459248692814016740316862359803798585\",\n \"15653829897604792002697672482379223388142638574364085594500204103443801023244\"\n ],\n \"11333669762440258312700131812123474222257704933880809154282582801521669724437\": [\n \"3413943287451573543792856560658532613856496433432053977280278640744399489052\",\n \"1\",\n \"1\"\n ],\n \"19581989652468050928784388591641330789909138994919450189053316595398402415184\": [\n \"7190299056921266803763728453188271104570433012422944510432145568929263446348\",\n \"11333669762440258312700131812123474222257704933880809154282582801521669724437\"\n ],\n \"15429557536866144153141906743938011893766436679407887208249403691398502393765\": [\n \"19581989652468050928784388591641330789909138994919450189053316595398402415184\",\n \"0\"\n ],\n \"21350347700354963106140035131175183549776248884713387509584978234092290904651\": [\n \"15429557536866144153141906743938011893766436679407887208249403691398502393765\",\n \"0\"\n ],\n \"3823147274012774204653575864772260782660962834761442244236803887907166501444\": [\n \"2180966276945217955333777642033603287234623492733895906445057426072878147755\",\n \"21350347700354963106140035131175183549776248884713387509584978234092290904651\"\n ],\n \"7506533469903345736789197909867162361004612879560723049386918784338248958911\": [\n \"3823147274012774204653575864772260782660962834761442244236803887907166501444\",\n \"5313815639154166868579593005102870024882124448672617691717888029225318202032\"\n ],\n \"268487129744295074173046424074081588634193824406403444268781854637884492427\": [\n \"21369463515384125929054595366168850427504687564148122976208984432016942197699\",\n \"1\",\n \"1\"\n ],\n \"16375627864629863959044201682368147977009463950173651752744625519572571365799\": [\n \"268487129744295074173046424074081588634193824406403444268781854637884492427\",\n \"9035373700795642304897763750708686791971325703852416220288869240297071114796\"\n ],\n \"13936043932808422131303884631829978090154416491656812360702955339950524998729\": [\n \"0\",\n \"16375627864629863959044201682368147977009463950173651752744625519572571365799\"\n ],\n \"11417723032387069211975415335358655837674436967064561864108232413594670858007\": [\n \"15105719879994644047500829390470123386296016349867808402547372574529907730220\",\n \"1\",\n \"1\"\n ],\n \"15902056292799342943515656612386250592438877352443705789344977139073181534811\": [\n \"11417723032387069211975415335358655837674436967064561864108232413594670858007\",\n \"3226583295957886925919018996501900964391243441759266486086723064486891876296\"\n ],\n \"4807190521844455917744960653545585104757605740605602085328664238244672628545\": [\n \"15902056292799342943515656612386250592438877352443705789344977139073181534811\",\n \"14446632565682150873343835770375991465434070054601052754445255128656791788315\"\n ],\n \"8416770823068426152681535722402892773394663156120662123365863404874688266147\": [\n \"6630157692106686264021763432375492806774816861357576207742696567150119638170\",\n \"1\",\n \"1\"\n ],\n \"1656519573679836487772236634708209349278915803625335464082086037066585458874\": [\n \"8416770823068426152681535722402892773394663156120662123365863404874688266147\",\n \"4616307244268453677873310456720865515583135374095536027340313159941414606376\"\n ],\n \"3631265905161150231811494475043582064324287858157998759729923133946087084151\": [\n \"0\",\n \"1656519573679836487772236634708209349278915803625335464082086037066585458874\"\n ],\n \"5800518636933882666686919843844017015370328383052053404226466999702558785079\": [\n \"3631265905161150231811494475043582064324287858157998759729923133946087084151\",\n \"2519542728750082264048668005034070535774814043138094101940983860501181517143\"\n ],\n \"9894287316394214474649010000043131072429406162863557325943221085482943255789\": [\n \"8796321378211081283190289854097102391336847415254815648431074381511244394371\",\n \"5800518636933882666686919843844017015370328383052053404226466999702558785079\"\n ],\n \"7767240336889293465877360140347893008259241411673163086213455951957263025702\": [\n \"20150760061261682882471152418690164929241399833077073194398004544234150270089\",\n \"1\",\n \"1\"\n ],\n \"13681195840713076544804388978353291517101594405806138728940562976766856806309\": [\n \"7767240336889293465877360140347893008259241411673163086213455951957263025702\",\n \"7609663957172884136811825185777418330326293873596080933279193972121552194932\"\n ],\n \"7562826982909776590061870926795022717372738366188981121452687364694771405432\": [\n \"8962128177580967164766375863265246654588697394150719422384794724899977833868\",\n \"13681195840713076544804388978353291517101594405806138728940562976766856806309\"\n ],\n \"3515223261066885367961167342831280028973830731636241027196003390062510346756\": [\n \"18852991778878254602821310745442670184040207900316405413790918285591784882944\",\n \"1\",\n \"1\"\n ],\n \"21318120465116293268197133400156187268681421781170997101020801588360895864281\": [\n \"3515223261066885367961167342831280028973830731636241027196003390062510346756\",\n \"9093521302131311928137534568567512647453974958403125237122683885925427192610\"\n ],\n \"20924691349443934369516177358730351240083677895996912640649206933416262252801\": [\n \"21318120465116293268197133400156187268681421781170997101020801588360895864281\",\n \"6263479094493079890103959657609461228996756123163375554680785440685774578586\"\n ],\n \"11107357789464009467814570957086708956554214907457994214439938815230091126918\": [\n \"5163128695042313281487020377598099149373042077719569365068705552625538940158\",\n \"20924691349443934369516177358730351240083677895996912640649206933416262252801\"\n ],\n \"6962497800001526706007971761099836520679721462395564178446326467350313789758\": [\n \"10002410294459489121971882230824902840641642244451066078876981241454722826536\",\n \"11107357789464009467814570957086708956554214907457994214439938815230091126918\"\n ],\n \"21055077602214922655198655328829122858879548158061856754187354103413601188342\": [\n \"10941149080500882761719941424685449528377415407510878144359213797028040590966\",\n \"1\",\n \"1\"\n ],\n \"3320278738281468589407683126741958997745030301663446343968157104128155488689\": [\n \"8599929765931272872594722739237591110887497676894364465823781887905485650711\",\n \"1\",\n \"1\"\n ],\n \"15698445196207953236320411115032645651710984796450937015428702265385141858028\": [\n \"15907514921273278518248354460766258185221297285896184944511379523615277289862\",\n \"3320278738281468589407683126741958997745030301663446343968157104128155488689\"\n ],\n \"5685390104095072559829361687797384715510800699338606468040980901231605358015\": [\n \"0\",\n \"15698445196207953236320411115032645651710984796450937015428702265385141858028\"\n ],\n \"835108445521472324381341129231599030573867752305752430298609419281478043062\": [\n \"595945265458547093749502355986182073625191888693164105606482487785277685733\",\n \"5685390104095072559829361687797384715510800699338606468040980901231605358015\"\n ],\n \"12569123146882008563444106397945048934683366437490054019270283131154006439960\": [\n \"835108445521472324381341129231599030573867752305752430298609419281478043062\",\n \"7675976860074544769237720251066125743305701163890287856749775360271822961144\"\n ],\n \"6611187261831760042534596589187141638993394421944413501288465555795783236145\": [\n \"13733240584811215669638848720570075607287411190065643982453590033984406550894\",\n \"12569123146882008563444106397945048934683366437490054019270283131154006439960\"\n ],\n \"6518426943076973339620951755429651404055412982194943486921605116137925319102\": [\n \"12672744506163466436574452689370282481394420119916842691068160554235949836013\",\n \"6611187261831760042534596589187141638993394421944413501288465555795783236145\"\n ],\n \"18441608371878584853888110103859561811249226962346645297018769890833947549\": [\n \"1766524054260294041108092096849678046924045790106564783481652724452794193442\",\n \"1\",\n \"1\"\n ],\n \"11930797346644900356356658649106693098561030775948807992404714131019542480482\": [\n \"18441608371878584853888110103859561811249226962346645297018769890833947549\",\n \"18918760216182813233103232565946853590165351884791431257763760248220519999986\"\n ],\n \"4128506205817374489933461546542103719724737854654043911602361370883884878696\": [\n \"21752100464140217236941407792860424929903677535273851015702771339035871922594\",\n \"11930797346644900356356658649106693098561030775948807992404714131019542480482\"\n ],\n \"15630200124125115797238756105973131690323739757686429581643824872532155624535\": [\n \"4128506205817374489933461546542103719724737854654043911602361370883884878696\",\n \"15138497632390686747622435282205290792209475110570244764029445792634611174540\"\n ],\n \"5899590535533883405301222816956037777477639153801308979838927354647950314635\": [\n \"3179929829045335899967528885425285369656424904407428347484394406168911176722\",\n \"15630200124125115797238756105973131690323739757686429581643824872532155624535\"\n ],\n \"7661073691874052563482074067138747715980531247340621458419119559606607089699\": [\n \"13098124890668250984513279821609721008432773105302135272296401611108356449516\",\n \"5899590535533883405301222816956037777477639153801308979838927354647950314635\"\n ],\n \"10317982636553273556927893545384218365888122375145968702883726590435766545881\": [\n \"7661073691874052563482074067138747715980531247340621458419119559606607089699\",\n \"10985453423317434657345539941604574963882123610415580995000396849077633348623\"\n ],\n \"4199056004838587645111445307363382761632410650583491823811132443095710589113\": [\n \"12350101186303572245449845266574744756378793827129714360642956695573956250520\",\n \"1\",\n \"1\"\n ],\n \"19662097287006552973732230990561978723777769095776654166613855924954914644360\": [\n \"21415248511209170421223704144327945813790349654350974503339734753030060723028\",\n \"1\",\n \"1\"\n ],\n \"14793992362666070248651348018254566905794379119783450123059683266555375442888\": [\n \"19662097287006552973732230990561978723777769095776654166613855924954914644360\",\n \"14747722873335350056813569735538896150450897523423750882113406934053739167625\"\n ],\n \"4517968677735127048069008554445707442659312711350106755726513908945367086389\": [\n \"12051797261477196317367815374169358355737498587563412399712422691101788118002\",\n \"14793992362666070248651348018254566905794379119783450123059683266555375442888\"\n ],\n \"19229968116092459495130984351908809736194664799517263366422624438134435309928\": [\n \"17712028630279491378155858608620874926527308359899227563299670313909592911205\",\n \"4517968677735127048069008554445707442659312711350106755726513908945367086389\"\n ],\n \"2859167229223531580577643235686444510453179988030147224733111502594965313540\": [\n \"16696084367980583934656983938662660520385986908210217453039707568948047657607\",\n \"1\",\n \"1\"\n ],\n \"10742344248021815351125442754851375179038608604124763202212942119105873087081\": [\n \"12839832522867504432450097604224856617087235260162754611168449038462016885781\",\n \"2859167229223531580577643235686444510453179988030147224733111502594965313540\"\n ],\n \"19585638009271468112304644867453058580304800027101688558980765658807120842684\": [\n \"4543702264453628394173363628115082516066230901842891434005888075738903628440\",\n \"10742344248021815351125442754851375179038608604124763202212942119105873087081\"\n ],\n \"17928874053421375579015144425214315129341640759836034809156577587657316721081\": [\n \"19585638009271468112304644867453058580304800027101688558980765658807120842684\",\n \"6948101046452675906397192700305871361548225058469737157031582076898539113569\"\n ],\n \"1085044582535814657204542489231581198777044862478540034685333485199797373218\": [\n \"10965635943497342057248805619904779261858249470074952455644859092409762144517\",\n \"17928874053421375579015144425214315129341640759836034809156577587657316721081\"\n ],\n \"5752514049607927304004433633510458373458281064011992266075633190530879777155\": [\n \"4359746875893242865782732227882638094212645895194983492816730462449412026677\",\n \"1\",\n \"1\"\n ],\n \"12974891412149597223627413341328233762846078675166622905200735885567570423964\": [\n \"5752514049607927304004433633510458373458281064011992266075633190530879777155\",\n \"19959086289831533173857530410868682941734333487240516189080862593918123530973\"\n ],\n \"4553790069096381682635929927040727391321857051903455587739854417326975843583\": [\n \"2696651441841212447724924610178602305164427338580505480247064156753475908904\",\n \"1\",\n \"1\"\n ],\n \"9425227820708051498460924074248447763578497543517032331513243269187050790740\": [\n \"14629906261960369072644745253469044826770665052831192394955467882869899692276\",\n \"4553790069096381682635929927040727391321857051903455587739854417326975843583\"\n ],\n \"5516400252545303155456566492479519681802891291348658493022041950113013621200\": [\n \"0\",\n \"9425227820708051498460924074248447763578497543517032331513243269187050790740\"\n ],\n \"18031417475238331690849103676878901022468924674830349287518845117067335154259\": [\n \"5516400252545303155456566492479519681802891291348658493022041950113013621200\",\n \"10326855504359425309255687664951805501205847132209332425082130595195049840009\"\n ],\n \"17473723531297421323075310690677234454410569768803926986574170246231307764665\": [\n \"3919303176812071187821874839564924200266254001393298479408088729494924327173\",\n \"18031417475238331690849103676878901022468924674830349287518845117067335154259\"\n ],\n \"5664162467002686096541906079191896131056325774706824469975551133767508213182\": [\n \"10757659164794094191714719551949850370949257742081445415457209810724947582826\",\n \"17473723531297421323075310690677234454410569768803926986574170246231307764665\"\n ],\n \"9698326364664766954460710094798790312568844074133435021456769779492622869393\": [\n \"5664162467002686096541906079191896131056325774706824469975551133767508213182\",\n \"0\"\n ],\n \"10040352966687095576338089830437074291826234564417861201884686391315974514600\": [\n \"13532778648327443680996930167849728755878680028456675685877143342941322620845\",\n \"1\",\n \"1\"\n ],\n \"5659577253568802348521858699902584913235414686152316878331945179181801142065\": [\n \"15119373830908452924535282474106287713824661716927356013669313480073901765791\",\n \"10040352966687095576338089830437074291826234564417861201884686391315974514600\"\n ],\n \"3075359778635352286556653245896725682391783440220979081677821254970357441098\": [\n \"5659577253568802348521858699902584913235414686152316878331945179181801142065\",\n \"0\"\n ],\n \"10506244896843916775456447963180174671704960714895315736887333735069301311504\": [\n \"13647805277805058540718714341771589719962388335479208801478639677417980780497\",\n \"3075359778635352286556653245896725682391783440220979081677821254970357441098\"\n ],\n \"1880124791579601124932273783394076334775564332374406110063566064650153473066\": [\n \"14793105119007177197472164252222150987986883955316710373087569090594521052758\",\n \"10506244896843916775456447963180174671704960714895315736887333735069301311504\"\n ],\n \"14004757590482383871046830021237853325563758572897955495367177644134218520932\": [\n \"11235512108948716419357721915378494293061671362832710253644461543186904638792\",\n \"1880124791579601124932273783394076334775564332374406110063566064650153473066\"\n ],\n \"15798795973182139481739987160020717764708021394315018212912591695994344639677\": [\n \"794567466879901727257661329420783374286781848643684049400853148178896959114\",\n \"1\",\n \"1\"\n ],\n \"5370966273651701797574229052653424038297494817058309186675871981054846965009\": [\n \"14006686647338398542158880428546707146420747146804362661508766899373490110207\",\n \"15798795973182139481739987160020717764708021394315018212912591695994344639677\"\n ],\n \"936777490011901792775548064911129420911289822625975235658944215004965818024\": [\n \"5370966273651701797574229052653424038297494817058309186675871981054846965009\",\n \"0\"\n ],\n \"5307707674678083071186807504062420196982579647620854456612209324115927308939\": [\n \"523993202018001137988536634595551146748089352146510808554642209561212539438\",\n \"936777490011901792775548064911129420911289822625975235658944215004965818024\"\n ],\n \"1280484744750141827190504211962512145811680553543144748973747213590757201141\": [\n \"0\",\n \"5307707674678083071186807504062420196982579647620854456612209324115927308939\"\n ],\n \"10964736025300206374948940851807916129521076414191467776804763990871205278188\": [\n \"1280484744750141827190504211962512145811680553543144748973747213590757201141\",\n \"0\"\n ],\n \"16421101002578376063561187354200607381877274399548174683600102781160377409857\": [\n \"3195802488313236246188653156719474835726329037693194737309880474602847414284\",\n \"10964736025300206374948940851807916129521076414191467776804763990871205278188\"\n ],\n \"5117933433045416315408227227576484749343709948630327625609476616958746862401\": [\n \"11537333856262964792590139954488430553579356147943740139921016003934782629116\",\n \"16421101002578376063561187354200607381877274399548174683600102781160377409857\"\n ],\n \"7162438882277779826347428398130469218721469193961797516518994423745637475411\": [\n \"20004106296731470927235255125555943079332688224406657614157060665062972412091\",\n \"1\",\n \"1\"\n ],\n \"9626639194386879548847932664199540729236272059087270406578736737634933012694\": [\n \"4311477064710703742149920455067655350181822021612532123140235811600435862734\",\n \"7162438882277779826347428398130469218721469193961797516518994423745637475411\"\n ],\n \"1397385639510864561971508899895550303224588161959987327882259803630618722913\": [\n \"9626639194386879548847932664199540729236272059087270406578736737634933012694\",\n \"0\"\n ],\n \"3648295528365952089829707177671822975246586807454110140798815235396474659927\": [\n \"0\",\n \"1397385639510864561971508899895550303224588161959987327882259803630618722913\"\n ],\n \"20920296084141570444858084249384622116812665000223289389556526213558953116513\": [\n \"3648295528365952089829707177671822975246586807454110140798815235396474659927\",\n \"18149450039889344859937578065728783934456726351268806133302518746682447981909\"\n ],\n \"9929302127116422824869387770186909198152946603758311141621978580979307231145\": [\n \"0\",\n \"20920296084141570444858084249384622116812665000223289389556526213558953116513\"\n ],\n \"11854443110810073268478552891491449613648380240138596807941533231227165031429\": [\n \"9929302127116422824869387770186909198152946603758311141621978580979307231145\",\n \"10030498467347040073198969807445940235703568640190816196198226606104655635174\"\n ],\n \"3280660352601394793443163065478742790225019999285320359066591732091220914654\": [\n \"11854443110810073268478552891491449613648380240138596807941533231227165031429\",\n \"18138160759901273041018087414799393198795628913957872448577737447408416078824\"\n ],\n \"15140133848545028653189378708228869564618544513822939759426038632473408882920\": [\n \"16290105749131474878984605430005340392002165161121290369185698443946108785071\",\n \"1\",\n \"1\"\n ],\n \"5062191014110619815743667163979884031735734533292084347721546225983257123837\": [\n \"15140133848545028653189378708228869564618544513822939759426038632473408882920\",\n \"1982107268960177578074922395499182969004108122258931017349876323990766998596\"\n ],\n \"17568682222827854329926667503679108351131221680055410383621560322245443975026\": [\n \"5062191014110619815743667163979884031735734533292084347721546225983257123837\",\n \"0\"\n ],\n \"5910651867106912476288897305964154624540083603783198969818400691684591611695\": [\n \"17568682222827854329926667503679108351131221680055410383621560322245443975026\",\n \"0\"\n ],\n \"18459068889158265526850466538636152010459228433549654964583189267190903165971\": [\n \"6943809800618553763005472791897356670446886759075257888238530939971939906214\",\n \"1\",\n \"1\"\n ],\n \"1718224238403298650653931420183494527912155116222716680072721138730294770459\": [\n \"1012022338566746136639312008387064444899645989651072355947601684844551811999\",\n \"18459068889158265526850466538636152010459228433549654964583189267190903165971\"\n ],\n \"17583777991007184463640990286140138779889050514645631665322458614296585470833\": [\n \"1718224238403298650653931420183494527912155116222716680072721138730294770459\",\n \"0\"\n ],\n \"10498606784288409343659688721361455361981855097536179066448942799698923723093\": [\n \"0\",\n \"17583777991007184463640990286140138779889050514645631665322458614296585470833\"\n ],\n \"17489384760722772356865327096459386628504102893184081117095368510948586689215\": [\n \"0\",\n \"10498606784288409343659688721361455361981855097536179066448942799698923723093\"\n ],\n \"13729625826511609972352322299084005850634088033653858426934064137889009688515\": [\n \"17489384760722772356865327096459386628504102893184081117095368510948586689215\",\n \"9137766664878056670977378200928156647874547580308779279624564562621750703524\"\n ],\n \"1709482303355608170865312949270679597949188489309662592367986414690311435747\": [\n \"13729625826511609972352322299084005850634088033653858426934064137889009688515\",\n \"19789876337657572479244829960046584601407388206259217186386513646059759389824\"\n ],\n \"16441072971053518452577612361318257072434666373599708943424703755858981249027\": [\n \"11699369955994154452229251743442451639008579670892605136552534550774665831513\",\n \"1709482303355608170865312949270679597949188489309662592367986414690311435747\"\n ],\n \"7922966838765499606074393477364266778626799616123107113457480773450753480598\": [\n \"17492554950152132810227420256158299340525335555313067034668427462721182988170\",\n \"1\",\n \"1\"\n ],\n \"18462213504047844057784772650987817571170591329422000482633881145252528479204\": [\n \"7922966838765499606074393477364266778626799616123107113457480773450753480598\",\n \"14260229631652069003193117906128716067567339300623864364343217852432960441732\"\n ],\n \"5044795907429222918973804405877668310106136779175403604445291982600985422420\": [\n \"17833004722710499145085023907898850207226458240134106024527967757281870118048\",\n \"18462213504047844057784772650987817571170591329422000482633881145252528479204\"\n ],\n \"85828598154624420415742372440606741119982950885910592236478718185597287199\": [\n \"17416593933777345725716103874975726284595558714320640796147521213514584694065\",\n \"1\",\n \"1\"\n ],\n \"20007715034520305659200300706553373996367150288384633627199174688183256430170\": [\n \"13139542154235154731714299834199979325838038594010354008488023109298438554578\",\n \"85828598154624420415742372440606741119982950885910592236478718185597287199\"\n ],\n \"2469063806446341405619422124350075795805379219405954640047640816821289229517\": [\n \"14723379801863254012656436821905371967634858765615827359062436305078057328581\",\n \"20007715034520305659200300706553373996367150288384633627199174688183256430170\"\n ],\n \"19968872841499397309383504222531101934792793851038681921736753769609959295917\": [\n \"2469063806446341405619422124350075795805379219405954640047640816821289229517\",\n \"11743848765351797769709131770005562146013854191958475328067135672201816855703\"\n ],\n \"8389609677905961105060000192069510947986971936963529857767129825140766193795\": [\n \"5824816844792203966362883786923440394676207245629474648664461410184287504489\",\n \"1\",\n \"1\"\n ],\n \"9612496318267262273606822648383950299031318728838829658372514152824011716267\": [\n \"10030764468660034507688559494274695895887507777668720335255482655059819300053\",\n \"8389609677905961105060000192069510947986971936963529857767129825140766193795\"\n ],\n \"7423709613925159686096616473196486126966113554269227681260710858246055246030\": [\n \"9612496318267262273606822648383950299031318728838829658372514152824011716267\",\n \"0\"\n ],\n \"7941094972100313106995778116200751967849262616989302750194507806604997071678\": [\n \"7423709613925159686096616473196486126966113554269227681260710858246055246030\",\n \"0\"\n ],\n \"8665887184924698694730995430563391942318168196587600576420622078001686915959\": [\n \"0\",\n \"7941094972100313106995778116200751967849262616989302750194507806604997071678\"\n ],\n \"19074848689745325253977038031565105658118609904967645149953135058755375196783\": [\n \"8665887184924698694730995430563391942318168196587600576420622078001686915959\",\n \"19674052991386464163915106795480396082066610441058421173275094974641652061284\"\n ],\n \"12214066513616036462357094462314730295158408900233218548551521752104527288144\": [\n \"9450004865523811493165759898452033039947038355827978948644123089175547403243\",\n \"1\",\n \"1\"\n ],\n \"13944450078940134939041822603365223398771132866053745848417956360305951651710\": [\n \"12214066513616036462357094462314730295158408900233218548551521752104527288144\",\n \"18595271815132371174684938590922243222667746847410736689417487478467189545752\"\n ],\n \"19770809212303913966644553651844574446226538648787714593023480323664214283123\": [\n \"0\",\n \"13944450078940134939041822603365223398771132866053745848417956360305951651710\"\n ],\n \"14446210906857904214017580787411897228724927197896594434680876479581826326739\": [\n \"9995177309381731470626452286539862482694117263964697594896209928846670657169\",\n \"19770809212303913966644553651844574446226538648787714593023480323664214283123\"\n ],\n \"4842520899134752677878768195991589925508561609539930643753433912766107446110\": [\n \"14446210906857904214017580787411897228724927197896594434680876479581826326739\",\n \"188026422239428036524293258172134480697701894568450101877909896915630040937\"\n ],\n \"380152366222752016446306344289777442812554915594771851550506265107604187042\": [\n \"21813371047339605935000303568391881104531203819688035312052716931774568589986\",\n \"4842520899134752677878768195991589925508561609539930643753433912766107446110\"\n ],\n \"10120750280300413374698951387749162997230401360761879496455776990563351900165\": [\n \"21268474444819619686394264904721542316900665220194280305473830024140718652837\",\n \"380152366222752016446306344289777442812554915594771851550506265107604187042\"\n ],\n \"8087926518359406125136040224228703587861025852388468032479171117841384166095\": [\n \"21090419847204343570624532406650903347801159874004234288199720757444546344700\",\n \"1\",\n \"1\"\n ],\n \"5963222108950604732697288862165728091434727191744999035537690357037949177150\": [\n \"18060654800494338401172208597819098445452748815281539144611879049552490143552\",\n \"8087926518359406125136040224228703587861025852388468032479171117841384166095\"\n ],\n \"2944351422889553291073810876592083999952869945551338853537690161447255097202\": [\n \"0\",\n \"5963222108950604732697288862165728091434727191744999035537690357037949177150\"\n ],\n \"9351619103136619758590400362109961434748544109466721940911317223054403294265\": [\n \"2944351422889553291073810876592083999952869945551338853537690161447255097202\",\n \"6613261586317403268638551788326040864813517912183653057672950879032088507940\"\n ],\n \"3699161673570805606204919767475273947068264518967146815541087721981576120257\": [\n \"16278852691876674434709714718944410698913848267387319825791443625498517912433\",\n \"9351619103136619758590400362109961434748544109466721940911317223054403294265\"\n ],\n \"17169967834586566189678263179954080970279939403535698113690401585223489330807\": [\n \"5752852735425462810726676424831661850385079735817637837838758195086565182789\",\n \"3699161673570805606204919767475273947068264518967146815541087721981576120257\"\n ],\n \"19798882070038717263432101952263833921577682495027373100157323561701229032209\": [\n \"3724241190651509224437173151725958976374118540299849760069898623936734909350\",\n \"1\",\n \"1\"\n ],\n \"21570079295069728252574423114914395393629799658179697584289797785592088214477\": [\n \"11274998512446651330548020080967403903395867636090830984014440531012984476891\",\n \"19798882070038717263432101952263833921577682495027373100157323561701229032209\"\n ],\n \"8583009101784167217159704976405264695682098917793111039480917959424693052568\": [\n \"21570079295069728252574423114914395393629799658179697584289797785592088214477\",\n \"0\"\n ],\n \"7037941192512298500146602456114049539392661399483366078231519039723968330512\": [\n \"0\",\n \"8583009101784167217159704976405264695682098917793111039480917959424693052568\"\n ],\n \"17249396520564055802742824687660233537796444279073579561499390704727211488538\": [\n \"7037941192512298500146602456114049539392661399483366078231519039723968330512\",\n \"0\"\n ],\n \"6448735728488167798689113349044195513769260033231807446118769336299626770411\": [\n \"0\",\n \"17249396520564055802742824687660233537796444279073579561499390704727211488538\"\n ],\n \"9687343139469745662812490516575587385158580210503978784918695756661949136873\": [\n \"6448735728488167798689113349044195513769260033231807446118769336299626770411\",\n \"0\"\n ],\n \"11532940057741986169813382704845588534408532747844891410583707762856546918228\": [\n \"2155112953991458136568951419008277241655857664439490217161020314022494217385\",\n \"1\",\n \"1\"\n ],\n \"21414237530625161345758469068285114562555662438742458399044136456889666851737\": [\n \"11532940057741986169813382704845588534408532747844891410583707762856546918228\",\n \"2984328757884862842854056461701988063516082107830727231015154086690251743054\"\n ],\n \"10307077193270042324746240336559570971916733766461700036759660121525159260178\": [\n \"21414237530625161345758469068285114562555662438742458399044136456889666851737\",\n \"0\"\n ],\n \"23491004575126055488983381885006809083670544000725866491262475856323919030\": [\n \"10307077193270042324746240336559570971916733766461700036759660121525159260178\",\n \"7091222615338979757711821223965087333729155293195786411894718677147618285973\"\n ],\n \"5472649985123730431016059297582057116222759915192896597804753692307036666534\": [\n \"0\",\n \"23491004575126055488983381885006809083670544000725866491262475856323919030\"\n ],\n \"9474891985248894437191634317109939319442429940112153746482315976988866922519\": [\n \"5472649985123730431016059297582057116222759915192896597804753692307036666534\",\n \"0\"\n ],\n \"466113224978619023196042865047470089194231127097635918580037042899194009976\": [\n \"9474891985248894437191634317109939319442429940112153746482315976988866922519\",\n \"0\"\n ],\n \"11284253239369483348452792910386491810247950371562546537524268346469143248267\": [\n \"20658120900545360954936151564116853083831255611758202982635659671576979546608\",\n \"1\",\n \"1\"\n ],\n \"3265812021616374372353302432655854345134816481386628517811382669430763240009\": [\n \"66313954025870648289235997877928235767998931877965764126514546750132900519\",\n \"11284253239369483348452792910386491810247950371562546537524268346469143248267\"\n ],\n \"543446865109495921023353721169654037561521460013006728037829451379408144187\": [\n \"3265812021616374372353302432655854345134816481386628517811382669430763240009\",\n \"0\"\n ],\n \"4176667091147420078271490281091845269454901228645574826898596198372301942801\": [\n \"0\",\n \"543446865109495921023353721169654037561521460013006728037829451379408144187\"\n ],\n \"13532372210784169007698557728371007797450659171977084552132302360377596112402\": [\n \"4176667091147420078271490281091845269454901228645574826898596198372301942801\",\n \"13613031483742165663900352519531480022966222266790472068482410549560560123865\"\n ],\n \"3893582290433753384506614568758821931700473510996640579059203926179722560700\": [\n \"13532372210784169007698557728371007797450659171977084552132302360377596112402\",\n \"13073250280809953988491165630866253474671735073543858934663691457926682719932\"\n ],\n \"8454004185246600195795851319182531240757391540632957450974067850356410116996\": [\n \"3893582290433753384506614568758821931700473510996640579059203926179722560700\",\n \"5235503654274863096691422367856925945093953302878209732246884001861939343800\"\n ],\n \"11317333734489737004484753163553807212973226537173905964749715899877322395767\": [\n \"8277351735872225331840763591390180859979692964139276616321927252925548050783\",\n \"1\",\n \"1\"\n ],\n \"939970431032732313374235205898330020706385859262737118331926273769794034931\": [\n \"20279937274027108009753714365013552521765312154331827153322295942148107585638\",\n \"11317333734489737004484753163553807212973226537173905964749715899877322395767\"\n ],\n \"17400069797315092507649926191409417667040219366811848669432086935944828108075\": [\n \"476570712373136344695849920592419058792920713328727329976955147245934668772\",\n \"939970431032732313374235205898330020706385859262737118331926273769794034931\"\n ],\n \"14094358629137225959403138485120195245273586708512869795166793024932571699795\": [\n \"11715060946125008429465882271044905380739657514456052443203867290460867563806\",\n \"1\",\n \"1\"\n ],\n \"17742457182517879953419505066589717849856777996230309734503336399566717153347\": [\n \"4040065387914890654778110271190484416807029622992580211104894627430044567306\",\n \"14094358629137225959403138485120195245273586708512869795166793024932571699795\"\n ],\n \"16834357345579536565057447154219207398608395046112503344318700589491939403827\": [\n \"17742457182517879953419505066589717849856777996230309734503336399566717153347\",\n \"16343429422136679240687909189179027715263627022546359405800012115601481160794\"\n ],\n \"13068879964850752695116983863647066138107618214210206151243730541880528712391\": [\n \"10017840248137586426145611881038081752778106154633314082211737790645283839856\",\n \"1\",\n \"1\"\n ],\n \"9905109673440948113007999867167199436973689214983371978415277269541365536263\": [\n \"13068879964850752695116983863647066138107618214210206151243730541880528712391\",\n \"1433338485173004608788075921329658584537165413672761698710323986434185724611\"\n ],\n \"16983808294728279485542371405044042824402773054733409147957162343838509907456\": [\n \"0\",\n \"9905109673440948113007999867167199436973689214983371978415277269541365536263\"\n ],\n \"16554246263141161591175631916126558848166801828711861072203642675047579585823\": [\n \"0\",\n \"16983808294728279485542371405044042824402773054733409147957162343838509907456\"\n ],\n \"14408536249551925525080534602781025925634805648607144342149526346484222363781\": [\n \"573386116085172116146450326578161862626871708118391709199371646233147899911\",\n \"1\",\n \"1\"\n ],\n \"16661581110724224402509103178042737460852775878202992953221137073728487333619\": [\n \"14408536249551925525080534602781025925634805648607144342149526346484222363781\",\n \"4455529025293691344643193889465236143134548482696893334866597326201277427905\"\n ],\n \"19471494889674866714139407831068453671831523274777084311292223084868333178039\": [\n \"15030156472409304634443873869829561023225494967229127311059599693198424279710\",\n \"16661581110724224402509103178042737460852775878202992953221137073728487333619\"\n ],\n \"2005515836453364468137867474598385262162497773763762555999819816973264656968\": [\n \"19471494889674866714139407831068453671831523274777084311292223084868333178039\",\n \"0\"\n ],\n \"18951900246025612463341934739938711608021062195316695154128986476536084593335\": [\n \"2005515836453364468137867474598385262162497773763762555999819816973264656968\",\n \"0\"\n ],\n \"11483753020263341093002175257741677354194313332368972431780717365452810767225\": [\n \"18951900246025612463341934739938711608021062195316695154128986476536084593335\",\n \"0\"\n ],\n \"10248734672848901236662492690377074491823572244680273878965102862357628686427\": [\n \"11483753020263341093002175257741677354194313332368972431780717365452810767225\",\n \"4419090360167359489020760958126813263460849378702155998468280680898275445439\"\n ],\n \"11597953601256619964285405266379173346565357331516946524656421259119542953878\": [\n \"10248734672848901236662492690377074491823572244680273878965102862357628686427\",\n \"1561335467892077635911214807848700798073169030041948388914808452437397000340\"\n ],\n \"13453010048756134310061805993865631914258885558217396985311488197492087280341\": [\n \"6893313050004146506636398164839871957141124072317214509224931776488431597507\",\n \"1\",\n \"1\"\n ],\n \"18621858631913006690053761193594224298545573517883527424341158707448154156947\": [\n \"2084165719557998044170949867713929436815187392665573546887649522215738217882\",\n \"13453010048756134310061805993865631914258885558217396985311488197492087280341\"\n ],\n \"20938274859871234430672837749463290861177055351099341200721881439476307480562\": [\n \"3928946613928134330626323735201975347450618934862121687949272604992444742853\",\n \"18621858631913006690053761193594224298545573517883527424341158707448154156947\"\n ],\n \"7302049561535587793465611197229868928422655358372655700591667935553504694117\": [\n \"20938274859871234430672837749463290861177055351099341200721881439476307480562\",\n \"8923465748755808651343497792021123785386672267772762393069517804630597408782\"\n ],\n \"7016447222290525148744134907089028882663150161723255571141368292833117431430\": [\n \"13936043932808422131303884631829978090154416491656812360702955339950524998729\",\n \"7302049561535587793465611197229868928422655358372655700591667935553504694117\"\n ],\n \"19115573579435593402261714396493443903357322557528598836080710994547513989448\": [\n \"6972411002764167332417174409027098679295504875617048763993914873465502247290\",\n \"7016447222290525148744134907089028882663150161723255571141368292833117431430\"\n ],\n \"8161338735774608620945891939283292240686630184745411557970615657236662598610\": [\n \"2813942935851352911006015037258032638105030194790180178350694086499345321825\",\n \"1\",\n \"1\"\n ],\n \"7285415771524624008681248987801694530572649890657767241083544792789129080405\": [\n \"8161338735774608620945891939283292240686630184745411557970615657236662598610\",\n \"9472464422800963977033692581426209019830155172275289011836199586893266173960\"\n ],\n \"16962177237921821633715640373855304757913986891719906325952313696918818615928\": [\n \"18372914200178941728267322616794740717540324746688983229020693211012722071707\",\n \"1\",\n \"1\"\n ],\n \"16264874084637153588271032625776394035985198921294883982240437814822614899275\": [\n \"16962177237921821633715640373855304757913986891719906325952313696918818615928\",\n \"17835875818200185747277343999503986714205504480268394024420970819806879863192\"\n ],\n \"4759575245125177359406544340982575354333919608903183630617187730811705250644\": [\n \"16264874084637153588271032625776394035985198921294883982240437814822614899275\",\n \"0\"\n ],\n \"11698749497820035414028079718142513882868349653132805864387234458450102405235\": [\n \"4759575245125177359406544340982575354333919608903183630617187730811705250644\",\n \"0\"\n ],\n \"4828228314575919759483983026012297300004364479793927734311920073258211422705\": [\n \"18407885331553198509429525271488442597536028834998959496795407520269280459962\",\n \"11698749497820035414028079718142513882868349653132805864387234458450102405235\"\n ],\n \"3847075294566631649748992261587082160273183595227791150408447522247836825130\": [\n \"8914836720945248698589799274259137356693775180156334736891936625607280105632\",\n \"4828228314575919759483983026012297300004364479793927734311920073258211422705\"\n ],\n \"17998688452907846556946107069014228824049255098583405094039872936021491016935\": [\n \"12057839550594555047306839498642673007322040712737023161762651297260077828573\",\n \"1\",\n \"1\"\n ],\n \"13453964602876681790070176837486713985289711802820742728379309372437278464079\": [\n \"17998688452907846556946107069014228824049255098583405094039872936021491016935\",\n \"1444210877423136405634443929748600111654444241571342991460887897437883129928\"\n ],\n \"14093305173695312468059103130384801324352737866316947880381925830072543024571\": [\n \"0\",\n \"13453964602876681790070176837486713985289711802820742728379309372437278464079\"\n ],\n \"7423653242669686498403799570997543983387102237534629335789383934077177757837\": [\n \"0\",\n \"14093305173695312468059103130384801324352737866316947880381925830072543024571\"\n ],\n \"14517964398144090762860437812432173798030815883866184524514005774315055507300\": [\n \"7423653242669686498403799570997543983387102237534629335789383934077177757837\",\n \"0\"\n ],\n \"19381457474159523588574166429267679367085849867029789555101352968869419956448\": [\n \"14517964398144090762860437812432173798030815883866184524514005774315055507300\",\n \"0\"\n ],\n \"19442163273583217960743871359730981532278758740108321884173523513618760639828\": [\n \"0\",\n \"19381457474159523588574166429267679367085849867029789555101352968869419956448\"\n ],\n \"4739485991459570666929368830101576658300957353880090802990919342037155044440\": [\n \"0\",\n \"19442163273583217960743871359730981532278758740108321884173523513618760639828\"\n ],\n \"19579535382691780447063169096088740827334127525783103490874651812928133073659\": [\n \"0\",\n \"4739485991459570666929368830101576658300957353880090802990919342037155044440\"\n ],\n \"4292119227462468650941337389287646956778766587024062466202544704471047275446\": [\n \"0\",\n \"19579535382691780447063169096088740827334127525783103490874651812928133073659\"\n ],\n \"12216094574180797656864044389661784212358988216771362351643078060005540380066\": [\n \"0\",\n \"4292119227462468650941337389287646956778766587024062466202544704471047275446\"\n ],\n \"17395735835012617627623185640643718129831925666667869488533529481559717184164\": [\n \"12216094574180797656864044389661784212358988216771362351643078060005540380066\",\n \"4216164672948977098450457771931964424822690932070454761260620836695705111321\"\n ],\n \"1174731131238684087041871786030346907474932124871368494246909746964935590672\": [\n \"17395735835012617627623185640643718129831925666667869488533529481559717184164\",\n \"12050804077283843514972433250026599290235965623768510796218279963430650787068\"\n ],\n \"14332642322884836613661655000558059715132203620383408925847647278273861811417\": [\n \"0\",\n \"1174731131238684087041871786030346907474932124871368494246909746964935590672\"\n ],\n \"1141251431103164013338890987515327772283653831409001349611552525161229512957\": [\n \"4429133973657870866539074504006992209217878472398140997354846003142365327568\",\n \"1\",\n \"1\"\n ],\n \"16079880462962841175833208571533004830478927733274973979480188807625286919846\": [\n \"908572688514969553817261762440532866498863793972190425043125944039715297723\",\n \"1141251431103164013338890987515327772283653831409001349611552525161229512957\"\n ],\n \"9694392101414404378699415405819782086004705462686681445965545041780080151145\": [\n \"16079880462962841175833208571533004830478927733274973979480188807625286919846\",\n \"10573993404465958940028310124743919146693202983520807486759916863217345102745\"\n ],\n \"1090739970117447729893235771486398311192620376671266577023010418248010846264\": [\n \"9694392101414404378699415405819782086004705462686681445965545041780080151145\",\n \"12914163056500968157107446305912321514986666191339503178874194515228930802491\"\n ],\n \"18815568846628728425020395342917868588888693970363573475727679587855429613505\": [\n \"14814660058539540287662871707856734196605624811965453850811990231428301326677\",\n \"1\",\n \"1\"\n ],\n \"805152970242047005879135519069519313763860691450832851476813625741452869363\": [\n \"18815568846628728425020395342917868588888693970363573475727679587855429613505\",\n \"19127774501604121203799762645144616067210836643385100672271475425712234817561\"\n ],\n \"12558641277803373297584346103888346546896263959983805193156355511818890517248\": [\n \"805152970242047005879135519069519313763860691450832851476813625741452869363\",\n \"0\"\n ],\n \"10748631569923793760292629282734094106000768917943064254993217387071762167615\": [\n \"12558641277803373297584346103888346546896263959983805193156355511818890517248\",\n \"19776661421393101670911830456714553416629987336150540965978359779187507004285\"\n ],\n \"18726567624426393955295632912110521945126517364108848519010766734228937223576\": [\n \"10748631569923793760292629282734094106000768917943064254993217387071762167615\",\n \"4616883253520836128960047470858451396927313523079336854839112326894932029900\"\n ],\n \"15702941143423076731702628612818065255081233954195102181568267925635136548941\": [\n \"0\",\n \"18726567624426393955295632912110521945126517364108848519010766734228937223576\"\n ],\n \"1413911796133824621849461543113562789459005099285280404906341157959111105049\": [\n \"15702941143423076731702628612818065255081233954195102181568267925635136548941\",\n \"16179924147935799233402404928649815991269481660497232770032196242059089417041\"\n ],\n \"1516394651657797679991738048766861064346520205334934396928600101327203010073\": [\n \"1413911796133824621849461543113562789459005099285280404906341157959111105049\",\n \"3336164066061463922068732950818137613307687988906917122082418430216054128114\"\n ],\n \"14353746814913460666063958040049674916120741773355337743221562172094884866278\": [\n \"10672649189296163637785259494353133245165533292652921109678252522741765151038\",\n \"1516394651657797679991738048766861064346520205334934396928600101327203010073\"\n ],\n \"14937903991070558460887496009219932501533038723792098573816707656800674711915\": [\n \"14353746814913460666063958040049674916120741773355337743221562172094884866278\",\n \"621970161365784378822864916792015793153033475987363119448659616410502998241\"\n ],\n \"12105044764993652770961793350119454628399054493467402288470761655733953610479\": [\n \"2815031935343109541452625294830497309148020005528167373098746525508784088220\",\n \"1\",\n \"1\"\n ],\n \"20226065360467326839824184879511408428846751366533590666460908639182927461346\": [\n \"15363720420770495736935249056788734477846535425415996204312826378368020857536\",\n \"12105044764993652770961793350119454628399054493467402288470761655733953610479\"\n ],\n \"3272482840962858827915604048514606010500314554785119483704280964522180818820\": [\n \"0\",\n \"20226065360467326839824184879511408428846751366533590666460908639182927461346\"\n ],\n \"11387257298572577415592847297617923504353422791260807720390130290893036059607\": [\n \"6607110419229258988092292579942984093904478413940324712984035194534168004925\",\n \"3272482840962858827915604048514606010500314554785119483704280964522180818820\"\n ],\n \"12684645317871523656710165234688017562731084858733699514183403656787902387053\": [\n \"11387257298572577415592847297617923504353422791260807720390130290893036059607\",\n \"0\"\n ],\n \"5766272990194121576592959037280396351087219785173011999968208726312566563515\": [\n \"12684645317871523656710165234688017562731084858733699514183403656787902387053\",\n \"0\"\n ],\n \"8265399775955700153961220761878676369396599591836167228776909243503325275814\": [\n \"9890220103133819499148946996681881687547441230966451121748445785919395993037\",\n \"1\",\n \"1\"\n ],\n \"5726690729424970252182064652438017290207994939891720613042988805405293875094\": [\n \"8265399775955700153961220761878676369396599591836167228776909243503325275814\",\n \"16791413423451521720215787141571753608764988325885939862085573872461613217796\"\n ],\n \"7240808501495224589425001614184492523715577016516898357913030234777001866022\": [\n \"8506909208872982834694799095166437429258110436060194784636797281663120029988\",\n \"5726690729424970252182064652438017290207994939891720613042988805405293875094\"\n ],\n \"16691840589271019071212498589699262569205431485179594168087740635352277650480\": [\n \"7240808501495224589425001614184492523715577016516898357913030234777001866022\",\n \"397725738634988829577828349101319125121831715959295036520073679581402997758\"\n ],\n \"6221039120807590887965876054724560229143309440458151258560018188902856149460\": [\n \"6836048664756970656703714752524776592731443809700304535021532494826013038736\",\n \"1\",\n \"1\"\n ],\n \"18138458316388630153844931408496652291567339796628543403142772761337273403504\": [\n \"17148416211131811032532768347651110291813169030415760294619435085134465864873\",\n \"6221039120807590887965876054724560229143309440458151258560018188902856149460\"\n ],\n \"8492832741251754806578174959165608368587280189790316131997990527624643573833\": [\n \"18138458316388630153844931408496652291567339796628543403142772761337273403504\",\n \"6155620336548746102012869762428463502311654644182119180645735582814247401768\"\n ],\n \"14741565777420730751120362837927262301021367396511225693346128958841193201722\": [\n \"8492832741251754806578174959165608368587280189790316131997990527624643573833\",\n \"0\"\n ],\n \"7925448866262434946674780122179890020833762488534717276320812882717649203196\": [\n \"0\",\n \"14741565777420730751120362837927262301021367396511225693346128958841193201722\"\n ],\n \"5538341308911023039949610579180242531292474521799896858702587193580783704525\": [\n \"0\",\n \"7925448866262434946674780122179890020833762488534717276320812882717649203196\"\n ],\n \"2469390014545558031336351721882947181005100203937172018331335584547578164645\": [\n \"2338871282821455947627487721578116396061408099589945962756393025205836285374\",\n \"1\",\n \"1\"\n ],\n \"11468691840195417082766789321501916940086971608785661924851579905979086865007\": [\n \"2469390014545558031336351721882947181005100203937172018331335584547578164645\",\n \"20929857591323333087761702593275187746741464790596784887217917443843372133923\"\n ],\n \"14818502751251962402937317005286862073780462440035158921433910854389125570573\": [\n \"11468691840195417082766789321501916940086971608785661924851579905979086865007\",\n \"8514775209279781452943945656542908042087441097447241306537970004860924351672\"\n ],\n \"17876246033981716495842471389591593731912833337120901886873242413681422460744\": [\n \"14783350806179701212736588492869332344276697372350127651418512556937544261669\",\n \"14818502751251962402937317005286862073780462440035158921433910854389125570573\"\n ],\n \"4931335351140102383513583107820608166877296256506176761106839273190625233816\": [\n \"17876246033981716495842471389591593731912833337120901886873242413681422460744\",\n \"20364901156057493475272524822880086145863148537463703772048065031775195249958\"\n ],\n \"19790590226073056956813990250248246412837430038048796848678470755375786659901\": [\n \"17910907868081629294895947649715050830767061035013598755930478989832224186771\",\n \"1\",\n \"1\"\n ],\n \"4203356202151013052145850829516458992777362357049308977455483003018558180385\": [\n \"19790590226073056956813990250248246412837430038048796848678470755375786659901\",\n \"12428010214633480087387883256158377784293132422288937777709895121662117389098\"\n ],\n \"9389158592043800249948952450507984214811475894834678241611768441622401930309\": [\n \"4203356202151013052145850829516458992777362357049308977455483003018558180385\",\n \"9592027463469078189505314757236841653466559110910814880539016094833587483970\"\n ],\n \"17506811121092622386356625894242689535993343423093856625748014122045743891083\": [\n \"8003215096216195195578624168238836555527607552223218679064154957159835604123\",\n \"1\",\n \"1\"\n ],\n \"2212477866183243924946147230630593329139874983404511132161531768442599855572\": [\n \"17506811121092622386356625894242689535993343423093856625748014122045743891083\",\n \"9565729973865250693924572208458252754873321606602396453632686875507800836352\"\n ],\n \"10555486399815079586409350114397043109411015171941524419305381033550039764709\": [\n \"0\",\n \"2212477866183243924946147230630593329139874983404511132161531768442599855572\"\n ],\n \"20872370392006955579128767776015108273820974437233745023452918828059933180687\": [\n \"10555486399815079586409350114397043109411015171941524419305381033550039764709\",\n \"14345191615946013513467659654090933779732127307333214468520004148498438215933\"\n ],\n \"3145072628456054094968074856356560153279249915424686866440155214558467348834\": [\n \"3847075294566631649748992261587082160273183595227791150408447522247836825130\",\n \"20872370392006955579128767776015108273820974437233745023452918828059933180687\"\n ],\n \"9456781449632444457950694482912856942019424137988981172143472644616355802910\": [\n \"3145072628456054094968074856356560153279249915424686866440155214558467348834\",\n \"543878748610295642041283952036373806146853444449436620210965959937382184031\"\n ],\n \"14518539383338511076433243759546720900085992177610423962341361077117521095457\": [\n \"9456781449632444457950694482912856942019424137988981172143472644616355802910\",\n \"9455867904558800257864507783601725973071987483799569161083688752569546561003\"\n ],\n \"13007264064013018567881462707227383107891657287347476470092926980414861370745\": [\n \"3866872713906052760554881656026029372751459507404299419224027256180504345695\",\n \"1\",\n \"1\"\n ],\n \"14051099237845682759328651082251035878427453181614975634176784232940032620754\": [\n \"5743915528799732556661348716339829644579430853873070648890669129881673148705\",\n \"13007264064013018567881462707227383107891657287347476470092926980414861370745\"\n ],\n \"18509294349581411718065968720696500304144848997657679874822674544467121387365\": [\n \"1958725387240729089403493058423744754224910189075615946913106457327589745077\",\n \"14051099237845682759328651082251035878427453181614975634176784232940032620754\"\n ],\n \"15557522309764801660805671155906799683626418147448646329247620496132111037537\": [\n \"18509294349581411718065968720696500304144848997657679874822674544467121387365\",\n \"9602972352253300953242578477098731089544540917532868740609697165791324825390\"\n ],\n \"20346270891981759731857998178349365574927894578330221331675607575384665310428\": [\n \"11896632456545533001052362611200933369057213534864664265413009752270158947625\",\n \"1\",\n \"1\"\n ],\n \"3119600944159701465671107906369557272526018166756616063300574648536138689723\": [\n \"5036947158270951828365449317732062620215758493686328606857982440534444364741\",\n \"1\",\n \"1\"\n ],\n \"145312256900085802853261898225083052986445337045922600808831124431903454377\": [\n \"18849858666259565036352984238697034503766584323085409720606945233905535969175\",\n \"3119600944159701465671107906369557272526018166756616063300574648536138689723\"\n ],\n \"13976711664106142881377705155492600493005823785689001823606343183765345856705\": [\n \"145312256900085802853261898225083052986445337045922600808831124431903454377\",\n \"14484927988635239679739944956008072361068680362378209313002252655135808079212\"\n ],\n \"3649223540789866407432512651565879020491318422200974136770802644339372552333\": [\n \"13976711664106142881377705155492600493005823785689001823606343183765345856705\",\n \"12265644562219997227670743488190953952954483557787363562716068870635645456495\"\n ],\n \"14949915418350609733305869886070479915650225878107912578425563747109891629441\": [\n \"18345300034490545321011806816262421866431012868687890036909558566625139193139\",\n \"1\",\n \"1\"\n ],\n \"17123202043824490124335539158647441940762895601187599005754957720412392473210\": [\n \"14949915418350609733305869886070479915650225878107912578425563747109891629441\",\n \"11233531853020737097042707239539242035283478642342383141171699767005917890298\"\n ],\n \"3383863233728712507637168022115558669176751730194137329164476124944991961999\": [\n \"20646747538083563883397903803267485563855045488995451752521254561554865131510\",\n \"17123202043824490124335539158647441940762895601187599005754957720412392473210\"\n ],\n \"6714123983493280646856860065145545453827245826008051973923208686620272772383\": [\n \"3383863233728712507637168022115558669176751730194137329164476124944991961999\",\n \"18739204368256403068603849404830886560509480030290977579950316255901110373376\"\n ],\n \"18762781217278856825715516304322411193414463341578394472399854972340277156894\": [\n \"13037202279486477815996053954080823729692662609931678316133787334691703214864\",\n \"6714123983493280646856860065145545453827245826008051973923208686620272772383\"\n ],\n \"5324034325860145114091472474767301809670272139346427888622697592781661274105\": [\n \"11871988800440547186347512038471140594958631456176871362927925414172941204624\",\n \"1\",\n \"1\"\n ],\n \"6586561788647820688103067035203318174908920313643829521080167798551281226115\": [\n \"12637399024931075540626066435061639142483805583487119337732791159485025953809\",\n \"5324034325860145114091472474767301809670272139346427888622697592781661274105\"\n ],\n \"15900656442349299030340178403447744452379803820189156539982261142106672655169\": [\n \"8055943448958999756422842909718450430619613910855807979666942031541738817318\",\n \"6586561788647820688103067035203318174908920313643829521080167798551281226115\"\n ],\n \"17038614696603870018760731452991646745194657684601904955177985725831818009099\": [\n \"5538341308911023039949610579180242531292474521799896858702587193580783704525\",\n \"15900656442349299030340178403447744452379803820189156539982261142106672655169\"\n ],\n \"5189208762424556030076725660532054044058575090834655252267134735448802657433\": [\n \"10146607202436384431641188899128302817699251569278811222866750956365532893447\",\n \"1\",\n \"1\"\n ],\n \"11154962364856285979534764485347188100965905299741880783909548534480578911207\": [\n \"5189208762424556030076725660532054044058575090834655252267134735448802657433\",\n \"4705116485604380532272323579660280808596203433704422181769390720846170047252\"\n ],\n \"2401714232209146302333327280881898350128569619666673749193196977416409954993\": [\n \"11154962364856285979534764485347188100965905299741880783909548534480578911207\",\n \"0\"\n ],\n \"6396425327705411660912323197629680292984792715485592566902821769159305770470\": [\n \"11479182420013283242985532607555667166471881476751177288283236632266098256894\",\n \"2401714232209146302333327280881898350128569619666673749193196977416409954993\"\n ],\n \"19771283388653951841337121865381303771771546445347666073949514966620235800286\": [\n \"14551043003259021842003778903596077484151719880229381418827026012347361020527\",\n \"1\",\n \"1\"\n ],\n \"2057205996276761204970208240932725662872035089073438549209187817006997624030\": [\n \"19771283388653951841337121865381303771771546445347666073949514966620235800286\",\n \"1982333381338043260946722716157920236161104002935582025792628999758471204691\"\n ],\n \"9320458054459361586767797469361761654665478096134308084274029831752152551083\": [\n \"8722125773549009426595386774829716507829861756551116718871282513632494704254\",\n \"2057205996276761204970208240932725662872035089073438549209187817006997624030\"\n ],\n \"8846015393792808977489172299028497317500398254036838887692415823824867545507\": [\n \"9320458054459361586767797469361761654665478096134308084274029831752152551083\",\n \"11062987172241798645436571710421980129795183277890714896130571079013461654632\"\n ],\n \"11553784240491902198585245809862214285976506831537708665056157574745635737053\": [\n \"12401722214364367009957408635416884041886960628075817578858391816537483902450\",\n \"8846015393792808977489172299028497317500398254036838887692415823824867545507\"\n ],\n \"1859409859191252874408101939824363091640377945198662011427779714391464596302\": [\n \"21196689948790315259570985921374564111214205969422224142254954806702545960742\",\n \"1\",\n \"1\"\n ],\n \"9438918697537132951234528461286537341075299430061159445710169552544266806394\": [\n \"9591809401897759048246898122456977786246841905266150613058493599494259375708\",\n \"1859409859191252874408101939824363091640377945198662011427779714391464596302\"\n ],\n \"5226493548660967023305946664618608384001547099917246052143984409034961559309\": [\n \"0\",\n \"9438918697537132951234528461286537341075299430061159445710169552544266806394\"\n ],\n \"183477535018527424954885809613199013533378845058112415249012095481659055580\": [\n \"0\",\n \"5226493548660967023305946664618608384001547099917246052143984409034961559309\"\n ],\n \"175536510291512360749738778268266129133305733053387814655018280157037845292\": [\n \"8596863241599992233264751708270277196102647357252398263457614213040924028945\",\n \"183477535018527424954885809613199013533378845058112415249012095481659055580\"\n ],\n \"17632875553796477546773994061580662473115000374808002632989045074766943604138\": [\n \"625361519961697742663830502178822401006611826262660707708664632906008727068\",\n \"175536510291512360749738778268266129133305733053387814655018280157037845292\"\n ],\n \"9410963924684311057840077934953577740427920744197790941811356597326258926287\": [\n \"8734330699313341645171987541810680820067888256540184284652475753425295605812\",\n \"17632875553796477546773994061580662473115000374808002632989045074766943604138\"\n ],\n \"14002829859025157206006225487260057488939199887092859824295499885112870628303\": [\n \"13967547608513050245507016676130917711150862526770477148938573251055801459226\",\n \"1\",\n \"1\"\n ],\n \"13676363036022351079417682434114536325661854791745364000176697834648589666759\": [\n \"14002829859025157206006225487260057488939199887092859824295499885112870628303\",\n \"539494052782391013798746138543042507371925215681686441656386089744859720661\"\n ],\n \"12516929849989068732423891140968654093082413807540830754622351263352946226177\": [\n \"0\",\n \"13676363036022351079417682434114536325661854791745364000176697834648589666759\"\n ],\n \"13178427521087144804501687359441892591567114373531387008663414274711824741859\": [\n \"0\",\n \"12516929849989068732423891140968654093082413807540830754622351263352946226177\"\n ],\n \"3549281520729426134689020050489137485680766343750223084368888283810985781908\": [\n \"0\",\n \"13178427521087144804501687359441892591567114373531387008663414274711824741859\"\n ],\n \"18834114269362025737749972375948468773610500876459569818008036584617915137871\": [\n \"19584562444714622032649822360862067005979569279014232318610882577661237895611\",\n \"3549281520729426134689020050489137485680766343750223084368888283810985781908\"\n ],\n \"168615374958633388366718781998531855844142344218513826687659292111243241394\": [\n \"18834114269362025737749972375948468773610500876459569818008036584617915137871\",\n \"8054040458583563792626118790558986866426238578690967655382268633517283133367\"\n ],\n \"1407814064220594880965448252392847943976918313293267100400172030120410843134\": [\n \"168615374958633388366718781998531855844142344218513826687659292111243241394\",\n \"5521109956117325406058631103334794374530453402845118267374041269728898456494\"\n ],\n \"1465733432929935157141754019134722709208985464942595169088798325417258147570\": [\n \"1407814064220594880965448252392847943976918313293267100400172030120410843134\",\n \"18428517314613831334771975391505647511597029930942724560963879687967043408215\"\n ],\n \"1167936824310702222792380002536362591306626110248268260269835714695789013481\": [\n \"5704454487711926025314580710074971676745775690886664311057877807977402997581\",\n \"1465733432929935157141754019134722709208985464942595169088798325417258147570\"\n ],\n \"3322994919687922095070385554155011174369238292735468443624010602391820258349\": [\n \"1167936824310702222792380002536362591306626110248268260269835714695789013481\",\n \"18953761922733397759134786812723748354193775809005688079994050863630784473306\"\n ],\n \"9152832760815249769937662942744295080500387119999441666772456201109198869006\": [\n \"4578993656835556002176148008364516985375542201934324900695436008009203697334\",\n \"1\",\n \"1\"\n ],\n \"20438736355755100793739005579587594004124136759785231644117029692398027762485\": [\n \"9152832760815249769937662942744295080500387119999441666772456201109198869006\",\n \"1869462066745815070678501869848791015650390134188384704068365990071853834890\"\n ],\n \"5292181536252570251113059230566867255662246931710582330900320394805712251478\": [\n \"20438736355755100793739005579587594004124136759785231644117029692398027762485\",\n \"902822327266369362116748121253022828666877328988625421175902338656054968687\"\n ],\n \"14588189582450519020787684924857856613470613916608043549599208433798364348868\": [\n \"14285742829648797898433094784978905557109682083856731191073893974984189283241\",\n \"1\",\n \"1\"\n ],\n \"59297516451656646303028514872280507190791922244419310560764469849808727172\": [\n \"14588189582450519020787684924857856613470613916608043549599208433798364348868\",\n \"4018194780084208257395008099512754420413666344480893684910096063654945551085\"\n ],\n \"7772603064577954891404355389596680716786461771151772461442127115548040887069\": [\n \"59297516451656646303028514872280507190791922244419310560764469849808727172\",\n \"0\"\n ],\n \"16771244751526544261259203425626201595085952876643796158781227126019186981135\": [\n \"7772603064577954891404355389596680716786461771151772461442127115548040887069\",\n \"5193721936002259990712600326517374157859806186524063327064642778327443554806\"\n ],\n \"10012888192161638475963986790470804331370409587045885514166371016157425993298\": [\n \"16771244751526544261259203425626201595085952876643796158781227126019186981135\",\n \"0\"\n ],\n \"14485752450398279481721322555716342171882666590406945783676013385872107926800\": [\n \"14869938215754054766969792300606056900501463340670600455004269829261140559561\",\n \"10012888192161638475963986790470804331370409587045885514166371016157425993298\"\n ],\n \"1304344802857580362523779277018084499833068960733301515549533127971319195609\": [\n \"14485752450398279481721322555716342171882666590406945783676013385872107926800\",\n \"5672211758214767135131370637865146309973765882742639844568570241543539541081\"\n ],\n \"21052155976695706465850300646733365342566294343684758727053610509174255513993\": [\n \"14627243645918350866000668487140695779198783417232782996404480940312808235012\",\n \"1304344802857580362523779277018084499833068960733301515549533127971319195609\"\n ],\n \"11223698929274235551016390082819585121878223575765592710919171199745291813144\": [\n \"5097072185716348541536145327293784055955688959970608173639521331117429484072\",\n \"1\",\n \"1\"\n ],\n \"2546081839930657959182352221711368382679865443245334020038357370860733387512\": [\n \"13137074931647699400580101475119467587571196953651830491729018122303769873470\",\n \"11223698929274235551016390082819585121878223575765592710919171199745291813144\"\n ],\n \"16920125390520463062743439496497385589047441096964644185386083564083971299821\": [\n \"0\",\n \"2546081839930657959182352221711368382679865443245334020038357370860733387512\"\n ],\n \"8945818396599865644592981776005668241767391530587124852814541334261462083634\": [\n \"16920125390520463062743439496497385589047441096964644185386083564083971299821\",\n \"3280739402180729599457836125999130834121026291748244844165691223047108369518\"\n ],\n \"717382693788375873328968835542245698198302371353436368250505305529502337654\": [\n \"7447739727375532227521918252136859073161658745094627758111971171955494856514\",\n \"8945818396599865644592981776005668241767391530587124852814541334261462083634\"\n ],\n \"6243587575364473966920953115293935475858159066080935031404661598987428988336\": [\n \"717382693788375873328968835542245698198302371353436368250505305529502337654\",\n \"6817991850348718027438845814395664014836220674904120722213128647129601356261\"\n ],\n \"4585431150670374839377043542720558954735767781823202926835708385188121524923\": [\n \"14153579289769024728933872534965338216091573220816393648923063199533773596694\",\n \"1\",\n \"1\"\n ],\n \"11574038382578268324465397365269622604730952412841853904642492537664624453382\": [\n \"4585431150670374839377043542720558954735767781823202926835708385188121524923\",\n \"6031188683885853552670047035124857152947886159716563011399001391280615337722\"\n ],\n \"21538718756193895188078706119325962723437224960077496755607260447934772523498\": [\n \"11712564864980959908941826888190317019316048634566815837945605024876632142386\",\n \"11574038382578268324465397365269622604730952412841853904642492537664624453382\"\n ],\n \"3425733224397145973058408712163110789041813523981207094150577216972722095793\": [\n \"21538718756193895188078706119325962723437224960077496755607260447934772523498\",\n \"15031297530799761270997574579585819564484857907058853552523233381962871657109\"\n ],\n \"6928448651992919636404854269425816671158686113453372903275676179820004268205\": [\n \"3425733224397145973058408712163110789041813523981207094150577216972722095793\",\n \"7655505234319025200429450315645498297155176672315868239101932894850620619877\"\n ],\n \"13211890002884818703977617359243580942556634259719136912310665636472866560058\": [\n \"17420227558523623184451774976608264467831264420204543814512349566219226887215\",\n \"1\",\n \"1\"\n ],\n \"15288233532850075225904368415243079252397980569680721281739939938613554938697\": [\n \"742831293921728084548510161610161835142731836653968240078551846003184569764\",\n \"13211890002884818703977617359243580942556634259719136912310665636472866560058\"\n ],\n \"6295058147791224765693761093307935622097850184119396307470826515123378913626\": [\n \"15288233532850075225904368415243079252397980569680721281739939938613554938697\",\n \"1840874320989181767368865984282189876699435517398851134786489310530689715343\"\n ],\n \"10012078728074273692116209103958532712372424058641591249567318412038339242940\": [\n \"13625498354125127805599387674498074754754599317572547927538889443975446734939\",\n \"1\",\n \"1\"\n ],\n \"9406488152637471320015311581316996615824839914893081465260741936732267921238\": [\n \"2968384758788887497652805493578222949849662223766366407883587650101634196228\",\n \"10012078728074273692116209103958532712372424058641591249567318412038339242940\"\n ],\n \"18686060229420142103036001240368468018574249128371978582143383519347828884562\": [\n \"5332920037753220097526525099584511856227050851325807641842474782453484012597\",\n \"1\",\n \"1\"\n ],\n \"123159629977804205481850201411493988000602903500734155762361401414356658477\": [\n \"18686060229420142103036001240368468018574249128371978582143383519347828884562\",\n \"11965592379945938340314465162687191215475127588163720931573042885979023513476\"\n ],\n \"488086642608463379743784212314581061516211962255546240849606378882627385046\": [\n \"123159629977804205481850201411493988000602903500734155762361401414356658477\",\n \"21737449255885314210394715884158056803612360413205388201965014672584826197655\"\n ],\n \"20053471825650958003686412678925266125565554841229602731151020919256399719224\": [\n \"3354318460378461168922827344857051952170257862936377656838276226485242229302\",\n \"488086642608463379743784212314581061516211962255546240849606378882627385046\"\n ],\n \"15138499882167114748587246843523402046498584073250910927190407647642786471164\": [\n \"8295706083247816846157957787499934598820936427904310798952381677048228633169\",\n \"1\",\n \"1\"\n ],\n \"4052586198116275684139532775483973282160830837219540798291756908845954368680\": [\n \"15138499882167114748587246843523402046498584073250910927190407647642786471164\",\n \"21072428279504192451076963773752134629651221451946736484884086204076638812395\"\n ],\n \"3076143200022969763544196730369884577336978439811718678519833745734747526478\": [\n \"0\",\n \"4052586198116275684139532775483973282160830837219540798291756908845954368680\"\n ],\n \"10443146544992522256869533396886081038640167991010443190571771716656525258730\": [\n \"20802911749656274587030783959481850182775372417479066733391682701529040326664\",\n \"3076143200022969763544196730369884577336978439811718678519833745734747526478\"\n ],\n \"19998629076117964051365824235935945801571258415368583154610232078719169345634\": [\n \"10443146544992522256869533396886081038640167991010443190571771716656525258730\",\n \"14523814902742982198557140045479668285508362590602521272039970519945541460151\"\n ],\n \"18118160367141104580997746471190282241357709450143575121006822068526729797684\": [\n \"10473213191793623178707889789948518077716106084942876289414498782050474512858\",\n \"19998629076117964051365824235935945801571258415368583154610232078719169345634\"\n ],\n \"2254728549777565005457862596432731150395317028804037230451745008805907516906\": [\n \"15612460614017149252000090148012562378261058555921986393583328400454274259675\",\n \"1\",\n \"1\"\n ],\n \"4619613804698236303666519757861015092572473058598135284863668563713038027066\": [\n \"13524447557732835928228778483063290742073363711952390770826816425363116590534\",\n \"2254728549777565005457862596432731150395317028804037230451745008805907516906\"\n ],\n \"10643413017833976850070260594370244844217034023252148423896986001443349197208\": [\n \"4619613804698236303666519757861015092572473058598135284863668563713038027066\",\n \"207782753600610517386605826012252867740745515437225724613165219460956249997\"\n ],\n \"9603471078652418377797919237914888457447581701640020332061798170709897151789\": [\n \"15087566366839897984554961693876967315168288093696975554650812326396736469448\",\n \"10643413017833976850070260594370244844217034023252148423896986001443349197208\"\n ],\n \"19456334552693859927668824786037664856468502951275888629538967612604655079207\": [\n \"9603471078652418377797919237914888457447581701640020332061798170709897151789\",\n \"18999143965860589793723134358499204980852921862988302120667693679874932848648\"\n ],\n \"3547577301312579473882840869473394255644785913946930015101247044851446710790\": [\n \"19664424131805910676645835283065246031444734622771139668870307468533654666872\",\n \"1\",\n \"1\"\n ],\n \"1066704448250125827452492002771931902393765916012991252414692217808613391137\": [\n \"12234047073386313741431218762905328679067600032941599512934803310735993906592\",\n \"3547577301312579473882840869473394255644785913946930015101247044851446710790\"\n ],\n \"14595903021006756275253122064236843699352591349016149769771430980236273152407\": [\n \"20784626415540300511370923203600928820077259286333183121054770589526881832301\",\n \"1066704448250125827452492002771931902393765916012991252414692217808613391137\"\n ],\n \"961723524745341576460150536199160804673993302830507310823981905815129164609\": [\n \"10838580194000213096342896493840233785078429545135026440986519559498750056846\",\n \"1\",\n \"1\"\n ],\n \"17323611458707722200904598844287455300488401583329620797647838504603645990532\": [\n \"14586096093782250801238634864467065009255649230191933787921561240428044767966\",\n \"961723524745341576460150536199160804673993302830507310823981905815129164609\"\n ],\n \"320911274693478826903595756259364367938648616806437973694915673040588512652\": [\n \"7135621272518269648226537575377540487621207095271198940023023361956640653299\",\n \"1\",\n \"1\"\n ],\n \"6753900690496240740804223131993016255323880325907309813218817410600986221587\": [\n \"16752134694816920547734439292699521014674796717105962945695597946270634113377\",\n \"320911274693478826903595756259364367938648616806437973694915673040588512652\"\n ],\n \"4629850918710338581597175022405569338667475658377372326757267717195584651641\": [\n \"0\",\n \"6753900690496240740804223131993016255323880325907309813218817410600986221587\"\n ],\n \"16793848597873121227597244348517829619470035677082006362357520150273791474640\": [\n \"11154246390255232198997790451517497993718896606579715684587348386918370671670\",\n \"4629850918710338581597175022405569338667475658377372326757267717195584651641\"\n ],\n \"2597888581264552752978743909144527218329431027921902705213168301447060194193\": [\n \"6441464889830409999588709733177114667552157890250245559257418371735603347270\",\n \"16793848597873121227597244348517829619470035677082006362357520150273791474640\"\n ],\n \"18385380144427881794962687669464852979594409124825283923253846974602164847533\": [\n \"15679267890955417235633610914867453477669402322315407452936675736423440420190\",\n \"2597888581264552752978743909144527218329431027921902705213168301447060194193\"\n ],\n \"6798077147483084714407150211609769954383245115201334859572636528670102826184\": [\n \"16522140979528994661953880105323998279459950400065380399265142710178284780332\",\n \"1\",\n \"1\"\n ],\n \"21503477566706389652914668992757656273709626325818037901098307109606407661916\": [\n \"6035630239647439462165713383463469178104190769683322945513492387938030335319\",\n \"6798077147483084714407150211609769954383245115201334859572636528670102826184\"\n ],\n \"13876035298527747214334324279480488602031943165051525608685771885390713756365\": [\n \"3351531199273672559632196402012963575328572767312386993136253332499050142905\",\n \"21503477566706389652914668992757656273709626325818037901098307109606407661916\"\n ],\n \"1497774593700977759944681203201398734132874035185953766105330304612922611185\": [\n \"13876035298527747214334324279480488602031943165051525608685771885390713756365\",\n \"4807190521844455917744960653545585104757605740605602085328664238244672628545\"\n ],\n \"2681042436761395234835150384884273993963521215144863369243094383104938462247\": [\n \"15034289700911013949984364568258059840405173668928340055030755745951358365425\",\n \"1497774593700977759944681203201398734132874035185953766105330304612922611185\"\n ],\n \"12884077387693202076363634882813635535472182011108710477104777046866961801627\": [\n \"521073198685490405260757345654241655681206352085419568037972923239757217664\",\n \"1\",\n \"1\"\n ],\n \"21504001035881356056327396922456375498729856274229223577633296297347964109780\": [\n \"17041360169312670910153445007058230953969245903874897063336268123223261882917\",\n \"12884077387693202076363634882813635535472182011108710477104777046866961801627\"\n ],\n \"7609461392119624144367444965511753853471758307493278508980901537273375494488\": [\n \"21504001035881356056327396922456375498729856274229223577633296297347964109780\",\n \"0\"\n ],\n \"5105360471039482739413322601543867893590915413224772553668557331473818735487\": [\n \"19742450715078386793245570283619365745129742829409011998171757886530876514239\",\n \"7609461392119624144367444965511753853471758307493278508980901537273375494488\"\n ],\n \"8608270767439797314951090434952686291300949842129415456974293100375740874695\": [\n \"17556622352915908608356087757761218790406735987865719706792803558713524728266\",\n \"5105360471039482739413322601543867893590915413224772553668557331473818735487\"\n ],\n \"1516101122504604916840393014760998217542470228730799581003547891924022301045\": [\n \"13107234993883390798140755851104419684848874924469027567987401913246787555010\",\n \"8608270767439797314951090434952686291300949842129415456974293100375740874695\"\n ],\n \"10766026145095207412919041071256540999563430079508578833661225963899857738166\": [\n \"10099243273665499374643891761139940795237930746600633409816235035584972726724\",\n \"1516101122504604916840393014760998217542470228730799581003547891924022301045\"\n ],\n \"1957015023786871482777679217343748528269139512905689932278732920903554041333\": [\n \"0\",\n \"10766026145095207412919041071256540999563430079508578833661225963899857738166\"\n ],\n \"18230095653463652398135035560760578006612852861908222021021007421553652530645\": [\n \"9948590501567234881905523319688365602878007090231462904080853308556861372217\",\n \"1957015023786871482777679217343748528269139512905689932278732920903554041333\"\n ],\n \"16301012489036595269684967885607549960373044553421199556158870878086584526644\": [\n \"18231644208727489641942797625273121486768107869074766339050417058881617292517\",\n \"18230095653463652398135035560760578006612852861908222021021007421553652530645\"\n ],\n \"12047308238473499283589544529370862668528092635237786608676736562993513754488\": [\n \"6962497800001526706007971761099836520679721462395564178446326467350313789758\",\n \"16301012489036595269684967885607549960373044553421199556158870878086584526644\"\n ],\n \"235921987923829422024383439057690263841703742994970343425788143862326285011\": [\n \"19634228791013824293438650312640695248707718456724942579115282462592373480229\",\n \"1\",\n \"1\"\n ],\n \"1592291278535662302601436878757188483128224426382006370495978353888041798451\": [\n \"9132664989418957515252319069137338295203968623575728877812926668144158515324\",\n \"235921987923829422024383439057690263841703742994970343425788143862326285011\"\n ],\n \"6381239486176490063484223105174496053223974678444167246701677499602829405400\": [\n \"15300382295885436222135422007360923616873486835389366604527239131184048064152\",\n \"1\",\n \"1\"\n ],\n \"3308558092165500601233708080146990851067721124914339701094796714469305510878\": [\n \"5733519733743818828455806254376485852802520911117848908989383769999656587238\",\n \"6381239486176490063484223105174496053223974678444167246701677499602829405400\"\n ],\n \"17392441899141913003946589100768231712419995739005975270391037390114335670863\": [\n \"7718233199936908389788952835133797765056717863726051250090185732114497859199\",\n \"1\",\n \"1\"\n ],\n \"15723055557171782955963299875368177160918158795266057514642556405941956595532\": [\n \"17392441899141913003946589100768231712419995739005975270391037390114335670863\",\n \"11802051159431624110577856482223494983969527144499591419665092227901631972276\"\n ],\n \"16604647058294152130268144168854793337689433199773236407673271838847861026689\": [\n \"4119569251005985771590198929717430034361193464109779353331952569260884296682\",\n \"15723055557171782955963299875368177160918158795266057514642556405941956595532\"\n ],\n \"2786904558995385651741011587975028196369497667389552520555183110271314521240\": [\n \"1167308496149303858421943401543807662628927963648123619736895583601036160391\",\n \"16604647058294152130268144168854793337689433199773236407673271838847861026689\"\n ],\n \"10762977304367072857385635256243719265151065429343400233773211214716113461178\": [\n \"15374584103027208921310613003542021321336432573857120014561779124236852742818\",\n \"1\",\n \"1\"\n ],\n \"7866602639684917839457011507665450514310216520987679178175619454685913180049\": [\n \"4764564456708040798772532410232336374979182800788469385185752935099532757740\",\n \"10762977304367072857385635256243719265151065429343400233773211214716113461178\"\n ],\n \"1216957577479713745209434200873007677992721096355716770660550109943398888481\": [\n \"7866602639684917839457011507665450514310216520987679178175619454685913180049\",\n \"0\"\n ],\n \"5717704421955284447332041416463982056333045863998274739976316627878548139767\": [\n \"1216957577479713745209434200873007677992721096355716770660550109943398888481\",\n \"13282797335791008732261107638599269896959247625675750187930514722682409203421\"\n ],\n \"21780674616664159466648578716816035399246828001363238732884577717073837507303\": [\n \"13239766603804507716370421515603251769691795562270483291756765127314942739417\",\n \"5717704421955284447332041416463982056333045863998274739976316627878548139767\"\n ],\n \"12954451161232328595452233299734821280363127965206563558511408889981294302580\": [\n \"21780674616664159466648578716816035399246828001363238732884577717073837507303\",\n \"6075185634769606218530605605513953667153897249578299105531351930952763334477\"\n ],\n \"7421513346326950532536813317099292615124750593320708879397076168531791692911\": [\n \"14773540599218938506791773112423297415693838186495350188187772022558813379462\",\n \"12954451161232328595452233299734821280363127965206563558511408889981294302580\"\n ],\n \"12940868825082396282330398432809658420347556138411456228841720327565590544553\": [\n \"21165042052672203426575408700241788282535810826291584230057950543403258029491\",\n \"1\",\n \"1\"\n ],\n \"688178171490116012320713655129830631951862307300007065128624699178984743488\": [\n \"12940868825082396282330398432809658420347556138411456228841720327565590544553\",\n \"2553948726426164184686946427973244957412795282306005794406825918182280828573\"\n ],\n \"1299042366274381335165596733213164644764521725725463156236004961634675155129\": [\n \"688178171490116012320713655129830631951862307300007065128624699178984743488\",\n \"15762398541093187227518488713473012645700796370250768854570748828159892089286\"\n ],\n \"12799666343441785340392742296465558361472246858005304741421030486456005220933\": [\n \"592036578794554972834280246638612154767116906855835698066240603880513763747\",\n \"1299042366274381335165596733213164644764521725725463156236004961634675155129\"\n ],\n \"11596580174923150500592200818439847014021624692926837664706696789977255252534\": [\n \"12799666343441785340392742296465558361472246858005304741421030486456005220933\",\n \"12055085013744906751563926102097327161820189630412949507722531727984800284965\"\n ],\n \"14385957241401504497454883132762214301328984033470203896268415421242804796376\": [\n \"18129814571742232218398267062821689298511722716362025657833490874828795563317\",\n \"11596580174923150500592200818439847014021624692926837664706696789977255252534\"\n ],\n \"3705851958277518545195207439851248507162650066340629124048825511856010992476\": [\n \"18762781217278856825715516304322411193414463341578394472399854972340277156894\",\n \"14385957241401504497454883132762214301328984033470203896268415421242804796376\"\n ],\n \"14504568455710686732973974749595444851221184550884172827097047798826345665237\": [\n \"1622329415633751707747106386139793251978621328558304823148100017108890104348\",\n \"1\",\n \"1\"\n ],\n \"211163107140353793965661225912672010597124266111589781322361294305425888260\": [\n \"15013529997454362553398978009217973434754298648616568173959815144933163471927\",\n \"14504568455710686732973974749595444851221184550884172827097047798826345665237\"\n ],\n \"4354174326124221341017751687984646623756463132572750751784552381418273935983\": [\n \"211163107140353793965661225912672010597124266111589781322361294305425888260\",\n \"0\"\n ],\n \"18121812801521443164623493530466867465189081387761315083596608503872144078612\": [\n \"4354174326124221341017751687984646623756463132572750751784552381418273935983\",\n \"12919096816847653980053210694284022253484523035713469115466742760765395132096\"\n ],\n \"7107400533727334560762763051983893939783859807796540163506544847534253546054\": [\n \"7506533469903345736789197909867162361004612879560723049386918784338248958911\",\n \"18121812801521443164623493530466867465189081387761315083596608503872144078612\"\n ],\n \"19861330457850999492023397758503550242904335760272551990387236189488243301818\": [\n \"5137380657925733852410263502237898770654328821236732617003111791582223368982\",\n \"1\",\n \"1\"\n ],\n \"19159222713273322621946138828966299664638749497296361067089758883330367149592\": [\n \"19861330457850999492023397758503550242904335760272551990387236189488243301818\",\n \"18332690982507541504856669489205017932716569599043902602454815241797290275159\"\n ],\n \"13540696780380380780823835265361619944093544692812603235522647726982721814247\": [\n \"16365659786889190471763881101066192172532645860578593249133025280601079885693\",\n \"1\",\n \"1\"\n ],\n \"9555001857335393499094019484538032673032141916635782519629365477264462085789\": [\n \"13256822352197315854812743222904724104406600268393760871875702076795642788608\",\n \"13540696780380380780823835265361619944093544692812603235522647726982721814247\"\n ],\n \"16288133142931966356453190167480019763053115111800768347931788265506571360304\": [\n \"9555001857335393499094019484538032673032141916635782519629365477264462085789\",\n \"6755645906395939565076186460318991032688149410865035214798380412893749024010\"\n ],\n \"836273218928592892763823515088792461359492298699374852358562163886434279816\": [\n \"0\",\n \"16288133142931966356453190167480019763053115111800768347931788265506571360304\"\n ],\n \"7706901247732502240808216623310492398677559950294782931036712307549702965645\": [\n \"9667880479169594808193502819242210205255716517272896301339286008927560611272\",\n \"836273218928592892763823515088792461359492298699374852358562163886434279816\"\n ],\n \"4727387066476733234599370505101660426741254838368102194539607584018525007684\": [\n \"1428863353496104024555196957168457183279137159387654229422761214101095501343\",\n \"1\",\n \"1\"\n ],\n \"19935695921249301993537592150751741233918337827352472018608510152934301734581\": [\n \"3418839964149905824680433756677665475893670811438044566562409698404429641568\",\n \"4727387066476733234599370505101660426741254838368102194539607584018525007684\"\n ],\n \"20933033236767160517094489497152381866403458568818120181582257861415492754987\": [\n \"19935695921249301993537592150751741233918337827352472018608510152934301734581\",\n \"17970461813902791008870437759277852116259013131532599900033072630179141266150\"\n ],\n \"7666581878740646108008860976821405070150489557448770771175128001829983323876\": [\n \"20933033236767160517094489497152381866403458568818120181582257861415492754987\",\n \"14156821537473921365571241339110431875317976614602144998266362692088992779517\"\n ],\n \"10897309724267381578102762370858089507393526360190485828380625038668491896425\": [\n \"0\",\n \"7666581878740646108008860976821405070150489557448770771175128001829983323876\"\n ],\n \"1930441147885872551911678968983879163043741764392969873832387795241857980860\": [\n \"6888395340367631581341791803930315169353349858237790072880534009425962495375\",\n \"10897309724267381578102762370858089507393526360190485828380625038668491896425\"\n ],\n \"1379711602907678462417692033373417973133585198858366427929154265264659978089\": [\n \"4022429289573476868675096760556705508396481507332114660159287115682771167886\",\n \"1930441147885872551911678968983879163043741764392969873832387795241857980860\"\n ],\n \"6889882854470145186277161854286940365719280911275420718581809201828068756296\": [\n \"640476955024335103765131689543693444448427610998275386743292094740343937746\",\n \"1\",\n \"1\"\n ],\n \"465605323485183305843489023672004422510877475762358816575356154891690865839\": [\n \"12538742336648996368717329828286839379183892720671695337505380321828830983244\",\n \"6889882854470145186277161854286940365719280911275420718581809201828068756296\"\n ],\n \"19511299013723746056922614089667387302585075173790262060236114414887112617307\": [\n \"465605323485183305843489023672004422510877475762358816575356154891690865839\",\n \"0\"\n ],\n \"13340290477568011497705469546967412996938296614371069961476387211664190262482\": [\n \"0\",\n \"19511299013723746056922614089667387302585075173790262060236114414887112617307\"\n ],\n \"6104476729310700638339635265446426509080138651257767501220057730420326122344\": [\n \"302697600983360186539449388070934433045239730010244092906574940167572609133\",\n \"13340290477568011497705469546967412996938296614371069961476387211664190262482\"\n ],\n \"19751465248786550728887963559823095286874490210483019740480508778139035297845\": [\n \"4870161378977808865552190418912613566523817788987709450990102518532862402239\",\n \"1\",\n \"1\"\n ],\n \"11125816612446228218753933131003901859107424057555044537558942905771162469901\": [\n \"9400150024981709302039791696628075153036430026760188191526863669419919554927\",\n \"1\",\n \"1\"\n ],\n \"5872572854322884034255360332350259831777607168063535825343447345364657407570\": [\n \"11125816612446228218753933131003901859107424057555044537558942905771162469901\",\n \"16338289195555612128486151757041026790013073567689342440625497436535990296096\"\n ],\n \"16445445088041881521692188701350018461222613573850493911441776836599871851584\": [\n \"0\",\n \"5872572854322884034255360332350259831777607168063535825343447345364657407570\"\n ],\n \"14625207986919534721136698014398821007194829516401813766954939624254760812517\": [\n \"6858604946433347468056948980722419441535914101093117930963636754121335794093\",\n \"16445445088041881521692188701350018461222613573850493911441776836599871851584\"\n ],\n \"10728503917594556570420341721002327264310530070759348463548157732903137941216\": [\n \"0\",\n \"14625207986919534721136698014398821007194829516401813766954939624254760812517\"\n ],\n \"20662833408147621813069291482472301335358612331016710570655948658741097077520\": [\n \"10728503917594556570420341721002327264310530070759348463548157732903137941216\",\n \"5598646316347278808545763300979231168727739103053044337055889754709932791330\"\n ],\n \"1155123840829281779897375127603366360830309468162998928615298431266979213319\": [\n \"20662833408147621813069291482472301335358612331016710570655948658741097077520\",\n \"6240828831123413632511089746464473478663941348331701023442581009268564937559\"\n ],\n \"13868639526926050694214894233709577647536028853949640186425629353374358250151\": [\n \"11553784240491902198585245809862214285976506831537708665056157574745635737053\",\n \"1155123840829281779897375127603366360830309468162998928615298431266979213319\"\n ],\n \"15831067625591420227975631906848135321092760063121056890158601285720425830799\": [\n \"10017251999053255296344432507024305642013168483524629104145589494673755409691\",\n \"1\",\n \"1\"\n ],\n \"12852323016738495763409562207051631204498597194435803325395753699276982911013\": [\n \"15831067625591420227975631906848135321092760063121056890158601285720425830799\",\n \"14666550959463893358914586150540388968130331962148464199616515808793902105180\"\n ],\n \"9780413263845079680917910924411978597505531020035327593413007668581117418189\": [\n \"12852323016738495763409562207051631204498597194435803325395753699276982911013\",\n \"0\"\n ],\n \"10426251410687740969214697325203249584052554901588280565055734824878661802155\": [\n \"9780413263845079680917910924411978597505531020035327593413007668581117418189\",\n \"0\"\n ],\n \"11610753766739435001961991246100722329593737488247724070208653372125273563472\": [\n \"10426251410687740969214697325203249584052554901588280565055734824878661802155\",\n \"0\"\n ],\n \"19562222412025202610961889002632538981144034896102527494640922498726555421509\": [\n \"2076278362479178690477469418930807087162036127486664918397267804798466706952\",\n \"11610753766739435001961991246100722329593737488247724070208653372125273563472\"\n ],\n \"16231713606361781699872644895690017522253260314079624081356087779571291477011\": [\n \"1215376076678811633571178915941749196187894483250753858570876148001483591998\",\n \"19562222412025202610961889002632538981144034896102527494640922498726555421509\"\n ],\n \"18263650587426590360474827462401471876765237683171875708645208694349886458175\": [\n \"16231713606361781699872644895690017522253260314079624081356087779571291477011\",\n \"12654845459059167351983419532193441712902924273454104628515500978521001360702\"\n ],\n \"13075717788202452941322794230375300040519660909026076923772281418259202251646\": [\n \"5552600296194350329360340573593592447781202994404212260349335995976571573523\",\n \"1\",\n \"1\"\n ],\n \"8838675933466954517648281824900703094413164196330633377194336835224637588912\": [\n \"8130223184349623945877849629464932086616045729602939975316265533602205041991\",\n \"1\",\n \"1\"\n ],\n \"19385350559246717959121406311124284598665108108863239436199263026844506438691\": [\n \"15776874166436535173650142376751992117575069653416882964617271888235069711763\",\n \"1\",\n \"1\"\n ],\n \"5565412376242427189059276257015538452323304914259997684192399887237001489132\": [\n \"11295974812360791384038912691971105846049212054006150285198421125456268189752\",\n \"19385350559246717959121406311124284598665108108863239436199263026844506438691\"\n ],\n \"16309945771364688849428165097891005457298641232812585850370600785080667146371\": [\n \"5565412376242427189059276257015538452323304914259997684192399887237001489132\",\n \"1662286762752561391970959342852558179621634543677482987455340546822587448748\"\n ],\n \"15282911476815242837239964354062557761671665876223674856203068419251170189361\": [\n \"12972835024814142102747240680180256710829490444825872643169923408774069458336\",\n \"1\",\n \"1\"\n ],\n \"18061542090965778101422765186734630943705649018290672934116916066477519411022\": [\n \"15282911476815242837239964354062557761671665876223674856203068419251170189361\",\n \"12504670165010521951875569516204606133228071796519159334698043614341153762801\"\n ],\n \"17822666904271551511576707929656002960419631940740435266571349427160869922318\": [\n \"8084928657217676616534675693646673214529764509002829381529861851271508353529\",\n \"18061542090965778101422765186734630943705649018290672934116916066477519411022\"\n ],\n \"1794091308211828099716298242050087945100783543489710699303775047774019887722\": [\n \"17822666904271551511576707929656002960419631940740435266571349427160869922318\",\n \"17937349841929585243893742339201559173276028916077218418737705551385929252700\"\n ],\n \"16385949820907849407386879250759372254481212965028910521612647690664852153562\": [\n \"12211664334390281428812673025228683726883869558335517854235766348571888719802\",\n \"1794091308211828099716298242050087945100783543489710699303775047774019887722\"\n ],\n \"19975662318891281230019044690154182097915626193705890366313375367139936866262\": [\n \"12694050333759264818311259486281586621897397725992795454758763843069304159484\",\n \"16385949820907849407386879250759372254481212965028910521612647690664852153562\"\n ],\n \"13455592674354506038556691079474138238085009199080938544106275159079890736478\": [\n \"307900834335274518186840948757242032452690947148315126854505838205742207577\",\n \"1\",\n \"1\"\n ],\n \"16079898819546934185902691038857623233173607219592653811322574682798550834058\": [\n \"13994159736589004143721630343924795964886941782123750655104176836575436228054\",\n \"13455592674354506038556691079474138238085009199080938544106275159079890736478\"\n ],\n \"5609410173654240060839062651251814806260062790495671302385583958162422544753\": [\n \"7872296946744422915318905654777688877726525596383933235734584104635648030482\",\n \"16079898819546934185902691038857623233173607219592653811322574682798550834058\"\n ],\n \"8251947110831120784861122768830326279278497529410161999704437676999446658831\": [\n \"5609410173654240060839062651251814806260062790495671302385583958162422544753\",\n \"0\"\n ],\n \"901813362349390401745909687096408567574633835320790578171374535477173641608\": [\n \"0\",\n \"8251947110831120784861122768830326279278497529410161999704437676999446658831\"\n ],\n \"7583123914031852266697646495211682788239614394840832053745082315380326214538\": [\n \"7555821306788481762592156464143858144079296330730937743180753037415534695500\",\n \"1\",\n \"1\"\n ],\n \"9639065637154940813293181587730032147406124449710779514660561889934323788489\": [\n \"7583123914031852266697646495211682788239614394840832053745082315380326214538\",\n \"2730783595198979325825603929558780810502710571262193447902438156847507217386\"\n ],\n \"10133508943550885359229280710588787394258471848522682200743983642788251748178\": [\n \"8949930209938474770278580046061730369408238459457854291459968368195807833624\",\n \"1\",\n \"1\"\n ],\n \"6815766412613014196884168849837337543684570653146657842550195783350423415945\": [\n \"8164255900672293915144322363624758517871432693714801482963900969289877233150\",\n \"10133508943550885359229280710588787394258471848522682200743983642788251748178\"\n ],\n \"17633017679122338957714384880373774524393386769549772233713354722029699336907\": [\n \"6815766412613014196884168849837337543684570653146657842550195783350423415945\",\n \"0\"\n ],\n \"4532819631021095281234937104644831656982220118812529381226708627918139151046\": [\n \"0\",\n \"17633017679122338957714384880373774524393386769549772233713354722029699336907\"\n ],\n \"1297321334636856424757536852426067625907660323805177885779091840730784843288\": [\n \"1665757713197622991151292378114348266250684525913417961328040629317054575677\",\n \"4532819631021095281234937104644831656982220118812529381226708627918139151046\"\n ],\n \"12510166428989243609217533691990953269113375649913036155099127436190458464957\": [\n \"16732626926035534444585126578721184862698742114485947854816219019514142190274\",\n \"1297321334636856424757536852426067625907660323805177885779091840730784843288\"\n ],\n \"12612306151750929346428314416219897439583710359900549751017354097901927784452\": [\n \"20977597750287223773209098010163013898622624557479041907649687009481708053369\",\n \"1\",\n \"1\"\n ],\n \"21213616163677936683212283521214052623916495802124277968458014354689736190783\": [\n \"7227749562297871939947558546949738681503636499270496493164072557189987766479\",\n \"12612306151750929346428314416219897439583710359900549751017354097901927784452\"\n ],\n \"18564219781919291580030904930527779319098084493062522072836879911868483929499\": [\n \"21213616163677936683212283521214052623916495802124277968458014354689736190783\",\n \"0\"\n ],\n \"5645737964321446588374992341765404031945842800764973506053776097671712784224\": [\n \"18564219781919291580030904930527779319098084493062522072836879911868483929499\",\n \"6437320410888936799396620299534513460343386098261973171337243059324141179664\"\n ],\n \"7091516392977456378410531867114503802445985664026330327054309500647013455586\": [\n \"5645737964321446588374992341765404031945842800764973506053776097671712784224\",\n \"0\"\n ],\n \"16210482087951293976366835073668691273728702502018288483859877109137874100163\": [\n \"5788051078030802581816485352833195692779583338271500100345744980151675178696\",\n \"1\",\n \"1\"\n ],\n \"19349185192948432888176101975182240217954829849315642126372644980608709568039\": [\n \"16210482087951293976366835073668691273728702502018288483859877109137874100163\",\n \"20076053149635455847796951414468179405427866607580555681385859492845192203358\"\n ],\n \"17620100701938930869977461924226281945202971269290575061176389175122924248499\": [\n \"5646003573833011438425049135774606449056230453204399218444214693703180850710\",\n \"19349185192948432888176101975182240217954829849315642126372644980608709568039\"\n ],\n \"19295336528850369354493538529436774962947535878245372564541293671549824580246\": [\n \"21846920119440677470825085257196279061435461592615467987865894270206582517822\",\n \"17620100701938930869977461924226281945202971269290575061176389175122924248499\"\n ],\n \"4257397169553192767699764025541899938377283525170762753251143191348074996315\": [\n \"3812540302512049149811394724891311188365896649453983494700782051166346940895\",\n \"1\",\n \"1\"\n ],\n \"16229136223519429182389822767410648321895189676842762313333325880936085696555\": [\n \"12022582734574363242637814277760743762109701665736175812616015094786758762322\",\n \"4257397169553192767699764025541899938377283525170762753251143191348074996315\"\n ],\n \"16583387794196304059510931835819997938474884720508225759045913404767465858354\": [\n \"16229136223519429182389822767410648321895189676842762313333325880936085696555\",\n \"15282612055305685221326380767992506184197952459853772910269981571456000005519\"\n ],\n \"8065863588863208006377794788885874200129614196516438186303825119339040101149\": [\n \"16583387794196304059510931835819997938474884720508225759045913404767465858354\",\n \"14402885872610101836883795671573548406079041748996574003790902755622767841884\"\n ],\n \"15522036153019005287261399904078968208998142235179126986127102740884928744702\": [\n \"8065863588863208006377794788885874200129614196516438186303825119339040101149\",\n \"496356360329218390770642736446041949399966315865160456672249433199672768187\"\n ],\n \"6657858979416822047034992837147178437165956144756244493932729103764611006244\": [\n \"6810133474289648366507395042203314977550182709369370983264111169037581739256\",\n \"1\",\n \"1\"\n ],\n \"11695850626481852347549085102375806336930439214317524351140437940904711245457\": [\n \"825091745949851534868901568509176938650696027606827930493744745320331963823\",\n \"6657858979416822047034992837147178437165956144756244493932729103764611006244\"\n ],\n \"2592469825513149264514168014786211910951898460860016473191386873802412605196\": [\n \"11695850626481852347549085102375806336930439214317524351140437940904711245457\",\n \"0\"\n ],\n \"2952435860430317254762692990031809240680581245226326844307940038703999236462\": [\n \"2592469825513149264514168014786211910951898460860016473191386873802412605196\",\n \"7013172507493427013503951457287398384495239474599617110567940389302290566370\"\n ],\n \"7257286789898080797816615803621180840352417890559155251767764871151736498090\": [\n \"21547545891837600772669418763404701144419856038131430842110078714782650267724\",\n \"1\",\n \"1\"\n ],\n \"19718403131455663349554170328572509497055323172784257646151522888236056177374\": [\n \"16964722525142991472834448667771462170620782871551987364694209354364255017883\",\n \"7257286789898080797816615803621180840352417890559155251767764871151736498090\"\n ],\n \"11082352334045119173553156730945609165866366947299823317414560580086238411316\": [\n \"0\",\n \"19718403131455663349554170328572509497055323172784257646151522888236056177374\"\n ],\n \"14207100783501718542743484397480961558564913848041475906315727694890711220927\": [\n \"318792763629932771034380744591736147258172735961566509441269960742255280921\",\n \"11082352334045119173553156730945609165866366947299823317414560580086238411316\"\n ],\n \"11196362575269248258043062900044345391684476489337990894049381391816181149358\": [\n \"0\",\n \"14207100783501718542743484397480961558564913848041475906315727694890711220927\"\n ],\n \"4867618914522158243344026543444178209182527212130541384780624464052154101363\": [\n \"11196362575269248258043062900044345391684476489337990894049381391816181149358\",\n \"9639065637154940813293181587730032147406124449710779514660561889934323788489\"\n ],\n \"11226213723590906302289269907137966982852447695308452816844560627404484774392\": [\n \"4976908905734409596619683861450502012043861940912003850790539179083575308149\",\n \"1\",\n \"1\"\n ],\n \"2588719773271757454881392498333509735349960063882179174143699244896110547916\": [\n \"2742076376690504212141471072138419067897489231296708563853058387202982207477\",\n \"11226213723590906302289269907137966982852447695308452816844560627404484774392\"\n ],\n \"20360167646600948335357000445796250941917812650623772111725143676893568309456\": [\n \"2588719773271757454881392498333509735349960063882179174143699244896110547916\",\n \"0\"\n ],\n \"2509351204497074850139792117302059439272595961855090190496692374683340182948\": [\n \"3055537162395172166275216486067101457908312961404259344044789146386307092842\",\n \"20360167646600948335357000445796250941917812650623772111725143676893568309456\"\n ],\n \"13803261059936387590139677629108645760676409902807024206949812816874305675833\": [\n \"5724927075054693681768603150935535779717835482382843121660470662484977240453\",\n \"2509351204497074850139792117302059439272595961855090190496692374683340182948\"\n ],\n \"12955779075969865620330217667498993338330105027612541496356328612988260599898\": [\n \"2774526928409526198306781558362212765883569323845926855831279304738458603862\",\n \"13803261059936387590139677629108645760676409902807024206949812816874305675833\"\n ],\n \"13516333747963474671587228587757161220322897071816299513875820775995371925533\": [\n \"3893223393832013449371089193285667182001977884512819356824256757353491538489\",\n \"1\",\n \"1\"\n ],\n \"17429481428369420104389882735611145117608643741658542362127823396623272694539\": [\n \"7165688569742608706952530044144597627995067111674153410621648335580129301618\",\n \"13516333747963474671587228587757161220322897071816299513875820775995371925533\"\n ],\n \"3165699994812733642327520597702182992840072613442022197823870903256239523509\": [\n \"17429481428369420104389882735611145117608643741658542362127823396623272694539\",\n \"0\"\n ],\n \"5588289769712623423676701406376630320412942546433300201772378991642759021086\": [\n \"16837086480346541994873723696692213056635235928672168375341616450966674133638\",\n \"1\",\n \"1\"\n ],\n \"21034547847846690088310454046498684647419492654318392866753311031521072092727\": [\n \"18280833179542273625195609400771545545130007545988481952084355089026523019329\",\n \"5588289769712623423676701406376630320412942546433300201772378991642759021086\"\n ],\n \"16246166382388527776453290587018057049918954493613004864976351232638233113842\": [\n \"21034547847846690088310454046498684647419492654318392866753311031521072092727\",\n \"0\"\n ],\n \"926793391540258269205310564776803676164706496800188004184953299754636655590\": [\n \"18401607461773916975834589945130892710729618443718834309264394352710480303030\",\n \"16246166382388527776453290587018057049918954493613004864976351232638233113842\"\n ],\n \"6758855962020621880986999731689280182828245796504953154795980033781118688505\": [\n \"926793391540258269205310564776803676164706496800188004184953299754636655590\",\n \"0\"\n ],\n \"14920460369843363658810078810679710262674031402123694950231296879858495109103\": [\n \"6758855962020621880986999731689280182828245796504953154795980033781118688505\",\n \"17711867032452668172044459119821513502856684559406874209157194779439355659781\"\n ],\n \"14716501559649354662171390208878843357121278146850096525286636950749210041836\": [\n \"8199335994582579239376189662280545198302586124571823132086543911104465876794\",\n \"14920460369843363658810078810679710262674031402123694950231296879858495109103\"\n ],\n \"3223256943288446968099457755419562345551166476611437003676835024960996458290\": [\n \"4962086762020123455397138397292318158216927259476039937405560403224583193612\",\n \"1\",\n \"1\"\n ],\n \"8415639059270497797571824776382884154654876008921429908663309984798732444612\": [\n \"12255791591508658368297854037039759808548595314505218986422073079123299246445\",\n \"3223256943288446968099457755419562345551166476611437003676835024960996458290\"\n ],\n \"16871494032365554167388900695567416461071933203693364984968911007810918257031\": [\n \"17261739796053164422559897833437000932532335512513564881833993257825967533362\",\n \"8415639059270497797571824776382884154654876008921429908663309984798732444612\"\n ],\n \"21364037065475486194195340817207582448858280205872631542483292017989198149063\": [\n \"0\",\n \"16871494032365554167388900695567416461071933203693364984968911007810918257031\"\n ],\n \"20956416262408955580261660428855860596043501487068356805707802034909049436954\": [\n \"21364037065475486194195340817207582448858280205872631542483292017989198149063\",\n \"10083089217696102711401556426179495703753249017166575316024441437179041074076\"\n ],\n \"4098555275475474015972252266568213223392907009902186445911753687057766502971\": [\n \"20956416262408955580261660428855860596043501487068356805707802034909049436954\",\n \"13759926483915040853324925408004055274156838469471370014905841681816902660055\"\n ],\n \"5421074765880112163567173593734112412473174601871718492731981968851358397955\": [\n \"6239611242984254781380717198160125221829573787417764905191705443618188555952\",\n \"1\",\n \"1\"\n ],\n \"4819590190962089173491266382865300213566043009004751886788978356636630325769\": [\n \"8470120790375493728472090752027575088750709937913595889266243505858140299978\",\n \"5421074765880112163567173593734112412473174601871718492731981968851358397955\"\n ],\n \"10160170195319782149681847941414445587945131113224837488757907014277068797462\": [\n \"9596275960205257268796445585545739699991119106567694693773732483314951578466\",\n \"1\",\n \"1\"\n ],\n \"2364846812794570202782446152305992298612183900690666076462889763984131401272\": [\n \"17568042272610864986985556739422076209272616491334934752916278740511796541345\",\n \"10160170195319782149681847941414445587945131113224837488757907014277068797462\"\n ],\n \"10495157470159485445938272033905286212123715987532701276015201504327326657771\": [\n \"2364846812794570202782446152305992298612183900690666076462889763984131401272\",\n \"19064403445438937136633433117012891652438590862118117488191418608230532658169\"\n ],\n \"17183368762437297101725955986307418235761142300376862596225083464627141234290\": [\n \"10495157470159485445938272033905286212123715987532701276015201504327326657771\",\n \"18452096657706095499840161206083788120564965529965099522062843655913218531146\"\n ],\n \"1761643314908735536591283548502587858874586101673069205199685015497861020993\": [\n \"19199353185989195482832104071158820114626884556594069159245521853589884958838\",\n \"1\",\n \"1\"\n ],\n \"10615916106564218407508437359727067941734629241346837840587731840681721834440\": [\n \"14124149691973362940013495502931148103704852622347734651401280443911406097039\",\n \"1761643314908735536591283548502587858874586101673069205199685015497861020993\"\n ],\n \"18103069494995571006335464148938316422507221603313069714811416669262557607270\": [\n \"10615916106564218407508437359727067941734629241346837840587731840681721834440\",\n \"20995265294579530705472309755496498775148406729762313732239591478605536205754\"\n ],\n \"21674204096838077100308450187269841630806057908110734928343222775439094342083\": [\n \"20490542733968558733484029716321351943661563156599726965531103186467759409245\",\n \"1\",\n \"1\"\n ],\n \"806958159019768465379688253910465844913610466153959279388900194702176339495\": [\n \"20759413587164675395521945892518832709514712640406298532619485237181721119557\",\n \"21674204096838077100308450187269841630806057908110734928343222775439094342083\"\n ],\n \"14302716876424882020395518568852024286029969449199086909338782701429558737089\": [\n \"806958159019768465379688253910465844913610466153959279388900194702176339495\",\n \"0\"\n ],\n \"3613771908427917536048544773686487795112316939394334172500751651195718422786\": [\n \"14302716876424882020395518568852024286029969449199086909338782701429558737089\",\n \"0\"\n ],\n \"9148542300855696880456999896050031295364906054712720904313544959276012087578\": [\n \"0\",\n \"3613771908427917536048544773686487795112316939394334172500751651195718422786\"\n ],\n \"17312605228086874908034562500828580162591066650286630401574731798436703917876\": [\n \"9148542300855696880456999896050031295364906054712720904313544959276012087578\",\n \"1551193051128113436114894223541357813365079507798101767903912483862182451056\"\n ],\n \"7348488328173097574355350375037114593350976419034673000242295084252262568223\": [\n \"17312605228086874908034562500828580162591066650286630401574731798436703917876\",\n \"1883378597896672790795886682201941689699690242063164247971451688197324933926\"\n ],\n \"1663705489634860895531070028307361874075606116245465652366301563807158776946\": [\n \"7348488328173097574355350375037114593350976419034673000242295084252262568223\",\n \"6428663651563662694165281056572336158420096553412299680382913855427562431633\"\n ],\n \"7882348862850192021573103547568660249306601679158081729778102496481299799222\": [\n \"5503788139010520052688930217392923060966872828614097480886518205919091294087\",\n \"1\",\n \"1\"\n ],\n \"5594347960592462390415634966011958682593319298206765772853248552825982939587\": [\n \"8322612953225004724494504167823751532104415468278659507153631883542457160864\",\n \"7882348862850192021573103547568660249306601679158081729778102496481299799222\"\n ],\n \"17525401545524147357552439879111692089832224525866913922734268369898962337086\": [\n \"6632278526464886804911666265537988013309543433336599864188860596644416068830\",\n \"5594347960592462390415634966011958682593319298206765772853248552825982939587\"\n ],\n \"18564014990714046773598054515301575606209346391090363599403859918200892458735\": [\n \"0\",\n \"17525401545524147357552439879111692089832224525866913922734268369898962337086\"\n ],\n \"14405806555947621339287715417064845284619317200811021708418053718846014404698\": [\n \"16328811972159331297286613616047308297215639905728025236219426517336329969995\",\n \"18564014990714046773598054515301575606209346391090363599403859918200892458735\"\n ],\n \"13348927995572321281056531631587063384102762004303403748995315813150469572202\": [\n \"13617224275935699339478860572353516805810297906076433051471879786436542837710\",\n \"14405806555947621339287715417064845284619317200811021708418053718846014404698\"\n ],\n \"16177556830217368313259393079826614344019156207980825453633583266347398724346\": [\n \"10938035596049271024070978841003875258026907176762104361440545364551850066549\",\n \"1\",\n \"1\"\n ],\n \"19320679542572104558190267123545261898590852914678477534654006912635945534526\": [\n \"14602733817352001611475431509225221893062433893993984178040072387747073518461\",\n \"16177556830217368313259393079826614344019156207980825453633583266347398724346\"\n ],\n \"21360063222219512980503336428656777006575713621661782737787175756643498352151\": [\n \"19320679542572104558190267123545261898590852914678477534654006912635945534526\",\n \"0\"\n ],\n \"4237746957424718072261609580756154507004399683380124919895763071109920046879\": [\n \"21360063222219512980503336428656777006575713621661782737787175756643498352151\",\n \"0\"\n ],\n \"523998095887089541083943525234079420168581786720025621446275666108129402623\": [\n \"4237746957424718072261609580756154507004399683380124919895763071109920046879\",\n \"0\"\n ],\n \"13518463134549796099729559047748739529592011629952265422827074749187441983806\": [\n \"523998095887089541083943525234079420168581786720025621446275666108129402623\",\n \"0\"\n ],\n \"8646384116666133114367402911356648787978394142076566071744804453662580309945\": [\n \"13518463134549796099729559047748739529592011629952265422827074749187441983806\",\n \"9786140991853227263602945564027817348764978205652514486083080135840477529466\"\n ],\n \"10202773342529890460183317902583577400144582845309613434165936604235300803229\": [\n \"8646384116666133114367402911356648787978394142076566071744804453662580309945\",\n \"8928690347745929591727419458303781752997635489779040918982870989877829073480\"\n ],\n \"12871652581037926098506212423573498723698852812224967732408475982264225980194\": [\n \"15798544561716159142775693145252763061787068099595361050903879474975210849230\",\n \"1\",\n \"1\"\n ],\n \"18946212836168859762473609828512591569679878442643116873369435395096902144719\": [\n \"12871652581037926098506212423573498723698852812224967732408475982264225980194\",\n \"18000463199827978924062468558148508572384493432700578756833752972769658665266\"\n ],\n \"18196958019392621757614247005205976052048813438035810897913089896617868686623\": [\n \"18946212836168859762473609828512591569679878442643116873369435395096902144719\",\n \"19821256306045853904276180884129245738278642628434236976107844959838131157800\"\n ],\n \"14628053088578907226709100708189265796592027489849397493213660340595719422474\": [\n \"9850880006379338856300690661643185100275490361217367271267074733062260102977\",\n \"18196958019392621757614247005205976052048813438035810897913089896617868686623\"\n ],\n \"8293850853244864276970904344355942537182363053432562353803355305786673668477\": [\n \"16750955635957970615411441334044280098862280608150909296282774141939403252172\",\n \"14628053088578907226709100708189265796592027489849397493213660340595719422474\"\n ],\n \"7286610374492888944170804121839226096832998407483066361659133133999038227281\": [\n \"728424104237657684800349852576724283389518779381016266057675222221328941960\",\n \"1\",\n \"1\"\n ],\n \"5791122713256117643868765709473630195435611312239353975644192724622651460583\": [\n \"7286610374492888944170804121839226096832998407483066361659133133999038227281\",\n \"20143902199187221771297072206628061657264901729094758086561984758375460357519\"\n ],\n \"4577324386072648082472778118977931916442934810133805418871943897305064535988\": [\n \"5791122713256117643868765709473630195435611312239353975644192724622651460583\",\n \"13182443799285844150135962945426071164221752593075945150540360069146294601510\"\n ],\n \"2048349694053540896613001801006352528518423366211119589075775446436594176136\": [\n \"3173383313694194025155445692410988259180643715901230818713518480709477089651\",\n \"1\",\n \"1\"\n ],\n \"16673172083450231056279949049000492823087464925364347156654105572446492025907\": [\n \"2048349694053540896613001801006352528518423366211119589075775446436594176136\",\n \"4694967515979663295584132537429965713001332397343256826174897180027941020250\"\n ],\n \"10356607179937588942820964030400443494222541287082485234298763654602974889708\": [\n \"16673172083450231056279949049000492823087464925364347156654105572446492025907\",\n \"0\"\n ],\n \"15379786851535477816696957056617556592821637744692225040327737793454477032143\": [\n \"10356607179937588942820964030400443494222541287082485234298763654602974889708\",\n \"19641685530877330143901534152856350080519235822234004345013405428269882379165\"\n ],\n \"17400038612453566182400674182918119188987070707752740227203890725232838853529\": [\n \"15379786851535477816696957056617556592821637744692225040327737793454477032143\",\n \"10158394097576276954969469759432115988221845509421607637846820956365297885348\"\n ],\n \"14332252186421490420018549300833805724326663387071485279978689569022677048700\": [\n \"18871783345163168073569651198102601201884592432694755574192349718976621069516\",\n \"1\",\n \"1\"\n ],\n \"14390784459185356332233372430445179803332855523752735157122043188777797836153\": [\n \"14495409841396258161924596601480753881499454179536306996249833211471907720332\",\n \"1\",\n \"1\"\n ],\n \"1486358147323124505706265743767898044372102381321010091024699139903088260863\": [\n \"14390784459185356332233372430445179803332855523752735157122043188777797836153\",\n \"3728031296392612941071875324678111835282924895804901456932029492401443192686\"\n ],\n \"1877031417647721955595399469433396808221344412742461026836214916740288194287\": [\n \"1486358147323124505706265743767898044372102381321010091024699139903088260863\",\n \"0\"\n ],\n \"13312120016752412363141772712157079378808035151722294772415053908222573801938\": [\n \"1877031417647721955595399469433396808221344412742461026836214916740288194287\",\n \"0\"\n ],\n \"11452051308190654116900543416953169664800746064475177338522624601111422542977\": [\n \"13312120016752412363141772712157079378808035151722294772415053908222573801938\",\n \"17001931684043335946833254775270964744632828052413339558457911986477492337224\"\n ],\n \"5590645625249181115315974179507225676439603124972789025654894194370432796820\": [\n \"14533163999962133156638498584971138604608978915920873620380005454056483994826\",\n \"11452051308190654116900543416953169664800746064475177338522624601111422542977\"\n ],\n \"18460447942245124404771583970888956307510379113466627593512245622027558456370\": [\n \"410115903029273763464356622576903717065933668518801404905152482128377856984\",\n \"1\",\n \"1\"\n ],\n \"1701739564753187892155469027410581354377142482404759479970061345316608800520\": [\n \"20647903513333719445987123371638331021895177503784148014471364206501855712295\",\n \"18460447942245124404771583970888956307510379113466627593512245622027558456370\"\n ],\n \"16545648684142732436489101273142406550275123854086477705099066885899145132343\": [\n \"1701739564753187892155469027410581354377142482404759479970061345316608800520\",\n \"6830170084364829595710456098233164272691389034870370402043932206559589638101\"\n ],\n \"9776478720257615220230371578675197008334084456620282638730268875143560415676\": [\n \"16545648684142732436489101273142406550275123854086477705099066885899145132343\",\n \"18845594178269669555617057176207247454660927273919807571987122209122823871788\"\n ],\n \"15552119876781559057878307699681450415553252116074311851764045383721644358122\": [\n \"9776478720257615220230371578675197008334084456620282638730268875143560415676\",\n \"7605211157110868652115287403081559444245077526119328803684411025251265493545\"\n ],\n \"1303291962181959461327913605633192994469469230679190962561561236923834035307\": [\n \"15552119876781559057878307699681450415553252116074311851764045383721644358122\",\n \"12563274293786762619550093601096932061579027482942334719575586003766111669351\"\n ],\n \"4361051752165442970309442063841989773900158743627411596489996480152583237883\": [\n \"4450405168188537938006245406243115601773498086439598245776199003501384080910\",\n \"1303291962181959461327913605633192994469469230679190962561561236923834035307\"\n ],\n \"14366804913596997109389727508548689053286022183870257464010194300198567002198\": [\n \"15121184610299817289641474306818758569811425137789692353785164955682103925512\",\n \"1\",\n \"1\"\n ],\n \"2982459084465284162182079742363339582667615187910150442182984386404255705080\": [\n \"14366804913596997109389727508548689053286022183870257464010194300198567002198\",\n \"15773981698220085587225706798428137485414339852347504065154964562128139683604\"\n ],\n \"5240647820420894324074794327670014491342872178224728287214987176443332507141\": [\n \"0\",\n \"2982459084465284162182079742363339582667615187910150442182984386404255705080\"\n ],\n \"12234456368276742253357103446790272808493867843593444158419990648989471656038\": [\n \"19606543371030146029356916663868367911904431289714316944477479988566563014443\",\n \"5240647820420894324074794327670014491342872178224728287214987176443332507141\"\n ],\n \"5524801515432835706876766691594384639918867559610743704932345259584024055646\": [\n \"12234456368276742253357103446790272808493867843593444158419990648989471656038\",\n \"7178964832220319078505190085331241352674117491790778225746346279795147940584\"\n ],\n \"2820450893272527293746750822827996131428865909044524229763236051349275872824\": [\n \"13043954562214445677899228162211682913038293806920587491976110549696525130833\",\n \"5524801515432835706876766691594384639918867559610743704932345259584024055646\"\n ],\n \"20479270876836873763227132164419694675561382197136517780865162855905719240527\": [\n \"18800551471121994174004614627853578324880194203086214620958479805162348937679\",\n \"2820450893272527293746750822827996131428865909044524229763236051349275872824\"\n ],\n \"6148241503127993287293062981235483221385940316376893639414118950516271331682\": [\n \"270815345171794140571869318826049977556772860534758065027583947320351853675\",\n \"1\",\n \"1\"\n ],\n \"7562442196545396014454828395655402998843778825790383921399389032220347769438\": [\n \"6148241503127993287293062981235483221385940316376893639414118950516271331682\",\n \"8921301877342345122518568193651933508143537174212693841314738392799539462592\"\n ],\n \"1735609782128007189278948098509781338869869073648657561644821881686219962248\": [\n \"7562442196545396014454828395655402998843778825790383921399389032220347769438\",\n \"4849294964056020573076190998946297148585371073570166297231598299956570659548\"\n ],\n \"20876522285024147737692223031185796705032649650740229276514044283656577917349\": [\n \"8170178820053273465178049135815986764402127035016078321156168976930548549245\",\n \"1735609782128007189278948098509781338869869073648657561644821881686219962248\"\n ],\n \"6597853833949787943493783882031596831912919137566147349636272190250534228925\": [\n \"9159883001570247617708403880339806540782468641311245219576916527788898029981\",\n \"20876522285024147737692223031185796705032649650740229276514044283656577917349\"\n ],\n \"1915539858277436010638716160412458215478250377665774429897683999072633098225\": [\n \"6597853833949787943493783882031596831912919137566147349636272190250534228925\",\n \"705558490548040817474938268072843481114249016084961259320209083042637562\"\n ],\n \"15413837717793435306070139772437188991842993233968981762708856033700642295127\": [\n \"21287178568268646286073650298980183275112376990224282289676682725504170308721\",\n \"1\",\n \"1\"\n ],\n \"4467323275375575342274957789590894846894756643224493296811653643417899950505\": [\n \"3924971431380051549894193769985117206924655853659564319516402047931971962432\",\n \"15413837717793435306070139772437188991842993233968981762708856033700642295127\"\n ],\n \"1848253013650269700648095031049758792838665346586755132939176537731206511465\": [\n \"4467323275375575342274957789590894846894756643224493296811653643417899950505\",\n \"0\"\n ],\n \"15088963835844553530015333375473408784851963121551682213655210482992691423660\": [\n \"11339971871888412858835457257868561026605269940324306240824139197635391169734\",\n \"1848253013650269700648095031049758792838665346586755132939176537731206511465\"\n ],\n \"10400710491395223106935997496966983085503460402426609336059907135849323187676\": [\n \"15088963835844553530015333375473408784851963121551682213655210482992691423660\",\n \"19220710054062942393154152452686270931474408642568787868226723704075717578184\"\n ],\n \"20413935621303167316586158018245753162605198704473404724659455728694154123584\": [\n \"10400710491395223106935997496966983085503460402426609336059907135849323187676\",\n \"3443807044242736022166309661718444464849090336109463096306280013436681932548\"\n ],\n \"14503848754699421705731109654511934828259603911162512268655238631937890522876\": [\n \"9193611250282828831203153766486601546234590439408361221683769630405806565877\",\n \"1\",\n \"1\"\n ],\n \"20831819667513845326245071467323944891926481919496973245439717192215416601322\": [\n \"14503848754699421705731109654511934828259603911162512268655238631937890522876\",\n \"19380216862929349790690084340225325610563554556169814059665832972239011897241\"\n ],\n \"17730176621695452000579256547988786405389711275033217872066521859802986004716\": [\n \"16699472920253169860309837107215464134574755574916130365435620208552357813753\",\n \"20831819667513845326245071467323944891926481919496973245439717192215416601322\"\n ],\n \"3535900965798381827997082942228611892638926925386460097920325505678535695614\": [\n \"17730176621695452000579256547988786405389711275033217872066521859802986004716\",\n \"3922578152064515745240294835976151323345543931380583998419294261012661860394\"\n ],\n \"20938484654893749345572328786963805483379537449090827433304372998546946258864\": [\n \"3535900965798381827997082942228611892638926925386460097920325505678535695614\",\n \"7314993148095228065655604266218891258231399263388504149783910731795326191803\"\n ],\n \"14655289159967955694456863891806218270344386892576127421746593599429185967812\": [\n \"17907914552537917089303270767478706389040294760195412625266290165314947989199\",\n \"20938484654893749345572328786963805483379537449090827433304372998546946258864\"\n ],\n \"3845177253269627342394680213330240783394892209270130592149589092217115042119\": [\n \"15791435373716933336105388361212264756699192490420216148919520089796768764715\",\n \"1\",\n \"1\"\n ],\n \"10340357358410070892483751785791596794944845790091252536372342250934242353604\": [\n \"3845177253269627342394680213330240783394892209270130592149589092217115042119\",\n \"7492802351977383593866299692292208615494762479380071854488375192491672604140\"\n ],\n \"18320211619311934361350225923970517419446220859832440961434746347212000474519\": [\n \"10340357358410070892483751785791596794944845790091252536372342250934242353604\",\n \"9225580516951959207059011415239060398696217940028961198783470158913835236855\"\n ],\n \"10868485187254518203480744958811584584968066743997777753525567780818876891781\": [\n \"18108903508213630441312505585455227603995274485982487325097468471036383402537\",\n \"18320211619311934361350225923970517419446220859832440961434746347212000474519\"\n ],\n \"12253006801966768042239148980309928968009737900270313983807757814025476498353\": [\n \"10868485187254518203480744958811584584968066743997777753525567780818876891781\",\n \"7955043117358180664221579324487745226485326053263815849662181775717151007265\"\n ],\n \"21132898397305343606300371899247480733127950529553574139770306999826880688342\": [\n \"12253006801966768042239148980309928968009737900270313983807757814025476498353\",\n \"10427145340261668465584187969880096986995040739899353634534034477098782661871\"\n ],\n \"11749365861219860063193746145630958213875700960177231708520655687360770992005\": [\n \"19618899344696096828708182967958982139265195747881514762319381474246675607048\",\n \"21132898397305343606300371899247480733127950529553574139770306999826880688342\"\n ],\n \"21098595181214382865902016152037186130028502660450160266510202922301425007964\": [\n \"1226433436684031435706823383793740674249362644144402749818128888479202098414\",\n \"11749365861219860063193746145630958213875700960177231708520655687360770992005\"\n ],\n \"1520408023973266565736599466279521901389911719483384446295275981182818914769\": [\n \"5856075313998008540687019939109303235488512279594378019768915075840898702536\",\n \"1\",\n \"1\"\n ],\n \"2366745514246127144203048740000133441399504501109617035077971741085341814430\": [\n \"1520408023973266565736599466279521901389911719483384446295275981182818914769\",\n \"11444769456101278737240296835369464861375951515307040819198334331076721321525\"\n ],\n \"2339706792059127219965716460868235270358596523070420200295233945379991674746\": [\n \"0\",\n \"2366745514246127144203048740000133441399504501109617035077971741085341814430\"\n ],\n \"15351130763763421554079691599919319696176320623260205202588780965082361865954\": [\n \"0\",\n \"2339706792059127219965716460868235270358596523070420200295233945379991674746\"\n ],\n \"10729122502592942833460906984616515293123042234007353743090916375959822339870\": [\n \"9050501744512028839628200959747911959907580050712721628931812391436809649012\",\n \"15351130763763421554079691599919319696176320623260205202588780965082361865954\"\n ],\n \"15298893859848944543585647038376423430456873012206212451572091200123943756698\": [\n \"10729122502592942833460906984616515293123042234007353743090916375959822339870\",\n \"19295336528850369354493538529436774962947535878245372564541293671549824580246\"\n ],\n \"11903807646766762469788460042604195842159063066163342975961958997350086000818\": [\n \"9549033291838785502139289565628219943879813404964269336332930394391671085889\",\n \"1\",\n \"1\"\n ],\n \"16691422996061646337803829670045409674685702151092253188485128152948479643817\": [\n \"11903807646766762469788460042604195842159063066163342975961958997350086000818\",\n \"16045815937839757114941312928440837263439694100406231255861579855205073106194\"\n ],\n \"17780526598434187729563778886654858984972965686386789573139655003704646203945\": [\n \"16691422996061646337803829670045409674685702151092253188485128152948479643817\",\n \"0\"\n ],\n \"12055919365680393431167137226207941412521148448165311699393439106126148270482\": [\n \"809989167736158622030726758119444325730460021042860314281491422371789022386\",\n \"17780526598434187729563778886654858984972965686386789573139655003704646203945\"\n ],\n \"21442002006500783737304613640679704703018818969050005085113972108695032072657\": [\n \"16304167313284699853049081157624484454374094556348177479834267736134856841213\",\n \"12055919365680393431167137226207941412521148448165311699393439106126148270482\"\n ],\n \"20025594978423781578235528331933036001074626140106217474753193957545321390521\": [\n \"21442002006500783737304613640679704703018818969050005085113972108695032072657\",\n \"1118748087183733927569663908949508034765368302882136104766872873501450093967\"\n ],\n \"3149725224272311594018552791195597305820943654361596458667948697549175109938\": [\n \"4616213009363519091022232005522338666412774452977307236251460915062975487553\",\n \"20025594978423781578235528331933036001074626140106217474753193957545321390521\"\n ],\n \"7282224633762174959347176603774864491372843094110408614300723306797487866434\": [\n \"20248525611517994987850576439253113153967289686723810548313173435639517664916\",\n \"3149725224272311594018552791195597305820943654361596458667948697549175109938\"\n ],\n \"9011724476384687058181580501474126980856372232796601213519252540487004469196\": [\n \"7362901958812908538532711206476516331716479203018252721999223680661894113878\",\n \"1\",\n \"1\"\n ],\n \"13456107185362734972007099720253779377704991277136171545187329565475585331032\": [\n \"7386860355339826666844120549974205604977350544376595823920720678820096001428\",\n \"9011724476384687058181580501474126980856372232796601213519252540487004469196\"\n ],\n \"338548499671355985951803739076013794209664650595567541635945233816626660205\": [\n \"13456107185362734972007099720253779377704991277136171545187329565475585331032\",\n \"7346530064145233867086214192547480644897129567590698517633577735084556350089\"\n ],\n \"3460072286807124856576357707123763203129842129727786801991233821527815621749\": [\n \"2621612901349700619624638600944634018055438952634371593488532256648027434094\",\n \"338548499671355985951803739076013794209664650595567541635945233816626660205\"\n ],\n \"15780007629368027130508336037742917316435003806687105867860494387893015392234\": [\n \"3460072286807124856576357707123763203129842129727786801991233821527815621749\",\n \"21609538728288767894455757028765948483457240535299386585046392937585470949499\"\n ],\n \"5320653913191482909112829011589903536409379780087667146221445573001307873800\": [\n \"336544056975743376707050242588720376354116196904867469932088446184050726314\",\n \"15780007629368027130508336037742917316435003806687105867860494387893015392234\"\n ],\n \"961012075340456254899532139520442401827149276185242618018554570949454399553\": [\n \"585215979132063838979649720636438492663042764027580404655376291069541044343\",\n \"1\",\n \"1\"\n ],\n \"17205847153466258140405577642196045248598695269336671267034554946173211727902\": [\n \"961012075340456254899532139520442401827149276185242618018554570949454399553\",\n \"6019452866917577914624749484025280483292657818260336529605067047887958666696\"\n ],\n \"16765273665056706750107250243578134982283494715561134777212014158315595992023\": [\n \"0\",\n \"17205847153466258140405577642196045248598695269336671267034554946173211727902\"\n ],\n \"18045345445232522358375774958896663450731541175447118240602811242085906083663\": [\n \"16765273665056706750107250243578134982283494715561134777212014158315595992023\",\n \"19502156256801050190691349085270274946173392895542496229501114707008394302359\"\n ],\n \"16012134549235300464946411534786924754400034940206338845729615774576851675532\": [\n \"18045345445232522358375774958896663450731541175447118240602811242085906083663\",\n \"7490362115307051073691038730518761220767661717749706754567025508712335487037\"\n ],\n \"2962544357381021939076317474139251426930024691193319409259916471892146491533\": [\n \"16012134549235300464946411534786924754400034940206338845729615774576851675532\",\n \"17738683620035029248425749807321924130770728700443343421391153151099611106124\"\n ],\n \"9792490306136904196984495182288462022496819669901858356989197559280595013284\": [\n \"15629405561703915306389393460147891695493829351867768152701731553259292846660\",\n \"1\",\n \"1\"\n ],\n \"19641934837923697410822332442698060452177990632547847340614177413094122489227\": [\n \"9792490306136904196984495182288462022496819669901858356989197559280595013284\",\n \"4877089629078929380264348728036281001024076459803579002806133995038932700776\"\n ],\n \"10115091429723048383838737401383391990901167549423553252974238471094356080800\": [\n \"19217882375410925239367938287629931639196796740265698286402609492066316426972\",\n \"19641934837923697410822332442698060452177990632547847340614177413094122489227\"\n ],\n \"8134246219140666041324209058071778840811279115751290123370538830637522239701\": [\n \"10115091429723048383838737401383391990901167549423553252974238471094356080800\",\n \"15774470668500489842475755258440278084933247067595543319382252948189492817756\"\n ],\n \"10350641718111876051212707683586704960194874385117136083299631565811696704039\": [\n \"8264053030120997708229998163568773518402367788120477856723347829804200475363\",\n \"8134246219140666041324209058071778840811279115751290123370538830637522239701\"\n ],\n \"5446356223561426190564349264632187455435943586404525327045058017456005496221\": [\n \"10350641718111876051212707683586704960194874385117136083299631565811696704039\",\n \"7244464362693166845019390340208543166746941615977597032920471514453344341659\"\n ],\n \"3426202069625786980298736526302910229651833184775841250298770697813728688591\": [\n \"5446356223561426190564349264632187455435943586404525327045058017456005496221\",\n \"14800353444074641973018595969886655783973674343756852700763682691643490477231\"\n ],\n \"15170776457235141878600859520621617321352896300267572581854793337822408345078\": [\n \"20498375164613868215526274526101174454223775193896313194696236264450672802712\",\n \"1\",\n \"1\"\n ],\n \"17208862821175269575446232801788814761379791043837207951619806328534840888002\": [\n \"17604238761783743803273801333205032328898398724318999996922076428182378841010\",\n \"15170776457235141878600859520621617321352896300267572581854793337822408345078\"\n ],\n \"21099092322208552098059736719087114456546068640004395139478320147982385786048\": [\n \"4199056004838587645111445307363382761632410650583491823811132443095710589113\",\n \"17208862821175269575446232801788814761379791043837207951619806328534840888002\"\n ],\n \"10426559854890741735881796862450889462904677766500879317877943620099641498853\": [\n \"18225347944306987270155329812076675401597733619423051709503676631689528812769\",\n \"21099092322208552098059736719087114456546068640004395139478320147982385786048\"\n ],\n \"1713526737787978049381997999648933824506174238177666338086983699220522856954\": [\n \"10426559854890741735881796862450889462904677766500879317877943620099641498853\",\n \"5992052895831931789349451653905596196902993227612411639201110777279494777331\"\n ],\n \"19026416017403981642589902648178575451205830747496502069867706356406232656887\": [\n \"13629571109305540294962851490343462535497260335223987830765249721929529665378\",\n \"1\",\n \"1\"\n ],\n \"18733251505162528385277451029774091232117553904631192632925854315173823823932\": [\n \"19026416017403981642589902648178575451205830747496502069867706356406232656887\",\n \"9667359573219075555873749960339602382697901168584952040213752652715261266906\"\n ],\n \"5960396226251928075111050188434159530618636087145333324548439640927849598636\": [\n \"17183368762437297101725955986307418235761142300376862596225083464627141234290\",\n \"18733251505162528385277451029774091232117553904631192632925854315173823823932\"\n ],\n \"3343383241851869980474394584731107265732916066575939273848420456218019151899\": [\n \"1311639684371383719496727843575175172865403852117082860304719407798744125837\",\n \"5960396226251928075111050188434159530618636087145333324548439640927849598636\"\n ],\n \"10271460543956547623449968305406519330557375377557704898180264779815594773786\": [\n \"1141913166859039167164047769316296391769510172447604651242172342707408937779\",\n \"3343383241851869980474394584731107265732916066575939273848420456218019151899\"\n ],\n \"1777002278282277486320320128199343567851013225623200434526095385149249525184\": [\n \"5273114437318839911560145494603123119417647131453309702294682385971476827560\",\n \"1\",\n \"1\"\n ],\n \"13347105971466624775195953200156609725460299055092452711135186676082931289651\": [\n \"1777002278282277486320320128199343567851013225623200434526095385149249525184\",\n \"16965057498089857606954099184914130695381237183895288413957026179147318314714\"\n ],\n \"14808546903532718681101417291346331802380819147909525159910160769883367905111\": [\n \"13561675766470152106711758174899280629128511024022899133263886443548539276540\",\n \"13347105971466624775195953200156609725460299055092452711135186676082931289651\"\n ],\n \"21642680555079951417707983255318047865478672928460056506651065046391042231729\": [\n \"7576633390856496293194083732127083720773767517413289727611698267842730289206\",\n \"14808546903532718681101417291346331802380819147909525159910160769883367905111\"\n ],\n \"5129627682917397956554605145541150859175262338711793200282146318783305575151\": [\n \"21642680555079951417707983255318047865478672928460056506651065046391042231729\",\n \"7506765398114433484570874737557922754564373753823660292603871619914501156234\"\n ],\n \"8867954478067870251165169380521544116165235733807595958306564260737110551103\": [\n \"15854055478398831738654068580622335194612142086742378524724441948717210304291\",\n \"1\",\n \"1\"\n ],\n \"18658533217346606223927062154168598941991507020807230316654103593410154561108\": [\n \"8867954478067870251165169380521544116165235733807595958306564260737110551103\",\n \"1160248159847812861093702385210708129302684016195059893620543413510217943148\"\n ],\n \"6547363829476033370234980970655629595808990810515628472301167398335424909976\": [\n \"18658533217346606223927062154168598941991507020807230316654103593410154561108\",\n \"0\"\n ],\n \"13734937637968329317484959393348877614969101407564408279404549974860229365267\": [\n \"7411261065409593043302039709563168496177864874865558322497835372406836722284\",\n \"6547363829476033370234980970655629595808990810515628472301167398335424909976\"\n ],\n \"20956885398853566754785919463347791161840592791458297622754713132980010651513\": [\n \"9899044311132707875699756195348012538524884082415613539169697569606352446387\",\n \"13734937637968329317484959393348877614969101407564408279404549974860229365267\"\n ],\n \"4817188392668092969573700535543154383599782446773405824139327021213829451762\": [\n \"15192065852883169162373343287856815024736505315231952482096726187918082930504\",\n \"20956885398853566754785919463347791161840592791458297622754713132980010651513\"\n ],\n \"14906532377569058182568365103821170707690156512764490549550135878003940535202\": [\n \"5457201112412779998762851643136740604867074186947453226010478468758367335764\",\n \"4817188392668092969573700535543154383599782446773405824139327021213829451762\"\n ],\n \"7282194455762039127849913746782955619520945192675949625325673495845295842780\": [\n \"13842809122925761583557938351727071963206256546719773442477575512068071004952\",\n \"14906532377569058182568365103821170707690156512764490549550135878003940535202\"\n ],\n \"11303840345334926200243765574367220206152181184742479046688641773614305955232\": [\n \"2680433886268292999909684475887045950182791824569893859799380076602319393058\",\n \"7282194455762039127849913746782955619520945192675949625325673495845295842780\"\n ],\n \"15495337938566357226542118548388860464276488794925119230608793129533926301690\": [\n \"17842501424922896132805229206260938360780151706715494182798953810192682560752\",\n \"1\",\n \"1\"\n ],\n \"1381816283162190984440884405924873449920525779412256211826534729839989303218\": [\n \"17061501293694475167255537240005673542076705462311332889469633003810809884128\",\n \"15495337938566357226542118548388860464276488794925119230608793129533926301690\"\n ],\n \"4698986763017555270647627942885588098228612350599775028992797145449783779935\": [\n \"1381816283162190984440884405924873449920525779412256211826534729839989303218\",\n \"0\"\n ],\n \"11882958933789877966361435459409489371812703067595493728115128401828381156581\": [\n \"12387069935508844785980714279759406671672033713203585277552179396351898383039\",\n \"4698986763017555270647627942885588098228612350599775028992797145449783779935\"\n ],\n \"9530396919449353491435960717923548698964345643582905174382637374153237533898\": [\n \"1566498903313809174584717420578543713668998805465137933417340085258865237265\",\n \"11882958933789877966361435459409489371812703067595493728115128401828381156581\"\n ],\n \"16337144347864644030033762980704228711445769409693746089397679885079622886432\": [\n \"9530396919449353491435960717923548698964345643582905174382637374153237533898\",\n \"8082762212480442064577650175715531125318591743044993452923576377252386147547\"\n ],\n \"5625102518745486100929570560121339581607477160558725259052579346898267364419\": [\n \"12127564155055515704429819199041149471105783927090487709870926108236753006996\",\n \"1\",\n \"1\"\n ],\n \"21833100925069563548562957605252287998279950014043991942468415499382662854976\": [\n \"2033013237965374492735071303794127015750518732749312456489760442711951223750\",\n \"5625102518745486100929570560121339581607477160558725259052579346898267364419\"\n ],\n \"21478048289513919682577587758198281110965059497923976429538341611903055988270\": [\n \"17435609716370224971221490916564966584953364986957101822746643884439029726165\",\n \"21833100925069563548562957605252287998279950014043991942468415499382662854976\"\n ],\n \"17284336198468952869246522162571772871748637118878201557550229608609988701173\": [\n \"21478048289513919682577587758198281110965059497923976429538341611903055988270\",\n \"14539444657431915497493268373312841673697962890359740163575986577087938543197\"\n ],\n \"5960933630071708718494070128764569510042595747165771022738533310215031687807\": [\n \"17284336198468952869246522162571772871748637118878201557550229608609988701173\",\n \"20960703980563958674025724936226916730416457995274739792429975259492879381824\"\n ],\n \"9465578003406297762490913152786113390078278179284495326681754700000678865726\": [\n \"5960933630071708718494070128764569510042595747165771022738533310215031687807\",\n \"9358121232864531180682712748162444669389981312310576508180161024258305668041\"\n ],\n \"20235554830699482805382701645293745216119961414610990814090151667101818980370\": [\n \"13439538198151307117813177869667477326596534132272414669063683354433180561272\",\n \"9465578003406297762490913152786113390078278179284495326681754700000678865726\"\n ],\n \"8533314017994363145836640452588679258102413264435193333590950884861998291834\": [\n \"9956212647559421725770355103864072239305696090627169253331444877571397868671\",\n \"1\",\n \"1\"\n ],\n \"14144824554488875790889122673801397439862480826134103605932024513704237653435\": [\n \"18253769378414535190777233022719490542416183133658335371090590798569133810585\",\n \"8533314017994363145836640452588679258102413264435193333590950884861998291834\"\n ],\n \"5399754339833851378781427749445961790737036815949208057410740014534665038494\": [\n \"0\",\n \"14144824554488875790889122673801397439862480826134103605932024513704237653435\"\n ],\n \"59812269226626306655381424302741993791959180262510727694057478876504216384\": [\n \"7877233772546223442523216068956835588951250869996612494222125408692626012708\",\n \"1\",\n \"1\"\n ],\n \"14857381560076939825406993846456279025293313771923155765903232076281588302501\": [\n \"20889520627577647016483176984505437094920292922195617938826319650516652393215\",\n \"59812269226626306655381424302741993791959180262510727694057478876504216384\"\n ],\n \"11455172320523587516074895186843849116227687813058629905983840032252560300620\": [\n \"9071664364415177601144459051525194680668924799140374485430352407536591977881\",\n \"1\",\n \"1\"\n ],\n \"6259922176560627359815735399107829382072639396550987881732348784471337699519\": [\n \"11455172320523587516074895186843849116227687813058629905983840032252560300620\",\n \"9093722471256112690228453669520206289293234905183128533405819710004870324334\"\n ],\n \"3720869035454451889692384385577632714990475548551208967598530724235994119351\": [\n \"6259922176560627359815735399107829382072639396550987881732348784471337699519\",\n \"0\"\n ],\n \"20971213609237600596300126080738067504796393840378559897103577613661561067640\": [\n \"3720869035454451889692384385577632714990475548551208967598530724235994119351\",\n \"0\"\n ],\n \"16593884578054219843606328898645861183885234119313031341150443862571748342287\": [\n \"0\",\n \"20971213609237600596300126080738067504796393840378559897103577613661561067640\"\n ],\n \"14880671287305872462750180637736049610066255686372237120925339593518698256899\": [\n \"6747234313133697849171087689871710505003696363737203382714054444168600029907\",\n \"16593884578054219843606328898645861183885234119313031341150443862571748342287\"\n ],\n \"18487373844894524223635179039560141186492357127503152468667661270847327564713\": [\n \"2428784160027027749057991266581582949457256791142873083449835879821704584151\",\n \"14880671287305872462750180637736049610066255686372237120925339593518698256899\"\n ],\n \"8579569573108099646065542902674885246402352472725197423766003583027270930374\": [\n \"7241881395515877735360309040843038990270306852796513826550618100492833716750\",\n \"18487373844894524223635179039560141186492357127503152468667661270847327564713\"\n ],\n \"1895598844310301922884722339448748281263266263411991358341149846009991290512\": [\n \"7925735973608881998027183066440717930933100313137889842219439729579828383160\",\n \"1\",\n \"1\"\n ],\n \"21447526522039373791901105538825808956215415666102841979508203495621980625327\": [\n \"1895598844310301922884722339448748281263266263411991358341149846009991290512\",\n \"19318033296176913959970158751808869203805986438547017619485661538910621253849\"\n ],\n \"3383900173618643385098776435841180300926776745958654801706175815023563677246\": [\n \"4484029065947578426151962360923202612623830456022359748563555133204494940509\",\n \"21447526522039373791901105538825808956215415666102841979508203495621980625327\"\n ],\n \"4300948073634255355238214558986055923883204570336757779958574274100275375235\": [\n \"16196568846309134689246958075023950095249163769898301613787844444812035947801\",\n \"1\",\n \"1\"\n ],\n \"13883529119542928266239034623636845844665832270034856521696264038013185329257\": [\n \"4930210901173328136369340267464944973512810926423501453580011547112453369478\",\n \"4300948073634255355238214558986055923883204570336757779958574274100275375235\"\n ],\n \"12172297627034740669067596072509016382120750766505617790830045471039534054873\": [\n \"1684655972144601151492190881061732258075882600762080364305825660083677337816\",\n \"1\",\n \"1\"\n ],\n \"8110535153322768275844679344247444315821352019473105947465998996077820068472\": [\n \"2231215470959177988763803702090827144310325297260570366171402056187837257560\",\n \"12172297627034740669067596072509016382120750766505617790830045471039534054873\"\n ],\n \"7888998615804624034406311979061144236671546343605964591425574924862077444569\": [\n \"8110535153322768275844679344247444315821352019473105947465998996077820068472\",\n \"11542992198915009269992643505296762626287098759052560079559964279920586787029\"\n ],\n \"11152386032757666287199270883535640675990703430802833267767700137000791173155\": [\n \"7888998615804624034406311979061144236671546343605964591425574924862077444569\",\n \"17886844902917861614725961228126883866954036894524485722891319589160105392684\"\n ],\n \"2919047889848417127715192336714087060668016109331110835978377384023218482363\": [\n \"11152386032757666287199270883535640675990703430802833267767700137000791173155\",\n \"4361051752165442970309442063841989773900158743627411596489996480152583237883\"\n ],\n \"19391709007541857392759485630402827084375523021457582740878768148105645045613\": [\n \"4234652451889822591300032820950685943294110079318397657283629465476270778068\",\n \"2919047889848417127715192336714087060668016109331110835978377384023218482363\"\n ],\n \"18235849380178931120132932240937398694494633156196318896536860714856197228162\": [\n \"15908221699956314652815728422606727927893328674514831862525186322685219219651\",\n \"1\",\n \"1\"\n ],\n \"5968585963712375465212361092601113796291620030850731924680935344657839127096\": [\n \"228625654030405425460782349250651480367892402273208906852493954564121971376\",\n \"18235849380178931120132932240937398694494633156196318896536860714856197228162\"\n ],\n \"8196960489573807478148047473063736340530157758560899208125204288705489331328\": [\n \"5968585963712375465212361092601113796291620030850731924680935344657839127096\",\n \"11737860676933779564734129135583844227438600375195528663390948269338128562582\"\n ],\n \"12232296741776934978125303760653521556734620245542828386783040821384383411542\": [\n \"8196960489573807478148047473063736340530157758560899208125204288705489331328\",\n \"12929330266472659202444051459284197891227220645393890539685871826821361495771\"\n ],\n \"12281228335182366992710500387800588696162904424838853812070911737466069164227\": [\n \"12232296741776934978125303760653521556734620245542828386783040821384383411542\",\n \"19115573579435593402261714396493443903357322557528598836080710994547513989448\"\n ],\n \"4362479992730998295311511421370735791356630241344223175203590889929240721742\": [\n \"1717997151033614534531631713040070560283304778151534716695447390858787877769\",\n \"12281228335182366992710500387800588696162904424838853812070911737466069164227\"\n ],\n \"17148290959246905263394181886433552268428956529889348455012095003526512420843\": [\n \"2049295866217634197461296437102212758014726227229317794291133358230434981354\",\n \"1\",\n \"1\"\n ],\n \"14996759311169497651354666990386246543374304516844739191078283949466811025475\": [\n \"17148290959246905263394181886433552268428956529889348455012095003526512420843\",\n \"6059277970155778684149199054616090972653665265944705894812953099276215208388\"\n ],\n \"20334238531625519256590921432048848696614191551093343582251454544250340476359\": [\n \"19101509798174823023738955971151240860749380655671403879220160324129064511313\",\n \"14996759311169497651354666990386246543374304516844739191078283949466811025475\"\n ],\n \"16546326732168529117033750068136347814189670079899355510915156341754514058236\": [\n \"8619589695669006368154631635482170443066248813656407303960583384561650503941\",\n \"1\",\n \"1\"\n ],\n \"20208845775288584979887316139785235278423007269549089134365945945514540204247\": [\n \"16546326732168529117033750068136347814189670079899355510915156341754514058236\",\n \"21687094494629774222871871807423306417212708503942770902648100318678227963715\"\n ],\n \"11624274901052017109250690199370153461316021170735775776037015123374801965481\": [\n \"20208845775288584979887316139785235278423007269549089134365945945514540204247\",\n \"0\"\n ],\n \"15479781929026372236182576241941040684704200019667456099753576815466046769326\": [\n \"11624274901052017109250690199370153461316021170735775776037015123374801965481\",\n \"0\"\n ],\n \"2003244672019276084053065927267084179616074916802684977230533273026163695335\": [\n \"15479781929026372236182576241941040684704200019667456099753576815466046769326\",\n \"0\"\n ],\n \"17830728302400715216594606395903256041676154531649843507450372861584403402318\": [\n \"2003244672019276084053065927267084179616074916802684977230533273026163695335\",\n \"0\"\n ],\n \"8696385096582091298193506104040825698925894602062754109568677388872049049756\": [\n \"8132450395903834092080068979403100262140467350883612170956136824392237476678\",\n \"1\",\n \"1\"\n ],\n \"7380840786357424850601975592747338071329797950690391941328512829034870027400\": [\n \"8696385096582091298193506104040825698925894602062754109568677388872049049756\",\n \"13278054157984715539876905730971663536192491537739659605119083791677407939113\"\n ],\n \"14315165308289414531341191938719356676934853679608207548507135461677422388009\": [\n \"19557760058253667628140302433057314891188530505895366856763450022067489313269\",\n \"7380840786357424850601975592747338071329797950690391941328512829034870027400\"\n ],\n \"11848107558179738813761968970082497878826695235920530878343703482126025239734\": [\n \"2137928738559169766100331123645759981588735857758451422035806587995846657949\",\n \"1\",\n \"1\"\n ],\n \"17701284811483660936144495085563354639870692445504202815278509101827525073366\": [\n \"11848107558179738813761968970082497878826695235920530878343703482126025239734\",\n \"14482128569926102955973942526585038962147228915936444663969814237839323300919\"\n ],\n \"18635919869535750424397803351977851627124048586232108742267555381101766575816\": [\n \"17701284811483660936144495085563354639870692445504202815278509101827525073366\",\n \"7063177368299541690075266763284697479819452676497774112886126121138203397133\"\n ],\n \"14738376659367498982378020203509387701836605416628327384153527794678590535957\": [\n \"18635919869535750424397803351977851627124048586232108742267555381101766575816\",\n \"19037798166581940498185341965227273287894275249694920966725430682902190298068\"\n ],\n \"14282729373698242667061408238302925223363562943905346639708538188546387859438\": [\n \"6530931877139733359177838906959211766515650047455273088937576694135165755015\",\n \"14738376659367498982378020203509387701836605416628327384153527794678590535957\"\n ],\n \"13464943902882720716946874730125438291785533187244300267503609926863737642029\": [\n \"10615229226167431756571322370669473499214031948324274837465398033907435091559\",\n \"14282729373698242667061408238302925223363562943905346639708538188546387859438\"\n ],\n \"5001721245480010397549796087412979614655316703973187659464682132399752045302\": [\n \"1043373780095222465685511327273796202171551039611549412511565274847870216452\",\n \"13464943902882720716946874730125438291785533187244300267503609926863737642029\"\n ],\n \"5043484270461337776134666604025992729155718274510701393151478901292650905641\": [\n \"21783255762117571236782387092075249692703435453289860046292979678369520560427\",\n \"5001721245480010397549796087412979614655316703973187659464682132399752045302\"\n ],\n \"9263138166686593957271340138412811926531619155711831379207677465682936917412\": [\n \"445380208127861079231987339326263488776930652011867237744722418427068038416\",\n \"1\",\n \"1\"\n ],\n \"21583407658256739449956068933830304692898117858378230994849691334646753118704\": [\n \"9263138166686593957271340138412811926531619155711831379207677465682936917412\",\n \"4847752887436871286468891762465920620104724766664128190166914665812992559358\"\n ],\n \"14667468675446805609998419355504142946141487808561718923371921390648774961527\": [\n \"8492801813841068376154882455558379115995228226457914222285519508616186665906\",\n \"1\",\n \"1\"\n ],\n \"8023145586253415204211998250064308693235142900444999693088069595868449720093\": [\n \"560692991773257394842516132282054253924413879990258312326210826554742990830\",\n \"14667468675446805609998419355504142946141487808561718923371921390648774961527\"\n ],\n \"7869184742116113665067285427319009420490391226760299549966414267754777211158\": [\n \"0\",\n \"8023145586253415204211998250064308693235142900444999693088069595868449720093\"\n ],\n \"4505017825372462667911540798197568160651870335306290637292894671085540228698\": [\n \"7869184742116113665067285427319009420490391226760299549966414267754777211158\",\n \"18985638049567979027323809235854467035393741476670510684373721063564926660858\"\n ],\n \"7768239992516744368595135414918454207141297939524153046877613811153189107793\": [\n \"9803492380719364606580597262920415781202799949291492171923507029711639445151\",\n \"4505017825372462667911540798197568160651870335306290637292894671085540228698\"\n ],\n \"5999139312228959522458110342639439724178263274481076376848612984833609052288\": [\n \"3183076838241648583672729009064732101135770459767240557598350876942747352998\",\n \"1\",\n \"1\"\n ],\n \"6189977751846334372431867949682476816465740374104501745976434806851253421731\": [\n \"5999139312228959522458110342639439724178263274481076376848612984833609052288\",\n \"8263178854516011924848417137383797227686471372655209880082491516524328577912\"\n ],\n \"20145402532719677181973037283714905534043905982352654599059469320061742421497\": [\n \"20891621515119645798583091335212544459340966135934986921236857884521348566883\",\n \"6189977751846334372431867949682476816465740374104501745976434806851253421731\"\n ],\n \"21570097011854868622575123423131026799816602645721069564061494594213697381426\": [\n \"13351587211516482778850402396365755029385830844497492735051323393002910447006\",\n \"20145402532719677181973037283714905534043905982352654599059469320061742421497\"\n ],\n \"19597159921871484234137540908934782660231323056548325119305456583490355022766\": [\n \"1539342973517848741847534893053058408266000944214738586211052100432652791311\",\n \"21570097011854868622575123423131026799816602645721069564061494594213697381426\"\n ],\n \"5830198975392471874457215352683406238829100788777771587198320345995514736150\": [\n \"9687343139469745662812490516575587385158580210503978784918695756661949136873\",\n \"19597159921871484234137540908934782660231323056548325119305456583490355022766\"\n ],\n \"2340579687114185371797268642079102738022736348083556407506516103501477013691\": [\n \"14263674811560134705122319998872083744672693420086618157501086342299988656036\",\n \"1\",\n \"1\"\n ],\n \"16528966061111141605860487779867610403677124023395801488552464658288811987927\": [\n \"3657597000535767923134142880985631063061338545292063694703697133637140848530\",\n \"2340579687114185371797268642079102738022736348083556407506516103501477013691\"\n ],\n \"14942635210054861141552697899543076537081313024673465207430836603563318866236\": [\n \"5180355146862212278526312831535725233494016970636392276954064029852018886615\",\n \"16528966061111141605860487779867610403677124023395801488552464658288811987927\"\n ],\n \"15503884597503126392854538780197449517809573002660408526298637936620695344517\": [\n \"16542787807949688542187950255100128701478601631802677702298743846763733357598\",\n \"14942635210054861141552697899543076537081313024673465207430836603563318866236\"\n ],\n \"11283315323774437637468156238055553996330436857538043499335155960417800324802\": [\n \"20861869845292283378494542978886070320245641910479729183714498194740524608028\",\n \"15503884597503126392854538780197449517809573002660408526298637936620695344517\"\n ],\n \"460475611622443186682572032582661599897364788217270278870595370863211010885\": [\n \"9357937540770267571731437835787814685853692924854293083831799108824882893776\",\n \"11283315323774437637468156238055553996330436857538043499335155960417800324802\"\n ],\n \"477033185872196036918808066510210027005429827641756123996655637655445714012\": [\n \"21586088571957729305114559041513100495226648591324115829271929688790799677150\",\n \"460475611622443186682572032582661599897364788217270278870595370863211010885\"\n ],\n \"13416292825131211535131109028545365287119668156996422593772644726172701998304\": [\n \"18289906949423826849273059731866615017325331547266697285925512871257200947911\",\n \"1\",\n \"1\"\n ],\n \"20538530500318448314548934992265375462880956995091526389974866422335989525469\": [\n \"13416292825131211535131109028545365287119668156996422593772644726172701998304\",\n \"358033976252227580549981863676615185528114662065890772087775685332169360990\"\n ],\n \"11009777569553281445291240163149872520384336347564911671825802256904298340935\": [\n \"3040488171526678948371979379257203376141717750925722622187176229279347790359\",\n \"20538530500318448314548934992265375462880956995091526389974866422335989525469\"\n ],\n \"11535653869819342617063538455875196755985416141568904308431580122920844678805\": [\n \"17525909178524459949998453904637123172524504953174859190793060922824933813953\",\n \"11009777569553281445291240163149872520384336347564911671825802256904298340935\"\n ],\n \"11913183650477868736693858900744321157971955853858147554598445024374809340748\": [\n \"1537965107571329208238530995608611076983690514657707925514194370995344480004\",\n \"11535653869819342617063538455875196755985416141568904308431580122920844678805\"\n ],\n \"3193746621179091085456513256780092904819225416924535381085052368886392069138\": [\n \"11913183650477868736693858900744321157971955853858147554598445024374809340748\",\n \"19223705621871906085355530969469964614631726534863753325114065276192909449358\"\n ],\n \"18260205452029036201767605727005553401894418456483799225997593670001449217573\": [\n \"3193746621179091085456513256780092904819225416924535381085052368886392069138\",\n \"12754710676581503493286699131625481580910809595196887836055976473171481052138\"\n ],\n \"12285418563759369929833350668932163046246053885281447379712667407907464630849\": [\n \"8115104605090660846285497019002529544093772552746363313649596446691838193838\",\n \"1\",\n \"1\"\n ],\n \"8622525226829163227436411034896024116830760506455778997505074177469780673100\": [\n \"3605877495670207748730834492022194031428609524480414464157200370569071798965\",\n \"12285418563759369929833350668932163046246053885281447379712667407907464630849\"\n ],\n \"2313001789337734161972225627516541136198379373226967047712739902659191732160\": [\n \"0\",\n \"8622525226829163227436411034896024116830760506455778997505074177469780673100\"\n ],\n \"10481649438298918394120513181154496191208516673770223666374199034111462128363\": [\n \"2313001789337734161972225627516541136198379373226967047712739902659191732160\",\n \"18112747309733831950048134370875129950744678468645326246571047302651422856067\"\n ],\n \"14405814063570957697839150937472193157761007961903943278238092891516105484668\": [\n \"10481649438298918394120513181154496191208516673770223666374199034111462128363\",\n \"7106742743434552504273060685647114338404209081931482073218682374849133025981\"\n ],\n \"18787686120394097892164642826824268923136414901133300634404504431135883546858\": [\n \"14214641599085157024542188991924712455596856766903710796343031220116675076973\",\n \"1\",\n \"1\"\n ],\n \"15505153783945592074394657589994136654922275816635864797428056117497073532870\": [\n \"12586851102229340351711208225650018132620125853289941014034963510786008621297\",\n \"18787686120394097892164642826824268923136414901133300634404504431135883546858\"\n ],\n \"12005043845647621733300223983720470388468134701328318911424701942397042073737\": [\n \"15505153783945592074394657589994136654922275816635864797428056117497073532870\",\n \"0\"\n ],\n \"1475118777621175026438909486329631488362067956557663859192778253747765688762\": [\n \"0\",\n \"12005043845647621733300223983720470388468134701328318911424701942397042073737\"\n ],\n \"15368713932530126519104516966201991110007424082938617348325352624626097919281\": [\n \"1475118777621175026438909486329631488362067956557663859192778253747765688762\",\n \"0\"\n ],\n \"5561117416246825911587133745509237396661165537312026390100562287645447682413\": [\n \"15368713932530126519104516966201991110007424082938617348325352624626097919281\",\n \"7607935851021196008434061089819564212495253231899314759382318891675819958280\"\n ],\n \"19076171348850313294575950421891534130200301547267676216533531711769520806723\": [\n \"5561117416246825911587133745509237396661165537312026390100562287645447682413\",\n \"9900475123099103350239010695897275837474613867101599429126181735017655616119\"\n ],\n \"1549021154143086728118526880801876811743313406606189747681372144178898666354\": [\n \"3367092877010054650767514306737177606729213136076169512019955538402289941235\",\n \"19076171348850313294575950421891534130200301547267676216533531711769520806723\"\n ],\n \"3877426716170870729990066502670761831656477574769793849465541925573775602631\": [\n \"18282084753873151722051091644810463617586908296006361049395396744866822699212\",\n \"1549021154143086728118526880801876811743313406606189747681372144178898666354\"\n ],\n \"14756876257249365817994270491662048675997370133344258143427258041756867251514\": [\n \"17615394276749831489274717032627142151798684120416964575723626938831241511892\",\n \"1\",\n \"1\"\n ],\n \"10858088074891606332319498866085091610532434423742239544123858637045339065844\": [\n \"14756876257249365817994270491662048675997370133344258143427258041756867251514\",\n \"1497878122503275492778127924214287741516403121019248872915200065653431230244\"\n ],\n \"14046506026154721203009643507964473391929481093107068155875451812090712392396\": [\n \"10858088074891606332319498866085091610532434423742239544123858637045339065844\",\n \"243333927319099578434474661857833081397526192294312541298706966738456707964\"\n ],\n \"5707715239462331525287653613329908766538635897609880746496935047711936858490\": [\n \"14046506026154721203009643507964473391929481093107068155875451812090712392396\",\n \"1482617188483999775316962122382394702895827865177715030686641832489921454554\"\n ],\n \"9527356504257475502028741545813363932848924253241828854911990110586638639224\": [\n \"688310196170863792520308166281166129718369750213875965137648615385813256516\",\n \"5707715239462331525287653613329908766538635897609880746496935047711936858490\"\n ],\n \"12946818017268788127437560893863930037571672916775187762954189258423965228368\": [\n \"8911371902497112180071402553118697523713215205010109733419835897013687964098\",\n \"1\",\n \"1\"\n ],\n \"415511500632519011029512741010526067982657599873618327919899050887428261735\": [\n \"14458155995591164707984555191213190606122156526256870151780294152390160537502\",\n \"12946818017268788127437560893863930037571672916775187762954189258423965228368\"\n ],\n \"9255293695253694272183412759665629682453201623462101168189401266867982652877\": [\n \"415511500632519011029512741010526067982657599873618327919899050887428261735\",\n \"0\"\n ],\n \"6486925136544067328833807331108211114551376416053213809832126739014272388065\": [\n \"9255293695253694272183412759665629682453201623462101168189401266867982652877\",\n \"19157406106340431568759402391719882736227297514667564622850787472853161069315\"\n ],\n \"2687770838790584851170747545014667121697537350221132123091460546523283603607\": [\n \"10236340808664389667461181337092335154013378777460200447862546996196873186804\",\n \"1\",\n \"1\"\n ],\n \"493555762628112505477369801173957446995745533025299439650523367406441308340\": [\n \"2687770838790584851170747545014667121697537350221132123091460546523283603607\",\n \"8380970169304712339495152004972828661926035834194828190851061018721216088516\"\n ],\n \"16754116315741035301703174933483671078464101337543022565743130067699430561904\": [\n \"0\",\n \"493555762628112505477369801173957446995745533025299439650523367406441308340\"\n ],\n \"20994540592312757211852340361471104341744159794532735384659729944105952742710\": [\n \"16754116315741035301703174933483671078464101337543022565743130067699430561904\",\n \"16492139498920283049020974757701294753801016823909219729210656481724483726322\"\n ],\n \"18744096694675887819109909169084612940308970702977330867094353646523075118435\": [\n \"16033023452473839187322792955893642455005080242349090968716726337170453710938\",\n \"20994540592312757211852340361471104341744159794532735384659729944105952742710\"\n ],\n \"19443700500864655271393976652852821438144904506868592780324100261493959388540\": [\n \"4429742471569222427446974557970542808199571503703647787623272582514215542471\",\n \"18744096694675887819109909169084612940308970702977330867094353646523075118435\"\n ],\n \"4842398809678512333251169758392465430883328272573901682575473214571133696180\": [\n \"19443700500864655271393976652852821438144904506868592780324100261493959388540\",\n \"21613334662658421334042241533711529889741331692770237003804359837975138212113\"\n ],\n \"17147506664461550530981710092310480824810035846231616011372955588892565782626\": [\n \"13025581161649921685983215743665292825459262636875821481049973291507114332301\",\n \"4842398809678512333251169758392465430883328272573901682575473214571133696180\"\n ],\n \"3798517095753734019181305738542480129533586055161780175722369112172807237507\": [\n \"20431836358180913501466112792323430277781639558853698035077014209657517079538\",\n \"1\",\n \"1\"\n ],\n \"8899206483802095300648374419812863856618855042899686088765896652179115650678\": [\n \"3798517095753734019181305738542480129533586055161780175722369112172807237507\",\n \"8716534851544733788221615263266547789859842490186166675662137241003037393954\"\n ],\n \"9412396846542525730320993104342514562817732830352546142126386083733785945558\": [\n \"7065122756180892662844928524979152232221311456153943361926178693784124132793\",\n \"8899206483802095300648374419812863856618855042899686088765896652179115650678\"\n ],\n \"7266906806874489917192954463013966067511306985183437518426208271187200606325\": [\n \"0\",\n \"9412396846542525730320993104342514562817732830352546142126386083733785945558\"\n ],\n \"9238746661916650075312069385316527376445508775595883972685317997067574019268\": [\n \"15177788044250028537025451233314584587006233363023861917877519452761550207706\",\n \"7266906806874489917192954463013966067511306985183437518426208271187200606325\"\n ],\n \"21009856843281313448856138293607756031679064829266851480358134950758633180495\": [\n \"19539232317486706748915755383886320673132958301389440919368708735783916100301\",\n \"1\",\n \"1\"\n ],\n \"13600367033620152153863747355952954089268794746602181383696874494872254147198\": [\n \"21009856843281313448856138293607756031679064829266851480358134950758633180495\",\n \"18772727354088457858686775690566611039008008320392373888812723409145538808873\"\n ],\n \"10497513647406413483355585896410998266269397124413958945774919599002120185837\": [\n \"264622721837469172266962937147812828602773967794968367161838615383690309295\",\n \"13600367033620152153863747355952954089268794746602181383696874494872254147198\"\n ],\n \"16460748608404831421366695280690444821971976160741065231022663671485390463679\": [\n \"13310247036280689396135715180574184890683814781671882784587847359222869887867\",\n \"1\",\n \"1\"\n ],\n \"9494531139523240658792544279160136599510505680753768211737832553532550584508\": [\n \"16460748608404831421366695280690444821971976160741065231022663671485390463679\",\n \"13074115687180204514851035808276594630913451793375271552945976157023204823622\"\n ],\n \"19144912323038092753348800064542223173864766940072856123494996209690062011914\": [\n \"9494531139523240658792544279160136599510505680753768211737832553532550584508\",\n \"0\"\n ],\n \"9146827687163241831026946802141243875750621420543303587145699356676467486059\": [\n \"19144912323038092753348800064542223173864766940072856123494996209690062011914\",\n \"10132989826698557895338914032458699599131830671331577484659736059902973811310\"\n ],\n \"12286428123288592436258879997085774443179740910436914551104540737053482782288\": [\n \"2269071374884945123291644945998506674613102982168560200887935048511798771\",\n \"9146827687163241831026946802141243875750621420543303587145699356676467486059\"\n ],\n \"5947554576144771538480796732481317620469639109881538346395674004890068331943\": [\n \"12286428123288592436258879997085774443179740910436914551104540737053482782288\",\n \"13704158629668449485056697959595830407091491555721835883149278698556840469857\"\n ],\n \"7769811528289451612837657926673007728267309212121229603202519073123170676030\": [\n \"163757773036143686457102493715601955636608757014344247002977467991367317499\",\n \"5947554576144771538480796732481317620469639109881538346395674004890068331943\"\n ],\n \"7034312433676466262991456871602158248262781774156208857844993966756816671794\": [\n \"12846639596542303785221026292548904189307436033294189113783376606447796190324\",\n \"1\",\n \"1\"\n ],\n \"2625654182095542249288325790501118795029831086321177254029494970269861603400\": [\n \"21509031172420148468852758956642523488496926488044797648154671070012659429803\",\n \"7034312433676466262991456871602158248262781774156208857844993966756816671794\"\n ],\n \"8999259074977976521132595474422008341972459693775859687833747050361197998993\": [\n \"0\",\n \"2625654182095542249288325790501118795029831086321177254029494970269861603400\"\n ],\n \"19612851251342075767631624812415759906472090560342985677032024461039828472559\": [\n \"9097936150173324650131142190342049366887537812631137048464597861330327349370\",\n \"8999259074977976521132595474422008341972459693775859687833747050361197998993\"\n ],\n \"12067941793823923357555516051722339581715199094967651684597399589849078540970\": [\n \"20483070350360339619022199276007499524694925733059517061276420662750268831046\",\n \"19612851251342075767631624812415759906472090560342985677032024461039828472559\"\n ],\n \"8365384527089145280462535647227042858772374504089024337398721703318133038106\": [\n \"3351070797376096168660674432413566869083367271541969267387158538057713256004\",\n \"12067941793823923357555516051722339581715199094967651684597399589849078540970\"\n ],\n \"11336053065842484037465178840343434628640525529733670299607488331724237937731\": [\n \"8365384527089145280462535647227042858772374504089024337398721703318133038106\",\n \"19508305202939493343683435019131113081175675005811296554930221658859052453803\"\n ],\n \"14681634493679419838081297386264678860428170436586905459794444044984331538249\": [\n \"11336053065842484037465178840343434628640525529733670299607488331724237937731\",\n \"7262175615852903239846654838676982772524078004491531477477532655427316165959\"\n ],\n \"16899487047226948985046202568111767410517808191962407126162888654210780055408\": [\n \"14681634493679419838081297386264678860428170436586905459794444044984331538249\",\n \"17147506664461550530981710092310480824810035846231616011372955588892565782626\"\n ],\n \"17819642648638559990434426530839817848618126364239055234086165180971966263014\": [\n \"14714607046288610449700323878962952397664071420092864229495361511929499294277\",\n \"1\",\n \"1\"\n ],\n \"14601283083404737214868571746422077865308013320638377586781377926237137811898\": [\n \"17819642648638559990434426530839817848618126364239055234086165180971966263014\",\n \"11568439013294960028727201000197866718474876979611334715537137260609196608231\"\n ],\n \"20101307273721645664138202565949692163731027234638961815385718613362834586734\": [\n \"14601283083404737214868571746422077865308013320638377586781377926237137811898\",\n \"0\"\n ],\n \"3530027867791251851909611253295301168925844276856245333792981574339988053530\": [\n \"12820649584085506974388845086956766875312864871640753694001518916409594942734\",\n \"20101307273721645664138202565949692163731027234638961815385718613362834586734\"\n ],\n \"19102600949619738254482236209128757833691008158995464699683965034830825085123\": [\n \"0\",\n \"3530027867791251851909611253295301168925844276856245333792981574339988053530\"\n ],\n \"18345008243287144572684279649896630859810168332784617193511251782795538477683\": [\n \"19102600949619738254482236209128757833691008158995464699683965034830825085123\",\n \"5260900938101369980231035645921702394618860050618452498159887030307806290354\"\n ],\n \"5099210894939250292852368126599109705935483073649392273942246596747016519963\": [\n \"5535495542894088635597519047473276805487267674594450784672599551382682602589\",\n \"18345008243287144572684279649896630859810168332784617193511251782795538477683\"\n ],\n \"14948058674254326033864456875647891034679060236279867765870811550613245601511\": [\n \"5099210894939250292852368126599109705935483073649392273942246596747016519963\",\n \"12477738171921935072367456882927902105568369810264622047108628556138727226454\"\n ],\n \"12261894858626746668828141372761202438245501276869444467283063453671240497616\": [\n \"11319970823878151211945670816118116083673851840588543576873593156019049500828\",\n \"1\",\n \"1\"\n ],\n \"16236933778667708504468653781446629644300139757181965813464348997216924131956\": [\n \"18046726005629104332346323887067962670087059680405551314267555385240817229119\",\n \"12261894858626746668828141372761202438245501276869444467283063453671240497616\"\n ],\n \"8669566915055978903639324558445467376597162305427017493553763601526181377834\": [\n \"16236933778667708504468653781446629644300139757181965813464348997216924131956\",\n \"8676775637449404502135298005215946450180706886732906556304840474763818075302\"\n ],\n \"19278634421938770850678389377395775397978191327712733485464245460031677363570\": [\n \"8669566915055978903639324558445467376597162305427017493553763601526181377834\",\n \"5766272990194121576592959037280396351087219785173011999968208726312566563515\"\n ],\n \"88586946742003406501990721452329164997285809685319812053828727861524254157\": [\n \"6545589475378920189951403380562890843029858853784743761584974197327325071124\",\n \"1\",\n \"1\"\n ],\n \"2535921692568016488709642790691355315078446758231263343731213068611214335800\": [\n \"88586946742003406501990721452329164997285809685319812053828727861524254157\",\n \"15957647492455880542013772915310874731563940530704956866132058788715774640456\"\n ],\n \"11570958645272802501979484274242475218652087887366436699615858333470236780201\": [\n \"2535921692568016488709642790691355315078446758231263343731213068611214335800\",\n \"11081294565811123500802890355557803216257321615329009807041914674375443134157\"\n ],\n \"1060182329814118151060432462105824228211380552635869009972883914947660549800\": [\n \"18416781650728011246901553247326245490116374629144802911450528510772119447406\",\n \"1\",\n \"1\"\n ],\n \"12641546344806097658526960597361330174578134101512741889611292030897471042821\": [\n \"13072601173031271536967676603450418024033953722466173950895924421974420451393\",\n \"1060182329814118151060432462105824228211380552635869009972883914947660549800\"\n ],\n \"15245834575287472957780912296203080203006708928776587140068393104609545121858\": [\n \"12641546344806097658526960597361330174578134101512741889611292030897471042821\",\n \"0\"\n ],\n \"16094670710587597490310349647600033183180285385850820343957934767591456982501\": [\n \"0\",\n \"15245834575287472957780912296203080203006708928776587140068393104609545121858\"\n ],\n \"13517503354182343408848094031294124137522060811416869655893597325414036467960\": [\n \"16094670710587597490310349647600033183180285385850820343957934767591456982501\",\n \"0\"\n ],\n \"3770130682002654186997449391790359252275590278248562806301315270245502872151\": [\n \"13517503354182343408848094031294124137522060811416869655893597325414036467960\",\n \"15968825199949491682719600029442829562861761727293654435878679432214335107287\"\n ],\n \"14635158748167629404495104771212141035429653262920912431412748106570141046532\": [\n \"20620856019273898819504484857791448771912241003462183489627685706605467753038\",\n \"3770130682002654186997449391790359252275590278248562806301315270245502872151\"\n ],\n \"12700275640935692006786752982136257799711664211774173890446692593359749595135\": [\n \"17847598990005441197503940929880809371641199726673275076955734243339835382902\",\n \"14635158748167629404495104771212141035429653262920912431412748106570141046532\"\n ],\n \"11839153128837149415271939811284548913339927180702928374971668756731015721475\": [\n \"1409541181441381037486824527290942425082540986157562131918773833595178323951\",\n \"12700275640935692006786752982136257799711664211774173890446692593359749595135\"\n ],\n \"932877857556941174049405707254708497696601063464967089544736873659912513774\": [\n \"9822831049896308024000232950615512714389860254262742066201093911652454139546\",\n \"1\",\n \"1\"\n ],\n \"18750968452893574790258074977821849183659573390189032644636098943969192176002\": [\n \"932877857556941174049405707254708497696601063464967089544736873659912513774\",\n \"10154824021314770731194201555039435656523317698292598224788801183380731760988\"\n ],\n \"4666015051752792320692611706863012980173984630132507364757569924060368178157\": [\n \"16489554577255089090040540077944585463337053546139007534431165160808964462787\",\n \"18750968452893574790258074977821849183659573390189032644636098943969192176002\"\n ],\n \"13940174612613075976584595002045435319959077358742485320204301163547993070968\": [\n \"9894287316394214474649010000043131072429406162863557325943221085482943255789\",\n \"4666015051752792320692611706863012980173984630132507364757569924060368178157\"\n ],\n \"20445048353647806263503156195394782348878048739028507384475997014349579186359\": [\n \"13940174612613075976584595002045435319959077358742485320204301163547993070968\",\n \"17056602543903350848222804112560956093692130184640978364292958771187307841654\"\n ],\n \"2102341187050814648980275428531103309371439522089890910600914877042709199938\": [\n \"3322994919687922095070385554155011174369238292735468443624010602391820258349\",\n \"20445048353647806263503156195394782348878048739028507384475997014349579186359\"\n ],\n \"7768903765679293144469129186511385759785356709525102981709434487424085377228\": [\n \"7865012211031871783035163926562399357629194995172961791372114263448824600824\",\n \"1\",\n \"1\"\n ],\n \"19737755934901585761803691060156389909497065704250278862634658472126840583680\": [\n \"20269760283047984660779050943649865731984979278692970713728123855247832705718\",\n \"7768903765679293144469129186511385759785356709525102981709434487424085377228\"\n ],\n \"8301214916930897947057883765069902511786314796530775607924416818708900674636\": [\n \"19737755934901585761803691060156389909497065704250278862634658472126840583680\",\n \"0\"\n ],\n \"18220577647407310494402334958192469509822903181725485007194495361509661969015\": [\n \"0\",\n \"8301214916930897947057883765069902511786314796530775607924416818708900674636\"\n ],\n \"12658184672729898296959350730763182149439934802310183314653776060799637957984\": [\n \"0\",\n \"18220577647407310494402334958192469509822903181725485007194495361509661969015\"\n ],\n \"14159691753330856666165206196399179661133177460267463508134082216125752070908\": [\n \"12658184672729898296959350730763182149439934802310183314653776060799637957984\",\n \"2952435860430317254762692990031809240680581245226326844307940038703999236462\"\n ],\n \"6038813417111171410002354096869540273511159306425578365771602466457077551013\": [\n \"14159691753330856666165206196399179661133177460267463508134082216125752070908\",\n \"4801700140021781051447867067375544879238261550207765151398170177095608885436\"\n ],\n \"13577590643504000441015650480047118229967524463923372330688342184290266604264\": [\n \"15959884004506396552541704070716332416806528366953084548355102725064487934426\",\n \"1\",\n \"1\"\n ],\n \"4767205287788218044069175317886111708464277365027936279696410576497889359102\": [\n \"13577590643504000441015650480047118229967524463923372330688342184290266604264\",\n \"19974608219275984928891638632977986968813221926739097892791906129108614861367\"\n ],\n \"3073593582847400955219738742969590095593535596107510606988391239545328666885\": [\n \"0\",\n \"4767205287788218044069175317886111708464277365027936279696410576497889359102\"\n ],\n \"6954372711613459135714647203414335452656558888869406597583001861776342916783\": [\n \"12997379959707870040653562142823733646240124435088160623939232706771130564925\",\n \"3073593582847400955219738742969590095593535596107510606988391239545328666885\"\n ],\n \"8291372758355144992368703663781716941838578039919593035900104983955060080811\": [\n \"6954372711613459135714647203414335452656558888869406597583001861776342916783\",\n \"9290036395032568026410088519377556234552725073230141862586611380922878762686\"\n ],\n \"1478504010890861987231529751341092677097330250338375339770670589895440682919\": [\n \"8291372758355144992368703663781716941838578039919593035900104983955060080811\",\n \"14401739516577444715637174879421698617408985544462162066086759394383310095969\"\n ],\n \"15947477863384488757124035696428435732418138926514416632676063811879998578038\": [\n \"8699516755707776444623645238479081270599134627065695530398700720495247664686\",\n \"1\",\n \"1\"\n ],\n \"12770088734804484686237265439321568329743224648079214678798503185727664491997\": [\n \"15947477863384488757124035696428435732418138926514416632676063811879998578038\",\n \"8027591174787365033185304061728239654094169874946531475681887953429178895614\"\n ],\n \"20125617973057888209055556425966998617483213152987396642292939081922725604782\": [\n \"0\",\n \"12770088734804484686237265439321568329743224648079214678798503185727664491997\"\n ],\n \"3478952654034952361672932170824369237097839859048428156443653868779576900205\": [\n \"20125617973057888209055556425966998617483213152987396642292939081922725604782\",\n \"0\"\n ],\n \"4042468598435110250465211539619555191735757254789503230767799470510913625701\": [\n \"0\",\n \"3478952654034952361672932170824369237097839859048428156443653868779576900205\"\n ],\n \"2548744107270176794474076835716223532283788556351362047920214068321768549608\": [\n \"4042468598435110250465211539619555191735757254789503230767799470510913625701\",\n \"0\"\n ],\n \"5995180154749252867677079902144022795841053912203148450955066688824292800094\": [\n \"2548744107270176794474076835716223532283788556351362047920214068321768549608\",\n \"8046466200893659183850041477892107869921069373401157531151164530734493920549\"\n ],\n \"11753656510016616426217795724188710024751663600669989723492720134235173692830\": [\n \"14391418057644311282411931345328073890355117083542671308609924813306612628745\",\n \"5995180154749252867677079902144022795841053912203148450955066688824292800094\"\n ],\n \"9409813535391199651824780916519924064828297150240015827585467128256634034416\": [\n \"19053018479655458465567351748721404714486293374812058179408825152338249486919\",\n \"1\",\n \"1\"\n ],\n \"14722390720165780761556812053482115864252351118019045808533794244655650156098\": [\n \"4220532015856969428153145224732192449389687530793467840046187707280443789195\",\n \"9409813535391199651824780916519924064828297150240015827585467128256634034416\"\n ],\n \"13383003924088421358808618953328463411371334587279068910847807982699879562997\": [\n \"14722390720165780761556812053482115864252351118019045808533794244655650156098\",\n \"21537825660373987256289951978497750472740308211987267546441298388295935227515\"\n ],\n \"10077616420363498772015514353790393124866053204211902409133944382095200126727\": [\n \"13383003924088421358808618953328463411371334587279068910847807982699879562997\",\n \"5764514685376457119559127451301254645473142515547258879675736802782233788993\"\n ],\n \"6146710057795053311977765405084387536920544248046975685674882327116131653749\": [\n \"19472224778812503363623517965841496707178447139173773000546472763687366244066\",\n \"10077616420363498772015514353790393124866053204211902409133944382095200126727\"\n ],\n \"1036495439039063387881534899651712499588002459971870564818923086621588593318\": [\n \"8811170975798791320542662186293908372063930384950817702415514544875984651694\",\n \"1\",\n \"1\"\n ],\n \"15629908707384174127819217601194064015725593939205475764729291665885768082596\": [\n \"1036495439039063387881534899651712499588002459971870564818923086621588593318\",\n \"5241218120672407599347907988033219862820428619020857898353154490104713106213\"\n ],\n \"18231180769608727123953040843936762074866457096920877262213024666419063679045\": [\n \"18093007087042155966551928849401357440040320212955725098731694867859335307978\",\n \"1\",\n \"1\"\n ],\n \"19899061138552549964371386178104342099568464248617968288591193065942262710628\": [\n \"18231180769608727123953040843936762074866457096920877262213024666419063679045\",\n \"6473149878528846691997056626868411916290362650636092365429338863810916098049\"\n ],\n \"16587560086485299272967102961064630952627660915472843142735314794739047039484\": [\n \"19899061138552549964371386178104342099568464248617968288591193065942262710628\",\n \"0\"\n ],\n \"18647467552561613325077145296005510432096344935478202962219894613986962902854\": [\n \"16587560086485299272967102961064630952627660915472843142735314794739047039484\",\n \"16838519496922980910405196585387705343529743786723985318599481560116091783913\"\n ],\n \"7417615238563542748123283192399664849364864689408386068532180671794625622598\": [\n \"5701169582955840438942945732460104703534309540732962878789121220994891856987\",\n \"18647467552561613325077145296005510432096344935478202962219894613986962902854\"\n ],\n \"20548064212185972831111172150750752994186005620913487881093267017248555248576\": [\n \"20076518730605483234063908662481117323492344294179668534257837320592393566186\",\n \"1\",\n \"1\"\n ],\n \"19530628852839013593231244823909116260094275392741054067702316555773910009922\": [\n \"15992816798159652779352179510211412688981888375788496530480937546035087809715\",\n \"20548064212185972831111172150750752994186005620913487881093267017248555248576\"\n ],\n \"6180129641922011984012100468851625976558330218743114102716107094960003625022\": [\n \"14255771994872428181359422507005712444371699277477707663881834749390842818284\",\n \"19530628852839013593231244823909116260094275392741054067702316555773910009922\"\n ],\n \"11780624939269797283397628976944066590585004830319380210409164440374034855427\": [\n \"6180129641922011984012100468851625976558330218743114102716107094960003625022\",\n \"20497877460719302983727518955575468434388506729226859394239414247914590317523\"\n ],\n \"8846097342753030372944673791979163023872889286369190925302755987476016829822\": [\n \"16036328905509281846510692310248894281216785572589434795965191829556390003612\",\n \"11780624939269797283397628976944066590585004830319380210409164440374034855427\"\n ],\n \"18320827039458586103536782455908094049498903535238407713446923713678852498026\": [\n \"20334238531625519256590921432048848696614191551093343582251454544250340476359\",\n \"8846097342753030372944673791979163023872889286369190925302755987476016829822\"\n ],\n \"20299704655947442205031208037343522198912551857626016110459188032290456234991\": [\n \"406744769530789267351037211475349350304815081629352161900381846364508092815\",\n \"1\",\n \"1\"\n ],\n \"10418392928725017157348903834966327665755352348516649597083559422632498650627\": [\n \"17889581984853511773414632758620956384462805119633177934430934833768927871663\",\n \"20299704655947442205031208037343522198912551857626016110459188032290456234991\"\n ],\n \"478027975827784161677910173113686869369380802803757209696016076599873592612\": [\n \"0\",\n \"10418392928725017157348903834966327665755352348516649597083559422632498650627\"\n ],\n \"3225728684407404013858404668376205794770896610334033748454491670493795295656\": [\n \"4258567547706396918544058684367041277969064237764156698765066401233023572160\",\n \"478027975827784161677910173113686869369380802803757209696016076599873592612\"\n ],\n \"1736255461002380326085848900694684727145877212993311158106645099925990940781\": [\n \"16120967610286389664299991860888041239265020592281782629412874833932934360494\",\n \"1\",\n \"1\"\n ],\n \"15702389012397106648375162072155640008726612087710929717336567528532848329258\": [\n \"1736255461002380326085848900694684727145877212993311158106645099925990940781\",\n \"2826712844094652064885709987761786897845032860225873459384664059148676081011\"\n ],\n \"17511362200275679060805996214083034063384159266036357867040372503415993409971\": [\n \"0\",\n \"15702389012397106648375162072155640008726612087710929717336567528532848329258\"\n ],\n \"20885731717109339219218705199060437316849181110866975359810556570869276769890\": [\n \"17511362200275679060805996214083034063384159266036357867040372503415993409971\",\n \"0\"\n ],\n \"8715313982106222247489608606687430007129988047873342532721750987981262677962\": [\n \"0\",\n \"20885731717109339219218705199060437316849181110866975359810556570869276769890\"\n ],\n \"21821046817202476838823088274468394883795653693162947542764602489171613295112\": [\n \"8715313982106222247489608606687430007129988047873342532721750987981262677962\",\n \"527058446686214478289095123234947001984307180977743373520209741053208586751\"\n ],\n \"8497568273325369231377747730624676391335021125736640928406867550627078064755\": [\n \"15629908707384174127819217601194064015725593939205475764729291665885768082596\",\n \"21821046817202476838823088274468394883795653693162947542764602489171613295112\"\n ],\n \"14134925040267727190124725183584985659778238860709908209366987452729519176144\": [\n \"8116957622434398731670200750431911322198657624459524512868069425408836708011\",\n \"8497568273325369231377747730624676391335021125736640928406867550627078064755\"\n ],\n \"19520152665494967135954955044856375134592781822630749835689035166115948167839\": [\n \"14134925040267727190124725183584985659778238860709908209366987452729519176144\",\n \"13069799039636201620413724626896400366126601457299183361247909160742910029543\"\n ],\n \"18438175763785148399793992354066675916992681561310335309505259390272667684431\": [\n \"16321453927683698907607401776063132626250708230933679258419405479991093804754\",\n \"1\",\n \"1\"\n ],\n \"20706531686092810211807008451865340535017185577307145568987506339400289631461\": [\n \"16150374783079524134635081429913325347180366648518012252409355381418223393932\",\n \"18438175763785148399793992354066675916992681561310335309505259390272667684431\"\n ],\n \"9257463124691490725665020867078671908363963876913681203164125751571076068315\": [\n \"10632101654036083106344955766541565994571359217402470049083052902271170208648\",\n \"20706531686092810211807008451865340535017185577307145568987506339400289631461\"\n ],\n \"10125336644054388026787028258466536823630215827650843442758933153342396319214\": [\n \"6104476729310700638339635265446426509080138651257767501220057730420326122344\",\n \"9257463124691490725665020867078671908363963876913681203164125751571076068315\"\n ],\n \"15188289922315701838697013051160482520583208338189655435020464717769741652808\": [\n \"3791042213903248840496645644117177360586552984527017067637269283742931778871\",\n \"10125336644054388026787028258466536823630215827650843442758933153342396319214\"\n ],\n \"15142324621012750387312975038617038478962707633443430523266191232755587262325\": [\n \"15188289922315701838697013051160482520583208338189655435020464717769741652808\",\n \"19296199535597171327477310958433554002964762431790252360656311538633741729714\"\n ],\n \"19719490195785470978658847092315605987666302133640440850269981305143847161090\": [\n \"19891925785783108937483886467431146890779748754751011123162862407129714677133\",\n \"1\",\n \"1\"\n ],\n \"3869043986324178179902639292709317598118116088289212361865789251400960715349\": [\n \"19719490195785470978658847092315605987666302133640440850269981305143847161090\",\n \"16539693196132841249335763515718921696118709489123656491645215275295200072338\"\n ],\n \"9633855437636367702952324218077479641893044257744954419756859913906472440335\": [\n \"3869043986324178179902639292709317598118116088289212361865789251400960715349\",\n \"0\"\n ],\n \"6114410892707216085335632307203517992942476088083283408012389457581065424044\": [\n \"9633855437636367702952324218077479641893044257744954419756859913906472440335\",\n \"0\"\n ],\n \"4547744273983977287534622064736844855680691015785979357975338844620969815381\": [\n \"6114410892707216085335632307203517992942476088083283408012389457581065424044\",\n \"0\"\n ],\n \"4245966821252105501060513928878006460321517595902008697611833169724131392111\": [\n \"0\",\n \"4547744273983977287534622064736844855680691015785979357975338844620969815381\"\n ],\n \"4607299154973781782900226505882819070540670559928217942433387210003467615803\": [\n \"4245966821252105501060513928878006460321517595902008697611833169724131392111\",\n \"0\"\n ],\n \"2942785117562554100860894642575151307362065432184640968880928009183323843191\": [\n \"0\",\n \"4607299154973781782900226505882819070540670559928217942433387210003467615803\"\n ],\n \"12402486627328238604665165870072514875565511262257544631642040514289313006845\": [\n \"2942785117562554100860894642575151307362065432184640968880928009183323843191\",\n \"1458334500720759689570141561642766325953152398120104077952952594035449043443\"\n ],\n \"15768079264734509371940564225580880028206372950427356733847220139882261174797\": [\n \"17708422974261681746079315255165186062960674856999889984531627111836002638425\",\n \"1\",\n \"1\"\n ],\n \"1623776264175065225523416961653384322977704799538137549978939591163396461265\": [\n \"15768079264734509371940564225580880028206372950427356733847220139882261174797\",\n \"1657482429247295350963454623660771995725616608325478024209824307214950277026\"\n ],\n \"21309213432750516561791476059262212705729590200320337008713206225398283855058\": [\n \"20698138384468167941837573643336521681837635638042007270666700126156523537008\",\n \"1623776264175065225523416961653384322977704799538137549978939591163396461265\"\n ],\n \"5865249221676885858165759713534132329296814696569735316706090254099178809281\": [\n \"901813362349390401745909687096408567574633835320790578171374535477173641608\",\n \"21309213432750516561791476059262212705729590200320337008713206225398283855058\"\n ],\n \"9853324582934332848190687037646060839533342070266979804539533608265823125197\": [\n \"5865249221676885858165759713534132329296814696569735316706090254099178809281\",\n \"10689614945347549598358121151828917359078407728762251544362522210835893655224\"\n ],\n \"12808233538620994012698620919555673117859960103077801890930878466926233326840\": [\n \"8659618128967712632796846466246735908437535995831770070266262306385579292438\",\n \"1\",\n \"1\"\n ],\n \"3692660820899960130379905030184727657904834808727667420463415307131857027423\": [\n \"17753690184226093063741550024223485564690549873934746004424545563706342307798\",\n \"12808233538620994012698620919555673117859960103077801890930878466926233326840\"\n ],\n \"17507782446068356335414467143581249226122069612977884071718192865649727278562\": [\n \"16986108687599092368784425310252301341017219255236116354199226185742936291946\",\n \"3692660820899960130379905030184727657904834808727667420463415307131857027423\"\n ],\n \"15572836773847536848332937251203366813117753424417251573909612833493410656429\": [\n \"17507782446068356335414467143581249226122069612977884071718192865649727278562\",\n \"15704912125950355659776404149001659826680455528496360310372002070896553787359\"\n ],\n \"9879137273118144034066125103322615177293653700710902240136044887628451455058\": [\n \"19159222713273322621946138828966299664638749497296361067089758883330367149592\",\n \"15572836773847536848332937251203366813117753424417251573909612833493410656429\"\n ],\n \"19319947255951734552223203298497275793593996452128612252603128521591303574444\": [\n \"17086689153592763841200552177804252991670522398828302282533774300163498043067\",\n \"1\",\n \"1\"\n ],\n \"20022964424664678680110400157018290772717672605702767845643050015185837954759\": [\n \"19319947255951734552223203298497275793593996452128612252603128521591303574444\",\n \"5805975738320017590682236745918262000905940929969791645435258880464860527742\"\n ],\n \"15948717026176440262252983737875889033673221713885443317105539065102662669074\": [\n \"20022964424664678680110400157018290772717672605702767845643050015185837954759\",\n \"20707649566899993204828417810114655377777239100908303842747784198207249482676\"\n ],\n \"176566071577517015768539174621406723078218644163063023588718174051781690549\": [\n \"17313386019440281702603258595583299109415407475773473407147950673494269776782\",\n \"15948717026176440262252983737875889033673221713885443317105539065102662669074\"\n ],\n \"9017505724874432743294178097260096262922036412351686300287297636755099890332\": [\n \"3280660352601394793443163065478742790225019999285320359066591732091220914654\",\n \"176566071577517015768539174621406723078218644163063023588718174051781690549\"\n ],\n \"473292872475782541629589018585025767833946825700088260173034511329790213562\": [\n \"9017505724874432743294178097260096262922036412351686300287297636755099890332\",\n \"1211605021001151353425618727247475331043530431643615461094413523205216743200\"\n ],\n \"7968707717422938426406032890165848854615397692496956747055009994943900633400\": [\n \"12903288561034411965667254655520910885861849395674586031221702608214514598573\",\n \"1\",\n \"1\"\n ],\n \"16155302718563501448756392414625939731986445374532502464976419545780719285553\": [\n \"7968707717422938426406032890165848854615397692496956747055009994943900633400\",\n \"7339655899064845186863672801813274423425168910683160054021678575080282505704\"\n ],\n \"14175668457542313697489095571172737379287208957690974346238983323796689094025\": [\n \"4247501276383246916653850480804447262570526171355163040832544886778279669510\",\n \"1\",\n \"1\"\n ],\n \"6331741168783991430158685679595024082595587933169684837967566663300819871884\": [\n \"14175668457542313697489095571172737379287208957690974346238983323796689094025\",\n \"2518824193923676707946418817693904244537124122206413029259609617228823883628\"\n ],\n \"3778417933142110280011112191963322733874992379143704019540343579995282966\": [\n \"0\",\n \"6331741168783991430158685679595024082595587933169684837967566663300819871884\"\n ],\n \"10676184887977385139767534529613173801620965506170012713725077864963710655676\": [\n \"3778417933142110280011112191963322733874992379143704019540343579995282966\",\n \"0\"\n ],\n \"3381796611003762146436028521163790212980043411534113789550417017932463291393\": [\n \"3521459594676185808379268099705875198003138599642420114495470669136050883295\",\n \"10676184887977385139767534529613173801620965506170012713725077864963710655676\"\n ],\n \"20117669669361077868190938979281425366694763158606808928456230346289458000056\": [\n \"2388103978565507039421722171325735136899256573618695216493772601992095617639\",\n \"3381796611003762146436028521163790212980043411534113789550417017932463291393\"\n ],\n \"16229372756690517714194917459138581921054240285912612481923220698924728123978\": [\n \"8612226241133344324007208466773633355680668180341967793855181351232804663098\",\n \"20117669669361077868190938979281425366694763158606808928456230346289458000056\"\n ],\n \"12624837036965225071651984075359035122450199021407709322427699094029877210958\": [\n \"5713563568730848032166048002767620906559673899806100469071379747968796251798\",\n \"1\",\n \"1\"\n ],\n \"1459413694365952614576834716976598659271385914576285596793475278135303307878\": [\n \"4041711964186783966169025900517026123219011085605454210626298350557303996318\",\n \"12624837036965225071651984075359035122450199021407709322427699094029877210958\"\n ],\n \"8285351581306524493830591638878329708354730900802539203218159884340821213317\": [\n \"1459413694365952614576834716976598659271385914576285596793475278135303307878\",\n \"2239024114941838100671509107510089970005786866327940548241170369344694624111\"\n ],\n \"5701458885290423706437070313409035860428519467793217840881335383014270253219\": [\n \"594882651883717854677041444767775002649867082896172643781629177265646994576\",\n \"8285351581306524493830591638878329708354730900802539203218159884340821213317\"\n ],\n \"18786212495230599842738492055169080372701694092282965881812675791340865831034\": [\n \"11788546437485981538838326502754550868491984123554684272514914601293715651628\",\n \"1\",\n \"1\"\n ],\n \"5519480311374330220221069791630570988157191518558410460534770909526690720750\": [\n \"13782886239499785012211265487714058881549310861325498613813112035812353274052\",\n \"18786212495230599842738492055169080372701694092282965881812675791340865831034\"\n ],\n \"6387636230555871426227553586685726723299493345672599183222395049456387101957\": [\n \"0\",\n \"5519480311374330220221069791630570988157191518558410460534770909526690720750\"\n ],\n \"8128276029715466726250821247273045022141158642572049979517522800979168672271\": [\n \"12685127934377826038438858490237049200309993553733305761015089214242556377268\",\n \"6387636230555871426227553586685726723299493345672599183222395049456387101957\"\n ],\n \"14267966490715938189810535013835369430962015497542563474570779007209833791696\": [\n \"20413486028819736631490408834232357468986515220546540553344565385450093281246\",\n \"1\",\n \"1\"\n ],\n \"21328372449931794515193476297702376833878327174244145951962953670440323879260\": [\n \"125088870409932022073313697308584397458505488256917480798054611261637877562\",\n \"14267966490715938189810535013835369430962015497542563474570779007209833791696\"\n ],\n \"21007141080732273478062261783739778942166981489358666093941390467446091315390\": [\n \"16232356599071894251856490208143230978419465724614969049427456595064009272409\",\n \"21328372449931794515193476297702376833878327174244145951962953670440323879260\"\n ],\n \"14461908256592823450834171731345727978423574080808007815304472407199040876190\": [\n \"340123405188998986895793015306809843035225099231947503891285083029922387302\",\n \"21007141080732273478062261783739778942166981489358666093941390467446091315390\"\n ],\n \"18424168259237126575784186027011675029303796826866552819415953594933833249594\": [\n \"15327357958686246163256347321152300122453734078352846344363798203030380540850\",\n \"14461908256592823450834171731345727978423574080808007815304472407199040876190\"\n ],\n \"16186704565070946469055193796631479271274286521755669996581821862011329903635\": [\n \"6742119980377898814170399142038998983592091811203846427470832429771206483914\",\n \"1\",\n \"1\"\n ],\n \"14260024108619039903237998369379283292077965271360998284914050675856827221045\": [\n \"9813377244245494862807547614327867651258631575832663405457967902703978007004\",\n \"16186704565070946469055193796631479271274286521755669996581821862011329903635\"\n ],\n \"7956383744733033908572787412056106552058144012941843899740670179513506283782\": [\n \"795753221475938597336951178060789769275276488206795458720748616720886901498\",\n \"14260024108619039903237998369379283292077965271360998284914050675856827221045\"\n ],\n \"18559387878681787488043935866710683720316643135279652377452083030557692742086\": [\n \"4230683304203908973094133215806737864811689179348688343240810762503866785913\",\n \"7956383744733033908572787412056106552058144012941843899740670179513506283782\"\n ],\n \"12247884225556941816236508926137640830936768263493542464029660297915374286832\": [\n \"20046491990509240544355854196223650576381165331952798383404668925740516252901\",\n \"18559387878681787488043935866710683720316643135279652377452083030557692742086\"\n ],\n \"3728311904871434315382716016818493888591652734968947974799164622413725314605\": [\n \"7417615238563542748123283192399664849364864689408386068532180671794625622598\",\n \"12247884225556941816236508926137640830936768263493542464029660297915374286832\"\n ],\n \"14836047231078343482146226193529007734858750356504390241734357635537068161250\": [\n \"11203668734381475121220778896610232423585984300241222054272642154042052912636\",\n \"3728311904871434315382716016818493888591652734968947974799164622413725314605\"\n ],\n \"19754136680820859978048387102191431528835144284455210130612749332442052414180\": [\n \"4112477362078320486995079371273174834096243007491795869213859096850855520888\",\n \"1\",\n \"1\"\n ],\n \"7763291676445610334018153088429363209883047283724428521131524926064113897446\": [\n \"19754136680820859978048387102191431528835144284455210130612749332442052414180\",\n \"1311503549282761147963881715988659226814956126347254157023871479023597273789\"\n ],\n \"14210654516763747977586452607644046064288880730199652608955302801395643090638\": [\n \"7564380898408072074705422655374447512770474453362049528189158681410654363717\",\n \"7763291676445610334018153088429363209883047283724428521131524926064113897446\"\n ],\n \"3347568177830741920098892915458982538342771839037363892992503276866541308945\": [\n \"14210654516763747977586452607644046064288880730199652608955302801395643090638\",\n \"14595903021006756275253122064236843699352591349016149769771430980236273152407\"\n ],\n \"20375744505654725554169433367549710082063818987222776302518765228078389266022\": [\n \"18133110215377672152936187125166650613513283864289089946550643692130093311293\",\n \"3347568177830741920098892915458982538342771839037363892992503276866541308945\"\n ],\n \"5833720991275748639974939470944713382472704552474087235445219253678191162488\": [\n \"14247232976718527818080736821276842383027734269786595740626543226693484465740\",\n \"1\",\n \"1\"\n ],\n \"5902914894084495528691907806074380061538255484979380160458450801077175264835\": [\n \"15067265320409401301262054003034596038153471029762797690109952557791733304814\",\n \"5833720991275748639974939470944713382472704552474087235445219253678191162488\"\n ],\n \"18705286655785924606262751252899990626403009382963835671060543226377957520222\": [\n \"18065227713106256379987618212068267789165988789464511474869783402361411047963\",\n \"1\",\n \"1\"\n ],\n \"17728374866366400871172721493151343646584644633130483420537117218108719979844\": [\n \"8998841120338211398899026380388236944334512477456221096284804482239357915168\",\n \"18705286655785924606262751252899990626403009382963835671060543226377957520222\"\n ],\n \"17638337671121565954931186787503477570085151132109942424295955199958865859551\": [\n \"17728374866366400871172721493151343646584644633130483420537117218108719979844\",\n \"0\"\n ],\n \"1975933292002356046748818589793861706172315370475782910879641171405216669357\": [\n \"17638337671121565954931186787503477570085151132109942424295955199958865859551\",\n \"0\"\n ],\n \"4224296470927500477872161902057144655597073696522362072926999381726185785633\": [\n \"5484463177905629882189401399984646992606762924739842700578926994225882770626\",\n \"1975933292002356046748818589793861706172315370475782910879641171405216669357\"\n ],\n \"3750225493068684400354854590965445091947189914135336021072270007773719077260\": [\n \"4224296470927500477872161902057144655597073696522362072926999381726185785633\",\n \"18263650587426590360474827462401471876765237683171875708645208694349886458175\"\n ],\n \"10944413530255046186140314555583224917934391365419957890974252636848060996057\": [\n \"3750225493068684400354854590965445091947189914135336021072270007773719077260\",\n \"14518539383338511076433243759546720900085992177610423962341361077117521095457\"\n ],\n \"9160294415595526909508639190745038352810100963170381124847983466639068077429\": [\n \"14606682187439321335173054853891299342453203022412693904414401059318631697637\",\n \"1\",\n \"1\"\n ],\n \"18537542418572714020229207101717693557134174127946516075253080851114097455210\": [\n \"21157235545703355910110979121293987832609644405819859820531561342508230098179\",\n \"9160294415595526909508639190745038352810100963170381124847983466639068077429\"\n ],\n \"12252803818382181004840561659183869113491702050520109422810525125775629875580\": [\n \"18537542418572714020229207101717693557134174127946516075253080851114097455210\",\n \"11718090920522059892306441006018607382772681405639647536414287525015119578277\"\n ],\n \"9465816963634317244605401764156145482140990280949581495247593550972895959235\": [\n \"12252803818382181004840561659183869113491702050520109422810525125775629875580\",\n \"10927330952537695862260469153340210709935281272460746806105657294509561655781\"\n ],\n \"3099045531062207373841709256995167753278754387370917468416237495585091148096\": [\n \"9465816963634317244605401764156145482140990280949581495247593550972895959235\",\n \"0\"\n ],\n \"6476515629537867481398675965229449032589130662254571213728214756095705364544\": [\n \"3099045531062207373841709256995167753278754387370917468416237495585091148096\",\n \"0\"\n ],\n \"12643839509316309330791846295977615507611690992222812319273327508115228662251\": [\n \"21666700082226391740071283664756610185267102249274581883616994590396812840133\",\n \"6476515629537867481398675965229449032589130662254571213728214756095705364544\"\n ],\n \"14705516658198453418166850749316834667792679277427395163183485819794752164499\": [\n \"5163571720261440091052656098221719015229091864074017199160046766263579314722\",\n \"12643839509316309330791846295977615507611690992222812319273327508115228662251\"\n ],\n \"9232734862565815853669898560905552768676520976798779732338125265577320656683\": [\n \"14705516658198453418166850749316834667792679277427395163183485819794752164499\",\n \"11506470664804661539748680538199856475404906834552223141373098068647731412525\"\n ],\n \"9566661074403627140152309457695059562753300406779868975570193510005419945002\": [\n \"9232734862565815853669898560905552768676520976798779732338125265577320656683\",\n \"20294346648230675003512289404512456397527716989223146960883203144613490624816\"\n ],\n \"2265130652258458345888235029591315091546613280816775422579664437151504530392\": [\n \"11080588164218150895840577131023948278894008220930994303795664428576078412626\",\n \"1\",\n \"1\"\n ],\n \"4389029264575248441895696983700665845642266052913453872971239444985902484714\": [\n \"5000128652155308874673343345430546803724483983666417598832436467452273513389\",\n \"2265130652258458345888235029591315091546613280816775422579664437151504530392\"\n ],\n \"18494199791358696290720657338152635846382639265854021764764691569216424612430\": [\n \"9142018098334706826929538303027818033309115965789828112637424978540790150918\",\n \"4389029264575248441895696983700665845642266052913453872971239444985902484714\"\n ],\n \"8704451203853554158326858908775757484082489433718388308448043846302366588449\": [\n \"18494199791358696290720657338152635846382639265854021764764691569216424612430\",\n \"15976948327164838411414790216857969995878770754274807273728572193824774896583\"\n ],\n \"21543780255881684091701996259337440936887617806477910285136872510988997846372\": [\n \"21775963815178366670921948655953007056471577291107439304500289842661121020103\",\n \"1\",\n \"1\"\n ],\n \"11916605462341321020159847391698833719013908368360779313959653390107558812722\": [\n \"1041452126283942778081678631779713153900235641977555154876680634928763729507\",\n \"21543780255881684091701996259337440936887617806477910285136872510988997846372\"\n ],\n \"14580107531032019280146023579559177838438910702738767645784386178451018714458\": [\n \"11916605462341321020159847391698833719013908368360779313959653390107558812722\",\n \"0\"\n ],\n \"10316748723158629849014209366822562522717129315086193842368541252541412903552\": [\n \"18622391205985837762747440335596796109265552758464583958594199303001484052003\",\n \"14580107531032019280146023579559177838438910702738767645784386178451018714458\"\n ],\n \"18066950777651543628047102238663935075394801874568362604570868021898150861559\": [\n \"10316748723158629849014209366822562522717129315086193842368541252541412903552\",\n \"6140584921247631568249687802380698632427341270072075969042362120068250470876\"\n ],\n \"8167267999061651556223297163163425144089363893360898195774840296355648477191\": [\n \"18066950777651543628047102238663935075394801874568362604570868021898150861559\",\n \"10216701419330118432924062670686551051083512353929480284982499880416936843239\"\n ],\n \"19109211336305291492044990714699430503114263523717834487520355240194962704186\": [\n \"8167267999061651556223297163163425144089363893360898195774840296355648477191\",\n \"18260205452029036201767605727005553401894418456483799225997593670001449217573\"\n ],\n \"17784561036459760841115882093677766055384054174968640020480365017511039197129\": [\n \"19109211336305291492044990714699430503114263523717834487520355240194962704186\",\n \"17977964363537948207708388622064438900366519419684290930752751366500510381492\"\n ],\n \"7425270009728831307155830376906424298793110006394039271432657162692142522453\": [\n \"12700979753618541823477803949989540345040558971676426561411230001949220346879\",\n \"1\",\n \"1\"\n ],\n \"14956079573191910691386236054659517501931201619610717989121357424152023249134\": [\n \"7425270009728831307155830376906424298793110006394039271432657162692142522453\",\n \"2470762611057368223138189118614886601440044917790363816779247902155839106897\"\n ],\n \"5680845112521479016268111836941786753948962296939162440125875318816833658090\": [\n \"14956079573191910691386236054659517501931201619610717989121357424152023249134\",\n \"15225483747563088986075885907382085777417459938705813790881967901186647452020\"\n ],\n \"14200605779253518304577967915124403136503635817647235669535877213823447680816\": [\n \"13323935776974155333346293306873167192342341971050338883475085160409243057012\",\n \"5680845112521479016268111836941786753948962296939162440125875318816833658090\"\n ],\n \"20451452482615548665438813460353543681846500990257773060946777019793740279057\": [\n \"0\",\n \"14200605779253518304577967915124403136503635817647235669535877213823447680816\"\n ],\n \"8060593715205560925534506886181522575359501984141729084499361244494469479638\": [\n \"20451452482615548665438813460353543681846500990257773060946777019793740279057\",\n \"10587932217492383027691583223146739342121775305716581964982095146164768048560\"\n ],\n \"10324936353831395934823416815676703720165323168941299403240084371660497628738\": [\n \"6604670153121233808714692052351161993294718471392915631917414447000790508050\",\n \"1\",\n \"1\"\n ],\n \"16102690267043226300064511406796920818276527480191669739185076088171895122793\": [\n \"10675457413963189035564379179074684890143475821742844718032488524819353983150\",\n \"10324936353831395934823416815676703720165323168941299403240084371660497628738\"\n ],\n \"20746395867083910844621665967684672955945353959324173869617921574552779845033\": [\n \"16102690267043226300064511406796920818276527480191669739185076088171895122793\",\n \"1796103742652743153089254045475651552103337558609766082181555557120145119534\"\n ],\n \"18789203776579871888333184078560082252964780456706055261997076192015938720325\": [\n \"20746395867083910844621665967684672955945353959324173869617921574552779845033\",\n \"15525607837785222983476450692211735483888646000553537484990667713405179199368\"\n ],\n \"18919285749059765872112926929560433334392627397332473182658257267925626758954\": [\n \"18789203776579871888333184078560082252964780456706055261997076192015938720325\",\n \"15238170696357745278616759737375296575376797714615780353518481113146757480225\"\n ],\n \"7149321240523479205852263834760857150920654857371459353829749116447003772879\": [\n \"3064717682340381830930635470892220082501899907055865194016189341399792571055\",\n \"18919285749059765872112926929560433334392627397332473182658257267925626758954\"\n ],\n \"13625383722831620701532951535913796026039928859772964648519782280606239062041\": [\n \"4198492945073257724162397370063766750320445559151807343510027821178392758464\",\n \"1\",\n \"1\"\n ],\n \"1993861480420281856043097921797866925721244618094458250420403042080917826579\": [\n \"13625383722831620701532951535913796026039928859772964648519782280606239062041\",\n \"10279014869644136386081498523387745290267925882347130879371411021952390714941\"\n ],\n \"9053123457872604373722761864396202882068876262598379372730417386926794127871\": [\n \"1993861480420281856043097921797866925721244618094458250420403042080917826579\",\n \"20007171431745649801490980014941223514424859713612407303656511863949734471195\"\n ],\n \"15812856578650035220991304639192230912712780462786074319900368695174095191764\": [\n \"21072217886227711402455884495819914684494571581447351202449471530314672320080\",\n \"1\",\n \"1\"\n ],\n \"9701837063474049199276223780219807445760407606185076180550918501221078194973\": [\n \"15812856578650035220991304639192230912712780462786074319900368695174095191764\",\n \"17422257818313642818906428173631988806666330801853528566973118064531067858352\"\n ],\n \"9314855580076602911283000574430316523104240174298315661328505982320308813421\": [\n \"0\",\n \"9701837063474049199276223780219807445760407606185076180550918501221078194973\"\n ],\n \"21057715491679492222392103339153092906273367562291486563079917960723201342883\": [\n \"9314855580076602911283000574430316523104240174298315661328505982320308813421\",\n \"0\"\n ],\n \"396692410805732417591528005786163755908598878637294315856731100438804898202\": [\n \"18194128879872255627799622044135154722118464393438126923459858218941769804445\",\n \"21057715491679492222392103339153092906273367562291486563079917960723201342883\"\n ],\n \"2124040017700021256096043448388740972665639533045934489078699121464378265345\": [\n \"20403734954597551067196779445239779106429391101586757575082696192708225434116\",\n \"396692410805732417591528005786163755908598878637294315856731100438804898202\"\n ],\n \"17686173470688547365208896727009888593181738369615582303587068608976530474433\": [\n \"189646806626407573635046812935842885844333688644663770891509065339129901621\",\n \"2124040017700021256096043448388740972665639533045934489078699121464378265345\"\n ],\n \"10335301708040412800008554946106566479828258284664693039665103105026920424078\": [\n \"17686173470688547365208896727009888593181738369615582303587068608976530474433\",\n \"20308490083534108229596617394398198084732538302046898812671946384527504120722\"\n ],\n \"17732364335684719123105506473852983119849054984487933119064127577947666258571\": [\n \"8394838769021761125998319580987906920641694754950315241106693250933966334744\",\n \"1\",\n \"1\"\n ],\n \"9278224296478215301703008494498212840140729864219190363273281892383085900815\": [\n \"9680914028300262166861487259439404161657948911861256219734230123760321751157\",\n \"17732364335684719123105506473852983119849054984487933119064127577947666258571\"\n ],\n \"8505549587705581187413657717313943294699557554860480210046571053593446621128\": [\n \"9278224296478215301703008494498212840140729864219190363273281892383085900815\",\n \"4877513395840147828253297849125177104330163840198059800705163271420568443316\"\n ],\n \"549906868387290247453791231623956370464446222174498796437138022639117378366\": [\n \"1334491148022971943963294544779665119602294245938096888116313431194134502480\",\n \"8505549587705581187413657717313943294699557554860480210046571053593446621128\"\n ],\n \"7735050994451715790914387215150019062021785896045126979936276971029941588324\": [\n \"12510166428989243609217533691990953269113375649913036155099127436190458464957\",\n \"549906868387290247453791231623956370464446222174498796437138022639117378366\"\n ],\n \"5193453155681996884159303285359435446802277816946108095084619986345136602888\": [\n \"4446467741666242327925457184408937627592597662661717766996222140995840454642\",\n \"1\",\n \"1\"\n ],\n \"17578172334953542184095940475201299117926157813338161642661453862066182729999\": [\n \"5193453155681996884159303285359435446802277816946108095084619986345136602888\",\n \"8153905937733230991246549941386134791996877744599163009388055879568891596294\"\n ],\n \"7541380284446773677069957343056923301668133446108666685967121259547651975382\": [\n \"0\",\n \"17578172334953542184095940475201299117926157813338161642661453862066182729999\"\n ],\n \"21131227310528828296698122664313677029325647471630305344390485424946795657230\": [\n \"2476774826263210122140219879414820408911207700794462959976272503445784008581\",\n \"1\",\n \"1\"\n ],\n \"17546879845599025882713229791329302838619215153459821130558937559490941131950\": [\n \"1185726046525646493581382281368980008352878955386382117301173663517805627393\",\n \"21131227310528828296698122664313677029325647471630305344390485424946795657230\"\n ],\n \"10138628495422819543111931720671235753796765434289158671419785009005604346253\": [\n \"17546879845599025882713229791329302838619215153459821130558937559490941131950\",\n \"12684928627439097884126823749447738185690808063356120715976100827180098543315\"\n ],\n \"12032546233366116172575818314863935888319146763197442811837284789143885506856\": [\n \"7038592251950626833277989768786479444426503245170276012384680203349866085148\",\n \"10138628495422819543111931720671235753796765434289158671419785009005604346253\"\n ],\n \"19002212979029083688321698142304434102130204788959817464864342122825197636031\": [\n \"8045948462833066022001619253522397329879617201626735173487762226775001629355\",\n \"12032546233366116172575818314863935888319146763197442811837284789143885506856\"\n ],\n \"3403034604209772792232985808175890070067046274162774326079905198187136967799\": [\n \"8451783003044037257226929831692592824074285293852773751314146459447543828938\",\n \"19002212979029083688321698142304434102130204788959817464864342122825197636031\"\n ],\n \"9577826084481807520754771261539777234716288615842327080841080895367294985399\": [\n \"14163393807400435443528742937105885653101570699582964720766629102621716404520\",\n \"1\",\n \"1\"\n ],\n \"4200272233411619049974374773554779410036363305160424211993737185818865093641\": [\n \"9577826084481807520754771261539777234716288615842327080841080895367294985399\",\n \"10822736264499269406694749817832458733098635262348301656025410089089483299406\"\n ],\n \"2628439612596709233307568117175083025199011283316477665642760376571908279506\": [\n \"0\",\n \"4200272233411619049974374773554779410036363305160424211993737185818865093641\"\n ],\n \"15581372842866616754888665228888183849872936449690898987265219802655167119910\": [\n \"2628439612596709233307568117175083025199011283316477665642760376571908279506\",\n \"0\"\n ],\n \"12866050945395105571588270063612800235476668877660659535835295356111118459399\": [\n \"0\",\n \"15581372842866616754888665228888183849872936449690898987265219802655167119910\"\n ],\n \"3986472736597421156091302343816524002620430123198759432713209774636601219931\": [\n \"3192156264366703587775327139977317335998164470481730674431638376543661578906\",\n \"12866050945395105571588270063612800235476668877660659535835295356111118459399\"\n ],\n \"6484908204625027917133402910729653347892264688151829260000097183318371475403\": [\n \"3986472736597421156091302343816524002620430123198759432713209774636601219931\",\n \"9698326364664766954460710094798790312568844074133435021456769779492622869393\"\n ],\n \"3173799614906334315971063551775674221591219700382837136547058787242423486082\": [\n \"6484908204625027917133402910729653347892264688151829260000097183318371475403\",\n \"4188426947377705005269507378650239911125800067454492867947637378862662114469\"\n ],\n \"1777015128514573968678864844000946162973646640908531209818388915311109002381\": [\n \"10056611042201890665380255226323355445896438400651169716824070738457557953600\",\n \"1\",\n \"1\"\n ],\n \"14260941962437630058220802160998307219922119554180682110532888848678620221544\": [\n \"1777015128514573968678864844000946162973646640908531209818388915311109002381\",\n \"21097627175388662457932936308905745148111582569343277655241229888575497682237\"\n ],\n \"12836263907500409697085635164299366867396324485447568385729895663648715430936\": [\n \"14260941962437630058220802160998307219922119554180682110532888848678620221544\",\n \"0\"\n ],\n \"2523667008829029185289563227803288056355084744004046673227519157525074160695\": [\n \"0\",\n \"12836263907500409697085635164299366867396324485447568385729895663648715430936\"\n ],\n \"18508976079996169588949369549911738070273748693244239611585955238097498638387\": [\n \"0\",\n \"2523667008829029185289563227803288056355084744004046673227519157525074160695\"\n ],\n \"18673149563366695975675270517809062707568573398296513653267692633173387585233\": [\n \"18508976079996169588949369549911738070273748693244239611585955238097498638387\",\n \"0\"\n ],\n \"19651786235033157323658612962586620220962400673501011655028324442362466699783\": [\n \"0\",\n \"18673149563366695975675270517809062707568573398296513653267692633173387585233\"\n ],\n \"5524943923433912313348463733881798597616392584520700244689245085629662374611\": [\n \"0\",\n \"19651786235033157323658612962586620220962400673501011655028324442362466699783\"\n ],\n \"7997686207557664201875042288447668921149813712300450190801883159039437050501\": [\n \"5524943923433912313348463733881798597616392584520700244689245085629662374611\",\n \"0\"\n ],\n \"21774095649685198352649372780519154806505657415394822491011106211055574761118\": [\n \"798540561754981066680533983472625277846814409367336895259303914922906439326\",\n \"1\",\n \"1\"\n ],\n \"14590600615244682753733243000538790308145446035612385194769299687838524059416\": [\n \"21774095649685198352649372780519154806505657415394822491011106211055574761118\",\n \"12463491876630556062957470050094069847124178719008017461155991059494487804232\"\n ],\n \"19787666674445110425617681771503446200447705827871676295532906814233604184245\": [\n \"19535441303018410851758877985691032224158646497347888986690394787333292111875\",\n \"14590600615244682753733243000538790308145446035612385194769299687838524059416\"\n ],\n \"2337612515066184703278042214681865495725005229730016613771265462600403113904\": [\n \"7686902645839464178974465692931185604732341076954621109429110473412107318411\",\n \"19787666674445110425617681771503446200447705827871676295532906814233604184245\"\n ],\n \"10768038924281127124028095960549628537360328423622252519394121655417118500473\": [\n \"14428013221929659620182078365932122355927010901317919553257494399396424298552\",\n \"2337612515066184703278042214681865495725005229730016613771265462600403113904\"\n ],\n \"3837938863266129859901631585610673360378601347108374723006779778912101773795\": [\n \"16338345736912847612060296407351216023878116480598107105767244085834889972044\",\n \"1\",\n \"1\"\n ],\n \"6437115683433758804180083361274709344287333668544917162615763119158677396033\": [\n \"3837938863266129859901631585610673360378601347108374723006779778912101773795\",\n \"7086378484678477296912580434987933463524318317494920661490825352864696324787\"\n ],\n \"13135028966455860139009103639208970787980811675592836075379602944275840687619\": [\n \"6437115683433758804180083361274709344287333668544917162615763119158677396033\",\n \"0\"\n ],\n \"10157215912638913620403315558941605718476155158266712957379824216396541787594\": [\n \"7014237917155204468617360379432055422190533468468731345655812034429913097735\",\n \"13135028966455860139009103639208970787980811675592836075379602944275840687619\"\n ],\n \"11826601041751060297360941116333591550325245579440237404640494351292702999781\": [\n \"10157215912638913620403315558941605718476155158266712957379824216396541787594\",\n \"3274116095070733511714447469519116335035877665786949788894539676351939655672\"\n ],\n \"3289755682158305480067109033500651637615136293822724572197419419713829041059\": [\n \"17190135912850832498099778786047403526323258913249282035051400524337930507128\",\n \"1\",\n \"1\"\n ],\n \"16268113302476351091398072288849858979180652172867228097037110148251621894428\": [\n \"3289755682158305480067109033500651637615136293822724572197419419713829041059\",\n \"15977659118901057546873512143503735490737683117300304002818573007595365590291\"\n ],\n \"18099729204876532728390007642773136145501546442937179515671152738684127469007\": [\n \"16268113302476351091398072288849858979180652172867228097037110148251621894428\",\n \"17680687104898188188809682279385259036925200400166807049613601719841647443888\"\n ],\n \"20306067071161247494893697405966460463281750579692006274451922965594275448490\": [\n \"6229711717312362259086152443207818324382232817066618231910123930444432293410\",\n \"18099729204876532728390007642773136145501546442937179515671152738684127469007\"\n ],\n \"5467307570750607716894845433799010725270307287597749376394822938566672561537\": [\n \"20375744505654725554169433367549710082063818987222776302518765228078389266022\",\n \"20306067071161247494893697405966460463281750579692006274451922965594275448490\"\n ],\n \"1491523958480965462415626285614249797963901490640279410429525029904221001584\": [\n \"4576271132899589731240140824522011847049124568887980381969797629620599744003\",\n \"1\",\n \"1\"\n ],\n \"13046768215035139110895268052045601507476493047351168128871105077407116565486\": [\n \"10622672288135822295827721419191981737186903412521770688267013339837255882017\",\n \"1491523958480965462415626285614249797963901490640279410429525029904221001584\"\n ],\n \"5435300841375169136904308531120965583184549095886977244327734544549468170103\": [\n \"13046768215035139110895268052045601507476493047351168128871105077407116565486\",\n \"6046320566171031202753489748457809667515067459120094442227851706551093657640\"\n ],\n \"9206298188889933988502073999126248939118029752697992894803723124928339592714\": [\n \"5435300841375169136904308531120965583184549095886977244327734544549468170103\",\n \"14064248340218607367153734349600404997739145898334425981988416656016710632564\"\n ],\n \"16479936910890493747600813655126324315383416366052995221914657965358140243039\": [\n \"16005677985126870494826081897099999945623035627461768047783599380737992288450\",\n \"9206298188889933988502073999126248939118029752697992894803723124928339592714\"\n ],\n \"17608863240436025140893801685534520593424445116583843595194241798364159654370\": [\n \"7888433443162464180696325986893453021223022445906840226502135128051194332936\",\n \"16479936910890493747600813655126324315383416366052995221914657965358140243039\"\n ],\n \"20367013371912659398990486195434788197286366016497288397714784492223354664360\": [\n \"17608863240436025140893801685534520593424445116583843595194241798364159654370\",\n \"19148623530683303150198586232460185254519643222417202066516242807681118851629\"\n ],\n \"16749300166657701360502049862709070961020390859450947953023406175024538848164\": [\n \"19957470012629312783069382559690013366828860576535695346491575034230973575065\",\n \"1\",\n \"1\"\n ],\n \"7843231919265682948417397605714228999050667053691055875961774563367786022185\": [\n \"16749300166657701360502049862709070961020390859450947953023406175024538848164\",\n \"12368804700583472904541320323749619631570283712536880503717498969926778339772\"\n ],\n \"8097552072282042191314874739758218788018249122660660236120410241897811394003\": [\n \"2746417433608650770606004054512116473373332183959017148134885213665354553597\",\n \"7843231919265682948417397605714228999050667053691055875961774563367786022185\"\n ],\n \"8104452334581983052903315396284312154750584983909177238294179925358883996629\": [\n \"12855282230016803043373970890784074286361580750498792021399576213786376640772\",\n \"1\",\n \"1\"\n ],\n \"19934742654006070063318576209936009764385126726396069518036263935832643881032\": [\n \"18726402553198343899536442880674388045538469370907699704845403640772962770837\",\n \"1\",\n \"1\"\n ],\n \"652460661955815243982679378671469438115535383904570583836032010871092307751\": [\n \"19934742654006070063318576209936009764385126726396069518036263935832643881032\",\n \"995540449389131880729472725425073765276084066882886135178197081457468982263\"\n ],\n \"17134564572195441864837454286633667831150782509444267454715098249736146629310\": [\n \"0\",\n \"652460661955815243982679378671469438115535383904570583836032010871092307751\"\n ],\n \"21503822315657105296549799590299936486482796881306736272115813402554131321752\": [\n \"17134564572195441864837454286633667831150782509444267454715098249736146629310\",\n \"6376402325032536502299912752434215422526518273343112660342195627787942713575\"\n ],\n \"15458101330101589497391787958663940301632305926320850825789866134876062730402\": [\n \"0\",\n \"21503822315657105296549799590299936486482796881306736272115813402554131321752\"\n ],\n \"209650961949426842403668474152061302954631551797722829370672848416963356664\": [\n \"17752331700711757385959186319328096996512881169283177539060699079835967391136\",\n \"15458101330101589497391787958663940301632305926320850825789866134876062730402\"\n ],\n \"10761554587603567293593245921091555713439884476921372264311108017799512263082\": [\n \"1029861238051537362123489916240354506606476564307381023223678545657452263897\",\n \"209650961949426842403668474152061302954631551797722829370672848416963356664\"\n ],\n \"5936202952867677509384584415605596474247221459260504822596437199867988006376\": [\n \"8185086905050114339260788983357388507716298317386414438184723867301539461332\",\n \"10761554587603567293593245921091555713439884476921372264311108017799512263082\"\n ],\n \"658098874128187020646072641370095066793888945219540683657999420243217599919\": [\n \"19102247523476209007985131160283323926816645732881817710978035226650759859695\",\n \"1\",\n \"1\"\n ],\n \"15802537865241610359528827597009352796168766727619293681609804608056311544534\": [\n \"5304952797188938663704670138743445869758378300599117786047939796047010381496\",\n \"658098874128187020646072641370095066793888945219540683657999420243217599919\"\n ],\n \"14470242379916080746318065379782824343616696008515921909935347531429639758500\": [\n \"0\",\n \"15802537865241610359528827597009352796168766727619293681609804608056311544534\"\n ],\n \"11653433020596791447912402818431337641277025381050050292868169763641078542072\": [\n \"0\",\n \"14470242379916080746318065379782824343616696008515921909935347531429639758500\"\n ],\n \"20085105455871976979067751481216653440520860748128705429973397922073175936719\": [\n \"0\",\n \"11653433020596791447912402818431337641277025381050050292868169763641078542072\"\n ],\n \"9190757800314890283401790540428241937605541555389927389434937231403246611083\": [\n \"20085105455871976979067751481216653440520860748128705429973397922073175936719\",\n \"0\"\n ],\n \"2521399326023968513801487333016280810405510269697738929699713755908572808413\": [\n \"9190757800314890283401790540428241937605541555389927389434937231403246611083\",\n \"0\"\n ],\n \"7566276832175408695015376315158222906051695607174753808602452632981903010642\": [\n \"0\",\n \"2521399326023968513801487333016280810405510269697738929699713755908572808413\"\n ],\n \"960913047729898785183046028654737319855522288922101178433461860456373951802\": [\n \"0\",\n \"7566276832175408695015376315158222906051695607174753808602452632981903010642\"\n ],\n \"1793491405358604542208130306693062542048783037448486195602055838401302463993\": [\n \"960913047729898785183046028654737319855522288922101178433461860456373951802\",\n \"0\"\n ],\n \"20508358394958551324513571499176104792701626699406420916106571036615291158767\": [\n \"1793491405358604542208130306693062542048783037448486195602055838401302463993\",\n \"0\"\n ],\n \"582210302191763415293768803915518937506709210621695812636605423466920061701\": [\n \"20508358394958551324513571499176104792701626699406420916106571036615291158767\",\n \"0\"\n ],\n \"13211517504642251681337810966852556091889328013328351718126164498695319082786\": [\n \"582210302191763415293768803915518937506709210621695812636605423466920061701\",\n \"0\"\n ],\n \"1718105705312742695964886476947569339086013777948778532323764517685678594863\": [\n \"13846794762279331618690070571039884352840047656304879201809046726184477703759\",\n \"13211517504642251681337810966852556091889328013328351718126164498695319082786\"\n ],\n \"17204655097511380652040967982437863169305645899231239936852247370029148768971\": [\n \"12765806210184479010942370775943002524595568755258406697837300451226334727528\",\n \"1\",\n \"1\"\n ],\n \"18818834515179271629946386083735409776319429244372265662914802454038379622468\": [\n \"17204655097511380652040967982437863169305645899231239936852247370029148768971\",\n \"16582770297332196044003810480891942725389551441441784801856847487087831068844\"\n ],\n \"16129834784785029568119633425720327064887097765008548625816090212565730074018\": [\n \"0\",\n \"18818834515179271629946386083735409776319429244372265662914802454038379622468\"\n ],\n \"15970152466308774952421861978618538757804982365035110713270553920915711802578\": [\n \"0\",\n \"16129834784785029568119633425720327064887097765008548625816090212565730074018\"\n ],\n \"16828328819030088434228634751189217646934651589282075505378593126964728280692\": [\n \"15970152466308774952421861978618538757804982365035110713270553920915711802578\",\n \"11339256000260028615791567881652752718214616527100363460487572198844734023769\"\n ],\n \"20357103235690702213754046343387756484534911047532670969701519361011503738571\": [\n \"7472380806932742480281521919533809594743319958687003216019879970212849041455\",\n \"1\",\n \"1\"\n ],\n \"9296338917861786853656521247623745030216210244355655563130670178830855483435\": [\n \"20357103235690702213754046343387756484534911047532670969701519361011503738571\",\n \"15935709929640030065496131500413797914078389600753889170257863861262131668130\"\n ],\n \"8328077922475133438528635303652053428738951285641821719018182352806730724230\": [\n \"9296338917861786853656521247623745030216210244355655563130670178830855483435\",\n \"6295058147791224765693761093307935622097850184119396307470826515123378913626\"\n ],\n \"15815859838170905732413845512531303016717183828830412053929881248164401391860\": [\n \"8328077922475133438528635303652053428738951285641821719018182352806730724230\",\n \"564933204587976318694059536240042079721442801973574458363121855617600107062\"\n ],\n \"13111218171206895989307065805434572616536852436233447210014957693873292415518\": [\n \"15815859838170905732413845512531303016717183828830412053929881248164401391860\",\n \"1632625706998527544948707065632603544878838214168664719669481845304296271046\"\n ],\n \"16804074100532002643881191359132046053833053086534645370883506197520295050474\": [\n \"10570260677153391342022387997820287252947092671443466650482628040286413340375\",\n \"1\",\n \"1\"\n ],\n \"7729968083117302358815311290667682861843460935532579311212038859103118524271\": [\n \"16804074100532002643881191359132046053833053086534645370883506197520295050474\",\n \"17123498014305727299068422248875603950843032978887195380894938578104478084656\"\n ],\n \"11785847763416876598628918654914468536635517276002934485178179194157974796182\": [\n \"0\",\n \"7729968083117302358815311290667682861843460935532579311212038859103118524271\"\n ],\n \"12226798235920361791786527544328609137914740048566413853008346428573087218129\": [\n \"0\",\n \"11785847763416876598628918654914468536635517276002934485178179194157974796182\"\n ],\n \"254683524263737894826249299286938722435330679830136758432179408032788752186\": [\n \"0\",\n \"12226798235920361791786527544328609137914740048566413853008346428573087218129\"\n ],\n \"9999114256274841000970835705344606526724414003606824106157388350413704482844\": [\n \"8685363818102060228582227709081203449887489572203149893034410985522026812888\",\n \"254683524263737894826249299286938722435330679830136758432179408032788752186\"\n ],\n \"3312705938641707971117478660720514066357886157755817503230332044536119890621\": [\n \"16529830870611358509808750195957153910123646945608873152935630166335794189776\",\n \"9999114256274841000970835705344606526724414003606824106157388350413704482844\"\n ],\n \"13488398437911704872447587457137877669695634777166837974206314526109012818756\": [\n \"3312705938641707971117478660720514066357886157755817503230332044536119890621\",\n \"21057029076718750382861124578257300599957207814205102722431701381107538127598\"\n ],\n \"7892469474700393957298690458470529452558788786534145757785981578779328339359\": [\n \"2983144118173780495113319621968301688789109579791505786669259858026592576137\",\n \"13488398437911704872447587457137877669695634777166837974206314526109012818756\"\n ],\n \"15016126172032112044380312194626364849121258627795995186675880454043632505660\": [\n \"3409167649183274463808036112230933757987866997282911747355668754848608582127\",\n \"1\",\n \"1\"\n ],\n \"8722241580039664001037030168843204456636240995827707254204400473168199888510\": [\n \"2045076773875490081110276011198766746518751336532352535249043139171859355227\",\n \"15016126172032112044380312194626364849121258627795995186675880454043632505660\"\n ],\n \"21491637792658509239580813747995995492883594818187636933681210003027624238205\": [\n \"8722241580039664001037030168843204456636240995827707254204400473168199888510\",\n \"1718105705312742695964886476947569339086013777948778532323764517685678594863\"\n ],\n \"20435872966010473568775117259668905343545380969117549516828626535047655104385\": [\n \"21491637792658509239580813747995995492883594818187636933681210003027624238205\",\n \"20086708017909472867063904270545011758888515330321764186336602749212239661576\"\n ],\n \"10304265656004088145162494805679681985107445060908105860845718658531855704089\": [\n \"1844001774788735252833189782938383796495706905009763544019415495030414078982\",\n \"1\",\n \"1\"\n ],\n \"18366156047869133185013546759902040460983492977516736900943061902887677508756\": [\n \"20025736250934681658985887111055234895919105428045624111970067325651572393792\",\n \"10304265656004088145162494805679681985107445060908105860845718658531855704089\"\n ],\n \"13507579927820112976840133565231738606364052982096392175619148144146405001189\": [\n \"18366156047869133185013546759902040460983492977516736900943061902887677508756\",\n \"11601197847080093450016968997460438769681067964923474241086247451285473478132\"\n ],\n \"11627407747961691994868776271838514945677325552164028679406743152244194912977\": [\n \"4767942534134118972459466396177043012672143664475124663793490730941088837243\",\n \"1\",\n \"1\"\n ],\n \"1450011302766552120474643731642740298409530104830664501467856166191807227818\": [\n \"6447249242562374206230061291888213983004112968885202870528203320313064115213\",\n \"11627407747961691994868776271838514945677325552164028679406743152244194912977\"\n ],\n \"15366490993740110761419751803104211793609270364756480708789177852999778816617\": [\n \"1450011302766552120474643731642740298409530104830664501467856166191807227818\",\n \"0\"\n ],\n \"20469236461888269563100990253336033928675970733066829860648051319581055044611\": [\n \"15602148006336952228987689626338902409193792702608528072440471385600812322032\",\n \"15366490993740110761419751803104211793609270364756480708789177852999778816617\"\n ],\n \"14149113212344981167211759562993267817766313669854348020045566291740617971047\": [\n \"9185438453260590034515889704187829806327937976970417555025042630789210765960\",\n \"20469236461888269563100990253336033928675970733066829860648051319581055044611\"\n ],\n \"17638708927294865043742709227223560597884458624603566140378055835585343494757\": [\n \"11426957059815704419492209682056665613318466013555405694533303653291830315743\",\n \"1\",\n \"1\"\n ],\n \"7881888735612588470402051984302173963461042849523262644045671678761755168848\": [\n \"4274202944220829169929913379718266705115556536582628878731556928787620893886\",\n \"1\",\n \"1\"\n ],\n \"14910309529867914701010156194280578310571589982046181600260884210744960227618\": [\n \"20100806286186493428974559648007219036108746613126507018781096565576935141884\",\n \"1\",\n \"1\"\n ],\n \"19862492318845122827402262922479024644893837391661129023487405580719396147552\": [\n \"9271684751064080283292122461909236402914751814860338011070006478650683087204\",\n \"14910309529867914701010156194280578310571589982046181600260884210744960227618\"\n ],\n \"1728550747890805105922235422436005039188164320121778293786314763950318618850\": [\n \"0\",\n \"19862492318845122827402262922479024644893837391661129023487405580719396147552\"\n ],\n \"14460390913493831011381504413708940099288536228813093414741570130689763256637\": [\n \"0\",\n \"1728550747890805105922235422436005039188164320121778293786314763950318618850\"\n ],\n \"21618649353249425988931922374811958024373740887128501171992357292851072045701\": [\n \"0\",\n \"14460390913493831011381504413708940099288536228813093414741570130689763256637\"\n ],\n \"7622489917246006067592952765628720848206877348378814647361621016694604870023\": [\n \"0\",\n \"21618649353249425988931922374811958024373740887128501171992357292851072045701\"\n ],\n \"19132409137923231986892953163172071028548388658411234581518314759931816562251\": [\n \"0\",\n \"7622489917246006067592952765628720848206877348378814647361621016694604870023\"\n ],\n \"14253356769322644125957544402056941631465797990854429494364166101335502045090\": [\n \"19132409137923231986892953163172071028548388658411234581518314759931816562251\",\n \"21164445970208023024530541377732239013934127647905565929437747294312740686297\"\n ],\n \"2232683353371273479794346057438473047628049056088732087401656287491457552508\": [\n \"14253356769322644125957544402056941631465797990854429494364166101335502045090\",\n \"17754358935334973116214311156319031043826124629605926811803994872726990057205\"\n ],\n \"16900085710645971318155390411457231445259299798925211731192425825199958000961\": [\n \"2232683353371273479794346057438473047628049056088732087401656287491457552508\",\n \"10405383527958169201271955519395534779487453057517496559559935703679634147059\"\n ],\n \"3818482662465764445066694786230340038687988328896201127275249226555922903255\": [\n \"17169967834586566189678263179954080970279939403535698113690401585223489330807\",\n \"16900085710645971318155390411457231445259299798925211731192425825199958000961\"\n ],\n \"4559626127896770996718527323892723104198599826845838275873767872324912554467\": [\n \"18027567633980178286509472376601122265641753238046023225528099278921564358301\",\n \"3818482662465764445066694786230340038687988328896201127275249226555922903255\"\n ],\n \"17638483432570777378026621079267696023443418625215157453301289172510251757890\": [\n \"8269739490753037186553902686549331745651081803484133957136625940599734306334\",\n \"1\",\n \"1\"\n ],\n \"18599883088236258722266227609694380348150094110504381771358427574046122638998\": [\n \"17638483432570777378026621079267696023443418625215157453301289172510251757890\",\n \"6640043260511613230004347502770516036150925974700156797984473778357896707786\"\n ],\n \"21539793064001847208478271726377062578341591048891490001822099023022556584888\": [\n \"18599883088236258722266227609694380348150094110504381771358427574046122638998\",\n \"100888955181799151926028433073731929764017172533456144954874364251791343058\"\n ],\n \"11590616654790818245293805861239734385326765955743732633546667698270563395800\": [\n \"8495766790037709136353974488505123923963236076393282003388785799218697004798\",\n \"21539793064001847208478271726377062578341591048891490001822099023022556584888\"\n ],\n \"5114233860402498501723857746139321521660732325500708513567131940507921551370\": [\n \"6851248797066840527615800094485343986890093273539711743761780924292721856413\",\n \"11590616654790818245293805861239734385326765955743732633546667698270563395800\"\n ],\n \"12129628125344117234810429295027368146169959325017851945881625659348949059434\": [\n \"6749929731981017295630018606503483559698962615750331244448872535100873055249\",\n \"1\",\n \"1\"\n ],\n \"10764713989217342029908272992015722172761931683708138495983002377544917897247\": [\n \"1209611434310817686959234999441323536860947366510195772840804912004578922624\",\n \"12129628125344117234810429295027368146169959325017851945881625659348949059434\"\n ],\n \"14321799504549343548365885256044141142005118338318176794093843170847265862968\": [\n \"5856267620308028506284691142259545849304842748384663773317543758997739046908\",\n \"10764713989217342029908272992015722172761931683708138495983002377544917897247\"\n ],\n \"1823563635751134001477856814585816344863527492443558347470000969855259946248\": [\n \"12966087231867072820688715896818948147381708654073673237192295749681098470702\",\n \"14321799504549343548365885256044141142005118338318176794093843170847265862968\"\n ],\n \"12034882073158522576470171111052071095762707019711730890500042893197582608429\": [\n \"1823563635751134001477856814585816344863527492443558347470000969855259946248\",\n \"2872348962707659546143776681282447763143799347289467000053820327321420642843\"\n ],\n \"6664348511285813847823891941972890994023988263338992162695008705826326103172\": [\n \"9003359592328063619023165489469463011509123984285057158660671735628110570933\",\n \"1\",\n \"1\"\n ],\n \"3832119160085154905592122201496134053552542088287776511171083591402175301727\": [\n \"6664348511285813847823891941972890994023988263338992162695008705826326103172\",\n \"13499298588086913762034113450313296878098225779723941203575613796896564582914\"\n ],\n \"4831244778625375051824344435547968848652926580209172703813283032028988524526\": [\n \"3832119160085154905592122201496134053552542088287776511171083591402175301727\",\n \"4925712060273504326071798139758661986267532175037177092578169391750947959831\"\n ],\n \"14755128501101612702306416497064876899353068021134518333040261467425128449286\": [\n \"16130351489785418734839891197487189936746622372061428047208204699015706944701\",\n \"1\",\n \"1\"\n ],\n \"16675504730244465450161894978828437153375412394450969712550434889974127427959\": [\n \"14755128501101612702306416497064876899353068021134518333040261467425128449286\",\n \"3638128107684007689767959408757314918541243843191101905971255838908506621947\"\n ],\n \"13246372526182717043977680864866928467559347104691396627669820673131188198312\": [\n \"16675504730244465450161894978828437153375412394450969712550434889974127427959\",\n \"0\"\n ],\n \"13836732417809551034904764129580863694193819603171413449363820634061624087012\": [\n \"11102336695977130710528332870212176022454778857756701983110154793846509718672\",\n \"13246372526182717043977680864866928467559347104691396627669820673131188198312\"\n ],\n \"17749847231971880387453046427874797833964191395533108755946991422394526735980\": [\n \"4539857318311408915467849015517849770496281229357983346456006788504318670162\",\n \"1\",\n \"1\"\n ],\n \"10070229789291748887934736025045154283379344844365395569075329131360634678290\": [\n \"17749847231971880387453046427874797833964191395533108755946991422394526735980\",\n \"15298012014226475396398186798337212942501069308554013611731917891060046571190\"\n ],\n \"16282223912919557097450194099631476118361097088403524669965689774872035223565\": [\n \"11649559503028875336962416862549464073797997179532563283296675033760399219862\",\n \"1\",\n \"1\"\n ],\n \"11059099351636251226533377981229115230361780721803651613261622626674449596448\": [\n \"20011907737056245100101774399323771348474338723390458612815972472243818089456\",\n \"16282223912919557097450194099631476118361097088403524669965689774872035223565\"\n ],\n \"13587356909571558016970903010330288918830945759524201724747496955570292362235\": [\n \"21563249377732025933781138671550911892226112515391878790222949661120917847406\",\n \"11059099351636251226533377981229115230361780721803651613261622626674449596448\"\n ],\n \"15715652295869762388272723208697898637198139311123144712682161002686864634939\": [\n \"13587356909571558016970903010330288918830945759524201724747496955570292362235\",\n \"5701458885290423706437070313409035860428519467793217840881335383014270253219\"\n ],\n \"13764571197771698170494129194387372929341841443810063076237299777352796930987\": [\n \"15715652295869762388272723208697898637198139311123144712682161002686864634939\",\n \"20333315450930179235753267415759237093009171869255652442531661999847999820143\"\n ],\n \"13587100061844414661192989398336971308237120732346112544709624047400717450287\": [\n \"7753954901488278670208865783537685989571694089309761385238066140802535952825\",\n \"1\",\n \"1\"\n ],\n \"6344015971751950335816222182297432691791500831902103862753737238952840239380\": [\n \"7893035797305762628234026371461752417834108848597165650410728591183884605470\",\n \"13587100061844414661192989398336971308237120732346112544709624047400717450287\"\n ],\n \"19228319532840385873453360898300955350427295507647793909312720860539153877400\": [\n \"6344015971751950335816222182297432691791500831902103862753737238952840239380\",\n \"588929628786287610285235015376240822596467930543322507939132682594336248546\"\n ],\n \"6273218065312610079345221892817291925248184385380790130110577473622180102000\": [\n \"19228319532840385873453360898300955350427295507647793909312720860539153877400\",\n \"11063336989233489482134865222426896840564501508232246839080916370147960206246\"\n ],\n \"17452012773005137831228319597716538153705321946175052730913809989215567427576\": [\n \"6273218065312610079345221892817291925248184385380790130110577473622180102000\",\n \"14047898005262289846730447257903196897950930363987415923256259519779583544207\"\n ],\n \"3402831805585577596745763603409340783589290640312857526206108667019134663952\": [\n \"1327582486446195314701525204380753848920574856101890945165783800197026676106\",\n \"1\",\n \"1\"\n ],\n \"18025791318146124239210440386872346475299173239083675260814778629855942123592\": [\n \"1339629054564008431722701112739241168202542726932075881099736136377102238497\",\n \"3402831805585577596745763603409340783589290640312857526206108667019134663952\"\n ],\n \"14849101113304603628576950139693054459441857840040919824611666136566416898504\": [\n \"14304005120900627445246331647640205897029434251305781688068472492640629648147\",\n \"18025791318146124239210440386872346475299173239083675260814778629855942123592\"\n ],\n \"20202210838921636245472689116803591432200083283340284588858212780504121861162\": [\n \"14849101113304603628576950139693054459441857840040919824611666136566416898504\",\n \"5044795907429222918973804405877668310106136779175403604445291982600985422420\"\n ],\n \"7818665395744656679720883544298730552733152922142168602958929668908338129988\": [\n \"5117933433045416315408227227576484749343709948630327625609476616958746862401\",\n \"20202210838921636245472689116803591432200083283340284588858212780504121861162\"\n ],\n \"17490470547503529760474890126630651034512014832966058719607972236035387981894\": [\n \"9466740921075300123837170428646147329350613101153359676669277287292160414017\",\n \"7818665395744656679720883544298730552733152922142168602958929668908338129988\"\n ],\n \"21492096529048691721171812169997198244925013837221065658939216792759183292697\": [\n \"17490470547503529760474890126630651034512014832966058719607972236035387981894\",\n \"14836047231078343482146226193529007734858750356504390241734357635537068161250\"\n ],\n \"18420985868724194276504195134472860925830121757896332562049684104472748154189\": [\n \"21652717819058240932624057391637242742857917371022240118665524291446521796383\",\n \"1\",\n \"1\"\n ],\n \"3450441750848386839449426009654867580675264054527031196374114261357161544718\": [\n \"18420985868724194276504195134472860925830121757896332562049684104472748154189\",\n \"925342595203591783975990089777925073558998696181747643497545605059148723448\"\n ],\n \"5166757807373536399539600082595525940350125523585914640601066974578278917349\": [\n \"21171329744930791200983669994882625689096372895689309813723902025027415048327\",\n \"3450441750848386839449426009654867580675264054527031196374114261357161544718\"\n ],\n \"8363400992465976234487273055846871229834538691071647290495180794697399165264\": [\n \"5166757807373536399539600082595525940350125523585914640601066974578278917349\",\n \"21627605217338577795445437158749891940825941228860283960380471235137133454147\"\n ],\n \"6384977032430977828355116642865782929312450116527959390648752611477678303102\": [\n \"7758984958553222958706996369751015470708848809997994032660695177622138545198\",\n \"1\",\n \"1\"\n ],\n \"6072721662023337322816005791700868461403053440560184409317769159933721094860\": [\n \"6384977032430977828355116642865782929312450116527959390648752611477678303102\",\n \"18071087476370748370333458863019399479760675415328358239458336787960275863931\"\n ],\n \"2635736737773294846478983172671062547752524901918363107389454142965203792182\": [\n \"6072721662023337322816005791700868461403053440560184409317769159933721094860\",\n \"10133879478815781964964374360850050315573972721872733525039562410504965467180\"\n ],\n \"8932976842032328764914889920946398728034503335780258895210695420207055759920\": [\n \"7911882058046154461340529414203798622103421517708898898592704384608883492300\",\n \"2635736737773294846478983172671062547752524901918363107389454142965203792182\"\n ],\n \"12158392033750543823953022089881653642186596874208512670144086989213320409271\": [\n \"8932976842032328764914889920946398728034503335780258895210695420207055759920\",\n \"11753656510016616426217795724188710024751663600669989723492720134235173692830\"\n ],\n \"21109786806311037705948684765056781385229284179256683840113414117975319302623\": [\n \"12158392033750543823953022089881653642186596874208512670144086989213320409271\",\n \"16981680431212030577556834142149580531076090908952054246500660075869773806375\"\n ],\n \"14438519152078665371157887975788755976326220987790566537772770289312911405568\": [\n \"13683229124647246982960099605202945813697387322617473775462926906303314293890\",\n \"1\",\n \"1\"\n ],\n \"2979387722902376432083565598456306813313958975038419254983757429842330411874\": [\n \"2583135415521034073355340546413347435440801001088047112915264667393430075253\",\n \"14438519152078665371157887975788755976326220987790566537772770289312911405568\"\n ],\n \"3960937434340284727058083278512128588891996111434409240510507412820787341543\": [\n \"2979387722902376432083565598456306813313958975038419254983757429842330411874\",\n \"0\"\n ],\n \"96360191876288280498005393203235424053074569203950180447641616958979978563\": [\n \"12991034596704781947895078977348576087989889631161789537663810786417210138028\",\n \"3960937434340284727058083278512128588891996111434409240510507412820787341543\"\n ],\n \"11313873823068254621819268377645785273904146400547820825214102447810387792817\": [\n \"96360191876288280498005393203235424053074569203950180447641616958979978563\",\n \"4400443251122717083863487174416967710054974592155893459660068164579613544757\"\n ],\n \"13145140830870997653553050414884589770146874699500012187491032953581718485780\": [\n \"11313873823068254621819268377645785273904146400547820825214102447810387792817\",\n \"15601910581110753091105324894315138005275363314859356571838634383689702538951\"\n ],\n \"1651437856029291892127755453366812864276723741425884616989016001930326370485\": [\n \"6230677158991492836789292588544724582197140300795423391739371565161220795317\",\n \"1\",\n \"1\"\n ],\n \"4136830813230790416001717000477308211416855135696513545987018108342218260039\": [\n \"1847569160187625599434401985863608495098472782352502059310939424739130015696\",\n \"1651437856029291892127755453366812864276723741425884616989016001930326370485\"\n ],\n \"13364038023809902027557906095395027042170999659779872653137457531562048908554\": [\n \"4136830813230790416001717000477308211416855135696513545987018108342218260039\",\n \"1737772156125572379822231124518640796663365044929716482321500886517014172783\"\n ],\n \"19597517513285374266124073297710744968923220294010557501435282212934714284670\": [\n \"2705554703427069103126307198759160004481430944304936070986553933472259698067\",\n \"1\",\n \"1\"\n ],\n \"9658283011935692462840025785891152505994254547564441892727289166565282910677\": [\n \"19597517513285374266124073297710744968923220294010557501435282212934714284670\",\n \"20336478731881466856644598312568220760305901495334223534338491704266085719766\"\n ],\n \"7565295542542674659202571736083267724322454354530456680226440507983812639190\": [\n \"9658283011935692462840025785891152505994254547564441892727289166565282910677\",\n \"8851528117809038210790378289974515482999180537987134551959796940130189676386\"\n ],\n \"10392691831805987616354052497904057077388004408747286613995602488478184617799\": [\n \"0\",\n \"7565295542542674659202571736083267724322454354530456680226440507983812639190\"\n ],\n \"6089802378942793591863668303153709941881605864411757152016945970487111947424\": [\n \"0\",\n \"10392691831805987616354052497904057077388004408747286613995602488478184617799\"\n ],\n \"641630289160645696010647811870551646679026235265267340680019639980500698654\": [\n \"21158069343924905582479831973912527246777983437188852030175308549355682003036\",\n \"6089802378942793591863668303153709941881605864411757152016945970487111947424\"\n ],\n \"13873974947724365299325809531981183260908268555645029896107664309184493314147\": [\n \"641630289160645696010647811870551646679026235265267340680019639980500698654\",\n \"12003619503154681406620420502472460476542631674968511616008784336204334138535\"\n ],\n \"15907817600969334812879332489649949036355516701179995104333213904406681830275\": [\n \"16309945771364688849428165097891005457298641232812585850370600785080667146371\",\n \"13873974947724365299325809531981183260908268555645029896107664309184493314147\"\n ],\n \"461350407301627557227975460679753236266612626031451504526118558384955972597\": [\n \"9389158592043800249948952450507984214811475894834678241611768441622401930309\",\n \"15907817600969334812879332489649949036355516701179995104333213904406681830275\"\n ],\n \"19824285187499030247760047877230527488395816621801791929487792753799185780838\": [\n \"461350407301627557227975460679753236266612626031451504526118558384955972597\",\n \"8483650356038036485769346010694139628125338237230788633185622321151394798681\"\n ],\n \"2265737586690578170894696069988296461215611028565944541309834785599799602521\": [\n \"18359924206991322799377554381980181258002774970847499666826822230923489175499\",\n \"19824285187499030247760047877230527488395816621801791929487792753799185780838\"\n ],\n \"3846799702355348053899670734103743798219618890805012527050539047328777196950\": [\n \"9297983367418912488541783983496530234709586745172037174097697870789381640941\",\n \"1\",\n \"1\"\n ],\n \"6965742820304624622936566542633321725594133014568029421965668480622887638622\": [\n \"11159679167366759051072692945225834068807266231973242301087181998750086852192\",\n \"3846799702355348053899670734103743798219618890805012527050539047328777196950\"\n ],\n \"2534682093927935469042473067608583624502160661221931604079891975458614288638\": [\n \"6965742820304624622936566542633321725594133014568029421965668480622887638622\",\n \"16506741509613713423345861291385207111129369860415895880230955890401128406588\"\n ],\n \"4234880852308600477275044428905315470425146865287353820550434421022688595990\": [\n \"19689036041919952349869745399108875435223778065069117530245845933556335169173\",\n \"1\",\n \"1\"\n ],\n \"2301966576136852889832377576977432463077288931462700341545357078844662765034\": [\n \"1945018859024942244383670188698141977122425731964051069513891544422337503627\",\n \"1\",\n \"1\"\n ],\n \"1096951406595035493851842737856649397690903692118032521705380190059605149419\": [\n \"2301966576136852889832377576977432463077288931462700341545357078844662765034\",\n \"1051134980668922676205369091941991378855584483623792232544865428932371384581\"\n ],\n \"19188032790404619040028503250387959175951499197865542892451310518204168787786\": [\n \"1096951406595035493851842737856649397690903692118032521705380190059605149419\",\n \"12358577408431831502326103121086176235671130352379837886749809148074207111807\"\n ],\n \"16321483938556968873963338059082189122997367179989706772228213474160384180808\": [\n \"19188032790404619040028503250387959175951499197865542892451310518204168787786\",\n \"13525971463318994809261043812569239861882300052573435917163864369929720366296\"\n ],\n \"612275067838873350974340110615076890842035000437196162138645258218785535054\": [\n \"11896084165271600308709758622619194193138153899515067624063730352609654682051\",\n \"16321483938556968873963338059082189122997367179989706772228213474160384180808\"\n ],\n \"18621191274996762077245614979711148657097739757355678177709397190521221764581\": [\n \"9797205038077386893293094055232080918146704770747141479140276080975339245250\",\n \"1\",\n \"1\"\n ],\n \"12984490532693669610689873402271310025325078915294016018698115456468279096098\": [\n \"18621191274996762077245614979711148657097739757355678177709397190521221764581\",\n \"2396855323142406592383497177319292627529381599579943634557556815169247960143\"\n ],\n \"18425490075927606105138168276670664669248193761661304664651252167658619411389\": [\n \"0\",\n \"12984490532693669610689873402271310025325078915294016018698115456468279096098\"\n ],\n \"21607916813234385369251473977757636077049061285948302584455870038676289945479\": [\n \"0\",\n \"18425490075927606105138168276670664669248193761661304664651252167658619411389\"\n ],\n \"8214664187535207059383470355594704104712850762584634271002781571070439850245\": [\n \"21607916813234385369251473977757636077049061285948302584455870038676289945479\",\n \"12390924696806763773380561874888922571577172013355529672754753965567578686656\"\n ],\n \"5051235082944935098769520918949838342404685029659791822227141291124110848874\": [\n \"7505664046611724226606305480960356398250871886547555108216927869163344176808\",\n \"1\",\n \"1\"\n ],\n \"16252594798646317637582783174657348319660876561621004466478576440043806067448\": [\n \"3822858096113077645397293824134227327913327682351558037924651540999502227781\",\n \"5051235082944935098769520918949838342404685029659791822227141291124110848874\"\n ],\n \"17950247572294803288901002487527376034851293160168440828409291557435288765658\": [\n \"18056462803081730760816160962393083415491370965357422902760798102690438191123\",\n \"1\",\n \"1\"\n ],\n \"3909730761330577303333918735808892675470099974407785487254947354589295694544\": [\n \"17950247572294803288901002487527376034851293160168440828409291557435288765658\",\n \"7777883482914090689693765833590620432126656973107458230686276332022231889200\"\n ],\n \"2162292193953503551230018835648496797473937365061429851320176785306749287221\": [\n \"5772960866755936708465871834894998768668691626544440920966515832911286546882\",\n \"3909730761330577303333918735808892675470099974407785487254947354589295694544\"\n ],\n \"9891568061905001059382322305145298188963552961349587167989494985263211277163\": [\n \"6764889823282624847453429661087580272918123470533707257806111306543288938163\",\n \"2162292193953503551230018835648496797473937365061429851320176785306749287221\"\n ],\n \"13785014526977245527752875953549836086511361407929849344713954868831790665024\": [\n \"9891568061905001059382322305145298188963552961349587167989494985263211277163\",\n \"17008019598217443686209878916159839414873772786873599644919338754595340125663\"\n ],\n \"17384176133305540363888077346670365879757079406980084326893344106909701235651\": [\n \"7415040962279192432539777378508107745856102029607715529229983333674248884941\",\n \"1\",\n \"1\"\n ],\n \"70715578146898310598787251856493917163684973807275456361771539471690120882\": [\n \"12305542887132378532619180961416476947909534247953778483433119822636300163347\",\n \"17384176133305540363888077346670365879757079406980084326893344106909701235651\"\n ],\n \"14637449305027395747117457928961076884771149434745824743465893209882899603857\": [\n \"70715578146898310598787251856493917163684973807275456361771539471690120882\",\n \"10497513647406413483355585896410998266269397124413958945774919599002120185837\"\n ],\n \"8696323605682805433067924623649441572153131175715596772489377553655645191406\": [\n \"14637449305027395747117457928961076884771149434745824743465893209882899603857\",\n \"0\"\n ],\n \"14910786675135450681895162576791093076895405658672517919303640121674188862888\": [\n \"4159005118522556544039366769629552740284352570771810764709123796378958738251\",\n \"8696323605682805433067924623649441572153131175715596772489377553655645191406\"\n ],\n \"6074772554542612364525793310214909085951727550488732439673623721757942435668\": [\n \"14910786675135450681895162576791093076895405658672517919303640121674188862888\",\n \"16691840589271019071212498589699262569205431485179594168087740635352277650480\"\n ],\n \"10211460032214787392676969480882601534129165344877842275480585725518030776996\": [\n \"4478076234456738656959171281292995128097457614097483637069546961167633308664\",\n \"1\",\n \"1\"\n ],\n \"21100685745605969518392679875609900071918314795817227693017241128543059598079\": [\n \"16569015481479356428690358632794689457169505704528254673521666885585867343356\",\n \"10211460032214787392676969480882601534129165344877842275480585725518030776996\"\n ],\n \"16239955309477284393661873770230480574329811514012804659035719833191865000415\": [\n \"21100685745605969518392679875609900071918314795817227693017241128543059598079\",\n \"20763865209817255562608376119743705962928807441868505202051509136408240609224\"\n ],\n \"4402766336218002047791390829506983434822980508871883081260271177931486680692\": [\n \"18571116419252074458925390248341566539334188742655743917161456657500276811217\",\n \"16239955309477284393661873770230480574329811514012804659035719833191865000415\"\n ],\n \"13471246558487914950754023420929711562197922428971057409968481660125049871559\": [\n \"6038813417111171410002354096869540273511159306425578365771602466457077551013\",\n \"4402766336218002047791390829506983434822980508871883081260271177931486680692\"\n ],\n \"13279145566497992031784650921651235460697255847506825014143291176356418548995\": [\n \"5467307570750607716894845433799010725270307287597749376394822938566672561537\",\n \"13471246558487914950754023420929711562197922428971057409968481660125049871559\"\n ],\n \"9944347541544705047221865601241263794838791455314771863947623555277629119839\": [\n \"19279049236202932835928315784706494588959490811360407617128611443762458258492\",\n \"1\",\n \"1\"\n ],\n \"14822870142843873262625782187656841220882651876691304125400755799797530956496\": [\n \"14314213710846425763986214812880648398913877143353521013639932827813458302419\",\n \"9944347541544705047221865601241263794838791455314771863947623555277629119839\"\n ],\n \"8592707970085760239800595913118038333180087932666069006085461893710565483743\": [\n \"11046853770324558023696499671639867292118652031961188935928555693717705260492\",\n \"14822870142843873262625782187656841220882651876691304125400755799797530956496\"\n ],\n \"17439686518911741159188993759667109205684070678961771897058889183126702417952\": [\n \"15381550149793581022547485981987022578525452226756333616203164963740371701301\",\n \"1\",\n \"1\"\n ],\n \"12155235596933445848718960198156151966859849211256740726805920325667902532258\": [\n \"17439686518911741159188993759667109205684070678961771897058889183126702417952\",\n \"14366288078233512686120748976281460526214292081496505713015406308786861373495\"\n ],\n \"1899662792246940851008978527543621788593900033866435807603159222577902122707\": [\n \"0\",\n \"12155235596933445848718960198156151966859849211256740726805920325667902532258\"\n ],\n \"19168802586286422692528864997595089523404946097057151838457639802237461371288\": [\n \"19692062554922687160879852497189362812764910724965311424384190809463653510036\",\n \"1899662792246940851008978527543621788593900033866435807603159222577902122707\"\n ],\n \"8313157585275768235541644769811746137944798243630586206463550652357727492371\": [\n \"20053471825650958003686412678925266125565554841229602731151020919256399719224\",\n \"19168802586286422692528864997595089523404946097057151838457639802237461371288\"\n ],\n \"20656965515831383052522876701028629154549692784039795376879386283055374532661\": [\n \"14886098271657473044172164566647432720829699875759318199135569689468290060094\",\n \"1\",\n \"1\"\n ],\n \"16102545928779139127289752155573739788684026132159592597252195996753554003473\": [\n \"12485429057451720878791712559202086912658527446638471751535847594311934956099\",\n \"20656965515831383052522876701028629154549692784039795376879386283055374532661\"\n ],\n \"14776300465164146279025164008835225138816056123447759606686182764570372517870\": [\n \"16102545928779139127289752155573739788684026132159592597252195996753554003473\",\n \"0\"\n ],\n \"17839920292139008080487881049960887418781767368063286781879238256814947608812\": [\n \"14776300465164146279025164008835225138816056123447759606686182764570372517870\",\n \"2926991292053506715003204913060356320442360828310702029665609374165540915529\"\n ],\n \"12186641417660547580982305824137113204359130587510435776908760200631149921055\": [\n \"3437779003569759458973407618103476396356460988322682951815692887613925637560\",\n \"17839920292139008080487881049960887418781767368063286781879238256814947608812\"\n ],\n \"9940097865215107672642821310849513846892552288097434235738951230599736228173\": [\n \"21059928211735338603080544688838638945814184612317238080445615453418409252349\",\n \"12186641417660547580982305824137113204359130587510435776908760200631149921055\"\n ],\n \"9605005911050862645996789295232670611894248586538660389360847182238387795688\": [\n \"11584927685334440203085809818743055279536536789828030810932371237618521433700\",\n \"1\",\n \"1\"\n ],\n \"6769528140807768764511140935523686441740888313802759285126512347769389215327\": [\n \"5005620979336489282359456204268060415651035770379352659083527141213793371485\",\n \"9605005911050862645996789295232670611894248586538660389360847182238387795688\"\n ],\n \"19909528554645042369636003246762983925294947883299973745994217221882182322806\": [\n \"10817847370074321820468454189693392616928276119956920019518966622851958526202\",\n \"6769528140807768764511140935523686441740888313802759285126512347769389215327\"\n ],\n \"13436886392230333597871051363432186951366329413680698393940553957915184378910\": [\n \"19909528554645042369636003246762983925294947883299973745994217221882182322806\",\n \"0\"\n ],\n \"17954299691551922461728574121543982158583303698905215629735676801880727054131\": [\n \"13436886392230333597871051363432186951366329413680698393940553957915184378910\",\n \"5909079632667467676588243805993158291626196678329024169028543228272641971766\"\n ],\n \"17900992558549173330068203621728130224576581685283505663972676712167999625481\": [\n \"8296813419158058680334471742231150780976050276591439848488170064377169907381\",\n \"17954299691551922461728574121543982158583303698905215629735676801880727054131\"\n ],\n \"21751235260512182557343677398617997636108951627931119671818247675505905723711\": [\n \"216756368813607798059416079851375323185024833677025388910374832204553085326\",\n \"1\",\n \"1\"\n ],\n \"19202548156820213320054973337720179286850006305937137661940399376157920517476\": [\n \"20542212258441776048357493442277603445943491135462160774099370839341049314566\",\n \"21751235260512182557343677398617997636108951627931119671818247675505905723711\"\n ],\n \"11449369797237487725546950277424284588664699417789534107934568364980547680792\": [\n \"19202548156820213320054973337720179286850006305937137661940399376157920517476\",\n \"10493035584681249229286786887372303868453674296640355702130860805195688993261\"\n ],\n \"5060446797846728689393409732865328257399199588645376363933677698221131214987\": [\n \"11449369797237487725546950277424284588664699417789534107934568364980547680792\",\n \"17323611458707722200904598844287455300488401583329620797647838504603645990532\"\n ],\n \"4791973955827912017628919847584493669374781656753776612493020092955582732113\": [\n \"5060446797846728689393409732865328257399199588645376363933677698221131214987\",\n \"20994594157031221552935195522479230379521952934910441613631460966893111621680\"\n ],\n \"7955133900038655541551804985768372977657171750376185779481301679579181894114\": [\n \"4791973955827912017628919847584493669374781656753776612493020092955582732113\",\n \"19125555180855466914905944313114401624381367364556564875884770375794875277247\"\n ],\n \"6106045085524944983725274308225697863391061638974341068003773110610675721308\": [\n \"1186336046459067950413743202220448184963670216398939682871685745812218901824\",\n \"7955133900038655541551804985768372977657171750376185779481301679579181894114\"\n ],\n \"6676431263539530856081096524455692992969450223191964975113577485072905538378\": [\n \"6716152578036987310467530108245200521563887112068018147098181753139594620614\",\n \"6106045085524944983725274308225697863391061638974341068003773110610675721308\"\n ],\n \"14474837019422306446381967743930692425337111097322507285300358999044448109962\": [\n \"17923952144724567610175159747783466518810553787796674654234135587288820745017\",\n \"1\",\n \"1\"\n ],\n \"20691553636188671691895291539782722119188323529638678644570513531001788113740\": [\n \"14474837019422306446381967743930692425337111097322507285300358999044448109962\",\n \"13851590990293839428334582048983871762507357388319751213656293719015715739311\"\n ],\n \"8538250251851317711610124099406483108387594583211503231438860123024226089188\": [\n \"20691553636188671691895291539782722119188323529638678644570513531001788113740\",\n \"16360204406577360445075785482122889578706460158456136401542627293216533311713\"\n ],\n \"189668081406269656000457131341961287690149032662851559545918623388550777486\": [\n \"8538250251851317711610124099406483108387594583211503231438860123024226089188\",\n \"0\"\n ],\n \"9439403710590399838714035193423826166900202077449685436207618352015168134480\": [\n \"189668081406269656000457131341961287690149032662851559545918623388550777486\",\n \"3683558746259990642639851808464269750679043904908672854843191996737907842610\"\n ],\n \"11357650420245381019418985704691075041444246952347295122249392230152946326285\": [\n \"9439403710590399838714035193423826166900202077449685436207618352015168134480\",\n \"15644732893776594890763099686349884955338264919918645797540540122074493665836\"\n ],\n \"19467317395011895427783178232008296260650384867860167885368595765156778612953\": [\n \"11357650420245381019418985704691075041444246952347295122249392230152946326285\",\n \"16112369577410959152321853191389026016825526485590531487114884699786696096398\"\n ],\n \"7895645066343002305688281735419325060153020506470967693936287998929503680253\": [\n \"19467317395011895427783178232008296260650384867860167885368595765156778612953\",\n \"20105266497598783883522253725903528281915186302181571293093530454690865051276\"\n ],\n \"19128671784483872200562049710681582709147381286685592875308106272780307093988\": [\n \"2980070658195365242127029956475728156663161650725052009763236256532855421101\",\n \"7895645066343002305688281735419325060153020506470967693936287998929503680253\"\n ],\n \"15445432423457376381802084372074469859421443732568540395987263066917608889494\": [\n \"13219924975240964959893253141898185244420113795712677947606980382106477938902\",\n \"1\",\n \"1\"\n ],\n \"21599309234262217084763977151768852370226871469459768438939391307387537636142\": [\n \"15445432423457376381802084372074469859421443732568540395987263066917608889494\",\n \"8377946734432736036456169471231999443488275309673535692693958598486089643118\"\n ],\n \"14361396846302750366380072608828312639769415554586269682375096861317510634027\": [\n \"21599309234262217084763977151768852370226871469459768438939391307387537636142\",\n \"0\"\n ],\n \"11609783586408638010011242868255435643061348562126760932974604487879232096101\": [\n \"0\",\n \"14361396846302750366380072608828312639769415554586269682375096861317510634027\"\n ],\n \"2194737644819000212539553897768278276592800105485754808050186441396218529501\": [\n \"11609783586408638010011242868255435643061348562126760932974604487879232096101\",\n \"0\"\n ],\n \"7809095487983954543152479349859931769013090791511987694314264320989482960126\": [\n \"2194737644819000212539553897768278276592800105485754808050186441396218529501\",\n \"0\"\n ],\n \"8832865737829834373149236047604442418859363563691138330058004544306045740975\": [\n \"12566853504329224145102709781123834900605909782302283371892692560130536720931\",\n \"7809095487983954543152479349859931769013090791511987694314264320989482960126\"\n ],\n \"7083498892478665079613278033248160878054481402292321743589974972304433691056\": [\n \"8832865737829834373149236047604442418859363563691138330058004544306045740975\",\n \"14402567615861718046833227152192770857055742684477587461804469981654719434189\"\n ],\n \"9063626715751351091857137789082589937486697658409001149117091418203341400339\": [\n \"7083498892478665079613278033248160878054481402292321743589974972304433691056\",\n \"14879517545303024456591181938941448473426995130110579115020969263898787208208\"\n ],\n \"6801822919213477735174196776534093082527489203389204471624640319810906010804\": [\n \"14949596888942038791607096893432155918638928648466807321196478849865542464185\",\n \"1\",\n \"1\"\n ],\n \"3169126564700015927998927464341173418309809097787771923761541047767806385139\": [\n \"13786765221375776079345886420426662137322559569622515115331037466601231245176\",\n \"6801822919213477735174196776534093082527489203389204471624640319810906010804\"\n ],\n \"6105427614356536477865735330439626599837957065503170953129529371121820864816\": [\n \"3169126564700015927998927464341173418309809097787771923761541047767806385139\",\n \"1966302361048787974634570271376766225424828234507934373792604864951767855408\"\n ],\n \"21642545597227937141687459942011986249313083150523669842728927359192084485913\": [\n \"6105427614356536477865735330439626599837957065503170953129529371121820864816\",\n \"12146266315222952957471595527440195414978405437901961750697393802856042558254\"\n ],\n \"7798622899233750390827772113564407250740326056691929079528875253563333407115\": [\n \"14021051603884253942922567345380034401437867976950994291428724160058918275415\",\n \"21642545597227937141687459942011986249313083150523669842728927359192084485913\"\n ],\n \"3410032947857755704891434064230266350832596305396029170637215738474777227694\": [\n \"7798622899233750390827772113564407250740326056691929079528875253563333407115\",\n \"17452012773005137831228319597716538153705321946175052730913809989215567427576\"\n ],\n \"13670818788747704210458954143169406318705033266027920730484080294592185373749\": [\n \"17019168450573691929876769224815086920561787482018918715617246226328868265709\",\n \"1\",\n \"1\"\n ],\n \"2937164507733279757902179851278683321119534997915602777781397721806486671686\": [\n \"1788262375656563295451123656587407032140323352779727526303199118370533510069\",\n \"13670818788747704210458954143169406318705033266027920730484080294592185373749\"\n ],\n \"12472835406030020044801307811801408866152418867572062325773011041981210582303\": [\n \"2534682093927935469042473067608583624502160661221931604079891975458614288638\",\n \"2937164507733279757902179851278683321119534997915602777781397721806486671686\"\n ],\n \"10307365585947068609481190869169927562127556694942928808179792405598476197054\": [\n \"14638809094310403785244150020221552300059521521330212865483185501385990810823\",\n \"12472835406030020044801307811801408866152418867572062325773011041981210582303\"\n ],\n \"5978875298617277054715466706466013005667825055108491475952044205161359294300\": [\n \"86300604167991615974842410737738816878465368332178873100210780405207423706\",\n \"1\",\n \"1\"\n ],\n \"16239874631694062746488319238317252515451882375212710274354005132188403459546\": [\n \"15398081408099973697099526869638255852841710727771137351066267874470812294743\",\n \"5978875298617277054715466706466013005667825055108491475952044205161359294300\"\n ],\n \"10215705992277736512176206654650023041626044720585475058774878955468016745166\": [\n \"0\",\n \"16239874631694062746488319238317252515451882375212710274354005132188403459546\"\n ],\n \"2800931866658260931007052688203572712070582651381131989987710501575480056056\": [\n \"10215705992277736512176206654650023041626044720585475058774878955468016745166\",\n \"2217283907003942439093400304947588572124245005164398188133100820985611833209\"\n ],\n \"18401391550651335960558775336291447573441643980378508850883753112139396589737\": [\n \"5228939251299910116303907345779971893282204103661729553698440459922988646660\",\n \"2800931866658260931007052688203572712070582651381131989987710501575480056056\"\n ],\n \"7320075408651308948852723237998820135035132517474498703676959982367194615512\": [\n \"18401391550651335960558775336291447573441643980378508850883753112139396589737\",\n \"1478504010890861987231529751341092677097330250338375339770670589895440682919\"\n ],\n \"661736655150789478937673069208727825371047281051585307662958369591988610781\": [\n \"6639930105475971588351283902398283456043212223408924724548651252661896222241\",\n \"1\",\n \"1\"\n ],\n \"16641072664683688076292340645723635168539234434196044780884604461857288344937\": [\n \"661736655150789478937673069208727825371047281051585307662958369591988610781\",\n \"12824395408353525175073123903816459402907606776175916713240458606927009969045\"\n ],\n \"3252501249662904201530878619645966896084397070356008365958639668907535833521\": [\n \"16641072664683688076292340645723635168539234434196044780884604461857288344937\",\n \"0\"\n ],\n \"5511907097090026547363916863374056088878316785466916633533502246008729905444\": [\n \"3252501249662904201530878619645966896084397070356008365958639668907535833521\",\n \"0\"\n ],\n \"11234577972330597273832317003588665589388312291243368031764202169606639236640\": [\n \"13215787754996863381136446233750497901518457973718521980964973833309911731408\",\n \"5511907097090026547363916863374056088878316785466916633533502246008729905444\"\n ],\n \"16371849032419825855143939480450848417112041767156798873391264293035187902237\": [\n \"11234577972330597273832317003588665589388312291243368031764202169606639236640\",\n \"3836888005545053387462757699366407511373887316753182606552702856449242300378\"\n ],\n \"2019109182959187143749873044637254103100580834886723648610953215992386323300\": [\n \"7496179517983970871925433106570281523912316517281932994400884757490021060850\",\n \"16371849032419825855143939480450848417112041767156798873391264293035187902237\"\n ],\n \"638965979041705965393462273358949503965633687237660306444571165299999420254\": [\n \"12851260557931221529097221188521214012340760030280643553429233963464698929452\",\n \"2019109182959187143749873044637254103100580834886723648610953215992386323300\"\n ],\n \"375762599791100553419712698286719150276375726168485856845757625910097469490\": [\n \"638965979041705965393462273358949503965633687237660306444571165299999420254\",\n \"21192643582657475701143249229899028214080117740422835753803641216545766994379\"\n ],\n \"11908087901202407689194298592666516022600519184592477867814979235360412886357\": [\n \"12447561556200531632121643448741182693487480435525618767852393619108320177383\",\n \"1\",\n \"1\"\n ],\n \"19541518084251177029096351629055367357097204927016915928639299781121479669145\": [\n \"5484492118283550983122302486273980819821556991962764287987899224776202142736\",\n \"11908087901202407689194298592666516022600519184592477867814979235360412886357\"\n ],\n \"19237852059960243230878174603966632129684061592563002295370982140706394415206\": [\n \"19541518084251177029096351629055367357097204927016915928639299781121479669145\",\n \"4335494649470584757258163763962894667747289828829851612031565265460348158453\"\n ],\n \"6318251156477956425339502728082265881253862944836375488119307625068598428697\": [\n \"19237852059960243230878174603966632129684061592563002295370982140706394415206\",\n \"7459507328661281435586037943621654621005064200508137295385099907145026388569\"\n ],\n \"21339495554113822419390186440444767733672925940936742549057237949371931344632\": [\n \"19509860758364412973672441133202101734179625361806644131101257081199565567399\",\n \"1\",\n \"1\"\n ],\n \"17347125120107541851608194491981356374292756597665546245631919776975695017017\": [\n \"6468064510822511085332426753867380821478723392994015253487473514938572588018\",\n \"21339495554113822419390186440444767733672925940936742549057237949371931344632\"\n ],\n \"13423327550872013998568236906958567772586652349369305344331863739294275042114\": [\n \"17347125120107541851608194491981356374292756597665546245631919776975695017017\",\n \"8857804105141185906377680961937639046138574029227703273676478022334382593115\"\n ],\n \"4499457268292389314688473176210796444197862290035654084141763897728691227525\": [\n \"19148626855237312821168304894429820257198255030191426580569471382951463200821\",\n \"13423327550872013998568236906958567772586652349369305344331863739294275042114\"\n ],\n \"9326606261848902108806223884986132464418938625654987015076272944296026059783\": [\n \"4499457268292389314688473176210796444197862290035654084141763897728691227525\",\n \"2198617912764194723359113320759997040702006738839431157171052566404751287532\"\n ],\n \"12825451404604914194240560335752008719031847829636492110386415100719676930343\": [\n \"2388690301544691805236204712884254999043019285110163555706401799740699571867\",\n \"9326606261848902108806223884986132464418938625654987015076272944296026059783\"\n ],\n \"16870669485096554823746464394130962112162034628314047271735113481165994143816\": [\n \"1684680197640752960489374185952662088801312168701633000992889983463943736797\",\n \"1\",\n \"1\"\n ],\n \"8649524557662776147092047917694383098567054461457438985719692688551672994764\": [\n \"16870669485096554823746464394130962112162034628314047271735113481165994143816\",\n \"10834424131460553798187284561006679690082368958970533346747706932224992300891\"\n ],\n \"20095025476635706687325255269757000120287443411513150138638911320981373102141\": [\n \"0\",\n \"8649524557662776147092047917694383098567054461457438985719692688551672994764\"\n ],\n \"816122726254264061148329699418973258394242203183402072243836146875979995917\": [\n \"14332642322884836613661655000558059715132203620383408925847647278273861811417\",\n \"20095025476635706687325255269757000120287443411513150138638911320981373102141\"\n ],\n \"6141846081475092210061831278305404557487500654039462230297472248603281763520\": [\n \"816122726254264061148329699418973258394242203183402072243836146875979995917\",\n \"12692714492836742214611421805826258424365193690518814265082486102951763555543\"\n ],\n \"12398917550743285063469955803630261582877547742339758104690531010796684544866\": [\n \"3399037296671507372638252192056775596825778622315512551125751654376422235366\",\n \"6141846081475092210061831278305404557487500654039462230297472248603281763520\"\n ],\n \"5864599652548973670251338115861505135412555135929756749591792496857726584315\": [\n \"1663705489634860895531070028307361874075606116245465652366301563807158776946\",\n \"12398917550743285063469955803630261582877547742339758104690531010796684544866\"\n ],\n \"5709157797917738462663351819874265072242847385321063821698081253610810022127\": [\n \"5043484270461337776134666604025992729155718274510701393151478901292650905641\",\n \"5864599652548973670251338115861505135412555135929756749591792496857726584315\"\n ],\n \"18791913377089261299750198648344064887599231328912454598782973003685579279947\": [\n \"14552501940117474679419039577106259436074119172061583423570335911714550059430\",\n \"1\",\n \"1\"\n ],\n \"17999456476177475137672188552290787344567864141406114388167471525818601294931\": [\n \"18791913377089261299750198648344064887599231328912454598782973003685579279947\",\n \"21055275801566273544509855948657195021985542961699051940720799623160471322581\"\n ],\n \"15599166324508911653615181322331361522179571720537830563223899191697505632716\": [\n \"17999456476177475137672188552290787344567864141406114388167471525818601294931\",\n \"0\"\n ],\n \"1082059541235270149208989236064506584357910979345226765048617119910392360400\": [\n \"4730006002575482542072511439589080890473082767380622152754485579500907726280\",\n \"1\",\n \"1\"\n ],\n \"7526928368067444276400537692525405012212344813498033862784524319932661289150\": [\n \"1082059541235270149208989236064506584357910979345226765048617119910392360400\",\n \"11263536468606686502394099482468845689038016671562478036652512477675934481034\"\n ],\n \"2584861398504431760084970072686951375813589861830445836988714140011998853572\": [\n \"7526928368067444276400537692525405012212344813498033862784524319932661289150\",\n \"17655995700901408198814584951221134467837941584064803914458903842700782470643\"\n ],\n \"14095229135047555999249428380225772560463800413978083897824929885440867878317\": [\n \"2584861398504431760084970072686951375813589861830445836988714140011998853572\",\n \"18818445067663105043872679657651286285952694262768854062753518028990278434681\"\n ],\n \"5600407235628988402709864245399205407814299360760680256716326252792669906007\": [\n \"5576846667420172877520890654249846091498319574732984092404464133598792259803\",\n \"14095229135047555999249428380225772560463800413978083897824929885440867878317\"\n ],\n \"3074720359347776114486798444563821747044122929024472601841935143751720635946\": [\n \"5600407235628988402709864245399205407814299360760680256716326252792669906007\",\n \"9078094009919822932707965594076974465182781652020956625459953068159356562770\"\n ],\n \"11394769109504507337799195182615352091615173468558451188997216606999597437081\": [\n \"15298893859848944543585647038376423430456873012206212451572091200123943756698\",\n \"3074720359347776114486798444563821747044122929024472601841935143751720635946\"\n ],\n \"13357834180038566811714877466733655799892913017084021191982667521732511021152\": [\n \"4480717612720268319298001538407434041428673942197457374262160139928878303555\",\n \"11394769109504507337799195182615352091615173468558451188997216606999597437081\"\n ],\n \"381989582267578053172112213785574583201917169364934069936110067729130381594\": [\n \"6143786380643364388277697549626050847570729469292442624561351179316802044027\",\n \"1\",\n \"1\"\n ],\n \"847960022657028830051345307258262693617832138466318738008838575550720228207\": [\n \"381989582267578053172112213785574583201917169364934069936110067729130381594\",\n \"21439111771473331173063930672960159190756842445062376860002567514024530997060\"\n ],\n \"10128617275125822617456202427636341099982751508100962198446279608636019610175\": [\n \"847960022657028830051345307258262693617832138466318738008838575550720228207\",\n \"9090131027918059181225878693204589451789968540192404717131638419348713227371\"\n ],\n \"17993105461734918989981234768505355289045285009922825419130042266739172509367\": [\n \"10128617275125822617456202427636341099982751508100962198446279608636019610175\",\n \"18833248673246905025199674382122722310995067923383982592300268031388042068385\"\n ],\n \"2361381788705376654742870175418428343514685730075447921626649449084523296781\": [\n \"17993105461734918989981234768505355289045285009922825419130042266739172509367\",\n \"14149113212344981167211759562993267817766313669854348020045566291740617971047\"\n ],\n \"3779692321674330128811349026714691874875049387173405561194327171169019641486\": [\n \"2361381788705376654742870175418428343514685730075447921626649449084523296781\",\n \"7769811528289451612837657926673007728267309212121229603202519073123170676030\"\n ],\n \"1353246704285847068074975868409651690574992659674885364510515070133275872080\": [\n \"3779692321674330128811349026714691874875049387173405561194327171169019641486\",\n \"618164513533806653820458720508970591322417040225771775158245226652709375470\"\n ],\n \"2550283925019630856985513734939433583295746261069371481358561720768988497655\": [\n \"3662414832099308016599352811921305414810358263625107850019693316838185883688\",\n \"1\",\n \"1\"\n ],\n \"2859203428264446752312959998005131504987243686077271585046908722222063356909\": [\n \"2550283925019630856985513734939433583295746261069371481358561720768988497655\",\n \"10095853890886335938171873001452885231639990056288891693703792906566240672130\"\n ],\n \"8683113972415864764480389610710518188350358478872114759256354236942479340409\": [\n \"2859203428264446752312959998005131504987243686077271585046908722222063356909\",\n \"6243587575364473966920953115293935475858159066080935031404661598987428988336\"\n ],\n \"6645637881270042521870272344013951188354805124775142367130835657265668070191\": [\n \"8683113972415864764480389610710518188350358478872114759256354236942479340409\",\n \"3173799614906334315971063551775674221591219700382837136547058787242423486082\"\n ],\n \"13193923339261203954747576354630561379472782005267218189513407881240105728416\": [\n \"20890028010995799008100858534595426236913513204491371049931492070943713360274\",\n \"1\",\n \"1\"\n ],\n \"5416293487141083011773310166236124134523589557630507238910101178366900639314\": [\n \"13193923339261203954747576354630561379472782005267218189513407881240105728416\",\n \"8156311988144163153367763741492729332100016038949781646045715811469193754728\"\n ],\n \"409091372609370234839585721062348433261408080498673493081989043918315595926\": [\n \"0\",\n \"5416293487141083011773310166236124134523589557630507238910101178366900639314\"\n ],\n \"14038499463425290246455526684884700559619754450108157627605733320512876188755\": [\n \"16936425530516878420470512771776593739656839937185678332654177023612653776088\",\n \"409091372609370234839585721062348433261408080498673493081989043918315595926\"\n ],\n \"16606810632355688503963608572716312972779486626316334426128762027128205877076\": [\n \"0\",\n \"14038499463425290246455526684884700559619754450108157627605733320512876188755\"\n ],\n \"6107675873075368070236456609095213704373694443118294777156566687938004576986\": [\n \"14703072717282887638275336282650290435643669091463148809912668376756764040957\",\n \"16606810632355688503963608572716312972779486626316334426128762027128205877076\"\n ],\n \"19807280841953825688956127057574997550628415459932153696504115817307214180726\": [\n \"6107675873075368070236456609095213704373694443118294777156566687938004576986\",\n \"1826795124636223203818563561539811810808535234194734517501822104993451916839\"\n ],\n \"15153278499139037677684563572702629483304801956208462307223684767839977545923\": [\n \"17096970198545488524448381371183090919564665200904386265980591875142358467490\",\n \"1\",\n \"1\"\n ],\n \"4472667231591000437237992803408902789582137429999017246047937531328123734383\": [\n \"1470615577252418253953374937220116567601667614828538650760645228774109209936\",\n \"15153278499139037677684563572702629483304801956208462307223684767839977545923\"\n ],\n \"20264138649443503930572629304812402982463138439841280180961765416396500108937\": [\n \"4472667231591000437237992803408902789582137429999017246047937531328123734383\",\n \"0\"\n ],\n \"15797113834289624183733925982210359527896507100640289276045463140118155645137\": [\n \"20264138649443503930572629304812402982463138439841280180961765416396500108937\",\n \"0\"\n ],\n \"19558909956251327929642613982968524134692232910299329759891893532424440118613\": [\n \"0\",\n \"15797113834289624183733925982210359527896507100640289276045463140118155645137\"\n ],\n \"8074367424649103822078185002562513681881389896455773045014167383271273180164\": [\n \"19558909956251327929642613982968524134692232910299329759891893532424440118613\",\n \"4794171670147661203978488327655506678563503872160208916563855047413582404309\"\n ],\n \"19047352092027708635199343532670372904180774336229828736529060071434434832647\": [\n \"8074367424649103822078185002562513681881389896455773045014167383271273180164\",\n \"0\"\n ],\n \"2881748718220174872544192550456788545399458051912124817852289472627039649871\": [\n \"19047352092027708635199343532670372904180774336229828736529060071434434832647\",\n \"0\"\n ],\n \"13040424571760760810244824794460851110002231749469125334751293489937865135316\": [\n \"2881748718220174872544192550456788545399458051912124817852289472627039649871\",\n \"19381459500408028088439156109801965419322053791292655974184335319859999126460\"\n ],\n \"21503059084270841615881611406320778731569968663200693391921656129818843559470\": [\n \"13040424571760760810244824794460851110002231749469125334751293489937865135316\",\n \"0\"\n ],\n \"6189437578423125396012496824221508687074621572351235019792715186624468519953\": [\n \"21503059084270841615881611406320778731569968663200693391921656129818843559470\",\n \"10128490008404429807136473490955836756480183670872408818830155482849890062833\"\n ],\n \"16726996938976419017012284669519798519194130142450317395412004430581906422341\": [\n \"5351195458990480604175795882445456846793874505047036116791019852712045520352\",\n \"1\",\n \"1\"\n ],\n \"2683039026385839862539232500410806869453723282924836510619280157965927787419\": [\n \"16726996938976419017012284669519798519194130142450317395412004430581906422341\",\n \"11854017699757344437565939815601677974597714653041988492913925006122113149969\"\n ],\n \"17704960011168173722008383355630593031916454445353601584472522519961224028699\": [\n \"0\",\n \"2683039026385839862539232500410806869453723282924836510619280157965927787419\"\n ],\n \"5809646160204731713463931120760604131496821574628125597071264799690892887241\": [\n \"17704960011168173722008383355630593031916454445353601584472522519961224028699\",\n \"2427237655900299325532565822638652325804282581839425868967548050720393309899\"\n ],\n \"18546915619948291253888120976571081781832218794512300559899052594783221772069\": [\n \"5809646160204731713463931120760604131496821574628125597071264799690892887241\",\n \"16173467882398316640038473601366808874493236485654678507221589962465334795514\"\n ],\n \"1879227356615561565022659056358643269603311513673289526134392395684404033795\": [\n \"8774271050106452525393675822385992188924352773455709992319735820366419632163\",\n \"18546915619948291253888120976571081781832218794512300559899052594783221772069\"\n ],\n \"18902271438994671157894257217305271285162872491517495612852310433329861865340\": [\n \"1879227356615561565022659056358643269603311513673289526134392395684404033795\",\n \"15029208865566684125443762140361477231773819362556005654972937277178434693723\"\n ],\n \"19079363250474882163988912253096768200209638696734209860682814653197780680274\": [\n \"10786237358035965062445729660569813353196895605875437712215571578707222668918\",\n \"1\",\n \"1\"\n ],\n \"798675934028605563765508488855290998638243501000768285036688166905482555331\": [\n \"21055077602214922655198655328829122858879548158061856754187354103413601188342\",\n \"19079363250474882163988912253096768200209638696734209860682814653197780680274\"\n ],\n \"16829633962419376872899687151127806242693930820346311744928408707414523002456\": [\n \"798675934028605563765508488855290998638243501000768285036688166905482555331\",\n \"0\"\n ],\n \"4819729321855601342886074781407772060358142354531242376561005321876346132117\": [\n \"16829633962419376872899687151127806242693930820346311744928408707414523002456\",\n \"0\"\n ],\n \"3858549770745938038346641163936535191840799712443779715697804869083062019271\": [\n \"106745861904980393592496803342457681041452273894386626267685686037914719830\",\n \"4819729321855601342886074781407772060358142354531242376561005321876346132117\"\n ],\n \"7539756615045445446468582496068181024286265352800020708928226604891744712212\": [\n \"18103069494995571006335464148938316422507221603313069714811416669262557607270\",\n \"3858549770745938038346641163936535191840799712443779715697804869083062019271\"\n ],\n \"3296084637451974575223805456597957745636840837696478855767518633254466313914\": [\n \"7539756615045445446468582496068181024286265352800020708928226604891744712212\",\n \"1985833247140341149879677424256552976714472773861669954347165370400677784229\"\n ],\n \"3696725525011897305188750800390686710093095403042748946720660919265688105089\": [\n \"3296084637451974575223805456597957745636840837696478855767518633254466313914\",\n \"10185760617866289971218080916141932404068914174752553462940732443241335042594\"\n ],\n \"2025700296148144539021024120806143514976729832311519741424587558143577156980\": [\n \"21544838258978222702433955127787592654105993658657925272653035165504492498093\",\n \"1\",\n \"1\"\n ],\n \"10523727440218432028046848063245701745560000300540318393475549595096373893390\": [\n \"16909717206385818250925143869691490366345740098234365582300582316527334844777\",\n \"2025700296148144539021024120806143514976729832311519741424587558143577156980\"\n ],\n \"21665022267225149005625127938173032222950283693300036643593766910898371490227\": [\n \"0\",\n \"10523727440218432028046848063245701745560000300540318393475549595096373893390\"\n ],\n \"20162380430518286151036856031363394667979984117774604298530741659643708295185\": [\n \"21665022267225149005625127938173032222950283693300036643593766910898371490227\",\n \"0\"\n ],\n \"12401769292219855077535738913981004947985253550415161384767912944139168023553\": [\n \"13998823367677490524757632155127467882145192497012057338345313255352582331918\",\n \"20162380430518286151036856031363394667979984117774604298530741659643708295185\"\n ],\n \"15672033623317938914730455750002821423149868513508743854326478266121048896652\": [\n \"9072742602339081860670381194571266639293612493796504718775992794669180750923\",\n \"12401769292219855077535738913981004947985253550415161384767912944139168023553\"\n ],\n \"20214610563987988455371691771162896403069097564304674928487741280401465099679\": [\n \"5903247319399495395159561808443615632925942631303409612089552817662188071189\",\n \"1\",\n \"1\"\n ],\n \"5261343150796664017432102395674646628646347428613609508017291428107118557542\": [\n \"20214610563987988455371691771162896403069097564304674928487741280401465099679\",\n \"3180666215384872972780839974347266354036120422106934792320464299325966057402\"\n ],\n \"668396112193407753034821883740010243390179851301323719238942644997233520081\": [\n \"0\",\n \"5261343150796664017432102395674646628646347428613609508017291428107118557542\"\n ],\n \"20037635051685942153957980493677654273012126552466456935060990513332717719420\": [\n \"668396112193407753034821883740010243390179851301323719238942644997233520081\",\n \"10019815530782411681139865452269432849330954419046861887521810501314881870728\"\n ],\n \"4699434120757618813689528843683348991766469643364894551540476530426640313748\": [\n \"17386894641852079330468981025856813333646367899648752814036457240946941525400\",\n \"1\",\n \"1\"\n ],\n \"17379436958440349833006173021338347330997414599759638408400135589359445988578\": [\n \"3292941014813562356846045264256364859386928479504905337562989584613890519557\",\n \"1\",\n \"1\"\n ],\n \"15028682973967690134525282284618899778067203509467624215454325076016768289821\": [\n \"17379436958440349833006173021338347330997414599759638408400135589359445988578\",\n \"13733407977047874586460161233682499231925900801930561195985006578056613426658\"\n ],\n \"680954713533129970706638025148430987989103395257704335915992826792226413663\": [\n \"0\",\n \"15028682973967690134525282284618899778067203509467624215454325076016768289821\"\n ],\n \"5304030672555264706946164405082337689838226326938856033686966265762629007484\": [\n \"0\",\n \"680954713533129970706638025148430987989103395257704335915992826792226413663\"\n ],\n \"13469744400891998948883307163180846872428049030620672246623993925393617182334\": [\n \"0\",\n \"5304030672555264706946164405082337689838226326938856033686966265762629007484\"\n ],\n \"18191041113753758451180861558610690585172202517067120449312348500947683227242\": [\n \"0\",\n \"13469744400891998948883307163180846872428049030620672246623993925393617182334\"\n ],\n \"1211176607900140061418575558778916232991190221335490075787830343571159008667\": [\n \"18191041113753758451180861558610690585172202517067120449312348500947683227242\",\n \"0\"\n ],\n \"17021501619403290032809392832199311536775637577381049384699291315783418246480\": [\n \"1211176607900140061418575558778916232991190221335490075787830343571159008667\",\n \"5990956969417933175503294160152545496279698588115775642810706168430352470017\"\n ],\n \"21810744433164809241730628034810768861729181442941944132636965339235807478019\": [\n \"11082710880029180767742571907851015032825475733870542168494726884565068320243\",\n \"17021501619403290032809392832199311536775637577381049384699291315783418246480\"\n ],\n \"8065185519798673753208098335626260762142090359141248373009907528308280176429\": [\n \"11649327638525441811779711445333121378460776352902571056370014634762273735769\",\n \"1\",\n \"1\"\n ],\n \"8957763975894492417453004679746216615440525719101438692544689608521754493745\": [\n \"8065185519798673753208098335626260762142090359141248373009907528308280176429\",\n \"14836421528163976703400652059112132892906722554541171094425986764701885114988\"\n ],\n \"15384611949236266376892511171344080321423821685196450925285279311690127849458\": [\n \"16823037397830111512643197420785644471770874703846955639213744688521666669042\",\n \"1\",\n \"1\"\n ],\n \"5302522195243075344986496501965936113023256274454865978802633368877557080442\": [\n \"15384611949236266376892511171344080321423821685196450925285279311690127849458\",\n \"17486665582095580340309777599476832039494804346815282389010485939089212397035\"\n ],\n \"19414130366727779502430018812044720749184936594045862588351100428969328353797\": [\n \"0\",\n \"5302522195243075344986496501965936113023256274454865978802633368877557080442\"\n ],\n \"12044235098825681380309197089633473112043685726472543593771907315961958726299\": [\n \"19414130366727779502430018812044720749184936594045862588351100428969328353797\",\n \"0\"\n ],\n \"16788134372166819364705970925603437477195264068372323636002703646182314484588\": [\n \"0\",\n \"12044235098825681380309197089633473112043685726472543593771907315961958726299\"\n ],\n \"13495792864476829781679317874250569140331112754417666558560295461788966944316\": [\n \"16788134372166819364705970925603437477195264068372323636002703646182314484588\",\n \"20258675181592496590434020259093578220543941023113936953461718608284205637989\"\n ],\n \"10615215608891527365681844391349482603607285515215587345907713374567889381799\": [\n \"20423790550530641757677880833953654200081668640588817470174999060906511543651\",\n \"1\",\n \"1\"\n ],\n \"5410035474266068357122565951767219234199332014131554464695898078293800107277\": [\n \"17686654069176187802466876521490353316944250186140714181075152575488259884645\",\n \"10615215608891527365681844391349482603607285515215587345907713374567889381799\"\n ],\n \"9012826203599477514766839625206337347342913241804407332139453635142626277471\": [\n \"5410035474266068357122565951767219234199332014131554464695898078293800107277\",\n \"2656585966067470494123857556383826200703856740380419554266967707301878107020\"\n ],\n \"12573879309226911849488431390603584528101288685913140138814808501453478978518\": [\n \"0\",\n \"9012826203599477514766839625206337347342913241804407332139453635142626277471\"\n ],\n \"5622585222949049845373426036092496800851815118788820396359778638477285253834\": [\n \"14145767562396276233390241835822967481273978368292009239804102663775226223520\",\n \"12573879309226911849488431390603584528101288685913140138814808501453478978518\"\n ],\n \"19347466475483685217774876953127854028722713698745175525400907960134618032269\": [\n \"5622585222949049845373426036092496800851815118788820396359778638477285253834\",\n \"15626914341906570896881646094252300432766253920214995559924922645642882813197\"\n ],\n \"2868480159504699782478727558922638653790071846288334872113738648617233966976\": [\n \"15154842375318061914842317314861528824460796652655861985674184491601164859971\",\n \"19347466475483685217774876953127854028722713698745175525400907960134618032269\"\n ],\n \"21521194408389392489976303356637553682256430880114506861009290192233821877664\": [\n \"2868480159504699782478727558922638653790071846288334872113738648617233966976\",\n \"19047769613895947755698875758490202166365263471443864373571761401446629061950\"\n ],\n \"7752946287352591914540399918109370126754473973457350666564277217243172969499\": [\n \"8355166355345532111153379657219536635473945187271723093774239068916073302815\",\n \"1\",\n \"1\"\n ],\n \"17819353356373349076667892339339067629797142610943312590037810120653795532773\": [\n \"7752946287352591914540399918109370126754473973457350666564277217243172969499\",\n \"20535127876043159516299565538085080030768883416429331604426491703349219052623\"\n ],\n \"18364864663330158718134343624864177999816601277331715368691097224959293544346\": [\n \"17819353356373349076667892339339067629797142610943312590037810120653795532773\",\n \"19628476499557521111781641851736736069444031197168104871545828865981309334720\"\n ],\n \"16822888808336347663430910242755565782381879754407032588825032550879941083650\": [\n \"1835989560926316950229250190629767594628677822388257828587362662068247261445\",\n \"18364864663330158718134343624864177999816601277331715368691097224959293544346\"\n ],\n \"5498148889869910232739536132069376529741195983535201697127334156069116090152\": [\n \"16822888808336347663430910242755565782381879754407032588825032550879941083650\",\n \"8363400992465976234487273055846871229834538691071647290495180794697399165264\"\n ],\n \"17972398683133486838627159776891383980401967431068594200748737387870025451854\": [\n \"16795890397349569841414666361514444781904163135612582084604974041995483311811\",\n \"5498148889869910232739536132069376529741195983535201697127334156069116090152\"\n ],\n \"6491443124050098168466454289462139381539926914396723187155648647758560884952\": [\n \"1379711602907678462417692033373417973133585198858366427929154265264659978089\",\n \"17972398683133486838627159776891383980401967431068594200748737387870025451854\"\n ],\n \"13626488982208865614581656398399701058033233091739530823056903482962809132554\": [\n \"6491443124050098168466454289462139381539926914396723187155648647758560884952\",\n \"8257496576317581341677020604196345887006410014041012737958297492202244748084\"\n ],\n \"9847966412926149207926024495906562754039942058420365998980854675113451699482\": [\n \"2707594264135082974161605089288176031569841672624778439263786518108679789680\",\n \"1\",\n \"1\"\n ],\n \"408697091987007755001643804153397674664590121933110483482808325234720399865\": [\n \"1059827018296990528414278059440299194650247999041811370575116859533345799652\",\n \"9847966412926149207926024495906562754039942058420365998980854675113451699482\"\n ],\n \"2640343427724871535524831575198686813121662574871668509558941425397807731797\": [\n \"16747901280254496120392848819876374720000765154309960303174659682495588231407\",\n \"408697091987007755001643804153397674664590121933110483482808325234720399865\"\n ],\n \"14218000089146643261541746900071972027899983394602066124731519874909801370635\": [\n \"2640343427724871535524831575198686813121662574871668509558941425397807731797\",\n \"18158558380643611034017341549953314175259954229682982362255635664501804824171\"\n ],\n \"8293939265786677883258568306694886637368279378814627857783015420665857372138\": [\n \"9778194837882278562364414150369160518580480388963374422435581850762239749224\",\n \"1\",\n \"1\"\n ],\n \"19231690978270642839267499057658924303426877894237977128405196180947791071280\": [\n \"9468359753621457793378840382707951257152064630593429978888740212239786561687\",\n \"8293939265786677883258568306694886637368279378814627857783015420665857372138\"\n ],\n \"13746419451480717154450066247582451348608507868707652541216048414474223253627\": [\n \"19231690978270642839267499057658924303426877894237977128405196180947791071280\",\n \"12076657949750020617206624857429523242854859626537814071684577884352609854787\"\n ],\n \"17557779220305318424700773231148775376702007213545093952393083621372733823383\": [\n \"6179543369162383468579219348964741361614042971174712177952365504698508587879\",\n \"13746419451480717154450066247582451348608507868707652541216048414474223253627\"\n ],\n \"6997317562901134055260481617409222588058629520196128237378145370769968886407\": [\n \"9658653877709948753445470564444765857349195758786004950508228564474633831220\",\n \"17557779220305318424700773231148775376702007213545093952393083621372733823383\"\n ],\n \"12671561577617159708844444071755398122604977219667426090861968211954830849397\": [\n \"6997317562901134055260481617409222588058629520196128237378145370769968886407\",\n \"18770536995554519945291490396108313378329009855327958337989155687061253667978\"\n ],\n \"3963245346554354526137573984697550157089049631855196667606360244782374356201\": [\n \"12671561577617159708844444071755398122604977219667426090861968211954830849397\",\n \"16828328819030088434228634751189217646934651589282075505378593126964728280692\"\n ],\n \"13580110971956947509784592912138438525730667199897496448209672299662174386211\": [\n \"3963245346554354526137573984697550157089049631855196667606360244782374356201\",\n \"21312186222944154195086891204660667852624395377045246742598399792928336001796\"\n ],\n \"17399937134504892332629109898817245845878725500371893955350235037424350135636\": [\n \"17455348187205707790335794522801524999524420633177042376109694330508247085671\",\n \"1\",\n \"1\"\n ],\n \"17713698186618020422700987216953258745061374346315750122450840528625784036691\": [\n \"17399937134504892332629109898817245845878725500371893955350235037424350135636\",\n \"5217697467143360900662252142827266330795195735188831523740913895295618614727\"\n ],\n \"10182341801956883214002569678588313852138365873275992716562783942860158221729\": [\n \"0\",\n \"17713698186618020422700987216953258745061374346315750122450840528625784036691\"\n ],\n \"16055989359396934630041739825699899342529557234136387997401024641891363029451\": [\n \"0\",\n \"10182341801956883214002569678588313852138365873275992716562783942860158221729\"\n ],\n \"7494948051376778830090144882429475895703683693246727220617948042321750685826\": [\n \"16055989359396934630041739825699899342529557234136387997401024641891363029451\",\n \"0\"\n ],\n \"18425863296104726889696281983613195296992819170654058421619795420156932401545\": [\n \"7494948051376778830090144882429475895703683693246727220617948042321750685826\",\n \"15552663253230483557243208143465155560803764291128187243223368406491422782641\"\n ],\n \"17495594489263372437889800917874611707433671374328593783180754393730110335540\": [\n \"4553495234731049861660725789179447777623670851450231840637495242279015908628\",\n \"18425863296104726889696281983613195296992819170654058421619795420156932401545\"\n ],\n \"862174990458115637334710507064273177199252715027354823519618183306468464807\": [\n \"1774574511039876013382318669325000993903353859556025876003197803231181738288\",\n \"1\",\n \"1\"\n ],\n \"6776118839922118579956682516574940291791229213303427774183152843362820530860\": [\n \"13248339530842106074316647099689686169950935578038861167017446653928416417668\",\n \"862174990458115637334710507064273177199252715027354823519618183306468464807\"\n ],\n \"64009328760575976565419027597075334567398633848002489589536818967010878074\": [\n \"6776118839922118579956682516574940291791229213303427774183152843362820530860\",\n \"0\"\n ],\n \"17155079138519558608009144869293150571381514759409631243355166856536449243291\": [\n \"64009328760575976565419027597075334567398633848002489589536818967010878074\",\n \"0\"\n ],\n \"5658289843080070356912740363655458815365013331648362604550537090093858191861\": [\n \"17155079138519558608009144869293150571381514759409631243355166856536449243291\",\n \"18380277639579281896268472109357908423884461330585560202377189315145894734524\"\n ],\n \"13976422995327917828612526485243129869688415503239028920507345915369924590152\": [\n \"6736991137383183328164032701536884984172328358390821350791740694052916703180\",\n \"1\",\n \"1\"\n ],\n \"18102142131043643291999146578678233123662633022587969132103619446838827525073\": [\n \"13976422995327917828612526485243129869688415503239028920507345915369924590152\",\n \"11229612987767176085072608741876078815882628598863883154439196488040500742157\"\n ],\n \"6417146101787202172259233360160148648091522008978806223153423099251134448561\": [\n \"0\",\n \"18102142131043643291999146578678233123662633022587969132103619446838827525073\"\n ],\n \"19354658820963158226622886005852903664552756167927974946576828243790550324169\": [\n \"6417146101787202172259233360160148648091522008978806223153423099251134448561\",\n \"1663584833320342007881109461797175702876111177401548423727245722954571686915\"\n ],\n \"10237764942265793760635822773421247512866122681836479808622928123914615357782\": [\n \"0\",\n \"19354658820963158226622886005852903664552756167927974946576828243790550324169\"\n ],\n \"153078340721045569181869603691303051738209277309331833520513396769590933335\": [\n \"6290869123205113866407056599162187699963845690706397333486489332926998074210\",\n \"10237764942265793760635822773421247512866122681836479808622928123914615357782\"\n ],\n \"8694504838517453067263535711858807037519737221734840170430075300985563456962\": [\n \"21560802573992198486648247038827587409912148763261009040910170402215395747011\",\n \"153078340721045569181869603691303051738209277309331833520513396769590933335\"\n ],\n \"9071982941960938219395033217796967259397826378579852012226846502705127770297\": [\n \"17225696450599189813832510633143125924384194939640414481016583655620024677087\",\n \"1\",\n \"1\"\n ],\n \"20287230473549515978012707285213360687160254410616427306908655165798771942118\": [\n \"14158002171216328569671943234827877349950998809247167526788380826892938219656\",\n \"9071982941960938219395033217796967259397826378579852012226846502705127770297\"\n ],\n \"1232798197906736506475711084349835982861476566888644726921925387210928742478\": [\n \"20287230473549515978012707285213360687160254410616427306908655165798771942118\",\n \"17638708927294865043742709227223560597884458624603566140378055835585343494757\"\n ],\n \"2594010064555667900895098395331611921950167739025667044767260002790516840494\": [\n \"1232798197906736506475711084349835982861476566888644726921925387210928742478\",\n \"9555943399683651810051426507253402362664497122758532400130647425848382916823\"\n ],\n \"13676936794379688673798889974580757184051537487642153105319505787747798078492\": [\n \"12277060566837921656200088740531623827719346019982795169465058465700824845490\",\n \"1\",\n \"1\"\n ],\n \"21767093603316438951426856859030102491221908565642212785409683874495628354157\": [\n \"13676936794379688673798889974580757184051537487642153105319505787747798078492\",\n \"5161203220225311316238512641386914843069217255157631061033915619164670047837\"\n ],\n \"12497763822418919589439753710504315561225602769783996323579676999152935449148\": [\n \"0\",\n \"21767093603316438951426856859030102491221908565642212785409683874495628354157\"\n ],\n \"3548650594727429714269152028680395800080197274968643333131730258079118940098\": [\n \"15902221623711777280979333064280556462913056582315318081417665750871263688318\",\n \"12497763822418919589439753710504315561225602769783996323579676999152935449148\"\n ],\n \"12440896092537086791635231113979586705635879503251479419953148074588739524472\": [\n \"3548650594727429714269152028680395800080197274968643333131730258079118940098\",\n \"20356247939632102113721877747405321034474759607161580460050735252668378128083\"\n ],\n \"20323002605266782535938440329682782988031560879219631833936720073687644112972\": [\n \"12440896092537086791635231113979586705635879503251479419953148074588739524472\",\n \"7768239992516744368595135414918454207141297939524153046877613811153189107793\"\n ],\n \"19284320486161757934739793980378446612588269514743334282020976994869051152627\": [\n \"6448708828680911061314499156764359717031554378710213760640163578281406812119\",\n \"20323002605266782535938440329682782988031560879219631833936720073687644112972\"\n ],\n \"9564589717887487758607686375721371333038884211424713707522135554941879630332\": [\n \"12090689999428262985256748800520576329479129356402559101849062818050280908900\",\n \"1\",\n \"1\"\n ],\n \"12685228710982932797244612259451858374985461162127348356777715033629441452153\": [\n \"523659930762696056969151581527707410807694590641065537250329802922479579794\",\n \"9564589717887487758607686375721371333038884211424713707522135554941879630332\"\n ],\n \"2386276366633364530452929892889202427606636754489567480152574986386472997641\": [\n \"12685228710982932797244612259451858374985461162127348356777715033629441452153\",\n \"11611512209123095140890170841600471354303581690984034621113334859220457479522\"\n ],\n \"16354462178848461592143303601823294217043234250360651924075229191480280761170\": [\n \"21409295168593014059910810062629390729707885421124053644196755634728614183232\",\n \"2386276366633364530452929892889202427606636754489567480152574986386472997641\"\n ],\n \"2593999819074091562858698247894073833243265058902270171248494428026163733029\": [\n \"16354462178848461592143303601823294217043234250360651924075229191480280761170\",\n \"13133178531078323049931819082013214237747933842660043673225791512489785723828\"\n ],\n \"20271197315289000073486068990517481284714594176483185100163137446645130468586\": [\n \"2593999819074091562858698247894073833243265058902270171248494428026163733029\",\n \"17900992558549173330068203621728130224576581685283505663972676712167999625481\"\n ],\n \"19563645412824522502905304611835067285684996307233458479720427188330690529888\": [\n \"20271197315289000073486068990517481284714594176483185100163137446645130468586\",\n \"19473508552350735335483280665355635447688347763082119273997320301801077735432\"\n ],\n \"17218200122260475049754010202900087128503184347025604948990936162611984321813\": [\n \"7094571419170864872969020536195331969857339690604925383364162075865180912863\",\n \"1\",\n \"1\"\n ],\n \"8358097111287469320013717288323616041438794274499867047431896475842306220053\": [\n \"510011533993309135441553255773590395618525494055421678129014351989283155138\",\n \"17218200122260475049754010202900087128503184347025604948990936162611984321813\"\n ],\n \"9241787577707059406763427480864676285722797688306522865429809883356124628368\": [\n \"0\",\n \"8358097111287469320013717288323616041438794274499867047431896475842306220053\"\n ],\n \"1257052588945656814224317079353389582145548606892494248077359365137325884108\": [\n \"2627638260862071379973228940270865944935279194994900412895517385658361342249\",\n \"9241787577707059406763427480864676285722797688306522865429809883356124628368\"\n ],\n \"9858614172666050188731233493767362106628820780481750283362599261765858950759\": [\n \"1257052588945656814224317079353389582145548606892494248077359365137325884108\",\n \"2594010064555667900895098395331611921950167739025667044767260002790516840494\"\n ],\n \"21596428382611057426112568381404571247261873340498816009717661136786614548676\": [\n \"9858614172666050188731233493767362106628820780481750283362599261765858950759\",\n \"15522036153019005287261399904078968208998142235179126986127102740884928744702\"\n ],\n \"20068705895154677438479011489238279838765619686180449405109037196272013398351\": [\n \"10983521560565596915698821726237470899702163249082203573157734024028098796067\",\n \"1\",\n \"1\"\n ],\n \"5227313137059453118118583748028587630741087608185550391430550470739530590145\": [\n \"20068705895154677438479011489238279838765619686180449405109037196272013398351\",\n \"15218101950866126859936017832982973063799726548065433861330093934261466209845\"\n ],\n \"8053093415809032802164190179769399268665071930011681561267864991977133847824\": [\n \"12625621710032205082385479777336135819910416413818476469782888339940879572590\",\n \"5227313137059453118118583748028587630741087608185550391430550470739530590145\"\n ],\n \"9232745222766563240065714841072513640734466042023061949750280779228424327276\": [\n \"0\",\n \"8053093415809032802164190179769399268665071930011681561267864991977133847824\"\n ],\n \"16549807696460181133479080667889730979671246903405539687591103080176843613653\": [\n \"7745221230713646064412489611122897579514566163823539293539832419855660922189\",\n \"1\",\n \"1\"\n ],\n \"14450268035386741205291401367518937705329663670246804423093695787939834205006\": [\n \"14574427529964684839999104067088343791542464865569816893275213748888689385917\",\n \"16549807696460181133479080667889730979671246903405539687591103080176843613653\"\n ],\n \"15487072527112348286485885060606703864928155313779595368838464597236408776258\": [\n \"14450268035386741205291401367518937705329663670246804423093695787939834205006\",\n \"10402893129086595770411342175625396921387017895825679992318411660073923865754\"\n ],\n \"14285015230768603946193026212456807164608842631868243008993082642352901670284\": [\n \"0\",\n \"15487072527112348286485885060606703864928155313779595368838464597236408776258\"\n ],\n \"15615809687034018763153863395396636840133581205058671042537105990894618303071\": [\n \"14285015230768603946193026212456807164608842631868243008993082642352901670284\",\n \"0\"\n ],\n \"19649725730300354404781697518910445820905796005545809382985212206689449093123\": [\n \"17377686386896503728082085429222365416347370339760772259067527876580988230913\",\n \"15615809687034018763153863395396636840133581205058671042537105990894618303071\"\n ],\n \"14493712504748744380935293716444065176078296650553190549111867676790607612774\": [\n \"0\",\n \"19649725730300354404781697518910445820905796005545809382985212206689449093123\"\n ],\n \"4356639049638363895946712485155449679863527414884126396672056224988131577406\": [\n \"14493712504748744380935293716444065176078296650553190549111867676790607612774\",\n \"16298096407052396116942826083541682079022166535831041470593302895001119882287\"\n ],\n \"11197714562215135068399717031944307161334820853061291887734301132299616863890\": [\n \"0\",\n \"4356639049638363895946712485155449679863527414884126396672056224988131577406\"\n ],\n \"2473274690921875605559625046484787441264419924014901330304307284861282006991\": [\n \"11197714562215135068399717031944307161334820853061291887734301132299616863890\",\n \"6250831231627200082969103903494086846929653456880822600692035037461503938473\"\n ],\n \"20628748522466553039778847976394356568631350144771389441583077171486324952630\": [\n \"5171154343323356784135603275102836535357590632393103856754898413479827234434\",\n \"2473274690921875605559625046484787441264419924014901330304307284861282006991\"\n ],\n \"6370940092053700660803013103257739712792576810293256735042990630737662638605\": [\n \"20628748522466553039778847976394356568631350144771389441583077171486324952630\",\n \"6074772554542612364525793310214909085951727550488732439673623721757942435668\"\n ],\n \"758251522810458491355130963408186943462671145394212448661585202145296645440\": [\n \"21609113809128901872603074190790074159609949350564035302812758481565226961889\",\n \"1\",\n \"1\"\n ],\n \"21211435866229500099850813738193059407782097680191515394071258433131454481900\": [\n \"1899562089001497730265396666595997793922410981159688103114119632333083795011\",\n \"758251522810458491355130963408186943462671145394212448661585202145296645440\"\n ],\n \"11904578712975749857515506625716861064034059962159692593117760763119483467904\": [\n \"21211435866229500099850813738193059407782097680191515394071258433131454481900\",\n \"0\"\n ],\n \"9911231631618867402100643756109964358852138660528519435460637265127133600488\": [\n \"11904578712975749857515506625716861064034059962159692593117760763119483467904\",\n \"0\"\n ],\n \"17232516521172863290055656593079176918910995983902194401299537590250529783551\": [\n \"9911231631618867402100643756109964358852138660528519435460637265127133600488\",\n \"0\"\n ],\n \"18249703909376575765758285966736258681226525938164392682838122570251766145656\": [\n \"17232516521172863290055656593079176918910995983902194401299537590250529783551\",\n \"0\"\n ],\n \"16232451459213714202190655296857358759917038438708074083692296868593724266283\": [\n \"18400220787758253416728894560857493946768090462154923402333033713990359803683\",\n \"18249703909376575765758285966736258681226525938164392682838122570251766145656\"\n ],\n \"7449223554507929726750058774237650085199248732131704956369473367311156988961\": [\n \"16232451459213714202190655296857358759917038438708074083692296868593724266283\",\n \"12647988453060295923238688537968233265332932355146706811728157088508075772655\"\n ],\n \"4120370428802848257712544313908048424878283002747872189937127087603996381413\": [\n \"15896707356223904812443520768730395895520574308462300623265022464380690514285\",\n \"7449223554507929726750058774237650085199248732131704956369473367311156988961\"\n ],\n \"20066554520687475945288617662358180624353372138324322031981670555080989160218\": [\n \"21003706586350454698246268096132405060504492124583047445402975909982383814433\",\n \"4120370428802848257712544313908048424878283002747872189937127087603996381413\"\n ],\n \"21649731696107302015359936518505828903598232972841352236017979569194764491730\": [\n \"2648585742346719171211614419033857490710235618967650189624778129850727050244\",\n \"1\",\n \"1\"\n ],\n \"14955154851308704300040497622650333468631994034308403740204285584451953329538\": [\n \"21649731696107302015359936518505828903598232972841352236017979569194764491730\",\n \"13154265779195935287190697132311726420265868035864055713365617478907241704309\"\n ],\n \"3964659923009078158335934546501878848814746821572818579600856047099024387311\": [\n \"2708579978215159852952112143278935357161079240900086148254475891300290150212\",\n \"14955154851308704300040497622650333468631994034308403740204285584451953329538\"\n ],\n \"13987284445338890013011519055661550120598469566835624430149243469502253489855\": [\n \"19817612878606912461339820112113727768983305544133179043461238990985706915947\",\n \"3964659923009078158335934546501878848814746821572818579600856047099024387311\"\n ],\n \"17282558119935991557277362777780343829167086687965540558569811629549825935960\": [\n \"13987284445338890013011519055661550120598469566835624430149243469502253489855\",\n \"2432291510927614708032724439124302849512317658866615038269456392421766231446\"\n ],\n \"10603899330593857687406952450405922534685943054722765082445263320697685971544\": [\n \"16865483388557536102804317087102687222213059023599207300659971917701465284443\",\n \"1\",\n \"1\"\n ],\n \"13880503345619872921037546750891108852808386294047848758352463252671664908423\": [\n \"16740532963541170107712852060414076852669924905775719011965234862504320708695\",\n \"10603899330593857687406952450405922534685943054722765082445263320697685971544\"\n ],\n \"1038697917252801753510716333331534918018350673092307633381779009984028796289\": [\n \"0\",\n \"13880503345619872921037546750891108852808386294047848758352463252671664908423\"\n ],\n \"7300334771751118671016319729094696711467501601167641102590218981800727251421\": [\n \"19721839963229337386618725427365581040971772951285427333369245957816959793897\",\n \"1\",\n \"1\"\n ],\n \"17680537716704893631346717608356859215635845646807973984607257881623260537584\": [\n \"16882964127208731055748602562392296288750427342671219730414589375857039201495\",\n \"7300334771751118671016319729094696711467501601167641102590218981800727251421\"\n ],\n \"3065957881137995887397051372882352090443894855491365866754555758109929899135\": [\n \"382442565595994256283886579587812094620666017373160198954007491503161401774\",\n \"17680537716704893631346717608356859215635845646807973984607257881623260537584\"\n ],\n \"20913552435246092139037160148138072879783432331055546473680263541707275723117\": [\n \"0\",\n \"3065957881137995887397051372882352090443894855491365866754555758109929899135\"\n ],\n \"11242229648386959097668462072822498670357467244550409240665298053152651759543\": [\n \"13354661722880581697281880357160702841824592828409065502198148917017291030075\",\n \"1\",\n \"1\"\n ],\n \"7424554614108766944564403955475847853359176216173971361302014679617010954512\": [\n \"5260680813868090449240094221057819238743667837644996106724357095655313679517\",\n \"11242229648386959097668462072822498670357467244550409240665298053152651759543\"\n ],\n \"4531997546876210136396890776633126699000982655315139471475783981523680860006\": [\n \"0\",\n \"7424554614108766944564403955475847853359176216173971361302014679617010954512\"\n ],\n \"17011973827909559501384696763665803931927539674690170875205534436247472784582\": [\n \"21319335411029746542276985091369129475242712160515487883567222399540540386295\",\n \"4531997546876210136396890776633126699000982655315139471475783981523680860006\"\n ],\n \"6349400409571816613508961402174628375035005955863315802620060886824800835837\": [\n \"589317372956691822133528940105244402521183254356436005168521503983273251484\",\n \"17011973827909559501384696763665803931927539674690170875205534436247472784582\"\n ],\n \"10115049615574110575108284639138701453792703114543432481999631457129746276677\": [\n \"17487054545047892803126107147089418460196092241241668421007111662881116646352\",\n \"6349400409571816613508961402174628375035005955863315802620060886824800835837\"\n ],\n \"8758089794639232342100690316324477513090116648489514185146469749693406624768\": [\n \"9542006965003741232306432466881615543608888931972161157733805594540124837284\",\n \"10115049615574110575108284639138701453792703114543432481999631457129746276677\"\n ],\n \"11109521393519612187161870267454676664299658719615695880285307214736912945366\": [\n \"8758089794639232342100690316324477513090116648489514185146469749693406624768\",\n \"5354502952974355759198867130604060908233857461808853598238130025875420522970\"\n ],\n \"19332334303039695847229756628418431409425645751639159775070245060305845295113\": [\n \"11109521393519612187161870267454676664299658719615695880285307214736912945366\",\n \"473292872475782541629589018585025767833946825700088260173034511329790213562\"\n ],\n \"1283201114831904488052789984728201706599774222052510864623334448838177544368\": [\n \"19332334303039695847229756628418431409425645751639159775070245060305845295113\",\n \"1353246704285847068074975868409651690574992659674885364510515070133275872080\"\n ],\n \"14665985186027556368935025954291024480536717764324745625504009989380840491301\": [\n \"1776850302131992037563826514646702375358729149404311960089107097976622172239\",\n \"1\",\n \"1\"\n ],\n \"4290868518213930622371884764288233360716636444995589625959749149396999453083\": [\n \"13846205469785848560102510148660131192912940893826464994219178500600979315720\",\n \"14665985186027556368935025954291024480536717764324745625504009989380840491301\"\n ],\n \"10388441133994063481685741244525837971363341427640969797871944256362572280467\": [\n \"4290868518213930622371884764288233360716636444995589625959749149396999453083\",\n \"13066422797376708828884825862787904447865989382385463394093376104996960901827\"\n ],\n \"17415869453302647663458974419348987348710368359407777751539239006929559602521\": [\n \"10388441133994063481685741244525837971363341427640969797871944256362572280467\",\n \"14517767775275443378322626549711686264480182313413108711800063523000506594590\"\n ],\n \"13189154663239846152974089701871592801173880706747376879160952100694058312867\": [\n \"10155252142347994791716114474963300426216559855244985318005351262421798048438\",\n \"1\",\n \"1\"\n ],\n \"18892032695319701496788904462238946613646182933112174240352440802990936350493\": [\n \"13189154663239846152974089701871592801173880706747376879160952100694058312867\",\n \"6890131928077369706575622791148107770628839811405876636379133460213746955101\"\n ],\n \"8778274363572896323090655581793193281718526619437136699723676302954123587393\": [\n \"18892032695319701496788904462238946613646182933112174240352440802990936350493\",\n \"5292181536252570251113059230566867255662246931710582330900320394805712251478\"\n ],\n \"14942109239073486417479083280642781496661346753212802541238127141335448018426\": [\n \"19353595856438776579345744383799281113544961553819193965998935274705129119918\",\n \"8778274363572896323090655581793193281718526619437136699723676302954123587393\"\n ],\n \"17088912453637140973472041729978635882735515858218803555602004531789591514532\": [\n \"14275469693919899586199946305810238322263785394261006841500484741869904112185\",\n \"1\",\n \"1\"\n ],\n \"10637705324945253490945404604161493434650857314572719104090951892687229756903\": [\n \"3165699994812733642327520597702182992840072613442022197823870903256239523509\",\n \"17088912453637140973472041729978635882735515858218803555602004531789591514532\"\n ],\n \"21143120330753053433902932662250808466978837988385592333002683814843357647758\": [\n \"10637705324945253490945404604161493434650857314572719104090951892687229756903\",\n \"13094862023178656544420443872424063612613199583002868592951633661603030831193\"\n ],\n \"4658151276543026079851925981267529325651237574033711750257585117516772628863\": [\n \"13720210759466340236613869262320921372553815551219874191732262128586932948887\",\n \"21143120330753053433902932662250808466978837988385592333002683814843357647758\"\n ],\n \"1486790973462576566958436087554025403263132123190271362139775830366150581645\": [\n \"4658151276543026079851925981267529325651237574033711750257585117516772628863\",\n \"19128671784483872200562049710681582709147381286685592875308106272780307093988\"\n ],\n \"34254863754348974593562051888386772710552499423962394372595023800069233046\": [\n \"1486790973462576566958436087554025403263132123190271362139775830366150581645\",\n \"3410032947857755704891434064230266350832596305396029170637215738474777227694\"\n ],\n \"7916449219872657390329394777045662921911874790909054309931031426755318494697\": [\n \"7073039333166868278458523484296457994069205826811169664703255048150990903981\",\n \"1\",\n \"1\"\n ],\n \"5990765515713576787788504514167792876524774063086870091943955743288485776834\": [\n \"5036357334291781002387632320005020255392330311207376322193921573463712039637\",\n \"7916449219872657390329394777045662921911874790909054309931031426755318494697\"\n ],\n \"8043876206978056336300337386657655347994638813216290701529445408507930263538\": [\n \"16155302718563501448756392414625939731986445374532502464976419545780719285553\",\n \"5990765515713576787788504514167792876524774063086870091943955743288485776834\"\n ],\n \"11576790148643332837888382363585131452467701138567760838207341961229401046663\": [\n \"8043876206978056336300337386657655347994638813216290701529445408507930263538\",\n \"7950479049778288556730235894472509109561047507305460376026245465487455772626\"\n ],\n \"12811515336707869996196649282174242383407091253857023491558180697916811930442\": [\n \"15672033623317938914730455750002821423149868513508743854326478266121048896652\",\n \"11576790148643332837888382363585131452467701138567760838207341961229401046663\"\n ],\n \"16638305724776919800422677426152230298255900828166402459947740898291231194211\": [\n \"12811515336707869996196649282174242383407091253857023491558180697916811930442\",\n \"14004757590482383871046830021237853325563758572897955495367177644134218520932\"\n ],\n \"19350268121343421531444886785339974877795495558313999736943660056101691551448\": [\n \"17244430078151815560908344484659377481043480682301843309927131909063624356228\",\n \"16638305724776919800422677426152230298255900828166402459947740898291231194211\"\n ],\n \"18490434815262334921850737002155774357639896849264241118744350457313849759393\": [\n \"63759552583858247834298940616802737051990555510016460479196923546009974440\",\n \"1\",\n \"1\"\n ],\n \"17555564051017476176573415755517049425580693270208116170253526355463417182577\": [\n \"11235038040811292142370271741211555763342990442110290876421587470017392415213\",\n \"18490434815262334921850737002155774357639896849264241118744350457313849759393\"\n ],\n \"14539212903163366354014195836782395529975018549513261684140715229629674905192\": [\n \"16252594798646317637582783174657348319660876561621004466478576440043806067448\",\n \"17555564051017476176573415755517049425580693270208116170253526355463417182577\"\n ],\n \"20213007524283611502726543661283422436119995742296177774657268938417530002329\": [\n \"14539212903163366354014195836782395529975018549513261684140715229629674905192\",\n \"11727218048129455013773807726713421107516691079153429554567003973205116354081\"\n ],\n \"6815427240201893830801347758691843988490302200938078259546596940763013844468\": [\n \"19037360725205733092975164967057425268140740098900738798420524409562266864931\",\n \"20213007524283611502726543661283422436119995742296177774657268938417530002329\"\n ],\n \"17337788779410651203628834051781761325266085990306921862597763312398138885857\": [\n \"18699394300742375273621223996261674771372211663620098489098698875013900723136\",\n \"6815427240201893830801347758691843988490302200938078259546596940763013844468\"\n ],\n \"21181071279202241542355171240782751551551596155648050111423044074341114690272\": [\n \"17337788779410651203628834051781761325266085990306921862597763312398138885857\",\n \"5129627682917397956554605145541150859175262338711793200282146318783305575151\"\n ],\n \"8087756249130227150935244539916391218854742817464606316590701822214582114362\": [\n \"6645637881270042521870272344013951188354805124775142367130835657265668070191\",\n \"21181071279202241542355171240782751551551596155648050111423044074341114690272\"\n ],\n \"1292551066912976245459001045481787870285210943291577625730234704362045801213\": [\n \"8087756249130227150935244539916391218854742817464606316590701822214582114362\",\n \"13580110971956947509784592912138438525730667199897496448209672299662174386211\"\n ],\n \"14138186255937365760373914716386901951890737319688441214143076993357792819010\": [\n \"14564225907163332176695234014266544099669298858882593643590405667148158247888\",\n \"1\",\n \"1\"\n ],\n \"16940077412349415017163505158843884590238955042714029845945847174534667949551\": [\n \"14138186255937365760373914716386901951890737319688441214143076993357792819010\",\n \"20024350997354051130208479700587160274958437454810310189133323194844300965528\"\n ],\n \"5675900823254772737306949212120385251858544751419085051219732583173986986725\": [\n \"16940077412349415017163505158843884590238955042714029845945847174534667949551\",\n \"14266986487225350603127137952479316058909718177411368699926205698055831798370\"\n ],\n \"18406529748942165883424677290100917197563984945522509449374415351695333918242\": [\n \"8031411731257966995706352585427688702133791511466678738223272949994439821995\",\n \"1\",\n \"1\"\n ],\n \"3770341211347635904231840558536722309556814426173480074699033213464446163861\": [\n \"18406529748942165883424677290100917197563984945522509449374415351695333918242\",\n \"6807336049787859824750906120643985691584235622095783396854818911561245796769\"\n ],\n \"10713302317918308749382453411409859070021679926542409404826346528581087780713\": [\n \"0\",\n \"3770341211347635904231840558536722309556814426173480074699033213464446163861\"\n ],\n \"9439844735153621391336422717366178630260875367914905105443576998099498612484\": [\n \"10713302317918308749382453411409859070021679926542409404826346528581087780713\",\n \"17860786447993885850885401031201885893684291537725537277047379679157160489335\"\n ],\n \"16025323134329183202435711286462896576905506503907053317818032877778926301154\": [\n \"7840691920373378195466169586801607099185736159027493801437350289869846150124\",\n \"9439844735153621391336422717366178630260875367914905105443576998099498612484\"\n ],\n \"10354203239090119368346619555733226802826555445036064564835118689163542562672\": [\n \"16025323134329183202435711286462896576905506503907053317818032877778926301154\",\n \"3758238799874539342574193200295657150896774783151252983826801138994554034448\"\n ],\n \"20748255741229886548345936611215103577962345596513509200703520103467198394507\": [\n \"21098595181214382865902016152037186130028502660450160266510202922301425007964\",\n \"10354203239090119368346619555733226802826555445036064564835118689163542562672\"\n ],\n \"2277226365217694036133769601045926809927990480841792599345241217098703527605\": [\n \"21155039235333401937806248073520707091858472301999768289761712431889706021174\",\n \"1\",\n \"1\"\n ],\n \"18975997818282074421216571950298715836922076654950153110663527907792570704805\": [\n \"17621656542969268828505199745399804844979036978411789031154056907914794502308\",\n \"2277226365217694036133769601045926809927990480841792599345241217098703527605\"\n ],\n \"7912721260926270534683177445281883273869354460140145202507339569396235737903\": [\n \"18975997818282074421216571950298715836922076654950153110663527907792570704805\",\n \"6638844410053745256165252782119971299412694783340350622205548773808108138732\"\n ],\n \"5158921395652728599852770096543579061358289845631913742871834158424103739509\": [\n \"7912721260926270534683177445281883273869354460140145202507339569396235737903\",\n \"863776723554645136580176269051465341270506126602539386470405620865763227952\"\n ],\n \"1102255787949652479309753177740342587470399928246899154562785948820290705876\": [\n \"5158921395652728599852770096543579061358289845631913742871834158424103739509\",\n \"16052636309315446858319242048379947544088430214625576584048914276205800005045\"\n ],\n \"6903619462632966990590077916316740538518264296654789165616506629545709944192\": [\n \"7147124087871107370741116083744835622535923886144738335902084126075173707945\",\n \"1\",\n \"1\"\n ],\n \"1016872891901322376200108619318962468572013507894063905213410178485311023660\": [\n \"6903619462632966990590077916316740538518264296654789165616506629545709944192\",\n \"11227010572030419215346667445079525399925020222931115098922007443237890114319\"\n ],\n \"18245152226350155020001020898315315029888048314781926264460255317898632831916\": [\n \"0\",\n \"1016872891901322376200108619318962468572013507894063905213410178485311023660\"\n ],\n \"13826319750735066310159900575899725192447257867219377057848944888921786580372\": [\n \"18245152226350155020001020898315315029888048314781926264460255317898632831916\",\n \"0\"\n ],\n \"1736713320652628727479560522313539800770432076231001950091013664416374281466\": [\n \"13826319750735066310159900575899725192447257867219377057848944888921786580372\",\n \"5860466638644744349600433470596946708776827120382541805744282701608592080888\"\n ],\n \"20737344132659680881581600544847102721664744003312892707970985595944188727995\": [\n \"1736713320652628727479560522313539800770432076231001950091013664416374281466\",\n \"466113224978619023196042865047470089194231127097635918580037042899194009976\"\n ],\n \"14407104655007345483804216657266028069711921805673223128405762985633732930927\": [\n \"13932059678581466600014819122294586853999220186610593800115615440188664650119\",\n \"1\",\n \"1\"\n ],\n \"5411179912719059981040641742014925988306642055509734216433171008890502317710\": [\n \"14407104655007345483804216657266028069711921805673223128405762985633732930927\",\n \"19216403510610189746413889092937761225213203843516073007487408974106234604468\"\n ],\n \"977765892048268520070905890618611894181768209940356757672154176953365955942\": [\n \"5411179912719059981040641742014925988306642055509734216433171008890502317710\",\n \"13348927995572321281056531631587063384102762004303403748995315813150469572202\"\n ],\n \"18324320298801852444921090912701201433367350677582889592858807200611095859793\": [\n \"1085044582535814657204542489231581198777044862478540034685333485199797373218\",\n \"977765892048268520070905890618611894181768209940356757672154176953365955942\"\n ],\n \"657368341259092729868022783225357987507293915087334835107029207741967602288\": [\n \"16068330861714993475033167483814745142166296125849712284025109056622700634446\",\n \"1\",\n \"1\"\n ],\n \"19471812986169224067887394207258996120526131184527957855919569556103494423917\": [\n \"348338498257948090624250720357976021714475977740553546611406960262531611252\",\n \"657368341259092729868022783225357987507293915087334835107029207741967602288\"\n ],\n \"7983479535816459590094254777915333013076087287759916193003329111381106604353\": [\n \"19471812986169224067887394207258996120526131184527957855919569556103494423917\",\n \"1845785816780359106956688890482486815025227391674208757712841717409728133040\"\n ],\n \"641668715987045206403568421730252050381486047796110220163705756215184360854\": [\n \"7983479535816459590094254777915333013076087287759916193003329111381106604353\",\n \"20054430240281027768568549913723845949311872243859365251606389598832084067833\"\n ],\n \"8500239955757197217831391804624801361212727912109172992125788073335182914418\": [\n \"641668715987045206403568421730252050381486047796110220163705756215184360854\",\n \"10470067564595110169140605371274602622577539631682904092282186807807379101481\"\n ],\n \"5860876292769223894484983364034276098302395501399993797412246201358944115413\": [\n \"6702060732138416326555522889584150213170943809425850693471893854137794217146\",\n \"1\",\n \"1\"\n ],\n \"3290656343382929324586720682032229307402116194168854153532477198438646221686\": [\n \"5860876292769223894484983364034276098302395501399993797412246201358944115413\",\n \"18994291252910610986077388219256912770814345167916357627386580719025213708434\"\n ],\n \"10396519921439677252540446183783518783322212273478176884897295290844497348996\": [\n \"3290656343382929324586720682032229307402116194168854153532477198438646221686\",\n \"3712443259691043034200316065438113505821166092615370113634034614775726659387\"\n ],\n \"19526971046910026935564289962384941357227392902570442239765347644902559070882\": [\n \"10396519921439677252540446183783518783322212273478176884897295290844497348996\",\n \"12377393769979156117698847111561793259275925187308358948874378919700468290618\"\n ],\n \"1825157999985104891549458052359401827338897010416592300616877224524475497599\": [\n \"21098934648183093609278578892479600465068449062197465181243726687328001934578\",\n \"19526971046910026935564289962384941357227392902570442239765347644902559070882\"\n ],\n \"15210698796301276091586873813883291822689425147252056223633598166571518195843\": [\n \"1825157999985104891549458052359401827338897010416592300616877224524475497599\",\n \"21344589902104503019976873255786642026928039688523815404842221690834481898584\"\n ],\n \"19381032561207644396641854303544731404345543922189672692026158364592722006984\": [\n \"15210698796301276091586873813883291822689425147252056223633598166571518195843\",\n \"15673339329073237059314950212781853143336085410025931699123826776965919698888\"\n ],\n \"399484682879551857836740307692423140580085493706793532967499174696812307326\": [\n \"9002872508417865777401518490259176523793086451680857794792608489358537029283\",\n \"19381032561207644396641854303544731404345543922189672692026158364592722006984\"\n ],\n \"20603955513390019671993064654162728221624745070197063210173368390419263187009\": [\n \"399484682879551857836740307692423140580085493706793532967499174696812307326\",\n \"3068201447337011297559029554543613570269604294527657054249184055166584335896\"\n ],\n \"5969834366782031634742213153339218247328999268966470290921443866755863197393\": [\n \"17374656424313706309572087664857869403794475190632662465544254568457585989676\",\n \"1\",\n \"1\"\n ],\n \"1020820124456765141487832259627717040529159904026080976632122491676016598982\": [\n \"5969834366782031634742213153339218247328999268966470290921443866755863197393\",\n \"15377824168921278343742718857083706785445020593740842196829106365386220636167\"\n ],\n \"3242045027449634516099833914124143197063315697656202304821316760903336034006\": [\n \"1020820124456765141487832259627717040529159904026080976632122491676016598982\",\n \"0\"\n ],\n \"8594291478871200231655838998057483542813190250309265642458057612015548250150\": [\n \"0\",\n \"3242045027449634516099833914124143197063315697656202304821316760903336034006\"\n ],\n \"13949291044087921415513028712568096502334080871728026474483164330863117415151\": [\n \"1798526161109248165418937899626156601596414838078717673259268305797774468396\",\n \"8594291478871200231655838998057483542813190250309265642458057612015548250150\"\n ],\n \"13327356731970372256368018886209588620524362493807922227491138544655424459476\": [\n \"13949291044087921415513028712568096502334080871728026474483164330863117415151\",\n \"8128276029715466726250821247273045022141158642572049979517522800979168672271\"\n ],\n \"4173955487714703793829379818482869648269463022207739906525524198514298724181\": [\n \"13327356731970372256368018886209588620524362493807922227491138544655424459476\",\n \"310410461337542740570668677593114429088070864937912279391371383116715495604\"\n ],\n \"4496925505574931316398591700764519531357511166538442272801766196573706481774\": [\n \"4173955487714703793829379818482869648269463022207739906525524198514298724181\",\n \"2681042436761395234835150384884273993963521215144863369243094383104938462247\"\n ],\n \"19518045463076807203787727894764980273480346588486463920273403222383012092017\": [\n \"4496925505574931316398591700764519531357511166538442272801766196573706481774\",\n \"16739505891527403516472662200586672840453880960357421180683483345305810764779\"\n ],\n \"14452988238773514415268726573478479236129760268943178432799269630623368038249\": [\n \"19518045463076807203787727894764980273480346588486463920273403222383012092017\",\n \"12017913518790605446488180454839523644285312481517476039319578200092659400255\"\n ],\n \"11976871028063235490980764928911302286632580316839583668860131756693965190\": [\n \"19529613772913630710406276560762696090792208692669582902758522597627009499471\",\n \"1\",\n \"1\"\n ],\n \"13147981787447740772925036075041422754945279286373158451859260569551361707936\": [\n \"11976871028063235490980764928911302286632580316839583668860131756693965190\",\n \"18613926580450270652137794592641201006041112279525434722060067662479302550067\"\n ],\n \"4761767935793385473463277753395464990593926170419783119444569482455032119795\": [\n \"13147981787447740772925036075041422754945279286373158451859260569551361707936\",\n \"2499457170409509360175772068186912967324776323122670834352571432078494771712\"\n ],\n \"8429487603933017841421439149825201892723595849774171475895100447539690931127\": [\n \"4761767935793385473463277753395464990593926170419783119444569482455032119795\",\n \"18340593594135879643505241002381779394978078184479783707045108948795870370838\"\n ],\n \"4982405062964277024688419104517260831201488540163703743713294531414852693938\": [\n \"8429487603933017841421439149825201892723595849774171475895100447539690931127\",\n \"18139077665695037865983667591388725438555395151513323110134375949048159526504\"\n ],\n \"3652882127181950567449485712904891137741638745766481839011025913718300897965\": [\n \"17415869453302647663458974419348987348710368359407777751539239006929559602521\",\n \"4982405062964277024688419104517260831201488540163703743713294531414852693938\"\n ],\n \"19935572683591444795388804727726011097923655595978289361290397257747635783025\": [\n \"10830962751071875269888546369436524710054912432673647190891440796275499548159\",\n \"1\",\n \"1\"\n ],\n \"10885130023112896756014649546861125685991101728606929309893264757763571862981\": [\n \"7544773317953556904721222822279145899235178286781158608647789658770116339510\",\n \"19935572683591444795388804727726011097923655595978289361290397257747635783025\"\n ],\n \"5373927434643659094856380700302114467648612562375259099828471956171722932724\": [\n \"10885130023112896756014649546861125685991101728606929309893264757763571862981\",\n \"0\"\n ],\n \"5540075487414133445508821538131863607952164214308455937010593183604877815098\": [\n \"5373927434643659094856380700302114467648612562375259099828471956171722932724\",\n \"0\"\n ],\n \"12902389050236579188983511674876913420970126224660604178267571094245954110798\": [\n \"0\",\n \"5540075487414133445508821538131863607952164214308455937010593183604877815098\"\n ],\n \"9141571123886481505219116238492918206100512227493105914809122219413649547722\": [\n \"21558194847550916341412277280963305776249780602616026126362390547887660260847\",\n \"12902389050236579188983511674876913420970126224660604178267571094245954110798\"\n ],\n \"10720732313614922925686609226725248935492703248983769836037412414074061877755\": [\n \"6833600589974325678080828232801635842780195633568637128831123185490345588532\",\n \"9141571123886481505219116238492918206100512227493105914809122219413649547722\"\n ],\n \"12698240656545202188126406417659194668064129333929461233910094108685894812767\": [\n \"17565886716149315439847637424272293521202655695203117962293976558503769450980\",\n \"10720732313614922925686609226725248935492703248983769836037412414074061877755\"\n ],\n \"4147966340340062322281567252057867804288419113395050405697337844927947478898\": [\n \"12698240656545202188126406417659194668064129333929461233910094108685894812767\",\n \"8060593715205560925534506886181522575359501984141729084499361244494469479638\"\n ],\n \"4062861652591656481920992413935003780943161075152434630099794702453226258029\": [\n \"10742008273648084389359286791732338660010577409515385059614681784435855082391\",\n \"4147966340340062322281567252057867804288419113395050405697337844927947478898\"\n ],\n \"18584618092066658997897937022111162457288364854164956785876446648394584588398\": [\n \"2654056023323525918331020652408442642703540895551521050986044103512739628733\",\n \"1\",\n \"1\"\n ],\n \"20596575030476700995186199858752392859102312221553293236399287323694738732086\": [\n \"18584618092066658997897937022111162457288364854164956785876446648394584588398\",\n \"14938221874686605751698238057144820940978703437066675990821795383205366703394\"\n ],\n \"14864450643503521424346963319039168798299868579510070318158814856853307986206\": [\n \"8147321749202685886210524619127850712037918054756465650094676687695439676043\",\n \"20596575030476700995186199858752392859102312221553293236399287323694738732086\"\n ],\n \"1750120411460475685944601260181295417473524735272231862936403962814606246887\": [\n \"13836732417809551034904764129580863694193819603171413449363820634061624087012\",\n \"14864450643503521424346963319039168798299868579510070318158814856853307986206\"\n ],\n \"11245656008789771347671972583864115556205760056016652219890400478006372539536\": [\n \"1750120411460475685944601260181295417473524735272231862936403962814606246887\",\n \"10476010920233826254443405099229933775705232719999629975340482505426042611166\"\n ],\n \"19280234864493203672848365620218387416591632592829668665309423965926125763128\": [\n \"4924898126791303483715913904798668753414424550668159523470899606622202260734\",\n \"11245656008789771347671972583864115556205760056016652219890400478006372539536\"\n ],\n \"9548642657107329132279751264947319290543677859097167422815523868008713413429\": [\n \"17773609628827355832329049364069532669829209951295608570472101646865072575692\",\n \"1\",\n \"1\"\n ],\n \"2515724712527089861204911193965309980295915731103189522511469788805939953401\": [\n \"2284389006434939018581078956775213498174538527651191813907284845830896051342\",\n \"9548642657107329132279751264947319290543677859097167422815523868008713413429\"\n ],\n \"14591079898602632992907407549622693033558213835197122988520907965464389920013\": [\n \"2515724712527089861204911193965309980295915731103189522511469788805939953401\",\n \"0\"\n ],\n \"3009829360657253280135009025937569599460376556192610347164862772510994941380\": [\n \"14332252186421490420018549300833805724326663387071485279978689569022677048700\",\n \"14591079898602632992907407549622693033558213835197122988520907965464389920013\"\n ],\n \"10585204266972446225345261582465889578383814402285303033663167612804772968920\": [\n \"3009829360657253280135009025937569599460376556192610347164862772510994941380\",\n \"17639953589636708130491548075490594481754997178432661054720099618770224980131\"\n ],\n \"12881787724403717217098977733177075296473710767439540596590650138969518409290\": [\n \"15830408272999617941590506019108457887083190133644510056936858730419296592129\",\n \"10585204266972446225345261582465889578383814402285303033663167612804772968920\"\n ],\n \"21884826284795012180512805134896730674430656125993025686340051149594880288339\": [\n \"19481006250054977935884596173600379677248462823760658922478451167457189045943\",\n \"1\",\n \"1\"\n ],\n \"21110905059779396384785194816633923180782362193638673585620196800525709652494\": [\n \"16849901229547021825774016151153006049705964273452917832081761063575934794172\",\n \"1\",\n \"1\"\n ],\n \"15127097161409251162874037837380524511443851937160883785426384296072742805441\": [\n \"1481103622648647345321595928252448173208837246753226228934224733718194265815\",\n \"21110905059779396384785194816633923180782362193638673585620196800525709652494\"\n ],\n \"3064561938566260312680713706296917287626509990212970693922688929402205160793\": [\n \"4736320322658699544314635830151643353590635282083432374729591121937790095144\",\n \"15127097161409251162874037837380524511443851937160883785426384296072742805441\"\n ],\n \"9545720312438266524812131089096322544254480958479804713563906990298184123484\": [\n \"17746533777620905412759812761267303905274413324534171750047996781249083304745\",\n \"3064561938566260312680713706296917287626509990212970693922688929402205160793\"\n ],\n \"2665382039127092316037760256874747344661548330045931526412006671809579257462\": [\n \"9545720312438266524812131089096322544254480958479804713563906990298184123484\",\n \"15833012307496983135134004278585208046659254600991757812050456284531635816369\"\n ],\n \"19975980516005199865211477029611130059077223514375654268231639019456723257279\": [\n \"2665382039127092316037760256874747344661548330045931526412006671809579257462\",\n \"15554813353904276482988986058651316985257818235125691335236466861669152355062\"\n ],\n \"4796848429531488105669289686162943700337047364460028912407079586156452287736\": [\n \"4741266986432923098894382213525890324485056745161055253707492327173759264924\",\n \"19975980516005199865211477029611130059077223514375654268231639019456723257279\"\n ],\n \"17822386270862961070906175525615712705507580185752030092493677645915107326503\": [\n \"2958399951653087232476088119739803425188119274218370799106880323348147688726\",\n \"1\",\n \"1\"\n ],\n \"4101332497950652989065538174690965494282997544824623227423673107022327475626\": [\n \"9229723168735949285863793417062132552506320540188345814369955855058924828698\",\n \"17822386270862961070906175525615712705507580185752030092493677645915107326503\"\n ],\n \"879278549386997825846272854768496357188194716404434610192865701372877697510\": [\n \"4101332497950652989065538174690965494282997544824623227423673107022327475626\",\n \"10135313601836648919996188795837770730662300855357987906166127315011399949347\"\n ],\n \"18898139639912912473859903125607024385943868962246329568720025853820189832787\": [\n \"4109333982639125056528712533250619910435779174171448473499248398862052677932\",\n \"879278549386997825846272854768496357188194716404434610192865701372877697510\"\n ],\n \"14819942202074062683707025067784845089947170081840350286418892548652591644317\": [\n \"18898139639912912473859903125607024385943868962246329568720025853820189832787\",\n \"9879137273118144034066125103322615177293653700710902240136044887628451455058\"\n ],\n \"10292439045512312575414142352370833768231422790030144920154766937283008077264\": [\n \"6928448651992919636404854269425816671158686113453372903275676179820004268205\",\n \"14819942202074062683707025067784845089947170081840350286418892548652591644317\"\n ],\n \"7487604249959424792490261302969733859959552585823172014221492799941852878301\": [\n \"10292439045512312575414142352370833768231422790030144920154766937283008077264\",\n \"13764571197771698170494129194387372929341841443810063076237299777352796930987\"\n ],\n \"5379712665071414338038475703861012951213615801879301488890515927055960197859\": [\n \"12003249732433273859790615119039806553098490041515431098006150460422277378399\",\n \"1\",\n \"1\"\n ],\n \"144730877403655841469602076460120709634595313067287121930635226608694878614\": [\n \"5379712665071414338038475703861012951213615801879301488890515927055960197859\",\n \"18220013061077756149824914074416984871342997979148432622024983427897673090940\"\n ],\n \"8961423028286315402608656119574964222492595560269223137467061400553647781688\": [\n \"0\",\n \"144730877403655841469602076460120709634595313067287121930635226608694878614\"\n ],\n \"10407747439112120777465019199256839657522651699394082489712172074777995746088\": [\n \"0\",\n \"8961423028286315402608656119574964222492595560269223137467061400553647781688\"\n ],\n \"4010543645346721265219758585531109050924227390716598132580147994081995983365\": [\n \"10407747439112120777465019199256839657522651699394082489712172074777995746088\",\n \"17400069797315092507649926191409417667040219366811848669432086935944828108075\"\n ],\n \"5582778452731910875709769245090482055146968276075530767748833556788148211394\": [\n \"4010543645346721265219758585531109050924227390716598132580147994081995983365\",\n \"7219580412635615140218252623329132394469576550915445890893185395693322507333\"\n ],\n \"15917797934839315186435891513888917708265645558841898417659168334329259027194\": [\n \"5582778452731910875709769245090482055146968276075530767748833556788148211394\",\n \"9197193448736404626719345365908060348817733303878787772299128487894963401481\"\n ],\n \"6214607389879298611262233601709441202516224511478754180505283779259161936281\": [\n \"15557522309764801660805671155906799683626418147448646329247620496132111037537\",\n \"15917797934839315186435891513888917708265645558841898417659168334329259027194\"\n ],\n \"524285617747013424978641376156963848241007825695437942134402347614611707113\": [\n \"6214607389879298611262233601709441202516224511478754180505283779259161936281\",\n \"21596428382611057426112568381404571247261873340498816009717661136786614548676\"\n ],\n \"21445266178380896503842728548077138851889015930482385603258201041919590979950\": [\n \"13626488982208865614581656398399701058033233091739530823056903482962809132554\",\n \"524285617747013424978641376156963848241007825695437942134402347614611707113\"\n ],\n \"3002516335731160905897932836336739531154785461096682286444599166615439964612\": [\n \"2923457953418589862375377521031754934673891205859918263742105404606913497142\",\n \"1\",\n \"1\"\n ],\n \"4128135853651233313728857308870628906741363478207496204478107565026941314834\": [\n \"3150254086276766757971879467831179359423354588324533265716401511418309832161\",\n \"3002516335731160905897932836336739531154785461096682286444599166615439964612\"\n ],\n \"18952147154319074209949097648004831545311369390572404002084189198512126239999\": [\n \"4128135853651233313728857308870628906741363478207496204478107565026941314834\",\n \"4624545639652259350311190334946123701071953268911112857177536471934520901560\"\n ],\n \"13092128403408361308055942229295732492407018817464013570561080732914443279063\": [\n \"18952147154319074209949097648004831545311369390572404002084189198512126239999\",\n \"21324180818629410273404610889795516295747408257191912610515762440759736489096\"\n ],\n \"1108688264892494331190140909917708457375380022608104122365031719712598698391\": [\n \"583724532425337615118306014318101846525157635247984701965000897356745274263\",\n \"13092128403408361308055942229295732492407018817464013570561080732914443279063\"\n ],\n \"15384653538321985879717780104077451868476791509478446118741478560118058320920\": [\n \"1108688264892494331190140909917708457375380022608104122365031719712598698391\",\n \"2512093749268860716974880101075615209909410483241427189044423920543071694517\"\n ],\n \"243026397345182069410598270128006028909253346314718867809280989752825479938\": [\n \"15384653538321985879717780104077451868476791509478446118741478560118058320920\",\n \"12025135358993521120704919074427825871312513070152135548661472677144480350413\"\n ],\n \"10714873362529427345447967879304566678378614261324504088021206445599939715964\": [\n \"243026397345182069410598270128006028909253346314718867809280989752825479938\",\n \"1102255787949652479309753177740342587470399928246899154562785948820290705876\"\n ],\n \"5294813664860827773288722668648469775643851996920805855566679642228522278543\": [\n \"19632662551183080223543813113897848699465843182916687900684842361703072521764\",\n \"1\",\n \"1\"\n ],\n \"13374132106070057361721869923761548477861023375477376792908623467792907777720\": [\n \"14857381560076939825406993846456279025293313771923155765903232076281588302501\",\n \"5294813664860827773288722668648469775643851996920805855566679642228522278543\"\n ],\n \"7987491637368665747846319830380923334464217936995760391617622917638007869916\": [\n \"9121629027135328406963666649740969166468678034824967695435786987992044492855\",\n \"13374132106070057361721869923761548477861023375477376792908623467792907777720\"\n ],\n \"11829494889159959949007089027911447189902372453578297153452983218562762620267\": [\n \"7987491637368665747846319830380923334464217936995760391617622917638007869916\",\n \"20161856365789334681574297081150588393520052890587387197742707949095239680356\"\n ],\n \"15759775398619735412173224162491858091672066817069613019545542755480428322279\": [\n \"11829494889159959949007089027911447189902372453578297153452983218562762620267\",\n \"477033185872196036918808066510210027005429827641756123996655637655445714012\"\n ],\n \"20909534907293471309218721732830980343837351121070326641844152515659513306313\": [\n \"16253082237206483564696639597559651767679673180842107703368358612425354477197\",\n \"1\",\n \"1\"\n ],\n \"9455046677715240839185847316730923062769878694940996987924508356907321272516\": [\n \"4821617670379583000838160086576344066184690675524951645562306209700222943721\",\n \"20909534907293471309218721732830980343837351121070326641844152515659513306313\"\n ],\n \"21029421509462886208408429184047560736857803993598145831019453082120633639808\": [\n \"507440376057663645921976734762834441260569544807200646618345285180160859623\",\n \"9455046677715240839185847316730923062769878694940996987924508356907321272516\"\n ],\n \"5443410186156072078165853956980617889510395945291054131154142524108290966554\": [\n \"21345390105613090421636585189268616711237524013963671832486182047703013705690\",\n \"21029421509462886208408429184047560736857803993598145831019453082120633639808\"\n ],\n \"15516854928372591553207571980964014312925458819016440928347545758296012906372\": [\n \"7135376617413768309703225353324350459096190027459762457761109402294060988870\",\n \"5443410186156072078165853956980617889510395945291054131154142524108290966554\"\n ],\n \"1210951412920129022736686423106383548678055472853314957929448338894756783830\": [\n \"11251001712713797090645957066974186289887593118147159965590269284159941226076\",\n \"1\",\n \"1\"\n ],\n \"10623844252895600171277894008535058597770169986361675519782621503993490241540\": [\n \"1210951412920129022736686423106383548678055472853314957929448338894756783830\",\n \"8501228331779129976347669564970937201413321414710712258903717092783411320582\"\n ],\n \"21598425791079315545585228789782425265795207117607912241488250538366965666358\": [\n \"10623844252895600171277894008535058597770169986361675519782621503993490241540\",\n \"0\"\n ],\n \"5084957701731360495849761188244309414619313642014072453135863263909233167617\": [\n \"21598425791079315545585228789782425265795207117607912241488250538366965666358\",\n \"0\"\n ],\n \"21213126799179337057112440481239970043510341655205023209747184378714859839474\": [\n \"0\",\n \"5084957701731360495849761188244309414619313642014072453135863263909233167617\"\n ],\n \"782565599423776801958191790596514953767288913344898676281758701341350286366\": [\n \"0\",\n \"21213126799179337057112440481239970043510341655205023209747184378714859839474\"\n ],\n \"9170444707711948468986918675194232953264695422687422086044848651206237391612\": [\n \"0\",\n \"782565599423776801958191790596514953767288913344898676281758701341350286366\"\n ],\n \"50410703964499375675274874520095157571397176773499499842393005777095919656\": [\n \"0\",\n \"9170444707711948468986918675194232953264695422687422086044848651206237391612\"\n ],\n \"8885766928855405647281640388315607059306025696784048311592374283150533785253\": [\n \"50410703964499375675274874520095157571397176773499499842393005777095919656\",\n \"0\"\n ],\n \"15715728443154318002754587884442779381635087095057876551600306432819588061158\": [\n \"0\",\n \"8885766928855405647281640388315607059306025696784048311592374283150533785253\"\n ],\n \"15169038895771214147634081947873449301031173678112022359428247351002091482038\": [\n \"15715728443154318002754587884442779381635087095057876551600306432819588061158\",\n \"0\"\n ],\n \"1255080974911073026874835322372805551919696847359176345295330440477274850354\": [\n \"12931939713990946582195509971138365304772115567755665112726004752290854225769\",\n \"15169038895771214147634081947873449301031173678112022359428247351002091482038\"\n ],\n \"14616152165354098555937034138612212867918992803299973557500945439417370221973\": [\n \"13094506596162635361677980810319092015996739222896518393543526044783200151106\",\n \"1255080974911073026874835322372805551919696847359176345295330440477274850354\"\n ],\n \"6059856623645942371326120344986696616505920515633839021024019368056261565743\": [\n \"10773484197813105288475702593142671194167605982943202464080623943827527244981\",\n \"14616152165354098555937034138612212867918992803299973557500945439417370221973\"\n ],\n \"3293026303725918851140116035429743774709729181419420080681704858541800274728\": [\n \"6059856623645942371326120344986696616505920515633839021024019368056261565743\",\n \"16257591024655569365800912712817829125854185452054020037634549406624256751545\"\n ],\n \"6075805334622391532268573994004455522875131322888969046976569826314806851492\": [\n \"3293026303725918851140116035429743774709729181419420080681704858541800274728\",\n \"7731612533960647050520629068760840990867031764780514387645459849243522450145\"\n ],\n \"9487468210521137885571984898382280082435216275677730274840342228742305840316\": [\n \"1273186901656992290322614187190883508195020255373507694533104116155267384081\",\n \"1\",\n \"1\"\n ],\n \"2139144572603925184096574180049286605831293340543134244474039414528639464580\": [\n \"9487468210521137885571984898382280082435216275677730274840342228742305840316\",\n \"5229105550615427846348096702183078189509926099560831116407591042334416389350\"\n ],\n \"7603374359443899780471567619336572034601472508333809797206955397272660303033\": [\n \"2139144572603925184096574180049286605831293340543134244474039414528639464580\",\n \"0\"\n ],\n \"7492416867516114903948995349338658813268376953443853493615829692036927923073\": [\n \"7603374359443899780471567619336572034601472508333809797206955397272660303033\",\n \"12314170257504424594822174345454776152876596938931868095548487864771850945343\"\n ],\n \"11472693232850093626821884935510301763831314708761486861764774832848544841804\": [\n \"7492416867516114903948995349338658813268376953443853493615829692036927923073\",\n \"17639370718405048569105885655220049396267651003849251230142110248060978099709\"\n ],\n \"19460043111646127356678235034958663737461224480169138273313303292741126893204\": [\n \"7223248168430012201896586469117027513398986952188800554037856180683371558701\",\n \"11472693232850093626821884935510301763831314708761486861764774832848544841804\"\n ],\n \"20354638362753304552267719829133477577897074120489069121045357676633690557203\": [\n \"12034882073158522576470171111052071095762707019711730890500042893197582608429\",\n \"19460043111646127356678235034958663737461224480169138273313303292741126893204\"\n ],\n \"2236667042212643012174938518741966237832687423991013176383137863428036725804\": [\n \"10555573701001524559391389987946477604117488822529062811647903634650927205694\",\n \"1\",\n \"1\"\n ],\n \"13326759926338744431203412285397747532939061648446498670611652774478532836125\": [\n \"2236667042212643012174938518741966237832687423991013176383137863428036725804\",\n \"645482092009556807557259794187153908665594443675311657529693223668906849101\"\n ],\n \"11900253928113557831137604561838842066537441485031470538367551530808913625432\": [\n \"13326759926338744431203412285397747532939061648446498670611652774478532836125\",\n \"0\"\n ],\n \"10295806452066608224436434165501184105395712356969102167456803481515861272597\": [\n \"11900253928113557831137604561838842066537441485031470538367551530808913625432\",\n \"7104119560715641002005609397574268873999489105019324908479480269733284729252\"\n ],\n \"7046146652567113193587914187065129256458322484865082439784141379207928740474\": [\n \"10509610814060434534887985415831165648549640732940040302082412123012804765923\",\n \"10295806452066608224436434165501184105395712356969102167456803481515861272597\"\n ],\n \"4634482149562803437388480350210472079082859046922917936847274344213965260896\": [\n \"1650117079383428621337093960106106019798657532037745591734525757497424101236\",\n \"7046146652567113193587914187065129256458322484865082439784141379207928740474\"\n ],\n \"3264456774302524223369977263552741304120856994916263834231823733284067995032\": [\n \"4634482149562803437388480350210472079082859046922917936847274344213965260896\",\n \"9940097865215107672642821310849513846892552288097434235738951230599736228173\"\n ],\n \"8161047996935915638811494870860226962280894721846337667948552271340391880876\": [\n \"8118039339219345743417467151639120963423015467581203768725429796935670425323\",\n \"3264456774302524223369977263552741304120856994916263834231823733284067995032\"\n ],\n \"21052490439846722523838100746356111814283826209994721008384008874748872027486\": [\n \"1129022845854899354732192941813634086668909131135080682109268340075427390963\",\n \"1\",\n \"1\"\n ],\n \"15780269667118994709504695158439248616741296878464316848584796923970304098308\": [\n \"8203253010828942963545562065698886935613944861073030296788988450534376896564\",\n \"21052490439846722523838100746356111814283826209994721008384008874748872027486\"\n ],\n \"2235990647419325480683887978754619295090410315610134768344164529405996778608\": [\n \"15780269667118994709504695158439248616741296878464316848584796923970304098308\",\n \"0\"\n ],\n \"19036168378771698697531641635713360030533256967207946210472718307827354633008\": [\n \"2235990647419325480683887978754619295090410315610134768344164529405996778608\",\n \"716720921452452736112372403640214516141765598986906523704781776235258954967\"\n ],\n \"21599170070564180649288081643780449999902984286264292445967359666718226742803\": [\n \"14553385639422163661996506428148273531054624678806803734921855146968159157573\",\n \"19036168378771698697531641635713360030533256967207946210472718307827354633008\"\n ],\n \"6677266671916773428305243891628170365372606345157745510073914644881896368116\": [\n \"21599170070564180649288081643780449999902984286264292445967359666718226742803\",\n \"18385380144427881794962687669464852979594409124825283923253846974602164847533\"\n ],\n \"13380662232052134335400859957163913836803880532715966356960906239392539054823\": [\n \"18229706561618092925744354813422275490217959293935917386796925080877620072358\",\n \"6677266671916773428305243891628170365372606345157745510073914644881896368116\"\n ],\n \"8770818232818124311217642450546773398383760318194310726744841951373749256204\": [\n \"12975965214809680283298265813627921747339945959497964824564413028263476126567\",\n \"1\",\n \"1\"\n ],\n \"9539378039855550239264634178240077423763295218961314716389153551668013702466\": [\n \"8770818232818124311217642450546773398383760318194310726744841951373749256204\",\n \"21041710530611697575169731970249614706640038136649133098410783607096059548048\"\n ],\n \"8354936873727175391536647673036000386816645450425385497818415684586751567753\": [\n \"9539378039855550239264634178240077423763295218961314716389153551668013702466\",\n \"8819197197772994799243702597758209431701807059151691089543046288269402289078\"\n ],\n \"5437844068878575636290845529491491986234754480503633991655843980844084862686\": [\n \"2486954362429441341028968118618289269801101705415050833265754657800112361830\",\n \"8354936873727175391536647673036000386816645450425385497818415684586751567753\"\n ],\n \"12308147085504891982856896055842062079172390226438658473253669125595216003093\": [\n \"17495594489263372437889800917874611707433671374328593783180754393730110335540\",\n \"5437844068878575636290845529491491986234754480503633991655843980844084862686\"\n ],\n \"15356562098061251092282927280498498844297148885771033131983844211028695491626\": [\n \"12308147085504891982856896055842062079172390226438658473253669125595216003093\",\n \"6318251156477956425339502728082265881253862944836375488119307625068598428697\"\n ],\n \"2329270439535525348917719555450876591724963200362301581830845707294011965431\": [\n \"6846762788355737889796456204547663915975210559948607076732467330399717647550\",\n \"1\",\n \"1\"\n ],\n \"9613193691475857205330602666798979975880904136699052932187986733595889116150\": [\n \"19101175820598530926753490823478451816986951030479228355433464244767681683285\",\n \"2329270439535525348917719555450876591724963200362301581830845707294011965431\"\n ],\n \"17093920705827375598421518439504345004131280980791157850399482233504338128974\": [\n \"9613193691475857205330602666798979975880904136699052932187986733595889116150\",\n \"7881888735612588470402051984302173963461042849523262644045671678761755168848\"\n ],\n \"11723034611595784245256865876276667782534047307464023195632435329976174013518\": [\n \"17093920705827375598421518439504345004131280980791157850399482233504338128974\",\n \"10483549131289290679030227702670971994470416260800167200242279853818551856012\"\n ],\n \"6899553597109692495061664226298025406432833720168680210202635011898278451175\": [\n \"14724525952408459138838040145819056954149870600003865942054014899833901092764\",\n \"1\",\n \"1\"\n ],\n \"15614508626541850381248512013971744735773318421138735163330982195715082090530\": [\n \"4659414265299817680775230633252980411916514811634228383805601365364365456218\",\n \"6899553597109692495061664226298025406432833720168680210202635011898278451175\"\n ],\n \"13220240632426497623694045459733708402102959523331082595005266223107245982804\": [\n \"15614508626541850381248512013971744735773318421138735163330982195715082090530\",\n \"0\"\n ],\n \"6420717842180766401536162528136791461114375064312890876601166613353597573348\": [\n \"13220240632426497623694045459733708402102959523331082595005266223107245982804\",\n \"0\"\n ],\n \"6840178808686750306033353046520008292155099923997928703837491643402715783148\": [\n \"6420717842180766401536162528136791461114375064312890876601166613353597573348\",\n \"0\"\n ],\n \"5692524148372012045127272053491862323898846407505145240905705398163920306309\": [\n \"6840178808686750306033353046520008292155099923997928703837491643402715783148\",\n \"0\"\n ],\n \"13340787569287966497762574981727028845504694241769258023480363718860295171450\": [\n \"20707347215108537302188861156066398993746016635751209897066548305498843686587\",\n \"5692524148372012045127272053491862323898846407505145240905705398163920306309\"\n ],\n \"13252265045733942626404312143999118884854328115723042505680684274754897794215\": [\n \"1816676785438729586292540260739497807732450244366555886333952122203125060231\",\n \"13340787569287966497762574981727028845504694241769258023480363718860295171450\"\n ],\n \"3071861723391782522904223261111473347590772599249903662188871354019605799183\": [\n \"4920783171907030470633682339231991731723979489088849953546691270955338110570\",\n \"13252265045733942626404312143999118884854328115723042505680684274754897794215\"\n ],\n \"9945204921049174211268662614764421896004438575858162237810941277047026298091\": [\n \"3131962930841271672523813571936121695760802281330786803616712756816418910360\",\n \"1\",\n \"1\"\n ],\n \"13363204626231363559864197852225144215735741394908968628076134475923697236260\": [\n \"3241054759991978525261128126473415479888283410324481732034182222555586690751\",\n \"9945204921049174211268662614764421896004438575858162237810941277047026298091\"\n ],\n \"20014855221190456989851838878493639268642615482260362416809132873430813616536\": [\n \"13900247828566514755178987712851967391017841711700641377344473350606647382183\",\n \"13363204626231363559864197852225144215735741394908968628076134475923697236260\"\n ],\n \"6871813411542536947327629878954810660821755169099543331690101223416971719635\": [\n \"20014855221190456989851838878493639268642615482260362416809132873430813616536\",\n \"19794622145692972940273863132740670594433241090269633078089190702892644301285\"\n ],\n \"16282911301903191472015468189750228131718432653159261803356742523984666358139\": [\n \"6871813411542536947327629878954810660821755169099543331690101223416971719635\",\n \"5954852234852187160958909801462524471640836617141375332001663490338156106577\"\n ],\n \"15409539946870848952680793312247848309092289199169727858811440672623449742818\": [\n \"16282911301903191472015468189750228131718432653159261803356742523984666358139\",\n \"3308558092165500601233708080146990851067721124914339701094796714469305510878\"\n ],\n \"12960650328228280987511771650086552238116482200842134797666885050983455456297\": [\n \"17525906627694525415204013587828367089292237266249891211400385373113469236774\",\n \"1\",\n \"1\"\n ],\n \"15953272156234482858671961020864869773978932481087842462628833216184084564517\": [\n \"21849811902297909156634113198759609378379468066164739566381133986853849634471\",\n \"12960650328228280987511771650086552238116482200842134797666885050983455456297\"\n ],\n \"19996050274899173360430547468430520551067660605933739499497472336485119775413\": [\n \"0\",\n \"15953272156234482858671961020864869773978932481087842462628833216184084564517\"\n ],\n \"10061536179929858913989374124124092091844718865851235720905139722418503807913\": [\n \"19996050274899173360430547468430520551067660605933739499497472336485119775413\",\n \"0\"\n ],\n \"4620201030609056952984612500585858694352894538986247611982671008372608834100\": [\n \"10463788235542027128778843646745358298936926298781290748814713325054082627130\",\n \"10061536179929858913989374124124092091844718865851235720905139722418503807913\"\n ],\n \"18215908624273434827411891029814757366855748119651746989889543389667765912466\": [\n \"11142043316020912246592797972632037352689932866734169766605677536849192407193\",\n \"4620201030609056952984612500585858694352894538986247611982671008372608834100\"\n ],\n \"6131817663745943165386080879103957278805957713824446744328741062497589139311\": [\n \"18215908624273434827411891029814757366855748119651746989889543389667765912466\",\n \"9410963924684311057840077934953577740427920744197790941811356597326258926287\"\n ],\n \"21434170494023393842095491364510805879820984274650083360021628465897243714914\": [\n \"1349642731856164916149022312807018936115953358678551182142200985880300937780\",\n \"1\",\n \"1\"\n ],\n \"16709919357183469097236911254050248453696437421092508504957217131183215720199\": [\n \"21434170494023393842095491364510805879820984274650083360021628465897243714914\",\n \"19571164652886428036003326558475929290147394882233569158032709568575786012200\"\n ],\n \"297153814934387736499119391972151144209330021287487658988954092292676199933\": [\n \"16709919357183469097236911254050248453696437421092508504957217131183215720199\",\n \"12879476114901710797744137778080246673843948771863674862690051789902386693010\"\n ],\n \"7337649790910932988642103967237089261919053698663203757685665036681597682855\": [\n \"297153814934387736499119391972151144209330021287487658988954092292676199933\",\n \"5906812264181002101225576900907737476795763839932018158935601308846894931707\"\n ],\n \"10161969622015013933187328056959204308790104494534727712749461592212016113779\": [\n \"6446529640955502283643286284706162497719844531612452389379664406290309116390\",\n \"7337649790910932988642103967237089261919053698663203757685665036681597682855\"\n ],\n \"15349991582933612491452314778329065124859709197958629789188259978190057835637\": [\n \"19507503143974496602647728658728485006231144955751937163682539607847649942509\",\n \"1\",\n \"1\"\n ],\n \"7077071347751311449621931281153317172963793415091085291165236662092434439503\": [\n \"14473980798266319703649157568862476668335185120977463557791065640116030756276\",\n \"15349991582933612491452314778329065124859709197958629789188259978190057835637\"\n ],\n \"62789337801707029431404943454935359602731598508772492906659978612750117643\": [\n \"7077071347751311449621931281153317172963793415091085291165236662092434439503\",\n \"4145690339638135411660872396642683562708350704582931070465002467276598545837\"\n ],\n \"1639836859051808077882348306707599174458948879138784234962081853212407784746\": [\n \"15899013279738189025437129579593448558083297793156721773366609929354782583300\",\n \"62789337801707029431404943454935359602731598508772492906659978612750117643\"\n ],\n \"7472525072216146648150047371529463306706458277708927704429110127442378748268\": [\n \"10307365585947068609481190869169927562127556694942928808179792405598476197054\",\n \"1639836859051808077882348306707599174458948879138784234962081853212407784746\"\n ],\n \"8479514482614087897323684383022787789289342694917197506990574523377753921055\": [\n \"3877426716170870729990066502670761831656477574769793849465541925573775602631\",\n \"7472525072216146648150047371529463306706458277708927704429110127442378748268\"\n ],\n \"19668259574639713235680772712287720268646536197960552183744026836550273395808\": [\n \"19350268121343421531444886785339974877795495558313999736943660056101691551448\",\n \"8479514482614087897323684383022787789289342694917197506990574523377753921055\"\n ],\n \"18976775666152212207890155996150415082029994463816464022591504707234158218162\": [\n \"15130462360967195198271816673192161588052826692156604727246431386512356289954\",\n \"1\",\n \"1\"\n ],\n \"4866465148524028411281329235884486871780400067865625589566312579165820314751\": [\n \"14276866258878401584031036572895238326928571067553608326121915049421913956114\",\n \"18976775666152212207890155996150415082029994463816464022591504707234158218162\"\n ],\n \"15098823529490872881762687453545255804686381940648015474335107168736104649497\": [\n \"15350797274920583318590867543639175027193776482760155672762537182047622801806\",\n \"4866465148524028411281329235884486871780400067865625589566312579165820314751\"\n ],\n \"2066023197891280964601202886322135611168648004062215767215737966231988294896\": [\n \"15098823529490872881762687453545255804686381940648015474335107168736104649497\",\n \"6189437578423125396012496824221508687074621572351235019792715186624468519953\"\n ],\n \"12033562621698045061860086136119316809447478982520423939206400949455557497223\": [\n \"7421513346326950532536813317099292615124750593320708879397076168531791692911\",\n \"2066023197891280964601202886322135611168648004062215767215737966231988294896\"\n ],\n \"5181655421881865363847155051049740971117115978637032854449679029933773549472\": [\n \"10317982636553273556927893545384218365888122375145968702883726590435766545881\",\n \"12033562621698045061860086136119316809447478982520423939206400949455557497223\"\n ],\n \"15112582856274696612746876907914834599330726396058783821520196887304107232769\": [\n \"15911239449994861650552832279551483128392317629871706842172033461028083164487\",\n \"1\",\n \"1\"\n ],\n \"7092504675278607877368378044325277867331119330952159024324510629867083428225\": [\n \"8838675933466954517648281824900703094413164196330633377194336835224637588912\",\n \"15112582856274696612746876907914834599330726396058783821520196887304107232769\"\n ],\n \"8557040124966680271585742150877244873553864190232894105545049520064673402321\": [\n \"7092504675278607877368378044325277867331119330952159024324510629867083428225\",\n \"0\"\n ],\n \"5521704469301341912285182735356179189727440739856448626878688938583387657926\": [\n \"8557040124966680271585742150877244873553864190232894105545049520064673402321\",\n \"3639963150354203557570083562090967017091809358065357635742192969160077233061\"\n ],\n \"10337769734014024797462330417263754989958152013959840205239435642350449103140\": [\n \"11675854957081290880962962729400155320907288274258946084444681383367687974368\",\n \"5521704469301341912285182735356179189727440739856448626878688938583387657926\"\n ],\n \"12681715023201746688399892530702871480979865838913348928241920671232126556629\": [\n \"10337769734014024797462330417263754989958152013959840205239435642350449103140\",\n \"5583255780630752775640233064979242375294486679840096753130065511287195233488\"\n ],\n \"9151618570704600505157802719665999793452532253721894283313235854897907694135\": [\n \"6146710057795053311977765405084387536920544248046975685674882327116131653749\",\n \"12681715023201746688399892530702871480979865838913348928241920671232126556629\"\n ],\n \"19131756622144416528251711129145908403636008220912251350290785448458397900783\": [\n \"9151618570704600505157802719665999793452532253721894283313235854897907694135\",\n \"17784561036459760841115882093677766055384054174968640020480365017511039197129\"\n ],\n \"7781176443398529393641424868713143335580451967372164946814060726709772586963\": [\n \"7049597771747543326238940149764275775145582036817892563553885651600900686246\",\n \"1\",\n \"1\"\n ],\n \"9545357493683630934361603828252378345234993007182542158476995702663087911851\": [\n \"7781176443398529393641424868713143335580451967372164946814060726709772586963\",\n \"11734502975547487511095642096861325194135755242583533527176357878468387341798\"\n ],\n \"711002028878702913296095415956543272639821106151432470824108168705258566989\": [\n \"9545357493683630934361603828252378345234993007182542158476995702663087911851\",\n \"15599166324508911653615181322331361522179571720537830563223899191697505632716\"\n ],\n \"7584902796435717836754015001424825132664063526914185351511142702227687031433\": [\n \"711002028878702913296095415956543272639821106151432470824108168705258566989\",\n \"4657038639425016048192957282405333600355625899676773748844693441071212748629\"\n ],\n \"12395948291969564588778036789650842389613276922222911939951944113932355962004\": [\n \"7584902796435717836754015001424825132664063526914185351511142702227687031433\",\n \"8380012791908272482209797423274878731812144878747803367869672625707115508051\"\n ],\n \"18425162504386443235774151922775297687507857852452537892095950522222556874980\": [\n \"12395948291969564588778036789650842389613276922222911939951944113932355962004\",\n \"5830198975392471874457215352683406238829100788777771587198320345995514736150\"\n ],\n \"20903048512053700682143609289189581882597239619428283810334565311855555230018\": [\n \"16441072971053518452577612361318257072434666373599708943424703755858981249027\",\n \"18425162504386443235774151922775297687507857852452537892095950522222556874980\"\n ],\n \"17985205170082587714261239153804808344355763543254004600911381335754002194577\": [\n \"6131817663745943165386080879103957278805957713824446744328741062497589139311\",\n \"20903048512053700682143609289189581882597239619428283810334565311855555230018\"\n ],\n \"14880837409222667498414908207695853178482394167894087634989518436017392778279\": [\n \"17048302660432514737596727112207104709732914002533682984974600790805461125385\",\n \"1\",\n \"1\"\n ],\n \"16210608815002409062194576950018517698798130450992356627742705619334589498172\": [\n \"14880837409222667498414908207695853178482394167894087634989518436017392778279\",\n \"17943755652547804389891826726948452081720819237939520679220980361166574522925\"\n ],\n \"15319611890790617442577319386929651305213474238251138824481282125813243166218\": [\n \"16210608815002409062194576950018517698798130450992356627742705619334589498172\",\n \"0\"\n ],\n \"14741602759323793248968687580758205177629329626434110719368158947176696918408\": [\n \"0\",\n \"15319611890790617442577319386929651305213474238251138824481282125813243166218\"\n ],\n \"14320715027110692657871133236569968705237393782027179957551469520671920800299\": [\n \"14741602759323793248968687580758205177629329626434110719368158947176696918408\",\n \"13904638070916729530141421994037221243936553674192084582094435145749270594511\"\n ],\n \"11157715135471574136146386194236034658807021117340954202076516709997338797973\": [\n \"14320715027110692657871133236569968705237393782027179957551469520671920800299\",\n \"742983404561588229851730212023949864682845061609172026950584048938572024075\"\n ],\n \"9490106642784821805695233035933873498908559583213606486610691206080360879438\": [\n \"13556388261266586801170860422182900523101396534181615033152962997290465214176\",\n \"1\",\n \"1\"\n ],\n \"5702602341691475417948259015767658671297032469013549661357907984675215064986\": [\n \"14233903462001941189005617947660633591506657267099805660866427595662623905793\",\n \"9490106642784821805695233035933873498908559583213606486610691206080360879438\"\n ],\n \"17495723314366970499262492184209972371598981794558732308209562158053046948930\": [\n \"0\",\n \"5702602341691475417948259015767658671297032469013549661357907984675215064986\"\n ],\n \"10834876970738562196623307779986668350466957308879912427538862866641071574025\": [\n \"472144242283646628198503614209622598559799078026289403114003334390892605896\",\n \"17495723314366970499262492184209972371598981794558732308209562158053046948930\"\n ],\n \"7278823041484656448569181053508482343289280056354292659110709268679837261776\": [\n \"6154084948812442093087294824264478656812046237605071926488177737838328200307\",\n \"1\",\n \"1\"\n ],\n \"1744671950369139390943714987791713815356574831513086934998870943375300853705\": [\n \"19215882035030450097842687128211517427371372044709992527910036087071879758866\",\n \"7278823041484656448569181053508482343289280056354292659110709268679837261776\"\n ],\n \"11847798777121455137835792528045899943010375855406364579655755085500183246973\": [\n \"0\",\n \"1744671950369139390943714987791713815356574831513086934998870943375300853705\"\n ],\n \"19624247407782948478693170674900060285253055317878860053882072535333396542616\": [\n \"11847798777121455137835792528045899943010375855406364579655755085500183246973\",\n \"1391492170362857527650256418004594911911272864498690349831529445218899699382\"\n ],\n \"21444194892837642167024913138852440595457373329464932631673011801564869188647\": [\n \"19624247407782948478693170674900060285253055317878860053882072535333396542616\",\n \"17400038612453566182400674182918119188987070707752740227203890725232838853529\"\n ],\n \"1549872405589041402878163104537253560402109084397702721446775604410112559625\": [\n \"21444194892837642167024913138852440595457373329464932631673011801564869188647\",\n \"13380662232052134335400859957163913836803880532715966356960906239392539054823\"\n ],\n \"21296729928464844148643789367549335696675586615010748951370649772868952729082\": [\n \"3705851958277518545195207439851248507162650066340629124048825511856010992476\",\n \"1549872405589041402878163104537253560402109084397702721446775604410112559625\"\n ],\n \"4385065419459109970152971657406321806757799575431138983619496735711985409130\": [\n \"11695243265490497652169704774849454449872304840238423481852612554687708684766\",\n \"1\",\n \"1\"\n ],\n \"16787500765416245287052640692708080447992512671951116126811019773465520878276\": [\n \"20975075379771614677629668790174015701133222592520343589030691045991892295982\",\n \"4385065419459109970152971657406321806757799575431138983619496735711985409130\"\n ],\n \"18537739166571386439572907220614933813829634537899896942703264538045369055674\": [\n \"16787500765416245287052640692708080447992512671951116126811019773465520878276\",\n \"3856921371748658628904407713851216477850770294407370130386215354505814138759\"\n ],\n \"12143243894613169558202835244471229035572901244068274361659734173378499409984\": [\n \"18537739166571386439572907220614933813829634537899896942703264538045369055674\",\n \"2862468143287005101476260167509381015141784105709914071175698909432448212534\"\n ],\n \"934949442169887573015473782007280859206135957158473367117381265989362404071\": [\n \"12143243894613169558202835244471229035572901244068274361659734173378499409984\",\n \"15317098927088352445784086991498999516487852212791581724848163500559878517649\"\n ],\n \"3407717610499119957017724239970694271603329629280795214673233131632261320485\": [\n \"934949442169887573015473782007280859206135957158473367117381265989362404071\",\n \"18424168259237126575784186027011675029303796826866552819415953594933833249594\"\n ],\n \"16947742479383406164654168548915817019878784196896512208232719172376899529224\": [\n \"3061373180369482678771058918160055657912124010448683812889512885069151473376\",\n \"3407717610499119957017724239970694271603329629280795214673233131632261320485\"\n ],\n \"18036584299193901950366062675020060133943571206341308571569138867272635397845\": [\n \"15174697024852950181307292211821558451733665474181483705668351074661292288948\",\n \"1\",\n \"1\"\n ],\n \"6954552694671875059809074694813734881758148149323158955163903479886994034484\": [\n \"18036584299193901950366062675020060133943571206341308571569138867272635397845\",\n \"8496321109089667248340581581431110475396787982598893459923678075858694786234\"\n ],\n \"19590112396322058147919594673904859251563198603964000704426384077606227364781\": [\n \"15994483451919669342633752718985109234344156342631757140677734095783329583553\",\n \"6954552694671875059809074694813734881758148149323158955163903479886994034484\"\n ],\n \"21264262324679633858935699515267873154533136488718091548099160380997682303410\": [\n \"19590112396322058147919594673904859251563198603964000704426384077606227364781\",\n \"4572614117124298060266518225130608512716601335210042109267383466107998213888\"\n ],\n \"10171045340586111084582141573697158990283661747506378802544834260729001855004\": [\n \"11979147777818848077720973956844764497209390800830703855052546715649784428093\",\n \"21264262324679633858935699515267873154533136488718091548099160380997682303410\"\n ],\n \"21478675064633875313584518319792422435225891982916602166364729685642822375087\": [\n \"12266331103414027341631053182084368962437972399891588912082638052557031838932\",\n \"1\",\n \"1\"\n ],\n \"12446724722643640763894955190379509470381874193445103890686015169686059400145\": [\n \"21478675064633875313584518319792422435225891982916602166364729685642822375087\",\n \"20006766105398821403835556361477789793202238455119224127120182271284898709786\"\n ],\n \"7277704670447522734054126579616737000467801176822130631475896867106096051310\": [\n \"21758089872564220485807590980723053683027117822438299507627736129631563047907\",\n \"12446724722643640763894955190379509470381874193445103890686015169686059400145\"\n ],\n \"4431556350473077703842470018977364224370283644481144182067815942751152934358\": [\n \"7277704670447522734054126579616737000467801176822130631475896867106096051310\",\n \"0\"\n ],\n \"9147781326222500877715931286268670725662462716628022677727388340328480789659\": [\n \"13410020193205505105612083416066770581838316020639215671542375966922956040947\",\n \"4431556350473077703842470018977364224370283644481144182067815942751152934358\"\n ],\n \"12521173047322822685261423840773897638640129471786354915139250809984049527984\": [\n \"9147781326222500877715931286268670725662462716628022677727388340328480789659\",\n \"3987651937573629131871595680286313923648305184247430326271789131880561187026\"\n ],\n \"10592537997843107221184527842401836953813933189740717796558800452234315065640\": [\n \"12521173047322822685261423840773897638640129471786354915139250809984049527984\",\n \"9527356504257475502028741545813363932848924253241828854911990110586638639224\"\n ],\n \"20296290826170215244991747230139723604336243015380900520275643921108594294442\": [\n \"19229968116092459495130984351908809736194664799517263366422624438134435309928\",\n \"10592537997843107221184527842401836953813933189740717796558800452234315065640\"\n ],\n \"4478290265554904457796231247127383466823948007973639371723309948879735185944\": [\n \"4981895713995809368797681244072522464949780987433025021437000631836962310150\",\n \"1\",\n \"1\"\n ],\n \"14028882512602733452162121712645519193214752827828826483750950591940244568501\": [\n \"4478290265554904457796231247127383466823948007973639371723309948879735185944\",\n \"11531102187872409897506147027033467316778317548058705836355011615510458929056\"\n ],\n \"1152091797036491400473570915807948628424092332653511845039416194496023698193\": [\n \"14028882512602733452162121712645519193214752827828826483750950591940244568501\",\n \"17399286417946366063216810650871368280014515955025130611548585742072787008216\"\n ],\n \"8126015325490747641319652105148615190914041065721780975168146818874838608428\": [\n \"9958101388479552010421403650670097750522777650834679737742197779006351146155\",\n \"1152091797036491400473570915807948628424092332653511845039416194496023698193\"\n ],\n \"20506688278953911163068195168623022306168166893229558356085816320087452843867\": [\n \"8126015325490747641319652105148615190914041065721780975168146818874838608428\",\n \"13507579927820112976840133565231738606364052982096392175619148144146405001189\"\n ],\n \"17060877155479593931400739727462146824303080030586577934732491719128939223568\": [\n \"20506688278953911163068195168623022306168166893229558356085816320087452843867\",\n \"15170996372960256626994049319344745494548056621046816629303029922465152685606\"\n ],\n \"15208871413959137727368664294262798107189465822564982007537857884026719240413\": [\n \"17060877155479593931400739727462146824303080030586577934732491719128939223568\",\n \"16229372756690517714194917459138581921054240285912612481923220698924728123978\"\n ],\n \"8841232225272102817123812091143486062662633067881434828284960636434284014043\": [\n \"6391448265222527947604764479704655549992242943209521311733704095963637102412\",\n \"1\",\n \"1\"\n ],\n \"14566112759334747466632264296174741831619725266802772309157132178092843855637\": [\n \"8841232225272102817123812091143486062662633067881434828284960636434284014043\",\n \"14120840431240117352835905756526740068700266332874768232338460915395349065548\"\n ],\n \"8445522889360337362747364171242113423299097530352417417055341351480772487434\": [\n \"14566112759334747466632264296174741831619725266802772309157132178092843855637\",\n \"0\"\n ],\n \"1765117003803740180597520123529590776531847819567705719734128809943231692705\": [\n \"6648166268456784420520730815814073487177547701925941581981525903548362837956\",\n \"8445522889360337362747364171242113423299097530352417417055341351480772487434\"\n ],\n \"9604904355206549905940548684310121868789553477019664941053412556098363321260\": [\n \"19282449248963040114811577511343306778832784550686428912166877339534349318473\",\n \"1765117003803740180597520123529590776531847819567705719734128809943231692705\"\n ],\n \"17052282350797220929508121382442773655459945618388586735624675444138881284771\": [\n \"9604904355206549905940548684310121868789553477019664941053412556098363321260\",\n \"0\"\n ],\n \"12489352358533347872414694554933651279251328674583421993460646607706545044209\": [\n \"12497261351396317188787788616981190756713420337442547168963716558756469516006\",\n \"17052282350797220929508121382442773655459945618388586735624675444138881284771\"\n ],\n \"21052442967843455185388655602461640341102673756069783576052349594649910264078\": [\n \"11826601041751060297360941116333591550325245579440237404640494351292702999781\",\n \"12489352358533347872414694554933651279251328674583421993460646607706545044209\"\n ],\n \"9813620808474451822794213100209369526616782032138448559804678731428061716599\": [\n \"8647971367408995497238197336350564953302735098961237271952785072395414815058\",\n \"1\",\n \"1\"\n ],\n \"20384936946512118649154431083962799870178191401934587621528254171105163187216\": [\n \"9813620808474451822794213100209369526616782032138448559804678731428061716599\",\n \"18118742924735164917715189553044747073658520053086400011534281049296322773942\"\n ],\n \"7544392853101868267810692302710992991389248593795072860479845690234519527161\": [\n \"20384936946512118649154431083962799870178191401934587621528254171105163187216\",\n \"0\"\n ],\n \"18028566277370664251653604329967863314631872568607828817114772956858734217925\": [\n \"7544392853101868267810692302710992991389248593795072860479845690234519527161\",\n \"0\"\n ],\n \"2471957236398850026270718777191477197988382158697395138423304351830529865627\": [\n \"18028566277370664251653604329967863314631872568607828817114772956858734217925\",\n \"10070229789291748887934736025045154283379344844365395569075329131360634678290\"\n ],\n \"12083373735453206831135127357198761360755238851831941323911225538593428770441\": [\n \"2471957236398850026270718777191477197988382158697395138423304351830529865627\",\n \"8704451203853554158326858908775757484082489433718388308448043846302366588449\"\n ],\n \"4761190375910877613928773263472757930528699045605321465743586535456611979693\": [\n \"10908260725187412120576369581444245535232281171750024273704197309359930565866\",\n \"1\",\n \"1\"\n ],\n \"18510086688110494800954676773910406670358629218339640581024704995751772230237\": [\n \"13291515687049772837506797397611590584421667805741626500708071938880506081508\",\n \"4761190375910877613928773263472757930528699045605321465743586535456611979693\"\n ],\n \"3582471139710371297667711423223752503576395188326269148420405646390291020150\": [\n \"18510086688110494800954676773910406670358629218339640581024704995751772230237\",\n \"2364438603089434871047377932742162610120786625991658735745379787394043035634\"\n ],\n \"858900602969950679487025446532514166590705094708186347922022911999849241315\": [\n \"3582471139710371297667711423223752503576395188326269148420405646390291020150\",\n \"4731233566776015703552909187484998641697249571282270613760549413546607487344\"\n ],\n \"20780869929475925744736427122384842908578434735062580874351985535415405916516\": [\n \"11030813254079515453698419696782385646316216942882487844394034937111881942365\",\n \"858900602969950679487025446532514166590705094708186347922022911999849241315\"\n ],\n \"11584833754861521008070916206559530110584943455055507657118057693070192953771\": [\n \"20780869929475925744736427122384842908578434735062580874351985535415405916516\",\n \"19351149509506821518994363499997770101578069987668744821631043927392611084931\"\n ],\n \"7042142716119206521798875688643953149639084133040922466371290499660832771696\": [\n \"11584833754861521008070916206559530110584943455055507657118057693070192953771\",\n \"18320827039458586103536782455908094049498903535238407713446923713678852498026\"\n ],\n \"8390087374414734846945743104663948762741729346330226654169348847756643996227\": [\n \"5457625995183607212565996841628777078423845662192726508653035648888358026982\",\n \"7042142716119206521798875688643953149639084133040922466371290499660832771696\"\n ],\n \"13795157450705576480007785322321885147538051997867915659925116973020967485864\": [\n \"8759428034757321556362691987272318362260008652913934306809268856502100655788\",\n \"8390087374414734846945743104663948762741729346330226654169348847756643996227\"\n ],\n \"15039672369874965381532633200518231997516072334661444269611639783062078730748\": [\n \"21492096529048691721171812169997198244925013837221065658939216792759183292697\",\n \"13795157450705576480007785322321885147538051997867915659925116973020967485864\"\n ],\n \"3770256530786164503823181621561384888332150950306907275213306914332699611195\": [\n \"12887405577760458288509153783068055488479338576919800452572208937361185363863\",\n \"1\",\n \"1\"\n ],\n \"9307164411016181387670670464874273175098482115275771270619701713869349662640\": [\n \"10467836279817063924270982812244963352829549807664741586542834792603501955769\",\n \"3770256530786164503823181621561384888332150950306907275213306914332699611195\"\n ],\n \"15435956858943138446532868100606347450853903495647613438464962525814805280752\": [\n \"9307164411016181387670670464874273175098482115275771270619701713869349662640\",\n \"0\"\n ],\n \"3825360210948826438980064349833648292768510774444822403525020621900273588324\": [\n \"19976967999827465984693417120574532688867476655047871422027400082098038201224\",\n \"15435956858943138446532868100606347450853903495647613438464962525814805280752\"\n ],\n \"4403710291364415151239979368330470991708394672503938934822170615937974073811\": [\n \"3825360210948826438980064349833648292768510774444822403525020621900273588324\",\n \"11540388816467095528739977239383747746486277230282981617821269065241828455447\"\n ],\n \"19236864568233353214697462192137922178469535570424863300795638664035955210501\": [\n \"13876536500042058057591388633553573440061428360498067081629838815997100529509\",\n \"4403710291364415151239979368330470991708394672503938934822170615937974073811\"\n ],\n \"19857022163435618140567484461086866770168030087768960284221985626009332004087\": [\n \"554724158975469713483891941338260128507407097615838185671852977007241553487\",\n \"19236864568233353214697462192137922178469535570424863300795638664035955210501\"\n ],\n \"8650572085303634280528543772533517136222620369200229131466731091239737873680\": [\n \"2900237644749229453725906683302383268622512876630422178414259337015896385471\",\n \"19857022163435618140567484461086866770168030087768960284221985626009332004087\"\n ],\n \"1835247549981785683964963701815763025417332326886440033109841645393061136038\": [\n \"6518426943076973339620951755429651404055412982194943486921605116137925319102\",\n \"8650572085303634280528543772533517136222620369200229131466731091239737873680\"\n ],\n \"17240250143974447010686528882101495756645827578904963219893759941229863723893\": [\n \"1835247549981785683964963701815763025417332326886440033109841645393061136038\",\n \"7892469474700393957298690458470529452558788786534145757785981578779328339359\"\n ],\n \"9453414534291743569771334381617389748435831526486411951042044538090236850487\": [\n \"6051146421331353544982905370040165688613573432652242485980305215716929679920\",\n \"1\",\n \"1\"\n ],\n \"965953006692705828272073128439562366759759674159731760025627873575176766821\": [\n \"1108901843633505239420396035292278680505091644187068081021782119916257514051\",\n \"9453414534291743569771334381617389748435831526486411951042044538090236850487\"\n ],\n \"10265700284854158691470570226736808809165512915282308392968935582596636909245\": [\n \"965953006692705828272073128439562366759759674159731760025627873575176766821\",\n \"12522214005957708238097989480872013114946492543142684555828354863105844442341\"\n ],\n \"11890563000203394533666384043123528100980082454758437859130529234433174702039\": [\n \"10265700284854158691470570226736808809165512915282308392968935582596636909245\",\n \"12347096914788348774839578443459450061657693029050591825422947328400880859671\"\n ],\n \"2217084018781921195986008503959580810764484370043307864550382733084438710925\": [\n \"21576725772963984757580137415110514690064859175771050931596363824655188582680\",\n \"11890563000203394533666384043123528100980082454758437859130529234433174702039\"\n ],\n \"12030303807527236436904770642829831174324014822790015853001358748483783648696\": [\n \"2217084018781921195986008503959580810764484370043307864550382733084438710925\",\n \"5658289843080070356912740363655458815365013331648362604550537090093858191861\"\n ],\n \"13141517247483095443507011917834234102846755772609285076177005470909618343905\": [\n \"18873994925905254627108921950589954310683935341680408004856225237727252501409\",\n \"1\",\n \"1\"\n ],\n \"17306648115526629896810124648854222479774680461314757055308851156199031122401\": [\n \"12633317857955303918681778347146433892844613821897574159716250147478315755335\",\n \"13141517247483095443507011917834234102846755772609285076177005470909618343905\"\n ],\n \"20296007610168398257353442930327471496349409929002189729166015781053810719352\": [\n \"17306648115526629896810124648854222479774680461314757055308851156199031122401\",\n \"2961405005449051086619888178791671341225700037853670047637050884043788425787\"\n ],\n \"464931171446236328756391518725346767844936930247870236825824964645139891085\": [\n \"19638901218938889278894163176415350577765009092688244916212675115876637480884\",\n \"20296007610168398257353442930327471496349409929002189729166015781053810719352\"\n ],\n \"894748599748171488729672393562002021128258195095329524247795673147933545948\": [\n \"464931171446236328756391518725346767844936930247870236825824964645139891085\",\n \"2873919496886722634297928401325192758957496562393427651886598302751556382743\"\n ],\n \"8683827916120300902380317500578952592053544281917397004604638562537477485880\": [\n \"894748599748171488729672393562002021128258195095329524247795673147933545948\",\n \"18473923227530032490940148485302987447745643985149610072190724470767105673170\"\n ],\n \"5458972034146421744733143921060087949869803244080418009515946372705111758236\": [\n \"5135665707402866527019824850751434132458974710023862037606482927823812909232\",\n \"8683827916120300902380317500578952592053544281917397004604638562537477485880\"\n ],\n \"19389447938844330951056411244268440346202554275638438913712304455563226302101\": [\n \"21423655595238598738887379470497501992859921611073949360084960652796856108497\",\n \"1\",\n \"1\"\n ],\n \"10824869754468440290530030774102162132296541691051516614308941823430518137429\": [\n \"19389447938844330951056411244268440346202554275638438913712304455563226302101\",\n \"20747713421390402693779191420362866264815302217457865987859699682755691522555\"\n ],\n \"18699684828874179829533594888873053860802366906218215338493848950900439038539\": [\n \"10824869754468440290530030774102162132296541691051516614308941823430518137429\",\n \"21255277188137709053085622028699032302813384651872435906262396691704724688194\"\n ],\n \"20336468872101241494627965348360009743318039411173526867548449787074309341798\": [\n \"15959787839148777151536966811515724284746851662999077280841513171570286669706\",\n \"18699684828874179829533594888873053860802366906218215338493848950900439038539\"\n ],\n \"19753270745734772538899186680577431532221972484791819175248688662340008147946\": [\n \"20336468872101241494627965348360009743318039411173526867548449787074309341798\",\n \"2618939120321295195780374291380777853178015747077087319546799851082577453636\"\n ],\n \"3541198171729521990994573034408662673408260245063963381215550179518186442061\": [\n \"18073541044479827654817834544760407969642826269528065570342679201728314882599\",\n \"19753270745734772538899186680577431532221972484791819175248688662340008147946\"\n ],\n \"15459857817957618170040061583705960930386889273222514911241431230038399905303\": [\n \"1835058846998531297060673466401616581107527013503867554171979176028896812945\",\n \"1\",\n \"1\"\n ],\n \"14888955800226085902061952979443020758408882174684476638044903330619220637182\": [\n \"15459857817957618170040061583705960930386889273222514911241431230038399905303\",\n \"21182071039969256964718640002945180286979413198341684226754143441277732816829\"\n ],\n \"21543158454115221789119852888752293769545628391338293477761405515060568760913\": [\n \"0\",\n \"14888955800226085902061952979443020758408882174684476638044903330619220637182\"\n ],\n \"8446022164801827505162977584618386024978222360867746854166597447920593323557\": [\n \"20240839786848544822345862573640943122288105724405175323316103666799240964939\",\n \"21543158454115221789119852888752293769545628391338293477761405515060568760913\"\n ],\n \"6176889028402978313776435729617271081851524085505660453446729096669133095651\": [\n \"8446022164801827505162977584618386024978222360867746854166597447920593323557\",\n \"0\"\n ],\n \"14488563387883244502123227981767964261008308521219428183614849373482399735653\": [\n \"0\",\n \"6176889028402978313776435729617271081851524085505660453446729096669133095651\"\n ],\n \"16086746286954441046230571343832665203662301484618788731633869555426972300897\": [\n \"19551822925002525591926921749436721920775358672666083507055311724173836704846\",\n \"14488563387883244502123227981767964261008308521219428183614849373482399735653\"\n ],\n \"3984884861566898423884374217213389209739376561639547575052525318672409713091\": [\n \"5660594461351582498109568991929308464599990985710092195957200127687924378824\",\n \"16086746286954441046230571343832665203662301484618788731633869555426972300897\"\n ],\n \"3294934028472020567281190832324271895233816357322748969315719010143442735260\": [\n \"13938645109423881647122089354939220190164206010508643990289172272118990482556\",\n \"3984884861566898423884374217213389209739376561639547575052525318672409713091\"\n ],\n \"3224801879749454247304511735849650023635402841718493925732871721987442194727\": [\n \"3220836582414943188293495280346703151907789189467718691199695177758528799399\",\n \"3294934028472020567281190832324271895233816357322748969315719010143442735260\"\n ],\n \"4566197036914580959407332524430214080234847223581468345068864420148191545147\": [\n \"20354638362753304552267719829133477577897074120489069121045357676633690557203\",\n \"3224801879749454247304511735849650023635402841718493925732871721987442194727\"\n ],\n \"15224169292291964108177718998968981601540798660950349704026784546624147993610\": [\n \"18360285600698320830097333450397225638829456386773134023725370455537651362245\",\n \"1\",\n \"1\"\n ],\n \"17194267361987427823029885818793729409704655764930306459017790436980373749555\": [\n \"15224169292291964108177718998968981601540798660950349704026784546624147993610\",\n \"138496049340717351101971981566294168945271207388304072068398394366350855287\"\n ],\n \"19247782782262705071758307877388917597284876137619135187696194083613816583199\": [\n \"0\",\n \"17194267361987427823029885818793729409704655764930306459017790436980373749555\"\n ],\n \"9242758199532214494550045335973121402686687570594336681494373707729827823280\": [\n \"19247782782262705071758307877388917597284876137619135187696194083613816583199\",\n \"16393482067329907135201430852753469585443885304212657706015644746711430747584\"\n ],\n \"15009756415652771447923265838718745625040428091558492623016013727281375122986\": [\n \"9242758199532214494550045335973121402686687570594336681494373707729827823280\",\n \"3649223540789866407432512651565879020491318422200974136770802644339372552333\"\n ],\n \"20292257808311592102289917072724873339854919922125029119512300131442949244191\": [\n \"14791489105787607700237968469816045827113574441910628731205344798169041657966\",\n \"15009756415652771447923265838718745625040428091558492623016013727281375122986\"\n ],\n \"3417185572648186547079521006942839849358335030920003960052357695149356969300\": [\n \"14948058674254326033864456875647891034679060236279867765870811550613245601511\",\n \"20292257808311592102289917072724873339854919922125029119512300131442949244191\"\n ],\n \"10863208860298890476787092674517853361245015942432184530713677564022575985114\": [\n \"2239842974638095367476937917460262101397281396908875197958001992513823348872\",\n \"1\",\n \"1\"\n ],\n \"5968177036371208785207084881590727838326872000076536946749040294148677643233\": [\n \"18368566488961438764949274968742968057059863273576542834120822958963315712161\",\n \"10863208860298890476787092674517853361245015942432184530713677564022575985114\"\n ],\n \"12894410511702427382625110224807990805283587273235505478468676846564903682322\": [\n \"0\",\n \"5968177036371208785207084881590727838326872000076536946749040294148677643233\"\n ],\n \"13757786719829130287938827476202492812557792269933208983266234821507557563187\": [\n \"12894410511702427382625110224807990805283587273235505478468676846564903682322\",\n \"0\"\n ],\n \"25502158603390044788977340260822642370162001879789477137351013476954207005\": [\n \"0\",\n \"13757786719829130287938827476202492812557792269933208983266234821507557563187\"\n ],\n \"4307567905034774647259631469682163375900286079956323884824259010803588171883\": [\n \"25502158603390044788977340260822642370162001879789477137351013476954207005\",\n \"16099320572238358339185337583008622327204443732731398088023596814916098606451\"\n ],\n \"17655702637309450768515495561639431526190551573842205207371602458456932191794\": [\n \"4307567905034774647259631469682163375900286079956323884824259010803588171883\",\n \"953200312123263851668228762199260135293721132822259945595778002135125009113\"\n ],\n \"7990691147570764742249309674198933567648160621223129361736913521297342973839\": [\n \"7585653694562897996086287224677302097835579763813853777816006459780169474348\",\n \"17655702637309450768515495561639431526190551573842205207371602458456932191794\"\n ],\n \"14898104119519998165038628345308296302782639299362884920298758706543906902942\": [\n \"4387131638244273422187423373591900353279473841395998499001034162948251941574\",\n \"7990691147570764742249309674198933567648160621223129361736913521297342973839\"\n ],\n \"1725036880643101209591896813362628990795063449981176011676182269949486208968\": [\n \"14898104119519998165038628345308296302782639299362884920298758706543906902942\",\n \"19442079732775850972098055926425352613295929707211490996230608844419407511915\"\n ],\n \"5446253197710482821337915133906734408117472525934065856672559275656190738778\": [\n \"1725036880643101209591896813362628990795063449981176011676182269949486208968\",\n \"4534089259659215113306924365167983311762883373295026846394603955522456595790\"\n ],\n \"4566258288381221287081910964249042011339016729416047416692579450088375234099\": [\n \"19113371569288527806731761256883902925427416287124316032721926509300509770935\",\n \"1\",\n \"1\"\n ],\n \"2755702545467387517238784089873556358576741853279969229688578845895537563056\": [\n \"4566258288381221287081910964249042011339016729416047416692579450088375234099\",\n \"945600904891360286777260040976979344904542757179104289463164229789013206660\"\n ],\n \"8718859951255103747404020187288715030762813163118734146431207460373618458612\": [\n \"2755702545467387517238784089873556358576741853279969229688578845895537563056\",\n \"0\"\n ],\n \"3338025804674195662480590838000631390369210233778416396739068490974527812559\": [\n \"8718859951255103747404020187288715030762813163118734146431207460373618458612\",\n \"0\"\n ],\n \"8757266094836551515491971794445683464801447932828882336822139205621311882693\": [\n \"3338025804674195662480590838000631390369210233778416396739068490974527812559\",\n \"1769256379983695364715898697930032848852466867163864720630097068400397872652\"\n ],\n \"7870387132130703645976035581944808514477860003344965599038416594518368210256\": [\n \"21404877556186520469462378975489522230924321295944406879826194958835120867522\",\n \"8757266094836551515491971794445683464801447932828882336822139205621311882693\"\n ],\n \"11418797237375094151292164997060751395645471184997680143119181477498730086369\": [\n \"16562228384399213025863500481891136829699230520596655286814803436732518750876\",\n \"1\",\n \"1\"\n ],\n \"14558865149446255242215703696226316059149567943552633749152865064465243283169\": [\n \"16324426942003917819968720043857168312864876706084554397957159863712239954134\",\n \"11418797237375094151292164997060751395645471184997680143119181477498730086369\"\n ],\n \"8798522605427313275451236201078625817024306611158341168679059460547812470821\": [\n \"14558865149446255242215703696226316059149567943552633749152865064465243283169\",\n \"0\"\n ],\n \"11126705326129957728587424768229572161730482317944560442972914383803344582761\": [\n \"10820148296656408086580101661150604529856642047952015447915658756324583711806\",\n \"8798522605427313275451236201078625817024306611158341168679059460547812470821\"\n ],\n \"13190375973064427303953457129869558887605314904136710137643609347379996489379\": [\n \"13633396342683698556926932326089555690921894653598638316854115410926333258432\",\n \"11126705326129957728587424768229572161730482317944560442972914383803344582761\"\n ],\n \"5766810013613572778556642020497559923072115553236172462963764945739362503152\": [\n \"13190375973064427303953457129869558887605314904136710137643609347379996489379\",\n \"4791682389429044695267525320170906124370626960312164000577351082799196695964\"\n ],\n \"794615012492105412279816422327444813995360536591946737196265689392579354270\": [\n \"19278634421938770850678389377395775397978191327712733485464245460031677363570\",\n \"5766810013613572778556642020497559923072115553236172462963764945739362503152\"\n ],\n \"6987176034524156033759033490713550283055141525626781361370536591409671377971\": [\n \"794615012492105412279816422327444813995360536591946737196265689392579354270\",\n \"3071861723391782522904223261111473347590772599249903662188871354019605799183\"\n ],\n \"20250719276072951973996564309742583233307669515225123827825815309892302455794\": [\n \"11521671145180452576955100085445012605403461191769423553673427172257227155617\",\n \"1\",\n \"1\"\n ],\n \"10572832322336202953544207738841236397522612624898500874253244753949946386501\": [\n \"20250719276072951973996564309742583233307669515225123827825815309892302455794\",\n \"13460321138787978358460171455788021688541860814157867620768275120286769748326\"\n ],\n \"16412795904029852329022456316665607901914395891207249877931333847032840545648\": [\n \"3366458089144938095796986384295192717965839442227154573086785866315753862562\",\n \"10572832322336202953544207738841236397522612624898500874253244753949946386501\"\n ],\n \"10920264434289645070988682010550010062057846201982277385258770372844746466894\": [\n \"16412795904029852329022456316665607901914395891207249877931333847032840545648\",\n \"16845802739882419983893683593623185952517425111896072261998145701576431234106\"\n ],\n \"4280356705251571702022885112083414349137274542186004596700063808649316710537\": [\n \"10920264434289645070988682010550010062057846201982277385258770372844746466894\",\n \"16071908820368535203483145947788141721370363755320624702722006530084595432958\"\n ],\n \"2909003449644407283831987952629449283350488014691954672404428818421435631123\": [\n \"4280356705251571702022885112083414349137274542186004596700063808649316710537\",\n \"5458972034146421744733143921060087949869803244080418009515946372705111758236\"\n ],\n \"16634961068768054533650394500132731469575300457458807219478235241874989115974\": [\n \"375762599791100553419712698286719150276375726168485856845757625910097469490\",\n \"2909003449644407283831987952629449283350488014691954672404428818421435631123\"\n ],\n \"2893389184643850772588790831049618393164026829359866091010444018608227967935\": [\n \"4985350944458620592532116385749197483556234331771755368013477147095713527081\",\n \"1\",\n \"1\"\n ],\n \"18645428882284149830052613660815330892177697579959352114539996542991332723364\": [\n \"2340361772018976394889339041618490523056520538257092253952405836356246505077\",\n \"2893389184643850772588790831049618393164026829359866091010444018608227967935\"\n ],\n \"10042044043522142254398849527825076042863237188523644991660334977233359544698\": [\n \"20346270891981759731857998178349365574927894578330221331675607575384665310428\",\n \"18645428882284149830052613660815330892177697579959352114539996542991332723364\"\n ],\n \"8856050527112144427088423031267093731006064865968385311329577053183080889234\": [\n \"10042044043522142254398849527825076042863237188523644991660334977233359544698\",\n \"13182554459485375466595819579144506776642492356022818005568362439286266848482\"\n ],\n \"19507341616057665368709880969573373380768893057076070807330975292684564643532\": [\n \"8333368240988100244344445078505069044651588104643694258973213204077999360371\",\n \"8856050527112144427088423031267093731006064865968385311329577053183080889234\"\n ],\n \"9641840298374134111029557018079561454302813996326782605354992357355337111326\": [\n \"16639141081058274367017824058686075334384194443923325978285285165807506658073\",\n \"1\",\n \"1\"\n ],\n \"11537796300930228169945661704101990351486814349942765742245249243261837811342\": [\n \"4966348166516608147271986852171618713255004776015280735052271629747419389608\",\n \"9641840298374134111029557018079561454302813996326782605354992357355337111326\"\n ],\n \"2101756610404469737447338297789295989614741868148907393128104480720745954041\": [\n \"11537796300930228169945661704101990351486814349942765742245249243261837811342\",\n \"2833128630380121716736792702707796816339319102841857345345465864422627296737\"\n ],\n \"20080303162356367889543040033529736603856042001165685092720146877297051419918\": [\n \"2101756610404469737447338297789295989614741868148907393128104480720745954041\",\n \"14699647894830836286874877213189522301684344701933939555447596391172678928041\"\n ],\n \"546489144761488928758941768316327620481663583561175950644408888921677293438\": [\n \"13883529119542928266239034623636845844665832270034856521696264038013185329257\",\n \"20080303162356367889543040033529736603856042001165685092720146877297051419918\"\n ],\n \"4525259461751409211483782215619896721621951389814485470407043193641160497587\": [\n \"13050329111652903853958892306727888960558434903103891578968026316474265263544\",\n \"546489144761488928758941768316327620481663583561175950644408888921677293438\"\n ],\n \"15060385202351451286288775468905997346133363963466776660600284949998426458208\": [\n \"4748648558411130135655188061547593605241379712917882396060012262865346122642\",\n \"1\",\n \"1\"\n ],\n \"10744977945670931535965916288826266918218710793369331748342574230674114797133\": [\n \"588948279444621315218257548670383584415963360558921249395414575823373334191\",\n \"15060385202351451286288775468905997346133363963466776660600284949998426458208\"\n ],\n \"2508705328048654154024837327526008009561111299678404269298040785211426771256\": [\n \"10744977945670931535965916288826266918218710793369331748342574230674114797133\",\n \"3292083081420364769686930581069665387941561145218244232133203029569830733610\"\n ],\n \"17892267006365577670595484558604429010082886937578175225567473837272393536618\": [\n \"2508705328048654154024837327526008009561111299678404269298040785211426771256\",\n \"5182791229520084100907171741557770939490413540277851387726440868044790691077\"\n ],\n \"17973272970857727228498875050408479752466214916202448912163530601179227638213\": [\n \"19807280841953825688956127057574997550628415459932153696504115817307214180726\",\n \"17892267006365577670595484558604429010082886937578175225567473837272393536618\"\n ],\n \"17514724445573704415734399372490493000855792194324300197330903839129900912940\": [\n \"3069613068584113511800343805474888608733349248020044096025292370627792134616\",\n \"17973272970857727228498875050408479752466214916202448912163530601179227638213\"\n ],\n \"4398148657228244802686377060802755983113174820643220860216483430399561745758\": [\n \"17184094987949080727671504592284324426055644346953136382290885660880619921845\",\n \"1\",\n \"1\"\n ],\n \"2928458409902802945272221504585799213908474684200921645428202020482826034034\": [\n \"18918437123297967481987962189423113247750909809603839031875681372099307420524\",\n \"4398148657228244802686377060802755983113174820643220860216483430399561745758\"\n ],\n \"13844328523868027785757063368673061842614043586921159415720006021988390113526\": [\n \"2928458409902802945272221504585799213908474684200921645428202020482826034034\",\n \"20371841751310182695254402694854015812374033560056280808686497507314292954798\"\n ],\n \"16871419713673236991148257174842352171108043169032565559215041990536661507550\": [\n \"13844328523868027785757063368673061842614043586921159415720006021988390113526\",\n \"9556266879659142339349581735976925583011841223107797604543140277843106871924\"\n ],\n \"12365706147857358969034317931420458567395975091050330094227682066291542224525\": [\n \"16871419713673236991148257174842352171108043169032565559215041990536661507550\",\n \"4831244778625375051824344435547968848652926580209172703813283032028988524526\"\n ],\n \"16377875550124167148326780131172300539016499228168300660201952314102181177595\": [\n \"12365706147857358969034317931420458567395975091050330094227682066291542224525\",\n \"13364038023809902027557906095395027042170999659779872653137457531562048908554\"\n ],\n \"12101984738336158666751943194569390164285978905729082304499656525702715078887\": [\n \"2492906056040046685855340845219050207941674388210960927608792734398357582062\",\n \"1\",\n \"1\"\n ],\n \"6674815070321384883591555960740964150701716393785716048902161443568561821201\": [\n \"12101984738336158666751943194569390164285978905729082304499656525702715078887\",\n \"20709710217544704212168033777611842007963238124463109382841933474201544674201\"\n ],\n \"7562698814333545638395262750144280724065759640355304863491194105075180695519\": [\n \"6674815070321384883591555960740964150701716393785716048902161443568561821201\",\n \"0\"\n ],\n \"15432521421809541512185563748513808641939563306729161717036676989284912453629\": [\n \"0\",\n \"7562698814333545638395262750144280724065759640355304863491194105075180695519\"\n ],\n \"1889924342102442513925034866513420081426055585838291646781139333555295605343\": [\n \"20999301474084505321738686794720638525571470202409871004675320656624508034734\",\n \"15432521421809541512185563748513808641939563306729161717036676989284912453629\"\n ],\n \"12272740274486837608843868497235793139873324568689838391922217093801095880749\": [\n \"1889924342102442513925034866513420081426055585838291646781139333555295605343\",\n \"10159206884056024632876294523663686213967427399578017633164492453730732419539\"\n ],\n \"18171049232363920069741402358878132880045970644092310033870351603687784815463\": [\n \"12272740274486837608843868497235793139873324568689838391922217093801095880749\",\n \"10744227434677884230455749652212032371743186713202301782248703466191467869222\"\n ],\n \"12294103100479937802362678720808275863136528892666644433358114080773144681410\": [\n \"12972601217991361624508935115860957428246729295357595427605230840883391188376\",\n \"1\",\n \"1\"\n ],\n \"3506317273816328453077279129050358890847376277449229304076417112067770735294\": [\n \"12294103100479937802362678720808275863136528892666644433358114080773144681410\",\n \"14194551968600481273545125570215320384025522156762804837880768409354265241957\"\n ],\n \"3523094656504615689605761581188202857788737312917924819158935357465345436048\": [\n \"0\",\n \"3506317273816328453077279129050358890847376277449229304076417112067770735294\"\n ],\n \"11585932285169455630826819821979066101185903354072607578456143277868450164596\": [\n \"3523094656504615689605761581188202857788737312917924819158935357465345436048\",\n \"3675429731170587396568710147060049656122467742663431689895596533483489642392\"\n ],\n \"14799406949131437170568390378669774367257998319030190448070497805159928517005\": [\n \"11585932285169455630826819821979066101185903354072607578456143277868450164596\",\n \"4699434120757618813689528843683348991766469643364894551540476530426640313748\"\n ],\n \"16842065033873471558527704124973799908849572783096805503946448457898722400420\": [\n \"7116483987269534606638125876643827045299219087177974282503733686172504108617\",\n \"1\",\n \"1\"\n ],\n \"1049630090490004746134183239988827229247462575981650943864602978309050206915\": [\n \"16842065033873471558527704124973799908849572783096805503946448457898722400420\",\n \"9736707197217599432922412538678751215196852326642481300233033386150382759138\"\n ],\n \"11845828465636842121200024010978255973501301192714618734294532175086603036387\": [\n \"1049630090490004746134183239988827229247462575981650943864602978309050206915\",\n \"0\"\n ],\n \"20418902914959324911423072491940253481652257008642916113854852493277157253802\": [\n \"0\",\n \"11845828465636842121200024010978255973501301192714618734294532175086603036387\"\n ],\n \"6113791950044414712542801798242562949292300567092318076295748150640564845315\": [\n \"20418902914959324911423072491940253481652257008642916113854852493277157253802\",\n \"0\"\n ],\n \"6440748713822525134371964872626602150648828582885876020286092233591287493959\": [\n \"15197470886573111977770819522572601595292261948262103552225981666533127942836\",\n \"6113791950044414712542801798242562949292300567092318076295748150640564845315\"\n ],\n \"17985404721367593546432137943278813873896801466964783216680407245161449742788\": [\n \"4233555719061655271169034692267889979826174590915275332026696783342195377236\",\n \"6440748713822525134371964872626602150648828582885876020286092233591287493959\"\n ],\n \"2836183782508054173299803672397952813055956274033762136612366743900898832189\": [\n \"21692537929386770552581274324162498101211989391168939006076824632836634209007\",\n \"1\",\n \"1\"\n ],\n \"2450607177715176150721572514380993413702725116473987696433799580913550133005\": [\n \"2836183782508054173299803672397952813055956274033762136612366743900898832189\",\n \"17109359896842669436339258780213839156260477745546872357944849171156384912798\"\n ],\n \"1420228455185953232827234823274164235206852688695982568994907074776293670383\": [\n \"0\",\n \"2450607177715176150721572514380993413702725116473987696433799580913550133005\"\n ],\n \"20881070722712105212158153876991609914525754448392282314625708033239578395603\": [\n \"0\",\n \"1420228455185953232827234823274164235206852688695982568994907074776293670383\"\n ],\n \"17002817555592907873134050592413243127021612695766588121414862727619427984633\": [\n \"20881070722712105212158153876991609914525754448392282314625708033239578395603\",\n \"0\"\n ],\n \"1098923349711487709745369587873217511191769559666791853708592950093135705841\": [\n \"491833190930241822426129329226127982867444453649712097758073342132799993351\",\n \"17002817555592907873134050592413243127021612695766588121414862727619427984633\"\n ],\n \"12820542054524347314669689724500077343300034790246590438548327545297080018533\": [\n \"1098923349711487709745369587873217511191769559666791853708592950093135705841\",\n \"18482782072025671452759385367057026199522454104779332134409552590458457653907\"\n ],\n \"5856037489115072022414835305635634342369147175749063542766513900362027202352\": [\n \"8389793785233024006199242974901991616272771057209902480551210985965841235529\",\n \"12820542054524347314669689724500077343300034790246590438548327545297080018533\"\n ],\n \"7979925341069052461194802902266215988020601515294710312205960888552893749029\": [\n \"5856037489115072022414835305635634342369147175749063542766513900362027202352\",\n \"20435872966010473568775117259668905343545380969117549516828626535047655104385\"\n ],\n \"9705461196060747717654982587051310459660854264505428929876230520469983264892\": [\n \"13868639526926050694214894233709577647536028853949640186425629353374358250151\",\n \"7979925341069052461194802902266215988020601515294710312205960888552893749029\"\n ],\n \"18886987001428730038310845516738425379122396398201383593711983825476631222725\": [\n \"3739551335892931267131623685796838904323761314776364577581913440694155228732\",\n \"1\",\n \"1\"\n ],\n \"20132680691850280682774348114574313378066682769829619482151763038410087845658\": [\n \"18886987001428730038310845516738425379122396398201383593711983825476631222725\",\n \"14389425069069667338176057121060623718399546824715281625397227707589875680629\"\n ],\n \"3920071256224187943559943591415900143368623969091451831836026773660119244436\": [\n \"0\",\n \"20132680691850280682774348114574313378066682769829619482151763038410087845658\"\n ],\n \"13048955553093529930497793660274917224044962659079726796395246540381013755099\": [\n \"1808972362991697284116710763060115849159696529595552908691421108818252433126\",\n \"3920071256224187943559943591415900143368623969091451831836026773660119244436\"\n ],\n \"11369375895608471921887771916876175369088399465605691800033652453571615586223\": [\n \"13048955553093529930497793660274917224044962659079726796395246540381013755099\",\n \"12551073716927580019301992266948561320785644215350498131081394557241575036305\"\n ],\n \"18241718597186363908662599751058923808141345557896525885000512882791984356297\": [\n \"7967553143146894890252093240344153579856754551521412957535006422859782838153\",\n \"11369375895608471921887771916876175369088399465605691800033652453571615586223\"\n ],\n \"10121241199916967882724985754032241453071246038885163873661795963001244735958\": [\n \"8592707970085760239800595913118038333180087932666069006085461893710565483743\",\n \"18241718597186363908662599751058923808141345557896525885000512882791984356297\"\n ],\n \"17558845819343542905557301637622351221625075756285493713396335686176638431171\": [\n \"14477158568887786587168586214182309128690518684559180365233174144939097246399\",\n \"1\",\n \"1\"\n ],\n \"1669303366514392989739137615110349525064283516925243403953442601143604392228\": [\n \"17558845819343542905557301637622351221625075756285493713396335686176638431171\",\n \"2266799829850608063823771756226101616401963645233807528488858699727789094499\"\n ],\n \"1128545747018442291360752956417743999963136402087214106466878351558429130201\": [\n \"1669303366514392989739137615110349525064283516925243403953442601143604392228\",\n \"0\"\n ],\n \"19436543442326071809438213049285295463331297557344225788656522467864460165340\": [\n \"20761878511405786114647103832945843937623237725956718485637680127680143041583\",\n \"1128545747018442291360752956417743999963136402087214106466878351558429130201\"\n ],\n \"5411209212931249148699956581850980819299905637005715697463865184416813237018\": [\n \"19436543442326071809438213049285295463331297557344225788656522467864460165340\",\n \"19751465248786550728887963559823095286874490210483019740480508778139035297845\"\n ],\n \"2710447048230961936643667452979211071248717179719379371719577301354347224511\": [\n \"6756287425883201445381818786519777179254351561691343276335934512778068361789\",\n \"5411209212931249148699956581850980819299905637005715697463865184416813237018\"\n ],\n \"8268937080809470895079154979591652714937858445450620455814465634133204352127\": [\n \"2710447048230961936643667452979211071248717179719379371719577301354347224511\",\n \"18025548002124414688039646402758709298048706669137727145079694651012131566306\"\n ],\n \"14185171260264582830493717287863758656768189682692123826090995079638082000202\": [\n \"1346430439106428638113332790730963614537613207917159680672532134373192628755\",\n \"8268937080809470895079154979591652714937858445450620455814465634133204352127\"\n ],\n \"2831493467630047086947788587262471165867194034429061972382846362023196008438\": [\n \"17899128844595151358399922813534417413317438575393370346633929805758858442075\",\n \"1\",\n \"1\"\n ],\n \"52260583631408676914601828535149330992267537218197221468354610231218462448\": [\n \"2831493467630047086947788587262471165867194034429061972382846362023196008438\",\n \"9348437004074367661167070938942786043781624508711464832396841581113816757248\"\n ],\n \"7752770846379632210848632716763022111837610455954195008597432379186020042338\": [\n \"14111933449778102442465554215201588016916040795987580428660644653101610549434\",\n \"52260583631408676914601828535149330992267537218197221468354610231218462448\"\n ],\n \"1436455451659090125591773697568107783404701560945853968367092805431439034837\": [\n \"7752770846379632210848632716763022111837610455954195008597432379186020042338\",\n \"1038697917252801753510716333331534918018350673092307633381779009984028796289\"\n ],\n \"20129763405775009952660103914498108952237010030825773091689354629853607556046\": [\n \"8784862822510716063757510863887406346540008616125843658130310347816349327201\",\n \"1\",\n \"1\"\n ],\n \"15781480429181276826456630676961222118906317275492552743878412032069488960339\": [\n \"7285415771524624008681248987801694530572649890657767241083544792789129080405\",\n \"20129763405775009952660103914498108952237010030825773091689354629853607556046\"\n ],\n \"12422575238240429214287025252844550776104756114724546329450717792702709704358\": [\n \"0\",\n \"15781480429181276826456630676961222118906317275492552743878412032069488960339\"\n ],\n \"5496382105895833472492380739768494692700199141722878225950624047371998482561\": [\n \"10290025581472415045046290111414853687239372308130194473209487993346759157178\",\n \"12422575238240429214287025252844550776104756114724546329450717792702709704358\"\n ],\n \"967421969374920514270786827137383600392555429094133361485712874197882507223\": [\n \"5112209694279592286355747351795424210937565868657437666419006315601524645652\",\n \"5496382105895833472492380739768494692700199141722878225950624047371998482561\"\n ],\n \"19277967509456546232297547389942266222569306057680781265290736700078409001995\": [\n \"5857855892628820640922055253873461374522513607469652168323854587902610257295\",\n \"967421969374920514270786827137383600392555429094133361485712874197882507223\"\n ],\n \"17007459950230994670459970669826887090489873289272081498584573341434974631913\": [\n \"19277967509456546232297547389942266222569306057680781265290736700078409001995\",\n \"20066554520687475945288617662358180624353372138324322031981670555080989160218\"\n ],\n \"13639756384703306408684274523427470381172351543446282030724907683227384728387\": [\n \"16634961068768054533650394500132731469575300457458807219478235241874989115974\",\n \"17007459950230994670459970669826887090489873289272081498584573341434974631913\"\n ],\n \"17145581114609968448533784106408344593227282557977235707816735993678044669822\": [\n \"21552686605008692559839666178376999652363301116229956331936547284125949703105\",\n \"1\",\n \"1\"\n ],\n \"6604758621305292324054364561081664194304588625427856484032715746396283699237\": [\n \"19111888836174942256944647592999333806402035181200718532142089764066582256219\",\n \"17145581114609968448533784106408344593227282557977235707816735993678044669822\"\n ],\n \"7090890590923787848019343361192559406777839702535947126262699650382045764502\": [\n \"22265046483688868537619232438682900712142157753951375864316987175594675617\",\n \"6604758621305292324054364561081664194304588625427856484032715746396283699237\"\n ],\n \"13281351236860386627323147334557879749125513215888630829821903824900456886995\": [\n \"7090890590923787848019343361192559406777839702535947126262699650382045764502\",\n \"15141745004273801526012260118701007069047627001778510811279286534180417867447\"\n ],\n \"6931685079936305181153507138785077482142404543063231131134053317548734263731\": [\n \"13281351236860386627323147334557879749125513215888630829821903824900456886995\",\n \"1668082982741578508285203601870983634486708311054992302658911810974740413547\"\n ],\n \"6311038075658466431039247325949840579509741709403526889211255801083982634641\": [\n \"10377682990361002814324084658019866154662276907960605869767692557621607152804\",\n \"6931685079936305181153507138785077482142404543063231131134053317548734263731\"\n ],\n \"6136464436858240344629184175333855553865374531439264624708018044329690567905\": [\n \"8413022394293283149630022101812722381325030703715941593070137773570269070060\",\n \"6311038075658466431039247325949840579509741709403526889211255801083982634641\"\n ],\n \"18806836307668682772154158591915137394472009676274263230167848791766717684610\": [\n \"7282224633762174959347176603774864491372843094110408614300723306797487866434\",\n \"6136464436858240344629184175333855553865374531439264624708018044329690567905\"\n ],\n \"1876561369488646657935495933571778015317893389369538132289812691446804234582\": [\n \"7374864991898003808812691341938057057796495242233630226942269990292960221321\",\n \"1\",\n \"1\"\n ],\n \"19783162057155918755110184244574411258397278986213003257295718834317957113036\": [\n \"49675923646880400455440430520789148040274927456052394489458217408946279402\",\n \"1876561369488646657935495933571778015317893389369538132289812691446804234582\"\n ],\n \"16810161649911906023132512091529943422052910330307746665423055325222558534966\": [\n \"19658481920241676873623057035828928046787257181866516065021459278654297371458\",\n \"1\",\n \"1\"\n ],\n \"12692781163248472408705961196272174435496772025368767460767871096435766738302\": [\n \"8900526005855371259197700455908533404363199089328376761535604004787084563022\",\n \"16810161649911906023132512091529943422052910330307746665423055325222558534966\"\n ],\n \"15056939193301094721395718401096869416465739394462816422611218049622766714715\": [\n \"12692781163248472408705961196272174435496772025368767460767871096435766738302\",\n \"18986605660126552220166277737228316266820691530223365847026992039663447821023\"\n ],\n \"12884349043922268654995985942208083749200311997521254641455653599521537675090\": [\n \"15056939193301094721395718401096869416465739394462816422611218049622766714715\",\n \"5505153244973401316501435427060108350427096377214886616816923672114885783656\"\n ],\n \"5900787817773763396731995169963323758283903707605950020262110304467069512128\": [\n \"17404699678770697540593995788751244858591085339228785218079600441194469218701\",\n \"1\",\n \"1\"\n ],\n \"17763904151595168690298213729959282220914396167811829938615282297892448140281\": [\n \"5900787817773763396731995169963323758283903707605950020262110304467069512128\",\n \"9021056759552712466962262536020026559244094903595948973397558470348771831230\"\n ],\n \"5194328322873101633306214475087096942461350268323558223288372622867896606316\": [\n \"19250607508045439896650982307133902496163466038327362117701044902993344937948\",\n \"17763904151595168690298213729959282220914396167811829938615282297892448140281\"\n ],\n \"15785351152057201349380319747532207116931049835079445811401755022089072132278\": [\n \"9791960311812251430138885287219643321486552319012168897576215635426496073081\",\n \"5194328322873101633306214475087096942461350268323558223288372622867896606316\"\n ],\n \"8489034651630206679656927742992950030563826684871283554166050266965666653745\": [\n \"15785351152057201349380319747532207116931049835079445811401755022089072132278\",\n \"12402486627328238604665165870072514875565511262257544631642040514289313006845\"\n ],\n \"19499805118291580295048604007747849734548035547893301224483306710428147809160\": [\n \"8489034651630206679656927742992950030563826684871283554166050266965666653745\",\n \"18208691437893481595706036869543250703227645445167609343239520488978190870300\"\n ],\n \"17983965826434565426215584769890653880945637152938800221024091458833525735023\": [\n \"15516854928372591553207571980964014312925458819016440928347545758296012906372\",\n \"19499805118291580295048604007747849734548035547893301224483306710428147809160\"\n ],\n \"2847875405973875533214969772825859638010487282605795928119529447135489077583\": [\n \"1111373929716725981479775792936880172296477033081972028234233289795636185629\",\n \"17983965826434565426215584769890653880945637152938800221024091458833525735023\"\n ],\n \"7814894913571019838287563875688886000008150469590676171578381199704164876444\": [\n \"2847875405973875533214969772825859638010487282605795928119529447135489077583\",\n \"6370940092053700660803013103257739712792576810293256735042990630737662638605\"\n ],\n \"8734644341607542638552282317966829172471974154918985775799417712025670981610\": [\n \"7814894913571019838287563875688886000008150469590676171578381199704164876444\",\n \"19668259574639713235680772712287720268646536197960552183744026836550273395808\"\n ],\n \"6297162470225293041577083239213145447197069797544788628464417148286969772452\": [\n \"9334822350712369008408590623560080182224617099409665676007155253610703163832\",\n \"1\",\n \"1\"\n ],\n \"16970203874316647752586862832864535489452677640871146402844308826320592790299\": [\n \"13963627818059634674785163388619410512835571388587133261235708389604394191140\",\n \"6297162470225293041577083239213145447197069797544788628464417148286969772452\"\n ],\n \"13973185002711234084262460306123805315548098731404993954003256092507242965393\": [\n \"16970203874316647752586862832864535489452677640871146402844308826320592790299\",\n \"0\"\n ],\n \"9693081401264177976256218696131922440453743036048085358713604298765625130812\": [\n \"13973185002711234084262460306123805315548098731404993954003256092507242965393\",\n \"3383900173618643385098776435841180300926776745958654801706175815023563677246\"\n ],\n \"12405660960433117265588527699460927487069070036783243346673487896474260513798\": [\n \"9693081401264177976256218696131922440453743036048085358713604298765625130812\",\n \"4079966258242408223810945397539256903960155815256445430839287747486480001421\"\n ],\n \"11386753775223677000808281915549675693071474363933986914540603908566023062943\": [\n \"7079875453379429669317608419075581971699163796582305249336008082719439265301\",\n \"12405660960433117265588527699460927487069070036783243346673487896474260513798\"\n ],\n \"19438735996913701952537559387171478972906007234796469346564337171815241942284\": [\n \"18756110356632450232599503699224207646255310934336276304136136178295889351348\",\n \"1\",\n \"1\"\n ],\n \"20262997334954216869575183653653614315707442132845237826599757667490555141509\": [\n \"19438735996913701952537559387171478972906007234796469346564337171815241942284\",\n \"5415453195109064641467397844833904920378576337550386341036041810542244804243\"\n ],\n \"20143480299155323287054188424088187812054245761448856462715262746735780061244\": [\n \"0\",\n \"20262997334954216869575183653653614315707442132845237826599757667490555141509\"\n ],\n \"10724618385798000522742466345840354532779933865634701128300576160774819769506\": [\n \"20143480299155323287054188424088187812054245761448856462715262746735780061244\",\n \"0\"\n ],\n \"14927144507545382263280621400109907751623635699680230335079874921324502773940\": [\n \"10724618385798000522742466345840354532779933865634701128300576160774819769506\",\n \"14500519557593921220326727308443420671606217902915569250043976237112986551057\"\n ],\n \"6137633159239852156393186392240340445795808166366039695750339131392028451181\": [\n \"13636905206606645578836473481173798539529624131643176475247649369509903925509\",\n \"1\",\n \"1\"\n ],\n \"11936551899969087069857049217674774151852170911887830030523682210363479188013\": [\n \"6137633159239852156393186392240340445795808166366039695750339131392028451181\",\n \"17830728302400715216594606395903256041676154531649843507450372861584403402318\"\n ],\n \"201389126061562747072164948476490965864934696799502517529439693395878407423\": [\n \"11936551899969087069857049217674774151852170911887830030523682210363479188013\",\n \"13663750262885596832037371351608545733756367841461979035990146942348614223010\"\n ],\n \"3296038691791142108221981203944740270404380060463032966613788299359564062030\": [\n \"201389126061562747072164948476490965864934696799502517529439693395878407423\",\n \"6036250746054788169055793059855424737122640910428833813850606355236354282292\"\n ],\n \"8901261198996329879618249237128732618668639663131758192785453438079233808305\": [\n \"3296038691791142108221981203944740270404380060463032966613788299359564062030\",\n \"5719419786281254911925720189084761389056898189612243361252367810756373274887\"\n ],\n \"12947656076356620390685242296801057354111276804676493416133250593178781155978\": [\n \"21810744433164809241730628034810768861729181442941944132636965339235807478019\",\n \"8901261198996329879618249237128732618668639663131758192785453438079233808305\"\n ],\n \"16880924286180898173233580633652826461352930108626921827780294653294519650085\": [\n \"12947656076356620390685242296801057354111276804676493416133250593178781155978\",\n \"3403034604209772792232985808175890070067046274162774326079905198187136967799\"\n ],\n \"14712399178116735674021514987362319440088928955532574561485941344812007567829\": [\n \"16880924286180898173233580633652826461352930108626921827780294653294519650085\",\n \"3417185572648186547079521006942839849358335030920003960052357695149356969300\"\n ],\n \"14797364905663628974413729567122074989304115391005539702074612415539757608160\": [\n \"16323600756484286442482205582319349016652065663187938455449126354382358832079\",\n \"1\",\n \"1\"\n ],\n \"3444538902434746513737692596271903798965752806591910074436409282402445616330\": [\n \"16543674237131898533264009558055739717739549024548721074668233591019530710336\",\n \"14797364905663628974413729567122074989304115391005539702074612415539757608160\"\n ],\n \"18227730205669245559758138420241465177553801907106803390496997726763284950067\": [\n \"0\",\n \"3444538902434746513737692596271903798965752806591910074436409282402445616330\"\n ],\n \"829585203934444035284126976620706036095757846514298652658686977502339632446\": [\n \"17199441955767863312233064890694197688913057651670853625257314015728405961857\",\n \"18227730205669245559758138420241465177553801907106803390496997726763284950067\"\n ],\n \"12546603884090634158000835755553883818754849548767730892280545812833876059972\": [\n \"0\",\n \"829585203934444035284126976620706036095757846514298652658686977502339632446\"\n ],\n \"7430562862433606299748104897255461986893932832331248939987460446117409626899\": [\n \"12546603884090634158000835755553883818754849548767730892280545812833876059972\",\n \"16173108580662677446138491803145607028570784063710822598060087221978184074783\"\n ],\n \"3139252997502581418614499221865653705859859486403104020561405217712774083819\": [\n \"7430562862433606299748104897255461986893932832331248939987460446117409626899\",\n \"14595893515055206344361246039990012700822493503115580444300208680283237040434\"\n ],\n \"14461515651288846167135479639252459726298635204584006015937707626128022933419\": [\n \"3139252997502581418614499221865653705859859486403104020561405217712774083819\",\n \"16458593087758883838692487941041949413486641491210838641571120222498400050632\"\n ],\n \"20258115020991616401806232368777355905680385871701272280458294749151621170745\": [\n \"19767852392420546086909523323391402309344530501381126906555983727454382020933\",\n \"14461515651288846167135479639252459726298635204584006015937707626128022933419\"\n ],\n \"13546547079602782805747185153429921708004180357061431285501757950691002752217\": [\n \"6967557439735951430367481025232728556994916952899820676735184371193544625663\",\n \"20258115020991616401806232368777355905680385871701272280458294749151621170745\"\n ],\n \"15903280251974582581290198416678827651358135600281821655082399817054763183283\": [\n \"3652882127181950567449485712904891137741638745766481839011025913718300897965\",\n \"13546547079602782805747185153429921708004180357061431285501757950691002752217\"\n ],\n \"10509314455648308304138867055295364479202163442031897339392311822274861147148\": [\n \"10924268219497901225811497432155035290581624965600964932717443917046751356057\",\n \"1\",\n \"1\"\n ],\n \"2890286691949921137672427286392528622505891538471459219648775327196699220186\": [\n \"10509314455648308304138867055295364479202163442031897339392311822274861147148\",\n \"6020415658057423246316661827554693941354319997408214601169278193926451588873\"\n ],\n \"8802751421954575727581166802497388045705035434516177752288336996661039624000\": [\n \"9359847463338293871121269839961071297631501410647384636985757571657514364112\",\n \"2890286691949921137672427286392528622505891538471459219648775327196699220186\"\n ],\n \"17108762321045762597700911771565771070743092811712545252830282272940279590742\": [\n \"8802751421954575727581166802497388045705035434516177752288336996661039624000\",\n \"2281084285051025484837494315180873418733303085044176872639468389728397283306\"\n ],\n \"20778120895963832408257147983336601246223671428251282940440775693607935290251\": [\n \"7331761642561216998906318367033749691997848569833026323965271375030886497679\",\n \"1\",\n \"1\"\n ],\n \"20840830431114504839864467052058383434449483703340363921907536795334958865078\": [\n \"15255252112680151334856929889063349077917772862123667945906216152700604176362\",\n \"20778120895963832408257147983336601246223671428251282940440775693607935290251\"\n ],\n \"10389992711987879442647797717863181757918069188550321603952560652115311194088\": [\n \"16559296621357650340434866853680862420365375063495728965176489432249022250256\",\n \"1\",\n \"1\"\n ],\n \"404035303638291239348780354041153106139443773600998459039796104555967045251\": [\n \"21583407658256739449956068933830304692898117858378230994849691334646753118704\",\n \"10389992711987879442647797717863181757918069188550321603952560652115311194088\"\n ],\n \"9551141108553765734638412505778256291266877022237173159173663560990330535044\": [\n \"0\",\n \"404035303638291239348780354041153106139443773600998459039796104555967045251\"\n ],\n \"14463321788118439741696291206736362378747172214338721261425199992449612168984\": [\n \"17574774598372901028609676175835312367828579279757673583624059172494466639758\",\n \"9551141108553765734638412505778256291266877022237173159173663560990330535044\"\n ],\n \"18636777544987983861566788677457396480785191434907774164835967089090644075857\": [\n \"11421096624329906806727275822122125947967349515802219272121173185608302659316\",\n \"14463321788118439741696291206736362378747172214338721261425199992449612168984\"\n ],\n \"3890030618685199409523380629411060175305645558476242804964303702863022822261\": [\n \"9287780245242627026858989060582638297890822572525693800960195571874571973655\",\n \"18636777544987983861566788677457396480785191434907774164835967089090644075857\"\n ],\n \"13058376696720976615088187343838414805933625441571434121631167241488579757901\": [\n \"3890030618685199409523380629411060175305645558476242804964303702863022822261\",\n \"2472659645632338412303992218925473465631789937896009560045559992369401192809\"\n ],\n \"20265745806037908119482143958804221475418422684141277191918954660480989593026\": [\n \"20521139415837838029255323774906564909569948789577049181787351660367871016988\",\n \"13058376696720976615088187343838414805933625441571434121631167241488579757901\"\n ],\n \"10096744620348752584727310987723349096387389548933628137929201387763153994414\": [\n \"21334504026396843956986400738817825674089907973656969778229586304450589611669\",\n \"1\",\n \"1\"\n ],\n \"560721372755403143104967459763871450718194980455880776540697526505047907693\": [\n \"10096744620348752584727310987723349096387389548933628137929201387763153994414\",\n \"14675795910026730330031672954601803520749353339875814069114970575919088877177\"\n ],\n \"8763052306818150496582280492576441974394124865541101245307671129799317959941\": [\n \"0\",\n \"560721372755403143104967459763871450718194980455880776540697526505047907693\"\n ],\n \"11173282130318349068353560856119682051406176276407438807718527416216336152658\": [\n \"0\",\n \"8763052306818150496582280492576441974394124865541101245307671129799317959941\"\n ],\n \"5602680322666911723590266288465101101754195751991739039764351593719251988130\": [\n \"0\",\n \"11173282130318349068353560856119682051406176276407438807718527416216336152658\"\n ],\n \"21656911398877619575131613696606881932276153845104274578266614170453674591761\": [\n \"0\",\n \"5602680322666911723590266288465101101754195751991739039764351593719251988130\"\n ],\n \"17954919686647684195980550384514271691856741460122499746947186730230126062727\": [\n \"21656911398877619575131613696606881932276153845104274578266614170453674591761\",\n \"0\"\n ],\n \"11281885302663240808569511789605014112847866254949708236807414252600314290965\": [\n \"0\",\n \"17954919686647684195980550384514271691856741460122499746947186730230126062727\"\n ],\n \"18007374945414372716063433824595682060828682111887146292404237839869601363361\": [\n \"11281885302663240808569511789605014112847866254949708236807414252600314290965\",\n \"4234880852308600477275044428905315470425146865287353820550434421022688595990\"\n ],\n \"19789327469328445860540598571695086065493126257152564579787423078170329594332\": [\n \"2466629729824944850976802254803180415705049575992506696440153090242372775260\",\n \"18007374945414372716063433824595682060828682111887146292404237839869601363361\"\n ],\n \"3620260626408773099793915441575591021624669153003354032440736797857512058493\": [\n \"1482454385793425418194184491898829591249048698118367201769399877869585336837\",\n \"19789327469328445860540598571695086065493126257152564579787423078170329594332\"\n ],\n \"4160173942777516463777995284250126511218011019196047769308066628231354281888\": [\n \"3620260626408773099793915441575591021624669153003354032440736797857512058493\",\n \"5936202952867677509384584415605596474247221459260504822596437199867988006376\"\n ],\n \"17138256100913756586964288634586308342758203576133672462465017091285194758747\": [\n \"7158090209338352949554691790254810262047063623210824220962728273645095613989\",\n \"1\",\n \"1\"\n ],\n \"14772494009106837091316675170652151676431945960672226172665493345025697673949\": [\n \"11174134835766091853952510806904343847425373293421629896650950597082835406397\",\n \"17138256100913756586964288634586308342758203576133672462465017091285194758747\"\n ],\n \"5519700790299504345879927740157564287033649381727923311525877082016810305969\": [\n \"0\",\n \"14772494009106837091316675170652151676431945960672226172665493345025697673949\"\n ],\n \"2908099766480587871030349227357474253935802007036103868159439242675115894742\": [\n \"185265191332713516365541357609686640173513954761988485817016858949000982229\",\n \"5519700790299504345879927740157564287033649381727923311525877082016810305969\"\n ],\n \"2157313552364718048660072753587726959042852995484156585532800338582342035171\": [\n \"2908099766480587871030349227357474253935802007036103868159439242675115894742\",\n \"0\"\n ],\n \"18361166275510358426656232972588295027203067655314247166839811357558431605461\": [\n \"0\",\n \"2157313552364718048660072753587726959042852995484156585532800338582342035171\"\n ],\n \"12864195145030900607082175723698733676791796199030100205486451262184945498956\": [\n \"6048081248201958702408377579704096117550725782093534579746636221547079710190\",\n \"18361166275510358426656232972588295027203067655314247166839811357558431605461\"\n ],\n \"679885016099602698298944116222303943944724261516350770667013784379904008234\": [\n \"5240000687326613111436267616270431310618339694205651631328679200336513203938\",\n \"1\",\n \"1\"\n ],\n \"19420263039632679155913228612022838096205392723178940929399514459731801322625\": [\n \"21829995185949276710719921288843210623646649789382708875212574335481328104129\",\n \"679885016099602698298944116222303943944724261516350770667013784379904008234\"\n ],\n \"2183034112171318813485605344656802785786242906564976366643422653021158745272\": [\n \"0\",\n \"19420263039632679155913228612022838096205392723178940929399514459731801322625\"\n ],\n \"18350586978821602799331628313267063330637736345611084147231130986944340962094\": [\n \"9634386010197481292278240937855107873093123547892819050184049745026023502747\",\n \"2183034112171318813485605344656802785786242906564976366643422653021158745272\"\n ],\n \"11642239075102008077738452568033529610449195847064190334120758207433962901077\": [\n \"20230797943491317132208427528304222539693578613869258391387985638751264824653\",\n \"18350586978821602799331628313267063330637736345611084147231130986944340962094\"\n ],\n \"4239500997392224655372352412260953202509100315545463290215327005640307318533\": [\n \"19305611088174382097303077869987311132290124222898665201284634005169281437195\",\n \"11642239075102008077738452568033529610449195847064190334120758207433962901077\"\n ],\n \"21326618895160649198670715313769869140140744840003353732999633828831593892063\": [\n \"4239500997392224655372352412260953202509100315545463290215327005640307318533\",\n \"18062208577235724827102049538524766135193065982815206300700719985015177549306\"\n ],\n \"8072544205781468838043176968407991098341313545834701239860115403355710032729\": [\n \"10271460543956547623449968305406519330557375377557704898180264779815594773786\",\n \"21326618895160649198670715313769869140140744840003353732999633828831593892063\"\n ],\n \"19883011123149819872376829241208500890768225771789262856726985738362635630556\": [\n \"5181655421881865363847155051049740971117115978637032854449679029933773549472\",\n \"8072544205781468838043176968407991098341313545834701239860115403355710032729\"\n ],\n \"18617290745521464824117929252887502002845358505668292989571503156743030767986\": [\n \"10758578637109627632515328323026962648623494181513999061431061865696982955832\",\n \"1\",\n \"1\"\n ],\n \"770972796501793966520995126833257082519326084280235780669437398877983762304\": [\n \"18617290745521464824117929252887502002845358505668292989571503156743030767986\",\n \"3955428260845951477625630740245312677593471087179221461091211939042753777274\"\n ],\n \"5790604841559564539782000637626866369032833643192849041531049925656626333388\": [\n \"17803917236068252603717245759920556770454258891319019649826778085306108617990\",\n \"770972796501793966520995126833257082519326084280235780669437398877983762304\"\n ],\n \"6706521632371565697221279994648821107572970033907745116229089153102797595161\": [\n \"12995241592462298734296067694197349208326985283116692066848552649028570258056\",\n \"5790604841559564539782000637626866369032833643192849041531049925656626333388\"\n ],\n \"13078282066675193955859076571965406143266642417330651000504424816980045749185\": [\n \"3587779426903602565637125328806953191766618836826704376202009584425147583804\",\n \"1\",\n \"1\"\n ],\n \"16879829165367792141535559026556636701010473270107742613818657887544485803053\": [\n \"13078282066675193955859076571965406143266642417330651000504424816980045749185\",\n \"19716829436747449178261288947131214515842639135965482132480806678868118867567\"\n ],\n \"126094923913754436688488979827938600882771024635407513278738895244811997406\": [\n \"16879829165367792141535559026556636701010473270107742613818657887544485803053\",\n \"0\"\n ],\n \"15572704557531559343560446957576843924068911850847198858585483836219600751372\": [\n \"126094923913754436688488979827938600882771024635407513278738895244811997406\",\n \"1087365519361445335666298599264006543673766446737485363842806704445275180169\"\n ],\n \"8314612851463520203972964242228545342651417193436314141165040030680505881343\": [\n \"0\",\n \"15572704557531559343560446957576843924068911850847198858585483836219600751372\"\n ],\n \"19496788106465042623944727635902233261924343998255178576538372267102630589119\": [\n \"8314612851463520203972964242228545342651417193436314141165040030680505881343\",\n \"0\"\n ],\n \"15098036281943988309284227252760247941799048777611645259127335849622128479734\": [\n \"19496788106465042623944727635902233261924343998255178576538372267102630589119\",\n \"0\"\n ],\n \"19984350423279255781702903127949048681023428306333671421441531816368559616008\": [\n \"4397678763017473607956338077448158619169149496676763615340482244897324873825\",\n \"15098036281943988309284227252760247941799048777611645259127335849622128479734\"\n ],\n \"9343908030484391988179189973629773555857094830383935420249472260008069228116\": [\n \"4588693114038644132114609140339011157807552724035493717509501013524352882694\",\n \"19984350423279255781702903127949048681023428306333671421441531816368559616008\"\n ],\n \"3068249554832597738213718591331024908709665829875433846282734138457309329012\": [\n \"9343908030484391988179189973629773555857094830383935420249472260008069228116\",\n \"2494789530214843357876056081588966984525139468186562230936164016795967404310\"\n ],\n \"20439806956086418570588047119568441405122236548888439569964961639555652093902\": [\n \"10121241199916967882724985754032241453071246038885163873661795963001244735958\",\n \"3068249554832597738213718591331024908709665829875433846282734138457309329012\"\n ],\n \"4703447512633341417896681649552865883776473963970449702175237741932250170895\": [\n \"20439806956086418570588047119568441405122236548888439569964961639555652093902\",\n \"4796848429531488105669289686162943700337047364460028912407079586156452287736\"\n ],\n \"18331794074958776206455286799384599883318103555231097417131678143441374527016\": [\n \"4703447512633341417896681649552865883776473963970449702175237741932250170895\",\n \"4559626127896770996718527323892723104198599826845838275873767872324912554467\"\n ],\n \"14089448521641547487111002001708255241502499112693865855412462533856630557945\": [\n \"5457874479738238407552232758766156843321226583138083414263532929455238157033\",\n \"1\",\n \"1\"\n ],\n \"5486637173150133037601893391095205722279221272456582770712106734529285414596\": [\n \"20384794483327969117887650983505382234649770098924545027173320301892247564720\",\n \"14089448521641547487111002001708255241502499112693865855412462533856630557945\"\n ],\n \"15217870278154319152461888491441138765071065950580009729913255748163830938526\": [\n \"5486637173150133037601893391095205722279221272456582770712106734529285414596\",\n \"20913552435246092139037160148138072879783432331055546473680263541707275723117\"\n ],\n \"19414242274800569931000626345173191939395611920828287062276830204107037991356\": [\n \"15217870278154319152461888491441138765071065950580009729913255748163830938526\",\n \"21877745139488284044947677595277888377089739679552102728633210271204138078662\"\n ],\n \"4033160064307845943050124582646596426479830443492424765325498995061284691551\": [\n \"20088094985221023205284225276794353921532832861812194580376175673139434663763\",\n \"19414242274800569931000626345173191939395611920828287062276830204107037991356\"\n ],\n \"2628524918050817332334076766480613354586997439911650840129336567745256438057\": [\n \"4033160064307845943050124582646596426479830443492424765325498995061284691551\",\n \"9791761062250580261550240660909219868253738637381614611500322616161263306872\"\n ],\n \"17155105523605879168172115914031837740504216807395618265144097593403033955604\": [\n \"13278249655625757700133509514223213932583674354970156196923131559178501006174\",\n \"1\",\n \"1\"\n ],\n \"3365759727538972409827450747328924419568889014975183242286508421072674118333\": [\n \"17155105523605879168172115914031837740504216807395618265144097593403033955604\",\n \"5291539283821973956951805298215288719117033824473723141938574683568919452082\"\n ],\n \"20044794450343763742810555856786598710631900645051684974441846291964209490543\": [\n \"3365759727538972409827450747328924419568889014975183242286508421072674118333\",\n \"2825007720695322628349697951576460423644347746383745709660106072513463477850\"\n ],\n \"10540399095351516525063918298716698610111163662044376050310688682800856461554\": [\n \"2345849332759118625325347583996044421129958094160959044897413754963022888754\",\n \"20044794450343763742810555856786598710631900645051684974441846291964209490543\"\n ],\n \"13652732798260165286191411293539630873009776744066833359769505637233849319930\": [\n \"6611843116724897362450604268921218008990727964488597528035861686395698790543\",\n \"1\",\n \"1\"\n ],\n \"19214278145533553901050187899713241897654006763621713521837938127141478280647\": [\n \"5247989968384962447975758365188153016282864834880697245270566487862418375670\",\n \"13652732798260165286191411293539630873009776744066833359769505637233849319930\"\n ],\n \"9966680520208103250584935322650716348914466382739442919502867420651506003960\": [\n \"19214278145533553901050187899713241897654006763621713521837938127141478280647\",\n \"0\"\n ],\n \"19547149811132012378603330518223552549650116361281442857409270182751420712018\": [\n \"9966680520208103250584935322650716348914466382739442919502867420651506003960\",\n \"1611506391815300842278342554644230200958182737855216528857643639083283332448\"\n ],\n \"17111716783568170937371320806221917121942169072146249488173289557652291521426\": [\n \"19547149811132012378603330518223552549650116361281442857409270182751420712018\",\n \"738150543585481916817960560887491554167374927220768571131422391329307946723\"\n ],\n \"19586845073095398423489598507235959741786144665281978794510421347883824447423\": [\n \"8329154823217650712774467545001083281388346975442605668863961697333092309833\",\n \"1\",\n \"1\"\n ],\n \"16589268596723529245463828490177610529634361495836912776811840658494190979959\": [\n \"19586845073095398423489598507235959741786144665281978794510421347883824447423\",\n \"13492384275757185239548794679838919902472294624568853998878337518346945196713\"\n ],\n \"2783244417744730552777168714530403849588234802126805348311439966158268039571\": [\n \"14509488102550905871572799421190503585876467453980099522719909708478645502315\",\n \"16589268596723529245463828490177610529634361495836912776811840658494190979959\"\n ],\n \"19189185089759737428839522759198998389372907998444384779762109903393811222060\": [\n \"12699797534087626142708993759858431301621265804364902887916374655558572944806\",\n \"2783244417744730552777168714530403849588234802126805348311439966158268039571\"\n ],\n \"7498283817483574406374007200895141379216334167906654375673280874779670684284\": [\n \"19189185089759737428839522759198998389372907998444384779762109903393811222060\",\n \"4278027331864575500155610100180742194542637122948187935818435714812072830612\"\n ],\n \"20381973961943316870734841883699566001807668864259798108310069696470991557130\": [\n \"8786867221524527912675478482774830803327513256487098197723099243643896613022\",\n \"7498283817483574406374007200895141379216334167906654375673280874779670684284\"\n ],\n \"1749581291667095954450896943670695596607039787252864260418359799680526837759\": [\n \"17494426261195341304111574503550231315228659792749695012056848634963348971316\",\n \"1\",\n \"1\"\n ],\n \"17761463996565936460507745653237862920394746928219376772632952394172808185012\": [\n \"16120843133157197067784202189401513350769284184890244834293679939236842650268\",\n \"1749581291667095954450896943670695596607039787252864260418359799680526837759\"\n ],\n \"21086018698010147225420197820945817150375343233068754426463544752515314607493\": [\n \"10535506065098065852766681676687790425444072211717194167208655985899808138613\",\n \"17761463996565936460507745653237862920394746928219376772632952394172808185012\"\n ],\n \"1293831642396966378808104130701898393544905395022734937535735500020141989103\": [\n \"5497936675265048647357707469389592188078214893653046853871814100230375919661\",\n \"21086018698010147225420197820945817150375343233068754426463544752515314607493\"\n ],\n \"7478804977763272454433751054846247332846216922941957309499989260331171215701\": [\n \"18021585733654636896424208995805433456495180553275890639052931502798933893798\",\n \"1293831642396966378808104130701898393544905395022734937535735500020141989103\"\n ],\n \"1815136048765243154273420706312192609273924758128998660734039235974697353125\": [\n \"10161969622015013933187328056959204308790104494534727712749461592212016113779\",\n \"7478804977763272454433751054846247332846216922941957309499989260331171215701\"\n ],\n \"19669766167610041375557792902805061629626193699844012192684475424276217051046\": [\n \"14962096416702176353875436535809858357550182592966462991168996606066251835350\",\n \"1\",\n \"1\"\n ],\n \"9226724189246523413759007885913041659386878018156271225241231225289738358132\": [\n \"19669766167610041375557792902805061629626193699844012192684475424276217051046\",\n \"56761802185718003457581878627212837329359374564305195092111395058032707761\"\n ],\n \"8903665567480494607242400854659319784727479664912967002997120678133721320537\": [\n \"17814018297964796016805285927665250211648792527115984391940320864089086070065\",\n \"9226724189246523413759007885913041659386878018156271225241231225289738358132\"\n ],\n \"997375781785688866167587193000822362379739292289677523694381006007211044272\": [\n \"21070459221094377380357080576210330493127245349341699535225913487874521647833\",\n \"8903665567480494607242400854659319784727479664912967002997120678133721320537\"\n ],\n \"8463938065438165763763891411772283787311451464403671024252734942670079000612\": [\n \"9063626715751351091857137789082589937486697658409001149117091418203341400339\",\n \"997375781785688866167587193000822362379739292289677523694381006007211044272\"\n ],\n \"12156706994522494069554053476472230624674509748964157553025484278697961446708\": [\n \"4632995917610606291931254976043504783032724995068598952541705963285659304367\",\n \"1\",\n \"1\"\n ],\n \"6877316264702670387586546922685482932112879880764273306327149302075255900064\": [\n \"12156706994522494069554053476472230624674509748964157553025484278697961446708\",\n \"5910651867106912476288897305964154624540083603783198969818400691684591611695\"\n ],\n \"10626152367191803959322514801991067755518539449726996658338146131741695509035\": [\n \"7232706343427868628625308362084681534554969039818938171387965304906137542441\",\n \"1\",\n \"1\"\n ],\n \"10090913664050709376456000760372208475633936613405736323885251553405530147744\": [\n \"10626152367191803959322514801991067755518539449726996658338146131741695509035\",\n \"7565443092013462278737155821042148161975476403477789443995027386975818576522\"\n ],\n \"15592140769701573807553040508064821405477691044370955292548197616643718145560\": [\n \"18267707382960985931984261906865470493200367412049464741417513924536655646780\",\n \"10090913664050709376456000760372208475633936613405736323885251553405530147744\"\n ],\n \"5204330781409890273136031920115055659611878515612796840318178321208419130180\": [\n \"0\",\n \"15592140769701573807553040508064821405477691044370955292548197616643718145560\"\n ],\n \"16692730934735832012304135519574138696128244988836968027514924681631150128410\": [\n \"1400173454038630769714414748537864293856379659217673972631903837797051217317\",\n \"5204330781409890273136031920115055659611878515612796840318178321208419130180\"\n ],\n \"3032767370996231310000838091520531595899782009370332569512139701642117877162\": [\n \"19507341616057665368709880969573373380768893057076070807330975292684564643532\",\n \"16692730934735832012304135519574138696128244988836968027514924681631150128410\"\n ],\n \"13546640136929452993202470542460785620701205370004029015240577681535190899567\": [\n \"14275562476048102873337765312036684496399533510808701697958479850505166409484\",\n \"3032767370996231310000838091520531595899782009370332569512139701642117877162\"\n ],\n \"1903112373559293285343701710791112506626851759759800895826069371096955728881\": [\n \"3241536022915227518015151710754318972527941651267730382128179954325056345893\",\n \"1\",\n \"1\"\n ],\n \"11664769395524161602089851968505463048996528053971870149194518120371566618586\": [\n \"4037985068634971201414580763381990113821419962134177831298874044978289720131\",\n \"1903112373559293285343701710791112506626851759759800895826069371096955728881\"\n ],\n \"2964976705095443150788952107916836917638217282862128795591498013565893948811\": [\n \"11664769395524161602089851968505463048996528053971870149194518120371566618586\",\n \"3397035580642080620190220090520202851801003208765153959665250266037582907513\"\n ],\n \"1670261409053116075351865001024187296912349617264106715985231420035346143920\": [\n \"1592291278535662302601436878757188483128224426382006370495978353888041798451\",\n \"2964976705095443150788952107916836917638217282862128795591498013565893948811\"\n ],\n \"4510875344970424596897544481627612873885549660106844057287565658564994892242\": [\n \"9829479530942987167279351833776113515969010889342155068339053047097216170320\",\n \"1670261409053116075351865001024187296912349617264106715985231420035346143920\"\n ],\n \"2311920132246958909984602189924300248684457503906471583873862325121764698395\": [\n \"12864195145030900607082175723698733676791796199030100205486451262184945498956\",\n \"4510875344970424596897544481627612873885549660106844057287565658564994892242\"\n ],\n \"8454006058345473657364700463943989954421716114610631888481741171039175175309\": [\n \"2311920132246958909984602189924300248684457503906471583873862325121764698395\",\n \"4441351817058152379116627158544235732710152011890547596507444756074761067848\"\n ],\n \"17121163130615912851167962068529625856804302772517789656063676941675154174283\": [\n \"3247205640551267288420897871559314217354484834911319503422838806929943353611\",\n \"1\",\n \"1\"\n ],\n \"2165716446947240331468990459670243744208925577337742528736289352440656391743\": [\n \"18123472505649366498979967606366174161946575903065320847915708895736028393240\",\n \"17121163130615912851167962068529625856804302772517789656063676941675154174283\"\n ],\n \"519111205707819798647450544529468303933231615690677006304175797658226359303\": [\n \"0\",\n \"2165716446947240331468990459670243744208925577337742528736289352440656391743\"\n ],\n \"12752897084033906896349972181335783640331491648307699560621261985866881354196\": [\n \"519111205707819798647450544529468303933231615690677006304175797658226359303\",\n \"0\"\n ],\n \"4968651851558653591520194775956646178302883171514734375845812595992127537424\": [\n \"0\",\n \"12752897084033906896349972181335783640331491648307699560621261985866881354196\"\n ],\n \"14923252771625725856232645925363229968817011692111393409908162195004414027904\": [\n \"0\",\n \"4968651851558653591520194775956646178302883171514734375845812595992127537424\"\n ],\n \"1940529086766133339984810444749945426658875981490670386480604690884914564784\": [\n \"14923252771625725856232645925363229968817011692111393409908162195004414027904\",\n \"4517270046737099379159722595281201033383035263393340502912692969278416104043\"\n ],\n \"16867927816126820939158269554480783522333132591470587120853062806158200301838\": [\n \"1940529086766133339984810444749945426658875981490670386480604690884914564784\",\n \"11323009585530142352534001776298251961419453390240140321112519600108965685609\"\n ],\n \"21559074950684026099289347995537340061495372453613452860483765795763924856974\": [\n \"4426846824853892601526744911771998214458123698741885479198083329554372763440\",\n \"16867927816126820939158269554480783522333132591470587120853062806158200301838\"\n ],\n \"2234242472433707330391094146136421829663295270208814788496431442994645931747\": [\n \"21559074950684026099289347995537340061495372453613452860483765795763924856974\",\n \"612275067838873350974340110615076890842035000437196162138645258218785535054\"\n ],\n \"5476815693887227414045235337078481424256164006836938731860550639502174348105\": [\n \"2234242472433707330391094146136421829663295270208814788496431442994645931747\",\n \"16520647636897227610266031751515130019752854652328072805011101062312804805365\"\n ],\n \"5362425708668591660596487936961891734435481388107433295547658746757777003097\": [\n \"4195187996637436371556458662585112816821158089537889109474118152290171544195\",\n \"1\",\n \"1\"\n ],\n \"10342978156469061330267267151303173886794808112012358749368190203308496908509\": [\n \"5362425708668591660596487936961891734435481388107433295547658746757777003097\",\n \"8751634130855196498331024937275213792483157792158737324087565152035450215763\"\n ],\n \"8871792338455389974405676281632970765922198483258362633456743867222617726612\": [\n \"10342978156469061330267267151303173886794808112012358749368190203308496908509\",\n \"0\"\n ],\n \"3194609143315227753459021894384596770791058707473022098403359034666814728008\": [\n \"8871792338455389974405676281632970765922198483258362633456743867222617726612\",\n \"16599702528612812967367601518909964677652479335000508295438384749425442380028\"\n ],\n \"10890481577092694373325428470084103224233121726023435491575582609744317338393\": [\n \"9155614182195291056095419338587787027300981839842416382731108281254615207222\",\n \"3194609143315227753459021894384596770791058707473022098403359034666814728008\"\n ],\n \"20129982192521932620089228146811915619597108290490446659047147857667256542026\": [\n \"10890481577092694373325428470084103224233121726023435491575582609744317338393\",\n \"5969734271513691071994454367395008968541205196624919970434611602700325196484\"\n ],\n \"10989680520803707789968232189960909475863489583931346690899678655925812266288\": [\n \"20367013371912659398990486195434788197286366016497288397714784492223354664360\",\n \"20129982192521932620089228146811915619597108290490446659047147857667256542026\"\n ],\n \"12942586430632385034795241931634426588932788017217305501408768288744750867237\": [\n \"10989680520803707789968232189960909475863489583931346690899678655925812266288\",\n \"4362479992730998295311511421370735791356630241344223175203590889929240721742\"\n ],\n \"5318071655223379051476707502673935366177039472486741079763338800246186404977\": [\n \"5509267716071472398558606462633523960301068888701439748080995649565004894081\",\n \"1\",\n \"1\"\n ],\n \"4166713453971337556679109075524328614549255222186549164378850033530521390731\": [\n \"4846927649952945152936496689289981162801551216628055457401463138057774061576\",\n \"5318071655223379051476707502673935366177039472486741079763338800246186404977\"\n ],\n \"18775240969709518591263598813435452126090295311872930601192521730970738388039\": [\n \"20727780203837843687508852735813807416781100648799603008121516533013734368948\",\n \"4166713453971337556679109075524328614549255222186549164378850033530521390731\"\n ],\n \"20836745696239900764015885107688979596785084129155949613881815225293221740234\": [\n \"8612403181870690500750002924844248968795283763738588695117060678216955467792\",\n \"18775240969709518591263598813435452126090295311872930601192521730970738388039\"\n ],\n \"4549264665110850767699426421502612294396250878989758563764621119548512813667\": [\n \"12451906479261454303268439573978799341400503458662463941442473172325866779268\",\n \"20836745696239900764015885107688979596785084129155949613881815225293221740234\"\n ],\n \"7018120050293319688687083223278897327481068358836628853747944862281311017563\": [\n \"2482912192596880649019637014558715551393071782605474700207165471737121209535\",\n \"4549264665110850767699426421502612294396250878989758563764621119548512813667\"\n ],\n \"18964521226132184218832773545096763686623044345499718190728236915391405662894\": [\n \"7018120050293319688687083223278897327481068358836628853747944862281311017563\",\n \"18806836307668682772154158591915137394472009676274263230167848791766717684610\"\n ],\n \"19861782241167878091603645445261501775185302056522738960684912238781519886028\": [\n \"18964521226132184218832773545096763686623044345499718190728236915391405662894\",\n \"13639756384703306408684274523427470381172351543446282030724907683227384728387\"\n ],\n \"864170253121697071165481893004241431500927312065899249893966699241151548809\": [\n \"19247167626150556463300703548517489548295101382237700777203392284231029237144\",\n \"1\",\n \"1\"\n ],\n \"10563408242286152476367290192282857446038569329243674023490105367189985774735\": [\n \"864170253121697071165481893004241431500927312065899249893966699241151548809\",\n \"6230359641804541008052486089067536924618643969804744559416339755972491924564\"\n ],\n \"6264030531930174594265388757868510572072031561971760300531732793575265255916\": [\n \"10563408242286152476367290192282857446038569329243674023490105367189985774735\",\n \"0\"\n ],\n \"16281786316291026135003524616062481867597690698584358760951465928152175057948\": [\n \"0\",\n \"6264030531930174594265388757868510572072031561971760300531732793575265255916\"\n ],\n \"343248449421053253296242748741955994569974935303900812800091949508420772213\": [\n \"16281786316291026135003524616062481867597690698584358760951465928152175057948\",\n \"0\"\n ],\n \"11362550904523187375445034271906558883298963596981918544015570967396300288112\": [\n \"343248449421053253296242748741955994569974935303900812800091949508420772213\",\n \"14799406949131437170568390378669774367257998319030190448070497805159928517005\"\n ],\n \"6521354872000232453527198346906498005523334772348257715763646574019871459058\": [\n \"21356788583767350764950399911338199068708654209634111204008966679751840604896\",\n \"11362550904523187375445034271906558883298963596981918544015570967396300288112\"\n ],\n \"10383897335044742301986191876769480941280621111540467106513285408484307858672\": [\n \"6521354872000232453527198346906498005523334772348257715763646574019871459058\",\n \"1713526737787978049381997999648933824506174238177666338086983699220522856954\"\n ],\n \"19722734589895180497386241069073815623705282067099027218433745100668095488945\": [\n \"15409539946870848952680793312247848309092289199169727858811440672623449742818\",\n \"10383897335044742301986191876769480941280621111540467106513285408484307858672\"\n ],\n \"10402205767949016768088967216620487717456348305572440599867915593072337338452\": [\n \"7735050994451715790914387215150019062021785896045126979936276971029941588324\",\n \"19722734589895180497386241069073815623705282067099027218433745100668095488945\"\n ],\n \"10818839392496056815044563479033249289774321444217552047646461430549818150707\": [\n \"10402205767949016768088967216620487717456348305572440599867915593072337338452\",\n \"19391709007541857392759485630402827084375523021457582740878768148105645045613\"\n ],\n \"20304694132962258942172250923158726356721347462901443145566032307854953167876\": [\n \"11794061715444257396253690267785750181476235809535202317502110814338588910991\",\n \"1\",\n \"1\"\n ],\n \"18513846350132559568640066789731622164473252604417002728166188931017126555073\": [\n \"3378074253218886742605938235746314009729281687484807030114295366841276946330\",\n \"20304694132962258942172250923158726356721347462901443145566032307854953167876\"\n ],\n \"9765900507307876783842766510178747052944177823187173326819836190830823508219\": [\n \"18513846350132559568640066789731622164473252604417002728166188931017126555073\",\n \"0\"\n ],\n \"4824347719542571028002383066250802620929025708527331180207715840956682495092\": [\n \"9765900507307876783842766510178747052944177823187173326819836190830823508219\",\n \"20840830431114504839864467052058383434449483703340363921907536795334958865078\"\n ],\n \"19065313715778426097920451501336896397669817114257890058228910696428199981197\": [\n \"3225728684407404013858404668376205794770896610334033748454491670493795295656\",\n \"4824347719542571028002383066250802620929025708527331180207715840956682495092\"\n ],\n \"21262163404116130056209528665091644023219891656941846531963496708995019935741\": [\n \"19065313715778426097920451501336896397669817114257890058228910696428199981197\",\n \"7815588657273873262315949681849243938749762133431057166516477202861974465742\"\n ],\n \"9694555566214358481461670720332591378387133291413690213959450963600198277296\": [\n \"11023066124281194085814130398501288736577034442918095008482711903891043059408\",\n \"1\",\n \"1\"\n ],\n \"18223693310323681805744331076396745167637877481899852870190417644162646959393\": [\n \"9694555566214358481461670720332591378387133291413690213959450963600198277296\",\n \"16604120941534326199474155703405972747576305368905655698769676707900613313934\"\n ],\n \"1083796188171671373366441210744024900943103489647015077319714384277244104910\": [\n \"18223693310323681805744331076396745167637877481899852870190417644162646959393\",\n \"203297178854898761817732774826199611007297377391351622513223227301045779560\"\n ],\n \"1220917905794237685640759573440656987214898654605464204024457807951124425103\": [\n \"3397258413049779231571614583704301804422357016120348453607146213165652991682\",\n \"1\",\n \"1\"\n ],\n \"302061324908774370125109850262133075080635624954414356448914210992433507603\": [\n \"8214664187535207059383470355594704104712850762584634271002781571070439850245\",\n \"1220917905794237685640759573440656987214898654605464204024457807951124425103\"\n ],\n \"19638797677750198549642022435432440864509887379286762982593194677285805177948\": [\n \"0\",\n \"302061324908774370125109850262133075080635624954414356448914210992433507603\"\n ],\n \"18149199420043147250237360620060648446346052395498681704928879373513910488539\": [\n \"16123957211324389995995031678495721329029572307086208373478736900204607520654\",\n \"19638797677750198549642022435432440864509887379286762982593194677285805177948\"\n ],\n \"1410385742869468824098151839129976732312915340263050856236141076840423087641\": [\n \"2143768707589762584062993396102212309809459026659609492844685292898211682564\",\n \"1\",\n \"1\"\n ],\n \"14620350495810025140135597073729088684803132183412549061503641030489851755701\": [\n \"8104452334581983052903315396284312154750584983909177238294179925358883996629\",\n \"1410385742869468824098151839129976732312915340263050856236141076840423087641\"\n ],\n \"17437566277904091960241457985295088880876975591717865865041283387129175716362\": [\n \"14620350495810025140135597073729088684803132183412549061503641030489851755701\",\n \"0\"\n ],\n \"16861664732788068201214540588453644348195417108668523857744403059493708456565\": [\n \"17359446633348202659704363576007337827242759292308070916472214494326827141007\",\n \"17437566277904091960241457985295088880876975591717865865041283387129175716362\"\n ],\n \"4119945803807488572341654827712907621182102054619129051879056146411678830802\": [\n \"8556454706817504476905263006027471868571835829417121099210294925317134301794\",\n \"16861664732788068201214540588453644348195417108668523857744403059493708456565\"\n ],\n \"17292033033607175752403221867373619139789254293150847026029811272807597375544\": [\n \"4119945803807488572341654827712907621182102054619129051879056146411678830802\",\n \"1457160108473842703760538959292251551087836630064248311307565686695947273618\"\n ],\n \"4479647361812015810268294648337471480498696596953334663229009036030163630236\": [\n \"17292033033607175752403221867373619139789254293150847026029811272807597375544\",\n \"5828281704311510212970638452090781611405691523340962047515847942119491454040\"\n ],\n \"7496117701716875422281462805706550904000312325952447667909295527354467264245\": [\n \"17282558119935991557277362777780343829167086687965540558569811629549825935960\",\n \"4479647361812015810268294648337471480498696596953334663229009036030163630236\"\n ],\n \"667524004772385701536510047500639412032937879656717099158300852559946718773\": [\n \"7496117701716875422281462805706550904000312325952447667909295527354467264245\",\n \"18464805135722180693918877567217927627021365932630530580037507775553796942469\"\n ],\n \"1000768804988081909078911349742481551950696108788296042847740163891991632845\": [\n \"667524004772385701536510047500639412032937879656717099158300852559946718773\",\n \"3426202069625786980298736526302910229651833184775841250298770697813728688591\"\n ],\n \"19385084297418903007766250473649823812443853589865232123255407998642224794410\": [\n \"6176789708257676134727068235559155468732617369306671497685341503382637032213\",\n \"1\",\n \"1\"\n ],\n \"4183650159620833729375792862256570374596561308612871063864465428465421632455\": [\n \"18739935904467363862544060795450863402262853112526742869263379446669098896608\",\n \"19385084297418903007766250473649823812443853589865232123255407998642224794410\"\n ],\n \"6555526854444418276856130264536105491181051219715797243829356912415763996689\": [\n \"3004678549762584317034723637196927464668220139311840613300563915709658004446\",\n \"4183650159620833729375792862256570374596561308612871063864465428465421632455\"\n ],\n \"4354281812981301138119568246725312710889980610399755512750289148368143882043\": [\n \"6555526854444418276856130264536105491181051219715797243829356912415763996689\",\n \"747156364442164332030118530872389198333735271825417263968291411247391485106\"\n ],\n \"15223896090419632145295369577947878438306792738443833009834957279311820675109\": [\n \"4354281812981301138119568246725312710889980610399755512750289148368143882043\",\n \"18004089696363270749337476616706024115909758453206897945998449025904498749980\"\n ],\n \"8967671398969846549758991311431787995026075773524052422620873248911850291323\": [\n \"20037635051685942153957980493677654273012126552466456935060990513332717719420\",\n \"15223896090419632145295369577947878438306792738443833009834957279311820675109\"\n ],\n \"11578460643601604618808844683049360048437611885170971213722020845212708335227\": [\n \"14671605934295725656118141458137608916526408197558881214272621469569219370503\",\n \"1\",\n \"1\"\n ],\n \"11384101825683398110124442438680005093853751914631443161627760132357681635044\": [\n \"1656646328139702215158187012871407755015128066986018702929687613722371915033\",\n \"11578460643601604618808844683049360048437611885170971213722020845212708335227\"\n ],\n \"12908411782016915744618281248763772316653447621527700945645113205708418870344\": [\n \"11384101825683398110124442438680005093853751914631443161627760132357681635044\",\n \"0\"\n ],\n \"1904853809074239542256632760040257972321209208306993281319229391664592374746\": [\n \"12908411782016915744618281248763772316653447621527700945645113205708418870344\",\n \"0\"\n ],\n \"2936548571062926403187430495698433672534479748842510883540096398942260828089\": [\n \"1904853809074239542256632760040257972321209208306993281319229391664592374746\",\n \"0\"\n ],\n \"15186792061378008542611169863691168607571249832654605681574154792866698205443\": [\n \"0\",\n \"2936548571062926403187430495698433672534479748842510883540096398942260828089\"\n ],\n \"13413170909697608195684927332791811264923885119401654775231092828171981021223\": [\n \"21475121121483279578462929466292750021055982745826985859965472083094710019215\",\n \"15186792061378008542611169863691168607571249832654605681574154792866698205443\"\n ],\n \"11521877420918326496404922594554645425268512133468671589145238356956974480174\": [\n \"3081754423575885116561481467976731401991489109140326798459160481680527034569\",\n \"13413170909697608195684927332791811264923885119401654775231092828171981021223\"\n ],\n \"5899754163099072294589882227769428357638140647842198380810671892320654083683\": [\n \"11597953601256619964285405266379173346565357331516946524656421259119542953878\",\n \"11521877420918326496404922594554645425268512133468671589145238356956974480174\"\n ],\n \"15841588792510794707765266131968285725769058366711120370801566207467745690658\": [\n \"4110369563500098686250689431365590651798767553444850301541652582154918063241\",\n \"1\",\n \"1\"\n ],\n \"10832161118667419777529951795889167590849091613116928613861551758693226932100\": [\n \"15841588792510794707765266131968285725769058366711120370801566207467745690658\",\n \"6585853380044232135053067715727378092503131502855346743429346530241880371854\"\n ],\n \"11163241750220960678554090141077218878429920046365817830229550438610429792376\": [\n \"0\",\n \"10832161118667419777529951795889167590849091613116928613861551758693226932100\"\n ],\n \"950388398880329364926947680379233766559937014245490487997753144468798966078\": [\n \"14877200318864904965826855621266451958310086374275071431291121773517823475281\",\n \"11163241750220960678554090141077218878429920046365817830229550438610429792376\"\n ],\n \"8033391733705546712760702710915581544874687329604857361568845315374188611176\": [\n \"950388398880329364926947680379233766559937014245490487997753144468798966078\",\n \"16912891410625536749136380799032875763792096376531246008200691386866028978598\"\n ],\n \"20645190475357032763291706179319201161986912287339535519113164594542534426470\": [\n \"7562826982909776590061870926795022717372738366188981121452687364694771405432\",\n \"8033391733705546712760702710915581544874687329604857361568845315374188611176\"\n ],\n \"6854496362151675260106754795298863786201940672615917406317775471521270958875\": [\n \"19783162057155918755110184244574411258397278986213003257295718834317957113036\",\n \"20645190475357032763291706179319201161986912287339535519113164594542534426470\"\n ],\n \"9185606027662609517554818859915450086527632575087014923906400457163704076988\": [\n \"6854496362151675260106754795298863786201940672615917406317775471521270958875\",\n \"17413034582323826645091905867956115109878984780802857184651190322248178026740\"\n ],\n \"19802120802888677994665008378487541407047636629572525157841341245039715261196\": [\n \"9185606027662609517554818859915450086527632575087014923906400457163704076988\",\n \"7268146045560614264834622464680933090397250762283052018679791708241790744036\"\n ],\n \"2296134396893360196214729478537820671139262099358253240306218191036568885218\": [\n \"1005905464853231752350976439993571038943514043657259531767317063842841210710\",\n \"1\",\n \"1\"\n ],\n \"16642346082301703456646572337245527827571919606623729777127660232906555905412\": [\n \"7318082022111112681515791697551698437701558175413844794789753980576524824650\",\n \"2296134396893360196214729478537820671139262099358253240306218191036568885218\"\n ],\n \"21802705694034585758039217677127901878288578759082881124353420120492485590788\": [\n \"16642346082301703456646572337245527827571919606623729777127660232906555905412\",\n \"0\"\n ],\n \"17620681767909016927809232143021917855064078252848500689573145248975864324174\": [\n \"0\",\n \"21802705694034585758039217677127901878288578759082881124353420120492485590788\"\n ],\n \"1876840943814227297694129702155436123599948788661545117464710873872250088151\": [\n \"17620681767909016927809232143021917855064078252848500689573145248975864324174\",\n \"16117658570167396119159562653983220761718616621167614967554012448688534218881\"\n ],\n \"1135756450115154886906291215650147747187566127578621076029035316016704524746\": [\n \"17176431795320808754367310449267359294708212456719905245386368866648716907658\",\n \"1876840943814227297694129702155436123599948788661545117464710873872250088151\"\n ],\n \"2338517018279663489346242448107699717760121964499167866992578614385707184390\": [\n \"21683207344289362234072270063151534070307257825024534452456902995240369369039\",\n \"1135756450115154886906291215650147747187566127578621076029035316016704524746\"\n ],\n \"15468833215757375114004306818697625630281170083541521411469719543622642542367\": [\n \"8664874029762767878455558113209510115525542048230056101960407120931302270082\",\n \"2338517018279663489346242448107699717760121964499167866992578614385707184390\"\n ],\n \"6337816923395147283688258023040634401763062488607412677719394362815173242133\": [\n \"5320653913191482909112829011589903536409379780087667146221445573001307873800\",\n \"15468833215757375114004306818697625630281170083541521411469719543622642542367\"\n ],\n \"2476138459041536818207127850661562924227922782964097383611654288306274470976\": [\n \"6337816923395147283688258023040634401763062488607412677719394362815173242133\",\n \"8463938065438165763763891411772283787311451464403671024252734942670079000612\"\n ],\n \"18308951412547421741206468655103466187897786658878768797271932280484001831942\": [\n \"7487604249959424792490261302969733859959552585823172014221492799941852878301\",\n \"2476138459041536818207127850661562924227922782964097383611654288306274470976\"\n ],\n \"21831997169083952473457017360409584541161320930578940634990094205864043077877\": [\n \"4539452415425416051030686425708479734422980852665830390585093888249085409657\",\n \"1\",\n \"1\"\n ],\n \"9063031324204266842782689275898453972575082365117520718538576167574194611853\": [\n \"16063057972781075888550656269111115203771381008563997143611015087986365086070\",\n \"21831997169083952473457017360409584541161320930578940634990094205864043077877\"\n ],\n \"18113875908200508146139352279733943489378400931738032446442527740330066854925\": [\n \"12885017307022993973702739359543768223451851895434818450875014204338051754874\",\n \"9063031324204266842782689275898453972575082365117520718538576167574194611853\"\n ],\n \"12802483512311608972383842172034818841270886349327270114357202487236549356646\": [\n \"6808794859342618432651386613781084487868657214356993001072166062686504512092\",\n \"18113875908200508146139352279733943489378400931738032446442527740330066854925\"\n ],\n \"12637021880261920652202383936584277893294469363284020155238363706233944671625\": [\n \"12802483512311608972383842172034818841270886349327270114357202487236549356646\",\n \"20005192327799864000417861997244200856768140736339168125652298828677219608293\"\n ],\n \"779090959753511414504706512465616376930039560265652188240112891580250344607\": [\n \"12637021880261920652202383936584277893294469363284020155238363706233944671625\",\n \"7091516392977456378410531867114503802445985664026330327054309500647013455586\"\n ],\n \"18713735564562286950022349464385845088976419713322979939784648972164270716812\": [\n \"21674987859446033254775037315716484255617485469309677782105252674886980102517\",\n \"779090959753511414504706512465616376930039560265652188240112891580250344607\"\n ],\n \"1852974146242095256419976668113299588477232777151833201844495530786380492118\": [\n \"20895186888595476076953776424177765207120803693614500089744743002322984899440\",\n \"1\",\n \"1\"\n ],\n \"8733284526012454140295858370376478812408956952609088241709222019406970791819\": [\n \"1852974146242095256419976668113299588477232777151833201844495530786380492118\",\n \"16030593995853426602943212056372022298765099832966221371280416048063255103411\"\n ],\n \"8330145380672597721956586313893776071024110474944170672131861681338245095621\": [\n \"8733284526012454140295858370376478812408956952609088241709222019406970791819\",\n \"16554246263141161591175631916126558848166801828711861072203642675047579585823\"\n ],\n \"21557725892900028854485121066788440124266585914004260453028711632076854379580\": [\n \"8449439834005254699421594575314390968104809141372886304728441146119331432141\",\n \"8330145380672597721956586313893776071024110474944170672131861681338245095621\"\n ],\n \"11363628415424111739218122801545340010897683717331415620468548636158579789896\": [\n \"14218000089146643261541746900071972027899983394602066124731519874909801370635\",\n \"21557725892900028854485121066788440124266585914004260453028711632076854379580\"\n ],\n \"6544748295261694877758441949201821692589172852133908095395166340780707621605\": [\n \"15117758270748433138249385483192882324883024494394875231869799912353128203548\",\n \"1\",\n \"1\"\n ],\n \"4474896979045422181664068839515331195510948042261326139894030110146522168302\": [\n \"12347190284320482669453190468354472657862136180752358457850531466526884049278\",\n \"6544748295261694877758441949201821692589172852133908095395166340780707621605\"\n ],\n \"20981703189474993170562371230807390464029980115424544302324509556300544539051\": [\n \"4474896979045422181664068839515331195510948042261326139894030110146522168302\",\n \"0\"\n ],\n \"19164754371135899392459541147974578794032642069771173239275611898463413973834\": [\n \"20981703189474993170562371230807390464029980115424544302324509556300544539051\",\n \"16945809270010892939064841522688707532494931357880238753312729878364815469136\"\n ],\n \"8332517190530800526206838727583979073052024957511708428793981286939651243944\": [\n \"19164754371135899392459541147974578794032642069771173239275611898463413973834\",\n \"11435754560700565512551488604546183919832304072284308867766123823452324889036\"\n ],\n \"7496876077640347191469244503208583182125892899611854954109002151572969690423\": [\n \"20793629487746582371330547535340528484494026289971421424877206286150724375457\",\n \"8332517190530800526206838727583979073052024957511708428793981286939651243944\"\n ],\n \"12239655578157303472643693890519730065335231991479216408649554840004916040436\": [\n \"7496876077640347191469244503208583182125892899611854954109002151572969690423\",\n \"3329392161201540589506712975766750273621456203386333626538334844442782804603\"\n ],\n \"16294627672333567363895683568807103012934611264282037761968129526256158942167\": [\n \"7107400533727334560762763051983893939783859807796540163506544847534253546054\",\n \"12239655578157303472643693890519730065335231991479216408649554840004916040436\"\n ],\n \"11870466941927481106727683048847001686841578392423013366251416473186760116366\": [\n \"16294627672333567363895683568807103012934611264282037761968129526256158942167\",\n \"6987176034524156033759033490713550283055141525626781361370536591409671377971\"\n ],\n \"10287145013881948110122697454909601295244456404725467635239716150227797213360\": [\n \"11870466941927481106727683048847001686841578392423013366251416473186760116366\",\n \"6075805334622391532268573994004455522875131322888969046976569826314806851492\"\n ],\n \"12099843068662058014621751700195836805064297973951435301841908981105094933201\": [\n \"10287145013881948110122697454909601295244456404725467635239716150227797213360\",\n \"18331794074958776206455286799384599883318103555231097417131678143441374527016\"\n ],\n \"4471787033096804738581612669918130122789416627454874456993048329679509065297\": [\n \"1758309794640078423702817535576504257864533669355892050799799114363509060304\",\n \"1\",\n \"1\"\n ],\n \"3280925041262077178605495015353226980700612152153573127214479142181207338935\": [\n \"4471787033096804738581612669918130122789416627454874456993048329679509065297\",\n \"5904999812812399254902365390066483824249802507600518410356640715744406552599\"\n ],\n \"16360064230650814108826365477904737522520773357151300883469637807873658499683\": [\n \"0\",\n \"3280925041262077178605495015353226980700612152153573127214479142181207338935\"\n ],\n \"4097443765392783016761981741312326225486210207321153038511183038961095171915\": [\n \"16360064230650814108826365477904737522520773357151300883469637807873658499683\",\n \"0\"\n ],\n \"3433863042857580585981926792704951304366776130954343284557503871626183235172\": [\n \"5078320968006847008736426419353842047449140954434661602570709113036394381314\",\n \"4097443765392783016761981741312326225486210207321153038511183038961095171915\"\n ],\n \"19560539497391843180267450692130684972998985338325745424679941233090472745690\": [\n \"9734465627881450307802828465762873774661642335006442411488686624536574927331\",\n \"3433863042857580585981926792704951304366776130954343284557503871626183235172\"\n ],\n \"8184227214520956530970290605032161223992582790836650159961233499821726712240\": [\n \"19560539497391843180267450692130684972998985338325745424679941233090472745690\",\n \"0\"\n ],\n \"14187319169385222090695620848223375676535278437330825711707704939954292295659\": [\n \"8184227214520956530970290605032161223992582790836650159961233499821726712240\",\n \"1083796188171671373366441210744024900943103489647015077319714384277244104910\"\n ],\n \"5670019015714290989696420335294806568799511848732899690927446451857147575704\": [\n \"1090739970117447729893235771486398311192620376671266577023010418248010846264\",\n \"14187319169385222090695620848223375676535278437330825711707704939954292295659\"\n ],\n \"5589770177915576749748073499667301407944045655537416942531188242238450365706\": [\n \"19213534460803939094382302635619412259060007404997311225802672653322772842791\",\n \"1\",\n \"1\"\n ],\n \"17140378395576986009891076066524373357620148046346074287319086725833378522394\": [\n \"546003766901978933348780460485886708497440993166640111376569250816881265775\",\n \"5589770177915576749748073499667301407944045655537416942531188242238450365706\"\n ],\n \"5767126349080629670184193652071541874979666299376727169552800527614695938240\": [\n \"17140378395576986009891076066524373357620148046346074287319086725833378522394\",\n \"0\"\n ],\n \"19271939254185989706244439126884888828379959508609313681172071509039908558653\": [\n \"5767126349080629670184193652071541874979666299376727169552800527614695938240\",\n \"2385249887427176225914841274689087162354114562948142333754108560264278714880\"\n ],\n \"9647918365900913173369194543128532013562361701034772666397697456030463210669\": [\n \"19271939254185989706244439126884888828379959508609313681172071509039908558653\",\n \"16146600231711961259325874835589331711912294551441465289739748203124778851672\"\n ],\n \"18141963149129134636730079487296635090873285709813385468063375569994178579236\": [\n \"9072692441206479013372310268038481535423982356080497821421351228720152868994\",\n \"9647918365900913173369194543128532013562361701034772666397697456030463210669\"\n ],\n \"9211987348078972265243612535378093393770029329513094459489609233031295744484\": [\n \"18141963149129134636730079487296635090873285709813385468063375569994178579236\",\n \"12340503659776814704987725535516904973610381072211261013923596466653311870794\"\n ],\n \"8932270403614818504415799536391374248846937340451072927840881149785826056307\": [\n \"1865471326189877147889362756199188396038369307293826565594854326608959373651\",\n \"1\",\n \"1\"\n ],\n \"18178612289266564769332735351956416478147965412919270150949252275504962566654\": [\n \"8932270403614818504415799536391374248846937340451072927840881149785826056307\",\n \"12515623197612701951553730961201083636087254002081932253550095511566293585125\"\n ],\n \"9982870182682407229502897092201758383824969816979766439093441146792932548778\": [\n \"18178612289266564769332735351956416478147965412919270150949252275504962566654\",\n \"19668714178260606702638169607936768801761972917905308791058350512316228543661\"\n ],\n \"19597625539922485995363906940834639681343601659037823351953922818932993671522\": [\n \"9982870182682407229502897092201758383824969816979766439093441146792932548778\",\n \"5640840655108379437664466962683896099741682297602798409296374298382331147639\"\n ],\n \"19051715619073379765254369213460778209060323507078163090825606544869352602041\": [\n \"19597625539922485995363906940834639681343601659037823351953922818932993671522\",\n \"14511033342234854691179757072068629423351084390714351109623013889951683203709\"\n ],\n \"10306161191217399363766682788081047623175483355517177847850069261660853285026\": [\n \"19051715619073379765254369213460778209060323507078163090825606544869352602041\",\n \"14475702422365753739172329363481351314927637829531239361513410884368657913773\"\n ],\n \"11345604330996675168860462722146038861171406976120568401266271075945447226175\": [\n \"3373051992126480756546077771060027734932629041178736289444069852790996159800\",\n \"10306161191217399363766682788081047623175483355517177847850069261660853285026\"\n ],\n \"2738791572880140935980842744541547480065577133881799299164603622313101217798\": [\n \"11345604330996675168860462722146038861171406976120568401266271075945447226175\",\n \"8099408906166781360887046938864165059014226861572930239102866431122011973246\"\n ],\n \"9069116112370074925242193731650671172111259433323316751639984664558025152678\": [\n \"5591322724169045658441092602455108591253368853567161523413292341348923033621\",\n \"1\",\n \"1\"\n ],\n \"7911087652830963490079828779408951006337294478234417514098324492993325910469\": [\n \"11235108449541541311620918134261525818892775968510066773998378253899642673570\",\n \"9069116112370074925242193731650671172111259433323316751639984664558025152678\"\n ],\n \"3446204742257715394245380022678650326684340676648985682862727179241150972024\": [\n \"7911087652830963490079828779408951006337294478234417514098324492993325910469\",\n \"14838076479582100281978893216036865034754073013446185746494659444298168263627\"\n ],\n \"552269851457192509244604657062487583005938308640900890145554219516996571337\": [\n \"0\",\n \"3446204742257715394245380022678650326684340676648985682862727179241150972024\"\n ],\n \"12028146370024463870827875085195162286094931594762593418903601664301326116031\": [\n \"552269851457192509244604657062487583005938308640900890145554219516996571337\",\n \"13235492581689787395084911267692296869015378904845817784261663418213376592116\"\n ],\n \"15052689465825035656148116011077880410446542206755569981670431969643274337451\": [\n \"12028146370024463870827875085195162286094931594762593418903601664301326116031\",\n \"19051661294052362948304235447639326025668406331521039478335454167941315592255\"\n ],\n \"1277167185816819974536588542187063766731669403611360766572727109697409155583\": [\n \"0\",\n \"15052689465825035656148116011077880410446542206755569981670431969643274337451\"\n ],\n \"603348746971651645796380552303090104654918319697803666104045791599763777038\": [\n \"1277167185816819974536588542187063766731669403611360766572727109697409155583\",\n \"5153033831857013717967167796647870509429422421960108577222000822604283712412\"\n ],\n \"16268900178703746532083320492011016712841834305873689026952725448023717479084\": [\n \"603348746971651645796380552303090104654918319697803666104045791599763777038\",\n \"15819618708549998228493257193245351167891658056790206504706322637250747892785\"\n ],\n \"17579476594504912516400254164021355603706256082621483024591270847718869245147\": [\n \"16268900178703746532083320492011016712841834305873689026952725448023717479084\",\n \"8967671398969846549758991311431787995026075773524052422620873248911850291323\"\n ],\n \"11164437874488345008082852532034166882095182651775262132999389827151785928248\": [\n \"17579476594504912516400254164021355603706256082621483024591270847718869245147\",\n \"4160173942777516463777995284250126511218011019196047769308066628231354281888\"\n ],\n \"8722562855851350604593343133952451300331764923230314306927739278379989491656\": [\n \"11164437874488345008082852532034166882095182651775262132999389827151785928248\",\n \"14937903991070558460887496009219932501533038723792098573816707656800674711915\"\n ],\n \"4839954652250805832886173524056844080648273786156640437747356682104746589567\": [\n \"778291656820787017771323866554763024438801435673935069554603823482619317523\",\n \"1\",\n \"1\"\n ],\n \"208705124737466157637772619269119459237116097122085982387628394092406095555\": [\n \"4839954652250805832886173524056844080648273786156640437747356682104746589567\",\n \"18686656575203492324929098612593352678285537330654893958137965962377340431434\"\n ],\n \"1483711497605979248218643668794113305345470252362447686138832321538369047367\": [\n \"208705124737466157637772619269119459237116097122085982387628394092406095555\",\n \"0\"\n ],\n \"12061687015064135682874303275843143874022937231870210426243071878785704525795\": [\n \"0\",\n \"1483711497605979248218643668794113305345470252362447686138832321538369047367\"\n ],\n \"3992811306346623147331563209733349134796696718329069170549532596584858147347\": [\n \"12061687015064135682874303275843143874022937231870210426243071878785704525795\",\n \"0\"\n ],\n \"17945590247076142238856110197553071807272845994921468700134091393718155237657\": [\n \"3992811306346623147331563209733349134796696718329069170549532596584858147347\",\n \"0\"\n ],\n \"1672452374932434606071201824065797261230581942171200574107848514719391379120\": [\n \"673776976443525681201484874471398426311170130291171419110388402026827889918\",\n \"1\",\n \"1\"\n ],\n \"13325295186890432807861590732086376801841851806095499397713073752294838795896\": [\n \"11311479382748619931256064016339406135924366557518071217053180775683109911029\",\n \"1672452374932434606071201824065797261230581942171200574107848514719391379120\"\n ],\n \"9433111505345214532728671201584199359659200486736281819682045101718266086132\": [\n \"0\",\n \"13325295186890432807861590732086376801841851806095499397713073752294838795896\"\n ],\n \"21022163100923790871056709165162141654826133643150374812275376572159864083667\": [\n \"1303901806710022680366585068226708700386888487088350155728352599266250050699\",\n \"9433111505345214532728671201584199359659200486736281819682045101718266086132\"\n ],\n \"19887033967252583131929551489177623176588976594351496955857228416657508034543\": [\n \"3461886513389942272543128751939432386534287633420523735281985618757797377420\",\n \"21022163100923790871056709165162141654826133643150374812275376572159864083667\"\n ],\n \"15169696126277908007171016101815042881655271868099613154442659456693338649136\": [\n \"19887033967252583131929551489177623176588976594351496955857228416657508034543\",\n \"9926483919724043755436207294637895461929585304127745782803134811709544478442\"\n ],\n \"19499082778107629432267642485719767741408136862923282982763568670271351862621\": [\n \"15169696126277908007171016101815042881655271868099613154442659456693338649136\",\n \"15200957078344477645802636241502196826131766273099134763166732337557352458896\"\n ],\n \"19692741379671002906687404366422796353246736400080613530601097041831638539134\": [\n \"15055042774277180946968061921019547569465339380659770688773171651399521645750\",\n \"19499082778107629432267642485719767741408136862923282982763568670271351862621\"\n ],\n \"19892618426706297684409851587493464600158673224424173869044023496373198644876\": [\n \"9121383441419621406079631668710032585332762942637423000891367107558104750926\",\n \"1\",\n \"1\"\n ],\n \"18502497306020678626415734393007238943651211232508000211064728884100507493079\": [\n \"19892618426706297684409851587493464600158673224424173869044023496373198644876\",\n \"8574333660427777364816508453364153658965678226318542741403192103525599380555\"\n ],\n \"14437261649919618545750806169951334936120460433671678569630702386076107885519\": [\n \"8500239955757197217831391804624801361212727912109172992125788073335182914418\",\n \"18502497306020678626415734393007238943651211232508000211064728884100507493079\"\n ],\n \"4820576477035704136667326845164862408556451333256004426835216352338686272680\": [\n \"1746243246928484366162708759711475773950413406597046725091940092322944806576\",\n \"1\",\n \"1\"\n ],\n \"21579935700347382074254270052224485383910820969131252202548093136038064224335\": [\n \"4820576477035704136667326845164862408556451333256004426835216352338686272680\",\n \"14485705845079557752069586537840853332146999995135470484545623376663435415100\"\n ],\n \"2082151675141354508968835416491326396110007418846562382473054404992328291719\": [\n \"4819590190962089173491266382865300213566043009004751886788978356636630325769\",\n \"21579935700347382074254270052224485383910820969131252202548093136038064224335\"\n ],\n \"20236846272283257966289394075687032720820810704397749472893995660226681510262\": [\n \"21231654853816732196845909091495359510772673944532462334162512319212149592911\",\n \"2082151675141354508968835416491326396110007418846562382473054404992328291719\"\n ],\n \"7205738851109612304573838712501137342706973157488005721874430689032231686853\": [\n \"4407678490644981100019874046554697245084564665001272673862184790456844327799\",\n \"20236846272283257966289394075687032720820810704397749472893995660226681510262\"\n ],\n \"8819358206340128048511845684955304538142676903327967713599849337131850758990\": [\n \"19367102857129885660437730756898211016638070408883831437707291729909401393137\",\n \"1\",\n \"1\"\n ],\n \"4837448450203929234183742428078000728002710472255505173470630674432187348153\": [\n \"17474435296103823691455969903303840657669332738548923690638995855549821917665\",\n \"8819358206340128048511845684955304538142676903327967713599849337131850758990\"\n ],\n \"7775460393842669062346914110997929413168380208321155515236235642636870264404\": [\n \"4837448450203929234183742428078000728002710472255505173470630674432187348153\",\n \"0\"\n ],\n \"16995469494309529879309755354238745177973058177974616265664285187964376757275\": [\n \"6390486227724468500792016290320760333046518478060536233860071659758472160470\",\n \"7775460393842669062346914110997929413168380208321155515236235642636870264404\"\n ],\n \"59369214759245782907333625891360258228597615894613647493578668115244657807\": [\n \"2105250209051953770629651909168774361734553985952702585488513734668682995347\",\n \"16995469494309529879309755354238745177973058177974616265664285187964376757275\"\n ],\n \"5281771102756752426934271775387808226770868075190537811978274454031773575392\": [\n \"17812070439598832748865339659832256079714643960493644902083151872692767936181\",\n \"59369214759245782907333625891360258228597615894613647493578668115244657807\"\n ],\n \"7548056046735674178162348941986192194517351530727940236201616758427963809201\": [\n \"20413935621303167316586158018245753162605198704473404724659455728694154123584\",\n \"5281771102756752426934271775387808226770868075190537811978274454031773575392\"\n ],\n \"192577270069088834959414501180652775055728555079798731335761312351592107820\": [\n \"13195126309224017116988320217104037893146813507477549219885321033905576252646\",\n \"1\",\n \"1\"\n ],\n \"12060307949749220919284936143266101166671060673659406671949650634378552925043\": [\n \"17903213431379345936327021691605964372720014471621098347708486107368632916264\",\n \"192577270069088834959414501180652775055728555079798731335761312351592107820\"\n ],\n \"9866876330405448277466257935815353510529526116794266828379129129293390682535\": [\n \"12060307949749220919284936143266101166671060673659406671949650634378552925043\",\n \"0\"\n ],\n \"1960194470428059907510323203928486288250132060872576322536686593223413547236\": [\n \"9866876330405448277466257935815353510529526116794266828379129129293390682535\",\n \"0\"\n ],\n \"9881345581683409729866777022800768515541300570628518252344108299441767329655\": [\n \"1803839229258722537098634220998603438385076450795793001096363442660829598059\",\n \"1960194470428059907510323203928486288250132060872576322536686593223413547236\"\n ],\n \"17189462544066866163565881278424858459850489031357654042108424893271686028667\": [\n \"9881345581683409729866777022800768515541300570628518252344108299441767329655\",\n \"6497847188724374563174442026829847122310996643294935465674346415811898782374\"\n ],\n \"15115770734744084050337803387283839932350293989815508495065088640874240436221\": [\n \"1349541362494919649024710625700198751823191567021461847797669165552800188654\",\n \"17189462544066866163565881278424858459850489031357654042108424893271686028667\"\n ],\n \"1199801796402170883158436388185823650900927104781943804691073984785573442230\": [\n \"15115770734744084050337803387283839932350293989815508495065088640874240436221\",\n \"18158551467267783520346543147276252251451837240920327747833458387347975302354\"\n ],\n \"13001356883874052566229955715832044562575511801210372681453889545790722702552\": [\n \"1199801796402170883158436388185823650900927104781943804691073984785573442230\",\n \"15026049921589316802953167304272386733478275737619752662897702466936666689999\"\n ],\n \"1681880888398419462287370198831472669508176944223866783913078462389676944004\": [\n \"11624764737624769269997560338483262200531293465500858284052444838711741374004\",\n \"13001356883874052566229955715832044562575511801210372681453889545790722702552\"\n ],\n \"17500397216192331388147289233184119696852272704827728793764940123674302799753\": [\n \"17985205170082587714261239153804808344355763543254004600911381335754002194577\",\n \"1681880888398419462287370198831472669508176944223866783913078462389676944004\"\n ],\n \"5010367827424478035854594009456638976866436056055984701114459993584119459811\": [\n \"16537714667344932144449019233784574392861419124576791636555922933929347991625\",\n \"1\",\n \"1\"\n ],\n \"13836707277006376030101732464062499299704515789168397478360655088736706759418\": [\n \"14096517767086345506465233571828576609208770905009204172707259905339986596138\",\n \"5010367827424478035854594009456638976866436056055984701114459993584119459811\"\n ],\n \"6193535732968608874357771623166645316919022619197702453535846201375344376016\": [\n \"13836707277006376030101732464062499299704515789168397478360655088736706759418\",\n \"0\"\n ],\n \"19127045609845230837531776629079117769790913093476185692994974949786473238791\": [\n \"6193535732968608874357771623166645316919022619197702453535846201375344376016\",\n \"14518557696178074574719628879180197576382597001650822571675827956659440425417\"\n ],\n \"15673013207699443191307120219512938730679836699627764338413850015389023744115\": [\n \"0\",\n \"19127045609845230837531776629079117769790913093476185692994974949786473238791\"\n ],\n \"16155414333193497271152304050376934064360180810537395770798807134116092688405\": [\n \"15673013207699443191307120219512938730679836699627764338413850015389023744115\",\n \"8738357436281478433149478758301780343785148620301094790889998485354012703721\"\n ],\n \"6165247029106966810191700712530290857707343242953395631536705903757918762816\": [\n \"16155414333193497271152304050376934064360180810537395770798807134116092688405\",\n \"17985404721367593546432137943278813873896801466964783216680407245161449742788\"\n ],\n \"4475854150013578757040584715536020289017126630109575920182666018995243920884\": [\n \"6165247029106966810191700712530290857707343242953395631536705903757918762816\",\n \"20381973961943316870734841883699566001807668864259798108310069696470991557130\"\n ],\n \"4392860531414291511532332248142736629274564486743264613457827889688582202451\": [\n \"4475854150013578757040584715536020289017126630109575920182666018995243920884\",\n \"5970149659369924534668594243459134159034622459169628560821550762055830211045\"\n ],\n \"3098642814977426565163128303151605914197529426404546279619105438613815968034\": [\n \"4115173693380297988560119126704636839487101638563722848019563588319686120189\",\n \"1\",\n \"1\"\n ],\n \"11108288368619432319950842880632862528316830214737599748030628181739854563810\": [\n \"14309972055658204170423202138273111788710817702373273797384396296323387720384\",\n \"3098642814977426565163128303151605914197529426404546279619105438613815968034\"\n ],\n \"21575556957741541141326943744339647690306629391506486208955761970464417419380\": [\n \"11108288368619432319950842880632862528316830214737599748030628181739854563810\",\n \"0\"\n ],\n \"7752169785809436349451621404745243746701598346079807605278499288463820695691\": [\n \"10248573916140376973427607967851997897167882028660816243817075566076058250161\",\n \"21575556957741541141326943744339647690306629391506486208955761970464417419380\"\n ],\n \"1819029348235045737687982741504335955990261927190715002910590730585705628331\": [\n \"7752169785809436349451621404745243746701598346079807605278499288463820695691\",\n \"0\"\n ],\n \"17780667065175673095855868408033759946262032152524655555789402130019597275000\": [\n \"1819029348235045737687982741504335955990261927190715002910590730585705628331\",\n \"21591706914489467870572686109397352513610039191218957959613198718251201970316\"\n ],\n \"2059554788797335921763415576379798754525444988355408251646993709475819175866\": [\n \"16832173869235628325037535560475723124378387775758299971928788077547577787312\",\n \"1\",\n \"1\"\n ],\n \"14542534534679104389529575285565007208017808203159472136655384931832238021856\": [\n \"2059554788797335921763415576379798754525444988355408251646993709475819175866\",\n \"798477781704906784215652638088409238545483522618285571399270384245273079869\"\n ],\n \"9036085972827982969761794142116910109863156263037656795606974714772433001747\": [\n \"14542534534679104389529575285565007208017808203159472136655384931832238021856\",\n \"13722471788876265316475921653509640458789932314100807542126938045642257663621\"\n ],\n \"8164089993444416430810263413841853037387478818870194999885479356793624732781\": [\n \"9036085972827982969761794142116910109863156263037656795606974714772433001747\",\n \"15260869531965875619776310922928604172343464398826268355316240028510369957392\"\n ],\n \"1170970848221030913625952604306496767792730229061809979767138458727137640593\": [\n \"8164089993444416430810263413841853037387478818870194999885479356793624732781\",\n \"20295605969756511881078087786766130308526842529813259149041221401745002897716\"\n ],\n \"17209941486860936075902616838913764437157770932324322855467146446992819541612\": [\n \"6510357509386780713608121499198441606827612552348034331437122690433019372166\",\n \"1170970848221030913625952604306496767792730229061809979767138458727137640593\"\n ],\n \"3146402053947374251335516271772768751383935737512845957914245591178923281041\": [\n \"7205738851109612304573838712501137342706973157488005721874430689032231686853\",\n \"17209941486860936075902616838913764437157770932324322855467146446992819541612\"\n ],\n \"20398948076124824115169473013030780789404560681024732332857112609727670746956\": [\n \"12030303807527236436904770642829831174324014822790015853001358748483783648696\",\n \"3146402053947374251335516271772768751383935737512845957914245591178923281041\"\n ],\n \"1042250009396931962716396559294079656172657000440363615281237950672265219314\": [\n \"15452492964362059887344895238659036275729577952761235990896456826057054250745\",\n \"1\",\n \"1\"\n ],\n \"19750876988228995562210579353468722239292472915754319296739849492443857126252\": [\n \"1042250009396931962716396559294079656172657000440363615281237950672265219314\",\n \"18416843887308250895515150968846468039164677156592573245070962468294662458964\"\n ],\n \"13972567898992689004026791062297907451082768177560869310238301491502395089373\": [\n \"9920741117545460884095206222027807928719312380557283299084623181145954707280\",\n \"19750876988228995562210579353468722239292472915754319296739849492443857126252\"\n ],\n \"13153722331253507048730074939942333119736878541987540264576748464945295568340\": [\n \"20311801743625939702807027760644949783775743607043603054977238599094405341142\",\n \"13972567898992689004026791062297907451082768177560869310238301491502395089373\"\n ],\n \"18546804870389231458909268283241198721682731497050674634269106148121396947843\": [\n \"13153722331253507048730074939942333119736878541987540264576748464945295568340\",\n \"13744989912077619221899003274294476450322333494574357500567593498388181781621\"\n ],\n \"8549463148902593002700756958529020603929713629854227482519495091440112049102\": [\n \"18713735564562286950022349464385845088976419713322979939784648972164270716812\",\n \"18546804870389231458909268283241198721682731497050674634269106148121396947843\"\n ],\n \"19482010658528246438307978588348292995614805701296754908098230382135256153058\": [\n \"34254863754348974593562051888386772710552499423962394372595023800069233046\",\n \"8549463148902593002700756958529020603929713629854227482519495091440112049102\"\n ],\n \"12589580184911781303545678812658226965848594167318591218558540684050550190332\": [\n \"4960886475185212485896436727333157589829741632653996724148888991884371119160\",\n \"1\",\n \"1\"\n ],\n \"15766891818432974861329279296959887364211086227973978880583506615388039753137\": [\n \"14626548996379509369181092966557358464571282023373066027573804582110363030869\",\n \"12589580184911781303545678812658226965848594167318591218558540684050550190332\"\n ],\n \"16429350717501315365807166077405125180327676992704525405357718080965952429315\": [\n \"15766891818432974861329279296959887364211086227973978880583506615388039753137\",\n \"9017468675740702484719024782458236353850716154790607637089215437430257831999\"\n ],\n \"19605235464750595409871386993983050980313024669710829175779869555850369665024\": [\n \"16429350717501315365807166077405125180327676992704525405357718080965952429315\",\n \"20793184380218457548559718873659534564133154376176716255980031221442050316436\"\n ],\n \"19950152199082389033532365377444893386667308343373002645211763834039854269381\": [\n \"10938360475100078321676578852202393596675570937054119252165853019475324593619\",\n \"19605235464750595409871386993983050980313024669710829175779869555850369665024\"\n ],\n \"21832791060831184357249535758721374565625793619121372298315661734034966356487\": [\n \"0\",\n \"19950152199082389033532365377444893386667308343373002645211763834039854269381\"\n ],\n \"2161331687238912565084481283579520354746786386761554406599745833460349811262\": [\n \"4153340105489907264572936167880332569281025284496424338636158870951418284159\",\n \"1\",\n \"1\"\n ],\n \"11592538975889678661051029407156544308266633472286792145731091032511622032612\": [\n \"1027711794648274432905861195729411148460001002448096655134636457154032926970\",\n \"2161331687238912565084481283579520354746786386761554406599745833460349811262\"\n ],\n \"11508014702146826791131346672621246275679566457938410122929528535320562927534\": [\n \"11592538975889678661051029407156544308266633472286792145731091032511622032612\",\n \"5399754339833851378781427749445961790737036815949208057410740014534665038494\"\n ],\n \"223773548647872649025092994100180620233282619926930693695758411195904695957\": [\n \"11508014702146826791131346672621246275679566457938410122929528535320562927534\",\n \"2786904558995385651741011587975028196369497667389552520555183110271314521240\"\n ],\n \"4995276549458409754841319613482278237777744603904455104743116824065827027175\": [\n \"223773548647872649025092994100180620233282619926930693695758411195904695957\",\n \"19473368774589497212850587757416236974447661921927998280307420920448022009482\"\n ],\n \"16992906435784512583964633293662828788581214628310730101826334687215446412698\": [\n \"4995276549458409754841319613482278237777744603904455104743116824065827027175\",\n \"4062861652591656481920992413935003780943161075152434630099794702453226258029\"\n ],\n \"11917355684224166703415154527082093997787496508136599533210780842737474983022\": [\n \"14185171260264582830493717287863758656768189682692123826090995079638082000202\",\n \"16992906435784512583964633293662828788581214628310730101826334687215446412698\"\n ],\n \"16483149396576801083519377288620207952701471360520963645673707061854057141944\": [\n \"21445266178380896503842728548077138851889015930482385603258201041919590979950\",\n \"11917355684224166703415154527082093997787496508136599533210780842737474983022\"\n ],\n \"12231931647393695540553268561289981784834606988366774278032146032703584017563\": [\n \"8811693084820098160291238185655116704864196260636802841865197804275266584390\",\n \"1\",\n \"1\"\n ],\n \"2578096086923422990679758153077400461800931892344894465865363165665315888183\": [\n \"19629070117547384500922292730749850511252754919097014504845523068612463863343\",\n \"12231931647393695540553268561289981784834606988366774278032146032703584017563\"\n ],\n \"14712549728622154271024510252931498975101687533068210286450605645742439915699\": [\n \"13581475637610997959558691862572422211119447374017880914694065355046713645598\",\n \"2578096086923422990679758153077400461800931892344894465865363165665315888183\"\n ],\n \"12869849598300925340710546092688663423306496226818121016043692375899680091562\": [\n \"17974000391027039206898726670027794915340904879295316509821417420308179406390\",\n \"14712549728622154271024510252931498975101687533068210286450605645742439915699\"\n ],\n \"707464098996188075957294463198496087241088420631585954539785518850291910350\": [\n \"14315165308289414531341191938719356676934853679608207548507135461677422388009\",\n \"12869849598300925340710546092688663423306496226818121016043692375899680091562\"\n ],\n \"5897213766617649422272864405854250820638665121936323283908877892350247527869\": [\n \"3263903821090928105125969221001462755419698591830810613441503384849382221248\",\n \"707464098996188075957294463198496087241088420631585954539785518850291910350\"\n ],\n \"11345486054063565101750027057241482515410890304570365379570956246191364158583\": [\n \"1460372353341112661701752247013995764334972971008673426287882622675732812085\",\n \"1\",\n \"1\"\n ],\n \"6522101436247400310480690396605435229677673277431114542219844290572557268356\": [\n \"16198393285652764956714635698177583578617295570631427994524711272516706084198\",\n \"11345486054063565101750027057241482515410890304570365379570956246191364158583\"\n ],\n \"3550688437197246155115168315159912389390702134457799141251156518647515001242\": [\n \"6522101436247400310480690396605435229677673277431114542219844290572557268356\",\n \"12974891412149597223627413341328233762846078675166622905200735885567570423964\"\n ],\n \"4086594002670667405300290517716740276352911545407328561030210935144947560817\": [\n \"0\",\n \"3550688437197246155115168315159912389390702134457799141251156518647515001242\"\n ],\n \"1013693546872086888066824489727568679571096408783834132131218064028014931355\": [\n \"4086594002670667405300290517716740276352911545407328561030210935144947560817\",\n \"0\"\n ],\n \"8299551437128747794643348538766332967812707458769530727985533619879285308735\": [\n \"1013693546872086888066824489727568679571096408783834132131218064028014931355\",\n \"3114433160320223083111293698179686074117457452528664473990581229897706839882\"\n ],\n \"21883957106599060142020986850426182777805437652164682122948917421006796073447\": [\n \"8299551437128747794643348538766332967812707458769530727985533619879285308735\",\n \"3458497744241877931674894122255507473231783791149973777701748620622409220358\"\n ],\n \"7779499849880138071839902393454846289870721495496333038847359212484387057023\": [\n \"8313157585275768235541644769811746137944798243630586206463550652357727492371\",\n \"21883957106599060142020986850426182777805437652164682122948917421006796073447\"\n ],\n \"2380306354252329684546229185684964773964083389702431210069504598840117328772\": [\n \"3506604164250222583168100322200842327932574503354195414600679932612230693312\",\n \"1\",\n \"1\"\n ],\n \"17115399297536629757617202025518476085448087663196049778083783506524296287614\": [\n \"2380306354252329684546229185684964773964083389702431210069504598840117328772\",\n \"18132302407154121829948259320757798544595440001264876785677903929651597981313\"\n ],\n \"13018000259484281806580016514514384863599658343105690573941950189641910502858\": [\n \"17115399297536629757617202025518476085448087663196049778083783506524296287614\",\n \"2619162317107440188551299725085517466909888286756714882764568472500804002125\"\n ],\n \"2412397972816985088384751170540733978244241567895155992338872565999123929255\": [\n \"9053123457872604373722761864396202882068876262598379372730417386926794127871\",\n \"13018000259484281806580016514514384863599658343105690573941950189641910502858\"\n ],\n \"4004287922557644396899755923301300261124188880415958434169714411103025144835\": [\n \"1297193310508878343551851690410638671168078924751613616395809879190093691561\",\n \"1\",\n \"1\"\n ],\n \"14559551073000055701793286596387335450309847050826683342223067292518811556428\": [\n \"19279426688144010583208391503629493883564295748578407528923198756111738036126\",\n \"4004287922557644396899755923301300261124188880415958434169714411103025144835\"\n ],\n \"15384033701424761261150807044522212908992911030463273318452189911914741387864\": [\n \"0\",\n \"14559551073000055701793286596387335450309847050826683342223067292518811556428\"\n ],\n \"12219506763278367675068751589129775987401752719563889120895356495142007402456\": [\n \"0\",\n \"15384033701424761261150807044522212908992911030463273318452189911914741387864\"\n ],\n \"7340908237669612301198364243345588826740537050087388781266496099250594837554\": [\n \"0\",\n \"12219506763278367675068751589129775987401752719563889120895356495142007402456\"\n ],\n \"5539491497654421997392265372180876066042485930122996054458355788930961329426\": [\n \"0\",\n \"7340908237669612301198364243345588826740537050087388781266496099250594837554\"\n ],\n \"4251229847619553266524648518250468182322431242034240032839154057252508444970\": [\n \"0\",\n \"5539491497654421997392265372180876066042485930122996054458355788930961329426\"\n ],\n \"10795897716776038930670845732255148534183728536831263306136419115353889848822\": [\n \"1686394928667299499899688044285231824522972250188779136818867324266387941426\",\n \"4251229847619553266524648518250468182322431242034240032839154057252508444970\"\n ],\n \"1580008698482741675522109742573068213383625156730855634998123479618543647364\": [\n \"14570711664503826190755014443344296118167857819631535660355091573426106967151\",\n \"10795897716776038930670845732255148534183728536831263306136419115353889848822\"\n ],\n \"17380030576357272499392429832604505837183054133039402726631178470964670558340\": [\n \"1580008698482741675522109742573068213383625156730855634998123479618543647364\",\n \"14454719713817073659774258190941739863685716850030955856366575050383181722022\"\n ],\n \"7843963135380539038607323770456103867219734599094256545782098960155845630968\": [\n \"20737344132659680881581600544847102721664744003312892707970985595944188727995\",\n \"17380030576357272499392429832604505837183054133039402726631178470964670558340\"\n ],\n \"17398823178703529513648768601861867121736412370735008426704275062937429172922\": [\n \"7843963135380539038607323770456103867219734599094256545782098960155845630968\",\n \"21052155976695706465850300646733365342566294343684758727053610509174255513993\"\n ],\n \"5150620330179796440712226311741104796541354059724724362978902700312860732474\": [\n \"13546640136929452993202470542460785620701205370004029015240577681535190899567\",\n \"17398823178703529513648768601861867121736412370735008426704275062937429172922\"\n ],\n \"7549940032684859432080470215167112276045433363516089871844868037590917032022\": [\n \"1878594458344973904508198607278100659626058142876997782450371925560872761714\",\n \"1\",\n \"1\"\n ],\n \"12506395148914986708408430937346774998031126898574032863478065533232834679661\": [\n \"10334722542238585951134000293074780401424577753607401616399383341252497812599\",\n \"7549940032684859432080470215167112276045433363516089871844868037590917032022\"\n ],\n \"4631825263010385247574526063487595662475789521767259007194344246764714451415\": [\n \"0\",\n \"12506395148914986708408430937346774998031126898574032863478065533232834679661\"\n ],\n \"12576173793811635894194396474817859310476028326773387478106939115212942226917\": [\n \"4631825263010385247574526063487595662475789521767259007194344246764714451415\",\n \"15791778526643048503787788062166034253355007173447751283138769628802786529420\"\n ],\n \"2886650582121252917273553636094569772619372040250474494677442560831055179106\": [\n \"12576173793811635894194396474817859310476028326773387478106939115212942226917\",\n \"11110646433909287404479717026880842901354846863242049576214704464042328810129\"\n ],\n \"19041756551041086643411268690914171257701960632290078784052612867742626297525\": [\n \"8752510656903319128342376990289868287658809462883065817022853484752905502427\",\n \"2886650582121252917273553636094569772619372040250474494677442560831055179106\"\n ],\n \"20291517369174769777447260063603773384114365318328185949939066699722908117927\": [\n \"12079911692317152211597434831277322753983281985294051176907930910789952327774\",\n \"1\",\n \"1\"\n ],\n \"9854016337538536233176596056797083761627254393583317417040385884669399326452\": [\n \"6362639758702818446728897060734889689345518590756336431366711753096650753305\",\n \"20291517369174769777447260063603773384114365318328185949939066699722908117927\"\n ],\n \"18852535515736222611045289774665394337746793417562710221241725316884539369582\": [\n \"9854016337538536233176596056797083761627254393583317417040385884669399326452\",\n \"3772504706143099228218220433032297210581203689615660288004917332175123022966\"\n ],\n \"18812406243833086498409748023238587579583359910261880859712225243128314698178\": [\n \"18852535515736222611045289774665394337746793417562710221241725316884539369582\",\n \"679741801073508481476294657190941427945484181653646031026667267573909334212\"\n ],\n \"7328241363608659192789758446719062455028942777466343801897227897351955315850\": [\n \"18812406243833086498409748023238587579583359910261880859712225243128314698178\",\n \"15911162816787625294508274842698477336729409200713586287754546143267090864912\"\n ],\n \"17982099664925475650268068686618504823435654355643142334261175293872566393397\": [\n \"7328241363608659192789758446719062455028942777466343801897227897351955315850\",\n \"10540399095351516525063918298716698610111163662044376050310688682800856461554\"\n ],\n \"6280951012459255855093400180051947982366767066196636775791870453942522344651\": [\n \"17982099664925475650268068686618504823435654355643142334261175293872566393397\",\n \"16947742479383406164654168548915817019878784196896512208232719172376899529224\"\n ],\n \"20049951723104488390612130761053575228556365353526832392911743015230460872458\": [\n \"20216075283933486393031670656422807975479644919525709145515556613016451035237\",\n \"1\",\n \"1\"\n ],\n \"21556981867485613789873374241129810976597165536511412395079461509181567571743\": [\n \"20049951723104488390612130761053575228556365353526832392911743015230460872458\",\n \"2543392065799008133050342477255709030132896121824168607268523607934342480643\"\n ],\n \"15250397370852124789286492274840386194096732900096775637904747959776161032372\": [\n \"21556981867485613789873374241129810976597165536511412395079461509181567571743\",\n \"0\"\n ],\n \"11526510433824921145758471699034320707722660318062791573864544816732951479324\": [\n \"15250397370852124789286492274840386194096732900096775637904747959776161032372\",\n \"0\"\n ],\n \"18787295515343367995874170333389746935819907560043590246219997417040736667026\": [\n \"0\",\n \"11526510433824921145758471699034320707722660318062791573864544816732951479324\"\n ],\n \"17375009853950626773125248670276257184977930706617369844896206356293240152924\": [\n \"3978283890347194078149637762229518325483292229165799119289773087820847671806\",\n \"18787295515343367995874170333389746935819907560043590246219997417040736667026\"\n ],\n \"1344903811013798391594044691493031167149292063482677757690239958927750174671\": [\n \"17375009853950626773125248670276257184977930706617369844896206356293240152924\",\n \"980712154111092864183267051111896752603401045821554406103647875218710335766\"\n ],\n \"4685614096314750913978497931699564886840219562014783885445303895468195329218\": [\n \"1344903811013798391594044691493031167149292063482677757690239958927750174671\",\n \"9964155808661179432649097014619377903749215931015878187874718316894776164260\"\n ],\n \"4538317618092010849532402410351583958670597773874469922961657485518358948266\": [\n \"4685614096314750913978497931699564886840219562014783885445303895468195329218\",\n \"18706611556875705454836741167501652016297581835077084811053791485299197638211\"\n ],\n \"15556345207626951873101308065346231335763211229567088581076981578475211976174\": [\n \"4538317618092010849532402410351583958670597773874469922961657485518358948266\",\n \"18952237469915165620658050699341939574744093526185599374330269562053812062878\"\n ],\n \"3705180126276054751251612930136090750300538638218091825477731839704889775050\": [\n \"15556345207626951873101308065346231335763211229567088581076981578475211976174\",\n \"9566661074403627140152309457695059562753300406779868975570193510005419945002\"\n ],\n \"9406274569128158300039312536401596933865957615209835981706330867089077700578\": [\n \"8454006058345473657364700463943989954421716114610631888481741171039175175309\",\n \"3705180126276054751251612930136090750300538638218091825477731839704889775050\"\n ],\n \"19750714129586008238977132324570542598087696066649762081691474842118061874149\": [\n \"14712399178116735674021514987362319440088928955532574561485941344812007567829\",\n \"9406274569128158300039312536401596933865957615209835981706330867089077700578\"\n ],\n \"11074617172337311630485425323116780450117196032117810823845403310444542362441\": [\n \"4944787402353607518323496090092367839009774785807168175966206556670679885417\",\n \"1\",\n \"1\"\n ],\n \"15723935759036033514018853725245524360346576730515987934910954690430299856427\": [\n \"11074617172337311630485425323116780450117196032117810823845403310444542362441\",\n \"16286673271432798775233424537346498612592319944252688226427454356969337101020\"\n ],\n \"821367861811220364197060037374084462485322648954135558282932546176606034948\": [\n \"14374667347397284066237754142717695927642653828661997990570659517971810299072\",\n \"15723935759036033514018853725245524360346576730515987934910954690430299856427\"\n ],\n \"13547312429390350332408847877350062740004256169419363746235576016287505443921\": [\n \"19074848689745325253977038031565105658118609904967645149953135058755375196783\",\n \"821367861811220364197060037374084462485322648954135558282932546176606034948\"\n ],\n \"9592082085142858468548452252684585587123785287396293422812304570701803556636\": [\n \"11109867640527654740859384754622129042501978647848829916553951790055490826318\",\n \"1\",\n \"1\"\n ],\n \"962834323239806364548430271166071958321454017148983682233448038872343407079\": [\n \"9592082085142858468548452252684585587123785287396293422812304570701803556636\",\n \"5584175141624792261193319276112686446076171961987998761089536030529477214602\"\n ],\n \"20250372830654697333406706516459604435301041803202404311067226010771397049015\": [\n \"0\",\n \"962834323239806364548430271166071958321454017148983682233448038872343407079\"\n ],\n \"19372917001103271923113816946271431109765287943161948322065260344597163726740\": [\n \"0\",\n \"20250372830654697333406706516459604435301041803202404311067226010771397049015\"\n ],\n \"10689898163828800521387737997252320248852718556710481080727353826763370885684\": [\n \"19372917001103271923113816946271431109765287943161948322065260344597163726740\",\n \"16723834147208138370274750965704024951774434144894528817935030817057077858325\"\n ],\n \"9368452544651316584191425784284962841594480166796691035235239396889463045562\": [\n \"10689898163828800521387737997252320248852718556710481080727353826763370885684\",\n \"9182637695473373320836335136584705293159914461034048573552415482381481162355\"\n ],\n \"21593825705116563973218966770188519713954534410126957565195470630318922041288\": [\n \"9368452544651316584191425784284962841594480166796691035235239396889463045562\",\n \"20888520736357440483177981793462402489806634628905586343588498036748075649792\"\n ],\n \"10520096388022653427024052122442436948722155893545653199266759164779324555889\": [\n \"21593825705116563973218966770188519713954534410126957565195470630318922041288\",\n \"14437261649919618545750806169951334936120460433671678569630702386076107885519\"\n ],\n \"19708718086089577322173528986536645570891926350299355962853220009100918311905\": [\n \"10520096388022653427024052122442436948722155893545653199266759164779324555889\",\n \"8293850853244864276970904344355942537182363053432562353803355305786673668477\"\n ],\n \"19063503933807891402083260098934233801722588291559749027123449993593818029497\": [\n \"6676431263539530856081096524455692992969450223191964975113577485072905538378\",\n \"19708718086089577322173528986536645570891926350299355962853220009100918311905\"\n ],\n \"7324607528538641199007408688622661673417506993532258954421595934525653613255\": [\n \"1268021768175516307051470302829305623656303260141064331746418217764823367463\",\n \"1\",\n \"1\"\n ],\n \"12657794463783930327656686535236171632582590265378701596383376735246956494649\": [\n \"3071464769028350378901731416572429955369114160381200941180346005847215000899\",\n \"7324607528538641199007408688622661673417506993532258954421595934525653613255\"\n ],\n \"6038314528825720405245664681699435156397225471864568191893133210566846334474\": [\n \"0\",\n \"12657794463783930327656686535236171632582590265378701596383376735246956494649\"\n ],\n \"20633056622085711621019396700685343753153096255665609965127110373197549417247\": [\n \"18733946009165277979015113900375782271103074163596167625022121143511025908586\",\n \"6038314528825720405245664681699435156397225471864568191893133210566846334474\"\n ],\n \"9257698943650101717570553462991411325034968375959696819478896364699152358034\": [\n \"9211987348078972265243612535378093393770029329513094459489609233031295744484\",\n \"20633056622085711621019396700685343753153096255665609965127110373197549417247\"\n ],\n \"8046471093921809193603095991247940763977009999092265517240419596563329498016\": [\n \"15801971895198073992622667016943166847242886931321281517947318143257688565896\",\n \"9257698943650101717570553462991411325034968375959696819478896364699152358034\"\n ],\n \"18996431688640423193339909775580109502901002602964909055778162694647890273959\": [\n \"8046471093921809193603095991247940763977009999092265517240419596563329498016\",\n \"12825451404604914194240560335752008719031847829636492110386415100719676930343\"\n ],\n \"17052284166853285065197421290451381191117175217010602557212656508094624593289\": [\n \"18996431688640423193339909775580109502901002602964909055778162694647890273959\",\n \"15356562098061251092282927280498498844297148885771033131983844211028695491626\"\n ],\n \"14959208759035909249547963727581025558558470502815111172055654341757612686654\": [\n \"9292495069111226129117454650367905548353753704772197942841978169066218231554\",\n \"1\",\n \"1\"\n ],\n \"1520731145128868725685283975942125883831207751287009202517772889177661425934\": [\n \"14959208759035909249547963727581025558558470502815111172055654341757612686654\",\n \"16983657796818474045692786558568715260856951749180932147842300751613298422208\"\n ],\n \"1253332085764616020914040665289934422195764780436082144586570987419786078171\": [\n \"0\",\n \"1520731145128868725685283975942125883831207751287009202517772889177661425934\"\n ],\n \"12465486840648723175420897811707660716287045558001232468743319981580123188493\": [\n \"1253332085764616020914040665289934422195764780436082144586570987419786078171\",\n \"0\"\n ],\n \"3028458805987329892480901832076013018745844983494229217500893767261882655425\": [\n \"847402584856751503798057676377659888437071759882759211147747698441277381341\",\n \"12465486840648723175420897811707660716287045558001232468743319981580123188493\"\n ],\n \"21024379588938534683381696998803054631165145039493144893888915000945214244515\": [\n \"10598324136636602080950818523436733576474577571052011963178181435728347643147\",\n \"3028458805987329892480901832076013018745844983494229217500893767261882655425\"\n ],\n \"18941010618868118740919516414633525915889971402002189665420610763016019353388\": [\n \"19073493513195271409534904456818834431562527582471721698911274758227488322386\",\n \"21024379588938534683381696998803054631165145039493144893888915000945214244515\"\n ],\n \"12719277732098174669968467740021873102741451659352953709410535497074956189577\": [\n \"18941010618868118740919516414633525915889971402002189665420610763016019353388\",\n \"13145140830870997653553050414884589770146874699500012187491032953581718485780\"\n ],\n \"14661083249851855696791196347473288814435830012509992239195413319947109098846\": [\n \"15274289704065158995819551929931368209750197692320920436553782896859082735733\",\n \"1\",\n \"1\"\n ],\n \"6710358759141162165010525722004799363564916377148256628856707174163484588547\": [\n \"14661083249851855696791196347473288814435830012509992239195413319947109098846\",\n \"13836937080293515991993802490359975116408554731253155479034459124194659799846\"\n ],\n \"21245796957482136936952064830429805695147934340232716331271953661848483496856\": [\n \"6710358759141162165010525722004799363564916377148256628856707174163484588547\",\n \"0\"\n ],\n \"3911582328833240286393034582711731195881451607643540314211751970682278397771\": [\n \"0\",\n \"21245796957482136936952064830429805695147934340232716331271953661848483496856\"\n ],\n \"12804457125958678605087387777962403922958695837487608771007496804510519680564\": [\n \"3911582328833240286393034582711731195881451607643540314211751970682278397771\",\n \"0\"\n ],\n \"9337051627819593864561319064968712215547629855373134219523243850193514436969\": [\n \"0\",\n \"12804457125958678605087387777962403922958695837487608771007496804510519680564\"\n ],\n \"4630955186542011178563599253808551577966428405638689139597407567531750022477\": [\n \"9337051627819593864561319064968712215547629855373134219523243850193514436969\",\n \"0\"\n ],\n \"17918864899865826650669084622646681887459099534273900338599693161424334039815\": [\n \"4630955186542011178563599253808551577966428405638689139597407567531750022477\",\n \"8324803992693849637847819146222243871824732923341753282247015053102879427956\"\n ],\n \"17652410772195745109492340310346112252026814753505196917296507584764121551738\": [\n \"17918864899865826650669084622646681887459099534273900338599693161424334039815\",\n \"5845814224886854372445149995219315035650083034111352851467753701293152831771\"\n ],\n \"20429625287624974479724169083268380611499817020668883160127098561176576047020\": [\n \"3319172777622043320797095236440547419117357931539747533602953687841181559820\",\n \"1\",\n \"1\"\n ],\n \"7301818473313002702551483764387638584592102047008790359466312937270277466836\": [\n \"20429625287624974479724169083268380611499817020668883160127098561176576047020\",\n \"2580887193528011234419148470523126051341040054618014962713599284925577339966\"\n ],\n \"388338743094929500508127360143662345068904597580692120309613416601420598287\": [\n \"4098555275475474015972252266568213223392907009902186445911753687057766502971\",\n \"7301818473313002702551483764387638584592102047008790359466312937270277466836\"\n ],\n \"20181636237918962396023703243439086657089189863753123973553116576852082981119\": [\n \"8128829108249271620379298569099495187232478823156012855063474236477682737101\",\n \"388338743094929500508127360143662345068904597580692120309613416601420598287\"\n ],\n \"14284793645505689775934854898080101883504041085013167964707666732354612261654\": [\n \"20181636237918962396023703243439086657089189863753123973553116576852082981119\",\n \"13410923419559339472368324898039484729903734907090398471237669516479859211711\"\n ],\n \"8428773889559453872172047161368079813648379568866112309192896831846426736061\": [\n \"14284793645505689775934854898080101883504041085013167964707666732354612261654\",\n \"13829072043678140784238469429419247045600537544740949173433398428590595553677\"\n ],\n \"21598393565786077453933135705114011924517617931840259349589147478365144196689\": [\n \"1319069217626420589739600391963945521009697948062064657821818236604453275473\",\n \"1\",\n \"1\"\n ],\n \"1932591296848390643418551931281661417067877522415949454830631439950984287045\": [\n \"21415325588411407866904449219947338192894175373818396251537687504890318272330\",\n \"21598393565786077453933135705114011924517617931840259349589147478365144196689\"\n ],\n \"6597704748916925290083875332886455230215238202550219584723891352845168976282\": [\n \"1932591296848390643418551931281661417067877522415949454830631439950984287045\",\n \"14066192961008305549359353111674746538736787454494207425928026235367772118221\"\n ],\n \"9084909843126310051762970178738381295491133852188316367119583188036428830177\": [\n \"6597704748916925290083875332886455230215238202550219584723891352845168976282\",\n \"18788359439832251530188381298103598471621863350984897028716278974222767619287\"\n ],\n \"12942485973560703703805882452762666500642053683139202282112760046567393535892\": [\n \"9084909843126310051762970178738381295491133852188316367119583188036428830177\",\n \"20198903364087756044726961955546955108521553634569403977300571647980883367339\"\n ],\n \"15268831039800257869013673513176397233584673873932649673136130255521631667391\": [\n \"20617495357783985606281678088285679300287903054782982250548020607972809026288\",\n \"12942485973560703703805882452762666500642053683139202282112760046567393535892\"\n ],\n \"17001188248906950650869905098247321518963552782740607348422316014823932838491\": [\n \"3679423436727014509709660965281178082030736203124801089510269147319980032633\",\n \"15268831039800257869013673513176397233584673873932649673136130255521631667391\"\n ],\n \"1191834163586505079009985087424680942087497293267205676969895029878059958123\": [\n \"18118160367141104580997746471190282241357709450143575121006822068526729797684\",\n \"17001188248906950650869905098247321518963552782740607348422316014823932838491\"\n ],\n \"13248635298836120577021865857162571849175507565724219153137420278050049014775\": [\n \"1191834163586505079009985087424680942087497293267205676969895029878059958123\",\n \"3541198171729521990994573034408662673408260245063963381215550179518186442061\"\n ],\n \"2199910810360236854722912674199307420048226403538934234033845585710987819987\": [\n \"4566197036914580959407332524430214080234847223581468345068864420148191545147\",\n \"13248635298836120577021865857162571849175507565724219153137420278050049014775\"\n ],\n \"21679843086908582384618057616638714014180940921136512706310850549906816400170\": [\n \"13556162721390062963423695866188706359809637578705366722525349409768994752652\",\n \"1\",\n \"1\"\n ],\n \"3042898146369543586904307825711280119490652436773466702192821540098477331185\": [\n \"21679843086908582384618057616638714014180940921136512706310850549906816400170\",\n \"4012029840245204490438926780747728860835818121212068270718213429882433099627\"\n ],\n \"17819976947709092590566235026473960327469210656728873840611609835595948455885\": [\n \"3042898146369543586904307825711280119490652436773466702192821540098477331185\",\n \"0\"\n ],\n \"1026376781612042710340748531534187818709971353757919981927953769919275337420\": [\n \"15025180357606694147404200993686029301414577976471951040992244372462663404743\",\n \"17819976947709092590566235026473960327469210656728873840611609835595948455885\"\n ],\n \"5267044165608844073576447656154835638247467196143561268516445653151801017758\": [\n \"1026376781612042710340748531534187818709971353757919981927953769919275337420\",\n \"5590645625249181115315974179507225676439603124972789025654894194370432796820\"\n ],\n \"19219905339175093513707333294554764013190418016755911349587225805900645952401\": [\n \"5267044165608844073576447656154835638247467196143561268516445653151801017758\",\n \"17695154760441743949323193752432791016450905496358755525025398624034848175670\"\n ],\n \"14551207061502469783561112205428755062802449790891605820432305990852254733864\": [\n \"10186633561732683509890707404719618457290539283741062281077958991040637244998\",\n \"1\",\n \"1\"\n ],\n \"18051856089193369564483103796068009701317782609325314057853312202829256535523\": [\n \"14551207061502469783561112205428755062802449790891605820432305990852254733864\",\n \"10680785088212978229301150170105039556018354524389990892616874489689991526042\"\n ],\n \"1505086172985505445295855971041257541553451442942517273742200935138477865954\": [\n \"722054336106558245236669743866747735833485150407389304824173304788915017630\",\n \"18051856089193369564483103796068009701317782609325314057853312202829256535523\"\n ],\n \"17802460727744098454428554702442304932563482722934012024952682142249626913372\": [\n \"1505086172985505445295855971041257541553451442942517273742200935138477865954\",\n \"18113489490771828527804776193695352355044407143410976006446757994679850689500\"\n ],\n \"7211641948595863567811567169218517277218889431279015522326997036474638252467\": [\n \"19367713801356089511506964478802365993019809359446445381572188285790025399256\",\n \"17802460727744098454428554702442304932563482722934012024952682142249626913372\"\n ],\n \"654964294619805273036699814465201149071074334109335665051730990420477952081\": [\n \"1182739959523733079011592314581523455464140620855156104462251594445558623067\",\n \"7211641948595863567811567169218517277218889431279015522326997036474638252467\"\n ],\n \"20083820140289745705879557246057058207510672284308920660892603183241980936389\": [\n \"654964294619805273036699814465201149071074334109335665051730990420477952081\",\n \"5897213766617649422272864405854250820638665121936323283908877892350247527869\"\n ],\n \"1367397888248717570809798740905102830081592984671369228741768372504977991247\": [\n \"20083820140289745705879557246057058207510672284308920660892603183241980936389\",\n \"276508896326761643946874915895616461103391768449247491696477132816753231227\"\n ],\n \"13157701668446947505471223158013229404598806682370852920597488502408511341282\": [\n \"4753285551032169594233130970963822485721449998495787593103317620236031254197\",\n \"1\",\n \"1\"\n ],\n \"20784861075041543505663774367646154440708567360354119833926179454611343208669\": [\n \"19479719013415661810687018393713453291469504243957189117777214825895460640957\",\n \"13157701668446947505471223158013229404598806682370852920597488502408511341282\"\n ],\n \"19917105872412678208079818122545303607980965934328300132342207153272739872112\": [\n \"21216601443858426435877862887162794092360429793855316225107036480639222534650\",\n \"20784861075041543505663774367646154440708567360354119833926179454611343208669\"\n ],\n \"14006905803317104561007438871857846829117786744443927906761476625407775096625\": [\n \"12282701212712008767425362158511763313378656937909521481373334090689483279644\",\n \"19917105872412678208079818122545303607980965934328300132342207153272739872112\"\n ],\n \"13384090419278808890503875426582528796861331797960071589196202774756903409031\": [\n \"13757180191585407610511092409699967683613513236303385249096267670162173324807\",\n \"14006905803317104561007438871857846829117786744443927906761476625407775096625\"\n ],\n \"15002664441551876619817937572352605622626449049722912779225305377358632076896\": [\n \"13384090419278808890503875426582528796861331797960071589196202774756903409031\",\n \"16377875550124167148326780131172300539016499228168300660201952314102181177595\"\n ],\n \"4294141171031048361103593564877456715565409265315495100149871051663352288502\": [\n \"7779499849880138071839902393454846289870721495496333038847359212484387057023\",\n \"15002664441551876619817937572352605622626449049722912779225305377358632076896\"\n ],\n \"5541537837233280508989251919988620666301925302996102007110135905684419943049\": [\n \"20172793884560055618892571089458047793618394592061107850986735506444858829704\",\n \"1\",\n \"1\"\n ],\n \"11341500992475938452685859173836259779194567082126283595643530286288785148378\": [\n \"5541537837233280508989251919988620666301925302996102007110135905684419943049\",\n \"5872331354577113623949682771486213958664593683491978164007908505376014348340\"\n ],\n \"20410260755742358577119234228598501603470996395658561480972375287815337220160\": [\n \"4577324386072648082472778118977931916442934810133805418871943897305064535988\",\n \"11341500992475938452685859173836259779194567082126283595643530286288785148378\"\n ],\n \"15833498801016270302681338124479122344377057813278767026181813224523901916096\": [\n \"20410260755742358577119234228598501603470996395658561480972375287815337220160\",\n \"0\"\n ],\n \"5820255213655891912310024135634040506504488210044842804421043934786741927827\": [\n \"6895397910096466373887332885678044198049483700110158661906976336168973940125\",\n \"15833498801016270302681338124479122344377057813278767026181813224523901916096\"\n ],\n \"1161387863679681588693022238847618104442534767132002414854547768570583414241\": [\n \"5446253197710482821337915133906734408117472525934065856672559275656190738778\",\n \"5820255213655891912310024135634040506504488210044842804421043934786741927827\"\n ],\n \"6196979148454765380938977294868655843223542156333421303994278669179724541403\": [\n \"20479270876836873763227132164419694675561382197136517780865162855905719240527\",\n \"1161387863679681588693022238847618104442534767132002414854547768570583414241\"\n ],\n \"290409419968746296932877457365640273386643164007320985609798348914376328576\": [\n \"6196979148454765380938977294868655843223542156333421303994278669179724541403\",\n \"13357834180038566811714877466733655799892913017084021191982667521732511021152\"\n ],\n \"7289097879548518657299109624094982881405204810270051440717631722050048327588\": [\n \"290409419968746296932877457365640273386643164007320985609798348914376328576\",\n \"1292551066912976245459001045481787870285210943291577625730234704362045801213\"\n ],\n \"2743407648391283557725301953747098667778814274356530776522586091409481502372\": [\n \"8475516848476895506524721965575277753550439196219144393855184117254653493816\",\n \"1\",\n \"1\"\n ],\n \"6548450127601006373877573069347367797650806480824055735291884174102481935043\": [\n \"2743407648391283557725301953747098667778814274356530776522586091409481502372\",\n \"13166194299237729627091287737645684437303556438672368622696341258527146701242\"\n ],\n \"5096441318864454403890844587446186204975398073966692385930278275696607658666\": [\n \"6548450127601006373877573069347367797650806480824055735291884174102481935043\",\n \"975709073598654678256306547801524560594793709367186763242488351626736760204\"\n ],\n \"1427384213403051364016438158245956655460301992359682229359510598831057579470\": [\n \"21832791060831184357249535758721374565625793619121372298315661734034966356487\",\n \"5096441318864454403890844587446186204975398073966692385930278275696607658666\"\n ],\n \"12623663974939468325883516751760760790757227975667621952387045611934542224020\": [\n \"1427384213403051364016438158245956655460301992359682229359510598831057579470\",\n \"6706521632371565697221279994648821107572970033907745116229089153102797595161\"\n ],\n \"5423519325056452570590716095874614130171914099221481414765032678905038640642\": [\n \"12623663974939468325883516751760760790757227975667621952387045611934542224020\",\n \"11386753775223677000808281915549675693071474363933986914540603908566023062943\"\n ],\n \"6769377030792218097721220331646301167987354997516604789061006587684893126550\": [\n \"5423519325056452570590716095874614130171914099221481414765032678905038640642\",\n \"13279145566497992031784650921651235460697255847506825014143291176356418548995\"\n ],\n \"18620473920260382316420748209448163454512522364471059777918481254099267366274\": [\n \"10818839392496056815044563479033249289774321444217552047646461430549818150707\",\n \"6769377030792218097721220331646301167987354997516604789061006587684893126550\"\n ],\n \"10875640870830207372445036246859955595076286442014564231699546480706040665330\": [\n \"7289097879548518657299109624094982881405204810270051440717631722050048327588\",\n \"18620473920260382316420748209448163454512522364471059777918481254099267366274\"\n ],\n \"18287479948651776331737275889175336725987507808500332608889969863836577284653\": [\n \"13439453717243677113274860067292144276947687751677836931754247014605985390953\",\n \"1\",\n \"1\"\n ],\n \"12976920145333696873812873749594618698699116070800904950059904010332412097180\": [\n \"17346068483706292028482039624020854010633458396542692291911071715995916367324\",\n \"18287479948651776331737275889175336725987507808500332608889969863836577284653\"\n ],\n \"12062637858457823288594014438074873784221806065749695291889171465824164080154\": [\n \"12976920145333696873812873749594618698699116070800904950059904010332412097180\",\n \"0\"\n ],\n \"2464438175461710477144210321285329776498907662614990474536385777884973171516\": [\n \"12062637858457823288594014438074873784221806065749695291889171465824164080154\",\n \"8168159832556681070348880721553812890196166137603873491581561212273192089947\"\n ],\n \"7943328630458298428553285186701755192964624474937710372476170150577459510531\": [\n \"2464438175461710477144210321285329776498907662614990474536385777884973171516\",\n \"2850283431107358258690548848878901415815468987680203791590213321385181497379\"\n ],\n \"7281783595327587818162464618657412345672184692433616543071705330881465211704\": [\n \"7943328630458298428553285186701755192964624474937710372476170150577459510531\",\n \"21254699298705427868183231766378493963923254351440765791138273818595988944821\"\n ],\n \"7752669313063875926985470887065513265708684266879510277148279960335235191327\": [\n \"13547312429390350332408847877350062740004256169419363746235576016287505443921\",\n \"7281783595327587818162464618657412345672184692433616543071705330881465211704\"\n ],\n \"6443688570230144008908291266370063150865324157479911970770088459734075437870\": [\n \"7752669313063875926985470887065513265708684266879510277148279960335235191327\",\n \"2628524918050817332334076766480613354586997439911650840129336567745256438057\"\n ],\n \"4436451110661710975090578383096505472378250712628806993698707518845646688591\": [\n \"5150620330179796440712226311741104796541354059724724362978902700312860732474\",\n \"6443688570230144008908291266370063150865324157479911970770088459734075437870\"\n ],\n \"3955834152543601259836485321577873818526019857821607519256611818011582169243\": [\n \"15913004631864464429897440252126944356967316516236510643825395566141565231113\",\n \"1\",\n \"1\"\n ],\n \"10801031163693683920784340085995187884255267981295951285857173803547971083089\": [\n \"6513378274543352740792796954916933699148015280794829707356630278224115382801\",\n \"3955834152543601259836485321577873818526019857821607519256611818011582169243\"\n ],\n \"13636215538840110547593583631121742610585834275266639900332974629126023205604\": [\n \"0\",\n \"10801031163693683920784340085995187884255267981295951285857173803547971083089\"\n ],\n \"9309103484565606572532679883411327078522821561160849235084741062901416780599\": [\n \"13636215538840110547593583631121742610585834275266639900332974629126023205604\",\n \"4856409268571310776716578058927922191668557233304228839251122835689612545345\"\n ],\n \"17104013227014727790395525821719177043593813588393948418182191827297764805590\": [\n \"9309103484565606572532679883411327078522821561160849235084741062901416780599\",\n \"4394005560816072400060669579137993545631836872493204121977145414898019615448\"\n ],\n \"8810373862461348972219171698981262806170586450054308401385242309902867757179\": [\n \"17104013227014727790395525821719177043593813588393948418182191827297764805590\",\n \"9960551366542691615324185935278499537867580803526536356541442156429389089689\"\n ],\n \"19680492187039018453885809554439593545405379858280392629686242274638081808173\": [\n \"8810373862461348972219171698981262806170586450054308401385242309902867757179\",\n \"11631506390286219669216052573155394688112351464292939129484790969538127189306\"\n ],\n \"2849698610674122289715889121899613253568403592960533059397106137734904884735\": [\n \"19680492187039018453885809554439593545405379858280392629686242274638081808173\",\n \"11157715135471574136146386194236034658807021117340954202076516709997338797973\"\n ],\n \"8732027842200988846980386559206803667829444451425115996322129583143924884357\": [\n \"2849698610674122289715889121899613253568403592960533059397106137734904884735\",\n \"19802120802888677994665008378487541407047636629572525157841341245039715261196\"\n ],\n \"372374822543347644817065074545720005008866950044131095955177601657207839375\": [\n \"8732027842200988846980386559206803667829444451425115996322129583143924884357\",\n \"4392860531414291511532332248142736629274564486743264613457827889688582202451\"\n ],\n \"5087594209056948220663605012042386622705087011539100310441400923170890816669\": [\n \"372374822543347644817065074545720005008866950044131095955177601657207839375\",\n \"4436451110661710975090578383096505472378250712628806993698707518845646688591\"\n ],\n \"18707326838638059075911625190237474393519789226784102100310126132368884474884\": [\n \"12422559935953440951143604663132062587429664417869019990380883799948612454653\",\n \"1\",\n \"1\"\n ],\n \"13107303562335446774530951920973897789744680215399518003223986405527891782350\": [\n \"18707326838638059075911625190237474393519789226784102100310126132368884474884\",\n \"13419543815690409072431796152021524084700570258935206164660414595437346833861\"\n ],\n \"4211779674647198587124312209089932145738472358493493053262325564806000828430\": [\n \"13107303562335446774530951920973897789744680215399518003223986405527891782350\",\n \"4468320103527622867311822068599161983079224559943765241225385259854845618702\"\n ],\n \"19207148398305690874074780350596783803872301327347544567776890373019621503555\": [\n \"4513109905845543180893582004718521675718200440249618096171474691720128425919\",\n \"4211779674647198587124312209089932145738472358493493053262325564806000828430\"\n ],\n \"1761063715634678224054627602476682316973020737836987538956456747170080477793\": [\n \"19207148398305690874074780350596783803872301327347544567776890373019621503555\",\n \"15687921580838206643889060155354287680007860271044826142203899635544001835346\"\n ],\n \"21773669574699185293730382828171183316565479300792278451435152129820851779620\": [\n \"1761063715634678224054627602476682316973020737836987538956456747170080477793\",\n \"17780667065175673095855868408033759946262032152524655555789402130019597275000\"\n ],\n \"9838811595265840501777319900246054384731615764984016206372483987448308677407\": [\n \"21773669574699185293730382828171183316565479300792278451435152129820851779620\",\n \"842307196611100465037941115884873338463891453591438254175014523151431152357\"\n ],\n \"7934811283578367607485825056836276964266400948783665419341258707324909807988\": [\n \"1481502254329371359629909409212488776410740945293288406548118256792393793932\",\n \"1\",\n \"1\"\n ],\n \"5901396260939929038371554506326956922264453157676010628464134938678879472639\": [\n \"7934811283578367607485825056836276964266400948783665419341258707324909807988\",\n \"17274626820565811246219535297055418048959760810597839091591820463941937741466\"\n ],\n \"20435852992131255132739692246464912704828174962827558660692388637695244163957\": [\n \"5901396260939929038371554506326956922264453157676010628464134938678879472639\",\n \"14813270408132736729306079943588494329777310885360557686014288990337942351314\"\n ],\n \"6953918229022749634790443805396492658082450851181680188935048205098724405531\": [\n \"19219905339175093513707333294554764013190418016755911349587225805900645952401\",\n \"20435852992131255132739692246464912704828174962827558660692388637695244163957\"\n ],\n \"3337495542135272467823954931355909109910936153868349929093229911817514524292\": [\n \"8428773889559453872172047161368079813648379568866112309192896831846426736061\",\n \"6953918229022749634790443805396492658082450851181680188935048205098724405531\"\n ],\n \"5666911464478979819902581892820432119769716231248571500993416394777525347162\": [\n \"13329648321175301857742702862259791912072277739191282536285155366249227999495\",\n \"1\",\n \"1\"\n ],\n \"1203738521821847656444968718630638707468365042058962827359691093028645018170\": [\n \"20024340696763517705400019483409888122041792078634758474450665788448943657751\",\n \"5666911464478979819902581892820432119769716231248571500993416394777525347162\"\n ],\n \"1228959111359476787331814977752595713418416272266466548270115855572243461474\": [\n \"6396425327705411660912323197629680292984792715485592566902821769159305770470\",\n \"1203738521821847656444968718630638707468365042058962827359691093028645018170\"\n ],\n \"18641083579853816297400874438638451139461570653014180687557740649324715318368\": [\n \"1228959111359476787331814977752595713418416272266466548270115855572243461474\",\n \"5932126236929398596601923126766775191261497234077311079366383350899529001293\"\n ],\n \"9308820045272725319655601823675620100275329745614216108361428820458141087100\": [\n \"18641083579853816297400874438638451139461570653014180687557740649324715318368\",\n \"3583857264456895762797723632401319901025766874248199187551595449082787925476\"\n ],\n \"5793831715819200728373460452965600336452900599009734959545527588970797890818\": [\n \"5899754163099072294589882227769428357638140647842198380810671892320654083683\",\n \"9308820045272725319655601823675620100275329745614216108361428820458141087100\"\n ],\n \"10831547205540719778149643790947073195431269791841998647709240376658470883680\": [\n \"5793831715819200728373460452965600336452900599009734959545527588970797890818\",\n \"18324320298801852444921090912701201433367350677582889592858807200611095859793\"\n ],\n \"322738126021212001337179738498811283699035800754163142463540477513783187253\": [\n \"10831547205540719778149643790947073195431269791841998647709240376658470883680\",\n \"19131756622144416528251711129145908403636008220912251350290785448458397900783\"\n ],\n \"288994755750958325935923788602690851302169675217940528332627470121049740426\": [\n \"322738126021212001337179738498811283699035800754163142463540477513783187253\",\n \"17052284166853285065197421290451381191117175217010602557212656508094624593289\"\n ],\n \"2778844154629844104233857203943946583669792387553142484298858429588274001342\": [\n \"2414663108466128063118786334198168143140759952699906626993005070029257489551\",\n \"1\",\n \"1\"\n ],\n \"18446975572156387339946724599290922209116508416552503955995992003854488809106\": [\n \"8101755532177998248590547316037459278673466146852877703127699226120302941576\",\n \"2778844154629844104233857203943946583669792387553142484298858429588274001342\"\n ],\n \"21783353067229448430136425722483272467126818284070577603495906292416337041272\": [\n \"0\",\n \"18446975572156387339946724599290922209116508416552503955995992003854488809106\"\n ],\n \"3441382923432799220426786534939675717333723899491500544156307182191650431343\": [\n \"0\",\n \"21783353067229448430136425722483272467126818284070577603495906292416337041272\"\n ],\n \"1029622367965852195425049751287233119296412212370024559448883653645392177476\": [\n \"17111716783568170937371320806221917121942169072146249488173289557652291521426\",\n \"3441382923432799220426786534939675717333723899491500544156307182191650431343\"\n ],\n \"2148021024228231873815006745074398924466315988217101466147279136860489110265\": [\n \"1029622367965852195425049751287233119296412212370024559448883653645392177476\",\n \"13624278671478422966283090306964015366579057101220706406700319708978374213881\"\n ],\n \"14937802763458256792638082402002243034766275399537054654404630283379192565918\": [\n \"2148021024228231873815006745074398924466315988217101466147279136860489110265\",\n \"21262163404116130056209528665091644023219891656941846531963496708995019935741\"\n ],\n \"21349245708198809429452831912803753663975652184899975074808420437256255898546\": [\n \"2693905643756035083171685715783491314160103923638625020034211985826403548553\",\n \"14937802763458256792638082402002243034766275399537054654404630283379192565918\"\n ],\n \"18059448408871092855319380769152754072676678130489182252624925809913320965509\": [\n \"21349245708198809429452831912803753663975652184899975074808420437256255898546\",\n \"15903280251974582581290198416678827651358135600281821655082399817054763183283\"\n ],\n \"9367289851312421709531137893474779929882085839308805518902675137743354672374\": [\n \"15505308899868558994794977648769032229150738781440400160347934976367356939161\",\n \"1\",\n \"1\"\n ],\n \"1870626440718587607593428841686068561409917746391677410368060791016248962207\": [\n \"9367289851312421709531137893474779929882085839308805518902675137743354672374\",\n \"6254464970835567392834483197073597333534121485837766750787089452213760934071\"\n ],\n \"14479038567995502829131919834840618396596670103674424879864195420840948035376\": [\n \"1870626440718587607593428841686068561409917746391677410368060791016248962207\",\n \"0\"\n ],\n \"6489648547609786776353799555045364051993081260093043685854092995642796519638\": [\n \"14479038567995502829131919834840618396596670103674424879864195420840948035376\",\n \"0\"\n ],\n \"18751361193652187771258833642880342063453848553470904002882361841826850194620\": [\n \"6489648547609786776353799555045364051993081260093043685854092995642796519638\",\n \"0\"\n ],\n \"6072084732609847897182411905337532061223711871109448848777642498879614866338\": [\n \"18751361193652187771258833642880342063453848553470904002882361841826850194620\",\n \"0\"\n ],\n \"5218106330364618034462882758817059088979601663055073221688597310849562096710\": [\n \"7230671022728215955670166944061190402613984620958635780490617192305157129860\",\n \"6072084732609847897182411905337532061223711871109448848777642498879614866338\"\n ],\n \"4861476731208600954694336474314050035237374791172635993108668604290997638148\": [\n \"5218106330364618034462882758817059088979601663055073221688597310849562096710\",\n \"8097552072282042191314874739758218788018249122660660236120410241897811394003\"\n ],\n \"18276258650922261140477372862574735401774123850317672128521467570797467570913\": [\n \"8579569573108099646065542902674885246402352472725197423766003583027270930374\",\n \"4861476731208600954694336474314050035237374791172635993108668604290997638148\"\n ],\n \"18183462075490917221360304284137334098706734890412201770761659999624400848070\": [\n \"17108762321045762597700911771565771070743092811712545252830282272940279590742\",\n \"18276258650922261140477372862574735401774123850317672128521467570797467570913\"\n ],\n \"15822965401963708291972354854765044150870058362045042620995660428439252431160\": [\n \"4525259461751409211483782215619896721621951389814485470407043193641160497587\",\n \"18183462075490917221360304284137334098706734890412201770761659999624400848070\"\n ],\n \"21874460918123789509235792727313574464720659610110192499236785772634179426977\": [\n \"12946488689004430066915360027016390067022163710037579309566690124486995965019\",\n \"1\",\n \"1\"\n ],\n \"13068388019255236633902379744667650337153078078507782266870061414059289491579\": [\n \"8086926720634602069028510466094371326951987388793043537940072199261794153728\",\n \"21874460918123789509235792727313574464720659610110192499236785772634179426977\"\n ],\n \"20938681142978500733512988908413808543640466718732669959382829759156437538964\": [\n \"0\",\n \"13068388019255236633902379744667650337153078078507782266870061414059289491579\"\n ],\n \"16261029805366889129107316759779879198118534468003631334957662687208031966252\": [\n \"0\",\n \"20938681142978500733512988908413808543640466718732669959382829759156437538964\"\n ],\n \"1476231496954648895992348849620084961959020934622718049921868926350476733042\": [\n \"16261029805366889129107316759779879198118534468003631334957662687208031966252\",\n \"4796259126295332201934492341662220652038966619408148757525886737446870248122\"\n ],\n \"4544798195145580542731967998493719894689463886496730050076032874598692478992\": [\n \"9406488152637471320015311581316996615824839914893081465260741936732267921238\",\n \"1476231496954648895992348849620084961959020934622718049921868926350476733042\"\n ],\n \"7383075340590263659533498350649168768806269151778163629155089870137030407553\": [\n \"4544798195145580542731967998493719894689463886496730050076032874598692478992\",\n \"8712084848227590972189913761130622899041280081539800840159283452593655945188\"\n ],\n \"16804110785928933494135563777427211185986224218686738600730899247223849283489\": [\n \"7383075340590263659533498350649168768806269151778163629155089870137030407553\",\n \"1436455451659090125591773697568107783404701560945853968367092805431439034837\"\n ],\n \"14945395255378958962051317549260338416053526907710704497226100699513756497007\": [\n \"16804110785928933494135563777427211185986224218686738600730899247223849283489\",\n \"19456334552693859927668824786037664856468502951275888629538967612604655079207\"\n ],\n \"5439653576638431927144848323432822071222523735171243568847385075200784320133\": [\n \"10944413530255046186140314555583224917934391365419957890974252636848060996057\",\n \"14945395255378958962051317549260338416053526907710704497226100699513756497007\"\n ],\n \"695029036852988809921567384930266834577981656384896576370042835440359640667\": [\n \"5439653576638431927144848323432822071222523735171243568847385075200784320133\",\n \"1283201114831904488052789984728201706599774222052510864623334448838177544368\"\n ],\n \"15403049669130234605812727137153984695378441018778499915710838642893153623753\": [\n \"15822194417603430128717531102386679435181450726719006041159821970058476928695\",\n \"1\",\n \"1\"\n ],\n \"13341616240359871558158919045970254004200480371642492164036964676242320130042\": [\n \"7797686944314717739329838200214057757604996474794955621040511196058816677390\",\n \"15403049669130234605812727137153984695378441018778499915710838642893153623753\"\n ],\n \"10886123082683755166374811097862032975930501388272182703597364008199741491291\": [\n \"0\",\n \"13341616240359871558158919045970254004200480371642492164036964676242320130042\"\n ],\n \"8636332499236285637113730429672755005486297819016987384326483036085729325837\": [\n \"21884826284795012180512805134896730674430656125993025686340051149594880288339\",\n \"10886123082683755166374811097862032975930501388272182703597364008199741491291\"\n ],\n \"11879153778415113525104003728492846036904684459934618693882756081743226381888\": [\n \"14704131710146287157637407376225070502947203855914186350365303393329982442302\",\n \"8636332499236285637113730429672755005486297819016987384326483036085729325837\"\n ],\n \"17451498872993132780610270792014397448029448840798069553079292800960764190206\": [\n \"7870387132130703645976035581944808514477860003344965599038416594518368210256\",\n \"11879153778415113525104003728492846036904684459934618693882756081743226381888\"\n ],\n \"13586681200498068639201786294424655927959201034081832022930574262505521569869\": [\n \"17451498872993132780610270792014397448029448840798069553079292800960764190206\",\n \"2419116848333271061965944520968679481279658525063352933314226545883388280230\"\n ],\n \"12416970760665686930610384006594884849875856453456717216614881228029811013772\": [\n \"7090040706634641855982186886521046803925418091958119197276278194434679663494\",\n \"1\",\n \"1\"\n ],\n \"364444230214052910886510628932491070936363079872193236337663694374093704591\": [\n \"6128867817257271274861170286574012406729191168315147126228116454923950266216\",\n \"12416970760665686930610384006594884849875856453456717216614881228029811013772\"\n ],\n \"12307240255939709742729616062341638239028243763970556564715327147076673666365\": [\n \"364444230214052910886510628932491070936363079872193236337663694374093704591\",\n \"14077211873654771418327166395673680596640846234068803727268637255040721521178\"\n ],\n \"6606108216471144761825230381875775886102241725514342802252188380203958392303\": [\n \"18770727387481554015198120231937732435200074565308961826910525000972172796649\",\n \"12307240255939709742729616062341638239028243763970556564715327147076673666365\"\n ],\n \"17248821584763366477969899534366109865583449349385905111460764324201410110794\": [\n \"14716501559649354662171390208878843357121278146850096525286636950749210041836\",\n \"6606108216471144761825230381875775886102241725514342802252188380203958392303\"\n ],\n \"4195245290981803543392013792586016497420442377195064787727320524217195355940\": [\n \"15208871413959137727368664294262798107189465822564982007537857884026719240413\",\n \"17248821584763366477969899534366109865583449349385905111460764324201410110794\"\n ],\n \"19531864862369942329138732056718801198023583137408775782505471956018800330753\": [\n \"4195245290981803543392013792586016497420442377195064787727320524217195355940\",\n \"1367397888248717570809798740905102830081592984671369228741768372504977991247\"\n ],\n \"12640063476660092469405030699444648349810570001869467207349695549154510315555\": [\n \"19531864862369942329138732056718801198023583137408775782505471956018800330753\",\n \"17500397216192331388147289233184119696852272704827728793764940123674302799753\"\n ],\n \"8318541919182081822077933453516246507654785527220995647309989719521856124924\": [\n \"1057916374566289227824388064216308639147830992805895715042164673967069810626\",\n \"1\",\n \"1\"\n ],\n \"10660566267362460866361991124165264914423503949667967621660371396314918284306\": [\n \"3086468746897509262551584318829057960539890517253179941224497972741530470814\",\n \"1\",\n \"1\"\n ],\n \"8154376275144405183791632760354532915411352552799207582563609674439115466915\": [\n \"10660566267362460866361991124165264914423503949667967621660371396314918284306\",\n \"12020008312774768191705763263575403066877212133941223941074403268808153580559\"\n ],\n \"19196308126422943424481169231844191774942117862914930424912347115540010285813\": [\n \"0\",\n \"8154376275144405183791632760354532915411352552799207582563609674439115466915\"\n ],\n \"20783735562665055421992763039353407665147159605750403505517129829588169287976\": [\n \"19196308126422943424481169231844191774942117862914930424912347115540010285813\",\n \"0\"\n ],\n \"19267451132071370686419091435256177666623660490862462378722380780824241115715\": [\n \"20783735562665055421992763039353407665147159605750403505517129829588169287976\",\n \"18216671579277788999581114595777726239559717191515536296692741600824232815326\"\n ],\n \"11441427882921290455337537753603632300262615085045793837507263930279768225889\": [\n \"0\",\n \"19267451132071370686419091435256177666623660490862462378722380780824241115715\"\n ],\n \"12712099880742169053371920448860254962134845153297633446196401444461906957183\": [\n \"11441427882921290455337537753603632300262615085045793837507263930279768225889\",\n \"0\"\n ],\n \"15304382552680109345936157523069157061876405898553963344044242776548992183714\": [\n \"12712099880742169053371920448860254962134845153297633446196401444461906957183\",\n \"16707628909607900449653122331752626521627013760373125455553082690585462124074\"\n ],\n \"17258995553368144298621230110956441628128878386567350882522184918581704687287\": [\n \"10768038924281127124028095960549628537360328423622252519394121655417118500473\",\n \"15304382552680109345936157523069157061876405898553963344044242776548992183714\"\n ],\n \"6139668665563725465071960232968318063730842167931797060014632670587883134208\": [\n \"4505884221790794380628100748140648604073019894631709090738255527057987331930\",\n \"1\",\n \"1\"\n ],\n \"21443831331250110793749407216626485311863775608527780703538419786528314167527\": [\n \"11410659280639932447334159628442166020707913209433018780767490702228657185125\",\n \"6139668665563725465071960232968318063730842167931797060014632670587883134208\"\n ],\n \"16143737630026740187692253886714017996059490091207533515094145858892826541603\": [\n \"2413680677459869658372273890338786654762001716075932143242175887983728717046\",\n \"21443831331250110793749407216626485311863775608527780703538419786528314167527\"\n ],\n \"8954343669323628483114918947640829314848514031887057922579393543800393438959\": [\n \"9064157710348638115113787316114129101098827595322276690646497795277448003947\",\n \"1\",\n \"1\"\n ],\n \"12892871435164379009556789079507044585866273344587086074772596991294975117500\": [\n \"8954343669323628483114918947640829314848514031887057922579393543800393438959\",\n \"10901194545545747086040951858496125167018952508592684379256567464506946776357\"\n ],\n \"2061758240105227913653886772973425478418331555359060322361020795293351890550\": [\n \"12892871435164379009556789079507044585866273344587086074772596991294975117500\",\n \"19871152508534008305665153588540334503304484275584747596352361326358135199934\"\n ],\n \"2636070329945064414498118168806733821112340704229396115279842442322740694243\": [\n \"2061758240105227913653886772973425478418331555359060322361020795293351890550\",\n \"20084567721790081421126537867810639464874578607716331303557822239383535454711\"\n ],\n \"3588569454743537701299149525018016453657926073178034470366609493832511488532\": [\n \"1915539858277436010638716160412458215478250377665774429897683999072633098225\",\n \"2636070329945064414498118168806733821112340704229396115279842442322740694243\"\n ],\n \"18219191075947473538326085574820034421852938799216256539992523575437505601051\": [\n \"3588569454743537701299149525018016453657926073178034470366609493832511488532\",\n \"10120750280300413374698951387749162997230401360761879496455776990563351900165\"\n ],\n \"12452826398369955497578029945874373189957802093089620593361824583981814274012\": [\n \"20748255741229886548345936611215103577962345596513509200703520103467198394507\",\n \"18219191075947473538326085574820034421852938799216256539992523575437505601051\"\n ],\n \"18037567320158290087206422897519754025037845781762918396933485502712094449530\": [\n \"5476815693887227414045235337078481424256164006836938731860550639502174348105\",\n \"12452826398369955497578029945874373189957802093089620593361824583981814274012\"\n ],\n \"7243196810730249314202456055054476823436603023193245446930404999801395738058\": [\n \"18037567320158290087206422897519754025037845781762918396933485502712094449530\",\n \"695029036852988809921567384930266834577981656384896576370042835440359640667\"\n ],\n \"11960695356236172916554522040690454984868781701430716276086481229687554964571\": [\n \"1684843051346281324016356458204723500664501770847158005127600589549963613301\",\n \"1\",\n \"1\"\n ],\n \"21288700218987076813504092167088759774867651799389488400502880437023749354959\": [\n \"1579977052573487936760716982906832956864409809093489594798887115363587104343\",\n \"11960695356236172916554522040690454984868781701430716276086481229687554964571\"\n ],\n \"18438204237838734498297502808473882388597952326403081929166508372564063931419\": [\n \"21288700218987076813504092167088759774867651799389488400502880437023749354959\",\n \"1020318913993963084751769492907074036457016003410578144520200034838726744811\"\n ],\n \"3437894323162499414061346690019453584289171322794642257699398662600873131465\": [\n \"17652410772195745109492340310346112252026814753505196917296507584764121551738\",\n \"18438204237838734498297502808473882388597952326403081929166508372564063931419\"\n ],\n \"11278062795850370004451960922644004987134100724211688276980972066814803501562\": [\n \"3437894323162499414061346690019453584289171322794642257699398662600873131465\",\n \"10202773342529890460183317902583577400144582845309613434165936604235300803229\"\n ],\n \"16140240855647495003400385184466577071323182224444588550231160644174698470546\": [\n \"11278062795850370004451960922644004987134100724211688276980972066814803501562\",\n \"12955779075969865620330217667498993338330105027612541496356328612988260599898\"\n ],\n \"13316473993973834639897633686457147367825637334658876038633990082317694673726\": [\n \"16140240855647495003400385184466577071323182224444588550231160644174698470546\",\n \"14655289159967955694456863891806218270344386892576127421746593599429185967812\"\n ],\n \"12123513239369612249743244606328369916445731527456064624841422575691059151141\": [\n \"4294141171031048361103593564877456715565409265315495100149871051663352288502\",\n \"13316473993973834639897633686457147367825637334658876038633990082317694673726\"\n ],\n \"20335650369645130448227168045576376057891850014270871287741110154280660420332\": [\n \"8722562855851350604593343133952451300331764923230314306927739278379989491656\",\n \"12123513239369612249743244606328369916445731527456064624841422575691059151141\"\n ],\n \"18701195731135627846353171366479227861908872167654426621842490246065349254469\": [\n \"19750714129586008238977132324570542598087696066649762081691474842118061874149\",\n \"20335650369645130448227168045576376057891850014270871287741110154280660420332\"\n ],\n \"17894049344876961295914580023373048552164057618514033292296014212880480836414\": [\n \"9156282271412521856936384470200661658248223967083917535358971895818768399409\",\n \"1\",\n \"1\"\n ],\n \"16559814978471137422508249493796833220011798631983214952014436290574335819761\": [\n \"17894049344876961295914580023373048552164057618514033292296014212880480836414\",\n \"20134199414478855687498087880016414856100379543074088162396658085862505648079\"\n ],\n \"6802314132564355972760987517650062018535851892746076317021806463533191562784\": [\n \"0\",\n \"16559814978471137422508249493796833220011798631983214952014436290574335819761\"\n ],\n \"13616899849312944355663167338365414434810732594219071145166556451486799198131\": [\n \"14348065600689069003310462449694975621160103584845640399215442893823773284666\",\n \"6802314132564355972760987517650062018535851892746076317021806463533191562784\"\n ],\n \"5671467845727716025039732126716169073472356550827360987751426971429627385686\": [\n \"0\",\n \"13616899849312944355663167338365414434810732594219071145166556451486799198131\"\n ],\n \"20117347259870345307818796787862081716461230138841687394365296770273631708108\": [\n \"7223377090570183789904772352246998896325340152981082708919651436829063158883\",\n \"5671467845727716025039732126716169073472356550827360987751426971429627385686\"\n ],\n \"17913383751924410870196545546046874644115349631560327822597711710076091114682\": [\n \"20117347259870345307818796787862081716461230138841687394365296770273631708108\",\n \"10622156609773572427175672949175136316606533908363463993962324110150602930269\"\n ],\n \"13503107833305425865374727216239595216028431828156236103258182612595775218707\": [\n \"17913383751924410870196545546046874644115349631560327822597711710076091114682\",\n \"19968872841499397309383504222531101934792793851038681921736753769609959295917\"\n ],\n \"13804649689623350350090743618680372805091305573342264096851669526137067399166\": [\n \"13503107833305425865374727216239595216028431828156236103258182612595775218707\",\n \"9844934123050373060864829058487499866211742971249983605006112770492505351930\"\n ],\n \"3051745315233148622115379222491627870239109731917532446834690362726300117160\": [\n \"13804649689623350350090743618680372805091305573342264096851669526137067399166\",\n \"7548056046735674178162348941986192194517351530727940236201616758427963809201\"\n ],\n \"13930945904065434570654821354515506528503762245804364266893095687351288585033\": [\n \"2199910810360236854722912674199307420048226403538934234033845585710987819987\",\n \"3051745315233148622115379222491627870239109731917532446834690362726300117160\"\n ],\n \"3001817857623841966652629754796802143041072311805545518387766832456220325477\": [\n \"19861782241167878091603645445261501775185302056522738960684912238781519886028\",\n \"13930945904065434570654821354515506528503762245804364266893095687351288585033\"\n ],\n \"21237643608587931846188007991605295387380672800061561504118553492147457595313\": [\n \"7766354237237477868344382444232468471449430720090191341242686510750656895156\",\n \"1\",\n \"1\"\n ],\n \"3149264751694654670796647787480481568520981051916362950935362491116659591581\": [\n \"21237643608587931846188007991605295387380672800061561504118553492147457595313\",\n \"21821208589410674308965545915249422077742367739385479519425815509657577865796\"\n ],\n \"3962222532687931872700158473433923538487621805107566683388988004841038128225\": [\n \"0\",\n \"3149264751694654670796647787480481568520981051916362950935362491116659591581\"\n ],\n \"2918006410739676986778871640825819709401145724214546301953273952206995438460\": [\n \"18219764245690415302423106519664384457384656987572543045021427197435209492725\",\n \"3962222532687931872700158473433923538487621805107566683388988004841038128225\"\n ],\n \"8907499043331014122771208685881922199375760161990342662963259721347971166928\": [\n \"2918006410739676986778871640825819709401145724214546301953273952206995438460\",\n \"20079544880637947654175860952124071560741396037709580786221741020348270869647\"\n ],\n \"11846809356851020657639220645443555210446951462271664967687459337369711826342\": [\n \"8907499043331014122771208685881922199375760161990342662963259721347971166928\",\n \"14927144507545382263280621400109907751623635699680230335079874921324502773940\"\n ],\n \"2197879758186868438467334908632375160428653835436313462984137771661537071863\": [\n \"11846809356851020657639220645443555210446951462271664967687459337369711826342\",\n \"10171045340586111084582141573697158990283661747506378802544834260729001855004\"\n ],\n \"17485809663209905598870567971487905098753293396607116428274300467237355689745\": [\n \"1815136048765243154273420706312192609273924758128998660734039235974697353125\",\n \"2197879758186868438467334908632375160428653835436313462984137771661537071863\"\n ],\n \"21821654778486763804339605040696933513779081553943825603571649431994780326623\": [\n \"17485809663209905598870567971487905098753293396607116428274300467237355689745\",\n \"16899487047226948985046202568111767410517808191962407126162888654210780055408\"\n ],\n \"3601619319918713793034724376932901606823294459096198495244214813212321654169\": [\n \"14336407360021618927313482870922061128383362740596567935283891816818569557266\",\n \"1\",\n \"1\"\n ],\n \"19347757635281203419954508161665386629907368876494394870225779114666406568860\": [\n \"2351763918179208688131072655131815222256522660377437252376955526718637966233\",\n \"3601619319918713793034724376932901606823294459096198495244214813212321654169\"\n ],\n \"10455349857860973225603677166904100273057111347067599989020383348066392432548\": [\n \"19347757635281203419954508161665386629907368876494394870225779114666406568860\",\n \"0\"\n ],\n \"2150862208394485964031495050408006278114025025448805742235708093838976194411\": [\n \"0\",\n \"10455349857860973225603677166904100273057111347067599989020383348066392432548\"\n ],\n \"14503517250995040431221512931116240447275798374299703876296699793256121290498\": [\n \"2150862208394485964031495050408006278114025025448805742235708093838976194411\",\n \"0\"\n ],\n \"33104626663456110046141290674162418620182685343369864231745278715844662101\": [\n \"0\",\n \"14503517250995040431221512931116240447275798374299703876296699793256121290498\"\n ],\n \"2725597057433623995899819428881442068825541309379074150074953148863828455112\": [\n \"0\",\n \"33104626663456110046141290674162418620182685343369864231745278715844662101\"\n ],\n \"5978786501481878447714441426084595793272873061713990779922949870061144516366\": [\n \"2725597057433623995899819428881442068825541309379074150074953148863828455112\",\n \"19647242174572569031521769270570255405381579963095785503679301344827928162083\"\n ],\n \"10894902773653785031387174111287829360615164014594519092391101958702363195927\": [\n \"12283088413435442332161593581999309599894723716933944345891988076253628777951\",\n \"5978786501481878447714441426084595793272873061713990779922949870061144516366\"\n ],\n \"449508968838034737456958017180504293286361439456219232250690826968447649847\": [\n \"10894902773653785031387174111287829360615164014594519092391101958702363195927\",\n \"12025929766530288669725385225672589651734023259189882729267673404768685638954\"\n ],\n \"19004895143977425012799111361760807306668048859763441309939681061790256293751\": [\n \"7149321240523479205852263834760857150920654857371459353829749116447003772879\",\n \"449508968838034737456958017180504293286361439456219232250690826968447649847\"\n ],\n \"15454775292487334132383871130329488389470539757354770032707821184943541574922\": [\n \"19004895143977425012799111361760807306668048859763441309939681061790256293751\",\n \"17514724445573704415734399372490493000855792194324300197330903839129900912940\"\n ],\n \"17068453244812886809394399188186519107416212694799648648881908252187273054275\": [\n \"12550276488727865726558849020169405766734557993990102470183198535718935099986\",\n \"1\",\n \"1\"\n ],\n \"20890826034873402032854180425960977387737757539569023356719601343521358316287\": [\n \"14481299953453833121841823516860292909400986639551087838457349876703008175861\",\n \"17068453244812886809394399188186519107416212694799648648881908252187273054275\"\n ],\n \"19192407488384590949005611596187183443275365877705713538986741319248756524022\": [\n \"0\",\n \"20890826034873402032854180425960977387737757539569023356719601343521358316287\"\n ],\n \"20809181756581888065414139645806646100478864030238438647890803870072066145534\": [\n \"19192407488384590949005611596187183443275365877705713538986741319248756524022\",\n \"10734754336782599412027690795996451483490986415598145546256684351208248141045\"\n ],\n \"250752240032381233518188601294931007730662491879939576951111020021543292069\": [\n \"8718354879173978680914128203389606412689508596661536247113460971393571060044\",\n \"20809181756581888065414139645806646100478864030238438647890803870072066145534\"\n ],\n \"5373243017105652216107022017245908256215193339315687006497986063047939984437\": [\n \"250752240032381233518188601294931007730662491879939576951111020021543292069\",\n \"12083373735453206831135127357198761360755238851831941323911225538593428770441\"\n ],\n \"19778709914711170444692868549543169957352006524380592747327479143972315447082\": [\n \"5373243017105652216107022017245908256215193339315687006497986063047939984437\",\n \"15142324621012750387312975038617038478962707633443430523266191232755587262325\"\n ],\n \"15241043902341000607585265015023267870849816716511283187525806522198716598492\": [\n \"15454775292487334132383871130329488389470539757354770032707821184943541574922\",\n \"19778709914711170444692868549543169957352006524380592747327479143972315447082\"\n ],\n \"18119528135412711255103988946642312805904667944484722356604876317227755436966\": [\n \"11099665671925706941873499025835004425244967761127828048064849867256406937922\",\n \"1\",\n \"1\"\n ],\n \"19765652190864508680230867780582019817064043226405180967888553721354968082070\": [\n \"18119528135412711255103988946642312805904667944484722356604876317227755436966\",\n \"20199293230085398147132179918841984658160276976309904588415085217701412046605\"\n ],\n \"5215134972076770719231099717469191419985183365508691095173740987113005997129\": [\n \"19765652190864508680230867780582019817064043226405180967888553721354968082070\",\n \"0\"\n ],\n \"6509995653862000284991617968999391778974371135647144007043491181037607779580\": [\n \"0\",\n \"5215134972076770719231099717469191419985183365508691095173740987113005997129\"\n ],\n \"5847676964097026871168470864163349805811236894207910537867955807792681378435\": [\n \"6509995653862000284991617968999391778974371135647144007043491181037607779580\",\n \"4764413276187723027926330099460740145639935102909628820308839456003312320365\"\n ],\n \"14909530450285120438761787738196582666921725552799541241621843483734014614955\": [\n \"5847676964097026871168470864163349805811236894207910537867955807792681378435\",\n \"17593920483608849275713245945027970304977981802514893281760715304428872441053\"\n ],\n \"7023589737673820147944479416353328961368468922982626991942432294393877704994\": [\n \"14909530450285120438761787738196582666921725552799541241621843483734014614955\",\n \"12884349043922268654995985942208083749200311997521254641455653599521537675090\"\n ],\n \"15958348128231605249048255434798102198466489835388716382419385705207748831653\": [\n \"11643381071114887297893682255553319123973502369635958412892029755228853448319\",\n \"7023589737673820147944479416353328961368468922982626991942432294393877704994\"\n ],\n \"21465869480810895743619730571862259076078656811200277088109983281958201422562\": [\n \"13634783144311769853164622554929843757276658085465549598785035762799942378877\",\n \"1\",\n \"1\"\n ],\n \"15734596297663786756200219047254807871568599418008779942663626741700045505884\": [\n \"21465869480810895743619730571862259076078656811200277088109983281958201422562\",\n \"3402232719721562649244354332342433036056546676143028253163645176050024595431\"\n ],\n \"2059779605911735756107771180011360913285966157220571489129718988286569449053\": [\n \"10176030760703230758030624601418989120316576450185326081345120564826043319554\",\n \"15734596297663786756200219047254807871568599418008779942663626741700045505884\"\n ],\n \"14974163635919729715359925687217241652758885736028306972371104876972767590482\": [\n \"2059779605911735756107771180011360913285966157220571489129718988286569449053\",\n \"19441659698208157608514320936361356308654712425783494624107814781433789707109\"\n ],\n \"16716406301394086950492523962847027286551266912023877636859871675668314378593\": [\n \"14974163635919729715359925687217241652758885736028306972371104876972767590482\",\n \"5621124919693197123350299737791705301615064289610604585146022398376466277416\"\n ],\n \"1895681689370083827782548839954414820992273140623711309019743040376338810401\": [\n \"12799585488820377167500912812640278068876473318120397742775781522126314409127\",\n \"16716406301394086950492523962847027286551266912023877636859871675668314378593\"\n ],\n \"14016173015089941374253800701447889586913986544820635640889647360709907959122\": [\n \"1895681689370083827782548839954414820992273140623711309019743040376338810401\",\n \"7706901247732502240808216623310492398677559950294782931036712307549702965645\"\n ],\n \"13166054488483410050961716076823133201956145846735053365299745099128893720318\": [\n \"10855492153284527506122117878611212140726654336615186687271060538053547308207\",\n \"14016173015089941374253800701447889586913986544820635640889647360709907959122\"\n ],\n \"16531721433810012571610476926037379992521367928625946803929938764207135049404\": [\n \"13166054488483410050961716076823133201956145846735053365299745099128893720318\",\n \"9838811595265840501777319900246054384731615764984016206372483987448308677407\"\n ],\n \"21825763238469025371075196562921952192408751603555098346878292599231660499048\": [\n \"19280234864493203672848365620218387416591632592829668665309423965926125763128\",\n \"16531721433810012571610476926037379992521367928625946803929938764207135049404\"\n ],\n \"5076349278057342206313804175196954220113329990346363670584010478958253112704\": [\n \"5709157797917738462663351819874265072242847385321063821698081253610810022127\",\n \"21825763238469025371075196562921952192408751603555098346878292599231660499048\"\n ],\n \"11853662051376884493510373227826660669018238713133968635633602226811266599363\": [\n \"8734644341607542638552282317966829172471974154918985775799417712025670981610\",\n \"5076349278057342206313804175196954220113329990346363670584010478958253112704\"\n ],\n \"4143741570693597378106149811709671714764264002589616310458204220860294517586\": [\n \"18701195731135627846353171366479227861908872167654426621842490246065349254469\",\n \"11853662051376884493510373227826660669018238713133968635633602226811266599363\"\n ],\n \"19966953626767277113206874434947608702314828114317235295941049089073203209393\": [\n \"5603470772972189531575074244260909964882622984588781216733479904386615142307\",\n \"1\",\n \"1\"\n ],\n \"4007246396120640354823442085736255373207494895412384698532481575735773881170\": [\n \"5996279562531877393225136169795968503131635543834322705587935223877986782448\",\n \"19966953626767277113206874434947608702314828114317235295941049089073203209393\"\n ],\n \"21865833030679611451052504408834587731192561103590893866755593467312171274448\": [\n \"4007246396120640354823442085736255373207494895412384698532481575735773881170\",\n \"720460985837435500082168337207237561342912948849903724180969082261507685552\"\n ],\n \"16671680008712802641945506049083948571727974744208469331324955472818712674807\": [\n \"21865833030679611451052504408834587731192561103590893866755593467312171274448\",\n \"9608604079576047193886618392971786321056233478896580190212178373716764073464\"\n ],\n \"9336878599976866679536802274796048687745198599852844905543868494018412995825\": [\n \"13079225181793053798348677607191040001972744456160808490964101424625184899961\",\n \"16671680008712802641945506049083948571727974744208469331324955472818712674807\"\n ],\n \"20724215410633383467634122025794544998746801144748163536156839108323573002163\": [\n \"5279195363545598088111351148932932043122536034623416448499493806907644296901\",\n \"9336878599976866679536802274796048687745198599852844905543868494018412995825\"\n ],\n \"16329797173999041210139760249365916452281849868989429494726531368426225584019\": [\n \"13140075941521152243078697257300648287231481526231683422976849795021835392819\",\n \"20724215410633383467634122025794544998746801144748163536156839108323573002163\"\n ],\n \"7788179203513596426846648158218184011674439004302996542275351802151974930984\": [\n \"17220614824350834237329081431050826103378011796109902492226461656477253648336\",\n \"1\",\n \"1\"\n ],\n \"16980361206001884212544435094636288018790916748953565098209529049400837477740\": [\n \"9169193217796226331590036858464558133118214329812348391629483828345588395912\",\n \"7788179203513596426846648158218184011674439004302996542275351802151974930984\"\n ],\n \"14690452620537372868525403753122901951014117619419534567564241076818194320081\": [\n \"5675900823254772737306949212120385251858544751419085051219732583173986986725\",\n \"16980361206001884212544435094636288018790916748953565098209529049400837477740\"\n ],\n \"17111390426644448336962567337721583931577206456473921926579636325352718410430\": [\n \"20307546693052878496613627343514924197692088314246262795260755705716313652786\",\n \"14690452620537372868525403753122901951014117619419534567564241076818194320081\"\n ],\n \"18136366189403831133374596245850696805326720952803885672101430330714107081634\": [\n \"5670019015714290989696420335294806568799511848732899690927446451857147575704\",\n \"17111390426644448336962567337721583931577206456473921926579636325352718410430\"\n ],\n \"20593951588716806686847178255619074511975827540361170819562450443881229127103\": [\n \"10335301708040412800008554946106566479828258284664693039665103105026920424078\",\n \"18136366189403831133374596245850696805326720952803885672101430330714107081634\"\n ],\n \"15692849386772712947484460206362291037561702871313647484872241418528005261190\": [\n \"3656784471295831316523324821825001302677304357445568183555042550486072258750\",\n \"1\",\n \"1\"\n ],\n \"18269922878432427800140716539187767594419035739978929695717451154307778358694\": [\n \"15692849386772712947484460206362291037561702871313647484872241418528005261190\",\n \"11723034611595784245256865876276667782534047307464023195632435329976174013518\"\n ],\n \"14073024628834248861521800831490699276917348192334865540462143228179360159975\": [\n \"18269922878432427800140716539187767594419035739978929695717451154307778358694\",\n \"874822947849742152827844033577771311923560765995951723283155554361751471125\"\n ],\n \"18901095463495062659805660717264639589030429028482288298005465990253672472017\": [\n \"14073024628834248861521800831490699276917348192334865540462143228179360159975\",\n \"4931335351140102383513583107820608166877296256506176761106839273190625233816\"\n ],\n \"2475710342682881566047789310628525730559618582329930495913611241150492775922\": [\n \"8161047996935915638811494870860226962280894721846337667948552271340391880876\",\n \"18901095463495062659805660717264639589030429028482288298005465990253672472017\"\n ],\n \"4799785577014692730443821462098507187360861202599680949744049978326182724355\": [\n \"2475710342682881566047789310628525730559618582329930495913611241150492775922\",\n \"19692741379671002906687404366422796353246736400080613530601097041831638539134\"\n ],\n \"21495664694748919960664548953545160770570359864149811501657474281250221003\": [\n \"15595177228803370332203324463335597903854535260207052184642829952310595946019\",\n \"1\",\n \"1\"\n ],\n \"16696923724470026517692719841596161015020690906598334517329601423684207498075\": [\n \"21495664694748919960664548953545160770570359864149811501657474281250221003\",\n \"16162447916418689728910939789411859800351002594493444919766355298277157143634\"\n ],\n \"9236525919150833103472317250234459317737694818293060239368585922750822430476\": [\n \"16696923724470026517692719841596161015020690906598334517329601423684207498075\",\n \"0\"\n ],\n \"2179867531732960767043385222585203571052053189473659565015041916218106684934\": [\n \"9236525919150833103472317250234459317737694818293060239368585922750822430476\",\n \"20318431669737755059065214491701577958637024246972479989637217777910917608552\"\n ],\n \"11810877504733694436236381962336578326449513347787450850351757885704464753539\": [\n \"9232745222766563240065714841072513640734466042023061949750280779228424327276\",\n \"2179867531732960767043385222585203571052053189473659565015041916218106684934\"\n ],\n \"11597909186868863232708535925364093120230894730550785298537225761782778393092\": [\n \"6741637329058567109922060827515159071040698378715743485081266445934147518354\",\n \"11810877504733694436236381962336578326449513347787450850351757885704464753539\"\n ],\n \"18750418638451166559655763800461911748597238319000975192968525208612755626768\": [\n \"11597909186868863232708535925364093120230894730550785298537225761782778393092\",\n \"11303840345334926200243765574367220206152181184742479046688641773614305955232\"\n ],\n \"1368609261051456378119177583088737028467389416626580601215390180505780520458\": [\n \"18750418638451166559655763800461911748597238319000975192968525208612755626768\",\n \"16329797173999041210139760249365916452281849868989429494726531368426225584019\"\n ],\n \"20742862881203809039658795778931546253751368015391601292443478137798988794958\": [\n \"1368609261051456378119177583088737028467389416626580601215390180505780520458\",\n \"21521194408389392489976303356637553682256430880114506861009290192233821877664\"\n ],\n \"12468929389665243091738949772633002312554733650648377084839721303499143894096\": [\n \"12942586430632385034795241931634426588932788017217305501408768288744750867237\",\n \"20742862881203809039658795778931546253751368015391601292443478137798988794958\"\n ],\n \"20825450157364869479955274820574561499041684870123176517781649984754642137698\": [\n \"18636726190031613158566399670861681139544567009020625808449362309205145534042\",\n \"1\",\n \"1\"\n ],\n \"1291993064857984415438102887988648195696481669267545805930287306306262066882\": [\n \"19316229837763666705216826517760042175031678719656894542676704313392459679609\",\n \"20825450157364869479955274820574561499041684870123176517781649984754642137698\"\n ],\n \"4515773270492123656650560765819298235231822231971996886598608919891740948906\": [\n \"14289287805497107888986331217418300395311934484770958446116881366538328419712\",\n \"1291993064857984415438102887988648195696481669267545805930287306306262066882\"\n ],\n \"9165880306201444734212996835547035440710506260273807312115066715698283200121\": [\n \"17706724106726049241073332644224608752517156351812151527173531899854130217471\",\n \"4515773270492123656650560765819298235231822231971996886598608919891740948906\"\n ],\n \"7602491443979704095713620674045555939965789682346965870172568235257150570112\": [\n \"21734893282784488624563103325489121537690850444244851145523167059473871678980\",\n \"9165880306201444734212996835547035440710506260273807312115066715698283200121\"\n ],\n \"17342845813088277501633797851689970055701296574012441943109309845806896784963\": [\n \"7602491443979704095713620674045555939965789682346965870172568235257150570112\",\n \"16143737630026740187692253886714017996059490091207533515094145858892826541603\"\n ],\n \"9984174387980949996273581710623256454515959142709796239482124538138565167768\": [\n \"17342845813088277501633797851689970055701296574012441943109309845806896784963\",\n \"7320075408651308948852723237998820135035132517474498703676959982367194615512\"\n ],\n \"14843041386638802959077781906629890335535051107030613478033968455858091839853\": [\n \"2102341187050814648980275428531103309371439522089890910600914877042709199938\",\n \"9984174387980949996273581710623256454515959142709796239482124538138565167768\"\n ],\n \"20894182840642823823962616079117886442309480458459893399814550220785349738853\": [\n \"14843041386638802959077781906629890335535051107030613478033968455858091839853\",\n \"20603955513390019671993064654162728221624745070197063210173368390419263187009\"\n ],\n \"13833263337287796931536778017862101692438669210823434097293787790410370378519\": [\n \"15039672369874965381532633200518231997516072334661444269611639783062078730748\",\n \"20894182840642823823962616079117886442309480458459893399814550220785349738853\"\n ],\n \"21616964969269882962854471527035899235486957894469513543372577144527433727945\": [\n \"9442126794916249292177415840638338219917582246646622780598317212407943412143\",\n \"1\",\n \"1\"\n ],\n \"7772487377217247561511961269602457592088225045354800157666505246935845288287\": [\n \"352485908257855011445931279485358896272557794446119046503406323092572152883\",\n \"21616964969269882962854471527035899235486957894469513543372577144527433727945\"\n ],\n \"21090753497887855405712074250595321522425388517713919455666842300898328376634\": [\n \"6877316264702670387586546922685482932112879880764273306327149302075255900064\",\n \"7772487377217247561511961269602457592088225045354800157666505246935845288287\"\n ],\n \"17982992485485390069373316745064123237429829000354993984922666076324414714689\": [\n \"21090753497887855405712074250595321522425388517713919455666842300898328376634\",\n \"10481052649789547930520863600018809011293475036290382742510356098236314775686\"\n ],\n \"9388461739860312010206781126100282213385898994609110269499312098808402896954\": [\n \"17982992485485390069373316745064123237429829000354993984922666076324414714689\",\n \"6535151667723083286669112692856433721632897024540111062499268415635477662118\"\n ],\n \"16522558164523852598347408573654211060668911578567136537451813983321491390936\": [\n \"8208364698928628965552345546465318766325756523406549506887725707261188929496\",\n \"9388461739860312010206781126100282213385898994609110269499312098808402896954\"\n ],\n \"20523608011347477126609826620308667690930960895789764079306396754431437836565\": [\n \"13111218171206895989307065805434572616536852436233447210014957693873292415518\",\n \"16522558164523852598347408573654211060668911578567136537451813983321491390936\"\n ],\n \"6114764358669066014345742739206009439774669862029914567220837455053902397598\": [\n \"20523608011347477126609826620308667690930960895789764079306396754431437836565\",\n \"9705461196060747717654982587051310459660854264505428929876230520469983264892\"\n ],\n \"13565915184212443454665202191024486828258135215368418378628693784269117459920\": [\n \"18059448408871092855319380769152754072676678130489182252624925809913320965509\",\n \"6114764358669066014345742739206009439774669862029914567220837455053902397598\"\n ],\n \"17338087067159731321752041935987698403380476332189614031056257737722727695076\": [\n \"13565915184212443454665202191024486828258135215368418378628693784269117459920\",\n \"16483149396576801083519377288620207952701471360520963645673707061854057141944\"\n ],\n \"2832116986369136637846732921475410214549580074639002564901376385745816386412\": [\n \"14750293592395029086294087971053622467729634404963227440431045814825874473271\",\n \"1\",\n \"1\"\n ],\n \"9124754071844947534286677054616482162199864766039835822182801487033349486832\": [\n \"2832116986369136637846732921475410214549580074639002564901376385745816386412\",\n \"17885728081194468046043044478915948172013189785010490656750917748024961029436\"\n ],\n \"4381005621807200009334464783810412644656266455456344887960940814550442466918\": [\n \"9124754071844947534286677054616482162199864766039835822182801487033349486832\",\n \"9935400645787355865168040031346587781037883819516968606121284284865769467122\"\n ],\n \"4121787825308537939673724674828549640176156606096330001023006199612986659506\": [\n \"4381005621807200009334464783810412644656266455456344887960940814550442466918\",\n \"8864591010286262604410818983485014223071393133823607959619668877738093499666\"\n ],\n \"16683492427613718210764606539602909146705594958978544712274457399526251810864\": [\n \"21781618096245492810374964858075653633532830713620979764094869398294179741068\",\n \"4121787825308537939673724674828549640176156606096330001023006199612986659506\"\n ],\n \"17463261961208312172418718791380517292891157109188764047597548813913219563177\": [\n \"16683492427613718210764606539602909146705594958978544712274457399526251810864\",\n \"13586681200498068639201786294424655927959201034081832022930574262505521569869\"\n ],\n \"21789010296463605708516583857332191967855751279099099541236516194430973809799\": [\n \"9055959606539496911801323119516829549236111423850803104511092563072398681152\",\n \"1\",\n \"1\"\n ],\n \"4530765387753667211905907709067453321954135043586873272785379882356609055153\": [\n \"21789010296463605708516583857332191967855751279099099541236516194430973809799\",\n \"16269597200426947208763554079729679097634472749739796752833442825857072137124\"\n ],\n \"4864674562850173577819909419995722841910790206346117643297115755142257023145\": [\n \"4530765387753667211905907709067453321954135043586873272785379882356609055153\",\n \"0\"\n ],\n \"1192298215449513054290241617188835891914429253207344557476594741503248659597\": [\n \"4864674562850173577819909419995722841910790206346117643297115755142257023145\",\n \"0\"\n ],\n \"18878159596024944387253438883750567221857400974707854845852538625692742961245\": [\n \"1192298215449513054290241617188835891914429253207344557476594741503248659597\",\n \"0\"\n ],\n \"11136674779782829719263443379574033653699813295123959027164566057096688436812\": [\n \"18878159596024944387253438883750567221857400974707854845852538625692742961245\",\n \"0\"\n ],\n \"20205351725747079351984854612985316737002628423060638031932666659027666730877\": [\n \"0\",\n \"11136674779782829719263443379574033653699813295123959027164566057096688436812\"\n ],\n \"18732909174572212105858187580686095281197944943871539883811984271249255654661\": [\n \"9622200902368654649572677000457961169303102404399441323949505352759693398070\",\n \"20205351725747079351984854612985316737002628423060638031932666659027666730877\"\n ],\n \"5020505901356320539833059428877731332691246370236099020614424584137259021150\": [\n \"18732909174572212105858187580686095281197944943871539883811984271249255654661\",\n \"0\"\n ],\n \"13922196951203898579965025637065534858342956162704903132223000041144695227760\": [\n \"5020505901356320539833059428877731332691246370236099020614424584137259021150\",\n \"7997686207557664201875042288447668921149813712300450190801883159039437050501\"\n ],\n \"7958899989800877146255205057718165089039877056130450838704954738597026634212\": [\n \"4873575880540458683612208023863357357142704050457488752395794667401437074919\",\n \"13922196951203898579965025637065534858342956162704903132223000041144695227760\"\n ],\n \"6107352406730232155952179874956863502429893284773674202001269349383172716549\": [\n \"7958899989800877146255205057718165089039877056130450838704954738597026634212\",\n \"12511170496633188633611493852936521677210995794208674147767093885746508580546\"\n ],\n \"12002942260431398906851097766096227010803781525875298932320794469935126675018\": [\n \"6107352406730232155952179874956863502429893284773674202001269349383172716549\",\n \"5729230216396804343446705792482001444872112982677226434100857566918682769128\"\n ],\n \"18667129973243393253032853460135125516759332677169646198723991428383460582443\": [\n \"12002942260431398906851097766096227010803781525875298932320794469935126675018\",\n \"2412397972816985088384751170540733978244241567895155992338872565999123929255\"\n ],\n \"17424893818323060047982318400729731445705083449235029112002884198005074699985\": [\n \"12047308238473499283589544529370862668528092635237786608676736562993513754488\",\n \"18667129973243393253032853460135125516759332677169646198723991428383460582443\"\n ],\n \"3612776287686529508835861172770030578600989307296952373101542918336945291261\": [\n \"4283215276153348497280961479451011515919763729421177496277033948596203087123\",\n \"1\",\n \"1\"\n ],\n \"14440131734235329663347657302525823597601435009804349275847785667598897618443\": [\n \"13944257110742336240637231839254970824598718181467921523173904969708720398232\",\n \"3612776287686529508835861172770030578600989307296952373101542918336945291261\"\n ],\n \"10795476899399342364916741212989996112250223889888368947923755494539201811048\": [\n \"0\",\n \"14440131734235329663347657302525823597601435009804349275847785667598897618443\"\n ],\n \"12571732017476344993004009608539592392878406584202941761461605453292303847567\": [\n \"10795476899399342364916741212989996112250223889888368947923755494539201811048\",\n \"13075717788202452941322794230375300040519660909026076923772281418259202251646\"\n ],\n \"13775252700560786355713934112214005957145599410050478981732554188785840775949\": [\n \"12571732017476344993004009608539592392878406584202941761461605453292303847567\",\n \"17945590247076142238856110197553071807272845994921468700134091393718155237657\"\n ],\n \"3125891835815736831563594219644910072477101707247493060456117671027684204050\": [\n \"21012295152043811257625592006208114491338623838973692167340954936365453071723\",\n \"13775252700560786355713934112214005957145599410050478981732554188785840775949\"\n ],\n \"8335782769497273396597625048141241471210704208708203993841263913627010484994\": [\n \"3125891835815736831563594219644910072477101707247493060456117671027684204050\",\n \"11553650850093499802263078252570398170905910234638452092650319547735500009191\"\n ],\n \"5367350237689354393211507335532870969336211232969936248865297294363391563299\": [\n \"19854516344408928797367246195029253574448696426779411671522786995268055396546\",\n \"1\",\n \"1\"\n ],\n \"10599460566833194789240398209495686437766576904246359234332695426373121867835\": [\n \"19862098396075713111510414741619768589372571179759599505602733406914326370653\",\n \"5367350237689354393211507335532870969336211232969936248865297294363391563299\"\n ],\n \"11689554654676260999338957534937183442275143624710087083878975090614094913034\": [\n \"10599460566833194789240398209495686437766576904246359234332695426373121867835\",\n \"21402153332918768646743393904383679233001514523594350336435853557801701097970\"\n ],\n \"19107227540809280903354470415882118454620346168395859417211313473311722388670\": [\n \"11689554654676260999338957534937183442275143624710087083878975090614094913034\",\n \"6801057320088409752527180959915851451572932372895208687161608497372461380178\"\n ],\n \"14621298993466720974435930175992106381791919230466233118933988274034225044348\": [\n \"19107227540809280903354470415882118454620346168395859417211313473311722388670\",\n \"18149199420043147250237360620060648446346052395498681704928879373513910488539\"\n ],\n \"939342768018592972458659992283101853110892926724684548935117487163505613792\": [\n \"1306999664209113102359712045478548961927187892020098984245815213268535242690\",\n \"1\",\n \"1\"\n ],\n \"13445325565881039245275702945362571440229841394993347831262105405505485723302\": [\n \"939342768018592972458659992283101853110892926724684548935117487163505613792\",\n \"5746638573501268795726123418395647461346030960433197462733569155777049385152\"\n ],\n \"21145966004412150138700578425497337370469680615467745212128745718365814880867\": [\n \"21621938571212422937511556967376177487012682305523709333400380805099637026584\",\n \"13445325565881039245275702945362571440229841394993347831262105405505485723302\"\n ],\n \"16568571896255255873398107703489563610501712013597032092969199022759030432830\": [\n \"8318541919182081822077933453516246507654785527220995647309989719521856124924\",\n \"21145966004412150138700578425497337370469680615467745212128745718365814880867\"\n ],\n \"5152270016781757091371338932424640610572965759351724579645361493470522842402\": [\n \"16568571896255255873398107703489563610501712013597032092969199022759030432830\",\n \"18387646950388941865058131160139878910548606224285897179260271312085745020451\"\n ],\n \"18894622328389151329841978872046079275362402075329100319799648701352900126573\": [\n \"18758096753286298069860611856327596407443577704574054957850566083385344586540\",\n \"5152270016781757091371338932424640610572965759351724579645361493470522842402\"\n ],\n \"18683715299335231214714575613260746294669159674652958502980529186678521906690\": [\n \"12394774113206299323105646440205539645435833368337711432713692588250862484109\",\n \"18894622328389151329841978872046079275362402075329100319799648701352900126573\"\n ],\n \"8975438099752099641941976488108746350710985168127427665041107831595136265263\": [\n \"6486925136544067328833807331108211114551376416053213809832126739014272388065\",\n \"18683715299335231214714575613260746294669159674652958502980529186678521906690\"\n ],\n \"18664071841038997597520728067624630610076356365265235436328824518603638927027\": [\n \"14621298993466720974435930175992106381791919230466233118933988274034225044348\",\n \"8975438099752099641941976488108746350710985168127427665041107831595136265263\"\n ],\n \"7042664659155458365268775096948109695908885285995210917697726205110447534330\": [\n \"15958348128231605249048255434798102198466489835388716382419385705207748831653\",\n \"18664071841038997597520728067624630610076356365265235436328824518603638927027\"\n ],\n \"9988597435663771901180065584680860609952712380373192352944070970314811725078\": [\n \"12719277732098174669968467740021873102741451659352953709410535497074956189577\",\n \"7042664659155458365268775096948109695908885285995210917697726205110447534330\"\n ],\n \"18729957658836961790389613335069862410397206735196669591366781031086611471693\": [\n \"9988597435663771901180065584680860609952712380373192352944070970314811725078\",\n \"19883011123149819872376829241208500890768225771789262856726985738362635630556\"\n ],\n \"12149737744776735251578034778636074455401329376327568063924223178923318522413\": [\n \"14061607900077959441600107030940967602581174714201057320198586797790966588180\",\n \"1\",\n \"1\"\n ],\n \"21637310569287483041656675201581250444898918876460969745278636457984395961409\": [\n \"12149737744776735251578034778636074455401329376327568063924223178923318522413\",\n \"18908332907482050908344227618820261776009587999971476973782103563803015757644\"\n ],\n \"16600509553419396078626948906620798831512398216412051229055584741913493072668\": [\n \"21637310569287483041656675201581250444898918876460969745278636457984395961409\",\n \"12416437198765985339878768645072039147555447945485799666174644366282516708704\"\n ],\n \"10625028874311966520192809669955150209587831932522320986959891411675489499753\": [\n \"16600509553419396078626948906620798831512398216412051229055584741913493072668\",\n \"11570958645272802501979484274242475218652087887366436699615858333470236780201\"\n ],\n \"15710714615542119263309035346519316061075567827018757684450536976287481604460\": [\n \"20303714743048813923525246611434791023350925804148553182003256073687531881501\",\n \"10625028874311966520192809669955150209587831932522320986959891411675489499753\"\n ],\n \"1034911620381880500270401313459150307536438058416575969841737296595511307746\": [\n \"485129551007298743783211626135231707994081901524634905733985172951517659944\",\n \"15710714615542119263309035346519316061075567827018757684450536976287481604460\"\n ],\n \"5514553907225521322919443739725775555077150447636049460034711063565189910605\": [\n \"1034911620381880500270401313459150307536438058416575969841737296595511307746\",\n \"20235554830699482805382701645293745216119961414610990814090151667101818980370\"\n ],\n \"13758892729637367000241009525703793557639894491727963906049360373614593215941\": [\n \"5514553907225521322919443739725775555077150447636049460034711063565189910605\",\n \"20296290826170215244991747230139723604336243015380900520275643921108594294442\"\n ],\n \"13894067027539123581639491607989307991643194938052507414674153563662738935718\": [\n \"13758892729637367000241009525703793557639894491727963906049360373614593215941\",\n \"21821654778486763804339605040696933513779081553943825603571649431994780326623\"\n ],\n \"610693102352810916046584081892460015918856414642302920851526897869855548662\": [\n \"6809710525644907027358435301893047088883020631514235519680068799671578454000\",\n \"1\",\n \"1\"\n ],\n \"814487055477335335104787770355896339711218925302357873534198009179455158457\": [\n \"610693102352810916046584081892460015918856414642302920851526897869855548662\",\n \"17792330907706337531519573236880033457729628788964399384332478573480232203584\"\n ],\n \"10449184417466921247142489190389721292715669536542138848945442847883840545862\": [\n \"11451333578426537776211930445316720060102749155687455755269337126897511944275\",\n \"814487055477335335104787770355896339711218925302357873534198009179455158457\"\n ],\n \"8489668846073229461062019057429112721559085339386497058322740140772103497923\": [\n \"8454004185246600195795851319182531240757391540632957450974067850356410116996\",\n \"10449184417466921247142489190389721292715669536542138848945442847883840545862\"\n ],\n \"19028354619864714877610715132389597392880572229370897742879539985620183463841\": [\n \"16337144347864644030033762980704228711445769409693746089397679885079622886432\",\n \"8489668846073229461062019057429112721559085339386497058322740140772103497923\"\n ],\n \"9530269216298313378082870266822083087850472917518309304907024477897444576125\": [\n \"11363628415424111739218122801545340010897683717331415620468548636158579789896\",\n \"19028354619864714877610715132389597392880572229370897742879539985620183463841\"\n ],\n \"7251616494123100003169219001063094060367582374631940650124613950868893620512\": [\n \"20398948076124824115169473013030780789404560681024732332857112609727670746956\",\n \"9530269216298313378082870266822083087850472917518309304907024477897444576125\"\n ],\n \"19947264441920754253954906678684770787279159611476392367297819382058059374677\": [\n \"7052733913565063874532833586963158916390021358281036246411889738445293821214\",\n \"1\",\n \"1\"\n ],\n \"16489967883300919676855951623251692580634943338212961226754808840171458123033\": [\n \"129965751347385906029117328253772716609745725451496788076730000828065295746\",\n \"19947264441920754253954906678684770787279159611476392367297819382058059374677\"\n ],\n \"21508752845665098661863964909344508533321727264372897365422924481355064653098\": [\n \"17496772419324573176772684721811407092991317504058918692436925961729742776176\",\n \"16489967883300919676855951623251692580634943338212961226754808840171458123033\"\n ],\n \"5203355986176043488593536839402120895329778133469430769229359618747282235644\": [\n \"16834357345579536565057447154219207398608395046112503344318700589491939403827\",\n \"21508752845665098661863964909344508533321727264372897365422924481355064653098\"\n ],\n \"17604928657703622151166728698757327121947313341741769697950457217874405336592\": [\n \"5203355986176043488593536839402120895329778133469430769229359618747282235644\",\n \"263418907785015487625716754974643449348007958235093916284487101555384275829\"\n ],\n \"9290557177974749357825082122971872146644500077868550547065925697785301388097\": [\n \"5114233860402498501723857746139321521660732325500708513567131940507921551370\",\n \"17604928657703622151166728698757327121947313341741769697950457217874405336592\"\n ],\n \"1378735899411982513800925160036125122968009066022559784400248961164550620794\": [\n \"9290557177974749357825082122971872146644500077868550547065925697785301388097\",\n \"17258995553368144298621230110956441628128878386567350882522184918581704687287\"\n ],\n \"18954860094146516831831143116462348486223796700951086907260299779449177016112\": [\n \"1378735899411982513800925160036125122968009066022559784400248961164550620794\",\n \"6280951012459255855093400180051947982366767066196636775791870453942522344651\"\n ],\n \"20995297812045586007684891378489997027811957307745767762606181976351465867722\": [\n \"18954860094146516831831143116462348486223796700951086907260299779449177016112\",\n \"4799785577014692730443821462098507187360861202599680949744049978326182724355\"\n ],\n \"16780652874402086168323419182765716400929301528203284640637234476869420252517\": [\n \"8856396786893633292704890210389825082107468880407513886723859496715833991392\",\n \"1\",\n \"1\"\n ],\n \"10563556298584906179293217295280546335044614978812966850794480544520461999990\": [\n \"16780652874402086168323419182765716400929301528203284640637234476869420252517\",\n \"18967892485489933208582841818448805438726871059043952719232405694342620243307\"\n ],\n \"11562844477603497479919907727102137883925751604673187996149815088359409239026\": [\n \"0\",\n \"10563556298584906179293217295280546335044614978812966850794480544520461999990\"\n ],\n \"7227366433689672947470235656923415423903612769774986764077551173010913106799\": [\n \"11562844477603497479919907727102137883925751604673187996149815088359409239026\",\n \"0\"\n ],\n \"71569317393549813834359672731459191980971798125110450180941444890996117882\": [\n \"7227366433689672947470235656923415423903612769774986764077551173010913106799\",\n \"0\"\n ],\n \"13023892298130902002399731401542483395678670035074105162877811866465205178714\": [\n \"0\",\n \"71569317393549813834359672731459191980971798125110450180941444890996117882\"\n ],\n \"2701163597436557632426408660617342862011579309555533326956571790355791751413\": [\n \"0\",\n \"13023892298130902002399731401542483395678670035074105162877811866465205178714\"\n ],\n \"1989162000312214188991833857636299917764225303611384138099445508343241368747\": [\n \"2701163597436557632426408660617342862011579309555533326956571790355791751413\",\n \"11646977877666677134328457287261263959392874076948941100882151833820011557172\"\n ],\n \"12930342508718962089534466119521797608548586063105971892751428306303551459861\": [\n \"1989162000312214188991833857636299917764225303611384138099445508343241368747\",\n \"0\"\n ],\n \"12853134835743991910384511589322044174088831702674741116758903314256105065060\": [\n \"12930342508718962089534466119521797608548586063105971892751428306303551459861\",\n \"5560277454052132558818913088600068380051949522029359571367374090617262772126\"\n ],\n \"15268141401117471969235366394996459915497007623452801632095184168549090236421\": [\n \"12853134835743991910384511589322044174088831702674741116758903314256105065060\",\n \"10834876970738562196623307779986668350466957308879912427538862866641071574025\"\n ],\n \"19819114471728068626344032568226190693901254631288942723776713578519842743146\": [\n \"15268141401117471969235366394996459915497007623452801632095184168549090236421\",\n \"18902271438994671157894257217305271285162872491517495612852310433329861865340\"\n ],\n \"3464834892043376002117324603146111623138281412855830048853453979232293251199\": [\n \"1950734137309228761627933593979073514610133384315336934172719763320249212451\",\n \"19819114471728068626344032568226190693901254631288942723776713578519842743146\"\n ],\n \"16184414633900488453622500526256423568516740753061938545998737820890313185590\": [\n \"19975662318891281230019044690154182097915626193705890366313375367139936866262\",\n \"3464834892043376002117324603146111623138281412855830048853453979232293251199\"\n ],\n \"9344633481589441118932674146558181511773108976665406055825647477512893564584\": [\n \"17424893818323060047982318400729731445705083449235029112002884198005074699985\",\n \"16184414633900488453622500526256423568516740753061938545998737820890313185590\"\n ],\n \"5965130357501748447021883911455459690323054023744044159298210239452051279882\": [\n \"19983254342535071901331692867883097253360662445259028644943272382770473710578\",\n \"1\",\n \"1\"\n ],\n \"835918473252952989340574631074985012713322642317614405630907642725252244828\": [\n \"5965130357501748447021883911455459690323054023744044159298210239452051279882\",\n \"5825182810166847183463392995023297481661517956492569587847445775198919660857\"\n ],\n \"7260455931886998446199172197741527201844397167571446305998758051243352365505\": [\n \"0\",\n \"835918473252952989340574631074985012713322642317614405630907642725252244828\"\n ],\n \"10569308944622623555245665617706570460039618266308556702263893745407123055769\": [\n \"18778657908451667287224726588601286057860878866801273516188996033349689249293\",\n \"7260455931886998446199172197741527201844397167571446305998758051243352365505\"\n ],\n \"19539378038804785914195675407747812241154443884762515479870249685360290352857\": [\n \"10569308944622623555245665617706570460039618266308556702263893745407123055769\",\n \"9238746661916650075312069385316527376445508775595883972685317997067574019268\"\n ],\n \"527331022553565154973230342835787212375219370546005516844030531464704043870\": [\n \"19539378038804785914195675407747812241154443884762515479870249685360290352857\",\n \"7541380284446773677069957343056923301668133446108666685967121259547651975382\"\n ],\n \"4431425346520844331903206670780112286044321328272548282702414529180520334587\": [\n \"13495792864476829781679317874250569140331112754417666558560295461788966944316\",\n \"527331022553565154973230342835787212375219370546005516844030531464704043870\"\n ],\n \"966943063232383196709893976400402780390235386232726760882387719800653096644\": [\n \"13121910437849272713431651245392134779164919345643922946928889766639949737197\",\n \"4431425346520844331903206670780112286044321328272548282702414529180520334587\"\n ],\n \"19009872048280401308716583726906722692503293521715840167628403752325673024797\": [\n \"19041756551041086643411268690914171257701960632290078784052612867742626297525\",\n \"966943063232383196709893976400402780390235386232726760882387719800653096644\"\n ],\n \"9715607570753644037334711340653694728526234909546429630430057356179011779477\": [\n \"19284320486161757934739793980378446612588269514743334282020976994869051152627\",\n \"19009872048280401308716583726906722692503293521715840167628403752325673024797\"\n ],\n \"1830238482735570526225169733477132005905435783295616082130828863087217438289\": [\n \"15241043902341000607585265015023267870849816716511283187525806522198716598492\",\n \"9715607570753644037334711340653694728526234909546429630430057356179011779477\"\n ],\n \"16780577756283873583265482316712169736793812473977040994186215691001447635107\": [\n \"18729957658836961790389613335069862410397206735196669591366781031086611471693\",\n \"1830238482735570526225169733477132005905435783295616082130828863087217438289\"\n ],\n \"14687206815914728148049356899149193883736542007400699912048132840511904932155\": [\n \"16780577756283873583265482316712169736793812473977040994186215691001447635107\",\n \"13833263337287796931536778017862101692438669210823434097293787790410370378519\"\n ],\n \"10678054866865068303038541961580943812978487557807757382565781120698851250265\": [\n \"17587667864321813839497893804754404980927447820177441441873485517516122308068\",\n \"1\",\n \"1\"\n ],\n \"7914621681889030549926422372498514064719041730128832295456278594685974786210\": [\n \"6870566955610544943544044717082330040552879126817595732814527953573012330222\",\n \"10678054866865068303038541961580943812978487557807757382565781120698851250265\"\n ],\n \"7679721058609999641709637347135069371014965783987021409222890830764363270527\": [\n \"18843356039428039555527935809200534301523415454922409051710075094722181143604\",\n \"7914621681889030549926422372498514064719041730128832295456278594685974786210\"\n ],\n \"4566194605241385674320292106909103324281842463854821655798755609403915532893\": [\n \"7679721058609999641709637347135069371014965783987021409222890830764363270527\",\n \"21273590858285443247242291360091554803419290431590491056325683856549316824297\"\n ],\n \"12574187257246644239305303492125121781680708515031884423044923405024426169099\": [\n \"9872702273648935039839047309963631465235069526587674815336452632102791032260\",\n \"4566194605241385674320292106909103324281842463854821655798755609403915532893\"\n ],\n \"13209259772386953785012961155462269125535348450618802149130877021973020597894\": [\n \"19563645412824522502905304611835067285684996307233458479720427188330690529888\",\n \"12574187257246644239305303492125121781680708515031884423044923405024426169099\"\n ],\n \"16300903369709536494514256808116964256008516931205280288839359536947190295753\": [\n \"15759775398619735412173224162491858091672066817069613019545542755480428322279\",\n \"13209259772386953785012961155462269125535348450618802149130877021973020597894\"\n ],\n \"1986797538219694814145044360852497166394146931606059882538183080463327968126\": [\n \"1000768804988081909078911349742481551950696108788296042847740163891991632845\",\n \"16300903369709536494514256808116964256008516931205280288839359536947190295753\"\n ],\n \"6250640028529170648952270571665374450649120683425432273149061573767800067369\": [\n \"1986797538219694814145044360852497166394146931606059882538183080463327968126\",\n \"13894067027539123581639491607989307991643194938052507414674153563662738935718\"\n ],\n \"3769911997793287268736320875537388315232566197180451542660152945711935966258\": [\n \"15732228095900877442878079354230606368602828658961587645446439138540915171916\",\n \"1\",\n \"1\"\n ],\n \"11824204969564980078730748133311575181023621454594937774570920613329965743096\": [\n \"12636390422497318661553965988040093457801642276973883626257825308935516190306\",\n \"3769911997793287268736320875537388315232566197180451542660152945711935966258\"\n ],\n \"16575472794643049342628583124930582467225964820921025254870260131863284627682\": [\n \"11824204969564980078730748133311575181023621454594937774570920613329965743096\",\n \"0\"\n ],\n \"11497471273971922586996719161579347981789098624897227576926873587860381646535\": [\n \"0\",\n \"16575472794643049342628583124930582467225964820921025254870260131863284627682\"\n ],\n \"19081210768626176013247550838888281005731642990908526107644095441431247383517\": [\n \"11497471273971922586996719161579347981789098624897227576926873587860381646535\",\n \"7171007573053817681135669658048667972962864923498081180353978150330503890776\"\n ],\n \"19166667260141098894733609471576035066420462187484768041887189965795394323818\": [\n \"19081210768626176013247550838888281005731642990908526107644095441431247383517\",\n \"0\"\n ],\n \"14169720956389990300358001993049557654794627167479573809116016706175421458876\": [\n \"19166667260141098894733609471576035066420462187484768041887189965795394323818\",\n \"5902914894084495528691907806074380061538255484979380160458450801077175264835\"\n ],\n \"9332460291414888805218764048614893351850243694638322984223509865206044117248\": [\n \"4867618914522158243344026543444178209182527212130541384780624464052154101363\",\n \"14169720956389990300358001993049557654794627167479573809116016706175421458876\"\n ],\n \"5710571114090980636391838136888264697184369300265381007354986345413341293030\": [\n \"9332460291414888805218764048614893351850243694638322984223509865206044117248\",\n \"21052442967843455185388655602461640341102673756069783576052349594649910264078\"\n ],\n \"13225861831077447661462688641927712711564864569971697027392326713061524181761\": [\n \"11143321702195842135145033049508369784117601560739011478396440047415980922294\",\n \"1\",\n \"1\"\n ],\n \"14745598560546896677053139424279564918801888362600874710129632709060328721547\": [\n \"13225861831077447661462688641927712711564864569971697027392326713061524181761\",\n \"13580112451987081189974792451880471014377873727444663516761713887343243683603\"\n ],\n \"15549265379996092227367248854207804560624001322880479742485891651864679796354\": [\n \"14745598560546896677053139424279564918801888362600874710129632709060328721547\",\n \"17713645694903465759899353991411820406503794849973193304123332453875745290302\"\n ],\n \"15974354456703530139895845479327666374615037083085140740363475344445655797632\": [\n \"15549265379996092227367248854207804560624001322880479742485891651864679796354\",\n \"0\"\n ],\n \"5555351658429270328071849424428266803338464996151663711088463762779766522538\": [\n \"0\",\n \"15974354456703530139895845479327666374615037083085140740363475344445655797632\"\n ],\n \"16791878028180298812132684042894351319919694293034293783812978324338847907439\": [\n \"5555351658429270328071849424428266803338464996151663711088463762779766522538\",\n \"17004997786959146734771334682349945689785785706771827892379172996722421818803\"\n ],\n \"247657652550757950975779808894795517337358793466661303400803557435276713406\": [\n \"365285975907819941961089951523149946909391105736650003542736541522868223113\",\n \"16791878028180298812132684042894351319919694293034293783812978324338847907439\"\n ],\n \"16241554377491938323554118170455001371278482937556977169243008598573148042441\": [\n \"247657652550757950975779808894795517337358793466661303400803557435276713406\",\n \"1821271803184819253031802132695748960612852965118276575184056229475166475567\"\n ],\n \"3647863983468485272411001260418159362828614247443724267162380814553246583587\": [\n \"14942109239073486417479083280642781496661346753212802541238127141335448018426\",\n \"16241554377491938323554118170455001371278482937556977169243008598573148042441\"\n ],\n \"13622535254167984716836893034732014652204793345981976888396210268474733823064\": [\n \"10714873362529427345447967879304566678378614261324504088021206445599939715964\",\n \"3647863983468485272411001260418159362828614247443724267162380814553246583587\"\n ],\n \"12078350576171199047208299462073390646913068700942445205446586083164318794448\": [\n \"13622535254167984716836893034732014652204793345981976888396210268474733823064\",\n \"3696725525011897305188750800390686710093095403042748946720660919265688105089\"\n ],\n \"7132931137015335289295794682798814705926079687193684381002089423677858286136\": [\n \"18308951412547421741206468655103466187897786658878768797271932280484001831942\",\n \"12078350576171199047208299462073390646913068700942445205446586083164318794448\"\n ],\n \"16362780204378409956493873049304876617788499288898788764357995159604645990389\": [\n \"12640063476660092469405030699444648349810570001869467207349695549154510315555\",\n \"7132931137015335289295794682798814705926079687193684381002089423677858286136\"\n ],\n \"16912901335431810591360691023507888010070867323002531434112853495646216514249\": [\n \"5153878568084378196751032188549655168391001390764785810301138423784550480403\",\n \"1\",\n \"1\"\n ],\n \"62853144291555143894490204021684520183516018259005858913592282166039012536\": [\n \"16912901335431810591360691023507888010070867323002531434112853495646216514249\",\n \"4145855077601380368657298050585322289160838032896897939721712948983608095339\"\n ],\n \"3876126418609293875849402487115402623562384111629168001212383713927509120736\": [\n \"0\",\n \"62853144291555143894490204021684520183516018259005858913592282166039012536\"\n ],\n \"4687358492188227027567786002402644338400992669428536524052978443936705219458\": [\n \"17426444470261978134806239997186411027836281484841314431107951176089223293971\",\n \"3876126418609293875849402487115402623562384111629168001212383713927509120736\"\n ],\n \"10569765751843570521287841136305836640967643123418820649750632014704784546771\": [\n \"18110788882855552248057688537341539431690913119494909463783676574561954994006\",\n \"4687358492188227027567786002402644338400992669428536524052978443936705219458\"\n ],\n \"20171925680298802887638549943521803127259825920104406897058459121679989630191\": [\n \"10569765751843570521287841136305836640967643123418820649750632014704784546771\",\n \"14171112340033651220118742892356617875534369601374601691713269641959084368888\"\n ],\n \"9029100838181066686713535765522564587627916631126778688069871656297388500531\": [\n \"13785014526977245527752875953549836086511361407929849344713954868831790665024\",\n \"20171925680298802887638549943521803127259825920104406897058459121679989630191\"\n ],\n \"162554476076569958577427963055650824250129650525899191717613796756699488607\": [\n \"9029100838181066686713535765522564587627916631126778688069871656297388500531\",\n \"8335782769497273396597625048141241471210704208708203993841263913627010484994\"\n ],\n \"901390157818066080134753598914695828269784732102306252591106960221859377368\": [\n \"162554476076569958577427963055650824250129650525899191717613796756699488607\",\n \"2265737586690578170894696069988296461215611028565944541309834785599799602521\"\n ],\n \"15252698787296571514931011558597846500785535730127348036611013253833436700858\": [\n \"901390157818066080134753598914695828269784732102306252591106960221859377368\",\n \"2738791572880140935980842744541547480065577133881799299164603622313101217798\"\n ],\n \"11241484843764584630649823588270185007380004345663492571836323933635115900330\": [\n \"15252698787296571514931011558597846500785535730127348036611013253833436700858\",\n \"21296729928464844148643789367549335696675586615010748951370649772868952729082\"\n ],\n \"1061679407735728877243712586563061060808862820262591753380845165477244459632\": [\n \"12468929389665243091738949772633002312554733650648377084839721303499143894096\",\n \"11241484843764584630649823588270185007380004345663492571836323933635115900330\"\n ],\n \"15457900473347959411888806658460852917019236289686019972788073873180100126186\": [\n \"1061679407735728877243712586563061060808862820262591753380845165477244459632\",\n \"7243196810730249314202456055054476823436603023193245446930404999801395738058\"\n ],\n \"791838759660377405679887148512664177660447163388417784952480675680415428561\": [\n \"10028651291895296131705925531909052878772786438236292199122642496686338711278\",\n \"1\",\n \"1\"\n ],\n \"21700668595790863120340798021785515682961447329976274234332113952909427074722\": [\n \"791838759660377405679887148512664177660447163388417784952480675680415428561\",\n \"9815594465658379110113146362775276287351895462813857243591842696077232172618\"\n ],\n \"13383390471900608340825371083889731775225247720242129149841618038954935787905\": [\n \"21700668595790863120340798021785515682961447329976274234332113952909427074722\",\n \"14298373105208282423516583146131091690623392470200824013473557862153565408765\"\n ],\n \"795740685814971008474040127770291655300024781525236630203929602783853305556\": [\n \"19653143446771803870525015117750076409040481916124250051614916464400078301568\",\n \"13383390471900608340825371083889731775225247720242129149841618038954935787905\"\n ],\n \"2642600490818912921089707034779500723285693313212286663800191239145714978918\": [\n \"0\",\n \"795740685814971008474040127770291655300024781525236630203929602783853305556\"\n ],\n \"123928071169146408276547655152361569487038746025044817962523500677274657237\": [\n \"12177157425079469569249985181767891082763781340806535443037944181986412709670\",\n \"2642600490818912921089707034779500723285693313212286663800191239145714978918\"\n ],\n \"12165350299493033675748465088960357866831808923793768899979760142597219262145\": [\n \"18171049232363920069741402358878132880045970644092310033870351603687784815463\",\n \"123928071169146408276547655152361569487038746025044817962523500677274657237\"\n ],\n \"5268442601751733193990775444472958740578387509671212756812668168560253840677\": [\n \"12165350299493033675748465088960357866831808923793768899979760142597219262145\",\n \"10050308856666305454719370026523196903856134399329366802394722534902701232337\"\n ],\n \"6913423196484142450711754178787468920655875355007018443851965229495037048788\": [\n \"11839153128837149415271939811284548913339927180702928374971668756731015721475\",\n \"5268442601751733193990775444472958740578387509671212756812668168560253840677\"\n ],\n \"10434865138201693394611842903558062736920953673988462684458391714930516002997\": [\n \"13399082762613088790595218211791074842944018963728028940972485103828340853452\",\n \"1\",\n \"1\"\n ],\n \"14973016264821476588121631456837665094690256818901616617765427561076198047121\": [\n \"10434865138201693394611842903558062736920953673988462684458391714930516002997\",\n \"10508437938133824500123249509477625000093899072667871106479046747592923885245\"\n ],\n \"16177764162186081346441996814841575462301283161647582342856698050951370921613\": [\n \"14973016264821476588121631456837665094690256818901616617765427561076198047121\",\n \"0\"\n ],\n \"10952929081741632415953649897088218285266156529648810049432540791918284564047\": [\n \"914243503349661555780746113471071162083611240983556248325210772189956116883\",\n \"16177764162186081346441996814841575462301283161647582342856698050951370921613\"\n ],\n \"4797672842600096676713168804053771679768116190270297749894162266189118528838\": [\n \"10952929081741632415953649897088218285266156529648810049432540791918284564047\",\n \"7230220874300982889999184583675812596002763285721758253615987091348934643546\"\n ],\n \"13657887215060131529334837812186403302080685159456244585676868622424971468386\": [\n \"12881787724403717217098977733177075296473710767439540596590650138969518409290\",\n \"4797672842600096676713168804053771679768116190270297749894162266189118528838\"\n ],\n \"7385403359638951362197885413532240956107992361205125868614054380728979890948\": [\n \"13657887215060131529334837812186403302080685159456244585676868622424971468386\",\n \"8694504838517453067263535711858807037519737221734840170430075300985563456962\"\n ],\n \"4503068340479974804239069063905740096993359815142735735661439574186611553504\": [\n \"5710571114090980636391838136888264697184369300265381007354986345413341293030\",\n \"7385403359638951362197885413532240956107992361205125868614054380728979890948\"\n ],\n \"19899524199525518524252939933062116446132584649731003072959100984961119463628\": [\n \"3337495542135272467823954931355909109910936153868349929093229911817514524292\",\n \"4503068340479974804239069063905740096993359815142735735661439574186611553504\"\n ],\n \"18396565276936191921631826264221222744661187811006319608480673031046003732626\": [\n \"19899524199525518524252939933062116446132584649731003072959100984961119463628\",\n \"14452988238773514415268726573478479236129760268943178432799269630623368038249\"\n ],\n \"10734049036409974698277381460800650041582727888853587147321465056431847946239\": [\n \"18396565276936191921631826264221222744661187811006319608480673031046003732626\",\n \"12099843068662058014621751700195836805064297973951435301841908981105094933201\"\n ],\n \"6052220033282045623628905179231070957739307531039580182028675753920853491776\": [\n \"6250640028529170648952270571665374450649120683425432273149061573767800067369\",\n \"10734049036409974698277381460800650041582727888853587147321465056431847946239\"\n ],\n \"21619808365219513746605060694086891017500478212332715763776683050390361657672\": [\n \"8939699685436179556520273793960484061187514795358743084794446257389896317303\",\n \"1\",\n \"1\"\n ],\n \"5484266804338770433684447877520460246333998408227730777716409544391358132477\": [\n \"21619808365219513746605060694086891017500478212332715763776683050390361657672\",\n \"5966252425472020258591420581769004135514552013933618088684920292806353430541\"\n ],\n \"10785918254104256344176919099474883646961663783650465291038008055376453345251\": [\n \"2141328176766450483623527392066417330088248999652185593955992030205774785698\",\n \"5484266804338770433684447877520460246333998408227730777716409544391358132477\"\n ],\n \"13706532870480869880504307609051762520089011467363940955671174775933953595490\": [\n \"21370636057339844472319591797998408632846151992869331017560027144206805342552\",\n \"10785918254104256344176919099474883646961663783650465291038008055376453345251\"\n ],\n \"13304985403288043544548967847996159929730630712328443937621024703976227488915\": [\n \"20618822767874704404776544338636599227199240462643691765123108470164937497563\",\n \"13706532870480869880504307609051762520089011467363940955671174775933953595490\"\n ],\n \"9501649333653286829669764593477822599560043664160586425682126464379011109420\": [\n \"13304985403288043544548967847996159929730630712328443937621024703976227488915\",\n \"7437680980929463289986520116709823020784583103385094356978112063009066592013\"\n ],\n \"7415974326142849753058698492280301195439142832255752030858907662040972844369\": [\n \"9501649333653286829669764593477822599560043664160586425682126464379011109420\",\n \"11432875272994414998805542978308658026520342632998358864387471912358356733939\"\n ],\n \"2938469244393288223531771784657293444537401939397152889940918450410835959573\": [\n \"2962544357381021939076317474139251426930024691193319409259916471892146491533\",\n \"7415974326142849753058698492280301195439142832255752030858907662040972844369\"\n ],\n \"9169678707766907504552930529207009821304013976596401705653410589617931749651\": [\n \"2938469244393288223531771784657293444537401939397152889940918450410835959573\",\n \"6617729625869029624956460518621887378333803970948306532632334364867259118857\"\n ],\n \"17862645670778110326738364820529688553988500971521644415587188985655241779093\": [\n \"17463261961208312172418718791380517292891157109188764047597548813913219563177\",\n \"9169678707766907504552930529207009821304013976596401705653410589617931749651\"\n ],\n \"2431304000085260755221282680872384599764682558688438310276997178373141383239\": [\n \"17240250143974447010686528882101495756645827578904963219893759941229863723893\",\n \"17862645670778110326738364820529688553988500971521644415587188985655241779093\"\n ],\n \"11047268890467652636486218996771734849544032321738365373325502611824382100593\": [\n \"288994755750958325935923788602690851302169675217940528332627470121049740426\",\n \"2431304000085260755221282680872384599764682558688438310276997178373141383239\"\n ],\n \"2121834862983643434199511786670282262151854256884162374959524126714632439023\": [\n \"11047268890467652636486218996771734849544032321738365373325502611824382100593\",\n \"17338087067159731321752041935987698403380476332189614031056257737722727695076\"\n ],\n \"2736247012926663474323421617011790463337288414362372295285359168654313100115\": [\n \"15457900473347959411888806658460852917019236289686019972788073873180100126186\",\n \"2121834862983643434199511786670282262151854256884162374959524126714632439023\"\n ],\n \"2324788389632588515263788226685799714935602706254508769247744059725643533897\": [\n \"8292315310490170193630021961252068604244751474220659382166621232193728688217\",\n \"1\",\n \"1\"\n ],\n \"16742653949759995884720666415045128651211142021602874312183700237492065717065\": [\n \"2324788389632588515263788226685799714935602706254508769247744059725643533897\",\n \"20248517737906290671930165637983378192987193277178585960860489238855313446043\"\n ],\n \"9848721775677567483410459913091104049003654681462667341091157449798373951845\": [\n \"16742653949759995884720666415045128651211142021602874312183700237492065717065\",\n \"0\"\n ],\n \"9882435402799078339030706017500958647846072334608579004657020650825909544191\": [\n \"0\",\n \"9848721775677567483410459913091104049003654681462667341091157449798373951845\"\n ],\n \"16091247186687386054284441288444210129166161958237324815329724111466072970702\": [\n \"0\",\n \"9882435402799078339030706017500958647846072334608579004657020650825909544191\"\n ],\n \"21114260738838893263046748370461807713982515648432567991578188745133081058976\": [\n \"16091247186687386054284441288444210129166161958237324815329724111466072970702\",\n \"19239243410355941866804063768690925342796236932912788961051063421027262508340\"\n ],\n \"14530520174034989088525717315991636573885482090263803609067926869178538182707\": [\n \"21114260738838893263046748370461807713982515648432567991578188745133081058976\",\n \"8957763975894492417453004679746216615440525719101438692544689608521754493745\"\n ],\n \"19186993477856467200103683013564490908265100990279489213746031699407786593462\": [\n \"14530520174034989088525717315991636573885482090263803609067926869178538182707\",\n \"9853324582934332848190687037646060839533342070266979804539533608265823125197\"\n ],\n \"10859723933217631179289733850380825540725319095234212930369942100454566336999\": [\n \"19186993477856467200103683013564490908265100990279489213746031699407786593462\",\n \"9941034835489398700011694356184191655840013429978823677233839491965188928875\"\n ],\n \"6789322671634216185694528685063144886793179964147386309521155752104499692162\": [\n \"10859723933217631179289733850380825540725319095234212930369942100454566336999\",\n \"7993664341265997293643853567997312937829897421812569776441950085753307365228\"\n ],\n \"19174715792027126349657785644541777756652049985893343655436611780756776744470\": [\n \"15822965401963708291972354854765044150870058362045042620995660428439252431160\",\n \"6789322671634216185694528685063144886793179964147386309521155752104499692162\"\n ],\n \"2999395811465490745275443969939757336278090732875051464776040667807754227592\": [\n \"19174715792027126349657785644541777756652049985893343655436611780756776744470\",\n \"19482010658528246438307978588348292995614805701296754908098230382135256153058\"\n ],\n \"12131145006412585920666791077585685340903147162066013235934061871947739355561\": [\n \"5087594209056948220663605012042386622705087011539100310441400923170890816669\",\n \"2999395811465490745275443969939757336278090732875051464776040667807754227592\"\n ],\n \"8816221654924477984371160663012539824223988182807237912242232562054208365736\": [\n \"3001817857623841966652629754796802143041072311805545518387766832456220325477\",\n \"12131145006412585920666791077585685340903147162066013235934061871947739355561\"\n ],\n \"2906045383409064463994333831127946886136056886711510132879244611040301271556\": [\n \"8816221654924477984371160663012539824223988182807237912242232562054208365736\",\n \"4143741570693597378106149811709671714764264002589616310458204220860294517586\"\n ],\n \"8773122669557978060819102864397952160798867811318045219271204738890159587718\": [\n \"2906045383409064463994333831127946886136056886711510132879244611040301271556\",\n \"2736247012926663474323421617011790463337288414362372295285359168654313100115\"\n ],\n \"17767464850390388227132871750259904621949978480348311891659444563775199207909\": [\n \"21093637619589471488232945039873891901489810918033058849474611436573451485840\",\n \"1\",\n \"1\"\n ],\n \"4563001560763113994901565710748883768938089853802651345838569596054684458074\": [\n \"17767464850390388227132871750259904621949978480348311891659444563775199207909\",\n \"16618942728226245909291227953863739896008428934809894284783146147874485667199\"\n ],\n \"21621041316058108325621030517448757261677534789749128572371778564848730901115\": [\n \"4563001560763113994901565710748883768938089853802651345838569596054684458074\",\n \"973174268150683419226318021881551776015265410795732960191451927128231974033\"\n ],\n \"2448507310049178228547917645656136222566272408924782484409275491698248778408\": [\n \"21621041316058108325621030517448757261677534789749128572371778564848730901115\",\n \"9404464884149373595699093080243929729033976486492871530362329287726437139136\"\n ],\n \"16503120079681612479368301981866653330577366887163518557757189442143614187796\": [\n \"17038614696603870018760731452991646745194657684601904955177985725831818009099\",\n \"2448507310049178228547917645656136222566272408924782484409275491698248778408\"\n ],\n \"13054798616037170631672224883029693878646653434193691832751376514868204772905\": [\n \"16503120079681612479368301981866653330577366887163518557757189442143614187796\",\n \"10544919934572013138364453199197451062214777408565345956046729791456328225233\"\n ],\n \"7440846511291184405210327091459941056084281279541920872321952007697264453747\": [\n \"20265745806037908119482143958804221475418422684141277191918954660480989593026\",\n \"13054798616037170631672224883029693878646653434193691832751376514868204772905\"\n ],\n \"6373403458619608692120287751221841451654238175745576055379945229846373573211\": [\n \"7440846511291184405210327091459941056084281279541920872321952007697264453747\",\n \"20593951588716806686847178255619074511975827540361170819562450443881229127103\"\n ],\n \"12622603306626098381984061485917957655120839169125390222756601320550290349604\": [\n \"6373403458619608692120287751221841451654238175745576055379945229846373573211\",\n \"7251616494123100003169219001063094060367582374631940650124613950868893620512\"\n ],\n \"11323292335294844005466272058394509177203898511417710492608274095338241719267\": [\n \"9344633481589441118932674146558181511773108976665406055825647477512893564584\",\n \"12622603306626098381984061485917957655120839169125390222756601320550290349604\"\n ],\n \"334777783841073438090308657471438837439136673232260321142987851190359280952\": [\n \"11323292335294844005466272058394509177203898511417710492608274095338241719267\",\n \"10875640870830207372445036246859955595076286442014564231699546480706040665330\"\n ],\n \"12449179445475049301911690220227086657764828295682718575756045535428023030683\": [\n \"334777783841073438090308657471438837439136673232260321142987851190359280952\",\n \"6052220033282045623628905179231070957739307531039580182028675753920853491776\"\n ],\n \"17919817690760359851878379214017153186249804063620207862489931810175938734301\": [\n \"10317231701648630329308798956433303851105168383084494930875223798669873164974\",\n \"1\",\n \"1\"\n ],\n \"13104643903073125734503967965151023033210092911955475275867813446080308766713\": [\n \"15813422315276169202052815507885449579613738772149043670219478128172000931193\",\n \"17919817690760359851878379214017153186249804063620207862489931810175938734301\"\n ],\n \"3589969657194000174748019433801758709259887432284930955523401059686686438409\": [\n \"13104643903073125734503967965151023033210092911955475275867813446080308766713\",\n \"0\"\n ],\n \"9516068771672017756782942676493111760101889881962498262753029960251176674189\": [\n \"0\",\n \"3589969657194000174748019433801758709259887432284930955523401059686686438409\"\n ],\n \"7177687960962790519825715194162179786546456175742036520112680602385691705561\": [\n \"0\",\n \"9516068771672017756782942676493111760101889881962498262753029960251176674189\"\n ],\n \"5707170836500590438857026640120704968815007310759229846419639990722427354813\": [\n \"7177687960962790519825715194162179786546456175742036520112680602385691705561\",\n \"346865808374754947574887878557488836457789460686857909285850248167761693208\"\n ],\n \"1223578080246192359969026654860610238210523457929725502795249876026949588971\": [\n \"5707170836500590438857026640120704968815007310759229846419639990722427354813\",\n \"20560261291073468323591643674180972314357956750973809949272083332043885010245\"\n ],\n \"14624331847701716635764237636701130438706849456047092119445688142094596591279\": [\n \"14405814063570957697839150937472193157761007961903943278238092891516105484668\",\n \"1223578080246192359969026654860610238210523457929725502795249876026949588971\"\n ],\n \"16066195026272684416058603219737430857217864227230650862469710826538415360635\": [\n \"14624331847701716635764237636701130438706849456047092119445688142094596591279\",\n \"19520152665494967135954955044856375134592781822630749835689035166115948167839\"\n ],\n \"14220011236489218454797186505975046678497166092348422718472895782031753530014\": [\n \"21109786806311037705948684765056781385229284179256683840113414117975319302623\",\n \"16066195026272684416058603219737430857217864227230650862469710826538415360635\"\n ],\n \"16955453821787098027899981038776528092762117394758028728774311526795798120538\": [\n \"14220011236489218454797186505975046678497166092348422718472895782031753530014\",\n \"6913423196484142450711754178787468920655875355007018443851965229495037048788\"\n ],\n \"8007438538594053130751054607180938888853774698550369561762719865692089763994\": [\n \"19063503933807891402083260098934233801722588291559749027123449993593818029497\",\n \"16955453821787098027899981038776528092762117394758028728774311526795798120538\"\n ],\n \"4522399540873538088389712854491487208085522695536023315795802924991880068851\": [\n \"8007438538594053130751054607180938888853774698550369561762719865692089763994\",\n \"20995297812045586007684891378489997027811957307745767762606181976351465867722\"\n ],\n \"2420227746680042110730446197475787678143078597010661632462260637162959581840\": [\n \"16362780204378409956493873049304876617788499288898788764357995159604645990389\",\n \"4522399540873538088389712854491487208085522695536023315795802924991880068851\"\n ],\n \"19918989837277936017961788048200546641040683840456031397141732168243629085956\": [\n \"14687206815914728148049356899149193883736542007400699912048132840511904932155\",\n \"2420227746680042110730446197475787678143078597010661632462260637162959581840\"\n ],\n \"17925680644841009908434385195960046090343975022842638700987686359715787580445\": [\n \"12449179445475049301911690220227086657764828295682718575756045535428023030683\",\n \"19918989837277936017961788048200546641040683840456031397141732168243629085956\"\n ],\n \"6336116737947048758640371545129445020002770571169895763706254548250040263750\": [\n \"17925680644841009908434385195960046090343975022842638700987686359715787580445\",\n \"8773122669557978060819102864397952160798867811318045219271204738890159587718\"\n ]\n}" -} \ No newline at end of file +} diff --git a/contracts/test/utils/types.ts b/contracts/test/utils/types.ts index 193d3085e..098cc92b2 100644 --- a/contracts/test/utils/types.ts +++ b/contracts/test/utils/types.ts @@ -1,24 +1,21 @@ import { Signer } from "ethers"; import { PassportData } from "../../../common/src/utils/types"; -import type { - PublicSignals, - Groth16Proof -} from "snarkjs"; +import type { PublicSignals, Groth16Proof } from "snarkjs"; // Contract imports import { - IdentityVerificationHub, - IdentityVerificationHubImplV1, - IdentityRegistry, - IdentityRegistryImplV1, + IdentityVerificationHub, + IdentityVerificationHubImplV1, + IdentityRegistry, + IdentityRegistryImplV1, } from "../../typechain-types"; -import type { - IIdentityVerificationHubV1, - IRegisterCircuitVerifier, - IDscCircuitVerifier, - IVcAndDiscloseCircuitVerifier +import type { + IIdentityVerificationHubV1, + IRegisterCircuitVerifier, + IDscCircuitVerifier, + IVcAndDiscloseCircuitVerifier, } from "../../typechain-types/contracts/IdentityVerificationHubImplV1"; export type PassportProof = IIdentityVerificationHubV1.PassportProofStruct; @@ -37,41 +34,43 @@ import type { Verifier_dsc_rsa_sha256_65537_4096 as LocalDscVerifier } from "../ // Type definitions export type VcAndDiscloseVerifier = typeof process.env.TEST_ENV extends "local" ? LocalVerifier : ProdVerifier; -export type RegisterVerifier = typeof process.env.TEST_ENV extends "local" ? LocalRegisterVerifier : ProdRegisterVerifier; +export type RegisterVerifier = typeof process.env.TEST_ENV extends "local" + ? LocalRegisterVerifier + : ProdRegisterVerifier; export type DscVerifier = typeof process.env.TEST_ENV extends "local" ? LocalDscVerifier : ProdDscVerifier; export interface DeployedActors { - hub: IdentityVerificationHubImplV1; - hubImpl: IdentityVerificationHubImplV1; - registry: IdentityRegistryImplV1; - registryImpl: IdentityRegistryImplV1; - vcAndDisclose: VcAndDiscloseVerifier; - register: RegisterVerifier; - dsc: DscVerifier; - owner: Signer; - user1: Signer; - user2: Signer; - mockPassport: PassportData; + hub: IdentityVerificationHubImplV1; + hubImpl: IdentityVerificationHubImplV1; + registry: IdentityRegistryImplV1; + registryImpl: IdentityRegistryImplV1; + vcAndDisclose: VcAndDiscloseVerifier; + register: RegisterVerifier; + dsc: DscVerifier; + owner: Signer; + user1: Signer; + user2: Signer; + mockPassport: PassportData; } // Contract type exports export type { - IdentityVerificationHub, - IdentityVerificationHubImplV1, - IdentityRegistry, - IdentityRegistryImplV1, - Groth16Proof, - PublicSignals + IdentityVerificationHub, + IdentityVerificationHubImplV1, + IdentityRegistry, + IdentityRegistryImplV1, + Groth16Proof, + PublicSignals, }; export type CircuitArtifacts = { - [key: string]: { - wasm: string, - zkey: string, - vkey: string, - verifier?: any, - inputs?: any, - parsedCallData?: any, - formattedCallData?: any, - } -} \ No newline at end of file + [key: string]: { + wasm: string; + zkey: string; + vkey: string; + verifier?: any; + inputs?: any; + parsedCallData?: any; + formattedCallData?: any; + }; +}; diff --git a/contracts/test/utils/utils.ts b/contracts/test/utils/utils.ts index 6a8a2699b..e3e99d459 100644 --- a/contracts/test/utils/utils.ts +++ b/contracts/test/utils/utils.ts @@ -1,12 +1,10 @@ import { randomBytes, toBigInt, toBeHex, zeroPadValue } from "ethers"; export function generateRandomFieldElement(): string { - const FIELD_PRIME = BigInt( - "21888242871839275222246405745257275088696311157297823662689037894645226208583" - ); - + const FIELD_PRIME = BigInt("21888242871839275222246405745257275088696311157297823662689037894645226208583"); + const fieldElement = zeroPadValue(toBeHex(toBigInt(randomBytes(32)) % FIELD_PRIME), 32); - + return fieldElement; } @@ -17,20 +15,20 @@ export function getStartOfDayTimestamp(timestamp: number): number { export function splitHexFromBack(hexString: string, bytesPerChunk: number = 31): string[] { if (hexString.startsWith("0x")) { - hexString = hexString.slice(2); - } - - const chunkSizeHex = bytesPerChunk * 2; - const chunks: string[] = []; - - let remaining = hexString; - while (remaining.length > 0) { - const chunk = remaining.slice(-chunkSizeHex); - remaining = remaining.slice(0, -chunkSizeHex); - - const paddedChunk = chunk.padStart(64, "0"); - chunks.push("0x" + paddedChunk); - } - + hexString = hexString.slice(2); + } + + const chunkSizeHex = bytesPerChunk * 2; + const chunks: string[] = []; + + let remaining = hexString; + while (remaining.length > 0) { + const chunk = remaining.slice(-chunkSizeHex); + remaining = remaining.slice(0, -chunkSizeHex); + + const paddedChunk = chunk.padStart(64, "0"); + chunks.push("0x" + paddedChunk); + } + return chunks; -} \ No newline at end of file +} diff --git a/contracts/tsconfig.json b/contracts/tsconfig.json index 855db29a5..574e785c7 100644 --- a/contracts/tsconfig.json +++ b/contracts/tsconfig.json @@ -6,6 +6,6 @@ "forceConsistentCasingInFileNames": true, "strict": true, "skipLibCheck": true, - "resolveJsonModule": true, + "resolveJsonModule": true } } diff --git a/contracts/yarn.lock b/contracts/yarn.lock index de962dd8f..ce5c3521c 100644 --- a/contracts/yarn.lock +++ b/contracts/yarn.lock @@ -1,6965 +1,4660 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 -__metadata: - version: 8 - cacheKey: 10c0 -"@adraffy/ens-normalize@npm:1.10.1": - version: 1.10.1 - resolution: "@adraffy/ens-normalize@npm:1.10.1" - checksum: 10c0/fdd647604e8fac6204921888aaf5a6bc65eabf0d2921bc5f93b64d01f4bc33ead167c1445f7de05468d05cd92ac31b74c68d2be840c62b79d73693308f885c06 - languageName: node - linkType: hard +"@adraffy/ens-normalize@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" + integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== "@ashpect/smt@https://github.com/ashpect/smt#main": - version: 1.0.0 - resolution: "@ashpect/smt@https://github.com/ashpect/smt.git#commit=4f73fd24adb06a7f8efd6fd2d3ed58e9e2f2691a" - checksum: 10c0/1b8ab39089fddea939f95b67bed9100a7fbc7f54fc4ba805c7eb8890820bbe9f600b692d63f89651b4081efb5a8b6828dbd7416042d3ca0ab921c06c1f9b3f4e - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.12.13": - version: 7.26.2 - resolution: "@babel/code-frame@npm:7.26.2" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d - languageName: node - linkType: hard - -"@colors/colors@npm:1.5.0": - version: 1.5.0 - resolution: "@colors/colors@npm:1.5.0" - checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@eth-optimism/hardhat-ovm@npm:^0.2.4": - version: 0.2.4 - resolution: "@eth-optimism/hardhat-ovm@npm:0.2.4" - dependencies: - node-fetch: "npm:^2.6.1" - peerDependencies: - ethers: ^5.4.5 - hardhat: ^2.3.0 - checksum: 10c0/66cc4d948ae00d0345e888c4a0a58508f7b354ad044969ec43497ce75b2f3ba4d1eef7dce8b36b1d74afa78e54d06dd7d854acc4e6281e729dc68d74db08a0db - languageName: node - linkType: hard - -"@ethereumjs/rlp@npm:^4.0.1": - version: 4.0.1 - resolution: "@ethereumjs/rlp@npm:4.0.1" - bin: - rlp: bin/rlp - checksum: 10c0/78379f288e9d88c584c2159c725c4a667a9742981d638bad760ed908263e0e36bdbd822c0a902003e0701195fd1cbde7adad621cd97fdfbf552c45e835ce022c - languageName: node - linkType: hard - -"@ethereumjs/rlp@npm:^5.0.2": - version: 5.0.2 - resolution: "@ethereumjs/rlp@npm:5.0.2" - bin: - rlp: bin/rlp.cjs - checksum: 10c0/56162eaee96dd429f0528a9e51b453398546d57f26057b3e188f2aa09efe8bd430502971c54238ca9cc42af41b0a3f137cf67b9e020d52bc83caca043d64911b - languageName: node - linkType: hard - -"@ethereumjs/util@npm:^8.1.0": - version: 8.1.0 - resolution: "@ethereumjs/util@npm:8.1.0" - dependencies: - "@ethereumjs/rlp": "npm:^4.0.1" - ethereum-cryptography: "npm:^2.0.0" - micro-ftch: "npm:^0.3.1" - checksum: 10c0/4e6e0449236f66b53782bab3b387108f0ddc050835bfe1381c67a7c038fea27cb85ab38851d98b700957022f0acb6e455ca0c634249cfcce1a116bad76500160 - languageName: node - linkType: hard - -"@ethereumjs/util@npm:^9.1.0": - version: 9.1.0 - resolution: "@ethereumjs/util@npm:9.1.0" - dependencies: - "@ethereumjs/rlp": "npm:^5.0.2" - ethereum-cryptography: "npm:^2.2.1" - checksum: 10c0/7b55c79d90e55da873037b8283c37b61164f1712b194e2783bdb0a3401ff0999dc9d1404c7051589f71fb79e8aeb6952ec43ede21dd0028d7d9b1c07abcfff27 - languageName: node - linkType: hard - -"@ethersproject/abi@npm:5.8.0, @ethersproject/abi@npm:^5.0.9, @ethersproject/abi@npm:^5.1.2, @ethersproject/abi@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abi@npm:5.8.0" - dependencies: - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/6b759247a2f43ecc1548647d0447d08de1e946dfc7e71bfb014fa2f749c1b76b742a1d37394660ebab02ff8565674b3593fdfa011e16a5adcfc87ca4d85af39c - languageName: node - linkType: hard - -"@ethersproject/abstract-provider@npm:5.8.0, @ethersproject/abstract-provider@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abstract-provider@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/networks": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/web": "npm:^5.8.0" - checksum: 10c0/9c183da1d037b272ff2b03002c3d801088d0534f88985f4983efc5f3ebd59b05f04bc05db97792fe29ddf87eeba3c73416e5699615f183126f85f877ea6c8637 - languageName: node - linkType: hard - -"@ethersproject/abstract-signer@npm:5.8.0, @ethersproject/abstract-signer@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/abstract-signer@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - checksum: 10c0/143f32d7cb0bc7064e45674d4a9dffdb90d6171425d20e8de9dc95765be960534bae7246ead400e6f52346624b66569d9585d790eedd34b0b6b7f481ec331cc2 - languageName: node - linkType: hard - -"@ethersproject/address@npm:5.6.1": - version: 5.6.1 - resolution: "@ethersproject/address@npm:5.6.1" - dependencies: - "@ethersproject/bignumber": "npm:^5.6.2" - "@ethersproject/bytes": "npm:^5.6.1" - "@ethersproject/keccak256": "npm:^5.6.1" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/rlp": "npm:^5.6.1" - checksum: 10c0/7ac29a0abcb9970c6f5f9a2d2e8247d3c433ee9a022861cbf4f8d437f095a5293f3d323b8ec3433df622364071232b227248f1ac04c4ddea353bf18e2e4d76cf - languageName: node - linkType: hard - -"@ethersproject/address@npm:5.8.0, @ethersproject/address@npm:^5.0.2, @ethersproject/address@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/address@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - checksum: 10c0/8bac8a4b567c75c1abc00eeca08c200de1a2d5cf76d595dc04fa4d7bff9ffa5530b2cdfc5e8656cfa8f6fa046de54be47620a092fb429830a8ddde410b9d50bc - languageName: node - linkType: hard - -"@ethersproject/base64@npm:5.8.0, @ethersproject/base64@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/base64@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - checksum: 10c0/60ae6d1e2367d70f4090b717852efe62075442ae59aeac9bb1054fe8306a2de8ef0b0561e7fb4666ecb1f8efa1655d683dd240675c3a25d6fa867245525a63ca - languageName: node - linkType: hard - -"@ethersproject/basex@npm:5.8.0, @ethersproject/basex@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/basex@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - checksum: 10c0/46a94ba9678fc458ab0bee4a0af9f659f1d3f5df5bb98485924fe8ecbd46eda37d81f95f882243d56f0f5efe051b0749163f5056e48ff836c5fba648754d4956 - languageName: node - linkType: hard - -"@ethersproject/bignumber@npm:5.8.0, @ethersproject/bignumber@npm:^5.6.2, @ethersproject/bignumber@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/bignumber@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - bn.js: "npm:^5.2.1" - checksum: 10c0/8e87fa96999d59d0ab4c814c79e3a8354d2ba914dfa78cf9ee688f53110473cec0df0db2aaf9d447e84ab2dbbfca39979abac4f2dac69fef4d080f4cc3e29613 - languageName: node - linkType: hard - -"@ethersproject/bytes@npm:5.8.0, @ethersproject/bytes@npm:^5.6.1, @ethersproject/bytes@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/bytes@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/47ef798f3ab43b95dc74097b2c92365c919308ecabc3e34d9f8bf7f886fa4b99837ba5cf4dc8921baaaafe6899982f96b0e723b3fc49132c061f83d1ca3fed8b - languageName: node - linkType: hard - -"@ethersproject/constants@npm:5.8.0, @ethersproject/constants@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/constants@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - checksum: 10c0/374b3c2c6da24f8fef62e2316eae96faa462826c0774ef588cd7313ae7ddac8eb1bb85a28dad80123148be2ba0821c217c14ecfc18e2e683c72adc734b6248c9 - languageName: node - linkType: hard - -"@ethersproject/contracts@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/contracts@npm:5.8.0" - dependencies: - "@ethersproject/abi": "npm:^5.8.0" - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - checksum: 10c0/49961b92334c4f2fab5f4da8f3119e97c1dc39cc8695e3043931757968213f5e732c00bf896193cf0186dcb33101dcd6efb70690dee0dd2cfbfd3843f55485aa - languageName: node - linkType: hard - -"@ethersproject/hash@npm:5.8.0, @ethersproject/hash@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/hash@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/72a287d4d70fae716827587339ffb449b8c23ef8728db6f8a661f359f7cb1e5ffba5b693c55e09d4e7162bf56af4a0e98a334784e0706d98102d1a5786241537 - languageName: node - linkType: hard - -"@ethersproject/hdnode@npm:5.8.0, @ethersproject/hdnode@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/hdnode@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/basex": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/pbkdf2": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/wordlists": "npm:^5.8.0" - checksum: 10c0/da0ac7d60e76a76471be1f4f3bba3f28a24165dc3b63c6930a9ec24481e9f8b23936e5fc96363b3591cdfda4381d4623f25b06898b89bf5530b158cb5ea58fdd - languageName: node - linkType: hard - -"@ethersproject/json-wallets@npm:5.8.0, @ethersproject/json-wallets@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/json-wallets@npm:5.8.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hdnode": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/pbkdf2": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - aes-js: "npm:3.0.0" - scrypt-js: "npm:3.0.1" - checksum: 10c0/6c5cac87bdfac9ac47bf6ac25168a85865dc02e398e97f83820568c568a8cb27cf13a3a5d482f71a2534c7d704a3faa46023bb7ebe8737872b376bec1b66c67b - languageName: node - linkType: hard - -"@ethersproject/keccak256@npm:5.8.0, @ethersproject/keccak256@npm:^5.6.1, @ethersproject/keccak256@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/keccak256@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - js-sha3: "npm:0.8.0" - checksum: 10c0/cd93ac6a5baf842313cde7de5e6e2c41feeea800db9e82955f96e7f3462d2ac6a6a29282b1c9e93b84ce7c91eec02347043c249fd037d6051214275bfc7fe99f - languageName: node - linkType: hard - -"@ethersproject/logger@npm:5.8.0, @ethersproject/logger@npm:^5.6.0, @ethersproject/logger@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/logger@npm:5.8.0" - checksum: 10c0/7f39f33e8f254ee681d4778bb71ce3c5de248e1547666f85c43bfbc1c18996c49a31f969f056b66d23012f2420f2d39173107284bc41eb98d0482ace1d06403e - languageName: node - linkType: hard - -"@ethersproject/networks@npm:5.8.0, @ethersproject/networks@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/networks@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/3f23bcc4c3843cc9b7e4b9f34df0a1f230b24dc87d51cdad84552302159a84d7899cd80c8a3d2cf8007b09ac373a5b10407007adde23d4c4881a4d6ee6bc4b9c - languageName: node - linkType: hard - -"@ethersproject/pbkdf2@npm:5.8.0, @ethersproject/pbkdf2@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/pbkdf2@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - checksum: 10c0/0397cf5370cfd568743c3e46ac431f1bd425239baa2691689f1430997d44d310cef5051ea9ee53fabe444f96aced8d6324b41da698e8d7021389dce36251e7e9 - languageName: node - linkType: hard - -"@ethersproject/properties@npm:5.8.0, @ethersproject/properties@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/properties@npm:5.8.0" - dependencies: - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/20256d7eed65478a38dabdea4c3980c6591b7b75f8c45089722b032ceb0e1cd3dd6dd60c436cfe259337e6909c28d99528c172d06fc74bbd61be8eb9e68be2e6 - languageName: node - linkType: hard - -"@ethersproject/providers@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/providers@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/basex": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/networks": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/web": "npm:^5.8.0" - bech32: "npm:1.1.4" - ws: "npm:8.18.0" - checksum: 10c0/893dba429443bbf0a3eadef850e772ad1c706cf17ae6ae48b73467a23b614a3f461e9004850e24439b5c73d30e9259bc983f0f90a911ba11af749e6384fd355a - languageName: node - linkType: hard - -"@ethersproject/random@npm:5.8.0, @ethersproject/random@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/random@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/e44c010715668fc29383141ae16cd2ec00c34a434d47e23338e740b8c97372515d95d3b809b969eab2055c19e92b985ca591d326fbb71270c26333215f9925d1 - languageName: node - linkType: hard - -"@ethersproject/rlp@npm:5.8.0, @ethersproject/rlp@npm:^5.6.1, @ethersproject/rlp@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/rlp@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/db742ec9c1566d6441242cc2c2ae34c1e5304d48e1fe62bc4e53b1791f219df211e330d2de331e0e4f74482664e205c2e4220e76138bd71f1ec07884e7f5221b - languageName: node - linkType: hard - -"@ethersproject/sha2@npm:5.8.0, @ethersproject/sha2@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/sha2@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - hash.js: "npm:1.1.7" - checksum: 10c0/eab941907b7d40ee8436acaaedee32306ed4de2cb9ab37543bc89b1dd2a78f28c8da21efd848525fa1b04a78575be426cfca28f5392f4d28ce6c84e7c26a9421 - languageName: node - linkType: hard - -"@ethersproject/signing-key@npm:5.8.0, @ethersproject/signing-key@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/signing-key@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - bn.js: "npm:^5.2.1" - elliptic: "npm:6.6.1" - hash.js: "npm:1.1.7" - checksum: 10c0/a7ff6cd344b0609737a496b6d5b902cf5528ed5a7ce2c0db5e7b69dc491d1810d1d0cd51dddf9dc74dd562ab4961d76e982f1750359b834c53c202e85e4c8502 - languageName: node - linkType: hard - -"@ethersproject/solidity@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/solidity@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/sha2": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/5b5e0531bcec1d919cfbd261694694c8999ca5c379c1bb276ec779b896d299bb5db8ed7aa5652eb2c7605fe66455832b56ef123dec07f6ddef44231a7aa6fe6c - languageName: node - linkType: hard - -"@ethersproject/strings@npm:5.8.0, @ethersproject/strings@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/strings@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/6db39503c4be130110612b6d593a381c62657e41eebf4f553247ebe394fda32cdf74ff645daee7b7860d209fd02c7e909a95b1f39a2f001c662669b9dfe81d00 - languageName: node - linkType: hard - -"@ethersproject/transactions@npm:5.8.0, @ethersproject/transactions@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/transactions@npm:5.8.0" - dependencies: - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/rlp": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - checksum: 10c0/dd32f090df5945313aafa8430ce76834479750d6655cb786c3b65ec841c94596b14d3c8c59ee93eed7b4f32f27d321a9b8b43bc6bb51f7e1c6694f82639ffe68 - languageName: node - linkType: hard - -"@ethersproject/units@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/units@npm:5.8.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/constants": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - checksum: 10c0/5f92b8379a58024078fce6a4cbf7323cfd79bc41ef8f0a7bbf8be9c816ce18783140ab0d5c8d34ed615639aef7fc3a2ed255e92809e3558a510c4f0d49e27309 - languageName: node - linkType: hard - -"@ethersproject/wallet@npm:5.8.0": - version: 5.8.0 - resolution: "@ethersproject/wallet@npm:5.8.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.8.0" - "@ethersproject/abstract-signer": "npm:^5.8.0" - "@ethersproject/address": "npm:^5.8.0" - "@ethersproject/bignumber": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/hdnode": "npm:^5.8.0" - "@ethersproject/json-wallets": "npm:^5.8.0" - "@ethersproject/keccak256": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/random": "npm:^5.8.0" - "@ethersproject/signing-key": "npm:^5.8.0" - "@ethersproject/transactions": "npm:^5.8.0" - "@ethersproject/wordlists": "npm:^5.8.0" - checksum: 10c0/6da450872dda3d9008bad3ccf8467816a63429241e51c66627647123c0fe5625494c4f6c306e098eb8419cc5702ac017d41f5161af5ff670a41fe5d199883c09 - languageName: node - linkType: hard - -"@ethersproject/web@npm:5.8.0, @ethersproject/web@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/web@npm:5.8.0" - dependencies: - "@ethersproject/base64": "npm:^5.8.0" - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/e3cd547225638db6e94fcd890001c778d77adb0d4f11a7f8c447e961041678f3fbfaffe77a962c7aa3f6597504232442e7015f2335b1788508a108708a30308a - languageName: node - linkType: hard - -"@ethersproject/wordlists@npm:5.8.0, @ethersproject/wordlists@npm:^5.8.0": - version: 5.8.0 - resolution: "@ethersproject/wordlists@npm:5.8.0" - dependencies: - "@ethersproject/bytes": "npm:^5.8.0" - "@ethersproject/hash": "npm:^5.8.0" - "@ethersproject/logger": "npm:^5.8.0" - "@ethersproject/properties": "npm:^5.8.0" - "@ethersproject/strings": "npm:^5.8.0" - checksum: 10c0/e230a2ba075006bc3a2538e096003e43ef9ba453317f37a4d99638720487ec447c1fa61a592c80483f8a8ad6466511cf4cf5c49cf84464a1679999171ce311f4 - languageName: node - linkType: hard - -"@fastify/busboy@npm:^2.0.0": - version: 2.1.1 - resolution: "@fastify/busboy@npm:2.1.1" - checksum: 10c0/6f8027a8cba7f8f7b736718b013f5a38c0476eea67034c94a0d3c375e2b114366ad4419e6a6fa7ffc2ef9c6d3e0435d76dd584a7a1cbac23962fda7650b579e3 - languageName: node - linkType: hard - -"@iden3/bigarray@npm:0.0.2": - version: 0.0.2 - resolution: "@iden3/bigarray@npm:0.0.2" - checksum: 10c0/a1c69a30f1bfb7eed0a1066e6a3d80aad3fab4dbb1bae96cf4dc7117ca9f791edc4a023d8cfb0afefbeab4d65f7bf91edfbb0a62e5ecdc8711c98bb329fedbaa - languageName: node - linkType: hard - -"@iden3/binfileutils@npm:0.0.12": - version: 0.0.12 - resolution: "@iden3/binfileutils@npm:0.0.12" - dependencies: - fastfile: "npm:0.0.20" - ffjavascript: "npm:^0.3.0" - checksum: 10c0/33783e2bad7901020bb1ba2236e0172a6f0bced519558466fe17ea2e51226a06d769e869883b1d6fe1abcc459327a77ee96265a52b53c2a964d9b4ef48b2263a - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - -"@noble/curves@npm:1.2.0": - version: 1.2.0 - resolution: "@noble/curves@npm:1.2.0" - dependencies: - "@noble/hashes": "npm:1.3.2" - checksum: 10c0/0bac7d1bbfb3c2286910b02598addd33243cb97c3f36f987ecc927a4be8d7d88e0fcb12b0f0ef8a044e7307d1844dd5c49bb724bfa0a79c8ec50ba60768c97f6 - languageName: node - linkType: hard - -"@noble/curves@npm:1.4.2, @noble/curves@npm:~1.4.0": - version: 1.4.2 - resolution: "@noble/curves@npm:1.4.2" - dependencies: - "@noble/hashes": "npm:1.4.0" - checksum: 10c0/65620c895b15d46e8087939db6657b46a1a15cd4e0e4de5cd84b97a0dfe0af85f33a431bb21ac88267e3dc508618245d4cb564213959d66a84d690fe18a63419 - languageName: node - linkType: hard - -"@noble/curves@npm:~1.8.1": - version: 1.8.1 - resolution: "@noble/curves@npm:1.8.1" - dependencies: - "@noble/hashes": "npm:1.7.1" - checksum: 10c0/84902c7af93338373a95d833f77981113e81c48d4bec78f22f63f1f7fdd893bc1d3d7a3ee78f01b9a8ad3dec812a1232866bf2ccbeb2b1560492e5e7d690ab1f - languageName: node - linkType: hard - -"@noble/hashes@npm:1.2.0, @noble/hashes@npm:~1.2.0": - version: 1.2.0 - resolution: "@noble/hashes@npm:1.2.0" - checksum: 10c0/8bd3edb7bb6a9068f806a9a5a208cc2144e42940a21c049d8e9a0c23db08bef5cf1cfd844a7e35489b5ab52c6fa6299352075319e7f531e0996d459c38cfe26a - languageName: node - linkType: hard - -"@noble/hashes@npm:1.3.2": - version: 1.3.2 - resolution: "@noble/hashes@npm:1.3.2" - checksum: 10c0/2482cce3bce6a596626f94ca296e21378e7a5d4c09597cbc46e65ffacc3d64c8df73111f2265444e36a3168208628258bbbaccba2ef24f65f58b2417638a20e7 - languageName: node - linkType: hard - -"@noble/hashes@npm:1.4.0, @noble/hashes@npm:~1.4.0": - version: 1.4.0 - resolution: "@noble/hashes@npm:1.4.0" - checksum: 10c0/8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 - languageName: node - linkType: hard - -"@noble/hashes@npm:1.7.1, @noble/hashes@npm:^1.4.0, @noble/hashes@npm:~1.7.1": - version: 1.7.1 - resolution: "@noble/hashes@npm:1.7.1" - checksum: 10c0/2f8ec0338ccc92b576a0f5c16ab9c017a3a494062f1fbb569ae641c5e7eab32072f9081acaa96b5048c0898f972916c818ea63cbedda707886a4b5ffcfbf94e3 - languageName: node - linkType: hard - -"@noble/secp256k1@npm:1.7.1, @noble/secp256k1@npm:~1.7.0": - version: 1.7.1 - resolution: "@noble/secp256k1@npm:1.7.1" - checksum: 10c0/48091801d39daba75520012027d0ff0b1719338d96033890cfe0d287ad75af00d82769c0194a06e7e4fbd816ae3f204f4a59c9e26f0ad16b429f7e9b5403ccd5 - languageName: node - linkType: hard - -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"@nomicfoundation/edr-darwin-arm64@npm:0.10.0": - version: 0.10.0 - resolution: "@nomicfoundation/edr-darwin-arm64@npm:0.10.0" - checksum: 10c0/12bb9f7d3a8282da373f0830a3a6e56e6ba317ebc39a4728bdf094cfb877b83de6401177dce2b91b7357413f77da6ff117111c33ebde4859b4a7be6f3b3720a4 - languageName: node - linkType: hard - -"@nomicfoundation/edr-darwin-x64@npm:0.10.0": - version: 0.10.0 - resolution: "@nomicfoundation/edr-darwin-x64@npm:0.10.0" - checksum: 10c0/42963ed578afd7a71d360c2c9eb27cb0da160136183ff01d51b9bfeb900a32d1a303946311851889bbdbbffd1413339b5d520d4035cd7de19b45e61b93213195 - languageName: node - linkType: hard - -"@nomicfoundation/edr-linux-arm64-gnu@npm:0.10.0": - version: 0.10.0 - resolution: "@nomicfoundation/edr-linux-arm64-gnu@npm:0.10.0" - checksum: 10c0/2432f6592cc36f9fa13fe3bd7dce1fdac7a8ed8fb6697fe71e7efbf47ceda091d435beafcce431faf8be68c8ed23e8704a2eed155733d4ad54fe8dfa65fe2931 - languageName: node - linkType: hard - -"@nomicfoundation/edr-linux-arm64-musl@npm:0.10.0": - version: 0.10.0 - resolution: "@nomicfoundation/edr-linux-arm64-musl@npm:0.10.0" - checksum: 10c0/c1fb79436f97bc2611e97e575de7d7958d47976419258de55e2e2237e4278b2b08f71d7142a24e6acf5098ceb1b7a5b2054c1ab7263151be21c7d2c9df88df71 - languageName: node - linkType: hard - -"@nomicfoundation/edr-linux-x64-gnu@npm:0.10.0": - version: 0.10.0 - resolution: "@nomicfoundation/edr-linux-x64-gnu@npm:0.10.0" - checksum: 10c0/84f89242920d4ee3883fba24e5d1bd2742b4dc6d1545ba731d0213ae59b037f8ea2aa1c515adcb7232b5f53a0e5a61c7cb0bc4de6149dfe355c2466a3757a3f0 - languageName: node - linkType: hard - -"@nomicfoundation/edr-linux-x64-musl@npm:0.10.0": - version: 0.10.0 - resolution: "@nomicfoundation/edr-linux-x64-musl@npm:0.10.0" - checksum: 10c0/449bccb221c200296e94bf2341c35b554014ae1f08ecc61b711cb19de1ec6331ac977eb545fa945b5d0611897331c5135e35f9d40ae7eb581bab1713bfd5a38a - languageName: node - linkType: hard - -"@nomicfoundation/edr-win32-x64-msvc@npm:0.10.0": - version: 0.10.0 - resolution: "@nomicfoundation/edr-win32-x64-msvc@npm:0.10.0" - checksum: 10c0/951f3e930105ea48524df1a96dd331b984240c56b5bce83ea44d09a0c715e288d69b4b9a80876e16d0a92a3f7db3b9dfb96e44d1e0358413a268792ab7299ae3 - languageName: node - linkType: hard - -"@nomicfoundation/edr@npm:^0.10.0": - version: 0.10.0 - resolution: "@nomicfoundation/edr@npm:0.10.0" - dependencies: - "@nomicfoundation/edr-darwin-arm64": "npm:0.10.0" - "@nomicfoundation/edr-darwin-x64": "npm:0.10.0" - "@nomicfoundation/edr-linux-arm64-gnu": "npm:0.10.0" - "@nomicfoundation/edr-linux-arm64-musl": "npm:0.10.0" - "@nomicfoundation/edr-linux-x64-gnu": "npm:0.10.0" - "@nomicfoundation/edr-linux-x64-musl": "npm:0.10.0" - "@nomicfoundation/edr-win32-x64-msvc": "npm:0.10.0" - checksum: 10c0/57c636539e7f13ca045be6e9938f98d3ed620edc55430d31c0e68e7ffe420bfe239655a86c95d5545c4727718f0a407a3a4aac76898d180a6c0e46dae2aa3eae - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-chai-matchers@npm:^2.0.6": - version: 2.0.8 - resolution: "@nomicfoundation/hardhat-chai-matchers@npm:2.0.8" - dependencies: - "@types/chai-as-promised": "npm:^7.1.3" - chai-as-promised: "npm:^7.1.1" - deep-eql: "npm:^4.0.1" - ordinal: "npm:^1.0.3" - peerDependencies: - "@nomicfoundation/hardhat-ethers": ^3.0.0 - chai: ^4.2.0 - ethers: ^6.1.0 - hardhat: ^2.9.4 - checksum: 10c0/51e3ee9ff17319180a5f45108514b33437c004b724c591dc6d7d2e9842e24e2d793aaf94ce5316117475021e67c88228283d20c9f45fb0693dd8f6b61674b4ff - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-ethers@npm:^3.0.5": - version: 3.0.8 - resolution: "@nomicfoundation/hardhat-ethers@npm:3.0.8" - dependencies: - debug: "npm:^4.1.1" - lodash.isequal: "npm:^4.5.0" - peerDependencies: - ethers: ^6.1.0 - hardhat: ^2.0.0 - checksum: 10c0/478b5d9607e7fc50377bec45ecebbf74240719c76aa08c81052d2a2174eee6f422db8cfd3f13fd17a080d8ff1046fac50dfffa3a2e57c9e3ed466932239e4af2 - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-ignition-ethers@npm:^0.15.3": - version: 0.15.11 - resolution: "@nomicfoundation/hardhat-ignition-ethers@npm:0.15.11" - peerDependencies: - "@nomicfoundation/hardhat-ethers": ^3.0.4 - "@nomicfoundation/hardhat-ignition": ^0.15.11 - "@nomicfoundation/ignition-core": ^0.15.11 - ethers: ^6.7.0 - hardhat: ^2.18.0 - checksum: 10c0/20613460258ee316797ff328781e87ff1945967defb4c27f38e1ed25bfef4ac6a6a951c1687216df2169c86568afea0fc171ba27a14ba6876b9263a0653b180b - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-ignition@npm:^0.15.3": - version: 0.15.11 - resolution: "@nomicfoundation/hardhat-ignition@npm:0.15.11" - dependencies: - "@nomicfoundation/ignition-core": "npm:^0.15.11" - "@nomicfoundation/ignition-ui": "npm:^0.15.11" - chalk: "npm:^4.0.0" - debug: "npm:^4.3.2" - fs-extra: "npm:^10.0.0" - json5: "npm:^2.2.3" - prompts: "npm:^2.4.2" - peerDependencies: - "@nomicfoundation/hardhat-verify": ^2.0.1 - hardhat: ^2.18.0 - checksum: 10c0/05248edfb96471990290dd4bf894602d003c09a44a1bab4861beac6ff06ced24ecd1656de287698329ca6999feb01ca3c769b4cc344f981b14ca09f3c0b659c8 - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-network-helpers@npm:^1.0.10": - version: 1.0.12 - resolution: "@nomicfoundation/hardhat-network-helpers@npm:1.0.12" - dependencies: - ethereumjs-util: "npm:^7.1.4" - peerDependencies: - hardhat: ^2.9.5 - checksum: 10c0/93df80bb824fb9146c354f71637d6deee4b7ba19527eee94b4f79064ccbb8e4e45e14d8e558f6e5c2be17d64429faaef07ac8fe12ef11395c549f7b5fc540722 - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-toolbox@npm:^3.0.0": - version: 3.0.0 - resolution: "@nomicfoundation/hardhat-toolbox@npm:3.0.0" - peerDependencies: - "@nomicfoundation/hardhat-chai-matchers": ^2.0.0 - "@nomicfoundation/hardhat-ethers": ^3.0.0 - "@nomicfoundation/hardhat-network-helpers": ^1.0.0 - "@nomicfoundation/hardhat-verify": ^1.0.0 - "@typechain/ethers-v6": ^0.4.0 - "@typechain/hardhat": ^8.0.0 - "@types/chai": ^4.2.0 - "@types/mocha": ">=9.1.0" - "@types/node": ">=12.0.0" - chai: ^4.2.0 - ethers: ^6.4.0 - hardhat: ^2.11.0 - hardhat-gas-reporter: ^1.0.8 - solidity-coverage: ^0.8.1 - ts-node: ">=8.0.0" - typechain: ^8.2.0 - typescript: ">=4.5.0" - checksum: 10c0/6139efdb962c1f590c34990c4678650f3a946a0ab07076c4fc24ea1f7902d8cd629e6ee95e6a7cd3c7a3dbd4a9f415128f576fc3f13fa9483e618eb5558f8cad - languageName: node - linkType: hard - -"@nomicfoundation/hardhat-verify@npm:^2.0.6": - version: 2.0.13 - resolution: "@nomicfoundation/hardhat-verify@npm:2.0.13" - dependencies: - "@ethersproject/abi": "npm:^5.1.2" - "@ethersproject/address": "npm:^5.0.2" - cbor: "npm:^8.1.0" - debug: "npm:^4.1.1" - lodash.clonedeep: "npm:^4.5.0" - picocolors: "npm:^1.1.0" - semver: "npm:^6.3.0" - table: "npm:^6.8.0" - undici: "npm:^5.14.0" - peerDependencies: - hardhat: ^2.0.4 - checksum: 10c0/391b35211646ed9efd91b88229c09c8baaa688caaf4388e077b73230b36cd7f86b04639625b0e8ebdc070166f49494c3bd32834c31ca4800db0936ca6db96ee2 - languageName: node - linkType: hard - -"@nomicfoundation/ignition-core@npm:^0.15.11, @nomicfoundation/ignition-core@npm:^0.15.3": - version: 0.15.11 - resolution: "@nomicfoundation/ignition-core@npm:0.15.11" - dependencies: - "@ethersproject/address": "npm:5.6.1" - "@nomicfoundation/solidity-analyzer": "npm:^0.1.1" - cbor: "npm:^9.0.0" - debug: "npm:^4.3.2" - ethers: "npm:^6.7.0" - fs-extra: "npm:^10.0.0" - immer: "npm:10.0.2" - lodash: "npm:4.17.21" - ndjson: "npm:2.0.0" - checksum: 10c0/39a28a39fa7de37aebde771a2dd9ca9c56474238fdb0c2fd1e7b636e22e66c4f94c8f2d2471921b2ddd2fabcb6c880962b0bb6bedc74f378a0ae8c8ced7ad2da - languageName: node - linkType: hard - -"@nomicfoundation/ignition-ui@npm:^0.15.11": - version: 0.15.11 - resolution: "@nomicfoundation/ignition-ui@npm:0.15.11" - checksum: 10c0/d9eed66965268dd92048aa24ea881513ec9af78d5aea95b670685d6b0ffac0bbb0c6d36e8bc751ca4cf60d7c4d18d94b2a6f5c59ed1253065f59270476d8bf79 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.2" - checksum: 10c0/ef3b13bb2133fea6621db98f991036a3a84d2b240160edec50beafa6ce821fe2f0f5cd4aa61adb9685aff60cd0425982ffd15e0b868b7c768e90e26b8135b825 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-darwin-x64@npm:0.1.2" - checksum: 10c0/3cb6a00cd200b94efd6f59ed626c705c6f773b92ccf8b90471285cd0e81b35f01edb30c1aa5a4633393c2adb8f20fd34e90c51990dc4e30658e8a67c026d16c9 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-gnu@npm:0.1.2" - checksum: 10c0/cb9725e7bdc3ba9c1feaef96dbf831c1a59c700ca633a9929fd97debdcb5ce06b5d7b4e6dbc076279978707214d01e2cd126d8e3f4cabc5c16525c031a47b95c - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-linux-arm64-musl@npm:0.1.2" - checksum: 10c0/82a90b1d09ad266ddc510ece2e397f51fdaf29abf7263d2a3a85accddcba2ac24cceb670a3120800611cdcc552eed04919d071e259fdda7564818359ed541f5d - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-linux-x64-gnu@npm:0.1.2" - checksum: 10c0/d1f20d4d55683bd041ead957e5461b2e43a39e959f905e8866de1d65f8d96118e9b861e994604d9002cb7f056be0844e36c241a6bb531c336b399609977c0998 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-linux-x64-musl@npm:0.1.2" - checksum: 10c0/6c17f9af3aaf184c0a217cf723076051c502d85e731dbc97f34b838f9ae1b597577abac54a2af49b3fd986b09131c52fa21fd5393b22d05e1ec7fee96a8249c2 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.1.2": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer-win32-x64-msvc@npm:0.1.2" - checksum: 10c0/da198464f5ee0d19b6decdfaa65ee0df3097b8960b8483bb7080931968815a5d60f27191229d47a198955784d763d5996f0b92bfde3551612ad972c160b0b000 - languageName: node - linkType: hard - -"@nomicfoundation/solidity-analyzer@npm:^0.1.0, @nomicfoundation/solidity-analyzer@npm:^0.1.1": - version: 0.1.2 - resolution: "@nomicfoundation/solidity-analyzer@npm:0.1.2" - dependencies: - "@nomicfoundation/solidity-analyzer-darwin-arm64": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-darwin-x64": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "npm:0.1.2" - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "npm:0.1.2" - dependenciesMeta: - "@nomicfoundation/solidity-analyzer-darwin-arm64": - optional: true - "@nomicfoundation/solidity-analyzer-darwin-x64": - optional: true - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": - optional: true - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": - optional: true - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": - optional: true - "@nomicfoundation/solidity-analyzer-linux-x64-musl": - optional: true - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": - optional: true - checksum: 10c0/e4f503e9287e18967535af669ca7e26e2682203c45a34ea85da53122da1dee1278f2b8c76c20c67fadd7c1b1a98eeecffd2cbc136860665e3afa133817c0de54 - languageName: node - linkType: hard - -"@nomiclabs/hardhat-ethers@npm:^2.2.3": - version: 2.2.3 - resolution: "@nomiclabs/hardhat-ethers@npm:2.2.3" - peerDependencies: - ethers: ^5.0.0 - hardhat: ^2.0.0 - checksum: 10c0/cae46d1966108ab02b50fabe7945c8987fa1e9d5d0a7a06f79afc274ff1abc312e8a82375191a341b28571b897c22433d3a2826eb30077ed88d5983d01e381d0 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 - languageName: node - linkType: hard - -"@openpassport/zk-kit-lean-imt@npm:^0.0.6": - version: 0.0.6 - resolution: "@openpassport/zk-kit-lean-imt@npm:0.0.6" - dependencies: - "@openpassport/zk-kit-utils": "npm:0.0.1" - checksum: 10c0/2cb3f99e216391a325a7050290cccfa12323dc057d7cf4a26baeafe79a34c4ed3013da035fdbe9985395d5a668e37fd81f2b060834b67895bd3f82e7edfe0601 - languageName: node - linkType: hard - -"@openpassport/zk-kit-smt@npm:^0.0.1": - version: 0.0.1 - resolution: "@openpassport/zk-kit-smt@npm:0.0.1" - checksum: 10c0/2d1d6ccd51c1cdf005e71090ac3d5d505ca58f58776bb7bd178c3d6bfdf3e22b69e50816e620f376663b63fa98bf22439c9b38de523de51e018b9e52f097624b - languageName: node - linkType: hard - -"@openpassport/zk-kit-utils@npm:0.0.1": - version: 0.0.1 - resolution: "@openpassport/zk-kit-utils@npm:0.0.1" - dependencies: - buffer: "npm:^6.0.3" - checksum: 10c0/3a9adb279cfd5096c44934bb6c73979f21247eb0119a65f8b5c0bb1f457f5500de761fc627e0bd9e72a7cbf5ca65696c144bfffe3dbd1f1ce37a300c239a8e3f - languageName: node - linkType: hard - -"@openzeppelin/contracts-upgradeable@npm:^5.1.0": - version: 5.3.0 - resolution: "@openzeppelin/contracts-upgradeable@npm:5.3.0" - peerDependencies: - "@openzeppelin/contracts": 5.3.0 - checksum: 10c0/aba3a1903d689a603dda5e021f698e8d7b035b8d469712e8755393e2013297076a88fbc79f20ab1354e69d142f29939ab5d9e310204f79d42ec99eef08f61135 - languageName: node - linkType: hard - -"@openzeppelin/contracts@npm:^5.0.2": - version: 5.3.0 - resolution: "@openzeppelin/contracts@npm:5.3.0" - checksum: 10c0/b8a2d97413c24635c92de4b2a1188fa58ab252515aff38eabce4fa66bd3d8ae1649010d17fccaeb4e266bf8314c8bd92757fedca97bf643b6b98e11dea3fa83d - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@scure/base@npm:~1.1.0, @scure/base@npm:~1.1.6": - version: 1.1.9 - resolution: "@scure/base@npm:1.1.9" - checksum: 10c0/77a06b9a2db8144d22d9bf198338893d77367c51b58c72b99df990c0a11f7cadd066d4102abb15e3ca6798d1529e3765f55c4355742465e49aed7a0c01fe76e8 - languageName: node - linkType: hard - -"@scure/base@npm:~1.2.2": - version: 1.2.4 - resolution: "@scure/base@npm:1.2.4" - checksum: 10c0/469c8aee80d6d6973e1aac6184befa04568f1b4016e40c889025f4a721575db9c1ca0c2ead80613896cce929392740322a18da585a427f157157e797dc0a42a9 - languageName: node - linkType: hard - -"@scure/bip32@npm:1.1.5": - version: 1.1.5 - resolution: "@scure/bip32@npm:1.1.5" - dependencies: - "@noble/hashes": "npm:~1.2.0" - "@noble/secp256k1": "npm:~1.7.0" - "@scure/base": "npm:~1.1.0" - checksum: 10c0/d0521f6de28278e06f2d517307b4de6c9bcb3dbdf9a5844bb57a6e4916a180e4136129ccab295c27bd1196ef77757608255afcd7cf927e03baec4479b3df74fc - languageName: node - linkType: hard - -"@scure/bip32@npm:1.4.0": - version: 1.4.0 - resolution: "@scure/bip32@npm:1.4.0" - dependencies: - "@noble/curves": "npm:~1.4.0" - "@noble/hashes": "npm:~1.4.0" - "@scure/base": "npm:~1.1.6" - checksum: 10c0/6849690d49a3bf1d0ffde9452eb16ab83478c1bc0da7b914f873e2930cd5acf972ee81320e3df1963eb247cf57e76d2d975b5f97093d37c0e3f7326581bf41bd - languageName: node - linkType: hard - -"@scure/bip39@npm:1.1.1": - version: 1.1.1 - resolution: "@scure/bip39@npm:1.1.1" - dependencies: - "@noble/hashes": "npm:~1.2.0" - "@scure/base": "npm:~1.1.0" - checksum: 10c0/821dc9d5be8362a32277390526db064860c2216a079ba51d63def9289c2b290599e93681ebbeebf0e93540799eec35784c1dfcf5167d0b280ef148e5023ce01b - languageName: node - linkType: hard - -"@scure/bip39@npm:1.3.0": - version: 1.3.0 - resolution: "@scure/bip39@npm:1.3.0" - dependencies: - "@noble/hashes": "npm:~1.4.0" - "@scure/base": "npm:~1.1.6" - checksum: 10c0/1ae1545a7384a4d9e33e12d9e9f8824f29b0279eb175b0f0657c0a782c217920054f9a1d28eb316a417dfc6c4e0b700d6fbdc6da160670107426d52fcbe017a8 - languageName: node - linkType: hard - -"@selfxyz/contracts@workspace:.": - version: 0.0.0-use.local - resolution: "@selfxyz/contracts@workspace:." - dependencies: - "@ashpect/smt": "https://github.com/ashpect/smt#main" - "@eth-optimism/hardhat-ovm": "npm:^0.2.4" - "@nomicfoundation/hardhat-chai-matchers": "npm:^2.0.6" - "@nomicfoundation/hardhat-ethers": "npm:^3.0.5" - "@nomicfoundation/hardhat-ignition": "npm:^0.15.3" - "@nomicfoundation/hardhat-ignition-ethers": "npm:^0.15.3" - "@nomicfoundation/hardhat-network-helpers": "npm:^1.0.10" - "@nomicfoundation/hardhat-toolbox": "npm:^3.0.0" - "@nomicfoundation/hardhat-verify": "npm:^2.0.6" - "@nomicfoundation/ignition-core": "npm:^0.15.3" - "@nomiclabs/hardhat-ethers": "npm:^2.2.3" - "@openpassport/zk-kit-lean-imt": "npm:^0.0.6" - "@openpassport/zk-kit-smt": "npm:^0.0.1" - "@openzeppelin/contracts": "npm:^5.0.2" - "@openzeppelin/contracts-upgradeable": "npm:^5.1.0" - "@typechain/ethers-v6": "npm:^0.4.3" - "@typechain/hardhat": "npm:^8.0.3" - "@types/chai": "npm:^4.3.16" - "@types/circomlibjs": "npm:^0.1.6" - "@types/jest": "npm:^29.5.12" - "@types/mocha": "npm:^10.0.6" - "@types/snarkjs": "npm:^0.7.7" - "@zk-kit/imt": "npm:^2.0.0-beta.4" - "@zk-kit/imt.sol": "npm:^2.0.0-beta.12" - "@zk-kit/lean-imt": "npm:^2.0.1" - axios: "npm:^1.6.2" - chai: "npm:^4.4.1" - circomlibjs: "npm:^0.1.7" - dotenv: "npm:^16.3.1" - ethers: "npm:^6.12.1" - hardhat: "npm:^2.22.6" - hardhat-contract-sizer: "npm:^2.10.0" - hardhat-gas-reporter: "npm:^1.0.10" - mocha: "npm:^10.4.0" - mochawesome: "npm:^7.1.3" - node-forge: "npm:^1.3.1" - poseidon-lite: "npm:^0.3.0" - poseidon-solidity: "npm:^0.0.5" - snarkjs: "npm:^0.7.4" - solidity-coverage: "npm:^0.8.14" - ts-node: "npm:^10.9.1" - typechain: "npm:^8.3.2" - typescript: "npm:^5.1.6" - languageName: unknown - linkType: soft - -"@sentry/core@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/core@npm:5.30.0" - dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/minimal": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/6407b9c2a6a56f90c198f5714b3257df24d89d1b4ca6726bd44760d0adabc25798b69fef2c88ccea461c7e79e3c78861aaebfd51fd3cb892aee656c3f7e11801 - languageName: node - linkType: hard - -"@sentry/hub@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/hub@npm:5.30.0" - dependencies: - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/386c91d06aa44be0465fc11330d748a113e464d41cd562a9e1d222a682cbcb14e697a3e640953e7a0239997ad8a02b223a0df3d9e1d8816cb823fd3613be3e2f - languageName: node - linkType: hard - -"@sentry/minimal@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/minimal@npm:5.30.0" - dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/34ec05503de46d01f98c94701475d5d89cc044892c86ccce30e01f62f28344eb23b718e7cf573815e46f30a4ac9da3129bed9b3d20c822938acfb40cbe72437b - languageName: node - linkType: hard - -"@sentry/node@npm:^5.18.1": - version: 5.30.0 - resolution: "@sentry/node@npm:5.30.0" - dependencies: - "@sentry/core": "npm:5.30.0" - "@sentry/hub": "npm:5.30.0" - "@sentry/tracing": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - cookie: "npm:^0.4.1" - https-proxy-agent: "npm:^5.0.0" - lru_map: "npm:^0.3.3" - tslib: "npm:^1.9.3" - checksum: 10c0/c50db7c81ace57cac17692245c2ab3c84a6149183f81d5f2dfd157eaa7b66eb4d6a727dd13a754bb129c96711389eec2944cd94126722ee1d8b11f2b627b830d - languageName: node - linkType: hard - -"@sentry/tracing@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/tracing@npm:5.30.0" - dependencies: - "@sentry/hub": "npm:5.30.0" - "@sentry/minimal": "npm:5.30.0" - "@sentry/types": "npm:5.30.0" - "@sentry/utils": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/46830265bc54a3203d7d9f0d8d9f2f7d9d2c6a977e07ccdae317fa3ea29c388b904b3bef28f7a0ba9c074845d67feab63c6d3c0ddce9aeb275b6c966253fb415 - languageName: node - linkType: hard - -"@sentry/types@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/types@npm:5.30.0" - checksum: 10c0/99c6e55c0a82c8ca95be2e9dbb35f581b29e4ff7af74b23bc62b690de4e35febfa15868184a2303480ef86babd4fea5273cf3b5ddf4a27685b841a72f13a0c88 - languageName: node - linkType: hard - -"@sentry/utils@npm:5.30.0": - version: 5.30.0 - resolution: "@sentry/utils@npm:5.30.0" - dependencies: - "@sentry/types": "npm:5.30.0" - tslib: "npm:^1.9.3" - checksum: 10c0/ca8eebfea7ac7db6d16f6c0b8a66ac62587df12a79ce9d0d8393f4d69880bb8d40d438f9810f7fb107a9880fe0d68bbf797b89cbafd113e89a0829eb06b205f8 - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@solidity-parser/parser@npm:^0.14.0": - version: 0.14.5 - resolution: "@solidity-parser/parser@npm:0.14.5" - dependencies: - antlr4ts: "npm:^0.5.0-alpha.4" - checksum: 10c0/d5c689d8925a18e1ceb2f6449a8263915b1676117856109b7793eda8f7dafc975b6ed0d0d73fc08257903cac383484e4c8f8cf47b069621e81ba368c4ea4cf6a - languageName: node - linkType: hard - -"@solidity-parser/parser@npm:^0.19.0": - version: 0.19.0 - resolution: "@solidity-parser/parser@npm:0.19.0" - checksum: 10c0/2f4c885bb32ca95ea41120f0d972437b4191d26aa63ea62b7904d075e1b90f4290996407ef84a46a20f66e4268f41fb07fc0edc7142afc443511e8c74b37c6e9 - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node10@npm:1.0.11" - checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - -"@typechain/ethers-v6@npm:^0.4.3": - version: 0.4.3 - resolution: "@typechain/ethers-v6@npm:0.4.3" - dependencies: - lodash: "npm:^4.17.15" - ts-essentials: "npm:^7.0.1" - peerDependencies: - ethers: 6.x - typechain: ^8.3.1 - typescript: ">=4.7.0" - checksum: 10c0/e66728763916f5b4ce4c9753098e17c1dd17f5913792de9801c79fcbc57b46a52a1f6602ce35be377c7503cc5004b285dab8bd911afe13b057007d5ccf947094 - languageName: node - linkType: hard - -"@typechain/hardhat@npm:^8.0.3": - version: 8.0.3 - resolution: "@typechain/hardhat@npm:8.0.3" - dependencies: - fs-extra: "npm:^9.1.0" - peerDependencies: - "@typechain/ethers-v6": ^0.4.3 - ethers: ^6.1.0 - hardhat: ^2.9.9 - typechain: ^8.3.1 - checksum: 10c0/2b7b8d60e35b0b65884659f14bd6a354c88ec042f9af7d9f43003784ccca9a36bf8193b2cd26859b9b262acc543b1b477306bfb4d314a3de79aacff1136b97ec - languageName: node - linkType: hard - -"@types/bn.js@npm:^5.1.0": - version: 5.1.6 - resolution: "@types/bn.js@npm:5.1.6" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/073d383d87afea513a8183ce34af7bc0a7a798d057c7ae651982b7f30dd7d93f33247323bca3ba39f1f6af146b564aff547b15467bdf9fc922796c17e8426bf6 - languageName: node - linkType: hard - -"@types/chai-as-promised@npm:^7.1.3": - version: 7.1.8 - resolution: "@types/chai-as-promised@npm:7.1.8" - dependencies: - "@types/chai": "npm:*" - checksum: 10c0/c0a19cffe8d3f406b2cb9ba17f5f0efe318b14f27896d807b3199cc2231c16a4b5b6c464fdf2a939214de481de58cffd46c240539d3d4ece18659277d71ccc23 - languageName: node - linkType: hard - -"@types/chai@npm:*": - version: 5.2.1 - resolution: "@types/chai@npm:5.2.1" - dependencies: - "@types/deep-eql": "npm:*" - checksum: 10c0/f8a03c9f8450b7ab8df11f658c4194be17a6316b870490d5ffaf5289a3c0c0591ed6291b2d6551e181887c3eed89d0490744b3e569d9b23cf611b05f93e775b6 - languageName: node - linkType: hard - -"@types/chai@npm:^4.3.16": - version: 4.3.20 - resolution: "@types/chai@npm:4.3.20" - checksum: 10c0/4601189d611752e65018f1ecadac82e94eed29f348e1d5430e5681a60b01e1ecf855d9bcc74ae43b07394751f184f6970fac2b5561fc57a1f36e93a0f5ffb6e8 - languageName: node - linkType: hard - -"@types/circomlibjs@npm:^0.1.6": - version: 0.1.6 - resolution: "@types/circomlibjs@npm:0.1.6" - checksum: 10c0/0ef1901bb6e71fcd29c617fd266d1a06a0056d8665194e236d0e918be60aa459d4d1606bfb65e7eb05f769163e69b3eb0c7b55b941774d672499221b904df277 - languageName: node - linkType: hard - -"@types/concat-stream@npm:^1.6.0": - version: 1.6.1 - resolution: "@types/concat-stream@npm:1.6.1" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/838a0ec89d59a11c425b7728fdd05b17b652086a27fdf5b787778521ccf6d3133d9e9a6e6b803785b28c0a0f7a437582813e37b317ed8100870af836ad49a7a2 - languageName: node - linkType: hard - -"@types/deep-eql@npm:*": - version: 4.0.2 - resolution: "@types/deep-eql@npm:4.0.2" - checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 - languageName: node - linkType: hard - -"@types/form-data@npm:0.0.33": - version: 0.0.33 - resolution: "@types/form-data@npm:0.0.33" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/20bd8f7491d759ce613e35612aef37b3084be43466883ce83e1261905032939bc9e51e470e61bccf6d2f08a39659c44795531bbf66af177176ab0ddbd968e155 - languageName: node - linkType: hard - -"@types/glob@npm:^7.1.1": - version: 7.2.0 - resolution: "@types/glob@npm:7.2.0" - dependencies: - "@types/minimatch": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/a8eb5d5cb5c48fc58c7ca3ff1e1ddf771ee07ca5043da6e4871e6757b4472e2e73b4cfef2644c38983174a4bc728c73f8da02845c28a1212f98cabd293ecae98 - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee - languageName: node - linkType: hard - -"@types/jest@npm:^29.5.12": - version: 29.5.14 - resolution: "@types/jest@npm:29.5.14" - dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed - languageName: node - linkType: hard - -"@types/lru-cache@npm:^5.1.0": - version: 5.1.1 - resolution: "@types/lru-cache@npm:5.1.1" - checksum: 10c0/1f17ec9b202c01a89337cc5528198a690be6b61a6688242125fbfb7fa17770e453e00e4685021abf5ae605860ca0722209faac5c254b780d0104730bb0b9e354 - languageName: node - linkType: hard - -"@types/minimatch@npm:*": - version: 5.1.2 - resolution: "@types/minimatch@npm:5.1.2" - checksum: 10c0/83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562 - languageName: node - linkType: hard - -"@types/mocha@npm:^10.0.6": - version: 10.0.10 - resolution: "@types/mocha@npm:10.0.10" - checksum: 10c0/d2b8c48138cde6923493e42b38e839695eb42edd04629abe480a8f34c0e3f50dd82a55832c2e8d2b6e6f9e4deb492d7d733e600fbbdd5a0ceccbcfc6844ff9d5 - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 22.14.1 - resolution: "@types/node@npm:22.14.1" - dependencies: - undici-types: "npm:~6.21.0" - checksum: 10c0/d49c4d00403b1c2348cf0701b505fd636d80aabe18102105998dc62fdd36dcaf911e73c7a868c48c21c1022b825c67b475b65b1222d84b704d8244d152bb7f86 - languageName: node - linkType: hard - -"@types/node@npm:22.7.5": - version: 22.7.5 - resolution: "@types/node@npm:22.7.5" - dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/cf11f74f1a26053ec58066616e3a8685b6bcd7259bc569738b8f752009f9f0f7f85a1b2d24908e5b0f752482d1e8b6babdf1fbb25758711ec7bb9500bfcd6e60 - languageName: node - linkType: hard - -"@types/node@npm:^10.0.3": - version: 10.17.60 - resolution: "@types/node@npm:10.17.60" - checksum: 10c0/0742294912a6e79786cdee9ed77cff6ee8ff007b55d8e21170fc3e5994ad3a8101fea741898091876f8dc32b0a5ae3d64537b7176799e92da56346028d2cbcd2 - languageName: node - linkType: hard - -"@types/node@npm:^8.0.0": - version: 8.10.66 - resolution: "@types/node@npm:8.10.66" - checksum: 10c0/425e0fca5bad0d6ff14336946a1e3577750dcfbb7449614786d3241ca78ff44e3beb43eace122682de1b9d8e25cf2a0456a0b3e500d78cb55cab68f892e38141 - languageName: node - linkType: hard - -"@types/pbkdf2@npm:^3.0.0": - version: 3.1.2 - resolution: "@types/pbkdf2@npm:3.1.2" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/4f60b0e3c73297f55023b993d3d543212aa7f61c8c0d6a2720f5dbe2cf38e2fe55ff295d550ac048dddbfc3d44c285cfe16126d65c613bd67a57662357e268d9 - languageName: node - linkType: hard - -"@types/prettier@npm:^2.1.1": - version: 2.7.3 - resolution: "@types/prettier@npm:2.7.3" - checksum: 10c0/0960b5c1115bb25e979009d0b44c42cf3d792accf24085e4bfce15aef5794ea042e04e70c2139a2c3387f781f18c89b5706f000ddb089e9a4a2ccb7536a2c5f0 - languageName: node - linkType: hard - -"@types/qs@npm:^6.2.31": - version: 6.9.18 - resolution: "@types/qs@npm:6.9.18" - checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b - languageName: node - linkType: hard - -"@types/secp256k1@npm:^4.0.1": - version: 4.0.6 - resolution: "@types/secp256k1@npm:4.0.6" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/0e391316ae30c218779583b626382a56546ddbefb65f1ff9cf5e078af8a7118f67f3e66e30914399cc6f8710c424d0d8c3f34262ffb1f429c6ad911fd0d0bc26 - languageName: node - linkType: hard - -"@types/snarkjs@npm:^0.7.7": - version: 0.7.9 - resolution: "@types/snarkjs@npm:0.7.9" - checksum: 10c0/efa31acd19d8ae28a08f940a7ae610ee49d81c547cd3ecf4d730949df5f8bc058a04b0fcbb8dad371176826ddd63973ec694855767e441bf866ff1d45668b16c - languageName: node - linkType: hard - -"@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c - languageName: node - linkType: hard - -"@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.33 - resolution: "@types/yargs@npm:17.0.33" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b - languageName: node - linkType: hard - -"@zk-kit/imt.sol@npm:^2.0.0-beta.12": - version: 2.0.0-beta.12 - resolution: "@zk-kit/imt.sol@npm:2.0.0-beta.12" - dependencies: - poseidon-solidity: "npm:0.0.5" - checksum: 10c0/8486f6219e506dfa93f99da22196e0255640c256b060bbf0a4de1b5bbf5318a1d30e95a1c6b4e1df734e9169e6f4b7f219b322e8c07af556028122595c81e5cc - languageName: node - linkType: hard - -"@zk-kit/imt@npm:^2.0.0-beta.4": - version: 2.0.0-beta.8 - resolution: "@zk-kit/imt@npm:2.0.0-beta.8" - dependencies: - "@zk-kit/utils": "npm:1.3.0" - checksum: 10c0/5156e5934e13c579ddfca5fb11f6ba0d2f51f7e16f200314910c9861721a9f76d47a98190367df52386e8a1f6c0349c7caf3bfbe8e24e2c1c64041ef62b7d34e - languageName: node - linkType: hard - -"@zk-kit/lean-imt@npm:^2.0.1": - version: 2.2.3 - resolution: "@zk-kit/lean-imt@npm:2.2.3" - dependencies: - "@zk-kit/utils": "npm:1.3.0" - checksum: 10c0/46aefeb9f7d79dee9b944e3943627ff08a7266bc1824230298fa730d542c124fc81aa90cf2205c2bdcfe5d7516ba599f47d594313cc6d33603809de9f4c816e6 - languageName: node - linkType: hard - -"@zk-kit/utils@npm:1.3.0": - version: 1.3.0 - resolution: "@zk-kit/utils@npm:1.3.0" - dependencies: - buffer: "npm:^6.0.3" - checksum: 10c0/e48b6d319eea6247efdc2c7c93140406adf20edc072000ac5e865f7758f653340d310a640603e70940f7e8041fffeb118c4a071618de7dc1d170f6c628195905 - languageName: node - linkType: hard - -"abbrev@npm:1": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 - languageName: node - linkType: hard - -"abbrev@npm:1.0.x": - version: 1.0.9 - resolution: "abbrev@npm:1.0.9" - checksum: 10c0/214632e37c68f71d61d2ee920644a11c7b0cee08ddde96961b02ebe95ad86de0d56bd6762ff337bd9cf6e5c1431ce724babd28c110fce4b20d35f6fa87944d00 - languageName: node - linkType: hard - -"abbrev@npm:^3.0.0": - version: 3.0.1 - resolution: "abbrev@npm:3.0.1" - checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf - languageName: node - linkType: hard - -"acorn-walk@npm:^8.1.1": - version: 8.3.4 - resolution: "acorn-walk@npm:8.3.4" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 - languageName: node - linkType: hard - -"acorn@npm:^8.11.0, acorn@npm:^8.4.1": - version: 8.14.1 - resolution: "acorn@npm:8.14.1" - bin: - acorn: bin/acorn - checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 - languageName: node - linkType: hard - -"adm-zip@npm:^0.4.16": - version: 0.4.16 - resolution: "adm-zip@npm:0.4.16" - checksum: 10c0/c56c6e138fd19006155fc716acae14d54e07c267ae19d78c8a8cdca04762bf20170a71a41aa8d8bad2f13b70d4f3e9a191009bafa5280e05a440ee506f871a55 - languageName: node - linkType: hard - -"aes-js@npm:3.0.0": - version: 3.0.0 - resolution: "aes-js@npm:3.0.0" - checksum: 10c0/87dd5b2363534b867db7cef8bc85a90c355460783744877b2db7c8be09740aac5750714f9e00902822f692662bda74cdf40e03fbb5214ffec75c2666666288b8 - languageName: node - linkType: hard - -"aes-js@npm:4.0.0-beta.5": - version: 4.0.0-beta.5 - resolution: "aes-js@npm:4.0.0-beta.5" - checksum: 10c0/444f4eefa1e602cbc4f2a3c644bc990f93fd982b148425fee17634da510586fc09da940dcf8ace1b2d001453c07ff042e55f7a0482b3cc9372bf1ef75479090c - languageName: node - linkType: hard - -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - -"ajv@npm:^8.0.1": - version: 8.17.1 - resolution: "ajv@npm:8.17.1" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^3.0.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 - languageName: node - linkType: hard - -"amdefine@npm:>=0.0.4": - version: 1.0.1 - resolution: "amdefine@npm:1.0.1" - checksum: 10c0/ba8aa5d4ff5248b2ed067111e72644b36b5b7ae88d9a5a2c4223dddb3bdc9102db67291e0b414f59f12c6479ac6a365886bac72c7965e627cbc732e0962dd1ab - languageName: node - linkType: hard - -"ansi-align@npm:^3.0.0": - version: 3.0.1 - resolution: "ansi-align@npm:3.0.1" - dependencies: - string-width: "npm:^4.1.0" - checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 - languageName: node - linkType: hard - -"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": - version: 4.1.3 - resolution: "ansi-colors@npm:4.1.3" - checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.3.0": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 - languageName: node - linkType: hard - -"ansi-regex@npm:^3.0.0": - version: 3.0.1 - resolution: "ansi-regex@npm:3.0.1" - checksum: 10c0/d108a7498b8568caf4a46eea4f1784ab4e0dfb2e3f3938c697dee21443d622d765c958f2b7e2b9f6b9e55e2e2af0584eaa9915d51782b89a841c28e744e7a167 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"antlr4ts@npm:^0.5.0-alpha.4": - version: 0.5.0-alpha.4 - resolution: "antlr4ts@npm:0.5.0-alpha.4" - checksum: 10c0/26a43d6769178fdf1b79ed2001f123fd49843e335f9a3687b63c090ab2024632fbac60a73b3f8289044c206edeb5d19c36b02603b018d8eaf3be3ce30136102f - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"array-back@npm:^3.0.1, array-back@npm:^3.1.0": - version: 3.1.0 - resolution: "array-back@npm:3.1.0" - checksum: 10c0/bb1fe86aa8b39c21e73c68c7abf8b05ed939b8951a3b17527217f6a2a84e00e4cfa4fdec823081689c5e216709bf1f214a4f5feeee6726eaff83897fa1a7b8ee - languageName: node - linkType: hard - -"array-back@npm:^4.0.1, array-back@npm:^4.0.2": - version: 4.0.2 - resolution: "array-back@npm:4.0.2" - checksum: 10c0/8beb5b4c9535eab2905d4ff7d16c4d90ee5ca080d2b26b1e637434c0fcfadb3585283524aada753bd5d06bb88a5dac9e175c3a236183741d3d795a69b6678c96 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - -"array-uniq@npm:1.0.3": - version: 1.0.3 - resolution: "array-uniq@npm:1.0.3" - checksum: 10c0/3acbaf9e6d5faeb1010e2db04ab171b8d265889e46c61762e502979bdc5e55656013726e9a61507de3c82d329a0dc1e8072630a3454b4f2b881cb19ba7fd8aa6 - languageName: node - linkType: hard - -"asap@npm:~2.0.6": - version: 2.0.6 - resolution: "asap@npm:2.0.6" - checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d - languageName: node - linkType: hard - -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b - languageName: node - linkType: hard - -"astral-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "astral-regex@npm:2.0.0" - checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 - languageName: node - linkType: hard - -"async@npm:1.x": - version: 1.5.2 - resolution: "async@npm:1.5.2" - checksum: 10c0/9ee84592c393aad1047d1223004317ecc65a9a3f76101e0f4614a0818eac962e666510353400a3c9ea158df540579a293f486f3578e918c5e90a0f5ed52e8aea - languageName: node - linkType: hard - -"async@npm:^3.2.3": - version: 3.2.6 - resolution: "async@npm:3.2.6" - checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d - languageName: node - linkType: hard - -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef - languageName: node - linkType: hard - -"axios@npm:^1.5.1, axios@npm:^1.6.2": - version: 1.8.4 - resolution: "axios@npm:1.8.4" - dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/450993c2ba975ffccaf0d480b68839a3b2435a5469a71fa2fb0b8a55cdb2c2ae47e609360b9c1e2b2534b73dfd69e2733a1cf9f8215bee0bcd729b72f801b0ce - languageName: node - linkType: hard - -"b4a@npm:^1.0.1": - version: 1.6.7 - resolution: "b4a@npm:1.6.7" - checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"base-x@npm:^3.0.2": - version: 3.0.11 - resolution: "base-x@npm:3.0.11" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 10c0/4c5b8cd9cef285973b0460934be4fc890eedfd22a8aca527fac3527f041c5d1c912f7b9a6816f19e43e69dc7c29a5deabfa326bd3d6a57ee46af0ad46e3991d5 - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"bech32@npm:1.1.4": - version: 1.1.4 - resolution: "bech32@npm:1.1.4" - checksum: 10c0/5f62ca47b8df99ace9c0e0d8deb36a919d91bf40066700aaa9920a45f86bb10eb56d537d559416fd8703aa0fb60dddb642e58f049701e7291df678b2033e5ee5 - languageName: node - linkType: hard - -"bfj@npm:^7.0.2": - version: 7.1.0 - resolution: "bfj@npm:7.1.0" - dependencies: - bluebird: "npm:^3.7.2" - check-types: "npm:^11.2.3" - hoopy: "npm:^0.1.4" - jsonpath: "npm:^1.1.1" - tryer: "npm:^1.0.1" - checksum: 10c0/e5fc6690cd093c06ca6ed7584a2caf0c4a762bc9d9d9cb18efbabc75c973b071a8dad7037c617d0ea4d97b7b439821fea32f7c232ed0be8fa7840533a9643171 - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - -"blake-hash@npm:^2.0.0": - version: 2.0.0 - resolution: "blake-hash@npm:2.0.0" - dependencies: - node-addon-api: "npm:^3.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.2" - readable-stream: "npm:^3.6.0" - checksum: 10c0/368dc38d3694c925ac1c013f6e35ece9a0a6adb43aa475e97d6babcf829b6be9e4ef879aab2ce1f0e685f5346580e653ead9540a348691423d907504aafe9739 - languageName: node - linkType: hard - -"blake2b-wasm@npm:^2.4.0": - version: 2.4.0 - resolution: "blake2b-wasm@npm:2.4.0" - dependencies: - b4a: "npm:^1.0.1" - nanoassert: "npm:^2.0.0" - checksum: 10c0/0905a47ece466c44541c8abbc94a5441ecb24a3b2622bf1f2e285c1f0f82e2b1899c7bbd70294583cfd99e1276047dd80d7afc7408f3a7c5ebf426b2f2a42f6f - languageName: node - linkType: hard - -"blake2b@npm:^2.1.3": - version: 2.1.4 - resolution: "blake2b@npm:2.1.4" - dependencies: - blake2b-wasm: "npm:^2.4.0" - nanoassert: "npm:^2.0.0" - checksum: 10c0/5276ee175f7cbbb115ee2003cf577687239ee5931f350e7d799b52cd99793cf6946f03a31d8531f643db5e81ca727f18a0dd4206394ee62c65b5dacea1a86bf8 - languageName: node - linkType: hard - -"blakejs@npm:^1.1.0": - version: 1.2.1 - resolution: "blakejs@npm:1.2.1" - checksum: 10c0/c284557ce55b9c70203f59d381f1b85372ef08ee616a90162174d1291a45d3e5e809fdf9edab6e998740012538515152471dc4f1f9dbfa974ba2b9c1f7b9aad7 - languageName: node - linkType: hard - -"bluebird@npm:^3.7.2": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 - languageName: node - linkType: hard - -"bn.js@npm:4.11.6": - version: 4.11.6 - resolution: "bn.js@npm:4.11.6" - checksum: 10c0/e6ee7d3f597f60722cc3361071e23ccf71d3387e166de02381f180f22d2fa79f5dbbdf9e4909e81faaf5da01c16ec6857ddff02678339ce085e2058fd0e405db - languageName: node - linkType: hard - -"bn.js@npm:^4.11.9": - version: 4.12.1 - resolution: "bn.js@npm:4.12.1" - checksum: 10c0/b7f37a0cd5e4b79142b6f4292d518b416be34ae55d6dd6b0f66f96550c8083a50ffbbf8bda8d0ab471158cb81aa74ea4ee58fe33c7802e4a30b13810e98df116 - languageName: node - linkType: hard - -"bn.js@npm:^5.1.2, bn.js@npm:^5.2.0, bn.js@npm:^5.2.1": - version: 5.2.1 - resolution: "bn.js@npm:5.2.1" - checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa - languageName: node - linkType: hard - -"boxen@npm:^5.1.2": - version: 5.1.2 - resolution: "boxen@npm:5.1.2" - dependencies: - ansi-align: "npm:^3.0.0" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.1.0" - cli-boxes: "npm:^2.2.1" - string-width: "npm:^4.2.2" - type-fest: "npm:^0.20.2" - widest-line: "npm:^3.1.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/71f31c2eb3dcacd5fce524ae509e0cc90421752e0bfbd0281fd3352871d106c462a0f810c85f2fdb02f3a9fab2d7a84e9718b4999384d651b76104ebe5d2c024 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.3, braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"brorand@npm:^1.1.0": - version: 1.1.0 - resolution: "brorand@npm:1.1.0" - checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 - languageName: node - linkType: hard - -"browser-stdout@npm:^1.3.1": - version: 1.3.1 - resolution: "browser-stdout@npm:1.3.1" - checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 - languageName: node - linkType: hard - -"browserify-aes@npm:^1.2.0": - version: 1.2.0 - resolution: "browserify-aes@npm:1.2.0" - dependencies: - buffer-xor: "npm:^1.0.3" - cipher-base: "npm:^1.0.0" - create-hash: "npm:^1.1.0" - evp_bytestokey: "npm:^1.0.3" - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - checksum: 10c0/967f2ae60d610b7b252a4cbb55a7a3331c78293c94b4dd9c264d384ca93354c089b3af9c0dd023534efdc74ffbc82510f7ad4399cf82bc37bc07052eea485f18 - languageName: node - linkType: hard - -"bs58@npm:^4.0.0": - version: 4.0.1 - resolution: "bs58@npm:4.0.1" - dependencies: - base-x: "npm:^3.0.2" - checksum: 10c0/613a1b1441e754279a0e3f44d1faeb8c8e838feef81e550efe174ff021dd2e08a4c9ae5805b52dfdde79f97b5c0918c78dd24a0eb726c4a94365f0984a0ffc65 - languageName: node - linkType: hard - -"bs58check@npm:^2.1.2": - version: 2.1.2 - resolution: "bs58check@npm:2.1.2" - dependencies: - bs58: "npm:^4.0.0" - create-hash: "npm:^1.1.0" - safe-buffer: "npm:^5.1.2" - checksum: 10c0/5d33f319f0d7abbe1db786f13f4256c62a076bc8d184965444cb62ca4206b2c92bee58c93bce57150ffbbbe00c48838ac02e6f384e0da8215cac219c0556baa9 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer-xor@npm:^1.0.3": - version: 1.0.3 - resolution: "buffer-xor@npm:1.0.3" - checksum: 10c0/fd269d0e0bf71ecac3146187cfc79edc9dbb054e2ee69b4d97dfb857c6d997c33de391696d04bdd669272751fa48e7872a22f3a6c7b07d6c0bc31dbe02a4075c - languageName: node - linkType: hard - -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e - languageName: node - linkType: hard - -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" - dependencies: - "@npmcli/fs": "npm:^4.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c - languageName: node - linkType: hard - -"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 - languageName: node - linkType: hard - -"call-bound@npm:^1.0.2": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 - languageName: node - linkType: hard - -"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"caseless@npm:^0.12.0, caseless@npm:~0.12.0": - version: 0.12.0 - resolution: "caseless@npm:0.12.0" - checksum: 10c0/ccf64bcb6c0232cdc5b7bd91ddd06e23a4b541f138336d4725233ac538041fb2f29c2e86c3c4a7a61ef990b665348db23a047060b9414c3a6603e9fa61ad4626 - languageName: node - linkType: hard - -"cbor@npm:^8.1.0": - version: 8.1.0 - resolution: "cbor@npm:8.1.0" - dependencies: - nofilter: "npm:^3.1.0" - checksum: 10c0/a836e2e7ea0efb1b9c4e5a4be906c57113d730cc42293a34072e0164ed110bb8ac035dc7dca2e3ebb641bd4b37e00fdbbf09c951aa864b3d4888a6ed8c6243f7 - languageName: node - linkType: hard - -"cbor@npm:^9.0.0": - version: 9.0.2 - resolution: "cbor@npm:9.0.2" - dependencies: - nofilter: "npm:^3.1.0" - checksum: 10c0/709d4378067e663107b3d63a02d123a7b33e28946b4c5cc40c102f2f0ba13b072a79adc4369bb87a4e743399fce45deec30463fc84d363ab7cb39192d0fe5f30 - languageName: node - linkType: hard - -"chai-as-promised@npm:^7.1.1": - version: 7.1.2 - resolution: "chai-as-promised@npm:7.1.2" - dependencies: - check-error: "npm:^1.0.2" - peerDependencies: - chai: ">= 2.1.2 < 6" - checksum: 10c0/ee20ed75296d8cbf828b2f3c9ad64627cee67b1a38b8e906ca59fe788fb6965ddb10f702ae66645ed88f15a905ade4f2d9f8540029e92e2d59b229c9f912273f - languageName: node - linkType: hard - -"chai@npm:^4.4.1": - version: 4.5.0 - resolution: "chai@npm:4.5.0" - dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.1.0" - checksum: 10c0/b8cb596bd1aece1aec659e41a6e479290c7d9bee5b3ad63d2898ad230064e5b47889a3bc367b20100a0853b62e026e2dc514acf25a3c9385f936aa3614d4ab4d - languageName: node - linkType: hard - -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"charenc@npm:>= 0.0.1": - version: 0.0.2 - resolution: "charenc@npm:0.0.2" - checksum: 10c0/a45ec39363a16799d0f9365c8dd0c78e711415113c6f14787a22462ef451f5013efae8a28f1c058f81fc01f2a6a16955f7a5fd0cd56247ce94a45349c89877d8 - languageName: node - linkType: hard - -"check-error@npm:^1.0.2, check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 - languageName: node - linkType: hard - -"check-types@npm:^11.2.3": - version: 11.2.3 - resolution: "check-types@npm:11.2.3" - checksum: 10c0/08d17e528b189e0e431689f0f2f0a78f425202f6e5ac93def5c3b8d128eb888a5103fc980d4feb7b2d4248f8114d354c223dff3c0b5ac4b1def526ef441aaf55 - languageName: node - linkType: hard - -"chokidar@npm:^3.5.3": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chokidar@npm:^4.0.0": - version: 4.0.3 - resolution: "chokidar@npm:4.0.3" - dependencies: - readdirp: "npm:^4.0.1" - checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"ci-info@npm:^2.0.0": - version: 2.0.0 - resolution: "ci-info@npm:2.0.0" - checksum: 10c0/8c5fa3830a2bcee2b53c2e5018226f0141db9ec9f7b1e27a5c57db5512332cde8a0beb769bcbaf0d8775a78afbf2bb841928feca4ea6219638a5b088f9884b46 - languageName: node - linkType: hard - -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a - languageName: node - linkType: hard - -"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": - version: 1.0.6 - resolution: "cipher-base@npm:1.0.6" - dependencies: - inherits: "npm:^2.0.4" - safe-buffer: "npm:^5.2.1" - checksum: 10c0/f73268e0ee6585800875d9748f2a2377ae7c2c3375cba346f75598ac6f6bc3a25dec56e984a168ced1a862529ffffe615363f750c40349039d96bd30fba0fca8 - languageName: node - linkType: hard - -"circom_runtime@npm:0.1.28": - version: 0.1.28 - resolution: "circom_runtime@npm:0.1.28" - dependencies: - ffjavascript: "npm:0.3.1" - bin: - calcwit: calcwit.js - checksum: 10c0/f2636b3cf553ea37701b527331ff740be7e31d51dc367c7f7bdffb69cf3a0d86c34ce215e4dbc0ad47f9c221c129ab11b111c6814e009c4d469592d73ab3c513 - languageName: node - linkType: hard - -"circomlibjs@npm:^0.1.7": - version: 0.1.7 - resolution: "circomlibjs@npm:0.1.7" - dependencies: - blake-hash: "npm:^2.0.0" - blake2b: "npm:^2.1.3" - ethers: "npm:^5.5.1" - ffjavascript: "npm:^0.2.45" - checksum: 10c0/ce618d8d245b6c834a171c0c3b3ba46b9ca7f47eb21b77b59469d100145cc51e820817450ef14897488b883b6038a0cfd85d43c900be4467c543f079a09617ff - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"cli-boxes@npm:^2.2.1": - version: 2.2.1 - resolution: "cli-boxes@npm:2.2.1" - checksum: 10c0/6111352edbb2f62dbc7bfd58f2d534de507afed7f189f13fa894ce5a48badd94b2aa502fda28f1d7dd5f1eb456e7d4033d09a76660013ef50c7f66e7a034f050 - languageName: node - linkType: hard - -"cli-table3@npm:^0.5.0": - version: 0.5.1 - resolution: "cli-table3@npm:0.5.1" - dependencies: - colors: "npm:^1.1.2" - object-assign: "npm:^4.1.0" - string-width: "npm:^2.1.1" - dependenciesMeta: - colors: - optional: true - checksum: 10c0/659c40ead17539d0665aa9dea85a7650fc161939f9d8bd3842c6cf5da51dc867057d3066fe8c962dafa163da39ce2029357754aee2c8f9513ea7a0810511d1d6 - languageName: node - linkType: hard - -"cli-table3@npm:^0.6.0": - version: 0.6.5 - resolution: "cli-table3@npm:0.6.5" - dependencies: - "@colors/colors": "npm:1.5.0" - string-width: "npm:^4.2.0" - dependenciesMeta: - "@colors/colors": - optional: true - checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78 - languageName: node - linkType: hard - -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 - languageName: node - linkType: hard - -"cliui@npm:^8.0.1": - version: 8.0.1 - resolution: "cliui@npm:8.0.1" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 - languageName: node - linkType: hard - -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"colors@npm:1.4.0, colors@npm:^1.1.2": - version: 1.4.0 - resolution: "colors@npm:1.4.0" - checksum: 10c0/9af357c019da3c5a098a301cf64e3799d27549d8f185d86f79af23069e4f4303110d115da98483519331f6fb71c8568d5688fa1c6523600044fd4a54e97c4efb - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - -"command-exists@npm:^1.2.8": - version: 1.2.9 - resolution: "command-exists@npm:1.2.9" - checksum: 10c0/75040240062de46cd6cd43e6b3032a8b0494525c89d3962e280dde665103f8cc304a8b313a5aa541b91da2f5a9af75c5959dc3a77893a2726407a5e9a0234c16 - languageName: node - linkType: hard - -"command-line-args@npm:^5.1.1": - version: 5.2.1 - resolution: "command-line-args@npm:5.2.1" - dependencies: - array-back: "npm:^3.1.0" - find-replace: "npm:^3.0.0" - lodash.camelcase: "npm:^4.3.0" - typical: "npm:^4.0.0" - checksum: 10c0/a4f6a23a1e420441bd1e44dee24efd12d2e49af7efe6e21eb32fca4e843ca3d5501ddebad86a4e9d99aa626dd6dcb64c04a43695388be54e3a803dbc326cc89f - languageName: node - linkType: hard - -"command-line-usage@npm:^6.1.0": - version: 6.1.3 - resolution: "command-line-usage@npm:6.1.3" - dependencies: - array-back: "npm:^4.0.2" - chalk: "npm:^2.4.2" - table-layout: "npm:^1.0.2" - typical: "npm:^5.2.0" - checksum: 10c0/23d7577ccb6b6c004e67bb6a9a8cb77282ae7b7507ae92249a9548a39050b7602fef70f124c765000ab23b8f7e0fb7a3352419ab73ea42a2d9ea32f520cdfe9e - languageName: node - linkType: hard - -"commander@npm:^8.1.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.2": - version: 1.6.2 - resolution: "concat-stream@npm:1.6.2" - dependencies: - buffer-from: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^2.2.2" - typedarray: "npm:^0.0.6" - checksum: 10c0/2e9864e18282946dabbccb212c5c7cec0702745e3671679eb8291812ca7fd12023f7d8cb36493942a62f770ac96a7f90009dc5c82ad69893438371720fa92617 - languageName: node - linkType: hard - -"cookie@npm:^0.4.1": - version: 0.4.2 - resolution: "cookie@npm:0.4.2" - checksum: 10c0/beab41fbd7c20175e3a2799ba948c1dcc71ef69f23fe14eeeff59fc09f50c517b0f77098db87dbb4c55da802f9d86ee86cdc1cd3efd87760341551838d53fca2 - languageName: node - linkType: hard - -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 - languageName: node - linkType: hard - -"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": - version: 1.2.0 - resolution: "create-hash@npm:1.2.0" - dependencies: - cipher-base: "npm:^1.0.1" - inherits: "npm:^2.0.1" - md5.js: "npm:^1.3.4" - ripemd160: "npm:^2.0.1" - sha.js: "npm:^2.4.0" - checksum: 10c0/d402e60e65e70e5083cb57af96d89567954d0669e90550d7cec58b56d49c4b193d35c43cec8338bc72358198b8cbf2f0cac14775b651e99238e1cf411490f915 - languageName: node - linkType: hard - -"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": - version: 1.1.7 - resolution: "create-hmac@npm:1.1.7" - dependencies: - cipher-base: "npm:^1.0.3" - create-hash: "npm:^1.1.0" - inherits: "npm:^2.0.1" - ripemd160: "npm:^2.0.0" - safe-buffer: "npm:^5.0.1" - sha.js: "npm:^2.4.8" - checksum: 10c0/24332bab51011652a9a0a6d160eed1e8caa091b802335324ae056b0dcb5acbc9fcf173cf10d128eba8548c3ce98dfa4eadaa01bd02f44a34414baee26b651835 - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.6": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"crypt@npm:>= 0.0.1": - version: 0.0.2 - resolution: "crypt@npm:0.0.2" - checksum: 10c0/adbf263441dd801665d5425f044647533f39f4612544071b1471962209d235042fb703c27eea2795c7c53e1dfc242405173003f83cf4f4761a633d11f9653f18 - languageName: node - linkType: hard - -"dateformat@npm:^4.5.1": - version: 4.6.3 - resolution: "dateformat@npm:4.6.3" - checksum: 10c0/e2023b905e8cfe2eb8444fb558562b524807a51cdfe712570f360f873271600b5c94aebffaf11efb285e2c072264a7cf243eadb68f3eba0f8cc85fb86cd25df6 - languageName: node - linkType: hard - -"death@npm:^1.1.0": - version: 1.1.0 - resolution: "death@npm:1.1.0" - checksum: 10c0/4cf8ec37728b99cd18566e605b4c967eedaeeb1533a3003cb88cbc69e6fe1787393b21bfa8c26045222f4e7dd75044eaf6b4c566b67da84ecb81717a7e3ca391 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5": - version: 4.4.0 - resolution: "debug@npm:4.4.0" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de - languageName: node - linkType: hard - -"decamelize@npm:^4.0.0": - version: 4.0.0 - resolution: "decamelize@npm:4.0.0" - checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d - languageName: node - linkType: hard - -"deep-eql@npm:^4.0.1, deep-eql@npm:^4.1.3": - version: 4.1.4 - resolution: "deep-eql@npm:4.1.4" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 - languageName: node - linkType: hard - -"deep-extend@npm:~0.6.0": - version: 0.6.0 - resolution: "deep-extend@npm:0.6.0" - checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 - languageName: node - linkType: hard - -"deep-is@npm:~0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"diff@npm:^5.0.0, diff@npm:^5.2.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 - languageName: node - linkType: hard - -"difflib@npm:^0.2.4": - version: 0.2.4 - resolution: "difflib@npm:0.2.4" - dependencies: - heap: "npm:>= 0.2.0" - checksum: 10c0/4b151f1f6d378b0837ef28f4706d89d05b78f1093253b06c975c621f7ef8b048978588baf9e8f284c64b133d0abb08303b0789519cc91e5180d420cb3bb99c05 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dotenv@npm:^16.3.1": - version: 16.5.0 - resolution: "dotenv@npm:16.5.0" - checksum: 10c0/5bc94c919fbd955bf0ba44d33922a1e93d1078e64a1db5c30faeded1d996e7a83c55332cb8ea4fae5a9ca4d0be44cbceb95c5811e70f9f095298df09d1997dd9 - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.2.0" - checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"ejs@npm:^3.1.6": - version: 3.1.10 - resolution: "ejs@npm:3.1.10" - dependencies: - jake: "npm:^10.8.5" - bin: - ejs: bin/cli.js - checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 - languageName: node - linkType: hard - -"elliptic@npm:6.6.1, elliptic@npm:^6.5.7": - version: 6.6.1 - resolution: "elliptic@npm:6.6.1" - dependencies: - bn.js: "npm:^4.11.9" - brorand: "npm:^1.1.0" - hash.js: "npm:^1.0.0" - hmac-drbg: "npm:^1.0.1" - inherits: "npm:^2.0.4" - minimalistic-assert: "npm:^1.0.1" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 10c0/8b24ef782eec8b472053793ea1e91ae6bee41afffdfcb78a81c0a53b191e715cbe1292aa07165958a9bbe675bd0955142560b1a007ffce7d6c765bcaf951a867 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"enquirer@npm:^2.3.0": - version: 2.4.1 - resolution: "enquirer@npm:2.4.1" - dependencies: - ansi-colors: "npm:^4.1.1" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.1.0": - version: 2.1.0 - resolution: "es-set-tostringtag@npm:2.1.0" - dependencies: - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": - version: 3.2.0 - resolution: "escalade@npm:3.2.0" - checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 - languageName: node - linkType: hard - -"escape-html@npm:^1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"escodegen@npm:1.8.x": - version: 1.8.1 - resolution: "escodegen@npm:1.8.1" - dependencies: - esprima: "npm:^2.7.1" - estraverse: "npm:^1.9.1" - esutils: "npm:^2.0.2" - optionator: "npm:^0.8.1" - source-map: "npm:~0.2.0" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: ./bin/escodegen.js - esgenerate: ./bin/esgenerate.js - checksum: 10c0/ac19704975bb22e20f04d0da8b4586c11e302fd9fb48bbf945c5b9c0fd01dc85ed25975b6eaba733047e9cc7e57a4bb95c39820843d1f8f55daf88be02398d8f - languageName: node - linkType: hard - -"escodegen@npm:^1.8.1": - version: 1.14.3 - resolution: "escodegen@npm:1.14.3" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^4.2.0" - esutils: "npm:^2.0.2" - optionator: "npm:^0.8.1" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/30d337803e8f44308c90267bf6192399e4b44792497c77a7506b68ab802ba6a48ebbe1ce77b219aba13dfd2de5f5e1c267e35be1ed87b2a9c3315e8b283e302a - languageName: node - linkType: hard - -"esprima@npm:1.2.2": - version: 1.2.2 - resolution: "esprima@npm:1.2.2" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/a5a8fd359651dd8228736d7352eb7636c7765e1ec6ff8fff3f6641622039a9f51fa501969a1a4777ba4187cf9942a8d7e0367dccaff768b782bdb1a71d046abf - languageName: node - linkType: hard - -"esprima@npm:2.7.x, esprima@npm:^2.7.1": - version: 2.7.3 - resolution: "esprima@npm:2.7.3" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/6e1e99f280eed2ecd521ae28217c5f7c7a03fd0a1ac913bffd4a4ba278caf32cb8d9fc01e41d4b4bc904617282873dea297d60e1f93ea20156f29994c348a04f - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"estraverse@npm:^1.9.1": - version: 1.9.3 - resolution: "estraverse@npm:1.9.3" - checksum: 10c0/2477bab0c5cdc7534162fbb16b25282c49f434875227937726692ed105762403e9830324cc97c3ea8bf332fe91122ea321f4d4292aaf50db7a90d857e169719e - languageName: node - linkType: hard - -"estraverse@npm:^4.2.0": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"eth-gas-reporter@npm:^0.2.25": - version: 0.2.27 - resolution: "eth-gas-reporter@npm:0.2.27" - dependencies: - "@solidity-parser/parser": "npm:^0.14.0" - axios: "npm:^1.5.1" - cli-table3: "npm:^0.5.0" - colors: "npm:1.4.0" - ethereum-cryptography: "npm:^1.0.3" - ethers: "npm:^5.7.2" - fs-readdir-recursive: "npm:^1.1.0" - lodash: "npm:^4.17.14" - markdown-table: "npm:^1.1.3" - mocha: "npm:^10.2.0" - req-cwd: "npm:^2.0.0" - sha1: "npm:^1.1.1" - sync-request: "npm:^6.0.0" - peerDependencies: - "@codechecks/client": ^0.1.0 - peerDependenciesMeta: - "@codechecks/client": - optional: true - checksum: 10c0/62a7b8ea41d82731fe91a7741eb2362f08d55e0fece1c12e69effe1684933999961d97d1011037a54063fda20c33a61ef143f04b7ccef36c3002f40975b0415f - languageName: node - linkType: hard - -"ethereum-bloom-filters@npm:^1.0.6": - version: 1.2.0 - resolution: "ethereum-bloom-filters@npm:1.2.0" - dependencies: - "@noble/hashes": "npm:^1.4.0" - checksum: 10c0/7a0ed420cb2e85f621042d78576eb4ddea535a57f3186e314160604b29c37bcd0d3561b03695971e3a96e9c9db402b87de7248a1ac640cbc3dda1b8077cf841f - languageName: node - linkType: hard - -"ethereum-cryptography@npm:^0.1.3": - version: 0.1.3 - resolution: "ethereum-cryptography@npm:0.1.3" - dependencies: - "@types/pbkdf2": "npm:^3.0.0" - "@types/secp256k1": "npm:^4.0.1" - blakejs: "npm:^1.1.0" - browserify-aes: "npm:^1.2.0" - bs58check: "npm:^2.1.2" - create-hash: "npm:^1.2.0" - create-hmac: "npm:^1.1.7" - hash.js: "npm:^1.1.7" - keccak: "npm:^3.0.0" - pbkdf2: "npm:^3.0.17" - randombytes: "npm:^2.1.0" - safe-buffer: "npm:^5.1.2" - scrypt-js: "npm:^3.0.0" - secp256k1: "npm:^4.0.1" - setimmediate: "npm:^1.0.5" - checksum: 10c0/aa36e11fca9d67d67c96e02a98b33bae2e1add20bd11af43feb7f28cdafe0cd3bdbae3bfecc7f2d9ec8f504b10a1c8f7590f5f7fe236560fd8083dd321ad7144 - languageName: node - linkType: hard - -"ethereum-cryptography@npm:^1.0.3": - version: 1.2.0 - resolution: "ethereum-cryptography@npm:1.2.0" - dependencies: - "@noble/hashes": "npm:1.2.0" - "@noble/secp256k1": "npm:1.7.1" - "@scure/bip32": "npm:1.1.5" - "@scure/bip39": "npm:1.1.1" - checksum: 10c0/93e486a4a8b266dc2f274b69252e751345ef47551163371939b01231afb7b519133e2572b5975bb9cb4cc77ac54ccd36002c7c759a72488abeeaf216e4d55b46 - languageName: node - linkType: hard - -"ethereum-cryptography@npm:^2.0.0, ethereum-cryptography@npm:^2.1.2, ethereum-cryptography@npm:^2.2.1": - version: 2.2.1 - resolution: "ethereum-cryptography@npm:2.2.1" - dependencies: - "@noble/curves": "npm:1.4.2" - "@noble/hashes": "npm:1.4.0" - "@scure/bip32": "npm:1.4.0" - "@scure/bip39": "npm:1.3.0" - checksum: 10c0/c6c7626d393980577b57f709878b2eb91f270fe56116044b1d7afb70d5c519cddc0c072e8c05e4a335e05342eb64d9c3ab39d52f78bb75f76ad70817da9645ef - languageName: node - linkType: hard - -"ethereumjs-util@npm:^7.1.4": - version: 7.1.5 - resolution: "ethereumjs-util@npm:7.1.5" - dependencies: - "@types/bn.js": "npm:^5.1.0" - bn.js: "npm:^5.1.2" - create-hash: "npm:^1.1.2" - ethereum-cryptography: "npm:^0.1.3" - rlp: "npm:^2.2.4" - checksum: 10c0/8b9487f35ecaa078bf9af6858eba6855fc61c73cc2b90c8c37486fcf94faf4fc1c5cda9758e6769f9ef2658daedaf2c18b366312ac461f8c8a122b392e3041eb - languageName: node - linkType: hard - -"ethers@npm:^5.5.1, ethers@npm:^5.7.2": - version: 5.8.0 - resolution: "ethers@npm:5.8.0" - dependencies: - "@ethersproject/abi": "npm:5.8.0" - "@ethersproject/abstract-provider": "npm:5.8.0" - "@ethersproject/abstract-signer": "npm:5.8.0" - "@ethersproject/address": "npm:5.8.0" - "@ethersproject/base64": "npm:5.8.0" - "@ethersproject/basex": "npm:5.8.0" - "@ethersproject/bignumber": "npm:5.8.0" - "@ethersproject/bytes": "npm:5.8.0" - "@ethersproject/constants": "npm:5.8.0" - "@ethersproject/contracts": "npm:5.8.0" - "@ethersproject/hash": "npm:5.8.0" - "@ethersproject/hdnode": "npm:5.8.0" - "@ethersproject/json-wallets": "npm:5.8.0" - "@ethersproject/keccak256": "npm:5.8.0" - "@ethersproject/logger": "npm:5.8.0" - "@ethersproject/networks": "npm:5.8.0" - "@ethersproject/pbkdf2": "npm:5.8.0" - "@ethersproject/properties": "npm:5.8.0" - "@ethersproject/providers": "npm:5.8.0" - "@ethersproject/random": "npm:5.8.0" - "@ethersproject/rlp": "npm:5.8.0" - "@ethersproject/sha2": "npm:5.8.0" - "@ethersproject/signing-key": "npm:5.8.0" - "@ethersproject/solidity": "npm:5.8.0" - "@ethersproject/strings": "npm:5.8.0" - "@ethersproject/transactions": "npm:5.8.0" - "@ethersproject/units": "npm:5.8.0" - "@ethersproject/wallet": "npm:5.8.0" - "@ethersproject/web": "npm:5.8.0" - "@ethersproject/wordlists": "npm:5.8.0" - checksum: 10c0/8f187bb6af3736fbafcb613d8fb5be31fe7667a1bae480dd0a4c31b597ed47e0693d552adcababcb05111da39a059fac22e44840ce1671b1cc972de22d6d85d9 - languageName: node - linkType: hard - -"ethers@npm:^6.12.1, ethers@npm:^6.7.0": - version: 6.13.5 - resolution: "ethers@npm:6.13.5" - dependencies: - "@adraffy/ens-normalize": "npm:1.10.1" - "@noble/curves": "npm:1.2.0" - "@noble/hashes": "npm:1.3.2" - "@types/node": "npm:22.7.5" - aes-js: "npm:4.0.0-beta.5" - tslib: "npm:2.7.0" - ws: "npm:8.17.1" - checksum: 10c0/64bc7b8907de199392b8a88c15c9a085892919cff7efa2e5326abc7fe5c426001726c51d91e10c74e5fc5e2547188297ce4127f6e52ea42a97ade0b2ae474677 - languageName: node - linkType: hard - -"ethjs-unit@npm:0.1.6": - version: 0.1.6 - resolution: "ethjs-unit@npm:0.1.6" - dependencies: - bn.js: "npm:4.11.6" - number-to-bn: "npm:1.7.0" - checksum: 10c0/0115ddeb4bc932026b9cd259f6eb020a45b38be62e3786526b70e4c5fb0254184bf6e8b7b3f0c8bb80d4d596a73893e386c02221faf203895db7cb9c29b37188 - languageName: node - linkType: hard - -"evp_bytestokey@npm:^1.0.3": - version: 1.0.3 - resolution: "evp_bytestokey@npm:1.0.3" - dependencies: - md5.js: "npm:^1.3.4" - node-gyp: "npm:latest" - safe-buffer: "npm:^5.1.1" - checksum: 10c0/77fbe2d94a902a80e9b8f5a73dcd695d9c14899c5e82967a61b1fc6cbbb28c46552d9b127cff47c45fcf684748bdbcfa0a50410349109de87ceb4b199ef6ee99 - languageName: node - linkType: hard - -"expect@npm:^29.0.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" - dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 - languageName: node - linkType: hard - -"fast-deep-equal@npm:^3.1.3": - version: 3.1.3 - resolution: "fast-deep-equal@npm:3.1.3" - checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 - languageName: node - linkType: hard - -"fast-glob@npm:^3.0.3": - version: 3.3.3 - resolution: "fast-glob@npm:3.3.3" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.8" - checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe - languageName: node - linkType: hard - -"fast-levenshtein@npm:~2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fast-uri@npm:^3.0.1": - version: 3.0.6 - resolution: "fast-uri@npm:3.0.6" - checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 - languageName: node - linkType: hard - -"fastfile@npm:0.0.20": - version: 0.0.20 - resolution: "fastfile@npm:0.0.20" - checksum: 10c0/ca91f5658eec188c7ba3b910d7d87ed90d4d7ca92852fa14dd8c6d4ae4c2149b8147a30bbcafe727bf12f0ebb25c585a6cf0a112a3957b761ec913f8299fdd4f - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.19.1 - resolution: "fastq@npm:1.19.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 - languageName: node - linkType: hard - -"fdir@npm:^6.4.3": - version: 6.4.3 - resolution: "fdir@npm:6.4.3" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 10c0/d13c10120e9625adf21d8d80481586200759928c19405a816b77dd28eaeb80e7c59c5def3e2941508045eb06d34eb47fad865ccc8bf98e6ab988bb0ed160fb6f - languageName: node - linkType: hard - -"fdir@npm:^6.4.4": - version: 6.4.4 - resolution: "fdir@npm:6.4.4" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd - languageName: node - linkType: hard - -"ffjavascript@npm:0.3.0": - version: 0.3.0 - resolution: "ffjavascript@npm:0.3.0" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/2899db6ab67162eb9a7a052c420d31b0e15c6fd12bc738c48559e0a926649f1d11afe9cfa2611ff13f816b2fd9fa047fb11f6f8682f0dea4f84c4dd9f5dc7c3c - languageName: node - linkType: hard - -"ffjavascript@npm:0.3.1, ffjavascript@npm:^0.3.0": - version: 0.3.1 - resolution: "ffjavascript@npm:0.3.1" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/6928afe37cdbe9a88a9901a37d0abbdcfa61a8533517cb86e2584bf2701eaa10ce2bfa1d417499042f9b10b79bc058ec0ecc14d3fdc6cb55d21bfcac3d1c4521 - languageName: node - linkType: hard - -"ffjavascript@npm:^0.2.45": - version: 0.2.63 - resolution: "ffjavascript@npm:0.2.63" - dependencies: - wasmbuilder: "npm:0.0.16" - wasmcurves: "npm:0.2.2" - web-worker: "npm:1.2.0" - checksum: 10c0/875f0b52c89ed1822b4da7449efa149f7ed8550ede6c1d0308b2f854e98867a8f1546db3486427b9fd98da1cc236c1b533cfb11e9938b0ab708c5a77da811299 - languageName: node - linkType: hard - -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"find-replace@npm:^3.0.0": - version: 3.0.0 - resolution: "find-replace@npm:3.0.0" - dependencies: - array-back: "npm:^3.0.1" - checksum: 10c0/fcd1bf7960388c8193c2861bcdc760c18ac14edb4bde062a961915d9a25727b2e8aabf0229e90cc09c753fd557e5a3e5ae61e49cadbe727be89a9e8e49ce7668 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat@npm:^5.0.2": - version: 5.0.2 - resolution: "flat@npm:5.0.2" - bin: - flat: cli.js - checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe - languageName: node - linkType: hard - -"follow-redirects@npm:^1.12.1, follow-redirects@npm:^1.15.6": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" - peerDependenciesMeta: - debug: - optional: true - checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.3.1 - resolution: "foreground-child@npm:3.3.1" - dependencies: - cross-spawn: "npm:^7.0.6" - signal-exit: "npm:^4.0.1" - checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 - languageName: node - linkType: hard - -"form-data@npm:^2.2.0": - version: 2.5.3 - resolution: "form-data@npm:2.5.3" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - mime-types: "npm:^2.1.35" - safe-buffer: "npm:^5.2.1" - checksum: 10c0/48b910745d4fcd403f3d6876e33082a334e712199b8c86c4eb82f6da330a59b859943999d793856758c5ff18ca5261ced4d1062235a14543022d986bd21faa7d - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.2 - resolution: "form-data@npm:4.0.2" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - mime-types: "npm:^2.1.12" - checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c - languageName: node - linkType: hard - -"fp-ts@npm:1.19.3": - version: 1.19.3 - resolution: "fp-ts@npm:1.19.3" - checksum: 10c0/a016cfc98ad5e61564ab2d53a5379bbb8254642b66df13ced47e8c1d8d507abf4588d8bb43530198dfe1907211d8bae8f112cab52ba0ac6ab055da9168a6e260 - languageName: node - linkType: hard - -"fp-ts@npm:^1.0.0": - version: 1.19.5 - resolution: "fp-ts@npm:1.19.5" - checksum: 10c0/2a330fa1779561307740c26a7255fdffeb1ca2d0c7448d4dc094b477b772b0c8f7da1dfc88569b6f13f6958169b63b5df7361e514535b46b2e215bbf03a3722d - languageName: node - linkType: hard - -"fs-extra@npm:^10.0.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e - languageName: node - linkType: hard - -"fs-extra@npm:^7.0.0, fs-extra@npm:^7.0.1": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: "npm:^4.1.2" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/1943bb2150007e3739921b8d13d4109abdc3cc481e53b97b7ea7f77eda1c3c642e27ae49eac3af074e3496ea02fde30f411ef410c760c70a38b92e656e5da784 - languageName: node - linkType: hard - -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 - languageName: node - linkType: hard - -"fs-extra@npm:^9.1.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: "npm:^1.0.0" - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs-readdir-recursive@npm:^1.1.0": - version: 1.1.0 - resolution: "fs-readdir-recursive@npm:1.1.0" - checksum: 10c0/7e190393952143e674b6d1ad4abcafa1b5d3e337fcc21b0cb051079a7140a54617a7df193d562ef9faf21bd7b2148a38601b3d5c16261fa76f278d88dc69989c - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"fsu@npm:^1.1.1": - version: 1.1.1 - resolution: "fsu@npm:1.1.1" - checksum: 10c0/8845f162b69e546dfd113f12dfceff9a9d06ec9710ed7973a69f8d4c6fce3946e4f59a67c6c767c9a2a5f61c94e4a59505791b7b933f849c6407c59277ce86c8 - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde - languageName: node - linkType: hard - -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.3.0": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a - languageName: node - linkType: hard - -"get-port@npm:^3.1.0": - version: 3.2.0 - resolution: "get-port@npm:3.2.0" - checksum: 10c0/1b6c3fe89074be3753d9ddf3d67126ea351ab9890537fe53fefebc2912d1d66fdc112451bbc76d33ae5ceb6ca70be2a91017944e3ee8fb0814ac9b295bf2a5b8 - languageName: node - linkType: hard - -"get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: "npm:^1.0.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c - languageName: node - linkType: hard - -"ghost-testrpc@npm:^0.0.2": - version: 0.0.2 - resolution: "ghost-testrpc@npm:0.0.2" - dependencies: - chalk: "npm:^2.4.2" - node-emoji: "npm:^1.10.0" - bin: - testrpc-sc: ./index.js - checksum: 10c0/604efc022dfccda3da38ba5726ea52e5156c232814de440193ed7543dd1bb6a3899942df56ca8943c32fec2692abd9b62eb0fe381c7718b0941b3eb301c75b77 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob@npm:7.1.7": - version: 7.1.7 - resolution: "glob@npm:7.1.7" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.0.4" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/173245e6f9ccf904309eb7ef4a44a11f3bf68e9e341dff5a28b5db0dd7123b7506daf41497f3437a0710f57198187b758c2351eeaabce4d16935e956920da6a4 - languageName: node - linkType: hard - -"glob@npm:^10.2.2": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e - languageName: node - linkType: hard - -"glob@npm:^5.0.15": - version: 5.0.15 - resolution: "glob@npm:5.0.15" - dependencies: - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:2 || 3" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/ed17b34406bedceb334a1df3502774a089ce822db07585ad2a6851d6040531540ce07407d7da5f0e0bded238114ea50302902f025e551499108076e635fcd9b1 - languageName: node - linkType: hard - -"glob@npm:^7.0.0, glob@npm:^7.1.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"glob@npm:^8.1.0": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f - languageName: node - linkType: hard - -"global-modules@npm:^2.0.0": - version: 2.0.0 - resolution: "global-modules@npm:2.0.0" - dependencies: - global-prefix: "npm:^3.0.0" - checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 - languageName: node - linkType: hard - -"global-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "global-prefix@npm:3.0.0" - dependencies: - ini: "npm:^1.3.5" - kind-of: "npm:^6.0.2" - which: "npm:^1.3.1" - checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 - languageName: node - linkType: hard - -"globby@npm:^10.0.1": - version: 10.0.2 - resolution: "globby@npm:10.0.2" - dependencies: - "@types/glob": "npm:^7.1.1" - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.0.3" - glob: "npm:^7.1.3" - ignore: "npm:^5.1.1" - merge2: "npm:^1.2.3" - slash: "npm:^3.0.0" - checksum: 10c0/9c610ad47117b9dfbc5b0c6c2408c3b72f89c1b9f91ee14c4dc794794e35768ee0920e2a403b688cfa749f48617c6ba3f3a52df07677ed73d602d4349b68c810 - languageName: node - linkType: hard - -"gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"handlebars@npm:^4.0.1": - version: 4.7.8 - resolution: "handlebars@npm:4.7.8" - dependencies: - minimist: "npm:^1.2.5" - neo-async: "npm:^2.6.2" - source-map: "npm:^0.6.1" - uglify-js: "npm:^3.1.4" - wordwrap: "npm:^1.0.0" - dependenciesMeta: - uglify-js: - optional: true - bin: - handlebars: bin/handlebars - checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d - languageName: node - linkType: hard - -"hardhat-contract-sizer@npm:^2.10.0": - version: 2.10.0 - resolution: "hardhat-contract-sizer@npm:2.10.0" - dependencies: - chalk: "npm:^4.0.0" - cli-table3: "npm:^0.6.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - hardhat: ^2.0.0 - checksum: 10c0/c8bdb3e32c7e5a28bb6a00a2c786d768f471318dc6923c294e2775d69bb12f3c797af38545c8f8603109e293a137a6ba9b511964a35f7bc2356348225ffa2ff7 - languageName: node - linkType: hard - -"hardhat-gas-reporter@npm:^1.0.10": - version: 1.0.10 - resolution: "hardhat-gas-reporter@npm:1.0.10" - dependencies: - array-uniq: "npm:1.0.3" - eth-gas-reporter: "npm:^0.2.25" - sha1: "npm:^1.1.1" - peerDependencies: - hardhat: ^2.0.2 - checksum: 10c0/3711ea331bcbbff4d37057cb3de47a9127011e3ee128c2254a68f3b7f12ab2133965cbcfa3a7ce1bba8461f3b1bda1b175c4814a048c8b06b3ad450001d119d8 - languageName: node - linkType: hard - -"hardhat@npm:^2.22.6": - version: 2.23.0 - resolution: "hardhat@npm:2.23.0" - dependencies: - "@ethereumjs/util": "npm:^9.1.0" - "@ethersproject/abi": "npm:^5.1.2" - "@nomicfoundation/edr": "npm:^0.10.0" - "@nomicfoundation/solidity-analyzer": "npm:^0.1.0" - "@sentry/node": "npm:^5.18.1" - "@types/bn.js": "npm:^5.1.0" - "@types/lru-cache": "npm:^5.1.0" - adm-zip: "npm:^0.4.16" - aggregate-error: "npm:^3.0.0" - ansi-escapes: "npm:^4.3.0" - boxen: "npm:^5.1.2" - chokidar: "npm:^4.0.0" - ci-info: "npm:^2.0.0" - debug: "npm:^4.1.1" - enquirer: "npm:^2.3.0" - env-paths: "npm:^2.2.0" - ethereum-cryptography: "npm:^1.0.3" - find-up: "npm:^5.0.0" - fp-ts: "npm:1.19.3" - fs-extra: "npm:^7.0.1" - immutable: "npm:^4.0.0-rc.12" - io-ts: "npm:1.10.4" - json-stream-stringify: "npm:^3.1.4" - keccak: "npm:^3.0.2" - lodash: "npm:^4.17.11" - micro-eth-signer: "npm:^0.14.0" - mnemonist: "npm:^0.38.0" - mocha: "npm:^10.0.0" - p-map: "npm:^4.0.0" - picocolors: "npm:^1.1.0" - raw-body: "npm:^2.4.1" - resolve: "npm:1.17.0" - semver: "npm:^6.3.0" - solc: "npm:0.8.26" - source-map-support: "npm:^0.5.13" - stacktrace-parser: "npm:^0.1.10" - tinyglobby: "npm:^0.2.6" - tsort: "npm:0.0.1" - undici: "npm:^5.14.0" - uuid: "npm:^8.3.2" - ws: "npm:^7.4.6" - peerDependencies: - ts-node: "*" - typescript: "*" - peerDependenciesMeta: - ts-node: - optional: true - typescript: - optional: true - bin: - hardhat: internal/cli/bootstrap.js - checksum: 10c0/70752d786f1520b768c93d58f78978dc7fc992ade14fbddd635ee1d9d27b9010c3cb78bf0176a6cab0ea9675412bd310d1b8c05143563f5803a5439ae64369b5 - languageName: node - linkType: hard - -"has-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "has-flag@npm:1.0.0" - checksum: 10c0/d0ad4bebbbc005edccfa1e2c0600c89375be5663d23f49a129e0f817187405748b0b515abfc5b3c209c92692e39bb0481c83c0ee4df69433d6ffd0242183100b - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.2": - version: 1.0.2 - resolution: "has-tostringtag@npm:1.0.2" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c - languageName: node - linkType: hard - -"hash-base@npm:^3.0.0": - version: 3.1.0 - resolution: "hash-base@npm:3.1.0" - dependencies: - inherits: "npm:^2.0.4" - readable-stream: "npm:^3.6.0" - safe-buffer: "npm:^5.2.0" - checksum: 10c0/663eabcf4173326fbb65a1918a509045590a26cc7e0964b754eef248d281305c6ec9f6b31cb508d02ffca383ab50028180ce5aefe013e942b44a903ac8dc80d0 - languageName: node - linkType: hard - -"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": - version: 1.1.7 - resolution: "hash.js@npm:1.1.7" - dependencies: - inherits: "npm:^2.0.3" - minimalistic-assert: "npm:^1.0.1" - checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 - languageName: node - linkType: hard - -"hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 - languageName: node - linkType: hard - -"he@npm:^1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 - languageName: node - linkType: hard - -"heap@npm:>= 0.2.0": - version: 0.2.7 - resolution: "heap@npm:0.2.7" - checksum: 10c0/341c5d51ae13dc8346c371a8a69c57c972fcb9a3233090d3dd5ba29d483d6b5b4e75492443cbfeacd46608bb30e6680f646ffb7a6205900221735587d07a79b6 - languageName: node - linkType: hard - -"hmac-drbg@npm:^1.0.1": - version: 1.0.1 - resolution: "hmac-drbg@npm:1.0.1" - dependencies: - hash.js: "npm:^1.0.3" - minimalistic-assert: "npm:^1.0.0" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d - languageName: node - linkType: hard - -"hoopy@npm:^0.1.4": - version: 0.1.4 - resolution: "hoopy@npm:0.1.4" - checksum: 10c0/4ef749e1a13d46cae52014b9de452635637086c333fc67245369a1262dee806386354a4ed845d507e59e5a0d3aef55246c0ec66f5bf2908d40eb77e7dff2a254 - languageName: node - linkType: hard - -"http-basic@npm:^8.1.1": - version: 8.1.3 - resolution: "http-basic@npm:8.1.3" - dependencies: - caseless: "npm:^0.12.0" - concat-stream: "npm:^1.6.2" - http-response-object: "npm:^3.0.1" - parse-cache-control: "npm:^1.0.1" - checksum: 10c0/dbc67b943067db7f43d1dd94539f874e6b78614227491c0a5c0acb9b0490467a4ec97247da21eb198f8968a5dc4089160165cb0103045cadb9b47bb844739752 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - -"http-response-object@npm:^3.0.1": - version: 3.0.2 - resolution: "http-response-object@npm:3.0.2" - dependencies: - "@types/node": "npm:^10.0.3" - checksum: 10c0/f161db99184087798563cb14c48a67eebe9405668a5ed2341faf85d3079a2c00262431df8e0ccbe274dc6415b6729179f12b09f875d13ad33d83401e4b1ed22e - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"ignore@npm:^5.1.1": - version: 5.3.2 - resolution: "ignore@npm:5.3.2" - checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 - languageName: node - linkType: hard - -"immer@npm:10.0.2": - version: 10.0.2 - resolution: "immer@npm:10.0.2" - checksum: 10c0/b6c23538cd174a4cadd6f8d92bf0245e2c2a7bdabbd3200a08f1e99bb52e463fb552bb2d025ddd45f4e335390f8bd307e2c813e54a004dd651fe1ec161674e42 - languageName: node - linkType: hard - -"immutable@npm:^4.0.0-rc.12": - version: 4.3.7 - resolution: "immutable@npm:4.3.7" - checksum: 10c0/9b099197081b22f6433003e34929da8ecddbbdc1474cdc8aa3b7669dee4adda349c06143de22def36016d1b6de5322b043eccd7a11db1dad2ca85dad4fff5435 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"ini@npm:^1.3.5": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a - languageName: node - linkType: hard - -"interpret@npm:^1.0.0": - version: 1.4.0 - resolution: "interpret@npm:1.4.0" - checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 - languageName: node - linkType: hard - -"io-ts@npm:1.10.4": - version: 1.10.4 - resolution: "io-ts@npm:1.10.4" - dependencies: - fp-ts: "npm:^1.0.0" - checksum: 10c0/9370988a7e17fc23c194115808168ccd1ccf7b7ebe92c39c1cc2fd91c1dc641552a5428bb04fe28c01c826fa4f230e856eb4f7d27c774a1400af3fecf2936ab5 - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.0": - version: 2.16.1 - resolution: "is-core-module@npm:2.16.1" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-hex-prefixed@npm:1.0.0": - version: 1.0.0 - resolution: "is-hex-prefixed@npm:1.0.0" - checksum: 10c0/767fa481020ae654ab085ca24c63c518705ff36fdfbfc732292dc69092c6f8fdc551f6ce8c5f6ae704b0a19294e6f62be1b4b9859f0e1ac76e3b1b0733599d94 - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-plain-obj@npm:^2.1.0": - version: 2.1.0 - resolution: "is-plain-obj@npm:2.1.0" - checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 - languageName: node - linkType: hard - -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - -"jake@npm:^10.8.5": - version: 10.9.2 - resolution: "jake@npm:10.9.2" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 - languageName: node - linkType: hard - -"jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e - languageName: node - linkType: hard - -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" - dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 - languageName: node - linkType: hard - -"jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 - languageName: node - linkType: hard - -"js-sha3@npm:0.8.0, js-sha3@npm:^0.8.0": - version: 0.8.0 - resolution: "js-sha3@npm:0.8.0" - checksum: 10c0/43a21dc7967c871bd2c46cb1c2ae97441a97169f324e509f382d43330d8f75cf2c96dba7c806ab08a425765a9c847efdd4bffbac2d99c3a4f3de6c0218f40533 - languageName: node - linkType: hard - -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": - version: 4.0.0 - resolution: "js-tokens@npm:4.0.0" - checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed - languageName: node - linkType: hard - -"js-yaml@npm:3.x": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 - languageName: node - linkType: hard - -"json-stream-stringify@npm:^3.1.4": - version: 3.1.6 - resolution: "json-stream-stringify@npm:3.1.6" - checksum: 10c0/cb45e65143f4634ebb2dc0732410a942eaf86f88a7938b2f6397f4c6b96a7ba936e74d4d17db48c9221f669153996362b2ff50fe8c7fed8a7548646f98ae1f58 - languageName: node - linkType: hard - -"json-stringify-safe@npm:^5.0.1": - version: 5.0.1 - resolution: "json-stringify-safe@npm:5.0.1" - checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 - languageName: node - linkType: hard - -"json5@npm:^2.2.3": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c - languageName: node - linkType: hard - -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.6" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 - languageName: node - linkType: hard - -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 - languageName: node - linkType: hard - -"jsonpath@npm:^1.1.1": - version: 1.1.1 - resolution: "jsonpath@npm:1.1.1" - dependencies: - esprima: "npm:1.2.2" - static-eval: "npm:2.0.2" - underscore: "npm:1.12.1" - checksum: 10c0/4fea3f83bcb4df08c32090ba8a0d1a6d26244f6d19c4296f9b58caa01eeb7de0f8347eba40077ceee2f95acc69d032b0b48226d350339063ba580e87983f6dec - languageName: node - linkType: hard - -"jsonschema@npm:^1.2.4": - version: 1.5.0 - resolution: "jsonschema@npm:1.5.0" - checksum: 10c0/c24ddb8d741f02efc0da3ad9b597a275f6b595062903d3edbfaa535c3f9c4c98613df68da5cb6635ed9aeab30d658986fea61d7662fc5b2b92840d5a1e21235e - languageName: node - linkType: hard - -"keccak@npm:^3.0.0, keccak@npm:^3.0.2": - version: 3.0.4 - resolution: "keccak@npm:3.0.4" - dependencies: - node-addon-api: "npm:^2.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.0" - readable-stream: "npm:^3.6.0" - checksum: 10c0/153525c1c1f770beadb8f8897dec2f1d2dcbee11d063fe5f61957a5b236bfd3d2a111ae2727e443aa6a848df5edb98b9ef237c78d56df49087b0ca8a232ca9cd - languageName: node - linkType: hard - -"kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 - languageName: node - linkType: hard - -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b - languageName: node - linkType: hard - -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - checksum: 10c0/e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"lodash.camelcase@npm:^4.3.0": - version: 4.3.0 - resolution: "lodash.camelcase@npm:4.3.0" - checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 - languageName: node - linkType: hard - -"lodash.clonedeep@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.clonedeep@npm:4.5.0" - checksum: 10c0/2caf0e4808f319d761d2939ee0642fa6867a4bbf2cfce43276698828380756b99d4c4fa226d881655e6ac298dd453fe12a5ec8ba49861777759494c534936985 - languageName: node - linkType: hard - -"lodash.isempty@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.isempty@npm:4.4.0" - checksum: 10c0/6c7eaa0802398736809b9e8aed8b8ac1abca9be71788fd719ba9d7f5b4c23e8dc63b7f049df4131713dda30a2fdedc2f655268e9deb8cd5a985dfc934afca194 - languageName: node - linkType: hard - -"lodash.isequal@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.isequal@npm:4.5.0" - checksum: 10c0/dfdb2356db19631a4b445d5f37868a095e2402292d59539a987f134a8778c62a2810c2452d11ae9e6dcac71fc9de40a6fedcb20e2952a15b431ad8b29e50e28f - languageName: node - linkType: hard - -"lodash.isfunction@npm:^3.0.9": - version: 3.0.9 - resolution: "lodash.isfunction@npm:3.0.9" - checksum: 10c0/e88620922f5f104819496884779ca85bfc542efb2946df661ab3e2cd38da5c8375434c6adbedfc76dd3c2b04075d2ba8ec215cfdedf08ddd2e3c3467e8a26ccd - languageName: node - linkType: hard - -"lodash.isobject@npm:^3.0.2": - version: 3.0.2 - resolution: "lodash.isobject@npm:3.0.2" - checksum: 10c0/da4c8480d98b16835b59380b2fbd43c54081acd9466febb788ba77c434384349e0bec162d1c4e89f613f21687b2b6d8384d8a112b80da00c78d28d9915a5cdde - languageName: node - linkType: hard - -"lodash.isstring@npm:^4.0.1": - version: 4.0.1 - resolution: "lodash.isstring@npm:4.0.1" - checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 - languageName: node - linkType: hard - -"lodash.truncate@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.truncate@npm:4.4.2" - checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70 - languageName: node - linkType: hard - -"lodash@npm:4.17.21, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 - languageName: node - linkType: hard - -"logplease@npm:^1.2.15": - version: 1.2.15 - resolution: "logplease@npm:1.2.15" - checksum: 10c0/e835ce89895c9335460a9b4b3a79f9f4161879f5cd49efc249f8af2a128403e391c177bf55ca7207fd6687aa16e376f9a96ce58dc639acc6b4b8b00d6225323c - languageName: node - linkType: hard - -"loose-envify@npm:^1.4.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: "npm:^3.0.0 || ^4.0.0" - bin: - loose-envify: cli.js - checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e - languageName: node - linkType: hard - -"loupe@npm:^2.3.6": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb - languageName: node - linkType: hard - -"lru_map@npm:^0.3.3": - version: 0.3.3 - resolution: "lru_map@npm:0.3.3" - checksum: 10c0/d861f14a142a4a74ebf8d3ad57f2e768a5b820db4100ae53eed1a64eb6350912332e6ebc87cb7415ad6d0cd8f3ce6d20beab9a5e6042ccb5996ea0067a220448 - languageName: node - linkType: hard - -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" - dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 - languageName: node - linkType: hard - -"markdown-table@npm:^1.1.3": - version: 1.1.3 - resolution: "markdown-table@npm:1.1.3" - checksum: 10c0/aea6eb998900449d938ce46819630492792dd26ac9737f8b506f98baf88c98b7cc1e69c33b72959e0f8578fc0a4b4b44d740daf2db9d8e92ccf3c3522f749fda - languageName: node - linkType: hard - -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f - languageName: node - linkType: hard - -"md5.js@npm:^1.3.4": - version: 1.3.5 - resolution: "md5.js@npm:1.3.5" - dependencies: - hash-base: "npm:^3.0.0" - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.1.2" - checksum: 10c0/b7bd75077f419c8e013fc4d4dada48be71882e37d69a44af65a2f2804b91e253441eb43a0614423a1c91bb830b8140b0dc906bc797245e2e275759584f4efcc5 - languageName: node - linkType: hard - -"memorystream@npm:^0.3.1": - version: 0.3.1 - resolution: "memorystream@npm:0.3.1" - checksum: 10c0/4bd164657711d9747ff5edb0508b2944414da3464b7fe21ac5c67cf35bba975c4b446a0124bd0f9a8be54cfc18faf92e92bd77563a20328b1ccf2ff04e9f39b9 - languageName: node - linkType: hard - -"merge2@npm:^1.2.3, merge2@npm:^1.3.0": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micro-eth-signer@npm:^0.14.0": - version: 0.14.0 - resolution: "micro-eth-signer@npm:0.14.0" - dependencies: - "@noble/curves": "npm:~1.8.1" - "@noble/hashes": "npm:~1.7.1" - micro-packed: "npm:~0.7.2" - checksum: 10c0/62c90d54d2b97cb4eaf713c69bc4ceb5903012d0237c26f0966076cfb89c4527de68b395e1bc29e6f237152ce08f7b551fb57b332003518a1331c2c0890fb164 - languageName: node - linkType: hard - -"micro-ftch@npm:^0.3.1": - version: 0.3.1 - resolution: "micro-ftch@npm:0.3.1" - checksum: 10c0/b87d35a52aded13cf2daca8d4eaa84e218722b6f83c75ddd77d74f32cc62e699a672e338e1ee19ceae0de91d19cc24dcc1a7c7d78c81f51042fe55f01b196ed3 - languageName: node - linkType: hard - -"micro-packed@npm:~0.7.2": - version: 0.7.2 - resolution: "micro-packed@npm:0.7.2" - dependencies: - "@scure/base": "npm:~1.2.2" - checksum: 10c0/0671f834b576a51a381ca8e98631459412de37c5265df7d26241a93c252a08a8483bc9d84834b0856476b535c85abd66b2b9437fcd865c19820d3ebf0cfa2e42 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.35": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd - languageName: node - linkType: hard - -"minimalistic-crypto-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-crypto-utils@npm:1.0.1" - checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 - languageName: node - linkType: hard - -"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed - languageName: node - linkType: hard - -"minimist@npm:^1.2.5, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 - languageName: node - linkType: hard - -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 - languageName: node - linkType: hard - -"mkdirp@npm:0.5.x": - version: 0.5.6 - resolution: "mkdirp@npm:0.5.6" - dependencies: - minimist: "npm:^1.2.6" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.4": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d - languageName: node - linkType: hard - -"mnemonist@npm:^0.38.0": - version: 0.38.5 - resolution: "mnemonist@npm:0.38.5" - dependencies: - obliterator: "npm:^2.0.0" - checksum: 10c0/a73a2718f88cd12c3b108ecc530619a1b0f2783d479c7f98e7367375102cc3a28811bab384e17eb731553dc8d7ee9d60283d694a9f676af5f306104e75027d4f - languageName: node - linkType: hard - -"mocha@npm:^10.0.0, mocha@npm:^10.2.0, mocha@npm:^10.4.0": - version: 10.8.2 - resolution: "mocha@npm:10.8.2" - dependencies: - ansi-colors: "npm:^4.1.3" - browser-stdout: "npm:^1.3.1" - chokidar: "npm:^3.5.3" - debug: "npm:^4.3.5" - diff: "npm:^5.2.0" - escape-string-regexp: "npm:^4.0.0" - find-up: "npm:^5.0.0" - glob: "npm:^8.1.0" - he: "npm:^1.2.0" - js-yaml: "npm:^4.1.0" - log-symbols: "npm:^4.1.0" - minimatch: "npm:^5.1.6" - ms: "npm:^2.1.3" - serialize-javascript: "npm:^6.0.2" - strip-json-comments: "npm:^3.1.1" - supports-color: "npm:^8.1.1" - workerpool: "npm:^6.5.1" - yargs: "npm:^16.2.0" - yargs-parser: "npm:^20.2.9" - yargs-unparser: "npm:^2.0.0" - bin: - _mocha: bin/_mocha - mocha: bin/mocha.js - checksum: 10c0/1f786290a32a1c234f66afe2bfcc68aa50fe9c7356506bd39cca267efb0b4714a63a0cb333815578d63785ba2fba058bf576c2512db73997c0cae0d659a88beb - languageName: node - linkType: hard - -"mochawesome-report-generator@npm:^6.2.0": - version: 6.2.0 - resolution: "mochawesome-report-generator@npm:6.2.0" - dependencies: - chalk: "npm:^4.1.2" - dateformat: "npm:^4.5.1" - escape-html: "npm:^1.0.3" - fs-extra: "npm:^10.0.0" - fsu: "npm:^1.1.1" - lodash.isfunction: "npm:^3.0.9" - opener: "npm:^1.5.2" - prop-types: "npm:^15.7.2" - tcomb: "npm:^3.2.17" - tcomb-validation: "npm:^3.3.0" - validator: "npm:^13.6.0" - yargs: "npm:^17.2.1" - bin: - marge: bin/cli.js - checksum: 10c0/77eb60a1c6d595e727b5d4a12b5ff08da0a4b34a7061890060c90b19e644d1302a403040f99cf59ade394bbee4a20b48e87d5f83f94dc4334904f43b33fc9977 - languageName: node - linkType: hard - -"mochawesome@npm:^7.1.3": - version: 7.1.3 - resolution: "mochawesome@npm:7.1.3" - dependencies: - chalk: "npm:^4.1.2" - diff: "npm:^5.0.0" - json-stringify-safe: "npm:^5.0.1" - lodash.isempty: "npm:^4.4.0" - lodash.isfunction: "npm:^3.0.9" - lodash.isobject: "npm:^3.0.2" - lodash.isstring: "npm:^4.0.1" - mochawesome-report-generator: "npm:^6.2.0" - strip-ansi: "npm:^6.0.1" - uuid: "npm:^8.3.2" - peerDependencies: - mocha: ">=7" - checksum: 10c0/908ff730da4c6f911b31fcdac7fedafc5334487b9c577701b305121b1432e6bb2accf7ad365454ee85dcc29e0592f6b468b1636c8c01c3cc76c54bd802c75d87 - languageName: node - linkType: hard - -"ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"nanoassert@npm:^2.0.0": - version: 2.0.0 - resolution: "nanoassert@npm:2.0.0" - checksum: 10c0/fb21ce924a1ec8e8fac415a00fdd1c086c08bc185d0377e675b1d379347340fbf4a1523d8d2330e5328a542400cd7122599b6c6e21ce2ea40a9f11d68dfbfa1b - languageName: node - linkType: hard - -"ndjson@npm:2.0.0": - version: 2.0.0 - resolution: "ndjson@npm:2.0.0" - dependencies: - json-stringify-safe: "npm:^5.0.1" - minimist: "npm:^1.2.5" - readable-stream: "npm:^3.6.0" - split2: "npm:^3.0.0" - through2: "npm:^4.0.0" - bin: - ndjson: cli.js - checksum: 10c0/b7f3de5e12e0466cfa3688a3ba6cedec0ab54bd821f1b16926c9ef7017983b131832430061d25dfcb635f65a254b535681eca213c6feb5d1958bee8d35a04cc9 - languageName: node - linkType: hard - -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b - languageName: node - linkType: hard - -"neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d - languageName: node - linkType: hard - -"node-addon-api@npm:^2.0.0": - version: 2.0.2 - resolution: "node-addon-api@npm:2.0.2" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/ade6c097ba829fa4aee1ca340117bb7f8f29fdae7b777e343a9d5cbd548481d1f0894b7b907d23ce615c70d932e8f96154caed95c3fa935cfe8cf87546510f64 - languageName: node - linkType: hard - -"node-addon-api@npm:^3.0.0": - version: 3.2.1 - resolution: "node-addon-api@npm:3.2.1" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/41f21c9d12318875a2c429befd06070ce367065a3ef02952cfd4ea17ef69fa14012732f510b82b226e99c254da8d671847ea018cad785f839a5366e02dd56302 - languageName: node - linkType: hard - -"node-addon-api@npm:^5.0.0": - version: 5.1.0 - resolution: "node-addon-api@npm:5.1.0" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/0eb269786124ba6fad9df8007a149e03c199b3e5a3038125dfb3e747c2d5113d406a4e33f4de1ea600aa2339be1f137d55eba1a73ee34e5fff06c52a5c296d1d - languageName: node - linkType: hard - -"node-emoji@npm:^1.10.0": - version: 1.11.0 - resolution: "node-emoji@npm:1.11.0" - dependencies: - lodash: "npm:^4.17.21" - checksum: 10c0/5dac6502dbef087092d041fcc2686d8be61168593b3a9baf964d62652f55a3a9c2277f171b81cccb851ccef33f2d070f45e633fab1fda3264f8e1ae9041c673f - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.1": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - -"node-forge@npm:^1.3.1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 - languageName: node - linkType: hard - -"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.2.2": - version: 4.8.4 - resolution: "node-gyp-build@npm:4.8.4" - bin: - node-gyp-build: bin.js - node-gyp-build-optional: optional.js - node-gyp-build-test: build-test.js - checksum: 10c0/444e189907ece2081fe60e75368784f7782cfddb554b60123743dfb89509df89f1f29c03bbfa16b3a3e0be3f48799a4783f487da6203245fa5bed239ba7407e1 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 11.2.0 - resolution: "node-gyp@npm:11.2.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.4.3" - tinyglobby: "npm:^0.2.12" - which: "npm:^5.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 - languageName: node - linkType: hard - -"nofilter@npm:^3.1.0": - version: 3.1.0 - resolution: "nofilter@npm:3.1.0" - checksum: 10c0/92459f3864a067b347032263f0b536223cbfc98153913b5dce350cb39c8470bc1813366e41993f22c33cc6400c0f392aa324a4b51e24c22040635c1cdb046499 - languageName: node - linkType: hard - -"nopt@npm:3.x": - version: 3.0.6 - resolution: "nopt@npm:3.0.6" - dependencies: - abbrev: "npm:1" - bin: - nopt: ./bin/nopt.js - checksum: 10c0/f4414223c392dd215910942268d9bdc101ab876400f2c0626b88b718254f5c730dbab5eda58519dc4ea05b681ed8f09c147570ed273ade7fc07757e2e4f12c3d - languageName: node - linkType: hard - -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: "npm:^3.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"number-to-bn@npm:1.7.0": - version: 1.7.0 - resolution: "number-to-bn@npm:1.7.0" - dependencies: - bn.js: "npm:4.11.6" - strip-hex-prefix: "npm:1.0.0" - checksum: 10c0/83d1540173c4fc60ef4e91e88ed17f2c38418c8e5e62f469d62404527efba48d9c40f364da5c5e6857234a6c1154ff32b3642d80f873ba6cb8d2dd05fb6bc303 - languageName: node - linkType: hard - -"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 - languageName: node - linkType: hard - -"object-inspect@npm:^1.13.3": - version: 1.13.4 - resolution: "object-inspect@npm:1.13.4" - checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 - languageName: node - linkType: hard - -"obliterator@npm:^2.0.0": - version: 2.0.5 - resolution: "obliterator@npm:2.0.5" - checksum: 10c0/36e67d88271c51aa6412a7d449d6c60ae6387176f94dbc557eea67456bf6ccedbcbcecdb1e56438aa4f4694f68f531b3bf2be87b019e2f69961b144bec124e70 - languageName: node - linkType: hard - -"once@npm:1.x, once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"opener@npm:^1.5.2": - version: 1.5.2 - resolution: "opener@npm:1.5.2" - bin: - opener: bin/opener-bin.js - checksum: 10c0/dd56256ab0cf796585617bc28e06e058adf09211781e70b264c76a1dbe16e90f868c974e5bf5309c93469157c7d14b89c35dc53fe7293b0e40b4d2f92073bc79 - languageName: node - linkType: hard - -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: "npm:~0.1.3" - fast-levenshtein: "npm:~2.0.6" - levn: "npm:~0.3.0" - prelude-ls: "npm:~1.1.2" - type-check: "npm:~0.3.2" - word-wrap: "npm:~1.2.3" - checksum: 10c0/ad7000ea661792b3ec5f8f86aac28895850988926f483b5f308f59f4607dfbe24c05df2d049532ee227c040081f39401a268cf7bbf3301512f74c4d760dc6dd8 - languageName: node - linkType: hard - -"ordinal@npm:^1.0.3": - version: 1.0.3 - resolution: "ordinal@npm:1.0.3" - checksum: 10c0/faa276fc1b1660477fd5c8749323c9715ae4f482c21fb8e67e57d1eb57845ba1b902796ecdcf6405325a8c3b042360970f5dc3b7f8cc7d79e0b2a756ab09174d - languageName: node - linkType: hard - -"os-tmpdir@npm:~1.0.2": - version: 1.0.2 - resolution: "os-tmpdir@npm:1.0.2" - checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b - languageName: node - linkType: hard - -"parse-cache-control@npm:^1.0.1": - version: 1.0.1 - resolution: "parse-cache-control@npm:1.0.1" - checksum: 10c0/330a0d9e3a22a7b0f6e8a973c0b9f51275642ee28544cd0d546420273946d555d20a5c7b49fca24d68d2e698bae0186f0f41f48d62133d3153c32454db05f2df - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - languageName: node - linkType: hard - -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc - languageName: node - linkType: hard - -"pbkdf2@npm:^3.0.17": - version: 3.1.2 - resolution: "pbkdf2@npm:3.1.2" - dependencies: - create-hash: "npm:^1.1.2" - create-hmac: "npm:^1.1.4" - ripemd160: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - sha.js: "npm:^2.4.8" - checksum: 10c0/5a30374e87d33fa080a92734d778cf172542cc7e41b96198c4c88763997b62d7850de3fbda5c3111ddf79805ee7c1da7046881c90ac4920b5e324204518b05fd - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": - version: 1.1.1 - resolution: "picocolors@npm:1.1.1" - checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc - languageName: node - linkType: hard - -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf - languageName: node - linkType: hard - -"poseidon-lite@npm:^0.3.0": - version: 0.3.0 - resolution: "poseidon-lite@npm:0.3.0" - checksum: 10c0/03494ea69be0dc3ced055b7f1505ff73848002c68332d52a5cf5f00d1a657693317e1ffc790b84ccaf9a0f5f61bf05e1a453eab60c385c98701a6580edead49c - languageName: node - linkType: hard - -"poseidon-solidity@npm:0.0.5, poseidon-solidity@npm:^0.0.5": - version: 0.0.5 - resolution: "poseidon-solidity@npm:0.0.5" - checksum: 10c0/072e1e1aa8c12bdca0e7a9aee9d9fe2573f06c9dbea8891430d4da299b935195b1a613673e45acfd5cc658e45fa99bd9fd715196c9b7909fd060cdcf22595696 - languageName: node - linkType: hard - -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: 10c0/7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 - languageName: node - linkType: hard - -"prettier@npm:^2.3.1": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" - bin: - prettier: bin-prettier.js - checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a - languageName: node - linkType: hard - -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 - languageName: node - linkType: hard - -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"promise@npm:^8.0.0": - version: 8.3.0 - resolution: "promise@npm:8.3.0" - dependencies: - asap: "npm:~2.0.6" - checksum: 10c0/6fccae27a10bcce7442daf090279968086edd2e3f6cebe054b71816403e2526553edf510d13088a4d0f14d7dfa9b9dfb188cab72d6f942e186a4353b6a29c8bf - languageName: node - linkType: hard - -"prompts@npm:^2.4.2": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: "npm:^3.0.3" - sisteransi: "npm:^1.0.5" - checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 - languageName: node - linkType: hard - -"prop-types@npm:^15.7.2": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - -"qs@npm:^6.4.0": - version: 6.14.0 - resolution: "qs@npm:6.14.0" - dependencies: - side-channel: "npm:^1.1.0" - checksum: 10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"r1csfile@npm:0.0.48": - version: 0.0.48 - resolution: "r1csfile@npm:0.0.48" - dependencies: - "@iden3/bigarray": "npm:0.0.2" - "@iden3/binfileutils": "npm:0.0.12" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.3.0" - checksum: 10c0/ea33804b4b51838603873fe4b4975b47e87fd9faad196024e49c02f4e87a0957e5cb333b9f2ac351db5372a7948bbf019218822a10f6b867b96aed90248e3e84 - languageName: node - linkType: hard - -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" - dependencies: - safe-buffer: "npm:^5.1.0" - checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 - languageName: node - linkType: hard - -"raw-body@npm:^2.4.1": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" - dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 - languageName: node - linkType: hard - -"react-is@npm:^16.13.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.3.1 - resolution: "react-is@npm:18.3.1" - checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 - languageName: node - linkType: hard - -"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.6.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readable-stream@npm:^2.2.2": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.3" - isarray: "npm:~1.0.0" - process-nextick-args: "npm:~2.0.0" - safe-buffer: "npm:~5.1.1" - string_decoder: "npm:~1.1.1" - util-deprecate: "npm:~1.0.1" - checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa - languageName: node - linkType: hard - -"readdirp@npm:^4.0.1": - version: 4.1.2 - resolution: "readdirp@npm:4.1.2" - checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"rechoir@npm:^0.6.2": - version: 0.6.2 - resolution: "rechoir@npm:0.6.2" - dependencies: - resolve: "npm:^1.1.6" - checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 - languageName: node - linkType: hard - -"recursive-readdir@npm:^2.2.2": - version: 2.2.3 - resolution: "recursive-readdir@npm:2.2.3" - dependencies: - minimatch: "npm:^3.0.5" - checksum: 10c0/d0238f137b03af9cd645e1e0b40ae78b6cda13846e3ca57f626fcb58a66c79ae018a10e926b13b3a460f1285acc946a4e512ea8daa2e35df4b76a105709930d1 - languageName: node - linkType: hard - -"reduce-flatten@npm:^2.0.0": - version: 2.0.0 - resolution: "reduce-flatten@npm:2.0.0" - checksum: 10c0/9275064535bc070a787824c835a4f18394942f8a78f08e69fb500920124ce1c46a287c8d9e565a7ffad8104875a6feda14efa8e951e8e4585370b8ff007b0abd - languageName: node - linkType: hard - -"req-cwd@npm:^2.0.0": - version: 2.0.0 - resolution: "req-cwd@npm:2.0.0" - dependencies: - req-from: "npm:^2.0.0" - checksum: 10c0/9cefc80353594b07d1a31d7ee4e4b5c7252f054f0fda7d5caf038c1cb5aa4b322acb422de7e18533734e8557f5769c2318f3ee9256e2e4f4e359b9b776c7ed1a - languageName: node - linkType: hard - -"req-from@npm:^2.0.0": - version: 2.0.0 - resolution: "req-from@npm:2.0.0" - dependencies: - resolve-from: "npm:^3.0.0" - checksum: 10c0/84aa6b4f7291675d9443ac156139841c7c1ae7eccf080f3b344972d6470170b0c32682656c560763b330d00e133196bcfdb1fcb4c5031f59ecbe80dea4dd1c82 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 - languageName: node - linkType: hard - -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 - languageName: node - linkType: hard - -"resolve-from@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-from@npm:3.0.0" - checksum: 10c0/24affcf8e81f4c62f0dcabc774afe0e19c1f38e34e43daac0ddb409d79435fc3037f612b0cc129178b8c220442c3babd673e88e870d27215c99454566e770ebc - languageName: node - linkType: hard - -"resolve@npm:1.1.x": - version: 1.1.7 - resolution: "resolve@npm:1.1.7" - checksum: 10c0/f66dcad51854fca283fa68e9c11445c2117d7963b9ced6c43171784987df3bed6fb16c4af2bf6f07c02ace94a4f4ebe158d13780b6e14d60944478c860208245 - languageName: node - linkType: hard - -"resolve@npm:1.17.0": - version: 1.17.0 - resolution: "resolve@npm:1.17.0" - dependencies: - path-parse: "npm:^1.0.6" - checksum: 10c0/4e6c76cc1a7b08bff637b092ce035d7901465067915605bc5a23ac0c10fe42ec205fc209d5d5f7a5f27f37ce71d687def7f656bbb003631cd46a8374f55ec73d - languageName: node - linkType: hard - -"resolve@npm:^1.1.6": - version: 1.22.10 - resolution: "resolve@npm:1.22.10" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A1.1.x#optional!builtin": - version: 1.1.7 - resolution: "resolve@patch:resolve@npm%3A1.1.7#optional!builtin::version=1.1.7&hash=3bafbf" - checksum: 10c0/f4f1471423d600a10944785222fa7250237ed8c98aa6b1e1f4dc0bb3dbfbcafcaac69a2ed23cd1f6f485ed23e7c939894ac1978284e4163754fade8a05358823 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A1.17.0#optional!builtin": - version: 1.17.0 - resolution: "resolve@patch:resolve@npm%3A1.17.0#optional!builtin::version=1.17.0&hash=c3c19d" - dependencies: - path-parse: "npm:^1.0.6" - checksum: 10c0/e072e52be3c3dbfd086761115db4a5136753e7aefc0e665e66e7307ddcd9d6b740274516055c74aee44921625e95993f03570450aa310b8d73b1c9daa056c4cd - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin": - version: 1.22.10 - resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.1.0 - resolution: "reusify@npm:1.1.0" - checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa - languageName: node - linkType: hard - -"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": - version: 2.0.2 - resolution: "ripemd160@npm:2.0.2" - dependencies: - hash-base: "npm:^3.0.0" - inherits: "npm:^2.0.1" - checksum: 10c0/f6f0df78817e78287c766687aed4d5accbebc308a8e7e673fb085b9977473c1f139f0c5335d353f172a915bb288098430755d2ad3c4f30612f4dd0c901cd2c3a - languageName: node - linkType: hard - -"rlp@npm:^2.2.4": - version: 2.2.7 - resolution: "rlp@npm:2.2.7" - dependencies: - bn.js: "npm:^5.2.0" - bin: - rlp: bin/rlp - checksum: 10c0/166c449f4bc794d47f8e337bf0ffbcfdb26c33109030aac4b6e5a33a91fa85783f2290addeb7b3c89d6d9b90c8276e719494d193129bed0a60a2d4a6fd658277 - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"sc-istanbul@npm:^0.4.5": - version: 0.4.6 - resolution: "sc-istanbul@npm:0.4.6" - dependencies: - abbrev: "npm:1.0.x" - async: "npm:1.x" - escodegen: "npm:1.8.x" - esprima: "npm:2.7.x" - glob: "npm:^5.0.15" - handlebars: "npm:^4.0.1" - js-yaml: "npm:3.x" - mkdirp: "npm:0.5.x" - nopt: "npm:3.x" - once: "npm:1.x" - resolve: "npm:1.1.x" - supports-color: "npm:^3.1.0" - which: "npm:^1.1.1" - wordwrap: "npm:^1.0.0" - bin: - istanbul: lib/cli.js - checksum: 10c0/3eba8f6b7ba423fb03fdd67e72b0a71c71aa1dbd117692f3225003320dd45adf03cd32dd1739bd347aa58c690ca8f719fd8ae70cefe0fc06433fac4725668942 - languageName: node - linkType: hard - -"scrypt-js@npm:3.0.1, scrypt-js@npm:^3.0.0": - version: 3.0.1 - resolution: "scrypt-js@npm:3.0.1" - checksum: 10c0/e2941e1c8b5c84c7f3732b0153fee624f5329fc4e772a06270ee337d4d2df4174b8abb5e6ad53804a29f53890ecbc78f3775a319323568c0313040c0e55f5b10 - languageName: node - linkType: hard - -"secp256k1@npm:^4.0.1": - version: 4.0.4 - resolution: "secp256k1@npm:4.0.4" - dependencies: - elliptic: "npm:^6.5.7" - node-addon-api: "npm:^5.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.0" - checksum: 10c0/cf7a74343566d4774c64332c07fc2caf983c80507f63be5c653ff2205242143d6320c50ee4d793e2b714a56540a79e65a8f0056e343b25b0cdfed878bc473fd8 - languageName: node - linkType: hard - -"semver@npm:^5.5.0": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 - languageName: node - linkType: hard - -"semver@npm:^6.3.0": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d - languageName: node - linkType: hard - -"semver@npm:^7.3.4, semver@npm:^7.3.5": - version: 7.7.1 - resolution: "semver@npm:7.7.1" - bin: - semver: bin/semver.js - checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 - languageName: node - linkType: hard - -"serialize-javascript@npm:^6.0.2": - version: 6.0.2 - resolution: "serialize-javascript@npm:6.0.2" - dependencies: - randombytes: "npm:^2.1.0" - checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 - languageName: node - linkType: hard - -"setimmediate@npm:^1.0.5": - version: 1.0.5 - resolution: "setimmediate@npm:1.0.5" - checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 - languageName: node - linkType: hard - -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - -"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": - version: 2.4.11 - resolution: "sha.js@npm:2.4.11" - dependencies: - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - bin: - sha.js: ./bin.js - checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 - languageName: node - linkType: hard - -"sha1@npm:^1.1.1": - version: 1.1.1 - resolution: "sha1@npm:1.1.1" - dependencies: - charenc: "npm:>= 0.0.1" - crypt: "npm:>= 0.0.1" - checksum: 10c0/1bb36c89c112c741c265cca66712f883ae01d5c55b71aec80635fe2ad5d0c976a1a8a994dda774ae9f93b2da99fd111238758a8bf985adc400bd86f0e4452865 - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"shelljs@npm:^0.8.3": - version: 0.8.5 - resolution: "shelljs@npm:0.8.5" - dependencies: - glob: "npm:^7.0.0" - interpret: "npm:^1.0.0" - rechoir: "npm:^0.6.2" - bin: - shjs: bin/shjs - checksum: 10c0/feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 - languageName: node - linkType: hard - -"side-channel-list@npm:^1.0.0": - version: 1.0.0 - resolution: "side-channel-list@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d - languageName: node - linkType: hard - -"side-channel-map@npm:^1.0.1": - version: 1.0.1 - resolution: "side-channel-map@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 - languageName: node - linkType: hard - -"side-channel-weakmap@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel-weakmap@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - side-channel-map: "npm:^1.0.1" - checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 - languageName: node - linkType: hard - -"side-channel@npm:^1.1.0": - version: 1.1.0 - resolution: "side-channel@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - side-channel-list: "npm:^1.0.0" - side-channel-map: "npm:^1.0.1" - side-channel-weakmap: "npm:^1.0.2" - checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"slice-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "slice-ansi@npm:4.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - astral-regex: "npm:^2.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"snarkjs@npm:^0.7.4": - version: 0.7.5 - resolution: "snarkjs@npm:0.7.5" - dependencies: - "@iden3/binfileutils": "npm:0.0.12" - bfj: "npm:^7.0.2" - blake2b-wasm: "npm:^2.4.0" - circom_runtime: "npm:0.1.28" - ejs: "npm:^3.1.6" - fastfile: "npm:0.0.20" - ffjavascript: "npm:0.3.1" - js-sha3: "npm:^0.8.0" - logplease: "npm:^1.2.15" - r1csfile: "npm:0.0.48" - bin: - snarkjs: build/cli.cjs - checksum: 10c0/bc9eb1dac9c5248a4952635edc015185c5f9f268f6d2d29b32934e0b08bc284caaeba7fbc6d712ecff8a4e17c66433ba6b2f2ab5d1a6bb4704c30110fb18e9aa - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.5 - resolution: "socks-proxy-agent@npm:8.0.5" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 - languageName: node - linkType: hard - -"socks@npm:^2.8.3": - version: 2.8.4 - resolution: "socks@npm:2.8.4" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 - languageName: node - linkType: hard - -"solc@npm:0.8.26": - version: 0.8.26 - resolution: "solc@npm:0.8.26" - dependencies: - command-exists: "npm:^1.2.8" - commander: "npm:^8.1.0" - follow-redirects: "npm:^1.12.1" - js-sha3: "npm:0.8.0" - memorystream: "npm:^0.3.1" - semver: "npm:^5.5.0" - tmp: "npm:0.0.33" - bin: - solcjs: solc.js - checksum: 10c0/1eea35da99c228d0dc1d831c29f7819e7921b67824c889a5e5f2e471a2ef5856a15fabc0b5de067f5ba994fa36fb5a563361963646fe98dad58a0e4fa17c8b2d - languageName: node - linkType: hard - -"solidity-coverage@npm:^0.8.14": - version: 0.8.14 - resolution: "solidity-coverage@npm:0.8.14" - dependencies: - "@ethersproject/abi": "npm:^5.0.9" - "@solidity-parser/parser": "npm:^0.19.0" - chalk: "npm:^2.4.2" - death: "npm:^1.1.0" - difflib: "npm:^0.2.4" - fs-extra: "npm:^8.1.0" - ghost-testrpc: "npm:^0.0.2" - global-modules: "npm:^2.0.0" - globby: "npm:^10.0.1" - jsonschema: "npm:^1.2.4" - lodash: "npm:^4.17.21" - mocha: "npm:^10.2.0" - node-emoji: "npm:^1.10.0" - pify: "npm:^4.0.1" - recursive-readdir: "npm:^2.2.2" - sc-istanbul: "npm:^0.4.5" - semver: "npm:^7.3.4" - shelljs: "npm:^0.8.3" - web3-utils: "npm:^1.3.6" - peerDependencies: - hardhat: ^2.11.0 - bin: - solidity-coverage: plugins/bin.js - checksum: 10c0/7a971d3c5bee6aff341188720a72c7544521c1afbde36593e4933ba230d46530ece1db8e6394d6283a13918fd7f05ab37a0d75e6a0a52d965a2fdff672d3a7a6 - languageName: node - linkType: hard - -"source-map-support@npm:^0.5.13": - version: 0.5.21 - resolution: "source-map-support@npm:0.5.21" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"source-map@npm:~0.2.0": - version: 0.2.0 - resolution: "source-map@npm:0.2.0" - dependencies: - amdefine: "npm:>=0.0.4" - checksum: 10c0/24ac0df484721203e7c98faaa2a56cc73d7e8b8468a03459dd98e09b84421056c456dbfea1bf4f292142c3b88c160574f648cbc83e8fe772cf0b3342f0bba68d - languageName: node - linkType: hard - -"split2@npm:^3.0.0": - version: 3.2.2 - resolution: "split2@npm:3.2.2" - dependencies: - readable-stream: "npm:^3.0.0" - checksum: 10c0/2dad5603c52b353939befa3e2f108f6e3aff42b204ad0f5f16dd12fd7c2beab48d117184ce6f7c8854f9ee5ffec6faae70d243711dd7d143a9f635b4a285de4e - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a - languageName: node - linkType: hard - -"stacktrace-parser@npm:^0.1.10": - version: 0.1.11 - resolution: "stacktrace-parser@npm:0.1.11" - dependencies: - type-fest: "npm:^0.7.1" - checksum: 10c0/4633d9afe8cd2f6c7fb2cebdee3cc8de7fd5f6f9736645fd08c0f66872a303061ce9cc0ccf46f4216dc94a7941b56e331012398dc0024dc25e46b5eb5d4ff018 - languageName: node - linkType: hard - -"static-eval@npm:2.0.2": - version: 2.0.2 - resolution: "static-eval@npm:2.0.2" - dependencies: - escodegen: "npm:^1.8.1" - checksum: 10c0/9bc1114ea5ba2a6978664907c4dd3fde6f58767274f6cb4fbfb11ba3a73cb6e74dc11e89ec4a7bf1472a587c1f976fcd4ab8fe9aae1651f5e576f097745d48ff - languageName: node - linkType: hard - -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - -"string-format@npm:^2.0.0": - version: 2.0.0 - resolution: "string-format@npm:2.0.0" - checksum: 10c0/7bca13ba9f942f635c74d637da5e9e375435cbd428f35eeef28c3a30f81d4e63b95ff2c6cca907d897dd3951bbf52e03e3b945a0e9681358e33bd67222436538 - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^2.1.1": - version: 2.1.1 - resolution: "string-width@npm:2.1.1" - dependencies: - is-fullwidth-code-point: "npm:^2.0.0" - strip-ansi: "npm:^4.0.0" - checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: "npm:~5.1.0" - checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-ansi@npm:4.0.0" - dependencies: - ansi-regex: "npm:^3.0.0" - checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-hex-prefix@npm:1.0.0": - version: 1.0.0 - resolution: "strip-hex-prefix@npm:1.0.0" - dependencies: - is-hex-prefixed: "npm:1.0.0" - checksum: 10c0/ec9a48c334c2ba4afff2e8efebb42c3ab5439f0e1ec2b8525e184eabef7fecade7aee444af802b1be55d2df6da5b58c55166c32f8461cc7559b401137ad51851 - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"supports-color@npm:^3.1.0": - version: 3.2.3 - resolution: "supports-color@npm:3.2.3" - dependencies: - has-flag: "npm:^1.0.0" - checksum: 10c0/d39a57dbd75c3b5740654f8ec16aaf7203b8d12b8a51314507bed590c9081120805f105b4ce741db13105e6f842ac09700e4bd665b9ffc46eb0b34ba54720bd3 - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"supports-color@npm:^8.1.1": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 - languageName: node - linkType: hard - -"sync-request@npm:^6.0.0": - version: 6.1.0 - resolution: "sync-request@npm:6.1.0" - dependencies: - http-response-object: "npm:^3.0.1" - sync-rpc: "npm:^1.2.1" - then-request: "npm:^6.0.0" - checksum: 10c0/02b31c5d543933ce8cc2cdfa7dd7b278e2645eb54299d56f3bc9c778de3130301370f25d54ecc3f6b8b2c7bfb034daabd2b866e0c18badbde26404513212c1f5 - languageName: node - linkType: hard - -"sync-rpc@npm:^1.2.1": - version: 1.3.6 - resolution: "sync-rpc@npm:1.3.6" - dependencies: - get-port: "npm:^3.1.0" - checksum: 10c0/2abaa0e6482fe8b72e29af1f7d5f484fac5a8ea0132969bf370f59b044c4f2eb109f95b222cb06e037f89b42b374a2918e5f90aff5fb7cf3e146d8088c56f6db - languageName: node - linkType: hard - -"table-layout@npm:^1.0.2": - version: 1.0.2 - resolution: "table-layout@npm:1.0.2" - dependencies: - array-back: "npm:^4.0.1" - deep-extend: "npm:~0.6.0" - typical: "npm:^5.2.0" - wordwrapjs: "npm:^4.0.0" - checksum: 10c0/c1d16d5ba2199571606ff574a5c91cff77f14e8477746e191e7dfd294da03e61af4e8004f1f6f783da9582e1365f38d3c469980428998750d558bf29462cc6c3 - languageName: node - linkType: hard - -"table@npm:^6.8.0": - version: 6.9.0 - resolution: "table@npm:6.9.0" - dependencies: - ajv: "npm:^8.0.1" - lodash.truncate: "npm:^4.4.2" - slice-ansi: "npm:^4.0.0" - string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 - languageName: node - linkType: hard - -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d - languageName: node - linkType: hard - -"tcomb-validation@npm:^3.3.0": - version: 3.4.1 - resolution: "tcomb-validation@npm:3.4.1" - dependencies: - tcomb: "npm:^3.0.0" - checksum: 10c0/6baca3a32f7fb1680f271df1d12d7c3e597244978842ee9fda4cd594a7b257df4f5875de22f0f77192ad743eab6dcfe375f4e8e2370ae41dcaf3eaecb61b9ecd - languageName: node - linkType: hard - -"tcomb@npm:^3.0.0, tcomb@npm:^3.2.17": - version: 3.2.29 - resolution: "tcomb@npm:3.2.29" - checksum: 10c0/f109144df5164e17e6571ba9863b8c111b291ba73418ca43b29c12adae3f18760f75ae1ffe37b471c4da1be8c43cc64630ad92fafa0b321e5e7d4571afdf5cdb - languageName: node - linkType: hard - -"then-request@npm:^6.0.0": - version: 6.0.2 - resolution: "then-request@npm:6.0.2" - dependencies: - "@types/concat-stream": "npm:^1.6.0" - "@types/form-data": "npm:0.0.33" - "@types/node": "npm:^8.0.0" - "@types/qs": "npm:^6.2.31" - caseless: "npm:~0.12.0" - concat-stream: "npm:^1.6.0" - form-data: "npm:^2.2.0" - http-basic: "npm:^8.1.1" - http-response-object: "npm:^3.0.1" - promise: "npm:^8.0.0" - qs: "npm:^6.4.0" - checksum: 10c0/9d2998c3470d6aa5b49993612be40627c57a89534cff5bbcc1d57f18457c14675cf3f59310816a1f85fdd40fa66feb64c63c5b76fb2163221f57223609c47949 - languageName: node - linkType: hard - -"through2@npm:^4.0.0": - version: 4.0.2 - resolution: "through2@npm:4.0.2" - dependencies: - readable-stream: "npm:3" - checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c - languageName: node - linkType: hard - -"tinyglobby@npm:^0.2.12": - version: 0.2.13 - resolution: "tinyglobby@npm:0.2.13" - dependencies: - fdir: "npm:^6.4.4" - picomatch: "npm:^4.0.2" - checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c - languageName: node - linkType: hard - -"tinyglobby@npm:^0.2.6": - version: 0.2.12 - resolution: "tinyglobby@npm:0.2.12" - dependencies: - fdir: "npm:^6.4.3" - picomatch: "npm:^4.0.2" - checksum: 10c0/7c9be4fd3625630e262dcb19015302aad3b4ba7fc620f269313e688f2161ea8724d6cb4444baab5ef2826eb6bed72647b169a33ec8eea37501832a2526ff540f - languageName: node - linkType: hard - -"tmp@npm:0.0.33": - version: 0.0.33 - resolution: "tmp@npm:0.0.33" - dependencies: - os-tmpdir: "npm:~1.0.2" - checksum: 10c0/69863947b8c29cabad43fe0ce65cec5bb4b481d15d4b4b21e036b060b3edbf3bc7a5541de1bacb437bb3f7c4538f669752627fdf9b4aaf034cebd172ba373408 - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"tryer@npm:^1.0.1": - version: 1.0.1 - resolution: "tryer@npm:1.0.1" - checksum: 10c0/19070409a0009dc26127636cc14d2415e9cf8b1dc07b29694e57ea8bb5ea1bded012c0e792f6235b46e31189a7b866841668b3850867ff7eac1a6b55332c960d - languageName: node - linkType: hard - -"ts-command-line-args@npm:^2.2.0": - version: 2.5.1 - resolution: "ts-command-line-args@npm:2.5.1" - dependencies: - chalk: "npm:^4.1.0" - command-line-args: "npm:^5.1.1" - command-line-usage: "npm:^6.1.0" - string-format: "npm:^2.0.0" - bin: - write-markdown: dist/write-markdown.js - checksum: 10c0/affb43fd4e17b496b6fd195888c7a80e6d7fe54f121501926bb2376f2167c238f7fa8f2e2d98bf2498ff883240d9f914e3558701807f40dca882616a8fd763b1 - languageName: node - linkType: hard - -"ts-essentials@npm:^7.0.1": - version: 7.0.3 - resolution: "ts-essentials@npm:7.0.3" - peerDependencies: - typescript: ">=3.7.0" - checksum: 10c0/ea1919534ec6ce4ca4d9cb0ff1ab8e053509237da8d4298762ab3bfba4e78ca5649a599ce78a5c7c2624f3a7a971f62b265b7b0c3c881336e4fa6acaf6f37544 - languageName: node - linkType: hard - -"ts-node@npm:^10.9.1": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - -"tslib@npm:2.7.0": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 - languageName: node - linkType: hard - -"tslib@npm:^1.9.3": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 - languageName: node - linkType: hard - -"tsort@npm:0.0.1": - version: 0.0.1 - resolution: "tsort@npm:0.0.1" - checksum: 10c0/ea3d034ab341dd9282c972710496e98539408d77f1cd476ad0551a9731f40586b65ab917b39745f902bf32037a3161eee3821405f6ab15bcd2ce4cc0a52d1da6 - languageName: node - linkType: hard - -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: "npm:~1.1.2" - checksum: 10c0/776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 - languageName: node - linkType: hard - -"type-detect@npm:^4.0.0, type-detect@npm:^4.1.0": - version: 4.1.0 - resolution: "type-detect@npm:4.1.0" - checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"type-fest@npm:^0.7.1": - version: 0.7.1 - resolution: "type-fest@npm:0.7.1" - checksum: 10c0/ce6b5ef806a76bf08d0daa78d65e61f24d9a0380bd1f1df36ffb61f84d14a0985c3a921923cf4b97831278cb6fa9bf1b89c751df09407e0510b14e8c081e4e0f - languageName: node - linkType: hard - -"typechain@npm:^8.3.2": - version: 8.3.2 - resolution: "typechain@npm:8.3.2" - dependencies: - "@types/prettier": "npm:^2.1.1" - debug: "npm:^4.3.1" - fs-extra: "npm:^7.0.0" - glob: "npm:7.1.7" - js-sha3: "npm:^0.8.0" - lodash: "npm:^4.17.15" - mkdirp: "npm:^1.0.4" - prettier: "npm:^2.3.1" - ts-command-line-args: "npm:^2.2.0" - ts-essentials: "npm:^7.0.1" - peerDependencies: - typescript: ">=4.3.0" - bin: - typechain: dist/cli/cli.js - checksum: 10c0/1ea660cc7c699c6ac68da67b76454eb4e9395c54666d924ca67f983ae8eb5b5e7dab0a576beb55dbfad75ea784a3f68cb1ca019d332293b7291731c156ead5b5 - languageName: node - linkType: hard - -"typedarray@npm:^0.0.6": - version: 0.0.6 - resolution: "typedarray@npm:0.0.6" - checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 - languageName: node - linkType: hard - -"typescript@npm:^5.1.6": - version: 5.8.3 - resolution: "typescript@npm:5.8.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5.1.6#optional!builtin": - version: 5.8.3 - resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=8c6c40" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/92ea03509e06598948559ddcdd8a4ae5a7ab475766d5589f1b796f5731b3d631a4c7ddfb86a3bd44d58d10102b132cd4b4994dda9b63e6273c66d77d6a271dbd - languageName: node - linkType: hard - -"typical@npm:^4.0.0": - version: 4.0.0 - resolution: "typical@npm:4.0.0" - checksum: 10c0/f300b198fb9fe743859b75ec761d53c382723dc178bbce4957d9cb754f2878a44ce17dc0b6a5156c52be1065449271f63754ba594dac225b80ce3aa39f9241ed - languageName: node - linkType: hard - -"typical@npm:^5.2.0": - version: 5.2.0 - resolution: "typical@npm:5.2.0" - checksum: 10c0/1cceaa20d4b77a02ab8eccfe4a20500729431aecc1e1b7dc70c0e726e7966efdca3bf0b4bee285555b751647e37818fd99154ea73f74b5c29adc95d3c13f5973 - languageName: node - linkType: hard - -"uglify-js@npm:^3.1.4": - version: 3.19.3 - resolution: "uglify-js@npm:3.19.3" - bin: - uglifyjs: bin/uglifyjs - checksum: 10c0/83b0a90eca35f778e07cad9622b80c448b6aad457c9ff8e568afed978212b42930a95f9e1be943a1ffa4258a3340fbb899f41461131c05bb1d0a9c303aed8479 - languageName: node - linkType: hard - -"underscore@npm:1.12.1": - version: 1.12.1 - resolution: "underscore@npm:1.12.1" - checksum: 10c0/00f392357e363353ac485e7c156b749505087e31ff4fdad22e04ebd2f94a56fbc554cd41a6722e3895a818466cf298b1cae93ff6211d102d373a9b50db63bfd0 - languageName: node - linkType: hard - -"undici-types@npm:~6.19.2": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 - languageName: node - linkType: hard - -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 - languageName: node - linkType: hard - -"undici@npm:^5.14.0": - version: 5.29.0 - resolution: "undici@npm:5.29.0" - dependencies: - "@fastify/busboy": "npm:^2.0.0" - checksum: 10c0/e4e4d631ca54ee0ad82d2e90e7798fa00a106e27e6c880687e445cc2f13b4bc87c5eba2a88c266c3eecffb18f26e227b778412da74a23acc374fca7caccec49b - languageName: node - linkType: hard - -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" - dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc - languageName: node - linkType: hard - -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 - languageName: node - linkType: hard - -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 - languageName: node - linkType: hard - -"universalify@npm:^2.0.0": - version: 2.0.1 - resolution: "universalify@npm:2.0.1" - checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a - languageName: node - linkType: hard - -"unpipe@npm:1.0.0": - version: 1.0.0 - resolution: "unpipe@npm:1.0.0" - checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c - languageName: node - linkType: hard - -"utf8@npm:3.0.0": - version: 3.0.0 - resolution: "utf8@npm:3.0.0" - checksum: 10c0/675d008bab65fc463ce718d5cae8fd4c063540f269e4f25afebce643098439d53e7164bb1f193e0c3852825c7e3e32fbd8641163d19a618dbb53f1f09acb0d5a - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"validator@npm:^13.6.0": - version: 13.15.0 - resolution: "validator@npm:13.15.0" - checksum: 10c0/0f13fd7031ac575e8d7828431da8ef5859bac6a38ee65e1d7fdd367dbf1c3d94d95182aecc3183f7fa7a30ff4474bf864d1aff54707620227a2cdbfd36d894c2 - languageName: node - linkType: hard - -"wasmbuilder@npm:0.0.16": - version: 0.0.16 - resolution: "wasmbuilder@npm:0.0.16" - checksum: 10c0/9e7e25c0b281fb83b272ba628b2f94c3e5ac7a3a488149be3548c52fa7c4502a76339bf2eb6a92e8f23b46da429dda69fe15e794b55c05ba769fe60ff74c73f3 - languageName: node - linkType: hard - -"wasmcurves@npm:0.2.2": - version: 0.2.2 - resolution: "wasmcurves@npm:0.2.2" - dependencies: - wasmbuilder: "npm:0.0.16" - checksum: 10c0/9ee35e3a333f04f5c1233ad3a59401f20cc1074a4c219a0545337e5ca78a962da4e04155f28edd205b0d52fbcd121d2b0bac4489b011affd0c68dfb7ae37cdab - languageName: node - linkType: hard - -"web-worker@npm:1.2.0": - version: 1.2.0 - resolution: "web-worker@npm:1.2.0" - checksum: 10c0/2bec036cd4784148e2f135207c62facf4457a0f2b205d6728013b9f0d7c62404dced95fcd849478387e10c8ae636d665600bd0d99d80b18c3bb2a7f045aa20d8 - languageName: node - linkType: hard - -"web3-utils@npm:^1.3.6": - version: 1.10.4 - resolution: "web3-utils@npm:1.10.4" - dependencies: - "@ethereumjs/util": "npm:^8.1.0" - bn.js: "npm:^5.2.1" - ethereum-bloom-filters: "npm:^1.0.6" - ethereum-cryptography: "npm:^2.1.2" - ethjs-unit: "npm:0.1.6" - number-to-bn: "npm:1.7.0" - randombytes: "npm:^2.1.0" - utf8: "npm:3.0.0" - checksum: 10c0/fbd5c8ec71e944e9e66e3436dbd4446927c3edc95f81928723f9ac137e0d821c5cbb92dba0ed5bbac766f919f919c9d8e316e459c51d876d5188321642676677 - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db - languageName: node - linkType: hard - -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 - languageName: node - linkType: hard - -"which@npm:^1.1.1, which@npm:^1.3.1": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - which: ./bin/which - checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b - languageName: node - linkType: hard - -"widest-line@npm:^3.1.0": - version: 3.1.0 - resolution: "widest-line@npm:3.1.0" - dependencies: - string-width: "npm:^4.0.0" - checksum: 10c0/b1e623adcfb9df35350dd7fc61295d6d4a1eaa65a406ba39c4b8360045b614af95ad10e05abf704936ed022569be438c4bfa02d6d031863c4166a238c301119f - languageName: node - linkType: hard - -"word-wrap@npm:~1.2.3": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 - languageName: node - linkType: hard - -"wordwrap@npm:^1.0.0": - version: 1.0.0 - resolution: "wordwrap@npm:1.0.0" - checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 - languageName: node - linkType: hard - -"wordwrapjs@npm:^4.0.0": - version: 4.0.1 - resolution: "wordwrapjs@npm:4.0.1" - dependencies: - reduce-flatten: "npm:^2.0.0" - typical: "npm:^5.2.0" - checksum: 10c0/4cc43eb0f6adb7214d427e68918357a9df483815efbb4c59beb30972714b1804ede2a551b1dfd2234c0bd413c6f07d6daa6522d1c53f43f89a376d815fbf3c43 - languageName: node - linkType: hard - -"workerpool@npm:^6.5.1": - version: 6.5.1 - resolution: "workerpool@npm:6.5.1" - checksum: 10c0/58e8e969782292cb3a7bfba823f1179a7615250a0cefb4841d5166234db1880a3d0fe83a31dd8d648329ec92c2d0cd1890ad9ec9e53674bb36ca43e9753cdeac - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"ws@npm:8.17.1": - version: 8.17.1 - resolution: "ws@npm:8.17.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe - languageName: node - linkType: hard - -"ws@npm:8.18.0": - version: 8.18.0 - resolution: "ws@npm:8.18.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 - languageName: node - linkType: hard - -"ws@npm:^7.4.6": - version: 7.5.10 - resolution: "ws@npm:7.5.10" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - -"yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 - languageName: node - linkType: hard - -"yargs-unparser@npm:^2.0.0": - version: 2.0.0 - resolution: "yargs-unparser@npm:2.0.0" - dependencies: - camelcase: "npm:^6.0.0" - decamelize: "npm:^4.0.0" - flat: "npm:^5.0.2" - is-plain-obj: "npm:^2.1.0" - checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 - languageName: node - linkType: hard - -"yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 - languageName: node - linkType: hard - -"yargs@npm:^17.2.1": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - dependencies: - cliui: "npm:^8.0.1" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.3" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^21.1.1" - checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard + version "1.0.0" + resolved "https://github.com/ashpect/smt#4f73fd24adb06a7f8efd6fd2d3ed58e9e2f2691a" + +"@babel/code-frame@^7.12.13": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== + dependencies: + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== + +"@bytecodealliance/preview2-shim@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@bytecodealliance/preview2-shim/-/preview2-shim-0.17.2.tgz#8d0c732cba29169a85aa3e603c767e039378f89b" + integrity sha512-mNm/lblgES8UkVle8rGImXOz4TtL3eU3inHay/7TVchkKrb/lgcVvTK0+VAw8p5zQ0rgQsXm1j5dOlAAd+MeoA== + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@eth-optimism/hardhat-ovm@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@eth-optimism/hardhat-ovm/-/hardhat-ovm-0.2.4.tgz#1ffe114e341296703cce17006e120ea4107fcb97" + integrity sha512-lfDADd++qg2F9CLNQ5lctGcPlQB3gDe8BsYXu8B72SOJCzOlnfYiS96N/JErG/YpLoLyT2fVPmXCIIl0ogU9ow== + dependencies: + node-fetch "^2.6.1" + +"@ethereumjs/rlp@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" + integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== + +"@ethereumjs/rlp@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.2.tgz#c89bd82f2f3bec248ab2d517ae25f5bbc4aac842" + integrity sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA== + +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" + +"@ethereumjs/util@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.1.0.tgz#75e3898a3116d21c135fa9e29886565609129bce" + integrity sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog== + dependencies: + "@ethereumjs/rlp" "^5.0.2" + ethereum-cryptography "^2.2.1" + +"@ethersproject/abi@5.8.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.8.0.tgz#e79bb51940ac35fe6f3262d7fe2cdb25ad5f07d9" + integrity sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/abstract-provider@5.8.0", "@ethersproject/abstract-provider@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz#7581f9be601afa1d02b95d26b9d9840926a35b0c" + integrity sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + +"@ethersproject/abstract-signer@5.8.0", "@ethersproject/abstract-signer@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz#8d7417e95e4094c1797a9762e6789c7356db0754" + integrity sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/address@5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d" + integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q== + dependencies: + "@ethersproject/bignumber" "^5.6.2" + "@ethersproject/bytes" "^5.6.1" + "@ethersproject/keccak256" "^5.6.1" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/rlp" "^5.6.1" + +"@ethersproject/address@5.8.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.8.0.tgz#3007a2c352eee566ad745dca1dbbebdb50a6a983" + integrity sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + +"@ethersproject/base64@5.8.0", "@ethersproject/base64@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.8.0.tgz#61c669c648f6e6aad002c228465d52ac93ee83eb" + integrity sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ== + dependencies: + "@ethersproject/bytes" "^5.8.0" + +"@ethersproject/basex@5.8.0", "@ethersproject/basex@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.8.0.tgz#1d279a90c4be84d1c1139114a1f844869e57d03a" + integrity sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/bignumber@5.8.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.8.0.tgz#c381d178f9eeb370923d389284efa19f69efa5d7" + integrity sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@5.8.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.8.0.tgz#9074820e1cac7507a34372cadeb035461463be34" + integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/constants@5.8.0", "@ethersproject/constants@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.8.0.tgz#12f31c2f4317b113a4c19de94e50933648c90704" + integrity sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + +"@ethersproject/contracts@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.8.0.tgz#243a38a2e4aa3e757215ea64e276f8a8c9d8ed73" + integrity sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ== + dependencies: + "@ethersproject/abi" "^5.8.0" + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + +"@ethersproject/hash@5.8.0", "@ethersproject/hash@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.8.0.tgz#b8893d4629b7f8462a90102572f8cd65a0192b4c" + integrity sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/hdnode@5.8.0", "@ethersproject/hdnode@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.8.0.tgz#a51ae2a50bcd48ef6fd108c64cbae5e6ff34a761" + integrity sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/json-wallets@5.8.0", "@ethersproject/json-wallets@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz#d18de0a4cf0f185f232eb3c17d5e0744d97eb8c9" + integrity sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.8.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.8.0.tgz#d2123a379567faf2d75d2aaea074ffd4df349e6a" + integrity sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng== + dependencies: + "@ethersproject/bytes" "^5.8.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.8.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.8.0.tgz#f0232968a4f87d29623a0481690a2732662713d6" + integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA== + +"@ethersproject/networks@5.8.0", "@ethersproject/networks@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.8.0.tgz#8b4517a3139380cba9fb00b63ffad0a979671fde" + integrity sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/pbkdf2@5.8.0", "@ethersproject/pbkdf2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz#cd2621130e5dd51f6a0172e63a6e4a0c0a0ec37e" + integrity sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + +"@ethersproject/properties@5.8.0", "@ethersproject/properties@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.8.0.tgz#405a8affb6311a49a91dabd96aeeae24f477020e" + integrity sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/providers@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.8.0.tgz#6c2ae354f7f96ee150439f7de06236928bc04cb4" + integrity sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + bech32 "1.1.4" + ws "8.18.0" + +"@ethersproject/random@5.8.0", "@ethersproject/random@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.8.0.tgz#1bced04d49449f37c6437c701735a1a022f0057a" + integrity sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/rlp@5.8.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.8.0.tgz#5a0d49f61bc53e051532a5179472779141451de5" + integrity sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/sha2@5.8.0", "@ethersproject/sha2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.8.0.tgz#8954a613bb78dac9b46829c0a95de561ef74e5e1" + integrity sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.8.0", "@ethersproject/signing-key@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.8.0.tgz#9797e02c717b68239c6349394ea85febf8893119" + integrity sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + bn.js "^5.2.1" + elliptic "6.6.1" + hash.js "1.1.7" + +"@ethersproject/solidity@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.8.0.tgz#429bb9fcf5521307a9448d7358c26b93695379b9" + integrity sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/strings@5.8.0", "@ethersproject/strings@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.8.0.tgz#ad79fafbf0bd272d9765603215ac74fd7953908f" + integrity sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/transactions@5.8.0", "@ethersproject/transactions@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.8.0.tgz#1e518822403abc99def5a043d1c6f6fe0007e46b" + integrity sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + +"@ethersproject/units@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.8.0.tgz#c12f34ba7c3a2de0e9fa0ed0ee32f3e46c5c2c6a" + integrity sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/wallet@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.8.0.tgz#49c300d10872e6986d953e8310dc33d440da8127" + integrity sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/json-wallets" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/web@5.8.0", "@ethersproject/web@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.8.0.tgz#3e54badc0013b7a801463a7008a87988efce8a37" + integrity sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw== + dependencies: + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/wordlists@5.8.0", "@ethersproject/wordlists@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.8.0.tgz#7a5654ee8d1bb1f4dbe43f91d217356d650ad821" + integrity sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + +"@iden3/bigarray@0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@iden3/bigarray/-/bigarray-0.0.2.tgz#6fc4ba5be18daf8a26ee393f2fb62b80d98c05e9" + integrity sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g== + +"@iden3/binfileutils@0.0.12": + version "0.0.12" + resolved "https://registry.yarnpkg.com/@iden3/binfileutils/-/binfileutils-0.0.12.tgz#3772552f57551814ff606fa68ea1e0ef52795ce3" + integrity sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ== + dependencies: + fastfile "0.0.20" + ffjavascript "^0.3.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@noble/curves@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + +"@noble/curves@1.4.2", "@noble/curves@~1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" + integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@~1.8.1": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.2.tgz#8f24c037795e22b90ae29e222a856294c1d9ffc7" + integrity sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g== + dependencies: + "@noble/hashes" "1.7.2" + +"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" + integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== + +"@noble/hashes@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/hashes@1.7.2", "@noble/hashes@~1.7.1": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.2.tgz#d53c65a21658fb02f3303e7ee3ba89d6754c64b4" + integrity sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ== + +"@noble/hashes@^1.4.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== + +"@noble/secp256k1@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + +"@noble/secp256k1@~1.7.0": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.2.tgz#c2c3343e2dce80e15a914d7442147507f8a98e7f" + integrity sha512-/qzwYl5eFLH8OWIecQWM31qld2g1NfjgylK+TNhqtaUKP37Nm+Y+z30Fjhw0Ct8p9yCQEm2N3W/AckdIb3SMcQ== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nomicfoundation/edr-darwin-arm64@0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.11.0.tgz#fa791451c5ce2acf6634143bca9fe8f1b5c66603" + integrity sha512-aYTVdcSs27XG7ayTzvZ4Yn9z/ABSaUwicrtrYK2NR8IH0ik4N4bWzo/qH8rax6rewVLbHUkGyGYnsy5ZN4iiMw== + +"@nomicfoundation/edr-darwin-x64@0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.11.0.tgz#b1aaf0bfb331f6d136a92cbe31f184e2209e7a4f" + integrity sha512-RxX7UYgvJrfcyT/uHUn44Nsy1XaoW+Q1khKMdHKxeW7BrgIi+Lz+siz3bX5vhSoAnKilDPhIVLrnC8zxQhjR2A== + +"@nomicfoundation/edr-linux-arm64-gnu@0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.11.0.tgz#fef6763c5d42bb68b4fc95df45c4745a0e31df93" + integrity sha512-J0j+rs0s11FuSipt/ymqrFmpJ7c0FSz1/+FohCIlUXDxFv//+1R/8lkGPjEYFmy8DPpk/iO8mcpqHTGckREbqA== + +"@nomicfoundation/edr-linux-arm64-musl@0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.11.0.tgz#ef89d5d2aefc1f8d4f7c699c59b8897a645d33eb" + integrity sha512-4r32zkGMN7WT/CMEuW0VjbuEdIeCskHNDMW4SSgQSJOE/N9L1KSLJCSsAbPD3aYE+e4WRDTyOwmuLjeUTcLZKQ== + +"@nomicfoundation/edr-linux-x64-gnu@0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.11.0.tgz#97432126110aa805b761d4743ab158698cae6d66" + integrity sha512-SmdncQHLYtVNWLIMyGaY6LpAfamzTDe3fxjkirmJv3CWR5tcEyC6LMui/GsIVnJzXeNJBXAzwl8hTUAxHTM6kQ== + +"@nomicfoundation/edr-linux-x64-musl@0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.11.0.tgz#7605fddbada22dfdd14b15f4ac562014d9c82332" + integrity sha512-w6hUqpn/trwiH6SRuRGysj37LsQVCX5XDCA3Xi81sbOaLhbHrNvK9TXWyZmcuzbdTKQQW6VNywcSxDdOiChcJg== + +"@nomicfoundation/edr-win32-x64-msvc@0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.11.0.tgz#6766175f3ec47bfbda0429ca00fed4ae5632a3c4" + integrity sha512-BLmULjRKoH9BsX+c4Na2ypV7NGeJ+M6Zpqj/faPOwleVscDdSr/IhriyPaXCe8dyfwbge7lWsbekiADtPSnB2Q== + +"@nomicfoundation/edr@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr/-/edr-0.11.0.tgz#d8b0ba4dfd7d93b9c54762e72eb9cd4e8244ce46" + integrity sha512-36WERf8ldvyHR6UAbcYsa+vpbW7tCrJGBwF4gXSsb8+STj1n66Hz85Y/O7B9+8AauX3PhglvV5dKl91tk43mWw== + dependencies: + "@nomicfoundation/edr-darwin-arm64" "0.11.0" + "@nomicfoundation/edr-darwin-x64" "0.11.0" + "@nomicfoundation/edr-linux-arm64-gnu" "0.11.0" + "@nomicfoundation/edr-linux-arm64-musl" "0.11.0" + "@nomicfoundation/edr-linux-x64-gnu" "0.11.0" + "@nomicfoundation/edr-linux-x64-musl" "0.11.0" + "@nomicfoundation/edr-win32-x64-msvc" "0.11.0" + +"@nomicfoundation/hardhat-chai-matchers@^2.0.6": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.8.tgz#9c7cfc4ad0f0a5e9cf16aba8ab668c02f6e273aa" + integrity sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg== + dependencies: + "@types/chai-as-promised" "^7.1.3" + chai-as-promised "^7.1.1" + deep-eql "^4.0.1" + ordinal "^1.0.3" + +"@nomicfoundation/hardhat-ethers@^3.0.5": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.8.tgz#af078f566373abeb77e11cbe69fe3dd47f8bfc27" + integrity sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA== + dependencies: + debug "^4.1.1" + lodash.isequal "^4.5.0" + +"@nomicfoundation/hardhat-ignition-ethers@^0.15.3": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.11.tgz#ae1c6be346ef3d2ccb38804786728355b1a2eb90" + integrity sha512-srXzvf7qCDHLrnvQWtpVA9gWpcbp4BcnsOqJt6ISet9OlUnxk4GgRMbdFq4YpM48bHQTX397jS9yk1AtJCjt/g== + +"@nomicfoundation/hardhat-ignition@^0.15.3": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.11.tgz#124a4c5f70eca0f2f161ccfd82cef29793111f48" + integrity sha512-OXebmK9FCMwwbb4mIeHBbVFFicAGgyGKJT2zrONrpixrROxrVs6KEi1gzsiN25qtQhCQePt8BTjjYrgy86Dfxg== + dependencies: + "@nomicfoundation/ignition-core" "^0.15.11" + "@nomicfoundation/ignition-ui" "^0.15.11" + chalk "^4.0.0" + debug "^4.3.2" + fs-extra "^10.0.0" + json5 "^2.2.3" + prompts "^2.4.2" + +"@nomicfoundation/hardhat-network-helpers@^1.0.10": + version "1.0.12" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.12.tgz#2c0abec0c50b75f9d0d71776e49e3b5ef746d289" + integrity sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA== + dependencies: + ethereumjs-util "^7.1.4" + +"@nomicfoundation/hardhat-toolbox@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-3.0.0.tgz#83e2c28a745aa4eb1236072166367b0de68b4c76" + integrity sha512-MsteDXd0UagMksqm9KvcFG6gNKYNa3GGNCy73iQ6bEasEgg2v8Qjl6XA5hjs8o5UD5A3153B6W2BIVJ8SxYUtA== + +"@nomicfoundation/hardhat-verify@^2.0.6": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.13.tgz#41691adc32e01dc5cf6b725615f64958fba2100b" + integrity sha512-i57GX1sC0kYGyRVnbQrjjyBTpWTKgrvKC+jH8CMKV6gHp959Upb8lKaZ58WRHIU0espkulTxLnacYeUDirwJ2g== + dependencies: + "@ethersproject/abi" "^5.1.2" + "@ethersproject/address" "^5.0.2" + cbor "^8.1.0" + debug "^4.1.1" + lodash.clonedeep "^4.5.0" + picocolors "^1.1.0" + semver "^6.3.0" + table "^6.8.0" + undici "^5.14.0" + +"@nomicfoundation/ignition-core@^0.15.11", "@nomicfoundation/ignition-core@^0.15.3": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-core/-/ignition-core-0.15.11.tgz#315fd4dcde00ae6e44932222b92932bb15fe113a" + integrity sha512-PeYKRlrQ0koT72yRnlyyG66cXMFiv5X/cIB8hBFPl3ekeg5tPXcHAgs/VZhOsgwEox4ejphTtItLESb1IDBw0w== + dependencies: + "@ethersproject/address" "5.6.1" + "@nomicfoundation/solidity-analyzer" "^0.1.1" + cbor "^9.0.0" + debug "^4.3.2" + ethers "^6.7.0" + fs-extra "^10.0.0" + immer "10.0.2" + lodash "4.17.21" + ndjson "2.0.0" + +"@nomicfoundation/ignition-ui@^0.15.11": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.11.tgz#94969984dd6ca1671a21f2338af4735cf319c1b3" + integrity sha512-VPOVl5xqCKhYCyPOQlposx+stjCwqXQ+BCs5lnw/f2YUfgII+G5Ye0JfHiJOfCJGmqyS03WertBslcj9zQg50A== + +"@nomicfoundation/slang@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/slang/-/slang-1.1.0.tgz#a83536e3486fe6963080d4d21240d0f218dc942e" + integrity sha512-g2BofMUq1qCP22L/ksOftScrCxjdHTxgg8ch5PYon2zfSSKGCMwE4TgIC64CuorMcSsvCmqNNFEWR/fwFcMeTw== + dependencies: + "@bytecodealliance/preview2-shim" "0.17.2" + +"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz#3a9c3b20d51360b20affb8f753e756d553d49557" + integrity sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw== + +"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz#74dcfabeb4ca373d95bd0d13692f44fcef133c28" + integrity sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw== + +"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz#4af5849a89e5a8f511acc04f28eb5d4460ba2b6a" + integrity sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA== + +"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz#54036808a9a327b2ff84446c130a6687ee702a8e" + integrity sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA== + +"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz#466cda0d6e43691986c944b909fc6dbb8cfc594e" + integrity sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g== + +"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz#2b35826987a6e94444140ac92310baa088ee7f94" + integrity sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg== + +"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz#e6363d13b8709ca66f330562337dbc01ce8bbbd9" + integrity sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA== + +"@nomicfoundation/solidity-analyzer@^0.1.0", "@nomicfoundation/solidity-analyzer@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz#8bcea7d300157bf3a770a851d9f5c5e2db34ac55" + integrity sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA== + optionalDependencies: + "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.2" + "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.2" + "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.2" + +"@nomiclabs/hardhat-ethers@^2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz#b41053e360c31a32c2640c9a45ee981a7e603fe0" + integrity sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg== + +"@openpassport/zk-kit-lean-imt@^0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-lean-imt/-/zk-kit-lean-imt-0.0.6.tgz#b788ffb99d23d10c63ec145fc7d08359900e673e" + integrity sha512-KUQ4b5ILubO79vscrOnSnOCyr1AJ3dSKQOJ1PBklIRyFG9CeRTUspnVblSFqrolf8F3dvXX9QDbrkJxK38Gsyg== + dependencies: + "@openpassport/zk-kit-utils" "0.0.1" + +"@openpassport/zk-kit-smt@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-smt/-/zk-kit-smt-0.0.1.tgz#d447ed24e7b57146d5dee8d7458ac3886346b4d2" + integrity sha512-P7Hkd5fD8JxGbqJ48lUq6gGKmZTaVzCB5I8FsOSUmljqf7VMeZmbyqo2ZmXt/lk6ltPXrmcrQ+QNhHXKZNcWhg== + +"@openpassport/zk-kit-utils@0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@openpassport/zk-kit-utils/-/zk-kit-utils-0.0.1.tgz#b0ad083c411bc7bcc1051516a76ada528a283a3a" + integrity sha512-T7jZ3vn+iCAPnvMS+NLg3Yj4ixF2xXG/geFkyNi48beEFd1hD/2Yca05QP+g2iaJAsIRvllwtni5SuLXGwv5Xw== + dependencies: + buffer "^6.0.3" + +"@openzeppelin/contracts-upgradeable@^5.1.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.3.0.tgz#79dba09ab0b4bb49f21544ea738b9de016b0ceea" + integrity sha512-yVzSSyTMWO6rapGI5tuqkcLpcGGXA0UA1vScyV5EhE5yw8By3Ewex9rDUw8lfVw0iTkvR/egjfcW5vpk03lqZg== + +"@openzeppelin/contracts@^5.0.2": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.3.0.tgz#0a90ce16f5c855e3c8239691f1722cd4999ae741" + integrity sha512-zj/KGoW7zxWUE8qOI++rUM18v+VeLTTzKs/DJFkSzHpQFPD/jKKF0TrMxBfGLl3kpdELCNccvB3zmofSzm4nlA== + +"@scure/base@~1.1.0", "@scure/base@~1.1.6": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" + integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== + +"@scure/base@~1.2.5": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.5.tgz#f9d1b232425b367d0dcb81c96611dcc651d58671" + integrity sha512-9rE6EOVeIQzt5TSu4v+K523F8u6DhBsoZWPGKlnCshhlDhy0kJzUX4V+tr2dWmzF1GdekvThABoEQBGBQI7xZw== + +"@scure/bip32@1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" + integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== + dependencies: + "@noble/hashes" "~1.2.0" + "@noble/secp256k1" "~1.7.0" + "@scure/base" "~1.1.0" + +"@scure/bip32@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" + integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== + dependencies: + "@noble/curves" "~1.4.0" + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@scure/bip39@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" + integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== + dependencies: + "@noble/hashes" "~1.2.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" + integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== + dependencies: + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@sentry/core@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" + integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/hub@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" + integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== + dependencies: + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/minimal@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" + integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/types" "5.30.0" + tslib "^1.9.3" + +"@sentry/node@^5.18.1": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48" + integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg== + dependencies: + "@sentry/core" "5.30.0" + "@sentry/hub" "5.30.0" + "@sentry/tracing" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + cookie "^0.4.1" + https-proxy-agent "^5.0.0" + lru_map "^0.3.3" + tslib "^1.9.3" + +"@sentry/tracing@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f" + integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/types@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" + integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== + +"@sentry/utils@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" + integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== + dependencies: + "@sentry/types" "5.30.0" + tslib "^1.9.3" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@solidity-parser/parser@^0.14.0": + version "0.14.5" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" + integrity sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg== + dependencies: + antlr4ts "^0.5.0-alpha.4" + +"@solidity-parser/parser@^0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.20.1.tgz#88efee3e0946a4856ed10355017692db9c259ff4" + integrity sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw== + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@typechain/ethers-v6@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v6/-/ethers-v6-0.4.3.tgz#badd99f88d5a1f1a2f42590f298e20cc62618e59" + integrity sha512-TrxBsyb4ryhaY9keP6RzhFCviWYApcLCIRMPyWaKp2cZZrfaM3QBoxXTnw/eO4+DAY3l+8O0brNW0WgeQeOiDA== + dependencies: + lodash "^4.17.15" + ts-essentials "^7.0.1" + +"@typechain/hardhat@^8.0.3": + version "8.0.3" + resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-8.0.3.tgz#a114825f130405bbb8e535314003733b7ce3f91c" + integrity sha512-MytSmJJn+gs7Mqrpt/gWkTCOpOQ6ZDfRrRT2gtZL0rfGe4QrU4x9ZdW15fFbVM/XTa+5EsKiOMYXhRABibNeng== + dependencies: + fs-extra "^9.1.0" + +"@types/bn.js@^5.1.0": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.6.tgz#9ba818eec0c85e4d3c679518428afdf611d03203" + integrity sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w== + dependencies: + "@types/node" "*" + +"@types/chai-as-promised@^7.1.3": + version "7.1.8" + resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz#f2b3d82d53c59626b5d6bbc087667ccb4b677fe9" + integrity sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw== + dependencies: + "@types/chai" "*" + +"@types/chai@*": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.2.tgz#6f14cea18180ffc4416bc0fd12be05fdd73bdd6b" + integrity sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg== + dependencies: + "@types/deep-eql" "*" + +"@types/chai@^4.3.16": + version "4.3.20" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.20.tgz#cb291577ed342ca92600430841a00329ba05cecc" + integrity sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ== + +"@types/circomlibjs@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@types/circomlibjs/-/circomlibjs-0.1.6.tgz#dba1b9cc68ae4f75da045b8b14c50f3444b31d7f" + integrity sha512-yF174bPDaiKgejlZzCSqKwZaqXhlxMcVEHrAtstFohwP05OjtvHXOdxO6HQeTg8WwIdgMg7MJb1WyWZdUCGlPQ== + +"@types/concat-stream@^1.6.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" + integrity sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA== + dependencies: + "@types/node" "*" + +"@types/deep-eql@*": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" + integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== + +"@types/form-data@0.0.33": + version "0.0.33" + resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" + integrity sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw== + dependencies: + "@types/node" "*" + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.5.12": + version "29.5.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" + integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/lru-cache@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" + integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/mocha@^10.0.6": + version "10.0.10" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" + integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== + +"@types/node@*": + version "22.15.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.20.tgz#ce4f947a8ff31120032f66d46b0851554e9f25f6" + integrity sha512-A6BohGFRGHAscJsTslDCA9JG7qSJr/DWUvrvY8yi9IgnGtMxCyat7vvQ//MFa0DnLsyuS3wYTpLdw4Hf+Q5JXw== + dependencies: + undici-types "~6.21.0" + +"@types/node@22.7.5": + version "22.7.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" + integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== + dependencies: + undici-types "~6.19.2" + +"@types/node@^10.0.3": + version "10.17.60" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" + integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== + +"@types/node@^8.0.0": + version "8.10.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" + integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== + +"@types/pbkdf2@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" + integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== + dependencies: + "@types/node" "*" + +"@types/prettier@^2.1.1": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/qs@^6.2.31": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5" + integrity sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ== + +"@types/secp256k1@^4.0.1": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" + integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== + dependencies: + "@types/node" "*" + +"@types/snarkjs@^0.7.7": + version "0.7.9" + resolved "https://registry.yarnpkg.com/@types/snarkjs/-/snarkjs-0.7.9.tgz#7a3b99bd86009133a74dcb215a475382c772c37c" + integrity sha512-pb4Bq3GI2YQOQOG0dR/YuQs/mqcuL6k/vnz68LIPtpA2frrUL3twf69a3AUK9eUmNNeW0RIKkq6scDlC75Is+g== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== + dependencies: + "@types/yargs-parser" "*" + +"@zk-kit/imt.sol@^2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@zk-kit/imt.sol/-/imt.sol-2.0.0-beta.12.tgz#9acd5fb64111b781a6cc614d3998a285fb48ab54" + integrity sha512-kKgopVO6zlfSiQgv3X9WykaCeyb8jGtthWGqdo1ZD7fY1bH8A7BWhhWxtoCuU5mPEgRbamw1cAoUynuLoEULsg== + dependencies: + poseidon-solidity "0.0.5" + +"@zk-kit/imt@^2.0.0-beta.4": + version "2.0.0-beta.8" + resolved "https://registry.yarnpkg.com/@zk-kit/imt/-/imt-2.0.0-beta.8.tgz#7ef889f91665ed43383096bcdcfab9cd4a3f9e51" + integrity sha512-E6woWWhX+NaDZuB6x932DJ5OACN9zsZZLurcUATyFH6SU+bEn5AX4sW6jfVIAQ1fnKsNOG0qHJtlw3ivwbOmWQ== + dependencies: + "@zk-kit/utils" "1.3.0" + +"@zk-kit/lean-imt@^2.0.1": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@zk-kit/lean-imt/-/lean-imt-2.2.3.tgz#f37971c21d5fe6a1be9a2fcd8d88c86dafab2ce5" + integrity sha512-T6NXLzMuwFjp+hg6WJZqzJ2qyyTmbS9JmxiWW/lmp+VxxJLAO9byAvqd5p/7616AXdHyTbwku0tdX0JDq9Pkng== + dependencies: + "@zk-kit/utils" "1.3.0" + +"@zk-kit/utils@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@zk-kit/utils/-/utils-1.3.0.tgz#01afccc4dacc9a971686f41417c93778e119a966" + integrity sha512-Gqsq5KLDf2WPuZSsNc2KZy25XeK5d5UV9hwLaPEM5wq+GD2qCi1ZBFzNs0OptiJ9GRGtP2J/xptrszWri+pRqQ== + dependencies: + buffer "^6.0.3" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== + +acorn-walk@^8.1.1: + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.4.1: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== + +adm-zip@^0.4.16: + version "0.4.16" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" + integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + +aes-js@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" + integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^8.0.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-colors@^4.1.1, ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +antlr4ts@^0.5.0-alpha.4: + version "0.5.0-alpha.4" + resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" + integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@1.x: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== + +async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +axios@^1.5.1, axios@^1.6.2: + version "1.9.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.9.0.tgz#25534e3b72b54540077d33046f77e3b8d7081901" + integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +b4a@^1.0.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" + integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2: + version "3.0.11" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.11.tgz#40d80e2a1aeacba29792ccc6c5354806421287ff" + integrity sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +bfj@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" + integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== + dependencies: + bluebird "^3.7.2" + check-types "^11.2.3" + hoopy "^0.1.4" + jsonpath "^1.1.1" + tryer "^1.0.1" + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +blake-hash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/blake-hash/-/blake-hash-2.0.0.tgz#af184dce641951126d05b7d1c3de3224f538d66e" + integrity sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w== + dependencies: + node-addon-api "^3.0.0" + node-gyp-build "^4.2.2" + readable-stream "^3.6.0" + +blake2b-wasm@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" + integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== + dependencies: + b4a "^1.0.1" + nanoassert "^2.0.0" + +blake2b@^2.1.3: + version "2.1.4" + resolved "https://registry.yarnpkg.com/blake2b/-/blake2b-2.1.4.tgz#817d278526ddb4cd673bfb1af16d1ad61e393ba3" + integrity sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A== + dependencies: + blake2b-wasm "^2.4.0" + nanoassert "^2.0.0" + +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@^4.11.9: + version "4.12.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.2.tgz#3d8fed6796c24e177737f7cc5172ee04ef39ec99" + integrity sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw== + +bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.2.tgz#82c09f9ebbb17107cd72cb7fd39bd1f9d0aaa566" + integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw== + +boxen@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-stdout@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bound@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +camelcase@^6.0.0, camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caseless@^0.12.0, caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +cbor@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== + dependencies: + nofilter "^3.1.0" + +cbor@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" + integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== + dependencies: + nofilter "^3.1.0" + +chai-as-promised@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.2.tgz#70cd73b74afd519754161386421fb71832c6d041" + integrity sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw== + dependencies: + check-error "^1.0.2" + +chai@^4.4.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" + integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.1.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +"charenc@>= 0.0.1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== + +check-error@^1.0.2, check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + +check-types@^11.2.3: + version "11.2.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" + integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== + +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7" + integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + +circom_runtime@0.1.28: + version "0.1.28" + resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.28.tgz#4ea4606956eeac4499f71f65354f45b54faa93fe" + integrity sha512-ACagpQ7zBRLKDl5xRZ4KpmYIcZDUjOiNRuxvXLqhnnlLSVY1Dbvh73TI853nqoR0oEbihtWmMSjgc5f+pXf/jQ== + dependencies: + ffjavascript "0.3.1" + +circomlibjs@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/circomlibjs/-/circomlibjs-0.1.7.tgz#9f5a7d9a23323744b11ee456b05b0cd81f48b554" + integrity sha512-GRAUoAlKAsiiTa+PA725G9RmEmJJRc8tRFxw/zKktUxlQISGznT4hH4ESvW8FNTsrGg/nNd06sGP/Wlx0LUHVg== + dependencies: + blake-hash "^2.0.0" + blake2b "^2.1.3" + ethers "^5.5.1" + ffjavascript "^0.2.45" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-table3@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + +cli-table3@^0.6.0: + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colors@1.4.0, colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +command-exists@^1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== + +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + +commander@^8.1.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.6.0, concat-stream@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +cookie@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +"crypt@>= 0.0.1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== + +dateformat@^4.5.1: + version "4.6.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" + integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== + +death@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" + integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== + +debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.5: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +deep-eql@^4.0.1, deep-eql@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" + integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== + dependencies: + type-detect "^4.0.0" + +deep-extend@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diff@^5.0.0, diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +difflib@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" + integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== + dependencies: + heap ">= 0.2.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dotenv@^16.3.1: + version "16.5.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.5.0.tgz#092b49f25f808f020050051d1ff258e404c78692" + integrity sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg== + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +ejs@^3.1.6: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +elliptic@6.6.1, elliptic@^6.5.7: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +enquirer@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-html@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" + integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== + +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eth-gas-reporter@^0.2.25: + version "0.2.27" + resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz#928de8548a674ed64c7ba0bf5795e63079150d4e" + integrity sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw== + dependencies: + "@solidity-parser/parser" "^0.14.0" + axios "^1.5.1" + cli-table3 "^0.5.0" + colors "1.4.0" + ethereum-cryptography "^1.0.3" + ethers "^5.7.2" + fs-readdir-recursive "^1.1.0" + lodash "^4.17.14" + markdown-table "^1.1.3" + mocha "^10.2.0" + req-cwd "^2.0.0" + sha1 "^1.1.1" + sync-request "^6.0.0" + +ethereum-bloom-filters@^1.0.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz#8294f074c1a6cbd32c39d2cc77ce86ff14797dab" + integrity sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA== + dependencies: + "@noble/hashes" "^1.4.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereum-cryptography@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" + integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== + dependencies: + "@noble/hashes" "1.2.0" + "@noble/secp256k1" "1.7.1" + "@scure/bip32" "1.1.5" + "@scure/bip39" "1.1.1" + +ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2, ethereum-cryptography@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" + integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== + dependencies: + "@noble/curves" "1.4.2" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" + +ethereumjs-util@^7.1.4: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethers@^5.5.1, ethers@^5.7.2: + version "5.8.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.8.0.tgz#97858dc4d4c74afce83ea7562fe9493cedb4d377" + integrity sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg== + dependencies: + "@ethersproject/abi" "5.8.0" + "@ethersproject/abstract-provider" "5.8.0" + "@ethersproject/abstract-signer" "5.8.0" + "@ethersproject/address" "5.8.0" + "@ethersproject/base64" "5.8.0" + "@ethersproject/basex" "5.8.0" + "@ethersproject/bignumber" "5.8.0" + "@ethersproject/bytes" "5.8.0" + "@ethersproject/constants" "5.8.0" + "@ethersproject/contracts" "5.8.0" + "@ethersproject/hash" "5.8.0" + "@ethersproject/hdnode" "5.8.0" + "@ethersproject/json-wallets" "5.8.0" + "@ethersproject/keccak256" "5.8.0" + "@ethersproject/logger" "5.8.0" + "@ethersproject/networks" "5.8.0" + "@ethersproject/pbkdf2" "5.8.0" + "@ethersproject/properties" "5.8.0" + "@ethersproject/providers" "5.8.0" + "@ethersproject/random" "5.8.0" + "@ethersproject/rlp" "5.8.0" + "@ethersproject/sha2" "5.8.0" + "@ethersproject/signing-key" "5.8.0" + "@ethersproject/solidity" "5.8.0" + "@ethersproject/strings" "5.8.0" + "@ethersproject/transactions" "5.8.0" + "@ethersproject/units" "5.8.0" + "@ethersproject/wallet" "5.8.0" + "@ethersproject/web" "5.8.0" + "@ethersproject/wordlists" "5.8.0" + +ethers@^6.12.1, ethers@^6.7.0: + version "6.14.1" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.14.1.tgz#96b5e967d9c3c66c6b64304d8e7669a761d6fca3" + integrity sha512-JnFiPFi3sK2Z6y7jZ3qrafDMwiXmU+6cNZ0M+kPq+mTy9skqEzwqAdFW3nb/em2xjlIVXX6Lz8ID6i3LmS4+fQ== + dependencies: + "@adraffy/ens-normalize" "1.10.1" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@types/node" "22.7.5" + aes-js "4.0.0-beta.5" + tslib "2.7.0" + ws "8.17.1" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +expect@^29.0.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.0.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + +fastfile@0.0.20: + version "0.0.20" + resolved "https://registry.yarnpkg.com/fastfile/-/fastfile-0.0.20.tgz#794a143d58cfda2e24c298e5ef619c748c8a1879" + integrity sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA== + +fastq@^1.6.0: + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== + dependencies: + reusify "^1.0.4" + +fdir@^6.4.4: + version "6.4.4" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.4.tgz#1cfcf86f875a883e19a8fab53622cfe992e8d2f9" + integrity sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg== + +ffjavascript@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.0.tgz#442cd8fbb1ee4cbb1be9d26fd7b2951a1ea45d6a" + integrity sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +ffjavascript@0.3.1, ffjavascript@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.3.1.tgz#3761bbb3f4a67b58a94a463080272bf6b5877b03" + integrity sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +ffjavascript@^0.2.45: + version "0.2.63" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.63.tgz#0c1216a1f123dc9181df69e144473704d2f115eb" + integrity sha512-dBgdsfGks58b66JnUZeZpGxdMIDQ4QsD3VYlRJyFVrKQHb2kJy4R2gufx5oetrTxXPT+aEjg0dOvOLg1N0on4A== + dependencies: + wasmbuilder "0.0.16" + wasmcurves "0.2.2" + web-worker "1.2.0" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@^1.12.1, follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +form-data@^2.2.0: + version "2.5.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.3.tgz#f9bcf87418ce748513c0c3494bb48ec270c97acc" + integrity sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + mime-types "^2.1.35" + safe-buffer "^5.2.1" + +form-data@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + mime-types "^2.1.12" + +fp-ts@1.19.3: + version "1.19.3" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.3.tgz#261a60d1088fbff01f91256f91d21d0caaaaa96f" + integrity sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg== + +fp-ts@^1.0.0: + version "1.19.5" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" + integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^7.0.0, fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-readdir-recursive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +fsu@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fsu/-/fsu-1.1.1.tgz#bd36d3579907c59d85b257a75b836aa9e0c31834" + integrity sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-port@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== + +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +ghost-testrpc@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz#c4de9557b1d1ae7b2d20bbe474a91378ca90ce92" + integrity sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ== + dependencies: + chalk "^2.4.2" + node-emoji "^1.10.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +handlebars@^4.0.1: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +hardhat-contract-sizer@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.0.tgz#72646f43bfe50e9a5702c9720c9bc3e77d93a2c9" + integrity sha512-QiinUgBD5MqJZJh1hl1jc9dNnpJg7eE/w4/4GEnrcmZJJTDbVFNe3+/3Ep24XqISSkYxRz36czcPHKHd/a0dwA== + dependencies: + chalk "^4.0.0" + cli-table3 "^0.6.0" + strip-ansi "^6.0.0" + +hardhat-gas-reporter@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz#ebe5bda5334b5def312747580cd923c2b09aef1b" + integrity sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA== + dependencies: + array-uniq "1.0.3" + eth-gas-reporter "^0.2.25" + sha1 "^1.1.1" + +hardhat@^2.22.6: + version "2.24.0" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.24.0.tgz#33dbe8c3972c2d2db6206966e19466571a937932" + integrity sha512-wDkD5GPmttYv21MR7tGDkyQ22tO2V86OEV8pA7NcXWYUpibe8XZ2EanXCeRHO61vwEx0f7/M+NqrhJwasaNMJg== + dependencies: + "@ethereumjs/util" "^9.1.0" + "@ethersproject/abi" "^5.1.2" + "@nomicfoundation/edr" "^0.11.0" + "@nomicfoundation/solidity-analyzer" "^0.1.0" + "@sentry/node" "^5.18.1" + "@types/bn.js" "^5.1.0" + "@types/lru-cache" "^5.1.0" + adm-zip "^0.4.16" + aggregate-error "^3.0.0" + ansi-escapes "^4.3.0" + boxen "^5.1.2" + chokidar "^4.0.0" + ci-info "^2.0.0" + debug "^4.1.1" + enquirer "^2.3.0" + env-paths "^2.2.0" + ethereum-cryptography "^1.0.3" + find-up "^5.0.0" + fp-ts "1.19.3" + fs-extra "^7.0.1" + immutable "^4.0.0-rc.12" + io-ts "1.10.4" + json-stream-stringify "^3.1.4" + keccak "^3.0.2" + lodash "^4.17.11" + micro-eth-signer "^0.14.0" + mnemonist "^0.38.0" + mocha "^10.0.0" + p-map "^4.0.0" + picocolors "^1.1.0" + raw-body "^2.4.1" + resolve "1.17.0" + semver "^6.3.0" + solc "0.8.26" + source-map-support "^0.5.13" + stacktrace-parser "^0.1.10" + tinyglobby "^0.2.6" + tsort "0.0.1" + undici "^5.14.0" + uuid "^8.3.2" + ws "^7.4.6" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +"heap@>= 0.2.0": + version "0.2.7" + resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" + integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +http-basic@^8.1.1: + version "8.1.3" + resolved "https://registry.yarnpkg.com/http-basic/-/http-basic-8.1.3.tgz#a7cabee7526869b9b710136970805b1004261bbf" + integrity sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw== + dependencies: + caseless "^0.12.0" + concat-stream "^1.6.2" + http-response-object "^3.0.1" + parse-cache-control "^1.0.1" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-response-object@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.2.tgz#7f435bb210454e4360d074ef1f989d5ea8aa9810" + integrity sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA== + dependencies: + "@types/node" "^10.0.3" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.1.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +immer@10.0.2: + version "10.0.2" + resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.2.tgz#11636c5b77acf529e059582d76faf338beb56141" + integrity sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA== + +immutable@^4.0.0-rc.12: + version "4.3.7" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381" + integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +io-ts@1.10.4: + version "1.10.4" + resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2" + integrity sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g== + dependencies: + fp-ts "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.x: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stream-stringify@^3.1.4: + version "3.1.6" + resolved "https://registry.yarnpkg.com/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz#ebe32193876fb99d4ec9f612389a8d8e2b5d54d4" + integrity sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonpath@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" + integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== + dependencies: + esprima "1.2.2" + static-eval "2.0.2" + underscore "1.12.1" + +jsonschema@^1.2.4: + version "1.5.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.5.0.tgz#f6aceb1ab9123563dd901d05f81f9d4883d3b7d8" + integrity sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw== + +keccak@^3.0.0, keccak@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + +lodash.isempty@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + integrity sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isobject@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" + integrity sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +logplease@^1.2.15: + version "1.2.15" + resolved "https://registry.yarnpkg.com/logplease/-/logplease-1.2.15.tgz#3da442e93751a5992cc19010a826b08d0293c48a" + integrity sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA== + +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + +lru_map@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +markdown-table@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" + integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== + +merge2@^1.2.3, merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micro-eth-signer@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/micro-eth-signer/-/micro-eth-signer-0.14.0.tgz#8aa1fe997d98d6bdf42f2071cef7eb01a66ecb22" + integrity sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw== + dependencies: + "@noble/curves" "~1.8.1" + "@noble/hashes" "~1.7.1" + micro-packed "~0.7.2" + +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== + +micro-packed@~0.7.2: + version "0.7.3" + resolved "https://registry.yarnpkg.com/micro-packed/-/micro-packed-0.7.3.tgz#59e96b139dffeda22705c7a041476f24cabb12b6" + integrity sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg== + dependencies: + "@scure/base" "~1.2.5" + +micromatch@^4.0.4, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.35: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1, minimatch@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@0.5.x: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mnemonist@^0.38.0: + version "0.38.5" + resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade" + integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== + dependencies: + obliterator "^2.0.0" + +mocha@^10.0.0, mocha@^10.2.0, mocha@^10.4.0: + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" + +mochawesome-report-generator@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz#65a30a11235ba7a68e1cf0ca1df80d764b93ae78" + integrity sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg== + dependencies: + chalk "^4.1.2" + dateformat "^4.5.1" + escape-html "^1.0.3" + fs-extra "^10.0.0" + fsu "^1.1.1" + lodash.isfunction "^3.0.9" + opener "^1.5.2" + prop-types "^15.7.2" + tcomb "^3.2.17" + tcomb-validation "^3.3.0" + validator "^13.6.0" + yargs "^17.2.1" + +mochawesome@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/mochawesome/-/mochawesome-7.1.3.tgz#07b358138f37f5b07b51a1b255d84babfa36fa83" + integrity sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ== + dependencies: + chalk "^4.1.2" + diff "^5.0.0" + json-stringify-safe "^5.0.1" + lodash.isempty "^4.4.0" + lodash.isfunction "^3.0.9" + lodash.isobject "^3.0.2" + lodash.isstring "^4.0.1" + mochawesome-report-generator "^6.2.0" + strip-ansi "^6.0.1" + uuid "^8.3.2" + +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoassert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" + integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== + +ndjson@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-2.0.0.tgz#320ac86f6fe53f5681897349b86ac6f43bfa3a19" + integrity sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ== + dependencies: + json-stringify-safe "^5.0.1" + minimist "^1.2.5" + readable-stream "^3.6.0" + split2 "^3.0.0" + through2 "^4.0.0" + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-emoji@^1.10.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== + dependencies: + lodash "^4.17.21" + +node-fetch@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp-build@^4.2.0, node-gyp-build@^4.2.2: + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== + +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== + dependencies: + abbrev "1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +obliterator@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.5.tgz#031e0145354b0c18840336ae51d41e7d6d2c76aa" + integrity sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw== + +once@1.x, once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +ordinal@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ordinal/-/ordinal-1.0.3.tgz#1a3c7726a61728112f50944ad7c35c06ae3a0d4d" + integrity sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ== + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +parse-cache-control@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" + integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.17: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +picocolors@^1.1.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +poseidon-lite@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/poseidon-lite/-/poseidon-lite-0.3.0.tgz#93c42f6f9b870f154f2722dfd686b909c4285765" + integrity sha512-ilJj4MIve4uBEG7SrtPqUUNkvpJ/pLVbndxa0WvebcQqeIhe+h72JR4g0EvwchUzm9sOQDlOjiDNmRAgxNZl4A== + +poseidon-solidity@0.0.5, poseidon-solidity@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/poseidon-solidity/-/poseidon-solidity-0.0.5.tgz#3f93e01cfe25f6d2f2fac49734fbb00961b84655" + integrity sha512-NzrvSwHzvZgT4hvg2GyGqeR+UOU/eLSEt4wAoXEua+VaR7NTKKwx1X9bPlh1VMBEVEno+IWvkRBbidFGzTeAqQ== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prettier-plugin-solidity@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-2.0.0.tgz#69b318d7f67a1ad8ca227bec5e4a4310685e95c0" + integrity sha512-tis3SwLSrYKDzzRFle48fjPM4GQKBtkVBUajAkt4b75/cc6zojFP7qjz6fDxKfup+34q0jKeSM3QeP9flJFXWw== + dependencies: + "@nomicfoundation/slang" "1.1.0" + "@solidity-parser/parser" "^0.20.1" + semver "^7.7.1" + +prettier@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" + integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== + +prettier@^2.3.1: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== + dependencies: + asap "~2.0.6" + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +qs@^6.4.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== + dependencies: + side-channel "^1.1.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +r1csfile@0.0.48: + version "0.0.48" + resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.48.tgz#a317fc75407a9da92631666c75bdfc13f0a7835a" + integrity sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw== + dependencies: + "@iden3/bigarray" "0.0.2" + "@iden3/binfileutils" "0.0.12" + fastfile "0.0.20" + ffjavascript "0.3.0" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +raw-body@^2.4.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.2.2: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + +req-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/req-cwd/-/req-cwd-2.0.0.tgz#d4082b4d44598036640fb73ddea01ed53db49ebc" + integrity sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ== + dependencies: + req-from "^2.0.0" + +req-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/req-from/-/req-from-2.0.0.tgz#d74188e47f93796f4aa71df6ee35ae689f3e0e70" + integrity sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA== + dependencies: + resolve-from "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== + +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== + +resolve@1.17.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.1.6: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + dependencies: + is-core-module "^2.16.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sc-istanbul@^0.4.5: + version "0.4.6" + resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" + integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +scrypt-js@3.0.1, scrypt-js@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" + integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== + dependencies: + elliptic "^6.5.7" + node-addon-api "^5.0.0" + node-gyp-build "^4.2.0" + +semver@^5.5.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.4, semver@^7.7.1: + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== + +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sha1@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/sha1/-/sha1-1.1.1.tgz#addaa7a93168f393f19eb2b15091618e2700f848" + integrity sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA== + dependencies: + charenc ">= 0.0.1" + crypt ">= 0.0.1" + +shelljs@^0.8.3: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snarkjs@^0.7.4: + version "0.7.5" + resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.7.5.tgz#334d83b61468bdffbbf922b20734ca47be50b8ab" + integrity sha512-h+3c4rXZKLhLuHk4LHydZCk/h5GcNvk5GjVKRRkHmfb6Ntf8gHOA9zea3g656iclRuhqQ3iKDWFgiD9ypLrKiA== + dependencies: + "@iden3/binfileutils" "0.0.12" + bfj "^7.0.2" + blake2b-wasm "^2.4.0" + circom_runtime "0.1.28" + ejs "^3.1.6" + fastfile "0.0.20" + ffjavascript "0.3.1" + js-sha3 "^0.8.0" + logplease "^1.2.15" + r1csfile "0.0.48" + +solc@0.8.26: + version "0.8.26" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" + integrity sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g== + dependencies: + command-exists "^1.2.8" + commander "^8.1.0" + follow-redirects "^1.12.1" + js-sha3 "0.8.0" + memorystream "^0.3.1" + semver "^5.5.0" + tmp "0.0.33" + +solidity-coverage@^0.8.14: + version "0.8.16" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.16.tgz#ae07bb11ebbd78d488c7e1a3cd15b8210692f1c9" + integrity sha512-qKqgm8TPpcnCK0HCDLJrjbOA2tQNEJY4dHX/LSSQ9iwYFS973MwjtgYn2Iv3vfCEQJTj5xtm4cuUMzlJsJSMbg== + dependencies: + "@ethersproject/abi" "^5.0.9" + "@solidity-parser/parser" "^0.20.1" + chalk "^2.4.2" + death "^1.1.0" + difflib "^0.2.4" + fs-extra "^8.1.0" + ghost-testrpc "^0.0.2" + global-modules "^2.0.0" + globby "^10.0.1" + jsonschema "^1.2.4" + lodash "^4.17.21" + mocha "^10.2.0" + node-emoji "^1.10.0" + pify "^4.0.1" + recursive-readdir "^2.2.2" + sc-istanbul "^0.4.5" + semver "^7.3.4" + shelljs "^0.8.3" + web3-utils "^1.3.6" + +source-map-support@^0.5.13: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== + dependencies: + amdefine ">=0.0.4" + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stacktrace-parser@^0.1.10: + version "0.1.11" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz#c7c08f9b29ef566b9a6f7b255d7db572f66fabc4" + integrity sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg== + dependencies: + type-fest "^0.7.1" + +static-eval@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" + integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== + dependencies: + escodegen "^1.8.1" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== + dependencies: + is-hex-prefixed "1.0.0" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +sync-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/sync-request/-/sync-request-6.1.0.tgz#e96217565b5e50bbffe179868ba75532fb597e68" + integrity sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw== + dependencies: + http-response-object "^3.0.1" + sync-rpc "^1.2.1" + then-request "^6.0.0" + +sync-rpc@^1.2.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.6.tgz#b2e8b2550a12ccbc71df8644810529deb68665a7" + integrity sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw== + dependencies: + get-port "^3.1.0" + +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + +table@^6.8.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" + integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tcomb-validation@^3.3.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/tcomb-validation/-/tcomb-validation-3.4.1.tgz#a7696ec176ce56a081d9e019f8b732a5a8894b65" + integrity sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA== + dependencies: + tcomb "^3.0.0" + +tcomb@^3.0.0, tcomb@^3.2.17: + version "3.2.29" + resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-3.2.29.tgz#32404fe9456d90c2cf4798682d37439f1ccc386c" + integrity sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ== + +then-request@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/then-request/-/then-request-6.0.2.tgz#ec18dd8b5ca43aaee5cb92f7e4c1630e950d4f0c" + integrity sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA== + dependencies: + "@types/concat-stream" "^1.6.0" + "@types/form-data" "0.0.33" + "@types/node" "^8.0.0" + "@types/qs" "^6.2.31" + caseless "~0.12.0" + concat-stream "^1.6.0" + form-data "^2.2.0" + http-basic "^8.1.1" + http-response-object "^3.0.1" + promise "^8.0.0" + qs "^6.4.0" + +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +tinyglobby@^0.2.6: + version "0.2.13" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.13.tgz#a0e46515ce6cbcd65331537e57484af5a7b2ff7e" + integrity sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw== + dependencies: + fdir "^6.4.4" + picomatch "^4.0.2" + +tmp@0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-command-line-args@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" + integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== + dependencies: + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" + +ts-essentials@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" + integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== + +ts-node@^10.9.1: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + +tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsort@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" + integrity sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@^4.0.0, type-detect@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" + integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + +typechain@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" + integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== + dependencies: + "@types/prettier" "^2.1.1" + debug "^4.3.1" + fs-extra "^7.0.0" + glob "7.1.7" + js-sha3 "^0.8.0" + lodash "^4.17.15" + mkdirp "^1.0.4" + prettier "^2.3.1" + ts-command-line-args "^2.2.0" + ts-essentials "^7.0.1" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +typescript@^5.1.6: + version "5.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" + integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== + +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + +uglify-js@^3.1.4: + version "3.19.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" + integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== + +underscore@1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" + integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + +undici@^5.14.0: + version "5.29.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.29.0.tgz#419595449ae3f2cdcba3580a2e8903399bd1f5a3" + integrity sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg== + dependencies: + "@fastify/busboy" "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +validator@^13.6.0: + version "13.15.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.15.0.tgz#2dc7ce057e7513a55585109eec29b2c8e8c1aefd" + integrity sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA== + +wasmbuilder@0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.16.tgz#f34c1f2c047d2f6e1065cbfec5603988f16d8549" + integrity sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA== + +wasmcurves@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.2.2.tgz#ca444f6a6f6e2a5cbe6629d98ff478a62b4ccb2b" + integrity sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ== + dependencies: + wasmbuilder "0.0.16" + +web-worker@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" + integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== + +web3-utils@^1.3.6: + version "1.10.4" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.4.tgz#0daee7d6841641655d8b3726baf33b08eda1cbec" + integrity sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A== + dependencies: + "@ethereumjs/util" "^8.1.0" + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereum-cryptography "^2.1.2" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which@^1.1.1, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +word-wrap@~1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + +ws@8.18.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + +ws@^7.4.6: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yargs-parser@^20.2.2, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-unparser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.2.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 640530db6924592e5da7ca6fc41338658624ef14 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer Date: Fri, 23 May 2025 17:16:32 +0200 Subject: [PATCH 41/49] fix nationality using mock passports --- app/src/screens/dev/MockDataScreen.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/screens/dev/MockDataScreen.tsx b/app/src/screens/dev/MockDataScreen.tsx index 046abdc59..7099a329f 100644 --- a/app/src/screens/dev/MockDataScreen.tsx +++ b/app/src/screens/dev/MockDataScreen.tsx @@ -213,6 +213,7 @@ const MockDataScreen: React.FC = ({}) => { ][2]; const idDocInput: Partial = { + nationality: selectedCountry, idType: 'mock_passport', signatureType: signatureTypeForGeneration as IdDocInput['signatureType'], From c6c4b356843717806c15a27a2b4e399f0ebac5f9 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 26 May 2025 11:08:40 -0500 Subject: [PATCH 42/49] SEL-181 & SEL-252: Update mobile app events (#570) * improve analytics handling * add error boundary that flushes segment events before error occurs * upgrade segment analytics package * flush analytics when user encounters error screen * track all click events * add tracking to loading screen * better init and click event names * track cloud backup and modal actions * use __DEV__ for debugging * add tracking to account recovery, auth, mock data * return false instead of throwing * add more tracking events * save wip event updating * abstract analytic event names * update click events * clean up * move reasons comment * add unsupported passport event --- app/App.tsx | 21 ++-- app/ios/OpenPassport/AppDelegate.mm | 10 ++ app/ios/Podfile.lock | 4 +- app/package.json | 2 +- app/src/Segment.ts | 8 +- app/src/components/ErrorBoundary.tsx | 46 ++++++++ app/src/components/buttons/AbstractButton.tsx | 20 ++++ .../buttons/HeldPrimaryButtonProveScreen.tsx | 2 + app/src/consts/analytics.ts | 95 ++++++++++++++++ app/src/hooks/useAppUpdates.ts | 8 ++ app/src/hooks/useConnectionModal.ts | 7 ++ .../aesop/PassportOnboardingScreen.tsx | 15 ++- app/src/screens/dev/MockDataScreen.tsx | 23 +++- .../screens/dev/MockDataScreenDeepLink.tsx | 6 +- app/src/screens/home/DisclaimerScreen.tsx | 2 + app/src/screens/misc/LaunchScreen.tsx | 8 +- app/src/screens/misc/LoadingScreen.tsx | 36 +++++- .../screens/passport/PassportCameraScreen.tsx | 19 +++- .../passport/PassportCameraTroubleScreen.tsx | 9 ++ .../passport/PassportNFCScanScreen.tsx | 30 +++-- .../passport/PassportNFCTroubleScreen.tsx | 9 ++ .../passport/PassportOnboardingScreen.tsx | 16 ++- .../passport/UnsupportedPassportScreen.tsx | 13 ++- .../screens/prove/ConfirmBelongingScreen.tsx | 17 ++- .../prove/ProofRequestStatusScreen.tsx | 18 ++- app/src/screens/prove/ProveScreen.tsx | 21 +++- app/src/screens/prove/QRCodeTroubleScreen.tsx | 9 ++ app/src/screens/prove/ViewFinderScreen.tsx | 30 ++++- .../recovery/AccountRecoveryChoiceScreen.tsx | 19 +++- .../recovery/AccountRecoveryScreen.tsx | 11 +- .../recovery/AccountVerifiedSuccessScreen.tsx | 2 + .../recovery/PassportDataNotFoundScreen.tsx | 8 ++ .../screens/settings/CloudBackupScreen.tsx | 34 +++++- app/src/stores/authProvider.tsx | 105 +++++++++++++----- app/src/utils/analytics.ts | 94 ++++++++++++++-- app/yarn.lock | 10 +- 36 files changed, 695 insertions(+), 92 deletions(-) create mode 100644 app/src/components/ErrorBoundary.tsx create mode 100644 app/src/consts/analytics.ts diff --git a/app/App.tsx b/app/App.tsx index 12fe27516..98bd2d896 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -4,6 +4,7 @@ import { Buffer } from 'buffer'; import React from 'react'; import { YStack } from 'tamagui'; +import ErrorBoundary from './src/components/ErrorBoundary'; import AppNavigation from './src/navigation'; import { initSentry, wrapWithSentry } from './src/Sentry'; import { AuthProvider } from './src/stores/authProvider'; @@ -16,15 +17,17 @@ global.Buffer = Buffer; function App(): React.JSX.Element { return ( - - - - - - - - - + + + + + + + + + + + ); } diff --git a/app/ios/OpenPassport/AppDelegate.mm b/app/ios/OpenPassport/AppDelegate.mm index fd3d91a5c..ef53149e0 100644 --- a/app/ios/OpenPassport/AppDelegate.mm +++ b/app/ios/OpenPassport/AppDelegate.mm @@ -5,6 +5,7 @@ #import #import #import +#import @implementation AppDelegate @@ -82,4 +83,13 @@ - (NSString *)stringFromDeviceToken:(NSData *)deviceToken return [tokenString copy]; } +// for segment deep link tracking +- (BOOL)application:(UIApplication *)application + openURL: (NSURL *)url + options:(nonnull NSDictionary *)options { + + [AnalyticsReactNative trackDeepLink:url withOptions:options]; + return YES; +} + @end diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 1845ddb38..dd1f38650 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -1804,7 +1804,7 @@ PODS: - Yoga - RNSVG (15.11.1): - React-Core - - segment-analytics-react-native (2.20.3): + - segment-analytics-react-native (2.21.0): - React-Core - sovran-react-native - Sentry (8.50.2): @@ -2231,7 +2231,7 @@ SPEC CHECKSUMS: RNScreens: b7e8d29c6be98f478bc3fb4a97cc770aa9ba7509 RNSentry: c462461c0a5aaba206265f1f3db01b237cd33239 RNSVG: 46769c92d1609e617dbf9326ad8a0cff912d0982 - segment-analytics-react-native: 6f98edf18246782ee7428c5380c6519a3d2acf5e + segment-analytics-react-native: dab2ae61d917629b8d040b572f9f7a11b2cc5940 Sentry: 1ca8405451040482877dcd344dfa3ef80b646631 SentryPrivate: d651efb234cf385ec9a1cdd3eff94b5e78a0e0fe SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d diff --git a/app/package.json b/app/package.json index 512fb0d6a..fd4fa06bd 100644 --- a/app/package.json +++ b/app/package.json @@ -55,7 +55,7 @@ "@react-native-google-signin/google-signin": "^13.1.0", "@react-navigation/native": "^7.0.14", "@react-navigation/native-stack": "^7.2.0", - "@segment/analytics-react-native": "^2.20.3", + "@segment/analytics-react-native": "^2.21.0", "@segment/sovran-react-native": "^1.1.3", "@sentry/react-native": "^6.10.0", "@stablelib/cbor": "^2.0.1", diff --git a/app/src/Segment.ts b/app/src/Segment.ts index 21fe64b31..2f20e6714 100644 --- a/app/src/Segment.ts +++ b/app/src/Segment.ts @@ -2,10 +2,12 @@ import '@ethersproject/shims'; import { SEGMENT_KEY } from '@env'; import { + BackgroundFlushPolicy, createClient, EventPlugin, PluginType, SegmentEvent, + StartupFlushPolicy, } from '@segment/analytics-react-native'; let segmentClient: ReturnType | null = null; @@ -43,10 +45,13 @@ export const createSegmentClient = () => { return segmentClient; } + const flushPolicies = [new StartupFlushPolicy(), new BackgroundFlushPolicy()]; + const client = createClient({ writeKey: SEGMENT_KEY, trackAppLifecycleEvents: true, - debug: true, + trackDeepLinks: true, + debug: __DEV__, collectDeviceId: false, defaultSettings: { integrations: { @@ -55,6 +60,7 @@ export const createSegmentClient = () => { }, }, }, + flushPolicies, }); client.add({ plugin: new DisableTrackingPlugin() }); diff --git a/app/src/components/ErrorBoundary.tsx b/app/src/components/ErrorBoundary.tsx new file mode 100644 index 000000000..c8b502923 --- /dev/null +++ b/app/src/components/ErrorBoundary.tsx @@ -0,0 +1,46 @@ +import React from 'react'; +import { Text, View } from 'react-native'; + +import analytics from '../utils/analytics'; + +const { flush: flushAnalytics } = analytics(); + +interface Props { + children: React.ReactNode; +} + +interface State { + hasError: boolean; +} + +class ErrorBoundary extends React.Component { + constructor(props: Props) { + super(props); + this.state = { hasError: false }; + } + + static getDerivedStateFromError(_: Error): State { + return { hasError: true }; + } + + componentDidCatch() { + // Flush analytics before the app crashes + flushAnalytics(); + } + + render() { + if (this.state.hasError) { + return ( + + Something went wrong. Please restart the app. + + ); + } + + return this.props.children; + } +} + +export default ErrorBoundary; diff --git a/app/src/components/buttons/AbstractButton.tsx b/app/src/components/buttons/AbstractButton.tsx index 49c158f85..d5bd4d5db 100644 --- a/app/src/components/buttons/AbstractButton.tsx +++ b/app/src/components/buttons/AbstractButton.tsx @@ -3,20 +3,25 @@ import { StyleSheet, ViewStyle } from 'react-native'; import { Button, Text, ViewProps } from 'tamagui'; import { shouldShowAesopRedesign } from '../../hooks/useAesopRedesign'; +import analytics from '../../utils/analytics'; import { dinot } from '../../utils/fonts'; import { pressedStyle } from './pressedStyle'; export interface ButtonProps extends ViewProps { children: React.ReactNode; animatedComponent?: React.ReactNode; + trackEvent?: string; } interface AbstractButtonProps extends ButtonProps { bgColor: string; borderColor?: string; color: string; + onPress?: ((e: any) => void) | null | undefined; } +const { trackEvent: analyticsTrackEvent } = analytics(); + /* Base Button component that can be used to create different types of buttons use PrimaryButton and SecondaryButton instead of this component or create a new button component @@ -30,13 +35,28 @@ export default function AbstractButton({ borderColor, style, animatedComponent, + trackEvent, + onPress, ...props }: AbstractButtonProps) { const hasBorder = borderColor ? true : false; + + const handlePress = (e: any) => { + if (trackEvent) { + // attempt to hide the event category + trackEvent = trackEvent.split(':')[1].trim() ?? trackEvent; + analyticsTrackEvent(`Click: ${trackEvent}`); + } + if (onPress) { + onPress(e); + } + }; + return (