@cef-ebsi/cli 1.0.0-alpha.7 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/LICENSE.txt +289 -0
  2. package/README.md +6 -6
  3. package/bin/cli.js +0 -0
  4. package/dist/abi/pilot/DidRegistryV4.js +942 -0
  5. package/dist/abi/pilot/DidRegistryV4.js.map +1 -0
  6. package/dist/abi/pilot/TimestampV3.js +995 -0
  7. package/dist/abi/pilot/TimestampV3.js.map +1 -0
  8. package/dist/abi/pilot/TirV4.js +710 -0
  9. package/dist/abi/pilot/TirV4.js.map +1 -0
  10. package/dist/abi/pilot/TprV3.js +707 -0
  11. package/dist/abi/pilot/TprV3.js.map +1 -0
  12. package/dist/abi/pilot/TsrV3.js +571 -0
  13. package/dist/abi/pilot/TsrV3.js.map +1 -0
  14. package/dist/abi/test/DidRegistry.js +1082 -0
  15. package/dist/abi/test/DidRegistry.js.map +1 -0
  16. package/dist/abi/test/DidRegistryV4.js +960 -0
  17. package/dist/abi/test/DidRegistryV4.js.map +1 -0
  18. package/dist/abi/test/{TarV3.js → SchemaSCRegistry.js} +319 -454
  19. package/dist/abi/test/SchemaSCRegistry.js.map +1 -0
  20. package/dist/abi/{pilot/TarV3.js → test/Timestamp.js} +450 -466
  21. package/dist/abi/test/Timestamp.js.map +1 -0
  22. package/dist/abi/test/TimestampV3.js +995 -0
  23. package/dist/abi/test/TimestampV3.js.map +1 -0
  24. package/dist/abi/test/Tir.js +897 -0
  25. package/dist/abi/test/Tir.js.map +1 -0
  26. package/dist/abi/test/TirV4.js +710 -0
  27. package/dist/abi/test/TirV4.js.map +1 -0
  28. package/dist/abi/test/Tpr.js +1268 -0
  29. package/dist/abi/test/Tpr.js.map +1 -0
  30. package/dist/abi/test/TprV3.js +707 -0
  31. package/dist/abi/test/TprV3.js.map +1 -0
  32. package/dist/abi/test/TsrV3.js +571 -0
  33. package/dist/abi/test/TsrV3.js.map +1 -0
  34. package/dist/app.js +112 -62
  35. package/dist/app.js.map +1 -1
  36. package/dist/buildParam/didV4.js +390 -0
  37. package/dist/buildParam/didV4.js.map +1 -0
  38. package/dist/buildParam/index.js +43 -20
  39. package/dist/buildParam/index.js.map +1 -1
  40. package/dist/buildParam/timestampV3.js +317 -0
  41. package/dist/buildParam/timestampV3.js.map +1 -0
  42. package/dist/buildParam/tirV4.js +119 -0
  43. package/dist/buildParam/tirV4.js.map +1 -0
  44. package/dist/buildParam/tntV2.js +181 -0
  45. package/dist/buildParam/tntV2.js.map +1 -0
  46. package/dist/buildParam/tprV3.js +82 -0
  47. package/dist/buildParam/tprV3.js.map +1 -0
  48. package/dist/buildParam/tsrV3.js +110 -0
  49. package/dist/buildParam/tsrV3.js.map +1 -0
  50. package/dist/commands/authorisation-v4.js +3 -127
  51. package/dist/commands/authorisation-v4.js.map +1 -1
  52. package/dist/commands/authorisation-v5.js +116 -0
  53. package/dist/commands/authorisation-v5.js.map +1 -0
  54. package/dist/commands/compute.js +135 -82
  55. package/dist/commands/compute.js.map +1 -1
  56. package/dist/commands/conformance-v3.js +32 -51
  57. package/dist/commands/conformance-v3.js.map +1 -1
  58. package/dist/commands/hardwarewallet.js +36 -0
  59. package/dist/commands/hardwarewallet.js.map +1 -0
  60. package/dist/commands/index.js +2 -0
  61. package/dist/commands/index.js.map +1 -1
  62. package/dist/commands/ledger-v4.js +16 -4
  63. package/dist/commands/ledger-v4.js.map +1 -1
  64. package/dist/commands/tnl.js +82 -0
  65. package/dist/commands/tnl.js.map +1 -0
  66. package/dist/commands/view.js +0 -8
  67. package/dist/commands/view.js.map +1 -1
  68. package/dist/config.js +95 -96
  69. package/dist/config.js.map +1 -1
  70. package/dist/programs/migrateDid.js +158 -0
  71. package/dist/programs/migrateDid.js.map +1 -0
  72. package/dist/programs/migrateTsr.js +158 -0
  73. package/dist/programs/migrateTsr.js.map +1 -0
  74. package/dist/scripts/accreditAndAuthorize/conformance/step1 +33 -34
  75. package/dist/scripts/accreditAndAuthorize/conformance/step2 +17 -17
  76. package/dist/scripts/accreditAndAuthorize/conformance/step3 +8 -8
  77. package/dist/scripts/accreditAndAuthorize/conformance/step4 +26 -26
  78. package/dist/scripts/accreditAndAuthorize/conformance/step5 +12 -12
  79. package/dist/scripts/accreditAndAuthorize/conformance/step6 +13 -13
  80. package/dist/scripts/accreditAndAuthorize/conformance/step7 +6 -6
  81. package/dist/scripts/accreditAndAuthorize/test/step1 +33 -34
  82. package/dist/scripts/accreditAndAuthorize/test/step2 +17 -17
  83. package/dist/scripts/accreditAndAuthorize/test/step3 +8 -8
  84. package/dist/scripts/accreditAndAuthorize/test/step4 +26 -26
  85. package/dist/scripts/accreditAndAuthorize/test/step5 +12 -12
  86. package/dist/scripts/accreditAndAuthorize/test/step6 +13 -13
  87. package/dist/scripts/accreditAndAuthorize/test/step7 +6 -6
  88. package/dist/scripts/accreditTI +20 -20
  89. package/dist/scripts/assets/CTRevocableCredential.json +29 -29
  90. package/dist/scripts/assets/CredentialToAttestVerifiableAuthorisationForTrustChain.json +28 -28
  91. package/dist/scripts/assets/Nodes.json +32 -0
  92. package/dist/scripts/assets/TrustedNodesList.json +33 -0
  93. package/dist/scripts/assets/VerifiableAccreditationToAccredit.json +35 -35
  94. package/dist/scripts/assets/VerifiableAccreditationToAttest.json +32 -32
  95. package/dist/scripts/assets/VerifiableAuthorisationForTrustChain.json +21 -21
  96. package/dist/scripts/assets/VerifiableAuthorisationToOnboard.json +23 -23
  97. package/dist/scripts/bootstrap/0a-loadTPROperator +5 -5
  98. package/dist/scripts/bootstrap/0b-loadAdmin +7 -8
  99. package/dist/scripts/bootstrap/1-populateTPR +89 -112
  100. package/dist/scripts/bootstrap/2-populateDID +6 -6
  101. package/dist/scripts/bootstrap/{4-populateTimestamp → 3-populateTimestamp} +8 -8
  102. package/dist/scripts/bootstrap/{5-populateTIR → 4-populateTIR} +8 -9
  103. package/dist/scripts/bootstrap/{6-populateTSR → 5-populateTSR} +81 -81
  104. package/dist/scripts/bootstrap/{7-setupConformanceIssuer → 6-setupConformanceIssuer} +34 -34
  105. package/dist/scripts/issueVcOnboard +9 -9
  106. package/dist/scripts/issueVcRootTAO +11 -11
  107. package/dist/scripts/issueVcTAO +12 -12
  108. package/dist/scripts/issueVcTI +12 -12
  109. package/dist/scripts/issueVcTnl +28 -0
  110. package/dist/scripts/issue_CTRevocableCredential +11 -12
  111. package/dist/scripts/issue_SelfAttestationSupportOffice +9 -10
  112. package/dist/scripts/issue_VerifiableAccreditationToAccredit +10 -11
  113. package/dist/scripts/issue_VerifiableAccreditationToAttest +10 -11
  114. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +9 -10
  115. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +8 -9
  116. package/dist/scripts/preregisterIssuer +6 -6
  117. package/dist/scripts/registerDidDocument_ES256K +5 -5
  118. package/dist/scripts/registerDidDocument_ES256K_ES256 +13 -13
  119. package/dist/scripts/registerIssuer +6 -6
  120. package/dist/scripts/updateVcRootTAO +10 -0
  121. package/dist/scripts/updateVcTAO +11 -0
  122. package/dist/scripts/updateVcTI +11 -0
  123. package/dist/scripts/verifyVcTnl +8 -0
  124. package/dist/scripts/wctv3/accreditAndAuthorize +106 -105
  125. package/dist/scripts/wctv3/holderWallet +39 -39
  126. package/dist/scripts/wctv3/issueToHolder +37 -37
  127. package/dist/scripts/wctv3/pda1 +3 -3
  128. package/dist/scripts/wctv3/verifier +7 -7
  129. package/dist/tsconfig.tsbuildinfo +1 -1
  130. package/dist/utils/Client.js +32 -34
  131. package/dist/utils/Client.js.map +1 -1
  132. package/dist/utils/HardwareWallet.js +251 -0
  133. package/dist/utils/HardwareWallet.js.map +1 -0
  134. package/dist/utils/index.js +1 -0
  135. package/dist/utils/index.js.map +1 -1
  136. package/dist/utils/print.js +1 -5
  137. package/dist/utils/print.js.map +1 -1
  138. package/dist/utils/utils.js +10 -2
  139. package/dist/utils/utils.js.map +1 -1
  140. package/dist/utils/verifiablePresentation.js +18 -19
  141. package/dist/utils/verifiablePresentation.js.map +1 -1
  142. package/package.json +107 -103
  143. package/LICENSE +0 -190
  144. package/dist/abi/pilot/TarV3.js.map +0 -1
  145. package/dist/abi/test/TarV3.js.map +0 -1
  146. package/dist/buildParam/tarV3.js +0 -193
  147. package/dist/buildParam/tarV3.js.map +0 -1
  148. package/dist/programs/appRegistration.js +0 -69
  149. package/dist/programs/appRegistration.js.map +0 -1
  150. package/dist/scripts/bootstrap/3-populateTAR +0 -28
  151. package/dist/scripts/initializeContracts +0 -5
