@whooshbang/sdk 1.0.0-rc.28 → 1.0.0-rc.30

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.
package/README.md CHANGED
@@ -175,6 +175,13 @@ evaluates DOM globals. These subpaths are published in
175
175
  canonical red fallback while leaving every configured customer name, logo, and
176
176
  accent authoritative.
177
177
 
178
+ `@whooshbang/sdk@1.0.0-rc.30` carries contracts `1.0.0-rc.21`: a project
179
+ credential holding the opt-in `projects:read` / `projects:write` scopes can now
180
+ read and write its own project's recipient configuration, an origin may be
181
+ written in any spelling that means the same origin, and
182
+ `WhooshBangProblemError.pendingInvitation` names the rollout gate an uninvited
183
+ account is waiting on.
184
+
178
185
  ## Machine clients
179
186
 
180
187
  `createMachineCredential` generates the C0-03 secret with Web Crypto and
@@ -1,4 +1,5 @@
1
1
  const SWITCHES = new Set([
2
+ "account",
2
3
  "help",
3
4
  "json",
4
5
  "version",
@@ -1 +1 @@
1
- {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../src/cli/arguments.ts"],"names":[],"mappings":"AAkBA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,MAAM;IACN,MAAM;IACN,SAAS;IACT,kBAAkB;IAClB,KAAK;IACL,WAAW;IACX,eAAe;IACf,UAAU;IACV,QAAQ;IACR,WAAW;IACX,MAAM;IACN,SAAS;IACT,KAAK;CACN,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,OAAO,GAAgC,IAAI,GAAG,CAAC;IACnD,CAAC,GAAG,EAAE,YAAY,CAAC;IACnB,CAAC,GAAG,EAAE,aAAa,CAAC;IACpB,CAAC,KAAK,EAAE,aAAa,CAAC;IACtB,CAAC,GAAG,EAAE,KAAK,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,SAAS,CAAC;IAChB,CAAC,GAAG,EAAE,YAAY,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,KAAK,CAAC;CACb,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAuB;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE7C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAW,CAAC;QACpC,yEAAyE;QACzE,0EAA0E;QAC1E,mBAAmB;QACnB,MAAM,KAAK,GACT,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YACrB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YACvB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3D,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,oEAAoE;YACpE,yEAAyE;YACzE,aAAa;YACb,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CACtB,MAAuB,EACvB,IAAY,EACZ,IAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,KAAK,IAAI,iBAAiB,IAAI,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../src/cli/arguments.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import { WhooshBangProblemError } from "../errors.js";
2
3
  import { confirmInteraction, inputInteraction, interactionAnswer, isInteractionTerminal, selectInteraction, } from "../interactions.js";
3
4
  import { required, UsageError } from "./arguments.js";
4
5
  import { loadContext, storeContext } from "./config.js";
5
6
  import { emit, emitSecret, table } from "./output.js";
6
7
  import { resolveDefaultNotifier, resolveEnvironment } from "./selectors.js";
7
- import { authorizedClient, authorizedSession, resolveOrigin, signIn, signOut, } from "./session.js";
8
+ import { authorizedAuthority, authorizedClient, authorizedSession, resolveOrigin, signIn, signInWithKey, signOut, } from "./session.js";
8
9
  /**
9
10
  * Every side-effecting call needs an idempotency key, and a person running a
10
11
  * command by hand has no opinion about one. Generating it means a retried
@@ -387,8 +388,137 @@ function positional(context, names) {
387
388
  });
388
389
  return { ...context, parsed: { ...context.parsed, options } };
389
390
  }
391
+ /**
392
+ * The overlap a rotation gets when nobody says otherwise.
393
+ *
394
+ * The contract requires the field and offers no default of its own, so somebody
395
+ * has to choose. An hour is what the dashboard's rotate control starts at, and
396
+ * agreeing with it means the two surfaces do not quietly hand out different
397
+ * windows for the same operation.
398
+ */
399
+ const DEFAULT_ROTATION_OVERLAP_SECONDS = 3600;
400
+ /** The contract's own ceiling, restated so the refusal can name it. */
401
+ const MAX_ROTATION_OVERLAP_SECONDS = 86_400;
402
+ /**
403
+ * A client for the credential administration commands, or a refusal that says
404
+ * why.
405
+ *
406
+ * These routes are served only to a Clerk session. A key presented to one of
407
+ * them gets a bare `401`, which reads as "your key is broken" when the key is
408
+ * perfectly good and simply is not a thing that may manage keys —
409
+ * deliberately, because a credential that could mint or kill another would
410
+ * make every scope on it a scope on all of them. Refusing here, before the
411
+ * request, is the courtesy `resolveEnvironment` already extends to a project
412
+ * key that cannot look a project up by name.
413
+ */
414
+ async function administeringCredentials(context) {
415
+ const { client: api, kind } = await authorizedAuthority({
416
+ ...(context.credentialsFile === undefined
417
+ ? {}
418
+ : { credentialsFile: context.credentialsFile }),
419
+ origin: context.origin,
420
+ });
421
+ if (kind === "key") {
422
+ throw new UsageError("Issuing, listing, rotating and revoking credentials needs a signed-in session — a key cannot manage keys. Unset WHOOSHBANG_API_KEY and WHOOSHBANG_API_KEY_FILE, or run `wb logout` if one is stored, then `wb login`.");
423
+ }
424
+ return api;
425
+ }
426
+ /**
427
+ * The rotation window, checked here rather than at the contract boundary.
428
+ *
429
+ * `seconds` already refuses a fraction or a negative. The ceiling is the
430
+ * contract's and the store's, but a request rejected there comes back as "the
431
+ * request does not match the WhooshBang contract" and exit 1 — which says the
432
+ * service refused you, when in fact the command was written wrongly. Naming the
433
+ * field and the bound costs three lines and is what `--expires-in` already
434
+ * does.
435
+ */
436
+ function rotationOverlap(context) {
437
+ const overlap = seconds(context.parsed, "overlap") ?? DEFAULT_ROTATION_OVERLAP_SECONDS;
438
+ if (overlap > MAX_ROTATION_OVERLAP_SECONDS) {
439
+ throw new UsageError(`--overlap must be at most ${MAX_ROTATION_OVERLAP_SECONDS} seconds (24 hours).`);
440
+ }
441
+ return overlap;
442
+ }
443
+ /** The one positional every credential lifecycle command takes. */
444
+ function credentialArgument(context, verb) {
445
+ const credentialId = context.parsed.words[2];
446
+ if (!credentialId) {
447
+ throw new UsageError(`wb credential ${verb} <credential-id> [--account]` +
448
+ (verb === "rotate" ? " [--overlap <seconds>]" : ""));
449
+ }
450
+ return credentialId;
451
+ }
452
+ /** One row shape for both credential families, so a reader learns one table. */
453
+ function credentialRows(items) {
454
+ return [
455
+ ["ID", "STATUS", "LAST USED", "LABEL"],
456
+ ...items.map((credential) => [
457
+ credential.id,
458
+ credential.status,
459
+ credential.last_used_at ?? "never",
460
+ credential.label,
461
+ ]),
462
+ ];
463
+ }
390
464
  const commands = {
391
465
  async login(context) {
466
+ // A key rather than a browser. `wb login` is the one place that decides
467
+ // what this deployment presents, so handing it a key belongs here rather
468
+ // than in a second command that would leave two answers to "am I signed
469
+ // in?" — and stdin rather than a flag value keeps the secret out of `argv`.
470
+ if (context.parsed.switches.has("credential-stdin")) {
471
+ const key = (await context.readStdin()).trim();
472
+ await signInWithKey({
473
+ ...(context.credentialsFile === undefined
474
+ ? {}
475
+ : { credentialsFile: context.credentialsFile }),
476
+ origin: context.origin,
477
+ secret: key,
478
+ });
479
+ // Only an account key can be checked against anything account-wide, and
480
+ // only then does a refusal mean something. A project key names its own
481
+ // project, so `/v1/account` refuses it for a reason that has nothing to
482
+ // do with whether the key is any good — calling it anyway and reporting
483
+ // the refusal as expected would make a typo look like a stored key
484
+ // working correctly.
485
+ const checkable = key.startsWith("wb_ac1.");
486
+ const keyed = checkable ? await client(context) : null;
487
+ let account = null;
488
+ let refusal = null;
489
+ if (keyed) {
490
+ try {
491
+ account = await keyed.getAccount();
492
+ }
493
+ catch (error) {
494
+ // A refusal is the key's answer and worth reporting. Anything else —
495
+ // an unreachable deployment, a wrong --api-url — is not this
496
+ // command's to reinterpret, and `resolveEnvironment` refuses to
497
+ // disguise those for the same reason.
498
+ if (!(error instanceof WhooshBangProblemError) ||
499
+ (error.status !== 401 && error.status !== 403)) {
500
+ throw error;
501
+ }
502
+ refusal = `It was stored, but ${context.origin} refused it. Check that it is complete and unrevoked, and that it carries account:read and projects:read.`;
503
+ }
504
+ }
505
+ emit(context.writer, {
506
+ ...(account ? { account: account.id } : {}),
507
+ origin: context.origin,
508
+ stored: "key",
509
+ verified: account !== null,
510
+ }, [
511
+ `Stored a key for ${context.origin}.`,
512
+ ...(account ? [`Account ${account.id}.`] : []),
513
+ ...(refusal ? [refusal] : []),
514
+ ...(checkable || refusal
515
+ ? []
516
+ : [
517
+ "It names its own project, so there is nothing account-wide to check it against. The first command you run with it is where a bad key will show.",
518
+ ]),
519
+ ]);
520
+ return;
521
+ }
392
522
  const scopes = context.parsed.repeated.get("scope");
393
523
  const session = await signIn({
394
524
  ...(context.credentialsFile === undefined
@@ -408,10 +538,17 @@ const commands = {
408
538
  },
409
539
  async logout(context) {
410
540
  const removed = await signOut(context.origin, context.credentialsFile);
411
- emit(context.writer, { origin: context.origin, signedOut: removed }, [
412
- removed
413
- ? `Signed out of ${context.origin}.`
414
- : `Not signed in to ${context.origin}.`,
541
+ emit(context.writer, { forgot: removed, origin: context.origin, signedOut: removed !== null }, [
542
+ removed === null
543
+ ? `Not signed in to ${context.origin}.`
544
+ : `Signed out of ${context.origin}.`,
545
+ // Said here rather than only in the docs: nothing was revoked, and
546
+ // somebody who believes otherwise leaves a live key in the world.
547
+ ...(removed === "key"
548
+ ? [
549
+ "The key is forgotten here and still valid. Revoke it to end it for good.",
550
+ ]
551
+ : []),
415
552
  ]);
416
553
  },
417
554
  async whoami(context) {
@@ -509,10 +646,103 @@ const commands = {
509
646
  : []),
510
647
  ]);
511
648
  },
512
- async "credential create"(context) {
513
- const api = await client(context);
649
+ /**
650
+ * The other three quarters of a credential's life.
651
+ *
652
+ * `create` shipped alone, which left the CLI able to issue the widest key
653
+ * WhooshBang hands out and unable to get rid of one (FXO-2220). All three
654
+ * take `--account` to address the account-scoped family, exactly as
655
+ * `credential create` does, so there is one flag to learn rather than a
656
+ * separate command per kind.
657
+ */
658
+ async "credential list"(context) {
659
+ const api = await administeringCredentials(context);
660
+ if (context.parsed.switches.has("account")) {
661
+ const credentials = await api.listAccountCredentials();
662
+ emit(context.writer, credentials, table(credentialRows(credentials.items)));
663
+ return;
664
+ }
514
665
  const { environmentId, projectId } = await resolveEnvironment(api, context.parsed, resolveOptions(context));
666
+ const credentials = await api.listApiCredentials(projectId, environmentId);
667
+ emit(context.writer, credentials, table(credentialRows(credentials.items)));
668
+ },
669
+ async "credential rotate"(context) {
670
+ const credentialId = credentialArgument(context, "rotate");
671
+ const api = await administeringCredentials(context);
672
+ const overlap = rotationOverlap(context);
673
+ const rotation = context.parsed.switches.has("account")
674
+ ? await api.rotateAccountCredential(credentialId, {
675
+ overlap_seconds: overlap,
676
+ })
677
+ : await (async () => {
678
+ const { environmentId, projectId } = await resolveEnvironment(api, context.parsed, resolveOptions(context));
679
+ return api.rotateApiCredential(projectId, environmentId, credentialId, {
680
+ overlap_seconds: overlap,
681
+ });
682
+ })();
683
+ if (context.writer.json) {
684
+ emit(context.writer, rotation, []);
685
+ return;
686
+ }
687
+ // The replacement's secret is shown once, and the window on the old one is
688
+ // the thing somebody has to act on before it closes — so both go out
689
+ // together rather than leaving the deadline to be inferred.
690
+ const deadline = rotation.replaced_credential.scheduled_revocation_at;
691
+ emitSecret(context.writer, rotation.credential.secret, [
692
+ `Replaced ${credentialId}.`,
693
+ // An overlap of zero revokes the replaced credential outright, so there
694
+ // is no window to report and saying "keeps working for 0 seconds" would
695
+ // describe a grace period that does not exist.
696
+ deadline
697
+ ? `It keeps working until ${deadline}, then stops.`
698
+ : "It stopped working immediately.",
699
+ "The complete secret below is shown once and is not retrievable later.",
700
+ ].join(" "));
701
+ },
702
+ async "credential revoke"(context) {
703
+ const credentialId = credentialArgument(context, "revoke");
704
+ const api = await administeringCredentials(context);
705
+ const revoked = context.parsed.switches.has("account")
706
+ ? await api.revokeAccountCredential(credentialId)
707
+ : await (async () => {
708
+ const { environmentId, projectId } = await resolveEnvironment(api, context.parsed, resolveOptions(context));
709
+ return api.revokeApiCredential(projectId, environmentId, credentialId);
710
+ })();
711
+ emit(context.writer, revoked, [
712
+ `${revoked.id} ${revoked.status}.`,
713
+ // Repeating the call is safe and says the same thing, so somebody who is
714
+ // not sure whether the first one landed can simply run it again.
715
+ "It authenticates nothing from now on. Revoking again is safe.",
716
+ ]);
717
+ },
718
+ async "credential create"(context) {
719
+ const api = await administeringCredentials(context);
515
720
  const label = required(context.parsed, "label", "what this credential is for");
721
+ // `--account` issues the key that belongs to the organization rather than
722
+ // to one project environment. It is the one a CI job or an agent working
723
+ // across projects can actually hold: it names its project per call, so it
724
+ // takes no --project and no --environment here.
725
+ if (context.parsed.switches.has("account")) {
726
+ // `account:read` and `projects:read` together are what make
727
+ // `--project <slug>` resolve for something with nobody at a keyboard, so
728
+ // the default set carries both; the rest matches `wb credential create`.
729
+ const scopes = (context.parsed.repeated.get("scope") ?? [
730
+ "account:read",
731
+ "projects:read",
732
+ "messages:write",
733
+ "messages:read",
734
+ "subscriptions:write",
735
+ "subscriptions:read",
736
+ ]);
737
+ const issued = await api.createAccountCredential({ label, scopes });
738
+ if (context.writer.json) {
739
+ emit(context.writer, issued, []);
740
+ return;
741
+ }
742
+ emitSecret(context.writer, issued.secret, "The complete secret is shown once and is not retrievable later. Store it now, and present it as WHOOSHBANG_API_KEY.");
743
+ return;
744
+ }
745
+ const { environmentId, projectId } = await resolveEnvironment(api, context.parsed, resolveOptions(context));
516
746
  // The contract types the scope list as a bounded tuple, so a plain
517
747
  // string[] cannot be passed. The values are validated by the API either
518
748
  // way; the assertion buys the caller a shape the compiler accepts.
@@ -920,7 +1150,9 @@ export function strayWords(words) {
920
1150
  const takesPositional = two === "project create" ||
921
1151
  two === "message get" ||
922
1152
  two === "interaction get" ||
923
- two === "subscriber create";
1153
+ two === "subscriber create" ||
1154
+ two === "credential rotate" ||
1155
+ two === "credential revoke";
924
1156
  // `use`, `send` and `ask` read every remaining word as a value rather than
925
1157
  // as a mistake, so nothing after them can be a stray.
926
1158
  if (one === "use" || one === "send" || one === "ask")
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAazC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAwB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAe,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,aAAa,EACb,OAAO,GACR,MAAM,cAAc,CAAC;AActB;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,MAAuB;IAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CACrB,MAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QACpD,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,OAAuB;IAI7C,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAuB;IAC3C,OAAO,gBAAgB,CAAC;QACtB,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAC;QACrC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACvB,QAAQ,CAAC,CAAC,CAAY,GAAG,CAAC,EAC1B,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAY,GAAG,CAAC,EAC/B,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3C,CAAC;YACF,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAC;YACjC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAW,CAAC;AACtC,CAAC;AAED,MAAM,gBAAgB,GAAG;IACvB,mBAAmB;IACnB,kBAAkB;IAClB,eAAe;CACP,CAAC;AAEX;;;;;;;GAOG;AACH,SAAS,cAAc,CACrB,MAAuB;IAEvB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAChC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CACvD,CAAC;QACF,MAAM,IAAI,UAAU,CAClB,IAAI;YACF,CAAC,CAAC,IAAI,KAAK,4CAA4C,IAAI,GAAG;YAC9D,CAAC,CAAC,IAAI,KAAK,0CAA0C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,wFAAwF;AACxF,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;;;GAOG;AACH,SAAS,OAAO,CAAC,MAAuB;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACzC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,CAAC,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;YACrC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;SACrC,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,OAAO,CAAC,MAAuB,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,UAAU,CAAC,KAAK,IAAI,qCAAqC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,MAAuB;IAC1C,0EAA0E;IAC1E,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACzD,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAuB;IAKvB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GACpB,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,0BAA0B,CAAC;IAC9D,2EAA2E;IAC3E,wEAAwE;IACxE,IAAI,gBAAgB,GAAG,EAAE,IAAI,gBAAgB,GAAG,MAAM,EAAE,CAAC;QACvD,MAAM,IAAI,UAAU,CAClB,6DAA6D,gBAAgB,SAAS,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,gBAAgB;QAChB,MAAM;KACP,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,UAAU,CAClB,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,UAAU,CAClB,2CAA2C,OAAO,CAAC,MAAM,UAAU;gBACjE,+DAA+D,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,iBAAiB,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ;QACb,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC1B,CAAC,CAAC,kBAAkB,CAAC;YACjB,GAAG,MAAM;YACT,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;gBACrC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAW,EAAE;gBACjE,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBAClC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAW,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;AACT,CAAC;AAcD,gFAAgF;AAChF,SAAS,eAAe,CACtB,GAAqB,EACrB,KAA8B,EAC9B,aAAqB,EACrB,IAAa;IAEb,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACnD,OAAO,KAAK,KAAK,IAAI;QACnB,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;QAC5C,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAC7B,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,aAAa,EACnB,aAAa,EACb,OAAO,CACR,CAAC;AACR,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAqB,EACrB,KAA8B,EAC9B,aAAqB,EACrB,OAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC;IAC9C,IAAI,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/D,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QAC7D,IAAI,SAAS,IAAI,CAAC;YAAE,MAAM;QAC1B,OAAO,GAAG,MAAM,eAAe,CAC7B,GAAG,EACH,KAAK,EACL,aAAa,EACb,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CACtC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CAAC,OAA2B;IAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS;QAC9B,CAAC,CAAC,MAAM,CAAC,KAAK;YACZ,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI;QACR,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAA2B,EAC3B,KAAa;IAEb,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO;YACL,yEAAyE;YACzE,yEAAyE;YACzE,YAAY;YACZ,MAAM,KAAK,SAAS;gBAClB,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,gDAAgD;gBAClI,CAAC,CAAC,WAAW,MAAM,EAAE;YACvB,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,YAAY,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SACnG,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO;YACL,GAAG,OAAO,CAAC,EAAE,wBAAwB,OAAO,CAAC,UAAU,GAAG;YAC1D,wCAAwC,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY;SAC1F,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,YAAY,CAAC,OAAuB;IAOjD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,IAAI,aAAa,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,OAAO;YACL,GAAG;YACH,aAAa,EAAE,EAAE;YACjB,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;IACF,OAAO;QACL,GAAG;QACH,aAAa;QACb,IAAI,EAAE,aAAa;QACnB,SAAS;QACT,KAAK,EAAE,aAAa,SAAS,kBAAkB,aAAa,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,OAAuB,EACvB,QAAgB,EAChB,MAAc,EACd,QAAiB;IAEjB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,UAAU,CAAC,KAAK,MAAM,iBAAiB,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,IAAI,UAAU,CAAC,KAAK,MAAM,iBAAiB,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAuB,EACvB,MAAc,EACd,QAAgB;IAEhB,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,OAAO,CACpB,OAAuB,EACvB,QAAgB;IAEhB,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACvE,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,QAAQ,EAAE,GAAG,CAAC,CAAC;SAC5D,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,qBAAqB,CACnC,IAAuC;IAEvC,OAAO,IAAI,KAAK,mBAAmB;QACjC,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,IAAI,KAAK,eAAe;YACxB,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,4BAA4B,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAqB,EACrB,SAAiB,EACjB,aAAqB,EACrB,MAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACpD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,uBAAuB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5C,OAAO,EAAE,QAAQ,CAAC,YAAY;QAC9B,EAAE,EAAE,QAAQ,CAAC,EAAE;KAChB,CAAC,CAAC,CACJ,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAQ,UAAU,CAAC,CAAC,CAAoB,CAAC,EAAE,CAAC;IACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAClB,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,uFAAuF,UAAU;SAC9F,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,GAAG,CAAC;SACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAC5B,GAAqB,EACrB,SAAiB,EACjB,aAAqB,EACrB,YAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAC7C,GAAG,EACH,SAAS,EACT,aAAa,CACd,CAAC;IACF,MAAM,GAAG,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;QAC3D,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,UAAU;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CACjB,OAAuB,EACvB,KAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAE9C,uEAAuE;AACvE,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,wBAAwB,CACrC,OAAuB;IAEvB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC;QACtD,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAClB,uNAAuN,CACxN,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,OAAuB;IAC9C,MAAM,OAAO,GACX,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,gCAAgC,CAAC;IACzE,IAAI,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAC3C,MAAM,IAAI,UAAU,CAClB,6BAA6B,4BAA4B,sBAAsB,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mEAAmE;AACnE,SAAS,kBAAkB,CAAC,OAAuB,EAAE,IAAY;IAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAClB,iBAAiB,IAAI,8BAA8B;YACjD,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CACrB,KAKG;IAEH,OAAO;QACL,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC;QACtC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;YAC3B,UAAU,CAAC,EAAE;YACb,UAAU,CAAC,MAAM;YACjB,UAAU,CAAC,YAAY,IAAI,OAAO;YAClC,UAAU,CAAC,KAAK;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAA+D;IAC3E,KAAK,CAAC,KAAK,CAAC,OAAO;QACjB,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,4EAA4E;QAC5E,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,aAAa,CAAC;gBAClB,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;oBACvC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;gBACjD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,wEAAwE;YACxE,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,mEAAmE;YACnE,qBAAqB;YACrB,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,OAAO,GACT,IAAI,CAAC;YACP,IAAI,OAAO,GAAkB,IAAI,CAAC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,qEAAqE;oBACrE,6DAA6D;oBAC7D,gEAAgE;oBAChE,sCAAsC;oBACtC,IACE,CAAC,CAAC,KAAK,YAAY,sBAAsB,CAAC;wBAC1C,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,EAC9C,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,OAAO,GAAG,sBAAsB,OAAO,CAAC,MAAM,2GAA2G,CAAC;gBAC5J,CAAC;YACH,CAAC;YACD,IAAI,CACF,OAAO,CAAC,MAAM,EACd;gBACE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,OAAO,KAAK,IAAI;aAC3B,EACD;gBACE,oBAAoB,OAAO,CAAC,MAAM,GAAG;gBACrC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,IAAI,OAAO;oBACtB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;wBACE,iJAAiJ;qBAClJ,CAAC;aACP,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;YACjD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CACF,OAAO,CAAC,MAAM,EACd,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EACvE;YACE,gBAAgB,OAAO,CAAC,MAAM,GAAG;YACjC,WAAW,OAAO,CAAC,EAAE,GAAG;YACxB,gBAAgB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC5C,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAO;QAClB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACvE,IAAI,CACF,OAAO,CAAC,MAAM,EACd,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,EAAE,EACxE;YACE,OAAO,KAAK,IAAI;gBACd,CAAC,CAAC,oBAAoB,OAAO,CAAC,MAAM,GAAG;gBACvC,CAAC,CAAC,iBAAiB,OAAO,CAAC,MAAM,GAAG;YACtC,mEAAmE;YACnE,kEAAkE;YAClE,GAAG,CAAC,OAAO,KAAK,KAAK;gBACnB,CAAC,CAAC;oBACE,0EAA0E;iBAC3E;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAO;QAClB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;YAC5B,WAAW,OAAO,CAAC,EAAE,EAAE;YACvB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAO;QAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1C,IAAI,CACF,OAAO,CAAC,MAAM,EACd,QAAQ,EACR,KAAK,CAAC;YACJ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;YACtB,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI;gBACZ,OAAO,CAAC,IAAI;aACb,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAO;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC;QAC5E,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAClC,IAAI;iBACD,WAAW,EAAE;iBACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;iBAC5B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CACrC,EAAE,IAAI,EAAE,IAAI,EAAE,EACd,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5B,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CACpC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAC7C,CAAC;QACF,sEAAsE;QACtE,uEAAuE;QACvE,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QACrE,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAC5C,GAAG,EACH,OAAO,CAAC,EAAE,EACV,IAAI,CAAC,EAAE,EACP,OAAO,CAAC,MAAM,CACf,CAAC;gBACF,UAAU,GAAG,MAAM,GAAG,CAAC,uBAAuB,CAC5C,OAAO,CAAC,EAAE,EACV,IAAI,CAAC,EAAE,EACP;oBACE,YAAY,EAAE,qBAAqB,CAAC,mBAAmB,CAAC;oBACxD,IAAI,EAAE,mBAAmB;oBACzB,kBAAkB,EAAE,cAAc;iBAC1B,EACV,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,CACjC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sEAAsE;gBACtE,sEAAsE;gBACtE,sEAAsE;gBACtE,OAAO;oBACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,YAAY,CAChB,OAAO,CAAC,MAAM,EACd;gBACE,aAAa,EAAE,IAAI,CAAC,EAAE;gBACtB,eAAe,EAAE,MAAM;gBACvB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,WAAW,EAAE,OAAO,CAAC,IAAI;aAC1B,EACD,OAAO,CAAC,WAAW,CACpB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,EAAE;YAC/C,mBAAmB,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,IAAI;YAClD,GAAG,KAAK,CAAC;gBACP,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,CAAC;gBAC3C,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3C,WAAW,CAAC,EAAE;oBACd,WAAW,CAAC,IAAI;oBAChB,WAAW,CAAC,gBAAgB,CAAC,EAAE;iBAChC,CAAC;aACH,CAAC;YACF,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC;oBACE,EAAE;oBACF,wBAAwB,UAAU,CAAC,EAAE,WAAW;oBAChD,+DAA+D;iBAChE;gBACH,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC;wBACE,EAAE;wBACF,2BAA2B,OAAO,EAAE;wBACpC,sCAAsC;qBACvC;oBACH,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC9C,CAAC,CAAC;oBACE,EAAE;oBACF,sEAAsE;iBACvE;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAO;QAC7B,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;YACvD,IAAI,CACF,OAAO,CAAC,MAAM,EACd,WAAW,EACX,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CACzC,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAO;QAC/B,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YACrD,CAAC,CAAC,MAAM,GAAG,CAAC,uBAAuB,CAAC,YAAY,EAAE;gBAC9C,eAAe,EAAE,OAAO;aACzB,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;gBACF,OAAO,GAAG,CAAC,mBAAmB,CAC5B,SAAS,EACT,aAAa,EACb,YAAY,EACZ;oBACE,eAAe,EAAE,OAAO;iBACzB,CACF,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,2EAA2E;QAC3E,qEAAqE;QACrE,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,uBAAuB,CAAC;QACtE,UAAU,CACR,OAAO,CAAC,MAAM,EACd,QAAQ,CAAC,UAAU,CAAC,MAAM,EAC1B;YACE,YAAY,YAAY,GAAG;YAC3B,wEAAwE;YACxE,wEAAwE;YACxE,+CAA+C;YAC/C,QAAQ;gBACN,CAAC,CAAC,0BAA0B,QAAQ,eAAe;gBACnD,CAAC,CAAC,iCAAiC;YACrC,uEAAuE;SACxE,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAO;QAC/B,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YACpD,CAAC,CAAC,MAAM,GAAG,CAAC,uBAAuB,CAAC,YAAY,CAAC;YACjD,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;gBACF,OAAO,GAAG,CAAC,mBAAmB,CAC5B,SAAS,EACT,aAAa,EACb,YAAY,CACb,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;YAC5B,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG;YAClC,yEAAyE;YACzE,iEAAiE;YACjE,+DAA+D;SAChE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAO;QAC/B,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,QAAQ,CACpB,OAAO,CAAC,MAAM,EACd,OAAO,EACP,6BAA6B,CAC9B,CAAC;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,gDAAgD;QAChD,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,4DAA4D;YAC5D,yEAAyE;YACzE,yEAAyE;YACzE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;gBACtD,cAAc;gBACd,eAAe;gBACf,gBAAgB;gBAChB,eAAe;gBACf,qBAAqB;gBACrB,oBAAoB;aACrB,CAAwD,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,UAAU,CACR,OAAO,CAAC,MAAM,EACd,MAAM,CAAC,MAAM,EACb,qHAAqH,CACtH,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACF,mEAAmE;QACnE,wEAAwE;QACxE,mEAAmE;QACnE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;YACtD,gBAAgB;YAChB,eAAe;YACf,qBAAqB;YACrB,oBAAoB;SACrB,CAAoD,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,EAAE;YACtE,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,UAAU,CACR,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAO;QAC7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAClD,SAAS,EACT,aAAa,CACd,CAAC;QACF,IAAI,CACF,OAAO,CAAC,MAAM,EACd,WAAW,EACX,KAAK,CAAC;YACJ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;YAChC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;gBACvC,UAAU,CAAC,EAAE;gBACb,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,MAAM;gBACjB,UAAU,CAAC,YAAY;aACxB,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAAO;QAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,uBAAuB,CACjD,SAAS,EACT,aAAa,CACd,CAAC;QACF,IAAI,CACF,OAAO,CAAC,MAAM,EACd,SAAS,EACT,KAAK,CAAC;YACJ,CAAC,UAAU,EAAE,iBAAiB,EAAE,cAAc,CAAC;YAC/C,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC3C,QAAQ,CAAC,QAAQ;gBACjB,QAAQ,CAAC,EAAE;gBACX,QAAQ,CAAC,YAAY;aACtB,CAAC,CACH;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAO;QAC/B,0EAA0E;QAC1E,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACF,MAAM,cAAc,GAClB,IAAI,KAAK,mBAAmB;YAC1B,CAAC,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;YACxE,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,qBAAqB,GAAG,WAAW,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,yDAAyD;QACzD,6EAA6E;QAC7E,wEAAwE;QACxE,yCAAyC;QACzC,IAAI,OAAuC,CAAC;QAC5C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,GAAG;gBACR,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,mBAAmB;gBACzB,kBAAkB,EAAE,cAAc;aACnC,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,UAAU,CAClB,wLAAwL,CACzL,CAAC;YACJ,CAAC;YACD,OAAO,GAAG;gBACR,wBAAwB,EAAE,IAAI;gBAC9B,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;gBAC9C,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,eAAe;aACtB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,UAAU,CAClB,iKAAiK,CAClK,CAAC;YACJ,CAAC;YACD,OAAO,GAAG;gBACR,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,kBAAkB;gBACxB,sBAAsB,EAAE,QAAQ;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,uBAAuB,CAClD,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5B,CAAC;QACF,2EAA2E;QAC3E,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,MAAM,kBAAkB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC1D,MAAM,gBAAgB,GACpB,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YAC1D,CAAC,CAAC,6BAA6B,KAAK,CAAC,WAAW,EAAE;YAClD,CAAC,CAAC,kBAAkB,EAAE,MAAM,KAAK,wBAAwB;gBACvD,CAAC,CAAC,kCAAkC,kBAAkB,CAAC,iBAAiB,EAAE;gBAC1E,CAAC,CAAC,SAAS,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE;YAC/B,sBAAsB,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,MAAM,IAAI;YAC7D,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC,CAAC,mDAAmD,CAAC;gBACvD,CAAC,CAAC;oBACE,mEAAmE;iBACpE,CAAC;YACN,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAO;QAC9B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAC3D,GAAG,EACH,OAAO,CAAC,MAAM,EACd,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAC/C,SAAS,EACT,aAAa,EACb;YACE,aAAa,EAAE,QAAQ,CACrB,OAAO,CAAC,MAAM,EACd,YAAY,EACZ,iCAAiC,CAClC;YACD,yEAAyE;YACzE,qEAAqE;YACrE,wEAAwE;YACxE,sEAAsE;YACtE,sCAAsC;YACtC,WAAW,EACT,KAAK;gBACL,CAAC,MAAM,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;SAChE,CACF,CAAC;QACF,IAAI,CACF,OAAO,CAAC,MAAM,EACd,MAAM,EACN,KAAK,CAAC;YACJ,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;YACrC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7B,KAAK,CAAC,WAAW;gBACjB,KAAK,CAAC,aAAa;gBACnB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;aAChC,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI,CAAC,OAAO;QAChB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjC,GAAG,OAAO;YACV,MAAM,EAAE;gBACN,GAAG,OAAO,CAAC,MAAM;gBACjB,OAAO,EAAE,IAAI,GAAG,CAAC;oBACf,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO;oBACzB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1D,CAAC;gBACF,oEAAoE;gBACpE,wDAAwD;gBACxD,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC;aACnC;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,QAAQ,GACZ,UAAU,KAAK,SAAS;YACxB,CAAC,MAAM,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;gBACZ,EAAE;gBACF,uDAAuD;aACxD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,GAAG,CACnB,OAAO,EACP,8BAA8B,EAC9B,YAAY,EACZ,IAAI,CACL,CAAC;QACF,MAAM,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACpC,GAAG,OAAO;YACV,MAAM,EAAE;gBACN,GAAG,OAAO,CAAC,MAAM;gBACjB,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;gBAClE,KAAK,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC;aACrC;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,OAAO,GACX,IAAI,KAAK,SAAS;YAClB,CAAC,MAAM,SAAS,CACd,OAAO,EACP,MAAM,EACN,uCAAuC,CACxC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,4BAA4B,GAAG,UAAU,CAAC,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CACpB,OAAO,EACP,aAAa,EACb,MAAM,EACN,wBAAwB,CACzB,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;YACZ,EAAE;YACF,MAAM;gBACJ,CAAC,CAAC,mEAAmE;gBACrE,CAAC,CAAC,6DAA6D;SAClE,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,GAAG,OAAO;YACV,MAAM,EAAE;gBACN,GAAG,OAAO,CAAC,MAAM;gBACjB,OAAO,EAAE,IAAI,GAAG,CAAC;oBACf,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO;oBACzB,CAAC,YAAY,EAAE,GAAG,CAAC;oBACnB,CAAC,MAAM,EAAE,IAAI,CAAC;iBACf,CAAC;gBACF,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;aAC5C;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAO;QAC/B,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,YAAY,GAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YACxC,CAAC,MAAM,GAAG,CACR,OAAO,EACP,yCAAyC,EACzC,YAAY,CACb,CAAC,CAAC;QACL,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACtE,aAAa,EAAE,YAAY;SACnB,CAAC;QACX,MAAM,IAAI,GAAG,IAAI;YACf,CAAC,CAAC,MAAM,GAAG,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxE,CAAC,CAAC,MAAM,GAAG,CAAC,mCAAmC,CAC3C,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5B,CAAC;QACN,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE;YACzB,cAAc,YAAY,aAAa,IAAI,CAAC,MAAM,IAAI;YACtD,GAAG,CAAC,IAAI,CAAC,iBAAiB;gBACxB,CAAC,CAAC,CAAC,2BAA2B,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBACvD,CAAC,CAAC;oBACE,2EAA2E;iBAC5E,CAAC;SACP,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAO;QACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG;YACb,GAAG,OAAO,CAAC,MAAM;YACjB,OAAO,EAAE,IAAI,GAAG,CAAC;gBACf,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO;gBACzB,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC;SACH,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CACvC,GAAG,EACH,MAAM,EACN,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE;YAC7B,aAAa,QAAQ,CAAC,SAAS,MAAM,QAAQ,CAAC,aAAa,GAAG;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAO;QACjB,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE;gBACzB,wBAAwB,OAAO,CAAC,MAAM,OAAO;gBAC7C,wEAAwE;aACzE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE;YAC/B,OAAO,CAAC,MAAM;YACd,kBAAkB,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,SAAS,EAAE;YAClE,kBAAkB,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,aAAa,EAAE;SAC3E,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAO;QAC1B,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAClD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC;gBAC1D,IAAI,EAAE,MAAM;aACb;YACD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;YAC5D,EAAE,EAAE;gBACF,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,CAAC;aACxE;SACO,CAAC;QACX,MAAM,OAAO,GAAG,IAAI;YAClB,CAAC,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC,CAAC,MAAM,GAAG,CAAC,0BAA0B,CAClC,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5B,CAAC;QACN,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;YAC5B,YAAY,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,IAAI;YAC5C,gCAAgC,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SACxE,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,aAAa,CAAC,OAAO;QACzB,yEAAyE;QACzE,0EAA0E;QAC1E,+BAA+B;QAC/B,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAClD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YACnD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;YAC5D,WAAW;YACX,EAAE,EAAE;gBACF,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC;aACpE;SACO,CAAC;QACX,MAAM,OAAO,GAAG,IAAI;YAClB,CAAC,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC,CAAC,MAAM,GAAG,CAAC,0BAA0B,CAClC,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5B,CAAC;QACN,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,yEAAyE;YACzE,wDAAwD;YACxD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;gBAC5B,YAAY,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,gCAAgC;gBACxE,gCAAgC,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACxE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;gBAC5B,SAAS,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,yBAAyB,OAAO,CAAC,UAAU,GAAG;gBAC5H,WAAW,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,IAAI;gBAC3C,4CAA4C,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY;aAC9F,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,GAAG,EACH,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,EAC1C,OAAO,CAAC,EAAE,EACV,IAAI,CACL,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAO;QAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAClD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QACzD,MAAM,OAAO,GACX,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC;YAClD,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAO;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI;YAClB,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC,MAAM,GAAG,CAAC,uBAAuB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;YAC5B,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE;YAChC,aAAa,OAAO,CAAC,QAAQ,CAAC,6BAA6B,EAAE;YAC7D,aAAa,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,2EAA2E;AAC3E,4EAA4E;AAC5E,6DAA6D;AAC7D,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAC5B,QAAQ,CAAC,cAAc,CAA0C,CAChE,UAAU,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAC5C,CAAC;AACJ,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAC3B,QAAQ,CAAC,aAAa,CAA0C,CAC/D,UAAU,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAC5C,CAAC;AAEJ;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAwB;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,2EAA2E;IAC3E,MAAM,eAAe,GACnB,GAAG,KAAK,gBAAgB;QACxB,GAAG,KAAK,aAAa;QACrB,GAAG,KAAK,iBAAiB;QACzB,GAAG,KAAK,mBAAmB;QAC3B,GAAG,KAAK,mBAAmB;QAC3B,GAAG,KAAK,mBAAmB,CAAC;IAC9B,2EAA2E;IAC3E,sDAAsD;IACtD,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAChE,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAwB;IAExB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -10,6 +10,7 @@
10
10
  * otherwise, which is where this project already keeps operator files.
11
11
  */
12
12
  export interface StoredSession {
13
+ readonly kind: "oauth";
13
14
  /** The client id dynamic registration returned. Reused on later logins. */
14
15
  readonly clientId: string;
15
16
  readonly accessToken: string;
@@ -18,19 +19,58 @@ export interface StoredSession {
18
19
  readonly expiresAt?: number;
19
20
  readonly scopes: readonly string[];
20
21
  }
22
+ /**
23
+ * A key handed to `wb login --credential-stdin`, kept for this deployment.
24
+ *
25
+ * Not a session wearing a session's fields. It has no client id to register,
26
+ * no refresh token to spend and no expiry to watch, and writing empty strings
27
+ * into those would make every reader guess which of the two it was holding.
28
+ * The tag is what makes that unnecessary.
29
+ */
30
+ export interface StoredKey {
31
+ readonly kind: "key";
32
+ readonly secret: string;
33
+ }
34
+ export type StoredAuthority = StoredSession | StoredKey;
21
35
  export interface StoredCredentials {
22
- readonly version: 1;
36
+ /**
37
+ * Version 2 tags each entry with its kind.
38
+ *
39
+ * A version 1 file — every entry an untagged OAuth session — reads as an
40
+ * empty store, so upgrading costs one `wb login`. `forgetSession` still
41
+ * removes such a file, so `wb logout` cannot leave a live token behind that
42
+ * nothing can see.
43
+ */
44
+ readonly version: 2;
23
45
  /** Keyed by API origin, exactly as the caller spelled it. */
24
- readonly origins: Record<string, StoredSession>;
46
+ readonly origins: Record<string, StoredAuthority>;
25
47
  }
26
48
  export declare function credentialsDirectory(environment?: NodeJS.ProcessEnv): string;
27
49
  export declare function credentialsPath(environment?: NodeJS.ProcessEnv): string;
28
50
  /**
29
- * A missing or unreadable file is an empty store rather than an error: not
30
- * being logged in is the ordinary first state, and a corrupted file should send
31
- * somebody to `wb login` rather than to a stack trace.
51
+ * What is on disk, told apart from what it means.
52
+ *
53
+ * "No file" and "a file this build cannot use" are both "you are not signed
54
+ * in" to a command, and collapsing them into one empty store is what a reader
55
+ * wants nine times out of ten. The tenth is `wb logout`, which must delete a
56
+ * file it cannot read and must **not** delete a perfectly good one that simply
57
+ * holds no entry for this origin. Returning the reason rather than the
58
+ * consequence is what keeps those two apart.
59
+ */
60
+ export type StoredCredentialsRead = {
61
+ readonly state: "absent";
62
+ } | {
63
+ readonly state: "unreadable";
64
+ } | {
65
+ readonly state: "read";
66
+ readonly credentials: StoredCredentials;
67
+ };
68
+ /**
69
+ * A missing or unreadable file is not an error: not being logged in is the
70
+ * ordinary first state, and a corrupted file should send somebody to
71
+ * `wb login` rather than to a stack trace.
32
72
  */
33
- export declare function readCredentials(file?: string): Promise<StoredCredentials>;
73
+ export declare function readCredentials(file?: string): Promise<StoredCredentialsRead>;
34
74
  /**
35
75
  * Written owner-only, in a directory created owner-only.
36
76
  *
@@ -40,9 +80,9 @@ export declare function readCredentials(file?: string): Promise<StoredCredential
40
80
  * enough that leaving this to umask is not a defensible default.
41
81
  */
42
82
  export declare function writeCredentials(credentials: StoredCredentials, file?: string): Promise<void>;
43
- export declare function storeSession(origin: string, session: StoredSession, file?: string): Promise<void>;
44
- export declare function forgetSession(origin: string, file?: string): Promise<StoredSession | null>;
45
- export declare function loadSession(origin: string, file?: string): Promise<StoredSession | null>;
83
+ export declare function storeSession(origin: string, authority: StoredAuthority, file?: string): Promise<void>;
84
+ export declare function forgetSession(origin: string, file?: string): Promise<StoredAuthority | null>;
85
+ export declare function loadSession(origin: string, file?: string): Promise<StoredAuthority | null>;
46
86
  /**
47
87
  * Where the last project and environment used against a deployment are kept.
48
88
  *