@package-broker/cli 2.0.0-rc.3 → 2.0.0-rc.5

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 (50) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/build-artifacts.d.ts.map +1 -1
  3. package/dist/build-artifacts.js +1 -0
  4. package/dist/build-artifacts.js.map +1 -1
  5. package/dist/build.d.ts.map +1 -1
  6. package/dist/build.js +7 -2
  7. package/dist/build.js.map +1 -1
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +55 -7
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/admin.d.ts +6 -2
  12. package/dist/commands/admin.d.ts.map +1 -1
  13. package/dist/commands/admin.js +59 -4
  14. package/dist/commands/admin.js.map +1 -1
  15. package/dist/commands/cloudflare/api.d.ts +1 -0
  16. package/dist/commands/cloudflare/api.d.ts.map +1 -1
  17. package/dist/commands/cloudflare/api.js +15 -3
  18. package/dist/commands/cloudflare/api.js.map +1 -1
  19. package/dist/commands/cloudflare/deploy.d.ts +10 -0
  20. package/dist/commands/cloudflare/deploy.d.ts.map +1 -1
  21. package/dist/commands/cloudflare/deploy.js +215 -71
  22. package/dist/commands/cloudflare/deploy.js.map +1 -1
  23. package/dist/commands/cloudflare/input-messages.d.ts +3 -0
  24. package/dist/commands/cloudflare/input-messages.d.ts.map +1 -0
  25. package/dist/commands/cloudflare/input-messages.js +2 -0
  26. package/dist/commands/cloudflare/input-messages.js.map +1 -0
  27. package/dist/commands/cloudflare/inventory.d.ts +3 -1
  28. package/dist/commands/cloudflare/inventory.d.ts.map +1 -1
  29. package/dist/commands/cloudflare/inventory.js +17 -2
  30. package/dist/commands/cloudflare/inventory.js.map +1 -1
  31. package/dist/commands/cloudflare/local-auth.d.ts +34 -0
  32. package/dist/commands/cloudflare/local-auth.d.ts.map +1 -0
  33. package/dist/commands/cloudflare/local-auth.js +156 -0
  34. package/dist/commands/cloudflare/local-auth.js.map +1 -0
  35. package/dist/commands/cloudflare/setup.d.ts +3 -0
  36. package/dist/commands/cloudflare/setup.d.ts.map +1 -1
  37. package/dist/commands/cloudflare/setup.js +188 -43
  38. package/dist/commands/cloudflare/setup.js.map +1 -1
  39. package/dist/commands/cloudflare/teardown.d.ts.map +1 -1
  40. package/dist/commands/cloudflare/teardown.js +7 -3
  41. package/dist/commands/cloudflare/teardown.js.map +1 -1
  42. package/dist/commands/openapi-specs.d.ts.map +1 -1
  43. package/dist/commands/openapi-specs.js +20 -0
  44. package/dist/commands/openapi-specs.js.map +1 -1
  45. package/dist/manifest.d.ts +8 -1
  46. package/dist/manifest.d.ts.map +1 -1
  47. package/dist/manifest.js +52 -1
  48. package/dist/manifest.js.map +1 -1
  49. package/dist/prebuilt-expected.json +3 -3
  50. package/package.json +7 -7
@@ -5,6 +5,7 @@ import { dirname, isAbsolute, parse, relative, resolve, sep } from 'node:path';
5
5
  import { createInterface } from 'node:readline/promises';
6
6
  import { promisify } from 'node:util';
7
7
  import { ORG_SLUG_PATTERN } from '@package-broker/core/db/organization';
8
+ import { providerSecretName } from '@package-broker/core/plugin';
8
9
  import { normalizeEmail } from '@package-broker/core/identity/policy';
9
10
  import { createOtlpExporter } from '@package-broker/core/platform/otlp';
10
11
  import { formatMasterKey, generateMasterKey, parseMasterKey, } from '@package-broker/core/secrets/master-key';
