@interop/did-cli 0.12.0 → 0.14.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 (82) hide show
  1. package/CHANGELOG.md +131 -6
  2. package/README.md +184 -18
  3. package/dist/commands/did/create.d.ts +22 -0
  4. package/dist/commands/did/create.d.ts.map +1 -1
  5. package/dist/commands/did/create.js +6 -27
  6. package/dist/commands/did/create.js.map +1 -1
  7. package/dist/commands/did/service.d.ts +19 -4
  8. package/dist/commands/did/service.d.ts.map +1 -1
  9. package/dist/commands/did/service.js +46 -45
  10. package/dist/commands/did/service.js.map +1 -1
  11. package/dist/commands/did/webvh-update.d.ts +72 -9
  12. package/dist/commands/did/webvh-update.d.ts.map +1 -1
  13. package/dist/commands/did/webvh-update.js +177 -61
  14. package/dist/commands/did/webvh-update.js.map +1 -1
  15. package/dist/commands/did.d.ts.map +1 -1
  16. package/dist/commands/did.js +10 -1
  17. package/dist/commands/did.js.map +1 -1
  18. package/dist/commands/key.d.ts +2 -16
  19. package/dist/commands/key.d.ts.map +1 -1
  20. package/dist/commands/key.js +64 -11
  21. package/dist/commands/key.js.map +1 -1
  22. package/dist/commands/was/request-grant.d.ts +37 -0
  23. package/dist/commands/was/request-grant.d.ts.map +1 -0
  24. package/dist/commands/was/request-grant.js +248 -0
  25. package/dist/commands/was/request-grant.js.map +1 -0
  26. package/dist/commands/was/resource.d.ts +21 -7
  27. package/dist/commands/was/resource.d.ts.map +1 -1
  28. package/dist/commands/was/resource.js +40 -15
  29. package/dist/commands/was/resource.js.map +1 -1
  30. package/dist/commands/was/shared.d.ts +43 -3
  31. package/dist/commands/was/shared.d.ts.map +1 -1
  32. package/dist/commands/was/shared.js +82 -4
  33. package/dist/commands/was/shared.js.map +1 -1
  34. package/dist/commands/was/shell/completer.d.ts +24 -0
  35. package/dist/commands/was/shell/completer.d.ts.map +1 -0
  36. package/dist/commands/was/shell/completer.js +99 -0
  37. package/dist/commands/was/shell/completer.js.map +1 -0
  38. package/dist/commands/was/shell/dispatcher.d.ts +27 -0
  39. package/dist/commands/was/shell/dispatcher.d.ts.map +1 -0
  40. package/dist/commands/was/shell/dispatcher.js +227 -0
  41. package/dist/commands/was/shell/dispatcher.js.map +1 -0
  42. package/dist/commands/was/shell/session.d.ts +37 -0
  43. package/dist/commands/was/shell/session.d.ts.map +1 -0
  44. package/dist/commands/was/shell/session.js +67 -0
  45. package/dist/commands/was/shell/session.js.map +1 -0
  46. package/dist/commands/was/shell/tokenize.d.ts +19 -0
  47. package/dist/commands/was/shell/tokenize.d.ts.map +1 -0
  48. package/dist/commands/was/shell/tokenize.js +77 -0
  49. package/dist/commands/was/shell/tokenize.js.map +1 -0
  50. package/dist/commands/was/shell.d.ts +30 -0
  51. package/dist/commands/was/shell.d.ts.map +1 -0
  52. package/dist/commands/was/shell.js +170 -0
  53. package/dist/commands/was/shell.js.map +1 -0
  54. package/dist/commands/was/tree.d.ts +6 -1
  55. package/dist/commands/was/tree.d.ts.map +1 -1
  56. package/dist/commands/was/tree.js +12 -5
  57. package/dist/commands/was/tree.js.map +1 -1
  58. package/dist/commands/was.d.ts.map +1 -1
  59. package/dist/commands/was.js +31 -1
  60. package/dist/commands/was.js.map +1 -1
  61. package/dist/keys/seed.d.ts +21 -0
  62. package/dist/keys/seed.d.ts.map +1 -0
  63. package/dist/keys/seed.js +41 -0
  64. package/dist/keys/seed.js.map +1 -0
  65. package/dist/keys/webvh-signer.d.ts +18 -13
  66. package/dist/keys/webvh-signer.d.ts.map +1 -1
  67. package/dist/keys/webvh-signer.js +5 -20
  68. package/dist/keys/webvh-signer.js.map +1 -1
  69. package/dist/meta.js +1 -1
  70. package/dist/meta.js.map +1 -1
  71. package/dist/storage.d.ts.map +1 -1
  72. package/dist/storage.js +57 -10
  73. package/dist/storage.js.map +1 -1
  74. package/dist/was/address.d.ts +24 -0
  75. package/dist/was/address.d.ts.map +1 -1
  76. package/dist/was/address.js +49 -3
  77. package/dist/was/address.js.map +1 -1
  78. package/dist/was/request-grant.d.ts +144 -0
  79. package/dist/was/request-grant.d.ts.map +1 -0
  80. package/dist/was/request-grant.js +249 -0
  81. package/dist/was/request-grant.js.map +1 -0
  82. package/package.json +22 -20
@@ -13,8 +13,9 @@
13
13
  * stub. Keys are referenced by their `publicKeyMultibase` fingerprint or by a