@@ -1,15 +1,15 @@
1
1
  import { randomUUID, randomBytes, createHash } from "node:crypto";
2
2
  import Multihash from "multihashes";
3
3
  import { ethers } from "ethers";
4
- import { importJWK, SignJWT, base64url, calculateJwkThumbprint, } from "jose";
4
+ import { base64url, calculateJwkThumbprint } from "jose";
5
5
  import { util } from "@cef-ebsi/ebsi-did-resolver";
6
6
  import Joi from "joi";
7
7
  import { decodeJWT } from "did-jwt";
8
- import { Agent as SiopAgent, verifyJwtTar, } from "@cef-ebsi/siop-auth";
9
- import { ValidationError, verifyCredentialJwt, } from "@cef-ebsi/verifiable-credential";
8
+ import { getPublicKeyHex, ValidationError, verifyCredentialJwt, } from "@cef-ebsi/verifiable-credential";
10
9
  import { verifyPresentationJwt } from "@cef-ebsi/verifiable-presentation";
11
10
  import { EbsiWallet } from "@cef-ebsi/wallet-lib";
12
11
  import { formatEthersUnsignedTransaction, createVPJwt, removePrefix0x, yellow, red, computeSchemaId, getPublicKeyJwk, multibaseEncode, } from "../utils/index.js";
12
+ import { ledgerGetTransaction, ledgerGetTransactionReceipt, } from "./ledger-v4.js";
13
13
  export function getUserPin(did) {
14
14
  return createHash("sha256")
15
15
  .update(did)
@@ -61,6 +61,7 @@ export async function computeVerifyVpJwt(inputs, context) {
61
61
  ebsiAuthority: context.config.domain.replace(/^https?:\/\//, ""),
62
62
  ebsiEnvConfig,
63
63
  });
64
+ return "Verifiable Presentation is valid";
64
65
  }
65
66
  export function sha256(data) {
66
67
  let hash = createHash("sha256");
@@ -72,8 +73,79 @@ export function sha256(data) {
72
73
  }
73
74
  return hash.digest().toString("hex");
74
75
  }
