@salesforce/b2c-tooling-sdk 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/content-schemas/databindingcontext.json +1 -1
- package/data/guides/enrichment.json +2030 -1413
- package/data/guides/index.json +2637 -1807
- package/data/help/index.json +1537 -1457
- package/data/help-kb/enrichment.json +6122 -0
- package/data/help-kb/index.json +8496 -0
- package/data/job-steps/index.json +1 -1
- package/data/job-steps/job-steps.json +1 -1
- package/data/script-api/index.json +137 -22
- package/data/tooling/index.json +19 -10
- package/data/xsd/channels.xsd +47 -0
- package/data/xsd/index.json +6 -2
- package/data/xsd/library.xsd +31 -0
- package/data/xsd/order.xsd +317 -0
- package/data/xsd/search2.xsd +1 -1
- package/data/xsd/sort.xsd +17 -0
- package/data/xsd/storefronts.xsd +34 -48
- package/dist/esm/cli/config.js +7 -1
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +20 -4
- package/dist/esm/cli/mrt-command.js +28 -6
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/webdav-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.js +1 -0
- package/dist/esm/cli/webdav-command.js.map +1 -1
- package/dist/esm/clients/index.d.ts +2 -0
- package/dist/esm/clients/index.js +1 -0
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +9 -37
- package/dist/esm/clients/middleware-registry.js +62 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/clients/storefront-deployments.d.ts +1 -0
- package/dist/esm/clients/storefront-deployments.js.map +1 -1
- package/dist/esm/clients/storefront-environments.d.ts +56 -0
- package/dist/esm/clients/storefront-environments.generated.d.ts +208 -0
- package/dist/esm/clients/storefront-environments.generated.js +6 -0
- package/dist/esm/clients/storefront-environments.generated.js.map +1 -0
- package/dist/esm/clients/storefront-environments.js +24 -0
- package/dist/esm/clients/storefront-environments.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +28 -0
- package/dist/esm/config/dw-json.js +47 -1
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +2 -2
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/resolver.js +12 -0
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +10 -1
- package/dist/esm/config/sources/env-source.js +29 -1
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +1 -1
- package/dist/esm/docs/search.js +3 -1
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/docs/types.d.ts +4 -1
- package/dist/esm/docs/types.js +1 -0
- package/dist/esm/docs/types.js.map +1 -1
- package/dist/esm/guidance/catalog.js +1 -1
- package/dist/esm/guidance/catalog.js.map +1 -1
- package/dist/esm/guidance/types.d.ts +6 -2
- package/dist/esm/guidance/types.js.map +1 -1
- package/dist/esm/operations/code/deploy.js +4 -0
- package/dist/esm/operations/code/deploy.js.map +1 -1
- package/dist/esm/operations/jobs/site-archive.d.ts +7 -0
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/dist/esm/operations/mrt/deployment.d.ts +28 -1
- package/dist/esm/operations/mrt/deployment.js +17 -4
- package/dist/esm/operations/mrt/deployment.js.map +1 -1
- package/dist/esm/operations/mrt/env-var.d.ts +135 -0
- package/dist/esm/operations/mrt/env-var.js +203 -0
- package/dist/esm/operations/mrt/env-var.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +4 -4
- package/dist/esm/operations/mrt/index.js +2 -2
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/push.d.ts +202 -0
- package/dist/esm/operations/mrt/push.js +280 -0
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/operations/mtls/index.d.ts +135 -0
- package/dist/esm/operations/mtls/index.js +270 -0
- package/dist/esm/operations/mtls/index.js.map +1 -0
- package/dist/esm/safety/safety-guard.d.ts +1 -0
- package/dist/esm/safety/safety-guard.js +2 -1
- package/dist/esm/safety/safety-guard.js.map +1 -1
- package/dist/esm/safety/types.d.ts +2 -2
- package/dist/esm/scapi/index.d.ts +2 -2
- package/dist/esm/scapi/request.d.ts +13 -0
- package/dist/esm/scapi/request.js +49 -15
- package/dist/esm/scapi/request.js.map +1 -1
- package/dist/esm/scapi/runtime.d.ts +7 -0
- package/dist/esm/scapi/runtime.js +31 -1
- package/dist/esm/scapi/runtime.js.map +1 -1
- package/dist/esm/skills/sources.js +8 -0
- package/dist/esm/skills/sources.js.map +1 -1
- package/dist/esm/skills/types.d.ts +1 -1
- package/dist/esm/test-utils/config-isolation.js +2 -2
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/package.json +8 -2
- package/specs/storefront-environments-v1.yaml +272 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { createMrtClient, DEFAULT_MRT_ORIGIN } from '../../clients/mrt.js';
|
|
2
|
+
import { createScapiRequestError } from '../../clients/scapi-backend-utils.js';
|
|
3
|
+
import { toOrganizationId, } from '../../clients/storefront-deployments.js';
|
|
2
4
|
import { getLogger } from '../../logging/logger.js';
|
|
3
5
|
import { createBundle, createBundleV2 } from './bundle.js';
|
|
6
|
+
import { buildScapiDeploymentsClient, createDeployment, createDeploymentScapi, LEGACY_AUTH_REQUIRED_MESSAGE, READ_HEADERS, WRITE_HEADERS, } from './deployment.js';
|
|
7
|
+
import { runMrtWithFallback, } from './mrt-backend.js';
|
|
4
8
|
/**
|
|
5
9
|
* Pushes a bundle to a Managed Runtime project.
|
|
6
10
|
*
|
|
@@ -387,4 +391,280 @@ export async function bulkDeleteBundles(options, auth) {
|
|
|
387
391
|
rejected,
|
|
388
392
|
};
|
|
389
393
|
}
|
|
394
|
+
/** Normalizes a legacy MRT bundle list item into an {@link MrtBundleView}. */
|
|
395
|
+
export function normalizeLegacyBundle(bundle) {
|
|
396
|
+
return {
|
|
397
|
+
id: bundle.id ?? undefined,
|
|
398
|
+
message: bundle.message ?? undefined,
|
|
399
|
+
status: bundle.status ?? undefined,
|
|
400
|
+
user: bundle.user ?? undefined,
|
|
401
|
+
created: bundle.created_at ?? undefined,
|
|
402
|
+
backend: 'legacy',
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
/** Normalizes a SCAPI MRT {@link BundleScapi} into an {@link MrtBundleView}. */
|
|
406
|
+
export function normalizeScapiBundle(bundle) {
|
|
407
|
+
return {
|
|
408
|
+
id: bundle.bundleId ?? undefined,
|
|
409
|
+
message: bundle.description ?? undefined,
|
|
410
|
+
status: bundle.status ?? undefined,
|
|
411
|
+
user: bundle.createdBy ?? undefined,
|
|
412
|
+
created: bundle.creationDate ?? undefined,
|
|
413
|
+
backend: 'scapi',
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Lists bundles for a storefront via the SCAPI MRT Deployments API.
|
|
418
|
+
*
|
|
419
|
+
* Forwards the standard SCAPI `limit`/`offset` pagination query parameters when
|
|
420
|
+
* provided (the response echoes the full `total`), mirroring the legacy list and
|
|
421
|
+
* {@link listDeploymentsScapi}.
|
|
422
|
+
*
|
|
423
|
+
* @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
|
|
424
|
+
*/
|
|
425
|
+
export async function listBundlesScapi(conn, params) {
|
|
426
|
+
const logger = getLogger();
|
|
427
|
+
const { storefrontId, limit, offset } = params;
|
|
428
|
+
const organizationId = toOrganizationId(conn.tenantId);
|
|
429
|
+
logger.debug({ organizationId, storefrontId, limit, offset }, '[MRT-SCAPI] Listing bundles');
|
|
430
|
+
const client = buildScapiDeploymentsClient(conn);
|
|
431
|
+
const { data, error, response } = await client.GET('/organizations/{organizationId}/storefronts/{storefrontId}/bundles', {
|
|
432
|
+
params: { path: { organizationId, storefrontId }, query: { limit, offset } },
|
|
433
|
+
headers: READ_HEADERS,
|
|
434
|
+
});
|
|
435
|
+
if (error || !data) {
|
|
436
|
+
throw createScapiRequestError(error, response, 'Failed to list bundles');
|
|
437
|
+
}
|
|
438
|
+
return {
|
|
439
|
+
bundles: (data.data ?? []).map(normalizeScapiBundle),
|
|
440
|
+
count: data.total ?? data.data?.length ?? 0,
|
|
441
|
+
raw: data,
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* Uploads a pre-built v2 bundle archive to a storefront via the SCAPI MRT
|
|
446
|
+
* Deployments API as multipart/form-data.
|
|
447
|
+
*
|
|
448
|
+
* The multipart payload mirrors the legacy {@link uploadBundleV2} exactly (same
|
|
449
|
+
* `bundle`/`message`/`rootDir`/`configPath`/`matchMode` fields), so a bundle
|
|
450
|
+
* built with {@link createBundleV2} uploads identically on either backend. As
|
|
451
|
+
* with the legacy path, openapi-fetch passes the `FormData` body through
|
|
452
|
+
* unchanged and lets fetch set the multipart Content-Type + boundary.
|
|
453
|
+
*
|
|
454
|
+
* @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
|
|
455
|
+
*/
|
|
456
|
+
export async function uploadBundleScapi(conn, params) {
|
|
457
|
+
const logger = getLogger();
|
|
458
|
+
const { storefrontId, bundle } = params;
|
|
459
|
+
const organizationId = toOrganizationId(conn.tenantId);
|
|
460
|
+
logger.debug({ organizationId, storefrontId, rootDir: bundle.rootDir }, '[MRT-SCAPI] Uploading bundle');
|
|
461
|
+
// Build the same multipart body as the legacy v2 upload so the two backends
|
|
462
|
+
// stay in sync. openapi-fetch passes a FormData body through unchanged.
|
|
463
|
+
const form = new FormData();
|
|
464
|
+
form.append('bundle', new Blob([bundle.archive]), 'bundle.tar.gz');
|
|
465
|
+
form.append('message', bundle.message);
|
|
466
|
+
form.append('rootDir', bundle.rootDir);
|
|
467
|
+
form.append('configPath', bundle.configPath);
|
|
468
|
+
form.append('matchMode', bundle.matchMode);
|
|
469
|
+
const client = buildScapiDeploymentsClient(conn);
|
|
470
|
+
const { data, error, response } = await client.POST('/organizations/{organizationId}/storefronts/{storefrontId}/bundles', {
|
|
471
|
+
params: { path: { organizationId, storefrontId } },
|
|
472
|
+
headers: WRITE_HEADERS,
|
|
473
|
+
// The generated body type describes the multipart fields; we pass a real
|
|
474
|
+
// FormData instance (with the binary archive) instead.
|
|
475
|
+
body: form,
|
|
476
|
+
});
|
|
477
|
+
if (error || !data) {
|
|
478
|
+
throw createScapiRequestError(error, response, 'Failed to upload bundle');
|
|
479
|
+
}
|
|
480
|
+
if (data.bundleId === undefined) {
|
|
481
|
+
throw new Error(`Bundle upload succeeded but the response omitted a bundle id: ${JSON.stringify(data)}`);
|
|
482
|
+
}
|
|
483
|
+
return {
|
|
484
|
+
bundleId: data.bundleId,
|
|
485
|
+
warnings: data.warnings ?? [],
|
|
486
|
+
matches: data.matches ?? {},
|
|
487
|
+
raw: data,
|
|
488
|
+
};
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Lists bundles, routing to the SCAPI or legacy backend per the given
|
|
492
|
+
* preference (with safe `auto` fallback). Returns normalized rows.
|
|
493
|
+
*/
|
|
494
|
+
export async function listMrtBundles(options) {
|
|
495
|
+
const { preference, scapiConnection, legacyAuth, projectSlug, limit, offset, origin, onFallback, onResolve } = options;
|
|
496
|
+
const run = await runMrtWithFallback({
|
|
497
|
+
preference,
|
|
498
|
+
hasScapiConfig: Boolean(scapiConnection),
|
|
499
|
+
canFallbackToLegacy: Boolean(legacyAuth),
|
|
500
|
+
onFallback,
|
|
501
|
+
onResolve,
|
|
502
|
+
}, {
|
|
503
|
+
scapi: () => listBundlesScapi(scapiConnection, { storefrontId: projectSlug, limit, offset }),
|
|
504
|
+
legacy: async () => {
|
|
505
|
+
if (!legacyAuth) {
|
|
506
|
+
throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
|
|
507
|
+
}
|
|
508
|
+
const result = await listBundles({ projectSlug, limit, offset, origin }, legacyAuth);
|
|
509
|
+
// The legacy list result already mirrors the raw MRT Cloud API shape
|
|
510
|
+
// (count/next/previous/bundles), so surface it verbatim under --json.
|
|
511
|
+
return { count: result.count, bundles: result.bundles.map(normalizeLegacyBundle), raw: result };
|
|
512
|
+
},
|
|
513
|
+
});
|
|
514
|
+
return { backend: run.backend, count: run.value.count, bundles: run.value.bundles, raw: run.value.raw };
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Builds a bundle from a local build and pushes it, routing to the SCAPI or
|
|
518
|
+
* legacy backend per the given preference (with safe `auto` fallback). When a
|
|
519
|
+
* `targetSlug` is given the bundle is also deployed; otherwise it is uploaded
|
|
520
|
+
* only. The returned `backend` pins which `--wait` strategy the caller uses.
|
|
521
|
+
*
|
|
522
|
+
* **Bundle format:** SCAPI always uploads the v2 format. Legacy defaults to the
|
|
523
|
+
* v1 combined upload+deploy; set `v2` to route the legacy push through the v2
|
|
524
|
+
* endpoint instead (upload, then a separate deploy when a target is given), so
|
|
525
|
+
* the `rootDir`/`configPath`/`matchMode` options take effect on legacy too.
|
|
526
|
+
*
|
|
527
|
+
* **Fallback safety:** only the SCAPI *upload* is fallback-eligible — if it
|
|
528
|
+
* fails with a safe pre-execution error nothing was created, so `auto` retries
|
|
529
|
+
* on legacy. Once the upload succeeds a bundle exists on SCAPI, so a failure of
|
|
530
|
+
* the subsequent create-deployment is re-thrown as a plain `Error` (not a
|
|
531
|
+
* fallback trigger) to avoid re-uploading the whole build on legacy.
|
|
532
|
+
*/
|
|
533
|
+
export async function pushMrtBundle(options) {
|
|
534
|
+
const { preference, scapiConnection, legacyAuth, projectSlug, targetSlug, message, ssrParameters, ssrOnly, ssrShared, buildDirectory, projectDirectory, rootDir, configPath, matchMode, v2, origin, onFallback, onResolve, } = options;
|
|
535
|
+
const run = await runMrtWithFallback({
|
|
536
|
+
preference,
|
|
537
|
+
hasScapiConfig: Boolean(scapiConnection),
|
|
538
|
+
canFallbackToLegacy: Boolean(legacyAuth),
|
|
539
|
+
onFallback,
|
|
540
|
+
onResolve,
|
|
541
|
+
}, {
|
|
542
|
+
scapi: async () => {
|
|
543
|
+
const bundle = await createBundleV2({
|
|
544
|
+
message,
|
|
545
|
+
ssrParameters,
|
|
546
|
+
ssrOnly,
|
|
547
|
+
ssrShared,
|
|
548
|
+
buildDirectory,
|
|
549
|
+
projectDirectory,
|
|
550
|
+
rootDir,
|
|
551
|
+
configPath,
|
|
552
|
+
matchMode,
|
|
553
|
+
});
|
|
554
|
+
const uploaded = await uploadBundleScapi(scapiConnection, { storefrontId: projectSlug, bundle });
|
|
555
|
+
// Upload-only: no target to deploy to.
|
|
556
|
+
if (!targetSlug) {
|
|
557
|
+
return {
|
|
558
|
+
backend: 'scapi',
|
|
559
|
+
bundleId: uploaded.bundleId,
|
|
560
|
+
message: bundle.message,
|
|
561
|
+
deployed: false,
|
|
562
|
+
warnings: uploaded.warnings,
|
|
563
|
+
raw: { bundle: uploaded.raw },
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
// The upload succeeded, so a bundle now exists on SCAPI. Re-throw any
|
|
567
|
+
// deploy failure as a plain Error so `runMrtWithFallback` treats it as
|
|
568
|
+
// fatal and does NOT fall back to legacy (which would re-upload).
|
|
569
|
+
let deployment;
|
|
570
|
+
try {
|
|
571
|
+
deployment = await createDeploymentScapi(scapiConnection, {
|
|
572
|
+
storefrontId: projectSlug,
|
|
573
|
+
environmentId: targetSlug,
|
|
574
|
+
bundleId: uploaded.bundleId,
|
|
575
|
+
});
|
|
576
|
+
}
|
|
577
|
+
catch (error) {
|
|
578
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
579
|
+
throw new Error(`Bundle ${uploaded.bundleId} uploaded successfully but the deployment to ${targetSlug} failed: ${reason}`);
|
|
580
|
+
}
|
|
581
|
+
return {
|
|
582
|
+
backend: 'scapi',
|
|
583
|
+
bundleId: uploaded.bundleId,
|
|
584
|
+
message: bundle.message,
|
|
585
|
+
deployed: true,
|
|
586
|
+
deploymentId: deployment.deploymentId,
|
|
587
|
+
status: deployment.status ?? 'queued',
|
|
588
|
+
warnings: uploaded.warnings,
|
|
589
|
+
raw: { bundle: uploaded.raw, deployment: deployment.raw },
|
|
590
|
+
};
|
|
591
|
+
},
|
|
592
|
+
legacy: async () => {
|
|
593
|
+
if (!legacyAuth) {
|
|
594
|
+
throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
|
|
595
|
+
}
|
|
596
|
+
// Legacy v2 opt-in: build+upload via the v2 endpoint (same as the
|
|
597
|
+
// `upload-v2` command), then deploy the resulting bundle separately —
|
|
598
|
+
// the v2 endpoint is upload-only, so a target requires a follow-up
|
|
599
|
+
// deploy call. `rootDir`/`configPath`/`matchMode` take effect here.
|
|
600
|
+
if (v2) {
|
|
601
|
+
const bundle = await createBundleV2({
|
|
602
|
+
message,
|
|
603
|
+
ssrParameters,
|
|
604
|
+
ssrOnly,
|
|
605
|
+
ssrShared,
|
|
606
|
+
buildDirectory,
|
|
607
|
+
projectDirectory,
|
|
608
|
+
rootDir,
|
|
609
|
+
configPath,
|
|
610
|
+
matchMode,
|
|
611
|
+
});
|
|
612
|
+
const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, legacyAuth);
|
|
613
|
+
const uploaded = await uploadBundleV2(client, projectSlug, bundle);
|
|
614
|
+
if (!targetSlug) {
|
|
615
|
+
return {
|
|
616
|
+
backend: 'legacy',
|
|
617
|
+
bundleId: uploaded.bundleId,
|
|
618
|
+
message: uploaded.message,
|
|
619
|
+
deployed: false,
|
|
620
|
+
warnings: uploaded.warnings,
|
|
621
|
+
raw: uploaded,
|
|
622
|
+
};
|
|
623
|
+
}
|
|
624
|
+
// The upload succeeded, so a bundle now exists. Wrap a deploy failure
|
|
625
|
+
// with a clear message (legacy is terminal here — there is no further
|
|
626
|
+
// backend to fall back to, so this bundle is simply left undeployed).
|
|
627
|
+
let deployment;
|
|
628
|
+
try {
|
|
629
|
+
deployment = await createDeployment({ projectSlug, targetSlug, bundleId: uploaded.bundleId, origin }, legacyAuth);
|
|
630
|
+
}
|
|
631
|
+
catch (error) {
|
|
632
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
633
|
+
throw new Error(`Bundle ${uploaded.bundleId} uploaded successfully but the deployment to ${targetSlug} failed: ${reason}`);
|
|
634
|
+
}
|
|
635
|
+
return {
|
|
636
|
+
backend: 'legacy',
|
|
637
|
+
bundleId: uploaded.bundleId,
|
|
638
|
+
message: uploaded.message,
|
|
639
|
+
deployed: true,
|
|
640
|
+
warnings: [...uploaded.warnings, ...(deployment.warnings ?? [])],
|
|
641
|
+
raw: { bundle: uploaded, deployment },
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
// Default v1: delegate to the existing combined upload+deploy. Its
|
|
645
|
+
// PushResult is the shape legacy `--json` emitted before the backend
|
|
646
|
+
// split. `rootDir`/`configPath`/`matchMode` do not apply to v1.
|
|
647
|
+
const result = await pushBundle({
|
|
648
|
+
projectSlug,
|
|
649
|
+
target: targetSlug,
|
|
650
|
+
message,
|
|
651
|
+
ssrParameters,
|
|
652
|
+
ssrOnly,
|
|
653
|
+
ssrShared,
|
|
654
|
+
buildDirectory,
|
|
655
|
+
projectDirectory,
|
|
656
|
+
origin,
|
|
657
|
+
}, legacyAuth);
|
|
658
|
+
return {
|
|
659
|
+
backend: 'legacy',
|
|
660
|
+
bundleId: result.bundleId,
|
|
661
|
+
message: result.message,
|
|
662
|
+
deployed: result.deployed,
|
|
663
|
+
warnings: result.warnings,
|
|
664
|
+
raw: result,
|
|
665
|
+
};
|
|
666
|
+
},
|
|
667
|
+
});
|
|
668
|
+
return run.value;
|
|
669
|
+
}
|
|
390
670
|
//# sourceMappingURL=push.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/operations/mrt/push.ts"],"names":[],"mappings":"AAaA,OAAO,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAuDzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAoB,EAAE,IAAkB;IACvE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAE9C,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,MAAM,EAAC,EAAE,sBAAsB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAE3C,oBAAoB;IACpB,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,oBAAoB;IACpB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvE,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAC,EAAE,kCAAkC,CAAC,CAAC;IAEzG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,WAAmB,EACnB,MAAc,EACd,MAAe;IAEf,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,mDAAmD;IACnD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,MAAM,EAAC,EAAE,sCAAsC,CAAC,CAAC;QAE5E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;YAC5F,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,YAAY,EAAE,WAAW;oBACzB,WAAW,EAAE,MAAM;iBACpB;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,SAAS,GAAG,IAAoC,CAAC;QAEvD,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,SAAS;YAC7B,WAAW;YACX,MAAM;YACN,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAC,EAAE,wCAAwC,CAAC,CAAC;QAEtE,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;YAC9E,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,YAAY,EAAE,WAAW;iBAC1B;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,SAAS,GAAG,IAAoC,CAAC;QAEvD,+EAA+E;QAC/E,kCAAkC;QAClC,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,SAAS;YAC7B,WAAW;YACX,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;AACH,CAAC;AAgDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAsB,EAAE,IAAkB;IAC3E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEtC,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAC,EAAE,yBAAyB,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAEjE,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAC,EAAE,uCAAuC,CAAC,CAAC;IAEnF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAiB,EAAE,WAAmB,EAAE,MAAgB;IAC3F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,EAAE,2CAA2C,CAAC,CAAC;IAElG,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE3C,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;QAC5F,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,YAAY,EAAE,WAAW;aAC1B;SACF;QACD,yEAAyE;QACzE,uDAAuD;QACvD,IAAI,EAAE,IAAmC;KAC1C,CAAC,CAAC;IAEH,8EAA8E;IAC9E,2EAA2E;IAC3E,eAAe;IACf,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,CAAC;IAE1B,2EAA2E;IAC3E,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,iCAAiC;IACjC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAC1B,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oEAAoE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,EAAE;QACjB,WAAW;QACX,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC;AA0DD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B,EAAE,IAAkB;IAC/E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAErD,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAC,EAAE,uBAAuB,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,uCAAuC,EAAE;QAC9E,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAC;YACjC,KAAK,EAAE;gBACL,KAAK;gBACL,MAAM;aACP;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,EAAE,sBAAsB,CAAC,CAAC;IAE1D,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B,EAC9B,IAAkB;IAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEhD,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,EAAE,mCAAmC,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,4DAA4D,EAAE;QACnG,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAC;SAC/D;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAC,EAAE,qCAAqC,CAAC,CAAC;IAEhE,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,YAAY;KAC/B,CAAC;AACJ,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B,EAAE,IAAkB;IACjF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEhD,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,EAAE,uBAAuB,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,mDAAmD,EAAE;QACvF,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAC;SAC/D;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAC,EAAE,kCAAkC,CAAC,CAAC;AAC/D,CAAC;AAqCD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAiC,EACjC,IAAkB;IAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEjD,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAC,EAAE,6BAA6B,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;QAC3F,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAC;SAClC;QACD,IAAI,EAAE,EAAC,UAAU,EAAE,SAAS,EAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,QAAQ,GAA+B,CAAC,IAAI,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1F,QAAQ,EAAE,KAAK,CAAC,SAAS;QACzB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE,IAAI,EAAE,0BAA0B,IAAI,EAAE;QAC9C,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/operations/mrt/push.ts"],"names":[],"mappings":"AAaA,OAAO,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACL,gBAAgB,GAIjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAEzD,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,GAInB,MAAM,kBAAkB,CAAC;AAsD1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAoB,EAAE,IAAkB;IACvE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAE9C,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,MAAM,EAAC,EAAE,sBAAsB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAE3C,oBAAoB;IACpB,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,oBAAoB;IACpB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvE,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAC,EAAE,kCAAkC,CAAC,CAAC;IAEzG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,WAAmB,EACnB,MAAc,EACd,MAAe;IAEf,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,mDAAmD;IACnD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,MAAM,EAAC,EAAE,sCAAsC,CAAC,CAAC;QAE5E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;YAC5F,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,YAAY,EAAE,WAAW;oBACzB,WAAW,EAAE,MAAM;iBACpB;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,SAAS,GAAG,IAAoC,CAAC;QAEvD,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,SAAS;YAC7B,WAAW;YACX,MAAM;YACN,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAC,EAAE,wCAAwC,CAAC,CAAC;QAEtE,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;YAC9E,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,YAAY,EAAE,WAAW;iBAC1B;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,SAAS,GAAG,IAAoC,CAAC;QAEvD,+EAA+E;QAC/E,kCAAkC;QAClC,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,SAAS;YAC7B,WAAW;YACX,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;AACH,CAAC;AAgDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAsB,EAAE,IAAkB;IAC3E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEtC,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAC,EAAE,yBAAyB,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAEjE,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAC,EAAE,uCAAuC,CAAC,CAAC;IAEnF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAiB,EAAE,WAAmB,EAAE,MAAgB;IAC3F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,EAAE,2CAA2C,CAAC,CAAC;IAElG,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE3C,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;QAC5F,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,YAAY,EAAE,WAAW;aAC1B;SACF;QACD,yEAAyE;QACzE,uDAAuD;QACvD,IAAI,EAAE,IAAmC;KAC1C,CAAC,CAAC;IAEH,8EAA8E;IAC9E,2EAA2E;IAC3E,eAAe;IACf,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,CAAC;IAE1B,2EAA2E;IAC3E,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,iCAAiC;IACjC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAC1B,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oEAAoE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,EAAE;QACjB,WAAW;QACX,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC;AA0DD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B,EAAE,IAAkB;IAC/E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAErD,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAC,EAAE,uBAAuB,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,uCAAuC,EAAE;QAC9E,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAC;YACjC,KAAK,EAAE;gBACL,KAAK;gBACL,MAAM;aACP;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,EAAE,sBAAsB,CAAC,CAAC;IAE1D,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B,EAC9B,IAAkB;IAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEhD,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,EAAE,mCAAmC,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,4DAA4D,EAAE;QACnG,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAC;SAC/D;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAC,EAAE,qCAAqC,CAAC,CAAC;IAEhE,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,YAAY;KAC/B,CAAC;AACJ,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B,EAAE,IAAkB;IACjF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEhD,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,EAAE,uBAAuB,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,mDAAmD,EAAE;QACvF,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAC;SAC/D;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAC,EAAE,kCAAkC,CAAC,CAAC;AAC/D,CAAC;AAqCD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAiC,EACjC,IAAkB;IAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEjD,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAC,EAAE,6BAA6B,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;QAC3F,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAC;SAClC;QACD,IAAI,EAAE,EAAC,UAAU,EAAE,SAAS,EAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,QAAQ,GAA+B,CAAC,IAAI,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1F,QAAQ,EAAE,KAAK,CAAC,SAAS;QACzB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE,IAAI,EAAE,0BAA0B,IAAI,EAAE;QAC9C,QAAQ;KACT,CAAC;AACJ,CAAC;AA6BD,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,SAAS;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;QAClC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;QAC9B,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;QACvC,OAAO,EAAE,QAAQ;KAClB,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;QAChC,OAAO,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;QACxC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;QAClC,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;QACnC,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;QACzC,OAAO,EAAE,OAAO;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAwB,EACxB,MAA+D;IAE/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAC7C,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,CAAC,KAAK,CAAC,EAAC,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAC,EAAE,6BAA6B,CAAC,CAAC;IAE3F,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAC9C,oEAAoE,EACpE;QACE,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,cAAc,EAAE,YAAY,EAAC,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,EAAC;QACtE,OAAO,EAAE,YAAY;KACtB,CACF,CAAC;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACpD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;QAC3C,GAAG,EAAE,IAAI;KACV,CAAC;AACJ,CAAC;AAcD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAwB,EACxB,MAAgD;IAEhD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,YAAY,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IACtC,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,CAAC,KAAK,CAAC,EAAC,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,EAAE,8BAA8B,CAAC,CAAC;IAEtG,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAC/C,oEAAoE,EACpE;QACE,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,cAAc,EAAE,YAAY,EAAC,EAAC;QAC9C,OAAO,EAAE,aAAa;QACtB,yEAAyE;QACzE,uDAAuD;QACvD,IAAI,EAAE,IAAsC;KAC7C,CACF,CAAC;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,iEAAiE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,GAAG,EAAE,IAAI;KACV,CAAC;AACJ,CAAC;AA8CD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAqC;IACxE,MAAM,EAAC,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAErH,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAClC;QACE,UAAU;QACV,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC;QACxC,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC;QACxC,UAAU;QACV,SAAS;KACV,EACD;QACE,KAAK,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAgB,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC;QAC3F,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,UAAU,CAAC,CAAC;YACnF,qEAAqE;YACrE,sEAAsE;YACtE,OAAO,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC;QAChG,CAAC;KACF,CACF,CAAC;IAEF,OAAO,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAC,CAAC;AACxG,CAAC;AAwED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAoC;IACtE,MAAM,EACJ,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,aAAa,EACb,OAAO,EACP,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,SAAS,EACT,EAAE,EACF,MAAM,EACN,UAAU,EACV,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAClC;QACE,UAAU;QACV,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC;QACxC,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC;QACxC,UAAU;QACV,SAAS;KACV,EACD;QACE,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,OAAO;gBACP,aAAa;gBACb,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,gBAAgB;gBAChB,OAAO;gBACP,UAAU;gBACV,SAAS;aACV,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,eAAgB,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC;YAEhG,uCAAuC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAC;iBAC5B,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,uEAAuE;YACvE,kEAAkE;YAClE,IAAI,UAAU,CAAC;YACf,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,qBAAqB,CAAC,eAAgB,EAAE;oBACzD,YAAY,EAAE,WAAW;oBACzB,aAAa,EAAE,UAAU;oBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;iBAC5B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,IAAI,KAAK,CACb,UAAU,QAAQ,CAAC,QAAQ,gDAAgD,UAAU,YAAY,MAAM,EAAE,CAC1G,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,QAAQ;gBACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,EAAC;aACxD,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAED,kEAAkE;YAClE,sEAAsE;YACtE,mEAAmE;YACnE,oEAAoE;YACpE,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;oBAClC,OAAO;oBACP,aAAa;oBACb,OAAO;oBACP,SAAS;oBACT,cAAc;oBACd,gBAAgB;oBAChB,OAAO;oBACP,UAAU;oBACV,SAAS;iBACV,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,UAAU,CAAC,CAAC;gBACnF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO;wBACL,OAAO,EAAE,QAAQ;wBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,GAAG,EAAE,QAAQ;qBACd,CAAC;gBACJ,CAAC;gBAED,sEAAsE;gBACtE,sEAAsE;gBACtE,sEAAsE;gBACtE,IAAI,UAAU,CAAC;gBACf,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,gBAAgB,CACjC,EAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAC,EAC9D,UAAU,CACX,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtE,MAAM,IAAI,KAAK,CACb,UAAU,QAAQ,CAAC,QAAQ,gDAAgD,UAAU,YAAY,MAAM,EAAE,CAC1G,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;oBAChE,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAC;iBACpC,CAAC;YACJ,CAAC;YAED,mEAAmE;YACnE,qEAAqE;YACrE,gEAAgE;YAChE,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B;gBACE,WAAW;gBACX,MAAM,EAAE,UAAU;gBAClB,OAAO;gBACP,aAAa;gBACb,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,gBAAgB;gBAChB,MAAM;aACP,EACD,UAAU,CACX,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,GAAG,EAAE,MAAM;aACZ,CAAC;QACJ,CAAC;KACF,CACF,CAAC;IAEF,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import type { CdnZonesClient, CdnZonesComponents } from '../../clients/index.js';
|
|
2
|
+
/** eCDN mTLS certificate as returned by the CDN Zones API. */
|
|
3
|
+
export type MtlsCertificate = CdnZonesComponents['schemas']['MtlsCertificateResponse'];
|
|
4
|
+
/**
|
|
5
|
+
* Maximum validity eCDN accepts for an uploaded code upload CA certificate.
|
|
6
|
+
* Also the default validity for {@link generateCaCertificate}.
|
|
7
|
+
*/
|
|
8
|
+
export declare const MAX_CODE_UPLOAD_CA_VALIDITY_DAYS = 365;
|
|
9
|
+
/** Default validity for a generated CA certificate. */
|
|
10
|
+
export declare const DEFAULT_CA_VALIDITY_DAYS = 365;
|
|
11
|
+
/** Default validity for an issued client certificate (1 year). */
|
|
12
|
+
export declare const DEFAULT_CLIENT_VALIDITY_DAYS = 365;
|
|
13
|
+
/** Default RSA key size in bits. */
|
|
14
|
+
export declare const DEFAULT_KEY_SIZE = 2048;
|
|
15
|
+
/** A PEM-encoded certificate and its private key. */
|
|
16
|
+
export interface CertificateKeyPair {
|
|
17
|
+
/** PEM-encoded X.509 certificate */
|
|
18
|
+
certificatePem: string;
|
|
19
|
+
/** PEM-encoded private key */
|
|
20
|
+
privateKeyPem: string;
|
|
21
|
+
}
|
|
22
|
+
/** A generated certificate with metadata. */
|
|
23
|
+
export interface GeneratedCertificate extends CertificateKeyPair {
|
|
24
|
+
/** Hex-encoded serial number */
|
|
25
|
+
serialNumber: string;
|
|
26
|
+
/** Certificate subject distinguished name (e.g. `CN=My CA`) */
|
|
27
|
+
subject: string;
|
|
28
|
+
/** Start of validity */
|
|
29
|
+
notBefore: Date;
|
|
30
|
+
/** End of validity */
|
|
31
|
+
notAfter: Date;
|
|
32
|
+
}
|
|
33
|
+
/** Options for {@link generateCaCertificate}. */
|
|
34
|
+
export interface GenerateCaCertificateOptions {
|
|
35
|
+
/**
|
|
36
|
+
* Subject common name. Salesforce recommends the staging Business Manager
|
|
37
|
+
* hostname (`staging-<realm>-<customer>.demandware.net`).
|
|
38
|
+
* Default: `B2C Commerce Code Upload CA`
|
|
39
|
+
*/
|
|
40
|
+
commonName?: string;
|
|
41
|
+
/** Optional subject organization (O) */
|
|
42
|
+
organization?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Validity in days. Default: {@link DEFAULT_CA_VALIDITY_DAYS}. eCDN rejects CA
|
|
45
|
+
* certificates valid for more than {@link MAX_CODE_UPLOAD_CA_VALIDITY_DAYS} days.
|
|
46
|
+
*/
|
|
47
|
+
validityDays?: number;
|
|
48
|
+
/** RSA key size in bits. Default: {@link DEFAULT_KEY_SIZE} */
|
|
49
|
+
keySize?: number;
|
|
50
|
+
}
|
|
51
|
+
/** Options for {@link issueClientCertificate}. */
|
|
52
|
+
export interface IssueClientCertificateOptions {
|
|
53
|
+
/** CA certificate and private key used to sign the client certificate */
|
|
54
|
+
ca: CertificateKeyPair;
|
|
55
|
+
/** Subject common name identifying the client; Salesforce recommends the Business Manager username or API client ID */
|
|
56
|
+
commonName: string;
|
|
57
|
+
/** Optional subject organization (O) */
|
|
58
|
+
organization?: string;
|
|
59
|
+
/** Validity in days. Default: {@link DEFAULT_CLIENT_VALIDITY_DAYS}; capped at the CA's expiry */
|
|
60
|
+
validityDays?: number;
|
|
61
|
+
/** RSA key size in bits. Default: {@link DEFAULT_KEY_SIZE} */
|
|
62
|
+
keySize?: number;
|
|
63
|
+
/** Passphrase protecting the PKCS12 bundle. Default: a random passphrase */
|
|
64
|
+
passphrase?: string;
|
|
65
|
+
}
|
|
66
|
+
/** An issued client certificate, including the PKCS12 bundle. */
|
|
67
|
+
export interface IssuedClientCertificate extends GeneratedCertificate {
|
|
68
|
+
/** PKCS12 (`.p12`) bundle containing the client key, certificate, and CA certificate */
|
|
69
|
+
pkcs12: Buffer;
|
|
70
|
+
/** Passphrase protecting {@link pkcs12} */
|
|
71
|
+
passphrase: string;
|
|
72
|
+
}
|
|
73
|
+
/** Options for {@link createCodeUploadCertificate}. */
|
|
74
|
+
export interface CreateCodeUploadCertificateOptions {
|
|
75
|
+
/** Certificate name for identification */
|
|
76
|
+
name: string;
|
|
77
|
+
/** PEM-encoded CA certificate */
|
|
78
|
+
certificatePem: string;
|
|
79
|
+
/** PEM-encoded CA private key */
|
|
80
|
+
privateKeyPem: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Generates a random passphrase suitable for protecting a PKCS12 bundle.
|
|
84
|
+
*
|
|
85
|
+
* @returns A 32-character URL-safe random string
|
|
86
|
+
*/
|
|
87
|
+
export declare function generatePassphrase(): string;
|
|
88
|
+
/**
|
|
89
|
+
* Generates a self-signed CA certificate for mTLS code upload.
|
|
90
|
+
*
|
|
91
|
+
* The CA is uploaded to eCDN with {@link createCodeUploadCertificate} and used
|
|
92
|
+
* to sign client certificates with {@link issueClientCertificate}. Keep the CA
|
|
93
|
+
* private key secret: anyone holding it can issue trusted client certificates.
|
|
94
|
+
*
|
|
95
|
+
* @param options - Subject, validity, and key size options
|
|
96
|
+
* @returns The CA certificate and private key as PEM strings
|
|
97
|
+
*/
|
|
98
|
+
export declare function generateCaCertificate(options?: GenerateCaCertificateOptions): GeneratedCertificate;
|
|
99
|
+
/**
|
|
100
|
+
* Issues a client certificate signed by the given CA and bundles it as PKCS12.
|
|
101
|
+
*
|
|
102
|
+
* The resulting `.p12` is what the CLI, IDE extension, and other WebDAV clients
|
|
103
|
+
* use for two-factor code upload (`certificate` / `certificate-passphrase` in
|
|
104
|
+
* dw.json). This runs entirely locally; no API call is made.
|
|
105
|
+
*
|
|
106
|
+
* @param options - CA, subject, validity, and passphrase options
|
|
107
|
+
* @returns The client certificate, private key, and PKCS12 bundle
|
|
108
|
+
* @throws Error if the CA certificate/key are invalid, don't match, or the CA has expired
|
|
109
|
+
*/
|
|
110
|
+
export declare function issueClientCertificate(options: IssueClientCertificateOptions): IssuedClientCertificate;
|
|
111
|
+
/**
|
|
112
|
+
* Validates that a PEM certificate can be uploaded as a code upload CA.
|
|
113
|
+
*
|
|
114
|
+
* The CA certificate bundle is allowed a maximum expiry of 1 year
|
|
115
|
+
* ({@link MAX_CODE_UPLOAD_CA_VALIDITY_DAYS} days); before it expires it must be
|
|
116
|
+
* renewed to avoid disruption with code uploads.
|
|
117
|
+
*
|
|
118
|
+
* @param certificatePem - PEM-encoded CA certificate
|
|
119
|
+
* @throws Error if the certificate can't be parsed, isn't a CA, is expired, or is valid for more than 1 year
|
|
120
|
+
*/
|
|
121
|
+
export declare function validateCodeUploadCaCertificate(certificatePem: string): void;
|
|
122
|
+
/**
|
|
123
|
+
* Uploads a CA certificate to eCDN for two-factor (mTLS) code upload.
|
|
124
|
+
*
|
|
125
|
+
* Requires a read-write CDN Zones client (`sfcc.cdn-zones.rw` scope) for a
|
|
126
|
+
* staging organization. The certificate is checked locally first with
|
|
127
|
+
* {@link validateCodeUploadCaCertificate}.
|
|
128
|
+
*
|
|
129
|
+
* @param client - Read-write CDN Zones client
|
|
130
|
+
* @param organizationId - Organization ID (`f_ecom_<tenant>`)
|
|
131
|
+
* @param options - Certificate name and PEM contents
|
|
132
|
+
* @returns The created certificate, including `mtlsAssociatedCodeUploadHostname`
|
|
133
|
+
* @throws Error if the certificate is invalid or the API request fails
|
|
134
|
+
*/
|
|
135
|
+
export declare function createCodeUploadCertificate(client: CdnZonesClient, organizationId: string, options: CreateCodeUploadCertificateOptions): Promise<MtlsCertificate>;
|