14
14
  * metadata handle. Data goes to stdout, diagnostics and errors to stderr.
15
15
  */
16
+ import { createHash, randomBytes } from 'node:crypto';
16
17
  import { Command } from 'commander';
17
- import { decodeSecretKeySeed, generateSecretKeySeed } from '@digitalcredentials/bnid';
18
+ import { IdEncoder } from '@digitalcredentials/bnid';
18
19
  import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
19
20
  import * as EcdsaMultikey from '@interop/ecdsa-multikey';
20
21
  import { X25519KeyAgreementKey2020 } from '@interop/x25519-key-agreement-key';
@@ -23,10 +24,17 @@ import { saveMetaToCollection, saveToCollection } from '../storage.js';
23
24
  import { mapFingerprintsToDids, parseKeyStorageId, resolveKeyRef } from '../meta.js';
24
25
  import { renderTable, truncateMiddle } from '../table.js';
25
26
  import { isEcdsaPublicKeyMultibase, normalizeEcdsaCurve, SUPPORTED_ECDSA_CURVES, warnIfNotVcIssuanceCapable } from '../keys/ecdsa.js';
27
+ import { deriveSeed } from '../keys/seed.js';
26
28
  import { runAndExit } from './was/shared.js';
27
29
  import { applyMetaEdits, requireSaveForMetaFlags, resolveRefOrReport, runListCollection, runRemoveCollection, writeCreateMeta } from './collection-command.js';
28
30
  /** The wallet collection name for stored keys. */
29
31
  const COLLECTION = 'keys';