76
+ export function getProperties(input) {
77
+ return Object.keys(input)
78
+ .filter((key) => Number.isNaN(Number(key)))
79
+ .reduce((obj, key) => {
80
+ /* eslint-disable-next-line no-param-reassign */
81
+ obj[key] = input[key];
82
+ return obj;
83
+ }, {});
84
+ }
85
+ export function getApiByContractId(contractId, context) {
86
+ const apiName = Object.keys(context.config.api).find((a) => {
87
+ const api = context.config.api[a];
88
+ return (api.contract &&
89
+ contractId.toLowerCase() === api.contract.address.toLowerCase());
90
+ });
91
+ if (!apiName)
92
+ throw new Error(`cannot get API with address ${contractId}`);
93
+ return context.config.api[apiName];
94
+ }
95
+ export function decodeLog(log, context) {
96
+ const api = getApiByContractId(log.address, context);
97
+ const logDecoded = api.contract.interface.parseLog(log);
98
+ const { name, signature, topic, args: argsWithArray } = logDecoded;
99
+ const args = getProperties(argsWithArray);
100
+ return { name, signature, topic, args };
101
+ }
102
+ export async function decodeLogs(input, context) {
103
+ if (!input)
104
+ throw new Error("Invalid logs: no input provided");
105
+ let receipt;
106
+ let logs;
107
+ if (typeof input === "string") {
108
+ receipt = await ledgerGetTransactionReceipt([input], false, context);
109
+ }
110
+ if (input.receipt) {
111
+ receipt = input.receipt;
112
+ }
113
+ if (input.logs) {
114
+ receipt = input;
115
+ }
116
+ if (receipt) {
117
+ if (!Array.isArray(receipt.logs)) {
118
+ throw new Error("Invalid logs: The input must be a transaction hash, a transaction receipt, or an array of logs");
119
+ }
120
+ logs = receipt.logs;
121
+ }
122
+ else {
123
+ if (!Array.isArray(input)) {
124
+ throw new Error("Invalid logs: The input must be a transaction hash, a transaction receipt, or an array of logs");
125
+ }
126
+ logs = input;
127
+ }
128
+ return logs.map((log) => decodeLog(log, context));
129
+ }
130
+ export async function decodeTransaction(tx, context) {
131
+ let txData;
132
+ if (typeof tx === "string") {
133
+ txData = (await ledgerGetTransaction([tx], false, context));
134
+ }
135
+ else {
136
+ txData = tx;
137
+ }
138
+ if (!txData.data && !txData.input) {
139
+ throw new Error("Invalid transaction: There is no input or data");
140
+ }
141
+ const api = getApiByContractId(txData.to, context);
142
+ const { args, functionFragment } = api.contract.interface.parseTransaction({
143
+ data: (txData.data || txData.input),
144
+ });
145
+ return { name: functionFragment.name, args: getProperties(args) };
146
+ }
75
147
  export async function compute(method, inputs, context) {
76
- const { config, client } = context;
148
+ const { client } = context;
77
149
  switch (method) {
78
150
  case "signTransaction": {
79
151
  const unsignedTransaction = inputs[0];
@@ -88,7 +160,7 @@ export async function compute(method, inputs, context) {
88
160
  const audience = inputs[2];
89
161
  if (!verifiableCredential)
90
162
  throw new Error("Verifiable Credential not defined");
91
- const { jwtVp, payload } = await createVPJwt(client, alg, verifiableCredential, audience, config);
163
+ const { jwtVp, payload } = await createVPJwt(client, alg, verifiableCredential, audience);
92
164
  yellow({ jwtVp, payload });
93
165
  return jwtVp;
94
166
  }
@@ -97,9 +169,6 @@ export async function compute(method, inputs, context) {
97
169
  const payloadJwt = inputs[1];
98
170
  const alg = (inputs[2] || "ES256K");
99
171
  Joi.assert(alg, Joi.string().valid("ES256K", "ES256", "RS256", "EdDSA").required());
100
- if (!client.keys[alg])
101
- throw new Error(`There is no key defined for alg ${alg}`);
102
- const privateKey = await importJWK(client.keys[alg].privateKeyJwk, alg);
103
172
  const iat = Math.floor(Date.now() / 1000) - 10;
104
173
  const exp = iat + 5 * 365 * 24 * 3600;
105
174
  const issuanceDate = `${new Date(iat * 1000)
@@ -129,34 +198,13 @@ export async function compute(method, inputs, context) {
129
198
  },
130
199
  ...payloadJwt,
131
200
  };
132
- const vc = await new SignJWT(payload)
133
- .setProtectedHeader({
134
- alg,
135
- typ: "JWT",
136
- kid: client.keys[alg].kid,
137
- ...(client.didVersion === 2 && {
138
- jwk: client.keys[alg].publicKeyJwk,
139
- }),
140
- })
141
- .setIssuer(client.did)
142
- .sign(privateKey);
201
+ const vc = await client.signJWT(payload, {}, alg);
143
202
  yellow(vc);
144
203
  return vc;
145
204
  }
146
205
  case "signJwt": {
147
206
  const [payload, alg, headers] = inputs;
148
- const privateKey = await importJWK(client.keys[alg].privateKeyJwk, alg);
149
- const jwt = await new SignJWT(payload)
150
- .setProtectedHeader({
151
- alg,
152
- typ: "JWT",
153
- kid: client.keys[alg].kid,
154
- ...(client.didVersion === 2 && {
155
- jwk: client.keys[alg].publicKeyJwk,
156
- }),
157
- ...headers,
158
- })
159
- .sign(privateKey);
207
+ const jwt = await client.signJWT(payload, headers, alg);
160
208
  yellow(jwt);
161
209
  return jwt;
162
210
  }
@@ -254,37 +302,6 @@ export async function compute(method, inputs, context) {
254
302
  throw error;
255
303
  }
256
304
  }
257
- case "verifyAuthenticationRequest": {
258
- const request = inputs[0];
259
- Joi.assert(request, Joi.object({
260
- client_id: Joi.string(),
261
- request: Joi.string(),
262
- }).unknown());
263
- await verifyJwtTar(request.request, {
264
- trustedAppsRegistry: `${config.api.tar.url}/apps`,
265
- });
266
- yellow("Authentication request OK");
267
- return request.client_id;
268
- }
269
- case "verifySessionResponse": {
270
- const nr = inputs[0];
271
- Joi.assert(nr, Joi.object({
272
- alg: Joi.string(),
273
- nonce: Joi.string(),
274
- response: Joi.object(),
275
- }).unknown());
276
- const key = client.keys[nr.alg];
277
- if (!key)
278
- throw new Error(`There is no key defined for alg ${nr.alg}`);
279
- const accessToken = await SiopAgent.verifyAkeResponse(nr.response, {
280
- nonce: nr.nonce,
281
- privateEncryptionKeyJwk: key.privateKeyEncryptionJwk,
282
- trustedAppsRegistry: `${config.api.tar.url}/apps`,
283
- alg: nr.alg,
284
- });
285
- yellow(`Session Response OK. Access token: ${accessToken}`);
286
- return accessToken;
287
- }
288
305
  case "did2": {
289
306
  const [jwk] = inputs;
290
307
  const did = EbsiWallet.createDid("NATURAL_PERSON", jwk);
@@ -319,24 +336,6 @@ export async function compute(method, inputs, context) {
319
336
  yellow(encoded);
320
337
  return encoded;
321
338
  }
322
- case "timestampId": {
323
- const hash = inputs[0];
324
- Joi.assert(hash, Joi.string());
325
- const bufferSha256 = Buffer.from(sha256(hash), "hex");
326
- const multihash = Multihash.encode(bufferSha256, "sha2-256", 32);
327
- const timestampId = `u${base64url.encode(multihash)}`;
328
- yellow(timestampId);
329
- return timestampId;
330
- }
331
- case "recordId": {
332
- const [address, blockNumber, hashValue] = inputs;
333
- Joi.assert(inputs, Joi.array().items(Joi.string()).length(3));
334
- const abiEncoded = ethers.utils.defaultAbiCoder.encode(["address", "uint256", "bytes"], [address, blockNumber, hashValue]);
335
- const bufferSha256 = Buffer.from(sha256(abiEncoded), "hex");
336
- const recordId = multibaseEncode("base64url", bufferSha256);
337
- yellow(recordId);
338
- return recordId;
339
- }
340
339
  case "decodeBase64": {
341
340
  const enc = inputs[0];
342
341
  const type = inputs[1] || "utf8";
@@ -346,6 +345,11 @@ export async function compute(method, inputs, context) {
346
345
  console.log(buffer);
347
346
  return buffer;
348
347
  }
348
+ if (type === "json") {
349
+ const decoded = JSON.parse(buffer.toString("utf8"));
350
+ yellow(decoded);
351
+ return decoded;
352
+ }
349
353
  const decoded = buffer.toString("utf8");
350
354
  yellow(decoded);
351
355
  return decoded;
@@ -364,9 +368,46 @@ export async function compute(method, inputs, context) {
364
368
  yellow(decoded);
365
369
  return decoded;
366
370
  }
371
+ case "decodeLogs": {
372
+ const logs = inputs[0];
373
+ const logsDecoded = await decodeLogs(logs, context);
374
+ yellow(logsDecoded);
375
+ return logsDecoded;
376
+ }
377
+ case "decodeTransaction": {
378
+ const tx = inputs[0];
379
+ const txDecoded = await decodeTransaction(tx, context);
380
+ yellow(txDecoded);
381
+ return txDecoded;
382
+ }
383
+ case "timestampId": {
384
+ const hash = inputs[0];
385
+ Joi.assert(hash, Joi.string());
386
+ const bufferSha256 = Buffer.from(sha256(hash), "hex");
387
+ const multihash = Multihash.encode(bufferSha256, "sha2-256", 32);
388
+ const timestampId = `u${base64url.encode(multihash)}`;
389
+ yellow(timestampId);
390
+ return timestampId;
391
+ }
392
+ case "recordId": {
393
+ const [address, blockNumber, hashValue] = inputs;
394
+ Joi.assert(inputs, Joi.array().items(Joi.string()).length(3));
395
+ const abiEncoded = ethers.utils.defaultAbiCoder.encode(["address", "uint256", "bytes"], [address, blockNumber, hashValue]);
396
+ const bufferSha256 = Buffer.from(sha256(abiEncoded), "hex");
397
+ const recordId = multibaseEncode("base64url", bufferSha256);
398
+ yellow(recordId);
399
+ return recordId;
400
+ }
367
401
  case "randomID": {
368
402
  return randomBytes(32).toString("hex");
369
403
  }
404
+ case "length": {
405
+ const [array] = inputs;
406
+ Joi.assert(array, Joi.array());
407
+ const len = array.length;
408
+ yellow(len);
409
+ return len;
410
+ }
370
411
  case "subaccountDid": {
371
412
  const [did] = inputs;
372
413
  Joi.assert(did, Joi.string());
@@ -402,9 +443,21 @@ export async function compute(method, inputs, context) {
402
443
  yellow(thumbprint);
403
444
  return thumbprint;
404
445
  }
446
+ case "address": {
447
+ const [hexOrJwk] = inputs;
448
+ let publicKeyHex;
449
+ if (typeof hexOrJwk === "string") {
450
+ publicKeyHex = hexOrJwk;
451
+ }
452
+ else {
453
+ publicKeyHex = getPublicKeyHex(hexOrJwk);
454
+ }
455
+ const address = ethers.utils.computeAddress(publicKeyHex);
456
+ yellow(address);
457
+ return address;
458
+ }
405
459
  default:
406
- red(`Invalid method '${method}'`);
407
- return 0;
460
+ throw new Error(`Invalid method '${method}'`);
408
461
  }
409
462
  }
410
463
  export default compute;
@@ -1 +1 @@
1
- {"version":3,"file":"compute.js","sourceRoot":"","sources":["../../src/commands/compute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compute.js","sourceRoot":"","sources":["../../src/commands/compute.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import { URLSearchParams } from "node:url";
3
3
  import Joi from "joi";
4
4
  import qs from "qs";
5
5
  import { base64url } from "multiformats/bases/base64";
6
- import { importJWK, SignJWT } from "jose";
7
6
  import { compute, getUserPin } from "./compute.js";
8
7
  import { httpCall, red } from "../utils/index.js";
9
8
  function stringify(obj, fields) {
@@ -49,7 +48,7 @@ export async function clientMockUpdateList(inputs, context) {
49
48
  const apiUrl = context.config.api.conformance.url;
50
49
  const response = await httpCall.post(`${apiUrl}/client-mock/updateList`, {
51
50
  did: context.client.did,
52
- id: statusIndex,
51
+ id: statusIndex.toString(),
53
52
  position: Number(statusListIndex),
54
53
  value: Number(value),
55
54
  });
@@ -107,17 +106,10 @@ export async function authMockAuthorize(inputs, context) {
107
106
  ...queryParams,
108
107
  client_metadata: clientMetadata,
109
108
  authorization_details: authorizationDetails,
109
+ iss: clientId,
110
+ aud: authorizationServer,
110
111
  };
111
- const clientPrivateKey = await importJWK(context.client.keys[alg].privateKeyJwk, alg);
112
- const requestParam = await new SignJWT(jwtPayload)
113
- .setProtectedHeader({
114
- typ: "JWT",
115
- alg,
116
- kid: context.client.keys[alg].kid,
117
- })
118
- .setIssuer(clientId)
119
- .setAudience(authorizationServer)
120
- .sign(clientPrivateKey);
112
+ const requestParam = await context.client.signJWT(jwtPayload, {}, alg);
121
113
  const responseAuthorize = await httpCall.get(`${openIdConfiguration.authorization_endpoint}?${new URLSearchParams({
122
114
  ...queryParams,
123
115
  request: requestParam,
@@ -136,21 +128,16 @@ export async function authMockDirectPostIdToken(inputs, context) {
136
128
  const authorizationServer = openIdCredentialIssuer.authorization_server ??
137
129
  openIdCredentialIssuer.credential_issuer;
138
130
  const { state, nonce } = issuerRequest;
139
- const clientPrivateKey = await importJWK(context.client.keys[alg].privateKeyJwk, alg);
140
- const idTokenDirectPost = await new SignJWT({
131
+ const iat = Math.floor(Date.now() / 1000);
132
+ const exp = iat + 5 * 60;
133
+ const idTokenDirectPost = await context.client.signJWT({
141
134
  nonce,
135
+ iss: context.client.did,
142
136
  sub: context.client.did,
143
- })
144
- .setProtectedHeader({
145
- typ: "JWT",
146
- alg,
147
- kid: context.client.keys[alg].kid,
148
- })
149
- .setIssuer(context.client.did)
150
- .setAudience(authorizationServer)
151
- .setIssuedAt()
152
- .setExpirationTime("5m")
153
- .sign(clientPrivateKey);
137
+ aud: authorizationServer,
138
+ iat,
139
+ exp,
140
+ }, {}, alg);
154
141
  const responseDirectPost = await httpCall.post(issuerRequest.redirect_uri, new URLSearchParams({
155
142
  id_token: idTokenDirectPost,
156
143
  state,
@@ -315,22 +302,17 @@ export async function authMockToken(inputs, context) {
315
302
  }),
316
303
  };
317
304
  }
305
+ const iat = Math.floor(Date.now() / 1000);
306
+ const exp = iat + 5 * 60;
318
307
  const jwtPayload = {
319
308
  ...queryParams,
309
+ iss: context.client.clientId,
310
+ aud: authorizationServer,
311
+ sub: context.client.clientId,
312
+ iat,
313
+ exp,
320
314
  };
321
- const clientPrivateKey = await importJWK(context.client.keys[alg].privateKeyJwk, alg);
322
- const clientAssertion = await new SignJWT(jwtPayload)
323
- .setProtectedHeader({
324
- typ: "JWT",
325
- alg,
326
- kid: context.client.keys[alg].kid,
327
- })
328
- .setIssuer(context.client.clientId)
329
- .setAudience(authorizationServer)
330
- .setSubject(context.client.clientId)
331
- .setIssuedAt()
332
- .setExpirationTime("5m")
333
- .sign(clientPrivateKey);
315
+ const clientAssertion = await context.client.signJWT(jwtPayload, {}, alg);
334
316
  const responseToken = await httpCall.post(openIdConfiguration.token_endpoint, new URLSearchParams({
335
317
  ...queryParams,
336
318
  client_assertion: clientAssertion,
@@ -347,18 +329,18 @@ export async function issuerMockCredential(inputs, context) {
347
329
  const clientId = context.client.didVersion === 1
348
330
  ? context.client.clientId
349
331
  : context.client.did;
350
- const clientPrivateKey = await importJWK(context.client.keys[alg].privateKeyJwk, alg);
351
- const proofJwt = await new SignJWT({ nonce })
352
- .setProtectedHeader({
332
+ const iat = Math.floor(Date.now() / 1000);
333
+ const exp = iat + 5 * 60;
334
+ const jwtPayload = {
335
+ nonce,
336
+ iss: clientId,
337
+ aud: openIdCredentialIssuer.credential_issuer,
338
+ iat,
339
+ exp,
340
+ };
341
+ const proofJwt = await context.client.signJWT(jwtPayload, {
353
342
  typ: "openid4vci-proof+jwt",
354
- alg,
355
- kid: context.client.keys[alg].kid,
356
- })
357
- .setIssuer(clientId)
358
- .setAudience(openIdCredentialIssuer.credential_issuer)
359
- .setIssuedAt()
360
- .setExpirationTime("5m")
361
- .sign(clientPrivateKey);
343
+ }, alg);
362
344
  const responseCredential = await httpCall.post(`${openIdCredentialIssuer.credential_issuer}/credential`, {
363
345
  types: requestedTypes,
364
346
  format: "jwt_vc",
@@ -774,8 +756,7 @@ export async function conformanceV3(method, inputs, context) {
774
756
  return check(inputs, context);
775
757
  }
776
758
  default:
777
- red(`Invalid method '${method}'`);
778
- return 0;
759
+ throw new Error(`Invalid method '${method}'`);
779
760
  }
780
761
  }
781
762
  export default conformanceV3;
@@ -1 +1 @@
1
- {"version":3,"file":"conformance-v3.js","sourceRoot":"","sources":["../../src/commands/conformance-v3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AA6ClD,SAAS,SAAS,CAAC,GAAY,EAAE,MAAgB;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,IAAI,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAY,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAgB,EAAE,OAAgB;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,IAAe,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAgB;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;IAClD,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,IAIjE,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,uBAAuB,EAAE;QACrE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;YAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO;gBACL,GAAG,GAAG,CAAC,aAAa;gBACpB,GAAG,EAAE,GAAG,CAAC,GAAG;aACb,CAAC;QACJ,CAAC,CAAC;QACF,GAAG,CAAC,gBAAgB,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,MAAM,gBAAgB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,IAA6B,CAAC,QAAQ;QACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAgB,EAAE,OAAgB;IAC3E,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,yBAAyB,EAAE;QACvE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QACvB,EAAE,EAAE,WAAW;QACf,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAe,EAAE,OAAgB;IACvE,MAAM,CACJ,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACZ,GAAG,MAOH,CAAC;IACF,MAAM,GAAG,GAAI,QAAgB,IAAI,OAAO,CAAC;IAEzC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzE,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC;IAEvC,MAAM,mBAAmB,GACvB,sBAAsB,CAAC,oBAAoB;QAC3C,sBAAsB,CAAC,iBAAiB,CAAC;IAE3C,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;QACzB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IAEzB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,GAAG,SAAS,CAAC,UAAU,CAClC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CACnD,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,eAAe;QACpC,CAAC,CAAC;YACE,sBAAsB,EAAE,SAAS;SAClC;QACH,CAAC,CAAC;YACE,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,UAAU,CAAC;YACrD,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,OAAO;YAC3C,sBAAsB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,YAAY;SAC/D,CAAC;IAEN,MAAM,oBAAoB,GAAG;QAC3B;YACE,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;YACrD,KAAK,EAAE,cAAc;SACtB;KACF,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAC/C,YAAY,EAAE,eAAe;YAC3B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,UAAU;QACxC,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,UAAU,EAAE;QACnB,GAAG,CAAC,eAAe,IAAI;YACrB,cAAc,EAAE,aAAa;YAC7B,qBAAqB,EAAE,MAAM;SAC9B,CAAC;QACF,GAAG,CAAC,WAAW,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;QACjD,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;KAC5D,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,GAAG,WAAW;QACd,eAAe,EAAE,cAAc;QAC/B,qBAAqB,EAAE,oBAAoB;KAC5C,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,SAAS,CACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EACtC,GAAG,CACJ,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;SAC/C,kBAAkB,CAAC;QAClB,GAAG,EAAE,KAAK;QACV,GAAG;QACH,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;KAClC,CAAC;SACD,SAAS,CAAC,QAAQ,CAAC;SACnB,WAAW,CAAC,mBAAmB,CAAC;SAChC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE1B,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,GAAG,CAC1C,GAAG,mBAAmB,CAAC,sBAAsB,IAAI,IAAI,eAAe,CAAC;QACnE,GAAG,WAAW;QACd,OAAO,EAAE,YAAY;KACQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC9C,CAAC;IAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,OAAkC,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAe,EACf,OAAgB;IAEhB,MAAM,CAAC,sBAAsB,EAAE,aAAa,EAAE,QAAQ,CAAC,GAAG,MAIzD,CAAC;IACF,MAAM,GAAG,GAAI,QAAgB,IAAI,OAAO,CAAC;IAEzC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzE,MAAM,mBAAmB,GACvB,sBAAsB,CAAC,oBAAoB;QAC3C,sBAAsB,CAAC,iBAAiB,CAAC;IAE3C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;IACvC,MAAM,gBAAgB,GAAG,MAAM,SAAS,CACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EACtC,GAAG,CACJ,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,OAAO,CAAC;QAC1C,KAAK;QACL,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;KACxB,CAAC;SACC,kBAAkB,CAAC;QAClB,GAAG,EAAE,KAAK;QACV,GAAG;QACH,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;KAClC,CAAC;SACD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;SAC7B,WAAW,CAAC,mBAAmB,CAAC;SAChC,WAAW,EAAE;SACb,iBAAiB,CAAC,IAAI,CAAC;SACvB,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE1B,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAC5C,aAAa,CAAC,YAAY,EAC1B,IAAI,eAAe,CAAC;QAClB,QAAQ,EAAE,iBAAiB;QAC3B,KAAK;KACN,CAAC,CAAC,QAAQ,EAAE,EACb;QACE,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;SACpD;KACF,CACF,CAAC;IAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,OAAkC,CAAC;IAC3E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAiB;IAC/D,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,MAIpC,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;IAChC,MAAM,sBAAsB,GAC1B,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC;YACE,EAAE,EAAE,UAAU,EAAE;YAChB,aAAa,EAAE,0CAA0C;YACzD,cAAc,EAAE;gBACd;oBACE,EAAE,EAAE,2CAA2C;oBAC/C,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE;wBACX,EAAE,EAAE,2CAA2C;wBAC/C,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD;oBACE,EAAE,EAAE,4CAA4C;oBAChD,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE;wBACX,EAAE,EAAE,4CAA4C;wBAChD,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD;oBACE,EAAE,EAAE,4CAA4C;oBAChD,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE;wBACX,EAAE,EAAE,4CAA4C;wBAChD,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD;oBACE,EAAE,EAAE,6CAA6C;oBACjD,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE;wBACX,EAAE,EAAE,6CAA6C;wBACjD,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD;oBACE,EAAE,EAAE,+CAA+C;oBACnD,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE;wBACX,EAAE,EAAE,+CAA+C;wBACnD,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD;oBACE,EAAE,EAAE,gDAAgD;oBACpD,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE;wBACX,EAAE,EAAE,gDAAgD;wBACpD,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD;oBACE,EAAE,EAAE,gDAAgD;oBACpD,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE;wBACX,EAAE,EAAE,gDAAgD;wBACpD,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;gBACD;oBACE,EAAE,EAAE,iDAAiD;oBACrD,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE;wBACX,EAAE,EAAE,iDAAiD;wBACrD,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;aACF;SACF;QACH,CAAC,CAAC;YACE,EAAE,EAAE,UAAU,EAAE;YAChB,aAAa,EAAE,4BAA4B;YAC3C,cAAc,EAAE;gBACd;oBACE,EAAE,EAAE,qCAAqC;oBACzC,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,GAAG;oBACT,WAAW,EAAE;wBACX,EAAE,EAAE,qCAAqC;wBACzC,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,8BAA8B;qBACrC;iBACF;aACF;SACF,CAAC;IACR,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAC5C,aAAa,CAAC,YAAY,EAC1B,IAAI,eAAe,CAAC;QAClB,QAAQ,EAAE,KAAK;QACf,KAAK;QACL,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;KAChE,CAAC,CAAC,QAAQ,EAAE,EACb;QACE,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;SACpD;KACF,CACF,CAAC;IAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,OAAkC,CAAC;IAC3E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAe,EAAE,OAAgB;IACnE,MAAM,CACJ,sBAAsB,EACtB,mBAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,IAAI,EACL,GAAG,MAOH,CAAC;IACF,MAAM,GAAG,GAAI,QAAgB,IAAI,OAAO,CAAC;IAEzC,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC;IAEvC,MAAM,mBAAmB,GACvB,sBAAsB,CAAC,oBAAoB;QAC3C,sBAAsB,CAAC,iBAAiB,CAAC;IAE3C,IAAI,WAAoC,CAAC;IACzC,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,WAAW,GAAG;YACZ,UAAU,EAAE,sDAAsD;YAClE,qBAAqB,EAAE,IAAI;YAC3B,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;SACzC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,WAAW,GAAG;YACZ,UAAU,EAAE,oBAAoB;YAChC,IAAI;YACJ,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;YACzE,GAAG,CAAC,CAAC,eAAe,IAAI;gBACtB,qBAAqB,EACnB,wDAAwD;aAC3D,CAAC;YACF,GAAG,CAAC,eAAe,IAAI;gBACrB,aAAa,EAAE,YAAY;aAC5B,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,GAAG,WAAW;KACf,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,SAAS,CACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EACtC,GAAG,CACJ,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;SAClD,kBAAkB,CAAC;QAClB,GAAG,EAAE,KAAK;QACV,GAAG;QACH,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;KAClC,CAAC;SACD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;SAClC,WAAW,CAAC,mBAAmB,CAAC;SAChC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;SACnC,WAAW,EAAE;SACb,iBAAiB,CAAC,IAAI,CAAC;SACvB,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE1B,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CACvC,mBAAmB,CAAC,cAAc,EAClC,IAAI,eAAe,CAAC;QAClB,GAAG,WAAW;QACd,gBAAgB,EAAE,eAAe;KAClC,CAAC,CAAC,QAAQ,EAAE,EACb;QACE,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;SACpD;KACF,CACF,CAAC;IACF,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAe,EAAE,OAAgB;IAC1E,MAAM,CAAC,sBAAsB,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,MAKjE,CAAC;IACF,MAAM,GAAG,GAAI,QAAgB,IAAI,OAAO,CAAC;IACzC,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;QACzB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IAEzB,MAAM,gBAAgB,GAAG,MAAM,SAAS,CACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EACtC,GAAG,CACJ,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;SAC1C,kBAAkB,CAAC;QAClB,GAAG,EAAE,sBAAsB;QAC3B,GAAG;QACH,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;KAClC,CAAC;SACD,SAAS,CAAC,QAAQ,CAAC;SACnB,WAAW,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;SACrD,WAAW,EAAE;SACb,iBAAiB,CAAC,IAAI,CAAC;SACvB,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE1B,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAC5C,GAAG,sBAAsB,CAAC,iBAAiB,aAAa,EACxD;QACE,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE;YACL,UAAU,EAAE,KAAK;YACjB,GAAG,EAAE,QAAQ;SACd;KACF,EACD,OAAO,CAAC,QAAQ,CACjB,CAAC;IACF,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAiB;IACxD,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,GAAG,MAGjD,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAClC,sBAAsB,CAAC,4BAA4B,EACnD,SAAS,EACT;QACE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,eAAe,EAAE;SAC3C;KACF,CACF,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,MAAe,EACf,OAAgB;IAEhB,MAAM,CAAC,+BAA+B,EAAE,cAAc,CAAC,GAAG,MAGzD,CAAC;IAEF,MAAM,aAAa,GAAG;QACpB,eAAe,EAAE,cAAc;QAC/B,yBAAyB,EAAE,4BAA4B;QACvD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;KAC9B,CAAC;IAEF,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,CAC/B,GAAG,+BAA+B,IAAI,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CACpE,CAAC;IAEF,IAAI,MAAc,CAAC;IACnB,IAAI,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,IAAI,GAAG,CAAE,QAAQ,CAAC,OAAgC,CAAC,QAAQ,CAAC;aAClE,MAAM,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IAED,MAAM,qBAAqB,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAoB,CAAC;IAE3E,IAAI,qBAAqB,CAAC,oBAAoB,EAAE,CAAC;QAC/C,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC,IAA8B,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,CAAC,KAAK,CACb,qBAAqB,CAAC,gBAAgB,CACF,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAe,EAAE,OAAgB;IACnE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,MAKzC,CAAC;IACF,MAAM,GAAG,GAAI,QAAgB,IAAI,OAAO,CAAC;IACzC,IAAI,yBAAiC,CAAC;IACtC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,yBAAyB,GAAG,GAAG,WAAW,uCAAuC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,yBAAyB,GAAG,gBAAgB,WAAW,uCAAuC,CAAC;QACjG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yBAAyB;YACvB,mDAAmD,CAAC;IACxD,CAAC;IAED,IAAI,cAAwB,CAAC;IAC7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,cAAc,GAAG;gBACf,sBAAsB;gBACtB,uBAAuB;gBACvB,kCAAkC;aACnC,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,cAAc,GAAG;gBACf,sBAAsB;gBACtB,uBAAuB;gBACvB,yBAAyB;gBACzB,iCAAiC;aAClC,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,cAAc,GAAG;gBACf,sBAAsB;gBACtB,uBAAuB;gBACvB,yBAAyB;gBACzB,mCAAmC;aACpC,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,cAAc,GAAG;gBACf,sBAAsB;gBACtB,uBAAuB;gBACvB,sCAAsC;aACvC,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,cAAc,GAAG;gBACf,sBAAsB;gBACtB,uBAAuB;gBACvB,aAAa;aACd,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,cAAc,GAAG;gBACf,sBAAsB;gBACtB,uBAAuB;gBACvB,6BAA6B;aAC9B,CAAC;YACF,MAAM;QACR,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAElC,8EAA8E;IAC9E,OAAO,CAAC,GAAG,CAAC,uBAAuB,yBAAyB,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,CAAC,MAAM,cAAc,CACpC,CAAC,yBAAyB,CAAC,EAC3B,OAAO,CACR,CAA2B,CAAC;IAE7B,MAAM,mBAAmB,GACvB,QAAQ,CAAC,oBAAoB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAE9D,0FAA0F;IAC1F,OAAO,CAAC,GAAG,CACT,uBAAuB,mBAAmB,mCAAmC,CAC9E,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAClC,CAAC,mBAAmB,EAAE,mCAAmC,CAAC,EAC1D,OAAO,CACR,CAAwB,CAAC;IAE1B,oFAAoF;IACpF,OAAO,CAAC,GAAG,CACT,qCAAqC,SAAS,CAAC,QAAQ,EAAE;QACvD,sBAAsB;QACtB,mBAAmB;KACpB,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CACnE,cAAc,CACf,IAAI,GAAG,EAAE,CACX,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAC3C,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EACvC,OAAO,CACR,CAAC;IAEF,IAAI,IAAY,CAAC;IACjB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,4DAA4D;QAC5D,OAAO,CAAC,GAAG,CACT,qCAAqC,EAAE,IAAI,OAAO,IAAI,GAAG,IACvD,MAAM,CAAC,MACT,EAAE,CACH,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAC1B,uBAAuB,EACvB,CAAC,EAAE,IAAI,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EACnC,OAAO,CACR,CAAW,CAAC;QAEb,4EAA4E;QAC5E,OAAO,CAAC,GAAG,CACT,6CAA6C,IAAI,CAAC,SAAS,CACzD,aAAa,CACd,IAAI,KAAK,EAAE,CACb,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,MAAM,yBAAyB,CAAC;YACtD,aAAa;YACb,KAAK;SACN,CAAC,CAAqB,CAAC;QACxB,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,qFAAqF;QACrF,OAAO,CAAC,GAAG,CACT,6CAA6C,SAAS,CAAC,QAAQ,EAAE;YAC/D,sBAAsB;YACtB,mBAAmB;SACpB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,GAAG,EAAE,CAC7C,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,MAAM,yBAAyB,CACrD,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC,EAC9B,OAAO,CACR,CAAqB,CAAC;QACvB,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,GAAG,CACT,iCAAiC,SAAS,CAAC,QAAQ,EAAE;QACnD,sBAAsB;QACtB,mBAAmB;KACpB,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,CAC7D,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,CACpC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,EAC7B,OAAO,CACR,CAA8C,CAAC;IAEhD,oCAAoC;IACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,QAAQ,GAAG;QACjB,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,SAAS,CAAC,YAAY,EAAE;SAClD;KACF,CAAC;IAEF,iGAAiG;IACjG,OAAO,CAAC,GAAG,CACT,wCAAwC,SAAS,CAAC,QAAQ,EAAE;QAC1D,mBAAmB;KACpB,CAAC,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,GAAG,EAAE,CACnE,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,MAAM,oBAAoB,CAChD,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,EAClD,OAAO,CACR,CAAqD,CAAC;IAEvD,IAAI,UAAkB,CAAC;IACvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,+EAA+E;QAC/E,OAAO,CAAC,GAAG,CACT,sCAAsC,SAAS,CAAC,QAAQ,EAAE;YACxD,8BAA8B;SAC/B,CAAC,IAAI,cAAc,CAAC,gBAAgB,EAAE,CACxC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,MAAM,kBAAkB,CAAC;YAC7C,QAAQ;YACR,cAAc,CAAC,gBAAgB;SAChC,CAAC,CAA2B,CAAC;QAC9B,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,gEAAgE;IAChE,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;IACnD,MAAM,iBAAiB,GAAG,CAAC,MAAM,OAAO,CACtC,WAAW,EACX,CAAC,UAAU,CAAC,EACZ,OAAO,CACR,CAIA,CAAC;IAEF,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,IACE,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAC5B,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB;QAC9C,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,EAClE,CAAC;QACD,mBAAmB;YACjB,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;IACvE,CAAC;IAED,OAAO;QACL,EAAE,EAAE,UAAU;QACd,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAe,EAAE,OAAgB;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;IAElD,MAAM,CACJ,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,EAAE,EACF,mBAAmB,EACnB,WAAW,EACZ,GAAG,MAA0D,CAAC;IAC/D,MAAM,GAAG,GAAI,QAAgB,IAAI,OAAO,CAAC;IAEzC,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG;QACrB,sBAAsB;QACtB,uBAAuB;QACvB,cAAc;KACf,CAAC;IAEF,IAAI,yBAAiC,CAAC;IACtC,IAAI,+BAAuC,CAAC;IAC5C,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,yBAAyB,GAAG,GAAG,WAAW,uCAAuC,CAAC;YAClF,+BAA+B,GAAG,GAAG,WAAW,4BAA4B,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,yBAAyB,GAAG,gBAAgB,WAAW,uCAAuC,CAAC;YAC/F,+BAA+B,GAAG,GAAG,MAAM,gBAAgB,WAAW,4BAA4B,CAAC;QACrG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yBAAyB;YACvB,mDAAmD,CAAC;QACtD,+BAA+B,GAAG,GAAG,MAAM,wCAAwC,CAAC;IACtF,CAAC;IAED,iGAAiG;IACjG,OAAO,CAAC,GAAG,CACT,qDAAqD,+BAA+B,IAAI,cAAc,EAAE,CACzG,CAAC;IACF,IAAI,eAAuC,CAAC;IAC5C,MAAM,qBAAqB,GAAG;QAC5B,sBAAsB;QACtB,uBAAuB;KACxB,CAAC;IACF,IACE,mBAAmB;QACnB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EACpD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,yDAAyD,qBAAqB,CAAC,IAAI,CACjF,IAAI,CACL,EAAE,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,kBAAkB,GAAG,mBAAmB,KAAK,uBAAuB,CAAC;IAC3E,MAAM,eAAe,GAAG,iBAAiB;SACtC,WAAW,EAAE;SACb,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,IAAI,eAAe;YACjB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,eAAe,GAAG,MAAM,iCAAiC,CACvD,CAAC,+BAA+B,EAAE,cAAc,CAAC,EACjD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,OAAO,CAAC,GAAG,CAAC,uBAAuB,yBAAyB,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,CAAC,MAAM,cAAc,CACpC,CAAC,yBAAyB,CAAC,EAC3B,OAAO,CACR,CAA2B,CAAC;IAE7B,MAAM,mBAAmB,GACvB,QAAQ,CAAC,oBAAoB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAE9D,0FAA0F;IAC1F,OAAO,CAAC,GAAG,CACT,uBAAuB,mBAAmB,mCAAmC,CAC9E,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAClC,CAAC,mBAAmB,EAAE,mCAAmC,CAAC,EAC1D,OAAO,CACR,CAAwB,CAAC;IAE1B,IAAI,IAAY,CAAC;IACjB,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI;YACF,eAAe,CAAC,MAAM,CACpB,sDAAsD,CACvD,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,oFAAoF;QACpF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,kBAAkB;YACpB,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,kBAAkB;gBACrD,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,YAAY;gBACxD,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CACT,qCAAqC,SAAS,CAAC,QAAQ,EAAE;YACvD,sBAAsB;YACtB,mBAAmB;SACpB,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CACnE,cAAc,CACf,IAAI,GAAG,IAAI,YAAY,IAAI,WAAW,EAAE,CAC1C,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAC3C,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,CAAC,EAClE,OAAO,CACR,CAAC;QAEF,IAAI,cAAc,KAAK,iCAAiC,EAAE,CAAC;YACzD,4DAA4D;YAC5D,OAAO,CAAC,GAAG,CACT,qCAAqC,EAAE,IAAI,OAAO,IAAI,GAAG,IACvD,MAAM,CAAC,MACT,EAAE,CACH,CAAC;YACF,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAC1B,uBAAuB,EACvB,CAAC,EAAE,IAAI,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EACnC,OAAO,CACR,CAAW,CAAC;YAEb,4EAA4E;YAC5E,OAAO,CAAC,GAAG,CACT,6CAA6C,IAAI,CAAC,SAAS,CACzD,aAAa,CACd,IAAI,KAAK,SAAS,CACpB,CAAC;YACF,MAAM,cAAc,GAAG,CAAC,MAAM,yBAAyB,CAAC;gBACtD,aAAa;gBACb,KAAK;gBACL,QAAQ;aACT,CAAC,CAAqB,CAAC;YACxB,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,qFAAqF;YACrF,OAAO,CAAC,GAAG,CACT,6CAA6C,SAAS,CAAC,QAAQ,EAAE;gBAC/D,sBAAsB;gBACtB,mBAAmB;aACpB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,GAAG,EAAE,CAC7C,CAAC;YACF,MAAM,cAAc,GAAG,CAAC,MAAM,yBAAyB,CACrD,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC,EAC9B,OAAO,CACR,CAAqB,CAAC;YACvB,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,GAAG,CACT,iCAAiC,SAAS,CAAC,QAAQ,EAAE;QACnD,sBAAsB;QACtB,mBAAmB;KACpB,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE;QACtB,gBAAgB;KACjB,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,YAAY,EAAE,CACpC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,CACpC;QACE,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,GAAG;QACH,YAAY;QACZ,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;KACvC,EACD,OAAO,CACR,CAA8C,CAAC;IAEhD,oCAAoC;IACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,QAAQ,GAAG;QACjB,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,SAAS,CAAC,YAAY,EAAE;SAClD;KACF,CAAC;IAEF,iGAAiG;IACjG,OAAO,CAAC,GAAG,CACT,wCAAwC,SAAS,CAAC,QAAQ,EAAE;QAC1D,mBAAmB;KACpB,CAAC,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,GAAG,EAAE,CACnE,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,MAAM,oBAAoB,CAChD,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,EAClD,OAAO,CACR,CAAqD,CAAC;IAEvD,IAAI,UAAkB,CAAC;IACvB,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,+EAA+E;QAC/E,OAAO,CAAC,GAAG,CACT,sCAAsC,SAAS,CAAC,QAAQ,EAAE;YACxD,8BAA8B;SAC/B,CAAC,IAAI,cAAc,CAAC,gBAAgB,EAAE,CACxC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,MAAM,kBAAkB,CAAC;YAC7C,QAAQ;YACR,cAAc,CAAC,gBAAgB;SAChC,CAAC,CAA2B,CAAC;QAC9B,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAAe,EAAE,OAAgB;IAC3D,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,MAI5C,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAClC,GAAG,MAAM,QAAQ,EACjB;QACE,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YACjC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;YACvB,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YACzC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;YACvC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;YACvC,GAAG,CAAC,iBAAiB,IAAI;gBACvB,iBAAiB;gBACjB,OAAO;aACR,CAAC;SACH;QACD,MAAM;KACP,CACF,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,YACb,QAAQ,CAAC,IAAI,CAAC,MAAM;YAClB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,eACN,EAAE,CACH,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAAkC,EAClC,OAAgB;IAEhB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,cAAc,CAAC,MAAkB,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,OAAO,oBAAoB,CAAC,MAAkB,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,OAAO,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;YACjC,OAAO,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;YACjC,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,mCAAmC,CAAC,CAAC,CAAC;YACzC,OAAO,iCAAiC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;QAED;YACE,GAAG,CAAC,mBAAmB,MAAM,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"conformance-v3.js","sourceRoot":"","sources":["../../src/commands/conformance-v3.ts"],"names":[],"mappings":"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"}