@@ -12,8 +13,10 @@ import { assertPrebuiltConfiguration, materializePrebuilt, prebuiltEnvelope, rem
12
13
  import { bootstrapAdmin } from '../admin.js';
13
14
  import { bootstrapCloudflare, migrateCloudflare } from '../cloudflare.js';
14
15
  import { CloudflareApi, CloudflareError, cloudflareCredentials, commandEnvelope, failCommand, } from './api.js';
15
- import { active, assertProvidersAccepted, cloudflareDeployContract, deploy, deploymentDomain, workersDevOrigin, validateDeploymentArtifact, } from './deploy.js';
16
- import { InventoryStore, InventoryTransaction, installIdentity, } from './inventory.js';
16
+ import { active, assertProvidersAccepted, assertLocalAuthAccepted, setupProviderCandidate, resolveProviderText, checkSetupManagedProviders, cloudflareDeployContract, deploy, deploymentDomain, workersDevOrigin, validateDeploymentArtifact, } from './deploy.js';
17
+ import { InventoryStore, InventoryTransaction, installIdentity, emptyInventory, } from './inventory.js';
18
+ import { resolveLocalAuth, verifiedDeployment, frozenLocalAuthAttempt, readLocalAuthSources, liveLocalAuthModes, } from './local-auth.js';
19
+ import { inputMessages } from './input-messages.js';
17
20
  import { provision } from './provision.js';
18
21
  import { smoke } from './smoke.js';
19
22
  // No inherited extension, provider, runtime or arbitrary configuration input crosses this boundary.
@@ -341,6 +344,8 @@ export async function setup(o, overrides = {}) {
341
344
  return (completed = { exitCode: result.exitCode, output });
342
345
  };
343
346
  try {
347
+ if (o.cpuMs !== undefined && (!Number.isSafeInteger(o.cpuMs) || o.cpuMs < 1))
348
+ return invalid();
344
349
  if (o.prebuilt)
345
350
  await assertPrebuiltConfiguration(resolve(o.project ?? '.'), o.configPath);
346
351
  const guided = tty && (!o.workerName || !o.orgSlug || !o.orgName || !o.adminEmail);
@@ -410,11 +415,19 @@ export async function setup(o, overrides = {}) {
410
415
  ...(o.inventory === undefined ? {} : { inventory: o.inventory }),
411
416
  });
412
417
  let journal = await store.read();
418
+ const frozen = frozenLocalAuthAttempt(journal?.deployment?.attempt, 'setup');
413
419
  const keyState = journal?.secret_delivery.master_key ?? 'not_started';
414
420
  const bootstrapState = journal?.bootstrap.state ?? 'not_started';
415
421
  const needsToken = bootstrapState === 'not_started' ||
416
422
  (o.refreshSetupToken && bootstrapState !== 'already_set_up');
417
- if (needsToken && !tty && !o.tokenFile)
423
+ if (needsToken &&
424
+ !tty &&
425
+ !o.tokenFile &&
426
+ ((o.localAuth ?? o.env.PB_AUTH_LOCAL) === 'enabled' ||
427
+ o.refreshSetupToken === true ||
428
+ (!journal &&
429
+ !o.adoptResource?.length &&
430
+ (o.localAuth ?? o.env.PB_AUTH_LOCAL) !== 'disabled')))
418
431
  invalid();
419
432
  if (keyState === 'not_started' && !tty && !o.keyFile && !o.masterKeyEnv)
420
433
  invalid();
@@ -451,6 +464,8 @@ export async function setup(o, overrides = {}) {
451
464
  'DB',
452
465
  'DEPLOYMENT_ID',
453
466
  'PB_PUBLIC_URL',
467
+ 'PB_AUTH_LOCAL',
468
+ 'PB_IDP_PROVIDERS',
454
469
  'ASSETS',
455
470
  ...(artifact.ports
456
471
  ? [
@@ -476,7 +491,7 @@ export async function setup(o, overrides = {}) {
476
491
  if (JSON.stringify(await store.read()) !== JSON.stringify(journal))
477
492
  throw new CloudflareError('plan_changed', 8, false, 'validate');
478
493
  }
479
- const { providers, workersPaid, ...sharedOptions } = o;
494
+ const { providers, workersPaid, localAuth: localAuthFlag, ...sharedOptions } = o;
480
495
  const common = {
481
496
  ...sharedOptions,
482
497
  workerName: values.workerName,
@@ -544,6 +559,84 @@ export async function setup(o, overrides = {}) {
544
559
  if (new Set(installedNames).size !== installedNames.length ||
545
560
  installedNames.includes('PB_TOKEN_PEPPER'))
546
561
  throw new CloudflareError('configuration_conflict', 8, false, 'key_delivery');
562
+ const base = `/workers/scripts/${identity.script_name}`;
563
+ const sources = worker
564
+ ? await readLocalAuthSources({
565
+ api,
566
+ base,
567
+ versions: (await active(api, base)).versions,
568
+ stage: 'setup',
569
+ })
570
+ : [];
571
+ const localAuth = resolveLocalAuth({
572
+ flag: localAuthFlag,
573
+ env: o.env.PB_AUTH_LOCAL,
574
+ sources: worker ? sources : null,
575
+ secretNames: [...selectedSecrets, ...installedNames],
576
+ verified: verifiedDeployment(journal?.deployment),
577
+ ...(frozen ? { frozen } : {}),
578
+ stage: 'setup',
579
+ });
580
+ liveLocalAuthModes(sources, 'setup');
581
+ output.checks.push({ name: 'local_auth', status: localAuth });
582
+ try {
583
+ assertLocalAuthAccepted(localAuth, artifact.localAuth);
584
+ output.checks.push({ name: 'local_auth_capability', status: 'accepted' });
585
+ }
586
+ catch (error) {
587
+ output.checks.push({ name: 'local_auth_capability', status: 'rejected' });
588
+ throw error;
589
+ }
590
+ if (localAuth === 'disabled') {
591
+ if (o.tokenFile !== undefined || o.refreshSetupToken === true)
592
+ invalid();
593
+ const providersText = await resolveProviderText(artifact.identity, providers, sources, frozen, () => checkSetupManagedProviders(api, journal ?? emptyInventory(identity, (o.now ?? Date.now)()), o.routes, o.domain));
594
+ const candidate = setupProviderCandidate(artifact.identity, providersText);
595
+ const domain = normalizeEmail(email).split('@')[1];
596
+ if (!candidate.some((provider) => provider.policy?.verifiedDomains.includes(domain) &&
597
+ provider.policy?.emailAuthoritativeDomains?.includes(domain))) {
598
+ const error = new CloudflareError('invalid_input', 2, false, 'setup');
599
+ inputMessages.set(error, 'SSO setup requires a verified and authoritative admin domain in the effective providers');
600
+ throw error;
601
+ }
602
+ if (candidate.some((provider) => provider.kind === 'cloudflare-access' &&
603
+ (!('trustEmailVerification' in provider) || provider.trustEmailVerification !== true))) {
604
+ const error = new CloudflareError('invalid_input', 2, false, 'setup');
605
+ inputMessages.set(error, 'Disabled local sign-in requires Cloudflare Access trustEmailVerification=true; compiled descriptors without this flag cannot prove trust; use a trusted runtime providers document');
606
+ throw error;
607
+ }
608
+ const available = new Set([
609
+ ...installedNames,
610
+ ...(frozen &&
611
+ ['upload_pending', 'uploaded', 'configuring', 'activation_pending'].includes(frozen.phase)
612
+ ? frozen.secret_names
613
+ : []),
614
+ ...selectedSecrets.filter((name) => o.env[name]),
615
+ ]);
616
+ const missing = candidate
617
+ .filter((provider) => provider.kind === 'oidc')
618
+ .map((provider) => providerSecretName(provider.id, 'CLIENT_SECRET'))
619
+ .filter((name) => !available.has(name));
620
+ if (missing.length) {
621
+ const error = new CloudflareError('invalid_input', 2, false, 'setup');
622
+ inputMessages.set(error, `Missing provider secrets: ${[...new Set(missing)].join(', ')}; deliver with --secret <ENV_NAME> or --secrets <ENV_NAMES>`);
623
+ throw error;
624
+ }
625
+ if (!['not_started', 'sso_issuing', 'sso_unknown', 'sso_failed', 'sso_complete'].includes(bootstrapState)) {
626
+ const error = new CloudflareError('configuration_conflict', 8, false, 'setup');
627
+ inputMessages.set(error, 'Local enrollment has already started; finish setup with local sign-in enabled, then use pb cloudflare deploy --local-auth disabled');
628
+ throw error;
629
+ }
630
+ }
631
+ else {
632
+ if (bootstrapState.startsWith('sso_')) {
633
+ const error = new CloudflareError('configuration_conflict', 8, false, 'setup');
634
+ inputMessages.set(error, 'This installation uses SSO bootstrap; rerun setup with --local-auth disabled to finish it, or use pb cloudflare deploy --local-auth enabled, then pb admin bootstrap to provision local enrollment');
635
+ throw error;
636
+ }
637
+ if (needsToken && !tty && !o.tokenFile)
638
+ invalid();
639
+ }
547
640
  const installed = installedNames.includes('PB_MASTER_KEY');
548
641
  journal = await store.read();
549
642
  const pending = journal?.deployment?.attempt;
@@ -602,7 +695,9 @@ export async function setup(o, overrides = {}) {
602
695
  }
603
696
  progress(JSON.stringify(output.plan));
604
697
  if (o.dryRun) {
605
- output.plan.push(...['migrate', 'org_bootstrap', 'key_delivery', 'deploy', 'smoke', 'admin_bootstrap'].map((stage) => ({ stage, action: 'plan' })));
698
+ output.plan.push(...(localAuth === 'disabled'
699
+ ? ['migrate', 'org_bootstrap', 'admin_bootstrap', 'key_delivery', 'deploy', 'smoke']
700
+ : ['migrate', 'org_bootstrap', 'key_delivery', 'deploy', 'smoke', 'admin_bootstrap']).map((stage) => ({ stage, action: 'plan' })));
606
701
  output.status = 'planned';
607
702
  return (completed = { exitCode: 0, output });
608
703
  }
@@ -648,6 +743,43 @@ export async function setup(o, overrides = {}) {
648
743
  });
649
744
  if (organization.exitCode)
650
745
  return merge(organization);
746
+ stage = 'admin_bootstrap';
747
+ journal = await store.read();
748
+ const ssoState = journal?.bootstrap.state;
749
+ if (localAuth === 'disabled') {
750
+ if (ssoState !== 'sso_complete') {
751
+ await save((j) => {
752
+ j.bootstrap = { state: 'sso_issuing', expires_at: null };
753
+ });
754
+ const result = await operations.admin({
755
+ email,
756
+ signIn: 'sso',
757
+ localAuth,
758
+ target: {
759
+ kind: 'cloudflare',
760
+ databaseId,
761
+ env: o.env,
762
+ ...(o.fetch ? { fetch: o.fetch } : {}),
763
+ },
764
+ }, { diagnostic: progress, output: () => undefined });
765
+ await save((j) => {
766
+ j.bootstrap = {
767
+ state: result.exitCode === 0 && result.state === 'sso_complete'
768
+ ? 'sso_complete'
769
+ : result.state === 'unknown'
770
+ ? 'sso_unknown'
771
+ : 'sso_failed',
772
+ expires_at: null,
773
+ };
774
+ });
775
+ if (result.exitCode !== 0 || result.state !== 'sso_complete')
776
+ throw new CloudflareError(result.exitCode === 5
777
+ ? 'organization_not_found'
778
+ : result.exitCode === 7
779
+ ? 'outcome_unknown'
780
+ : 'provider_failure', result.exitCode || 1, false, stage);
781
+ }
782
+ }
651
783
  stage = 'key_delivery';
652
784
  let key = recoveredKey;
653
785
  if (installed) {
@@ -703,6 +835,7 @@ export async function setup(o, overrides = {}) {
703
835
  CLOUDFLARE_API_TOKEN: auth.apiToken,
704
836
  CLOUDFLARE_ACCOUNT_ID: auth.accountId,
705
837
  PB_MASTER_KEY: key,
838
+ ...(o.env.PB_AUTH_LOCAL === undefined ? {} : { PB_AUTH_LOCAL: o.env.PB_AUTH_LOCAL }),
706
839
  };
707
840
  for (const name of selectedSecrets) {
708
841
  if (name !== 'PB_MASTER_KEY' && !retainedNames.has(name))
@@ -713,6 +846,7 @@ export async function setup(o, overrides = {}) {
713
846
  const deployOptions = {
714
847
  contract: cloudflareDeployContract,
715
848
  ...deployCommon,
849
+ ...(localAuthFlag === undefined ? {} : { localAuth: localAuthFlag }),
716
850
  ...(providers === undefined ? {} : { providers }),
717
851
  ...(workersPaid === undefined ? {} : { workersPaid }),
718
852
  env: deployEnv,
@@ -745,47 +879,50 @@ export async function setup(o, overrides = {}) {
745
879
  stage = 'admin_bootstrap';
746
880
  journal = await store.read();
747
881
  const state = journal?.bootstrap.state;
748
- if ((state === 'issuing' || state === 'unknown') && !o.refreshSetupToken)
749
- throw new CloudflareError('token_refresh_required', 7, false, stage);
750
- if (state === 'not_started' ||
751
- ((state === 'issued' || state === 'issuing' || state === 'unknown') && o.refreshSetupToken)) {
752
- if (o.tokenFile)
753
- await safeDeliveryPath(o.tokenFile, roots, false);
754
- await save((j) => {
755
- j.bootstrap.state = 'issuing';
756
- });
757
- const result = await operations.admin({
758
- email,
759
- target: {
760
- kind: 'cloudflare',
761
- databaseId,
762
- env: o.env,
763
- ...(o.fetch ? { fetch: o.fetch } : {}),
764
- },
765
- ...(o.tokenFile ? { tokenFile: o.tokenFile } : {}),
766
- stdoutIsTTY: tty,
767
- }, {
768
- diagnostic: () => undefined,
769
- output: () => undefined,
770
- ...(!o.tokenFile ? { deliver: o.reveal ?? reveal } : {}),
771
- });
772
- if (result.state === 'issued' || result.state === 'already_set_up') {
882
+ if (localAuth === 'enabled') {
883
+ if ((state === 'issuing' || state === 'unknown') && !o.refreshSetupToken)
884
+ throw new CloudflareError('token_refresh_required', 7, false, stage);
885
+ if (state === 'not_started' ||
886
+ ((state === 'issued' || state === 'issuing' || state === 'unknown') && o.refreshSetupToken)) {
887
+ if (o.tokenFile)
888
+ await safeDeliveryPath(o.tokenFile, roots, false);
773
889
  await save((j) => {
774
- j.bootstrap = {
775
- state: result.state === 'issued' ? 'issued' : 'already_set_up',
776
- expires_at: result.expiresAt,
777
- };
890
+ j.bootstrap.state = 'issuing';
778
891
  });
779
- }
780
- else {
781
- await save((j) => {
782
- j.bootstrap.state = 'unknown';
892
+ const result = await operations.admin({
893
+ email,
894
+ localAuth,
895
+ target: {
896
+ kind: 'cloudflare',
897
+ databaseId,
898
+ env: o.env,
899
+ ...(o.fetch ? { fetch: o.fetch } : {}),
900
+ },
901
+ ...(o.tokenFile ? { tokenFile: o.tokenFile } : {}),
902
+ stdoutIsTTY: tty,
903
+ }, {
904
+ diagnostic: progress,
905
+ output: () => undefined,
906
+ ...(!o.tokenFile ? { deliver: o.reveal ?? reveal } : {}),
783
907
  });
784
- throw new CloudflareError(result.exitCode === 5
785
- ? 'organization_not_found'
786
- : result.exitCode === 7
787
- ? 'outcome_unknown'
788
- : 'provider_failure', result.exitCode || 1, false, stage);
908
+ if (result.state === 'issued' || result.state === 'already_set_up') {
909
+ await save((j) => {
910
+ j.bootstrap = {
911
+ state: result.state === 'issued' ? 'issued' : 'already_set_up',
912
+ expires_at: result.expiresAt,
913
+ };
914
+ });
915
+ }
916
+ else {
917
+ await save((j) => {
918
+ j.bootstrap.state = 'unknown';
919
+ });
920
+ throw new CloudflareError(result.exitCode === 5
921
+ ? 'organization_not_found'
922
+ : result.exitCode === 7
923
+ ? 'outcome_unknown'
924
+ : 'provider_failure', result.exitCode || 1, false, stage);
925
+ }
789
926
  }
790
927
  }
791
928
  if (!output.worker_url)
@@ -798,6 +935,12 @@ export async function setup(o, overrides = {}) {
798
935
  url.hash ||
799
936
  url.pathname !== '/')
800
937
  throw new CloudflareError('configuration_conflict', 8, false, 'deploy');
938
+ if (localAuth === 'disabled') {
939
+ output.login_url = `${url.origin}/_pb/ui/#/login`;
940
+ output.status = 'ok';
941
+ progress('Open login_url and sign in with the configured SSO provider using the provisioned administrator identity.');
942
+ return (completed = { exitCode: 0, output });
943
+ }
801
944
  output.bootstrap_url = `${url.origin}/_pb/ui/setup`;
802
945
  journal = await store.read();
803
946
  if (journal?.bootstrap.expires_at)
@@ -807,6 +950,8 @@ export async function setup(o, overrides = {}) {
807
950
  return (completed = { exitCode: 0, output });
808
951
  }
809
952
  catch (error) {
953
+ if (error instanceof CloudflareError && inputMessages.has(error))
954
+ error.message = inputMessages.get(error);
810
955
  return (completed = failCommand(output, error instanceof CloudflareError
811
956
  ? error
812
957
  : new CloudflareError(stage === 'admin_bootstrap' ? 'outcome_unknown' : 'provider_failure', stage === 'admin_bootstrap' ? 7 : 1, false, stage)));
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/cloudflare/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/cloudflare/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,cAAc,GACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,WAAW,GAEZ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,MAAM,EACN,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,GAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,GAEf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AA2CtD,oGAAoG;AACpG,MAAM,UAAU,qBAAqB,CAAC,GAAQ;IAC5C,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI;QACjB,MAAM;QACN,MAAM;QACN,aAAa;QACb,QAAQ;QACR,KAAK;QACL,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,mBAAmB;KACpB,EAAE,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,MAAc,EACd,GAAQ;IAER,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,CAAC,CACvB,OAAO,CAAC,QAAQ,EAChB;YACE,qBAAqB;YACrB,QAAQ;YACR,+IAA+I;YAC/I,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI;YAC/C,UAAU;YACV,MAAM;SACP,EACD,EAAE,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,CAC5D,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,GAAU,EAAE;IAC1B,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC,CAAC;AACF,MAAM,MAAM,GAAG,GAAU,EAAE;IACzB,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACjE,CAAC,CAAC;AACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,KAAwB,EACxB,QAAiB,EACjB,QAAQ,GAAG,QAAQ;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACpF,MAAM,EAAE,CAAC;QACX,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC;gBACtC,IAAI,QAAQ;oBAAE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;gBAC3F,MAAM,EAAE,CAAC;YACX,CAAC;YACD,IAAI,KAAK;gBAAE,MAAM,GAAG,OAAO,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAAE,MAAM,EAAE,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3F,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe;YAAE,MAAM,KAAK,CAAC;QAClD,IAAK,KAA4B,CAAC,IAAI,KAAK,GAAG;YAAE,OAAO,MAAM,EAAE,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,IACE,KAAK;QACL,CAAC,CAAC,QAAQ;YACR,CAAC,KAAK,CAAC,MAAM,EAAE;YACf,KAAK,CAAC,KAAK,KAAK,CAAC;YACjB,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAEnC,MAAM,EAAE,CAAC;IACX,IAAI,QAAQ,IAAI,CAAC,KAAK;QACpB,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,IACE,CAAC,KAAK,CAAC,MAAM,EAAE;YACf,KAAK,CAAC,KAAK,KAAK,CAAC;YACjB,KAAK,CAAC,IAAI,GAAG,IAAI;YACjB,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE;YAEhC,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAW;IAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,IAAI,EACJ,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,EAChF,KAAK,CACN,CAAC;IACF,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAe;IACnC,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AACD,KAAK,UAAU,MAAM,CAAC,MAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AACD,KAAK,UAAU,YAAY,CAAC,OAAe;IACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,MAAM,EAAE,CAAC;IACf,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,MAAe,EAAE,EAAE;YACjC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1B,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACzB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,MAAM;gBAAE,MAAM,CAAC,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;;gBACtF,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,GAAG,EAAE,CAAC;QACb,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;oBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,IAAI,KAAK,QAAQ;oBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;oBAAE,KAAK,IAAI,IAAI,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAe;IAC3C,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/F,OAAO,EAAE,CAAC;IACZ,IACE,CAAC,CAAC,MAAM,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;YACpB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,EAAE,CAAC;IACZ,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,IACE,GAAG,CAAC,QAAQ,KAAK,QAAQ;YACzB,GAAG,CAAC,QAAQ;YACZ,GAAG,CAAC,QAAQ;YACZ,GAAG,CAAC,MAAM;YACV,GAAG,CAAC,IAAI;YACR,GAAG,CAAC,IAAI;YACR,GAAG,CAAC,QAAQ,KAAK,GAAG;YACpB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC3B,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC;YAEvC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,SAAS;YAAE,OAAO,OAAO,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,IACE,CAAC,KAAK;gBACN,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ;gBAEpF,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/F,OAAO,EAAE,CAAC;IACZ,IACE,CAAC,CAAC,eAAe,KAAK,SAAS;QAC/B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC;QAE1F,OAAO,EAAE,CAAC;IACZ,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjF,IAAI,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACxE,KAAK,MAAM,IAAI,IAAI;QACjB,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACzD,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;KAC5D,EAAE,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,iBAAiB;YAAE,OAAO,EAAE,CAAC;IACrF,CAAC;IACD,IACE,CAAC,CAAC,aAAa,KAAK,SAAS;QAC7B,CAAC,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QAEhG,OAAO,EAAE,CAAC;IACZ,IACE,CAAC,CAAC,YAAY,KAAK,SAAS;QAC5B,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;YAC7D,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CACrF,CAAC,CAAC,YAAY,CACf,CAAC;QAEJ,OAAO,EAAE,CAAC;IACZ,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAe;IACzC,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,IAAI,gBAAgB,CAAC;IACtD,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,IACE,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrE,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC;QAC9C,CAAC,UAAU;YACT,CAAC,CAAC,CAAC,CAAC,YAAY;gBACd,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClC,UAAU,KAAK,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAE/C,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAChC,cAAiC,EACjC,WAA8B,EAC9B,WAA+B;IAE/B,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,IACE,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;QAC9C,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,UAAmB;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IACE,CAAC,OAAO;YACR,OAAO,OAAO,KAAK,QAAQ;YAC3B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YAEjE,OAAO,EAAE,CAAC;QACZ,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAiC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,CAAe,EACf,YAAsC,EAAE;IAExC,MAAM,UAAU,GAAoB;QAClC,KAAK,EAAE,kBAAkB;QACzB,gBAAgB,EAAE,0BAA0B;QAC5C,SAAS;QACT,OAAO,EAAE,iBAAiB;QAC1B,YAAY,EAAE,mBAAmB;QACjC,MAAM;QACN,KAAK;QACL,KAAK,EAAE,cAAc;QACrB,GAAG,SAAS;KACb,CAAC;IACF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GACP,CAAC,CAAC,CAAC,cAAc;QACjB,CAAC,CAAC,CAAC,IAAI;QACP,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,IAAI,WAA+B,CAAC;IACpC,IAAI,WAA6C,CAAC;IAClD,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,IAAI,SAAS,GAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,MAAqB,EAAiB,EAAE;QACrD,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,IACE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACvD,KAAK,KAAK,IAAI;gBACd,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,CAAC;gBAC3C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;gBAEvC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,OAAO,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC;IACF,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAAE,OAAO,OAAO,EAAE,CAAC;QAC/F,IAAI,CAAC,CAAC,QAAQ;YAAE,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG;YACb,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAU,EAAE,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACb,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,GAAG,CAAC,4BAA4B,CAAC,CAAC,IAAI,YAAY,CAAC;YAC5E,CAAC,CAAC,YAAY;gBACZ,CAAC,MAAM,GAAG,CAAC,sCAAsC,CAAC,CAAC;oBACnD,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,yCAAyC,CAAC,CAAC,IAAI,IAAI,CAAC;gBAC9E,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,OAAO,EAAE,CAAC;gBAC9D,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACrE,IAAI,MAAM;oBAAE,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACnE,IAAI,MAAM;oBAAE,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC5D,IAAI,MAAM;oBAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;gBAClC,MAAM,MAAM,GACV,CAAC,MAAM,GAAG,CAAC,iEAAiE,CAAC,CAAC;oBAC9E,UAAU,CAAC;gBACb,IAAI,MAAM,KAAK,UAAU;oBAAE,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,CAAC,iCAAiC,CAAC,CAAC;qBAC/E,IAAI,MAAM,KAAK,KAAK;oBACvB,CAAC,CAAC,YAAY,GAAG,MAAM,GAAG,CAAC,yCAAyC,CAAC,CAAC;qBACnE,IAAI,MAAM,KAAK,UAAU;oBAAE,OAAO,OAAO,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAQ,EAC1B,IAAI,GAAG,MAAM,CAAC,OAAQ,EACtB,KAAK,GAAG,MAAM,CAAC,UAAW,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAC9F,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;YAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;QACpF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,MAAM,GAAG,OAAO,CAClB,OAAO,EACP,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CACxE,CAAC;QACF,MAAM,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAW,EAAE,CAAC,CAAC;QACpF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC;YACxC,OAAO;YACP,MAAM;YACN,QAAQ;YACR,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,OAAO,EAAE,eAAe,CAAC,UAAU,IAAI,aAAa,CAAC;QACtE,MAAM,cAAc,GAAG,OAAO,EAAE,SAAS,CAAC,KAAK,IAAI,aAAa,CAAC;QACjE,MAAM,UAAU,GACd,cAAc,KAAK,aAAa;YAChC,CAAC,CAAC,CAAC,iBAAiB,IAAI,cAAc,KAAK,gBAAgB,CAAC,CAAC;QAC/D,IACE,UAAU;YACV,CAAC,GAAG;YACJ,CAAC,CAAC,CAAC,SAAS;YACZ,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS;gBACjD,CAAC,CAAC,iBAAiB,KAAK,IAAI;gBAC5B,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM;oBACxB,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,UAAU,CAAC,CAAC;YAEzD,OAAO,EAAE,CAAC;QACZ,IAAI,QAAQ,KAAK,aAAa,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QACnF,MAAM,QAAQ,GAAG,CACf,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CACrF,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,CAAC,OAAO;YAAE,MAAM,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,KAAK,aAAa,EAAE,KAAK,CAAC,CAAC;QAC3F,IAAI,CAAC,CAAC,SAAS;YAAE,MAAM,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAAE,MAAM,EAAE,CAAC;QACtF,KAAK,GAAG,OAAO,CAAC;QAChB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjF,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,eAAe,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC;YAC1E,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,CAAC;gBACjF,OAAO;gBACP,MAAM;aACP,CAAC,CAAC;YACH,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;YAC3C,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;;YAAM,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5D,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3D,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;QAC1C,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC;QACvD,MAAM,cAAc,GAAG;YACrB,IAAI;YACJ,eAAe;YACf,eAAe;YACf,eAAe;YACf,kBAAkB;YAClB,QAAQ;YACR,GAAG,CAAC,QAAQ,CAAC,KAAK;gBAChB,CAAC,CAAC;oBACE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;oBAC3B,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;oBAC3B,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB;iBAC9C;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;QAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC;QAC5D,yBAAyB,CAAC,cAAc,EAAE,CAAC,GAAG,eAAe,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAC9F,IAAI,UAAU,IAAI,CAAC,UAAU,KAAK,eAAe,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvF,OAAO,EAAE,CAAC;QACZ,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ;gBAAE,OAAO,OAAO,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACd,WAAW,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAChE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,EACJ,SAAS,EACT,WAAW,EACX,SAAS,EAAE,aAAa,EACxB,GAAG,aAAa,EACjB,GAA6C,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG;YACb,GAAG,aAAa;YAChB,UAAU,EAAE,MAAM,CAAC,UAAW;YAC9B,QAAQ,EAAE,KAAK;YACf,OAAO;YACP,UAAU;YACV,MAAM;YACN,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC;QACF,+EAA+E;QAC/E,MAAM,IAAI,GAAG,KAAK,EAAE,MAAoC,EAAE,EAAE;YAC1D,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9E,MAAM,CAAC,OAAO,CAAC,CAAC;YAChB,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACnE,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,KAAK,GAAG,WAAW,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC;YACzC,GAAG,MAAM;YACT,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC;YAC5B,GAAG,IAAI;YACP,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,IACE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1D,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAE5D,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;;YACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ,CAAC,WAAW;aAC3B,CAAC,CAAC;QACL,MAAM,cAAc,GAAG,MAAM;YAC3B,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,oBAAoB,QAAQ,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjF,IACE,CAAC,CAAC,IAAI,KAAK,aAAa;oBACxB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAC1B,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvC,MAAM,IAAI,CAAC;oBACX,OAAO,IAAI,CAAC;oBAEZ,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;gBAChF,OAAO,CAAC,CAAC,IAAI,CAAC;YAChB,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,IACE,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM;YACtD,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAE1C,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,oBAAoB,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM;YACpB,CAAC,CAAC,MAAM,oBAAoB,CAAC;gBACzB,GAAG;gBACH,IAAI;gBACJ,QAAQ,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ;gBAC5C,KAAK,EAAE,OAAO;aACf,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,SAAS,GAAG,gBAAgB,CAAC;YACjC,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa;YACxB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YAChC,WAAW,EAAE,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC;YACpD,QAAQ,EAAE,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC;YACjD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1E,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,iBAAiB,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YACzE,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,QAAQ,CAAC,QAAQ,EACjB,SAAS,EACT,OAAO,EACP,MAAM,EACN,GAAG,EAAE,CACH,0BAA0B,CACxB,GAAG,EACH,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAC1D,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,MAAM,CACT,CACJ,CAAC;YACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;YACrD,IACE,CAAC,SAAS,CAAC,IAAI,CACb,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACjD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC/D,EACD,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACtE,aAAa,CAAC,GAAG,CACf,KAAK,EACL,yFAAyF,CAC1F,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IACE,SAAS,CAAC,IAAI,CACZ,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,IAAI,KAAK,mBAAmB;gBACrC,CAAC,CAAC,CAAC,wBAAwB,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,sBAAsB,KAAK,IAAI,CAAC,CACxF,EACD,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACtE,aAAa,CAAC,GAAG,CACf,KAAK,EACL,oLAAoL,CACrL,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;gBACxB,GAAG,cAAc;gBACjB,GAAG,CAAC,MAAM;oBACV,CAAC,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;oBACxF,CAAC,CAAC,MAAM,CAAC,YAAY;oBACrB,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACjD,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,SAAS;iBACtB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;iBAC9C,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;iBACnE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACtE,aAAa,CAAC,GAAG,CACf,KAAK,EACL,6BAA6B,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6DAA6D,CAC3H,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IACE,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,QAAQ,CACnF,cAAc,CACf,EACD,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC/E,aAAa,CAAC,GAAG,CACf,KAAK,EACL,oIAAoI,CACrI,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC/E,aAAa,CAAC,GAAG,CACf,KAAK,EACL,oMAAoM,CACrM,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;gBAAE,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;QAC7C,MAAM,YAAY,GAChB,OAAO;YACP,CAAC,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YACzF,CAAC,CAAC,OAAO,CAAC,YAAY;YACtB,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;QACpE,yBAAyB,CAAC,cAAc,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,oBAAoB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG;YACzD,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,IAAI,KAAK,eAAe,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO,EAAE,CAAC;YACjE,CAAC;QACH,CAAC;QACD,IAAI,WAAW,IAAI,UAAU,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YAC7D,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,MAAM,YAAY,GAChB,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC/C,CAAC,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9F,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,QAAQ,KAAK,aAAa,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY;YAC5F,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QACpF,IAAI,YAAgC,CAAC;QACrC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,YAAY;gBAAE,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;iBACpD,IAAI,QAAQ,KAAK,aAAa,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjD,MAAM,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/C,YAAY,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,QAAQ,KAAK,aAAa,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC;oBACH,IAAI,CAAC,YAAY;wBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;oBACrC,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,IAAI,CACd,GAAG,CAAC,SAAS,KAAK,UAAU;gBAC1B,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC;gBACpF,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,CACrF,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAC9C,CAAC;YACF,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,OAAO,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACrE,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACpF,IAAI,CAAC,MAAM,GAAG,CAAC,sCAAsC,CAAC,CAAC,KAAK,KAAK;gBAC/D,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC;YAC7C,GAAG,MAAM;YACT,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,UAAU;YAAE,OAAO,OAAO,EAAE,CAAC;QAClC,KAAK,GAAG,SAAS,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACxC,GAAG,MAAM;YACT,UAAU;YACV,MAAM;YACN,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK;SAChC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IACE,CAAC,CAAC,OAAO,KAAK,KAAK;YACnB,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAE3F,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxE,KAAK,GAAG,eAAe,CAAC;QACxB,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC;YACjD,UAAU;YACV,IAAI;YACJ,IAAI;YACJ,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;QACtD,KAAK,GAAG,iBAAiB,CAAC;QAC1B,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;QAC1C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACf,CAAC,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CACnC;oBACE,KAAK;oBACL,MAAM,EAAE,KAAK;oBACb,SAAS;oBACT,MAAM,EAAE;wBACN,IAAI,EAAE,YAAY;wBAClB,UAAU;wBACV,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACvC;iBACF,EACD,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAClD,CAAC;gBACF,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACf,CAAC,CAAC,SAAS,GAAG;wBACZ,KAAK,EACH,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,cAAc;4BACtD,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;gCAC1B,CAAC,CAAC,aAAa;gCACf,CAAC,CAAC,YAAY;wBACpB,UAAU,EAAE,IAAI;qBACjB,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,cAAc;oBAC1D,MAAM,IAAI,eAAe,CACvB,MAAM,CAAC,QAAQ,KAAK,CAAC;wBACnB,CAAC,CAAC,wBAAwB;wBAC1B,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC;4BACrB,CAAC,CAAC,iBAAiB;4BACnB,CAAC,CAAC,kBAAkB,EACxB,MAAM,CAAC,QAAQ,IAAI,CAAC,EACpB,KAAK,EACL,KAAK,CACN,CAAC;YACN,CAAC;QACH,CAAC;QACD,KAAK,GAAG,cAAc,CAAC;QACvB,IAAI,GAAG,GAAuB,YAAY,CAAC;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACf,CAAC,CAAC,eAAe,CAAC,UAAU,GAAG,WAAW,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,sCAAsC,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAI,QAAQ,KAAK,aAAa;oBAC5B,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtE,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACf,CAAC,CAAC,eAAe,CAAC,UAAU,GAAG,gBAAgB,CAAC;gBAClD,CAAC,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACvC,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;gBACjC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAChD,MAAM,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG;wBAAE,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChC,QAAQ,CAAC,0DAA0D,CAAC,CAAC;oBACrE,IACE,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,CACrC,2CAA2C,CAC5C,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAEpB,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG;gBAAE,OAAO,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,SAAS,GAAG,WAAW,CAC7B,MAAM,EACN,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CACtD,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACf,CAAC,CAAC,eAAe,CAAC,UAAU,GAAG,UAAU,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,OAAO;gBACX,QAAQ,CACN,6GAA6G,CAC9G,CAAC;YACJ,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACf,CAAC,CAAC,eAAe,CAAC,UAAU,GAAG,gBAAgB,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,GAAG,QAAQ,CAAC;QACjB,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACnC,OAAO,YAAY,CAAC,OAAO,CAAC;QAC5B,MAAM,SAAS,GAAuC;YACpD,oBAAoB,EAAE,IAAI,CAAC,QAAQ;YACnC,qBAAqB,EAAE,IAAI,CAAC,SAAS;YACrC,aAAa,EAAE,GAAG;YAClB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SACrF,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,eAAe,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,WAAW;YAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAkB;YACnC,QAAQ,EAAE,wBAAwB;YAClC,GAAG,YAAY;YACf,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;YACpE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YACrD,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,eAAe;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxD,GAAG,GAAG,SAAS,CAAC;QAChB,YAAY,GAAG,SAAS,CAAC;QACzB,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC;QACpC,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,CAAC,CAAC,eAAe,CAAC,UAAU,GAAG,WAAW,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,KAAK,GAAG,OAAO,CAAC;QAChB,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAClC,OAAQ,WAAoC,CAAC,OAAO,CAAC;QACrD,MAAM,YAAY,GAAiB;YACjC,GAAG,WAAW;YACd,WAAW,EAAE,OAAO;YACpB,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,GAAG,iBAAiB,CAAC;QAC1B,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;QACvC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;gBACtE,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACvE,IACE,KAAK,KAAK,aAAa;gBACvB,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,EAC3F,CAAC;gBACD,IAAI,CAAC,CAAC,SAAS;oBAAE,MAAM,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnE,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACf,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CACnC;oBACE,KAAK;oBACL,SAAS;oBACT,MAAM,EAAE;wBACN,IAAI,EAAE,YAAY;wBAClB,UAAU;wBACV,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACvC;oBACD,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,WAAW,EAAE,GAAG;iBACjB,EACD;oBACE,UAAU,EAAE,QAAQ;oBACpB,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;oBACvB,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CACF,CAAC;gBACF,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;oBACnE,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACf,CAAC,CAAC,SAAS,GAAG;4BACZ,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB;4BAC9D,UAAU,EAAE,MAAM,CAAC,SAAS;yBAC7B,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACf,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,MAAM,IAAI,eAAe,CACvB,MAAM,CAAC,QAAQ,KAAK,CAAC;wBACnB,CAAC,CAAC,wBAAwB;wBAC1B,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC;4BACrB,CAAC,CAAC,iBAAiB;4BACnB,CAAC,CAAC,kBAAkB,EACxB,MAAM,CAAC,QAAQ,IAAI,CAAC,EACpB,KAAK,EACL,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvC,IACE,GAAG,CAAC,QAAQ,KAAK,QAAQ;YACzB,GAAG,CAAC,QAAQ;YACZ,GAAG,CAAC,QAAQ;YACZ,GAAG,CAAC,MAAM;YACV,GAAG,CAAC,IAAI;YACR,GAAG,CAAC,QAAQ,KAAK,GAAG;YAEpB,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1E,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,MAAM,iBAAiB,CAAC;YAClD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,QAAQ,CACN,2GAA2G,CAC5G,CAAC;YACF,OAAO,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,aAAa,GAAG,GAAG,GAAG,CAAC,MAAM,eAAe,CAAC;QACpD,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,SAAS,CAAC,UAAU;YAC/B,QAAQ,CACN,0BAA0B,OAAO,CAAC,SAAS,CAAC,UAAU,kEAAkE,CACzH,CAAC;QACJ,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,CACN,kWAAkW,CACnW,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9D,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QAC5C,OAAO,CAAC,SAAS,GAAG,WAAW,CAC7B,MAAM,EACN,KAAK,YAAY,eAAe;YAC9B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,eAAe,CACjB,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,EACpE,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnC,KAAK,EACL,KAAK,CACN,CACN,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,WAAW;YAAE,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,eAAe,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5F,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,CAAe;IACtD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;;QACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../../src/commands/cloudflare/teardown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../../src/commands/cloudflare/teardown.ts"],"names":[],"mappings":"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"}
@@ -184,7 +184,7 @@ class CleanupApi {
184
184
  const read = async (source) => {
185
185
  const reader = source.body?.getReader();
186
186
  if (!reader)
187
- throw new Error();
187
+ return '';
188
188
  const chunks = [];
189
189
  let bytes = 0;
190
190
  try {
@@ -219,13 +219,17 @@ class CleanupApi {
219
219
  if (!response.ok)
220
220
  throw new CloudflareError([401, 403].includes(response.status) ? 'permission_denied' : 'provider_failure', 1, [408, 429, 500, 502, 503, 504].includes(response.status), 'teardown', response.status);
221
221
  const text = await read(response);
222
+ const domainDeletion = method === 'DELETE' &&
223
+ new RegExp(`^/accounts/${this.auth.accountId}/workers/domains/[a-zA-Z0-9_-]+$`).test(path);
224
+ if (domainDeletion && text === '')
225
+ return { gone: false, result: null };
222
226
  try {
223
227
  const parsed = object(JSON.parse(text));
224
- if (parsed.success !== true || !Object.hasOwn(parsed, 'result'))
228
+ if (parsed.success !== true || (!domainDeletion && !Object.hasOwn(parsed, 'result')))
225
229
  throw new Error();
226
230
  return {
227
231
  gone: false,
228
- result: parsed.result,
232
+ result: Object.hasOwn(parsed, 'result') ? parsed.result : null,
229
233
  ...(parsed.result_info == null ? {} : { result_info: object(parsed.result_info) }),
230
234
  ...(Object.hasOwn(parsed, 'result_info') ? {} : { resultInfoAbsent: true }),
231
235
  };