32
+ /**
33
+ * The Multikey header for an AES-256 symmetric key (`0xa2 0x01`, the multicodec
34
+ * varint for `aes-256`), prefixed before the 32 raw key bytes in a KEK's
35
+ * `secretKeyMultibase`.
36
+ */
37
+ const AES_256_MULTIKEY_HEADER = Buffer.from([0xa2, 0x01]);
30
38
  /**
31
39
  * Build the human-readable key type label shown in list/show output, e.g.
32
40
  * `ed25519` or `ecdsa-p256`, from a parsed key storage ID.
@@ -62,7 +70,8 @@ function didsCell({ dids }) {
62
70
  * wallet, and prints the key (or the seed-wrapped form) to stdout.
63
71
  *
64
72
  * @param options {object}
65
- * @param options.type {string} Key type: ed25519, ecdsa, x25519, or hmac.
73
+ * @param options.type {string} Key type: ed25519, ecdsa, x25519, hmac, or
74
+ * aes256.
66
75
  * @param options.curve {string} ECDSA curve, for --type ecdsa.
67
76
  * @param [options.save] {boolean} Save the key to wallet storage.
68
77
  * @param [options.handle] {string} Short tag stored in the metadata sidecar.
@@ -77,13 +86,9 @@ export async function runCreate(options) {
77
86
  }
78
87
  switch (options.type) {
79
88
  case 'ed25519': {
80
- const envSeed = process.env.SECRET_KEY_SEED;
81
- const secretKeySeed = options.withSeed
82
- ? (envSeed ?? (await generateSecretKeySeed()))
83
- : envSeed;
84
- const seedBytes = secretKeySeed
85
- ? decodeSecretKeySeed({ secretKeySeed })
86
- : undefined;
89
+ const { secretKeySeed, seedBytes } = await deriveSeed({
90
+ withSeed: options.withSeed
91
+ });
87
92
  const keyPair = await Ed25519VerificationKey.generate({
88
93
  seed: seedBytes
89
94
  });
@@ -222,9 +227,50 @@ export async function runCreate(options) {
222
227
  console.log(JSON.stringify(exported, null, 2));
223
228
  return 0;
224
229
  }
230
+ case 'aes256': {
231
+ if (options.withSeed) {
232
+ console.error('--with-seed is not supported for aes256 keys; an AES-256 KEK is ' +
233
+ 'always generated from fresh random bytes, never derived from a ' +
234
+ 'seed.');
235
+ return 1;
236
+ }
237
+ // 32 random key bytes prefixed with the AES-256 Multikey header, encoded
238
+ // as base58btc multibase -- a symmetric Multikey `secretKeyMultibase`.
239
+ const keyBytes = randomBytes(32);
240
+ const secretKeyMultibase = new IdEncoder({
241
+ encoding: 'base58',
242
+ multibase: true
243
+ }).encode(Buffer.concat([AES_256_MULTIKEY_HEADER, keyBytes]));
244
+ // The id is derived from the RAW 32 key bytes (header excluded), matching
245
+ // the KEK id a Wallet Attached Storage server derives from the same value.
246
+ const id = `urn:kek:sha256:${createHash('sha256')
247
+ .update(keyBytes)
248
+ .digest('hex')}`;
249
+ const exported = { id, type: 'Multikey', secretKeyMultibase };
250
+ if (options.save) {
251
+ const now = new Date();
252
+ const date = now.toISOString().slice(0, 10);
253
+ const storageId = `${date}-aes256-${id}`.replaceAll(':', '_');
254
+ const filePath = await saveToCollection({
255
+ collection: 'keys',
256
+ storageId,
257
+ data: exported
258
+ });
259
+ await writeCreateMeta({
260
+ collection: COLLECTION,
261
+ storageId,
262
+ created: now.toISOString(),
263
+ handle: options.handle,
264
+ description: options.description
265
+ });
266
+ console.error(`Key saved to ${filePath}`);
267
+ }
268
+ console.log(JSON.stringify(exported, null, 2));
269
+ return 0;
270
+ }
225
271
  default:
226
272
  console.error(`Unknown key type: ${options.type}. ` +
227
- 'Supported: ed25519, ecdsa, x25519, hmac');
273
+ 'Supported: ed25519, ecdsa, x25519, hmac, aes256');
228
274
  return 1;
229
275
  }
230
276
  }
@@ -368,6 +414,13 @@ export async function runShow(options) {
368
414
  // never the secret material.
369
415
  publicKey = { id: storedKey.id, type: 'Sha256HmacKey2019' };
370
416
  }
417
+ else if (storedKey.type === 'Multikey' &&
418
+ storedKey.secretKeyMultibase &&
419
+ !storedKey.publicKeyMultibase) {
420
+ // A symmetric AES-256 KEK (a Multikey with a secretKeyMultibase and no
421
+ // public half); show only its safe fields, never the secret material.
422
+ publicKey = { id: storedKey.id, type: 'Multikey' };
423
+ }
371
424
  else if (storedKey.type === 'X25519KeyAgreementKey2020') {
372
425
  publicKey = await (await X25519KeyAgreementKey2020.from(storedKey)).export({ publicKey: true });
373
426
  }
@@ -490,7 +543,7 @@ export function makeKeyCommand() {
490
543
  key
491
544
  .command('create')
492
545
  .description('Create a new key')
493
- .option('-t, --type <type>', 'key type (supported: ed25519, ecdsa, x25519, hmac)', 'ed25519')
546
+ .option('-t, --type <type>', 'key type (supported: ed25519, ecdsa, x25519, hmac, aes256)', 'ed25519')
494
547
  .option('--curve <curve>', `ECDSA curve for --type ecdsa (supported: ${SUPPORTED_ECDSA_CURVES})`, 'p256')
495
548
  .option('--save', 'save the key to local wallet storage (~/.config/did-cli-wallet/keys/)')
496
549
  .option('--handle <handle>', 'short tag for the saved key (requires --save)')
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAEjB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAEhC,kDAAkD;AAClD,MAAM,UAAU,GAAG,MAAM,CAAA;AAEzB;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAEzD;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,EACpB,IAAI,EACJ,KAAK,EAIN;IACC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAC,EAAE,IAAI,EAAsB;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;AACnE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAO/B;IACC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC;gBACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC;gBACpD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAA;YACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;gBACpC,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,IAAI,OAAO,CAAC,kBAAkB,CAAA;gBACvD,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,UAAU,CAC7D,GAAG,EACH,GAAG,CACJ,CAAA;gBACD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;oBACtC,UAAU,EAAE,MAAM;oBAClB,SAAS;oBACT,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC;oBACpB,UAAU,EAAE,UAAU;oBACtB,SAAS;oBACT,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE;oBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAA;gBACF,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ;gBAC7B,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE;gBACtC,CAAC,CAAC,QAAQ,CAAA;YACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,OAAO,CAAC,CAAA;QACV,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CACX,yDAAyD;oBACvD,wDAAwD;oBACxD,cAAc,CACjB,CAAA;gBACD,OAAO,CAAC,CAAA;YACV,CAAC;YACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CACX,wBAAwB,OAAO,CAAC,KAAK,IAAI;oBACvC,cAAc,sBAAsB,EAAE,CACzC,CAAA;gBACD,OAAO,CAAC,CAAA;YACV,CAAC;YACD,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;gBACpC,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,kBAAkB,CAAA;gBACxD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;gBACvD,MAAM,SAAS,GAAG,GAAG,IAAI,UAAU,UAAU,IAAI,KAAK,EAAE,CAAC,UAAU,CACjE,GAAG,EACH,GAAG,CACJ,CAAA;gBACD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;oBACtC,UAAU,EAAE,MAAM;oBAClB,SAAS;oBACT,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC;oBACpB,UAAU,EAAE,UAAU;oBACtB,SAAS;oBACT,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE;oBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAA;gBACF,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,OAAO,CAAC,CAAA;QACV,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CACX,2DAA2D;oBACzD,wDAAwD;oBACxD,cAAc,CACjB,CAAA;gBACD,OAAO,CAAC,CAAA;YACV,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,CAAA;YAC1D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;gBACpC,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,kBAAkB,CAAA;gBACxD,MAAM,SAAS,GAAG,GAAG,IAAI,WAAW,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAChE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;oBACtC,UAAU,EAAE,MAAM;oBAClB,SAAS;oBACT,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC;oBACpB,UAAU,EAAE,UAAU;oBACtB,SAAS;oBACT,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE;oBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAA;gBACF,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,OAAO,CAAC,CAAA;QACV,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CACX,uDAAuD;oBACrD,wDAAwD;oBACxD,cAAc,CACjB,CAAA;gBACD,OAAO,CAAC,CAAA;YACV,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAA;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACvD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC3C,MAAM,SAAS,GAAG,GAAG,IAAI,SAAS,QAAQ,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBACpE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;oBACtC,UAAU,EAAE,MAAM;oBAClB,SAAS;oBACT,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC;oBACpB,UAAU,EAAE,UAAU;oBACtB,SAAS;oBACT,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE;oBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAA;gBACF,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,OAAO,CAAC,CAAA;QACV,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CACX,kEAAkE;oBAChE,iEAAiE;oBACjE,OAAO,CACV,CAAA;gBACD,OAAO,CAAC,CAAA;YACV,CAAC;YACD,yEAAyE;YACzE,uEAAuE;YACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;YAChC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC;gBACvC,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC7D,0EAA0E;YAC1E,2EAA2E;YAC3E,MAAM,EAAE,GAAG,kBAAkB,UAAU,CAAC,QAAQ,CAAC;iBAC9C,MAAM,CAAC,QAAQ,CAAC;iBAChB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YAClB,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA;YAC7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC3C,MAAM,SAAS,GAAG,GAAG,IAAI,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAC7D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;oBACtC,UAAU,EAAE,MAAM;oBAClB,SAAS;oBACT,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC;oBACpB,UAAU,EAAE,UAAU;oBACtB,SAAS;oBACT,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE;oBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAA;gBACF,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,OAAO,CAAC,CAAA;QACV,CAAC;QACD;YACE,OAAO,CAAC,KAAK,CACX,qBAAqB,OAAO,CAAC,IAAI,IAAI;gBACnC,iDAAiD,CACpD,CAAA;YACD,OAAO,CAAC,CAAA;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAG7B;IACC,2EAA2E;IAC3E,yEAAyE;IACzE,IAAI,oBAAuD,CAAA;IAC3D,MAAM,eAAe,GAAG,KAAK,IAAoC,EAAE,CACjE,CAAC,oBAAoB,KAAK,MAAM,qBAAqB,EAAE,CAAC,CAAA;IAE1D,OAAO,iBAAiB,CAYtB;QACA,UAAU,EAAE,UAAU;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB;QACtC,iEAAiE;QACjE,iBAAiB;QACjB,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YAC3C,6DAA6D;YAC7D,uEAAuE;YACvE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAAE,CAAA;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;YAC/C,OAAO;gBACL,WAAW;gBACX,SAAS;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI;gBACrC,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,WAAW,EAAE,IAAI,EAAE,WAAW;gBAC9B,IAAI,EAAE,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;aACvD,CAAA;QACH,CAAC;QACD,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC1C,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5D,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;QACF,OAAO,EAAE;YACP,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClC,EAAE,MAAM,EAAE,MAAM,EAAE;YAClB,EAAE,MAAM,EAAE,SAAS,EAAE;YACrB,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;YACvC,EAAE,MAAM,EAAE,MAAM,EAAE;YAClB,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;SACxC;QACD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,MAAM,IAAI,EAAE;YAClB,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YACtD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;YACjC,KAAK,CAAC,WAAW;YACjB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9B,KAAK,CAAC,WAAW,IAAI,EAAE;SACxB;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAI7B;IACC,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAA;IACtB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC;QACxC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;QACtC,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,KAAK;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,iEAAiE;IACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAA;IACtE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAA;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAA;IAE9B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAA;QACrD,uEAAuE;QACvE,uDAAuD;QACvD,MAAM,IAAI,GAAG,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QACnE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG;gBACb,WAAW;gBACX,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;gBACzC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC5C,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC3B,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9D,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI;oBAChC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;iBACvC,CAAC;gBACF,IAAI;aACL,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,OAAO,CAAC,CAAA;QACV,CAAC;QACD,MAAM,IAAI,GAAG;YACX,CAAC,aAAa,EAAE,WAAW,CAAC;YAC5B,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;YAC1B,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;YACvC,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;YACjD,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B,CAAA;QACD,OAAO,CAAC,GAAG,CACT,WAAW,CAAC;YACV,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACnD,IAAI;SACL,CAAC,CACH,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,2EAA2E;IAC3E,oEAAoE;IACpE,IAAI,SAAS,CAAA;IACb,IAAK,SAA+B,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAClE,sEAAsE;QACtE,6BAA6B;QAC7B,SAAS,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;IAC7D,CAAC;SAAM,IACJ,SAA+B,CAAC,IAAI,KAAK,UAAU;QACnD,SAA6C,CAAC,kBAAkB;QACjE,CAAC,SAAS,CAAC,kBAAkB,EAC7B,CAAC;QACD,uEAAuE;QACvE,sEAAsE;QACtE,SAAS,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACpD,CAAC;SAAM,IACJ,SAA+B,CAAC,IAAI,KAAK,2BAA2B,EACrE,CAAC;QACD,SAAS,GAAG,MAAM,CAChB,MAAM,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAChD,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/B,CAAC;SAAM,IACL,yBAAyB,CAAC;QACxB,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;KACjD,CAAC,EACF,CAAC;QACD,SAAS,GAAG,MAAM,CAChB,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CACpC,CAAC,MAAM,CAAC;YACP,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,CAChB,MAAM,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAC7C,CAAC,MAAM,CAAC;YACP,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/C,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAI7B;IACC,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAA;IACtB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC;QACxC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;QACtC,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,KAAK;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAA;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAA;IACnD,MAAM,IAAI,GAAG,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IAEnE,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,CAAA;IACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,MAAM,GAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAA;QACxD,sDAAsD;QACtD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,IAAI,CAAA;QACpB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5C,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,IAAI,GAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAA;IACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,kEAAkE;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QACrE,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;IACH,CAAC;IACD,cAAc,CAAC,IAAI,EAAE;QACnB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAA;IACF,iEAAiE;IACjE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;QAC1C,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,IAAI;KACL,CAAC,CAAA;IACF,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAA;IAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1C,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAuB;IACrD,OAAO,mBAAmB,CAAC;QACzB,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;QACtC,GAAG,EAAE,OAAO,CAAC,EAAE;KAChB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAG/B;IACC,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,KAAK,aAAa,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3E,kBAAkB;IAClB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAA;IAEvE,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CACL,mBAAmB,EACnB,4DAA4D,EAC5D,SAAS,CACV;SACA,MAAM,CACL,iBAAiB,EACjB,4CAA4C,sBAAsB,GAAG,EACrE,MAAM,CACP;SACA,MAAM,CACL,QAAQ,EACR,uEAAuE,CACxE;SACA,MAAM,CACL,mBAAmB,EACnB,+CAA+C,CAChD;SACA,MAAM,CACL,6BAA6B,EAC7B,uDAAuD,CACxD;SACA,MAAM,CACL,aAAa,EACb,iFAAiF,CAClF;SACA,MAAM,CACL,CAAC,OAOA,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CACrC,CAAA;IAEH,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CACL,QAAQ,EACR,0DAA0D,CAC3D;SACA,MAAM,CAAC,SAAS,EAAE,uDAAuD,CAAC;SAC1E,MAAM,CAAC,CAAC,OAA4C,EAAE,EAAE,CACvD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC7B,CAAA;IAEH,GAAG;SACA,OAAO,CAAC,WAAW,CAAC;SACpB,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACxB,WAAW,CACV,4DAA4D;QAC1D,0CAA0C,CAC7C;SACA,MAAM,CAAC,QAAQ,EAAE,wDAAwD,CAAC;SAC1E,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC;SAC5D,MAAM,CAAC,CAAC,EAAU,EAAE,OAA2C,EAAE,EAAE,CAClE,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CACxC,CAAA;IAEH,GAAG;SACA,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CACV,uEAAuE;QACrE,uDAAuD,CAC1D;SACA,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;SACzE,MAAM,CACL,6BAA6B,EAC7B,iDAAiD,CAClD;SACA,MAAM,CAAC,CAAC,EAAU,EAAE,OAAkD,EAAE,EAAE,CACzE,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CACxC,CAAA;IAEH,GAAG;SACA,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACzB,WAAW,CACV,2DAA2D;QACzD,2CAA2C,CAC9C;SACA,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAExD,GAAG;SACA,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,KAAK,CAAC;SACvE,MAAM,CAAC,CAAC,KAAa,EAAE,OAA2B,EAAE,EAAE,CACrD,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAC7C,CAAA;IAEH,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Requests a capability from a user's wallet: mints the grantee key, opens an
3
+ * ephemeral exchange carrying a zcap-only VPR, prints the interaction URL for
4
+ * the user to open, then waits for their approval and records what came back.
5
+ *
6
+ * @param options {object}
7
+ * @param [options.collection] {string} The collection to request (default
8
+ * `web`).
9
+ * @param [options.action] {string[]} The actions to request.
10
+ * @param [options.reason] {string} Why access is wanted, shown at consent.
11
+ * @param [options.name] {string} The agent's self-declared display name,
12
+ * shown at consent as what it calls itself.
13
+ * @param [options.server] {string} The WAS server base URL.
14
+ * @param [options.wallet] {string} A wallet base URL to print an approval
15
+ * deep link for, beside the interaction URL.
16
+ * @param [options.save] {boolean} Persist the key and capabilities
17
+ * (default true).
18
+ * @param [options.handle] {string} Handle to file them under.
19
+ * @param [options.description] {string} Longer description for the sidecar.
20
+ * @param [options.timeout] {string} Seconds to wait for approval.
21
+ * @param [options.json] {boolean} Print one JSON object instead of prose.
22
+ * @returns {Promise<number>} The process exit code.
23
+ */
24
+ export declare function runRequestGrant(options: {
25
+ collection?: string;
26
+ action?: string[];
27
+ reason?: string;
28
+ name?: string;
29
+ server?: string;
30
+ wallet?: string;
31
+ save?: boolean;
32
+ handle?: string;
33
+ description?: string;
34
+ timeout?: string;
35
+ json?: boolean;
36
+ }): Promise<number>;
37
+ //# sourceMappingURL=request-grant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-grant.d.ts","sourceRoot":"","sources":["../../../src/commands/was/request-grant.ts"],"names":[],"mappings":"AAsKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,GAAG,OAAO,CAAC,MAAM,CAAC,CAmIlB"}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * `was request-grant` -- ask a user's wallet for a capability on one of its
3
+ * public collections. The inverse of `was grant`: an agent runs this, the user
4
+ * approves in their wallet, and the agent receives a signed zcap it can then
5
+ * invoke with `was put --capability`.
6
+ *
7
+ * The grantee key is minted here rather than passed in, so the agent driving
8
+ * the CLI never handles key material: the secret goes straight to local DID
9
+ * storage and stdout carries only the capabilities (or, with `--json`, one
10
+ * object holding the DID, the handle, the interaction URL, and the
11
+ * capabilities). Everything addressed to the human -- the approval link and
12
+ * the progress notes -- goes to stderr, so stdout stays pipe-clean.
13
+ */
14
+ import { driver } from '@interop/did-method-key';
15
+ import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
16
+ import { sanitizeStorageId, saveToCollection } from '../../storage.js';
17
+ import { resolveDidRef, resolveZcapRef } from '../../meta.js';
18
+ import { encodeCapability } from '../../zcap/encoding.js';
19
+ import { awaitGrantedCapabilities, buildCapabilityRequest, buildWalletDeepLink, openGrantExchange, walletRequestRoute, GrantRequestError, DEFAULT_COLLECTION, DEFAULT_TIMEOUT_MS, MAX_TIMEOUT_MS } from '../../was/request-grant.js';
20
+ import { saveDidArtifacts } from '../did/create.js';
21
+ import { requireSaveForMetaFlags, writeCreateMeta } from '../collection-command.js';
22
+ import { reportError } from './shared.js';
23
+ /** The zcap wallet collection received capabilities are saved into. */
24
+ const ZCAP_COLLECTION = 'zcaps';
25
+ /** The handle the minted key and received capabilities are filed under. */
26
+ const DEFAULT_HANDLE = 'agent';
27
+ /**
28
+ * Mints the Ed25519 `did:key` the capabilities will be delegated to, holding
29
+ * it in memory only. Nothing is written yet: an exchange that is declined,
30
+ * expires, or times out must not leave a DID behind, since every abandoned run
31
+ * would otherwise file another key under the same handle and make later
32
+ * lookups of that handle ambiguous.
33
+ *
34
+ * @returns {Promise<{did: string, keyPair: Ed25519VerificationKey, didDocument: object}>}
35
+ */
36
+ async function mintAgentKey() {
37
+ const keyPair = await Ed25519VerificationKey.generate();
38
+ const didDriver = driver();
39
+ didDriver.use({ keyPairClass: Ed25519VerificationKey });
40
+ const { didDocument } = await didDriver.fromKeyPair({
41
+ verificationKeyPair: keyPair
42
+ });
43
+ return { did: didDocument.id, keyPair, didDocument };
44
+ }
45
+ /**
46
+ * Writes the minted key to local DID storage, once the grant it was minted for
47
+ * has actually arrived. Only a saved key can sign a later
48
+ * `was put --capability`, since that resolves its signer out of the DID store.
49
+ *
50
+ * @param options {object}
51
+ * @param options.keyPair {Ed25519VerificationKey}
52
+ * @param options.didDocument {object}
53
+ * @param options.handle {string}
54
+ * @param [options.description] {string}
55
+ * @returns {Promise<void>}
56
+ */
57
+ async function saveAgentDid({ keyPair, didDocument, handle, description }) {
58
+ const exported = await keyPair.export({ publicKey: true, secretKey: true });
59
+ await saveDidArtifacts({
60
+ method: 'key',
61
+ didDocument,
62
+ exportedKeys: exported,
63
+ fingerprints: [
64
+ exported.publicKeyMultibase
65
+ ],
66
+ handle,
67
+ description
68
+ });
69
+ }
70
+ /**
71
+ * Reports whether a handle is already filed against a stored DID or zcap. A
72
+ * run claims the handle in both stores at once, so a collision in either makes
73
+ * a later `--did <handle>` or `--capability <handle>` ambiguous.
74
+ *
75
+ * @param options {object}
76
+ * @param options.handle {string}
77
+ * @returns {Promise<boolean>}
78
+ */
79
+ async function isHandleTaken({ handle }) {
80
+ try {
81
+ if (await resolveDidRef({ ref: handle })) {
82
+ return true;
83
+ }
84
+ return (await resolveZcapRef({ ref: handle })) !== undefined;
85
+ }
86
+ catch {
87
+ // Resolution throws when the handle already matches more than one stored
88
+ // item, which is itself proof that it is taken.
89
+ return true;
90
+ }
91
+ }
92
+ /**
93
+ * Files the received capabilities in the local zcap store. The request carries
94
+ * one capability query, so one capability is the expected answer; any extras
95
+ * are saved under the same handle with a numeric suffix, which keeps every
96
+ * handle unambiguous for later lookup.
97
+ *
98
+ * @param options {object}
99
+ * @param options.zcaps {IZcap[]}
100
+ * @param options.handle {string}
101
+ * @param [options.description] {string}
102
+ * @returns {Promise<string[]>} The saved file paths.
103
+ */
104
+ async function saveCapabilities({ zcaps, handle, description }) {
105
+ const savedPaths = [];
106
+ for (const [index, zcap] of zcaps.entries()) {
107
+ const storageId = sanitizeStorageId(zcap.id);
108
+ savedPaths.push(await saveToCollection({
109
+ collection: ZCAP_COLLECTION,
110
+ storageId,
111
+ data: zcap
112
+ }));
113
+ await writeCreateMeta({
114
+ collection: ZCAP_COLLECTION,
115
+ storageId,
116
+ created: new Date().toISOString(),
117
+ handle: index === 0 ? handle : `${handle}-${index + 1}`,
118
+ description
119
+ });
120
+ }
121
+ return savedPaths;
122
+ }
123
+ /**
124
+ * Requests a capability from a user's wallet: mints the grantee key, opens an
125
+ * ephemeral exchange carrying a zcap-only VPR, prints the interaction URL for
126
+ * the user to open, then waits for their approval and records what came back.
127
+ *
128
+ * @param options {object}
129
+ * @param [options.collection] {string} The collection to request (default
130
+ * `web`).
131
+ * @param [options.action] {string[]} The actions to request.
132
+ * @param [options.reason] {string} Why access is wanted, shown at consent.
133
+ * @param [options.name] {string} The agent's self-declared display name,
134
+ * shown at consent as what it calls itself.
135
+ * @param [options.server] {string} The WAS server base URL.
136
+ * @param [options.wallet] {string} A wallet base URL to print an approval
137
+ * deep link for, beside the interaction URL.
138
+ * @param [options.save] {boolean} Persist the key and capabilities
139
+ * (default true).
140
+ * @param [options.handle] {string} Handle to file them under.
141
+ * @param [options.description] {string} Longer description for the sidecar.
142
+ * @param [options.timeout] {string} Seconds to wait for approval.
143
+ * @param [options.json] {boolean} Print one JSON object instead of prose.
144
+ * @returns {Promise<number>} The process exit code.
145
+ */
146
+ export async function runRequestGrant(options) {
147
+ const save = options.save !== false;
148
+ try {
149
+ if (!requireSaveForMetaFlags({
150
+ save,
151
+ ...(options.handle !== undefined && { handle: options.handle }),
152
+ ...(options.description !== undefined && {
153
+ description: options.description
154
+ })
155
+ })) {
156
+ return 2;
157
+ }
158
+ const server = options.server ?? process.env.WAS_SERVER_URL;
159
+ if (!server) {
160
+ throw new Error('No WAS server URL: provide --server or set WAS_SERVER_URL.');
161
+ }
162
+ const timeoutMs = options.timeout === undefined
163
+ ? DEFAULT_TIMEOUT_MS
164
+ : Number(options.timeout) * 1000;
165
+ if (!Number.isFinite(timeoutMs) ||
166
+ timeoutMs <= 0 ||
167
+ timeoutMs > MAX_TIMEOUT_MS) {
168
+ throw new Error(`Invalid --timeout "${options.timeout}": use seconds, up to ` +
169
+ `${Math.floor(MAX_TIMEOUT_MS / 1000)}.`);
170
+ }
171
+ const collection = options.collection ?? DEFAULT_COLLECTION;
172
+ const handle = options.handle ?? DEFAULT_HANDLE;
173
+ if (save && (await isHandleTaken({ handle }))) {
174
+ console.error(`The handle "${handle}" is already taken by a stored DID or ` +
175
+ 'capability; pass a different --handle.');
176
+ return 2;
177
+ }
178
+ const walletRoute = options.wallet === undefined
179
+ ? undefined
180
+ : walletRequestRoute({ wallet: options.wallet });
181
+ const { did: controller, keyPair, didDocument } = await mintAgentKey();
182
+ const request = buildCapabilityRequest({
183
+ controller,
184
+ collection,
185
+ ...(options.action !== undefined && { actions: options.action }),
186
+ ...(options.reason !== undefined && { reason: options.reason }),
187
+ ...(options.name !== undefined && { name: options.name })
188
+ });
189
+ const { exchangeUrl, interactionUrl } = await openGrantExchange({
190
+ server,
191
+ request
192
+ });
193
+ const walletUrl = walletRoute === undefined
194
+ ? undefined
195
+ : buildWalletDeepLink({ route: walletRoute, interactionUrl });
196
+ console.error(`Requesting "${collection}" access for ${controller}.\n` +
197
+ `Open this in your wallet to approve:\n\n ${interactionUrl}\n\n` +
198
+ (walletUrl === undefined
199
+ ? ''
200
+ : `Or open your wallet directly:\n\n ${walletUrl}\n\n`) +
201
+ 'Waiting for approval...');
202
+ const zcaps = await awaitGrantedCapabilities({ exchangeUrl, timeoutMs });
203
+ let savedPaths = [];
204
+ if (save) {
205
+ const description = options.description !== undefined
206
+ ? { description: options.description }
207
+ : {};
208
+ await saveAgentDid({ keyPair, didDocument, handle, ...description });
209
+ savedPaths = await saveCapabilities({ zcaps, handle, ...description });
210
+ }
211
+ for (const savedPath of savedPaths) {
212
+ console.error(`Capability saved to ${savedPath}`);
213
+ }
214
+ if (!save) {
215
+ console.error('Not saved (--no-save): the grantee key was discarded, so these ' +
216
+ 'capabilities cannot be invoked by a later command.');
217
+ }
218
+ const encoded = zcaps.map(zcap => encodeCapability(zcap));
219
+ if (options.json) {
220
+ console.log(JSON.stringify({
221
+ controller,
222
+ ...(save && { handle }),
223
+ interactionUrl,
224
+ ...(walletUrl !== undefined && { walletUrl }),
225
+ capabilities: zcaps,
226
+ encoded
227
+ }, null, 2));
228
+ return 0;
229
+ }
230
+ console.error(save
231
+ ? `Granted. Use it with --capability ${handle}, for example:\n` +
232
+ ` di was put ./index.html --capability ${handle} ` +
233
+ `--did ${handle} --resource index.html --content-type text/html`
234
+ : 'Granted.');
235
+ for (const value of encoded) {
236
+ console.log(value);
237
+ }
238
+ return 0;
239
+ }
240
+ catch (err) {
241
+ if (err instanceof GrantRequestError) {
242
+ console.error(`Could not request a grant: ${err.message}`);
243
+ return 1;
244
+ }
245
+ return reportError({ action: 'request a grant', err });
246
+ }
247
+ }
248
+ //# sourceMappingURL=request-grant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-grant.js","sourceRoot":"","sources":["../../../src/commands/was/request-grant.ts"],"names":[],"mappings":"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"}
@@ -23,13 +23,15 @@ export declare function runResourceAdd(options: {
23
23
  }): Promise<number>;
24
24
  /**
25
25
  * Creates or replaces a resource at a known id (upsert) and prints
26
- * `{ id, url }`. The resource comes from a path or a `--capability`
27
- * targeting one.
26
+ * `{ id, url }`. The resource comes from a path, a `--capability`
27
+ * targeting one, or a collection `--capability` plus `--resource <id>`.
28
28
  *
29
29
  * @param options {object}
30
30
  * @param [options.address] {string} The resource address.
31
31
  * @param [options.capability] {string} A capability reference instead of
32
32
  * a path.
33
+ * @param [options.resource] {string} The resource id beneath a collection
34
+ * capability.
33
35
  * @param [options.file] {string} The payload file; stdin when omitted.
34
36
  * @param [options.contentType] {string} Explicit payload content type.
35
37
  * @param [options.server] {string} The server base URL.
@@ -39,6 +41,7 @@ export declare function runResourceAdd(options: {
39
41
  export declare function runResourcePut(options: {
40
42
  address?: string;
41
43
  capability?: string;
44
+ resource?: string;
42
45
  file?: string;
43
46
  contentType?: string;
44
47
  server?: string;
@@ -46,13 +49,15 @@ export declare function runResourcePut(options: {
46
49
  }): Promise<number>;
47
50
  /**
48
51
  * Reads a resource: JSON pretty-printed to stdout, binary written raw
49
- * (`--output` for files). The resource comes from a path or a
50
- * `--capability` targeting one.
52
+ * (`--output` for files). The resource comes from a path, a `--capability`
53
+ * targeting one, or a collection `--capability` plus `--resource <id>`.
51
54
  *
52
55
  * @param options {object}
53
56
  * @param [options.address] {string} The resource address.
54
57
  * @param [options.capability] {string} A capability reference instead of
55
58
  * a path.
59
+ * @param [options.resource] {string} The resource id beneath a collection
60
+ * capability.
56
61
  * @param [options.output] {string} The output file path; stdout when
57
62
  * omitted.
58
63
  * @param [options.server] {string} The server base URL.
@@ -62,6 +67,7 @@ export declare function runResourcePut(options: {
62
67
  export declare function runResourceGet(options: {
63
68
  address?: string;
64
69
  capability?: string;
70
+ resource?: string;
65
71
  output?: string;
66
72
  server?: string;
67
73
  did?: string;
@@ -69,12 +75,15 @@ export declare function runResourceGet(options: {
69
75
  /**
70
76
  * Reads a resource's metadata object (server-managed `contentType` / `size` /
71
77
  * timestamps plus the user-writable `custom`) and pretty-prints it. The
72
- * resource comes from a path or a `--capability` targeting one.
78
+ * resource comes from a path, a `--capability` targeting one, or a
79
+ * collection `--capability` plus `--resource <id>`.
73
80
  *
74
81
  * @param options {object}
75
82
  * @param [options.address] {string} The resource address.
76
83
  * @param [options.capability] {string} A capability reference instead of
77
84
  * a path.
85
+ * @param [options.resource] {string} The resource id beneath a collection
86
+ * capability.
78
87
  * @param [options.server] {string} The server base URL.
79
88
  * @param [options.did] {string} The signing DID or stored-DID handle.
80
89
  * @returns {Promise<number>} The process exit code.
@@ -82,6 +91,7 @@ export declare function runResourceGet(options: {
82
91
  export declare function runResourceMetaGet(options: {
83
92
  address?: string;
84
93
  capability?: string;
94
+ resource?: string;
85
95
  server?: string;
86
96
  did?: string;
87
97
  }): Promise<number>;
@@ -89,13 +99,16 @@ export declare function runResourceMetaGet(options: {
89
99
  * Updates a resource's user-writable metadata and prints the resulting
90
100
  * metadata. `--name`/`--tag` are read-modify-write sugar that preserve the
91
101
  * other field; giving both, or `--json`, is a full `custom` replacement so
92
- * any omitted property is cleared. The resource comes from a path or a
93
- * `--capability` targeting one.
102
+ * any omitted property is cleared. The resource comes from a path, a
103
+ * `--capability` targeting one, or a collection `--capability` plus
104
+ * `--resource <id>`.
94
105
  *
95
106
  * @param options {object}
96
107
  * @param [options.address] {string} The resource address.
97
108
  * @param [options.capability] {string} A capability reference instead of
98
109
  * a path.
110
+ * @param [options.resource] {string} The resource id beneath a collection
111
+ * capability.
99
112
  * @param [options.name] {string} The resource's display name.
100
113
  * @param options.tag {string[]} Repeatable `key=value` tag pairs.
101
114
  * @param [options.json] {string} Full `custom` JSON (inline or a file
@@ -107,6 +120,7 @@ export declare function runResourceMetaGet(options: {
107
120
  export declare function runResourceMetaPut(options: {
108
121
  address?: string;
109
122
  capability?: string;
123
+ resource?: string;
110
124
  name?: string;
111
125
  tag: string[];
112
126
  json?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/commands/was/resource.ts"],"names":[],"mappings":"AAkFA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAwClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAelB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAelB;AAsDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAgClB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlB"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/commands/was/resource.ts"],"names":[],"mappings":"AAoGA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAwClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAelB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAelB;AAsDD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAgClB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlB"}