@veloceapps/sdk 5.0.13-9 → 5.0.13
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/bundles/{veloceapps-sdk-cms.umd.js → veloce-sdk-cms.umd.js} +13 -14
- package/bundles/veloce-sdk-cms.umd.js.map +1 -0
- package/bundles/{veloceapps-sdk-core.umd.js → veloce-sdk-core.umd.js} +42 -197
- package/bundles/veloce-sdk-core.umd.js.map +1 -0
- package/bundles/{veloceapps-sdk-runtime.umd.js → veloce-sdk-runtime.umd.js} +4 -4
- package/bundles/veloce-sdk-runtime.umd.js.map +1 -0
- package/bundles/{veloceapps-sdk.umd.js → veloce-sdk.umd.js} +18 -22
- package/bundles/veloce-sdk.umd.js.map +1 -0
- package/cms/cms.default.d.ts +1 -1
- package/cms/components/element-renderer/element-renderer.component.d.ts +1 -1
- package/cms/components/preview/preview.component.d.ts +1 -1
- package/cms/components/preview/preview.module.d.ts +1 -1
- package/cms/injection-tokens.d.ts +1 -1
- package/cms/launcher.module.d.ts +3 -3
- package/cms/modules/federated/federated.module.d.ts +1 -1
- package/cms/package.json +7 -7
- package/cms/services/launcher.service.d.ts +1 -1
- package/cms/types/configuration.types.d.ts +1 -1
- package/cms/utils/element.utils.d.ts +1 -1
- package/cms/utils/elements-resolver.d.ts +1 -1
- package/{veloceapps-sdk.d.ts → cms/veloce-sdk-cms.d.ts} +1 -1
- package/cms/vendor-map.d.ts +70 -71
- package/core/modules/configuration/configuration.module.d.ts +1 -1
- package/core/modules/configuration/helpers.d.ts +1 -1
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +2 -2
- package/core/modules/configuration/services/configuration.service.d.ts +2 -2
- package/core/modules/configuration/services/runtime-context.service.d.ts +1 -1
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +1 -1
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +2 -2
- package/core/modules/flow-configuration/services/flow-update.service.d.ts +1 -1
- package/core/package.json +7 -7
- package/core/services/context.service.d.ts +2 -2
- package/core/services/index.d.ts +0 -1
- package/core/services/product-images.service.d.ts +1 -1
- package/core/services/quote-draft.service.d.ts +3 -5
- package/core/types/quote-states.types.d.ts +1 -1
- package/core/types/runtime.types.d.ts +1 -1
- package/core/utils/line-item.utils.d.ts +1 -2
- package/core/utils/line-item.worker.d.ts +1 -1
- package/{cms/veloceapps-sdk-cms.d.ts → core/veloce-sdk-core.d.ts} +1 -1
- package/esm2015/cms/cms.default.js +1 -1
- package/esm2015/cms/components/element-renderer/element-renderer.component.js +3 -3
- package/esm2015/cms/components/preview/preview.component.js +3 -3
- package/esm2015/cms/components/preview/preview.module.js +2 -2
- package/esm2015/cms/injection-tokens.js +1 -1
- package/esm2015/cms/launcher.module.js +4 -4
- package/esm2015/cms/modules/federated/federated.component.js +1 -1
- package/esm2015/cms/modules/federated/federated.module.js +2 -2
- package/esm2015/cms/plugins/configuration.plugin.js +2 -2
- package/esm2015/cms/plugins/script.plugin.js +2 -2
- package/esm2015/cms/services/launcher.service.js +1 -1
- package/esm2015/cms/types/configuration.types.js +1 -1
- package/esm2015/cms/utils/element.utils.js +1 -1
- package/esm2015/cms/utils/elements-resolver.js +1 -1
- package/esm2015/cms/veloce-sdk-cms.js +5 -0
- package/esm2015/cms/vendor-map.js +12 -9
- package/esm2015/core/core.module.js +4 -4
- package/esm2015/core/modules/configuration/configuration.module.js +3 -3
- package/esm2015/core/modules/configuration/helpers.js +2 -2
- package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +3 -3
- package/esm2015/core/modules/configuration/services/configuration.service.js +4 -4
- package/esm2015/core/modules/configuration/services/runtime-context.service.js +3 -3
- package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +1 -1
- package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +2 -2
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +3 -10
- package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +2 -2
- package/esm2015/core/services/context.service.js +3 -3
- package/esm2015/core/services/index.js +1 -2
- package/esm2015/core/services/product-images.service.js +2 -2
- package/esm2015/core/services/quote-draft.service.js +7 -17
- package/esm2015/core/types/quote-states.types.js +1 -1
- package/esm2015/core/types/runtime.types.js +1 -1
- package/esm2015/core/utils/line-item.utils.js +3 -14
- package/esm2015/core/utils/line-item.worker.js +1 -1
- package/esm2015/core/veloce-sdk-core.js +5 -0
- package/esm2015/runtime/components/component-preview/component-preview.component.js +3 -3
- package/esm2015/runtime/components/section-renderer/section-renderer.component.js +1 -1
- package/esm2015/runtime/components/ui-runtime/runtime.component.js +5 -5
- package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +5 -5
- package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +2 -2
- package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +2 -2
- package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +1 -1
- package/esm2015/runtime/execution/components/federated/federated.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +3 -3
- package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +2 -2
- package/esm2015/runtime/execution/directives/section-script.directive.js +3 -3
- package/esm2015/runtime/execution/directives/sf-query.directive.js +2 -2
- package/esm2015/runtime/execution/directives/velo-attribute.directive.js +2 -2
- package/esm2015/runtime/execution/directives/velo-port.directive.js +3 -3
- package/esm2015/runtime/execution/directives/vl-approval.directive.js +2 -2
- package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +2 -2
- package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +2 -2
- package/esm2015/runtime/execution/directives/vl-quote.directive.js +3 -3
- package/esm2015/runtime/execution/directives/vl-ramp.directive.js +3 -3
- package/esm2015/runtime/execution/runtime-execution.module.js +6 -6
- package/esm2015/runtime/runtime.module.js +6 -6
- package/esm2015/runtime/services/cart.service.js +3 -3
- package/esm2015/runtime/services/configuration.service.js +6 -6
- package/esm2015/runtime/services/current-state.service.js +1 -1
- package/esm2015/runtime/services/product-model-cache.service.js +2 -2
- package/esm2015/runtime/services/runtime-context.service.js +5 -5
- package/esm2015/runtime/services/runtime-form.service.js +2 -2
- package/esm2015/runtime/services/runtime.service.js +3 -3
- package/esm2015/runtime/services/section-helper.service.js +2 -2
- package/esm2015/runtime/services/section-scope.service.js +1 -1
- package/esm2015/runtime/services/section-store.service.js +1 -1
- package/esm2015/runtime/services/section.service.js +3 -3
- package/esm2015/runtime/types/bound-data.types.js +1 -1
- package/esm2015/runtime/types/runtime.types.js +1 -1
- package/esm2015/runtime/types/script-registry.types.js +2 -2
- package/esm2015/runtime/utils/line-item.util.js +2 -2
- package/esm2015/runtime/utils/section.utils.js +2 -2
- package/esm2015/runtime/utils/sections-binder.helper.js +2 -2
- package/esm2015/runtime/veloce-sdk-runtime.js +5 -0
- package/esm2015/src/components/doc-gen/doc-gen.component.js +8 -8
- package/esm2015/src/components/doc-gen/doc-gen.module.js +2 -2
- package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +3 -3
- package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +2 -2
- package/esm2015/src/components/header/header.component.js +7 -7
- package/esm2015/src/components/header/header.module.js +2 -2
- package/esm2015/src/components/header/metrics/metrics.component.js +15 -19
- package/esm2015/src/components/header/metrics/metrics.definitions.js +1 -1
- package/esm2015/src/components/header/metrics/metrics.module.js +2 -2
- package/esm2015/src/flow.component.js +4 -4
- package/esm2015/src/flow.module.js +5 -5
- package/esm2015/src/guards/context.guard.js +3 -3
- package/esm2015/src/guards/product-unload.guard.js +2 -2
- package/esm2015/src/pages/catalog/catalog.component.js +7 -7
- package/esm2015/src/pages/catalog/catalog.module.js +3 -3
- package/esm2015/src/pages/debug/debug.component.js +3 -3
- package/esm2015/src/pages/empty-account/empty-account.component.js +1 -1
- package/esm2015/src/pages/empty-account/empty-account.module.js +3 -3
- package/esm2015/src/pages/legacy-product/legacy-product.component.js +6 -6
- package/esm2015/src/pages/legacy-product/legacy-product.module.js +2 -2
- package/esm2015/src/pages/product/product.component.js +4 -4
- package/esm2015/src/pages/product/product.module.js +3 -3
- package/esm2015/src/pages/remote/remote.component.js +7 -7
- package/esm2015/src/pages/remote/remote.module.js +3 -3
- package/esm2015/src/pages/remote/remote.types.js +1 -1
- package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +7 -7
- package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +3 -3
- package/esm2015/src/resolvers/flow.resolver.js +3 -3
- package/esm2015/src/resolvers/quote.resolver.js +11 -11
- package/esm2015/src/services/doc-gen.service.js +3 -3
- package/esm2015/src/services/flow-dialog.service.js +2 -2
- package/esm2015/src/services/flow-router.service.js +3 -3
- package/esm2015/src/services/flow.service.js +4 -4
- package/esm2015/src/types/context-route.types.js +1 -1
- package/esm2015/src/types/flow-customization.types.js +1 -1
- package/esm2015/src/utils/flow.utils.js +2 -2
- package/esm2015/veloce-sdk.js +5 -0
- package/fesm2015/{veloceapps-sdk-cms.js → veloce-sdk-cms.js} +16 -13
- package/fesm2015/veloce-sdk-cms.js.map +1 -0
- package/fesm2015/{veloceapps-sdk-core.js → veloce-sdk-core.js} +38 -174
- package/fesm2015/veloce-sdk-core.js.map +1 -0
- package/fesm2015/{veloceapps-sdk-runtime.js → veloce-sdk-runtime.js} +10 -10
- package/fesm2015/veloce-sdk-runtime.js.map +1 -0
- package/fesm2015/{veloceapps-sdk.js → veloce-sdk.js} +27 -31
- package/fesm2015/veloce-sdk.js.map +1 -0
- package/package.json +12 -13
- package/runtime/components/component-preview/component-preview.component.d.ts +1 -1
- package/runtime/components/section-renderer/section-renderer.component.d.ts +1 -1
- package/runtime/components/ui-runtime/runtime.component.d.ts +2 -2
- package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +3 -3
- package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +1 -1
- package/runtime/execution/components/context-provider/context-provider.component.d.ts +2 -2
- package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +1 -1
- package/runtime/execution/components/federated/federated.component.d.ts +1 -1
- package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +1 -1
- package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +1 -1
- package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +1 -1
- package/runtime/execution/components/velo-type/velo-type.component.d.ts +1 -1
- package/runtime/execution/directives/section-script.directive.d.ts +1 -1
- package/runtime/execution/directives/sf-query.directive.d.ts +2 -2
- package/runtime/execution/directives/velo-attribute.directive.d.ts +1 -1
- package/runtime/execution/directives/velo-port.directive.d.ts +1 -1
- package/runtime/execution/directives/vl-approval.directive.d.ts +2 -2
- package/runtime/execution/directives/vl-document-attachments.directive.d.ts +2 -2
- package/runtime/execution/directives/vl-document-templates.directive.d.ts +2 -2
- package/runtime/execution/directives/vl-quote.directive.d.ts +2 -2
- package/runtime/execution/directives/vl-ramp.directive.d.ts +3 -3
- package/runtime/execution/runtime-execution.module.d.ts +5 -5
- package/runtime/package.json +7 -7
- package/runtime/runtime.module.d.ts +5 -5
- package/runtime/services/cart.service.d.ts +3 -3
- package/runtime/services/configuration.service.d.ts +3 -3
- package/runtime/services/current-state.service.d.ts +1 -1
- package/runtime/services/product-model-cache.service.d.ts +2 -2
- package/runtime/services/runtime-context.service.d.ts +2 -2
- package/runtime/services/runtime-form.service.d.ts +1 -1
- package/runtime/services/runtime.service.d.ts +2 -2
- package/runtime/services/section-helper.service.d.ts +1 -1
- package/runtime/services/section-scope.service.d.ts +1 -1
- package/runtime/services/section-store.service.d.ts +1 -1
- package/runtime/services/section.service.d.ts +1 -1
- package/runtime/types/bound-data.types.d.ts +1 -1
- package/runtime/types/runtime.types.d.ts +2 -2
- package/runtime/utils/line-item.util.d.ts +1 -1
- package/runtime/utils/section.utils.d.ts +1 -1
- package/runtime/utils/sections-binder.helper.d.ts +1 -1
- package/{core/veloceapps-sdk-core.d.ts → runtime/veloce-sdk-runtime.d.ts} +1 -1
- package/src/components/doc-gen/doc-gen.component.d.ts +3 -3
- package/src/components/doc-gen/doc-gen.module.d.ts +1 -1
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +1 -1
- package/src/components/header/cart-overlay/cart-preview.module.d.ts +1 -1
- package/src/components/header/header.component.d.ts +4 -4
- package/src/components/header/header.module.d.ts +1 -1
- package/src/components/header/metrics/metrics.component.d.ts +4 -5
- package/src/components/header/metrics/metrics.definitions.d.ts +1 -1
- package/src/components/header/metrics/metrics.module.d.ts +1 -1
- package/src/flow.component.d.ts +2 -2
- package/src/flow.module.d.ts +4 -4
- package/src/guards/context.guard.d.ts +1 -1
- package/src/guards/product-unload.guard.d.ts +1 -1
- package/src/pages/catalog/catalog.component.d.ts +3 -3
- package/src/pages/catalog/catalog.module.d.ts +2 -2
- package/src/pages/debug/debug.component.d.ts +3 -3
- package/src/pages/empty-account/empty-account.module.d.ts +2 -2
- package/src/pages/legacy-product/legacy-product.component.d.ts +4 -4
- package/src/pages/legacy-product/legacy-product.module.d.ts +1 -1
- package/src/pages/product/product.component.d.ts +1 -1
- package/src/pages/product/product.module.d.ts +2 -2
- package/src/pages/remote/remote.component.d.ts +3 -3
- package/src/pages/remote/remote.module.d.ts +2 -2
- package/src/pages/remote/remote.types.d.ts +1 -1
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
- package/src/pages/shopping-cart/shopping-cart.module.d.ts +2 -2
- package/src/resolvers/flow.resolver.d.ts +2 -2
- package/src/resolvers/quote.resolver.d.ts +1 -1
- package/src/services/doc-gen.service.d.ts +1 -1
- package/src/services/flow-dialog.service.d.ts +1 -1
- package/src/services/flow-router.service.d.ts +1 -1
- package/src/services/flow.service.d.ts +2 -2
- package/src/types/context-route.types.d.ts +1 -1
- package/src/types/flow-customization.types.d.ts +2 -2
- package/src/utils/flow.utils.d.ts +1 -1
- package/{runtime/veloceapps-sdk-runtime.d.ts → veloce-sdk.d.ts} +1 -1
- package/bundles/veloceapps-sdk-cms.umd.js.map +0 -1
- package/bundles/veloceapps-sdk-core.umd.js.map +0 -1
- package/bundles/veloceapps-sdk-runtime.umd.js.map +0 -1
- package/bundles/veloceapps-sdk.umd.js.map +0 -1
- package/core/services/metric-calculation/metric-calculation.service.d.ts +0 -21
- package/core/services/metric-calculation/metric-calculation.types.d.ts +0 -1
- package/core/services/metric-calculation/metric-calculation.utils.d.ts +0 -5
- package/esm2015/cms/veloceapps-sdk-cms.js +0 -5
- package/esm2015/core/services/metric-calculation/metric-calculation.service.js +0 -74
- package/esm2015/core/services/metric-calculation/metric-calculation.types.js +0 -2
- package/esm2015/core/services/metric-calculation/metric-calculation.utils.js +0 -42
- package/esm2015/core/veloceapps-sdk-core.js +0 -5
- package/esm2015/runtime/veloceapps-sdk-runtime.js +0 -5
- package/esm2015/veloceapps-sdk.js +0 -5
- package/fesm2015/veloceapps-sdk-cms.js.map +0 -1
- package/fesm2015/veloceapps-sdk-core.js.map +0 -1
- package/fesm2015/veloceapps-sdk-runtime.js.map +0 -1
- package/fesm2015/veloceapps-sdk.js.map +0 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
(function (global, factory) {
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@
|
3
|
-
typeof define === 'function' && define.amd ? define('@
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@veloce/core'), require('rxjs'), require('rxjs/operators'), require('@veloce/api'), require('lodash'), require('@veloce/components'), require('primeng/api'), require('primeng/dynamicdialog'), require('moment')) :
|
3
|
+
typeof define === 'function' && define.amd ? define('@veloce/sdk/core', ['exports', '@angular/core', '@veloce/core', 'rxjs', 'rxjs/operators', '@veloce/api', 'lodash', '@veloce/components', 'primeng/api', 'primeng/dynamicdialog', 'moment'], factory) :
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.veloce = global.veloce || {}, global.veloce.sdk = global.veloce.sdk || {}, global.veloce.sdk.core = {}), global.ng.core, global["@veloce/core"], global.rxjs, global.rxjs.operators, global["@veloce/api"], global.lodash, global["@veloce/components"], global["primeng/api"], global["primeng/dynamicdialog"], global.moment));
|
5
5
|
})(this, (function (exports, i0, core, rxjs, operators, i1, lodash, components, i4, i5, moment) { 'use strict';
|
6
6
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
@@ -423,46 +423,37 @@
|
|
423
423
|
args: [{ providedIn: 'root' }]
|
424
424
|
}], ctorParameters: function () { return [{ type: i1__namespace.ContextApiService }]; } });
|
425
425
|
|
426
|
-
function
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
if (method === 'avg' && li.length > 0) {
|
431
|
-
value /= li.length;
|
432
|
-
}
|
433
|
-
return acc + value;
|
434
|
-
}, 0);
|
435
|
-
}
|
436
|
-
function getLineItemsByMethod(lineItems, method) {
|
437
|
-
switch (method) {
|
438
|
-
case 'first': {
|
439
|
-
return lineItems.filter(function (li) { return !li.rampInstanceId; }).map(function (item) { return [item]; });
|
440
|
-
}
|
441
|
-
case 'last': {
|
442
|
-
var rootTermItems = lineItems.filter(function (li) { return !li.rampInstanceId; });
|
443
|
-
var products = rootTermItems.map(function (lineItem) { return __spreadArray([
|
444
|
-
lineItem
|
445
|
-
], __read(lineItems.filter(function (li) { return li.rampInstanceId === lineItem.id; }))); });
|
446
|
-
return products
|
447
|
-
.map(function (items) { return __spreadArray([], __read(items)).sort(function (a, b) { return getDateValue(a.endDate || '') - getDateValue(b.endDate || ''); }).pop(); })
|
448
|
-
.filter(function (li) { return Boolean(li); })
|
449
|
-
.map(function (item) { return [item]; });
|
450
|
-
}
|
451
|
-
case 'avg': {
|
452
|
-
var rootTermItems = lineItems.filter(function (li) { return !li.rampInstanceId; });
|
453
|
-
return rootTermItems.map(function (lineItem) { return __spreadArray([lineItem], __read(lineItems.filter(function (li) { return li.rampInstanceId === lineItem.id; }))); });
|
454
|
-
}
|
455
|
-
case 'sum': {
|
456
|
-
return lineItems.map(function (item) { return [item]; });
|
457
|
-
}
|
458
|
-
default: {
|
459
|
-
return lineItems.map(function (item) { return [item]; });
|
460
|
-
}
|
426
|
+
var ProductImagesService = /** @class */ (function () {
|
427
|
+
function ProductImagesService(productApiService) {
|
428
|
+
this.productApiService = productApiService;
|
429
|
+
this.imagesMap$ = new rxjs.BehaviorSubject({});
|
461
430
|
}
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
431
|
+
ProductImagesService.prototype.getImageUrl$ = function (productId) {
|
432
|
+
var _a;
|
433
|
+
if (this.imagesMap$.value[productId] == null) {
|
434
|
+
this.imagesMap$.next(Object.assign(Object.assign({}, this.imagesMap$.value), (_a = {}, _a[productId] = '', _a)));
|
435
|
+
this.fetchProductImage(productId);
|
436
|
+
}
|
437
|
+
return this.imagesMap$.pipe(rxjs.map(function (imagesMap) { return imagesMap[productId]; }), rxjs.distinctUntilChanged());
|
438
|
+
};
|
439
|
+
ProductImagesService.prototype.fetchProductImage = function (productId) {
|
440
|
+
var _this = this;
|
441
|
+
this.productApiService
|
442
|
+
.fetchImage$(productId)
|
443
|
+
.pipe(rxjs.map(function (file) { return URL.createObjectURL(file); }), rxjs.catchError(function () { return rxjs.of(''); }), rxjs.tap(function (url) {
|
444
|
+
var _a;
|
445
|
+
return _this.imagesMap$.next(Object.assign(Object.assign({}, _this.imagesMap$.value), (_a = {}, _a[productId] = url, _a)));
|
446
|
+
}))
|
447
|
+
.subscribe();
|
448
|
+
};
|
449
|
+
return ProductImagesService;
|
450
|
+
}());
|
451
|
+
ProductImagesService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductImagesService, deps: [{ token: i1__namespace.ProductApiService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
452
|
+
ProductImagesService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductImagesService, providedIn: 'root' });
|
453
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductImagesService, decorators: [{
|
454
|
+
type: i0.Injectable,
|
455
|
+
args: [{ providedIn: 'root' }]
|
456
|
+
}], ctorParameters: function () { return [{ type: i1__namespace.ProductApiService }]; } });
|
466
457
|
|
467
458
|
var QuoteDraftService = /** @class */ (function () {
|
468
459
|
function QuoteDraftService(context, quoteApiService, priceApiService) {
|
@@ -474,9 +465,9 @@
|
|
474
465
|
this.resetSubj$ = new rxjs.BehaviorSubject(true);
|
475
466
|
this.isInitializedSubj$ = new rxjs.BehaviorSubject(false);
|
476
467
|
this.initialCurrentState = [];
|
477
|
-
this._hasUnsavedChanges = false;
|
478
468
|
this.allPriceLists = [];
|
479
469
|
this.assetPriceLists = [];
|
470
|
+
this.hasUnsavedChanges = false;
|
480
471
|
this.reset$ = this.resetSubj$.asObservable();
|
481
472
|
this.activePriceList$ = this.context.resolve$().pipe(operators.map(function (ctx) { return _this.allPriceLists.find(function (priceList) { return priceList.id === ctx.properties.PriceListId; }); }), operators.map(function (priceList) { return priceList !== null && priceList !== void 0 ? priceList : null; }));
|
482
473
|
this.isInitializedSubj$
|
@@ -495,20 +486,6 @@
|
|
495
486
|
enumerable: false,
|
496
487
|
configurable: true
|
497
488
|
});
|
498
|
-
Object.defineProperty(QuoteDraftService.prototype, "hasUnsavedChanges", {
|
499
|
-
get: function () {
|
500
|
-
return this._hasUnsavedChanges;
|
501
|
-
},
|
502
|
-
set: function (value) {
|
503
|
-
var _a, _b;
|
504
|
-
this._hasUnsavedChanges = value;
|
505
|
-
if (!this._hasUnsavedChanges) {
|
506
|
-
this.initialCurrentState = (_b = (_a = this.quoteDraft) === null || _a === void 0 ? void 0 : _a.currentState) !== null && _b !== void 0 ? _b : [];
|
507
|
-
}
|
508
|
-
},
|
509
|
-
enumerable: false,
|
510
|
-
configurable: true
|
511
|
-
});
|
512
489
|
Object.defineProperty(QuoteDraftService.prototype, "hasAssets$", {
|
513
490
|
get: function () {
|
514
491
|
var _this = this;
|
@@ -528,7 +505,7 @@
|
|
528
505
|
QuoteDraftService.prototype.reset = function () {
|
529
506
|
this.resetSubj$.next(true);
|
530
507
|
this.quoteSubj$.next(null);
|
531
|
-
this.
|
508
|
+
this.initialCurrentState = [];
|
532
509
|
};
|
533
510
|
QuoteDraftService.prototype.init = function (quoteId, params) {
|
534
511
|
var _this = this;
|
@@ -536,6 +513,7 @@
|
|
536
513
|
var _d = __read(_c, 2), quote = _d[0], allPriceLists = _d[1];
|
537
514
|
_this.allPriceLists = allPriceLists;
|
538
515
|
_this.quoteSubj$.next(quote);
|
516
|
+
_this.initialCurrentState = quote.currentState;
|
539
517
|
_this.context.update(quote.context);
|
540
518
|
_this.populateActivePriceLists$();
|
541
519
|
}), operators.map(function () { return rxjs.noop(); }), operators.take(1));
|
@@ -734,7 +712,7 @@
|
|
734
712
|
this.hasUnsavedChanges = !!quote && !quote.currentState.every(function (li) { return li.actionCode === 'EXIST'; });
|
735
713
|
}
|
736
714
|
else {
|
737
|
-
this.hasUnsavedChanges =
|
715
|
+
this.hasUnsavedChanges = true;
|
738
716
|
}
|
739
717
|
};
|
740
718
|
return QuoteDraftService;
|
@@ -746,119 +724,6 @@
|
|
746
724
|
args: [{ providedIn: 'root' }]
|
747
725
|
}], ctorParameters: function () { return [{ type: ContextService }, { type: i1__namespace.QuoteApiService }, { type: i1__namespace.PriceApiService }]; } });
|
748
726
|
|
749
|
-
var MetricsCalculationService = /** @class */ (function () {
|
750
|
-
function MetricsCalculationService(quoteDraftService, settingsService) {
|
751
|
-
var _this = this;
|
752
|
-
this.quoteDraftService = quoteDraftService;
|
753
|
-
this.settingsService = settingsService;
|
754
|
-
this.metricsUpdated$ = new rxjs.Subject();
|
755
|
-
this.quoteMetricsSettings = {};
|
756
|
-
this.metricsCalculationMethodMap = {};
|
757
|
-
this.metricsData = {};
|
758
|
-
rxjs.combineLatest([
|
759
|
-
this.quoteDraftService.currentState$,
|
760
|
-
this.settingsService.fetchSetting('QUOTE_LEVEL_METRIC_CALCULATION_METHOD').pipe(rxjs.take(1)),
|
761
|
-
]).subscribe(function (_a) {
|
762
|
-
var _b = __read(_a, 2), lineItems = _b[0], setting = _b[1];
|
763
|
-
var settingsData = {};
|
764
|
-
try {
|
765
|
-
settingsData = JSON.parse((setting === null || setting === void 0 ? void 0 : setting.value) || '{}');
|
766
|
-
}
|
767
|
-
catch (error) {
|
768
|
-
settingsData = {};
|
769
|
-
}
|
770
|
-
_this.quoteMetricsSettings = settingsData;
|
771
|
-
_this.updateMetrics(lineItems);
|
772
|
-
});
|
773
|
-
}
|
774
|
-
Object.defineProperty(MetricsCalculationService.prototype, "onMetricsUpdate$", {
|
775
|
-
get: function () {
|
776
|
-
return this.metricsUpdated$.asObservable();
|
777
|
-
},
|
778
|
-
enumerable: false,
|
779
|
-
configurable: true
|
780
|
-
});
|
781
|
-
MetricsCalculationService.prototype.getMetricValue = function (metric) {
|
782
|
-
return this.metricsData[metric] || 0;
|
783
|
-
};
|
784
|
-
MetricsCalculationService.prototype.updateMetrics = function (lineItems) {
|
785
|
-
var _this = this;
|
786
|
-
var metricKeys = this.collectMetricKeys(lineItems).filter(function (key) { return !key.includes('Effective_'); });
|
787
|
-
this.metricsCalculationMethodMap = this.buildMetricsCalculationMethods(metricKeys, this.metricsCalculationMethodMap);
|
788
|
-
this.metricsData = metricKeys.reduce(function (acc, key) {
|
789
|
-
var _a;
|
790
|
-
return (Object.assign(Object.assign({}, acc), (_a = {}, _a[key] = _this.calculateMetric(lineItems, key), _a)));
|
791
|
-
}, {});
|
792
|
-
this.metricsUpdated$.next();
|
793
|
-
};
|
794
|
-
MetricsCalculationService.prototype.calculateMetric = function (lineItems, metric) {
|
795
|
-
return calculateMetricByMethod(lineItems, metric, this.metricsCalculationMethodMap[metric] || 'sum');
|
796
|
-
};
|
797
|
-
MetricsCalculationService.prototype.buildMetricsCalculationMethods = function (metricKeys, initial) {
|
798
|
-
var _this = this;
|
799
|
-
return metricKeys.reduce(function (acc, name) {
|
800
|
-
var _a, _b;
|
801
|
-
if (acc[name]) {
|
802
|
-
return acc;
|
803
|
-
}
|
804
|
-
acc = Object.assign(Object.assign({}, acc), (_a = {}, _a[name] = 'sum', _a));
|
805
|
-
var settingKey = name.replace(/VDM_|Total_/g, '');
|
806
|
-
if (_this.quoteMetricsSettings[settingKey]) {
|
807
|
-
acc = Object.assign(Object.assign({}, acc), (_b = {}, _b[name] = _this.quoteMetricsSettings[settingKey], _b));
|
808
|
-
}
|
809
|
-
return acc;
|
810
|
-
}, initial);
|
811
|
-
};
|
812
|
-
MetricsCalculationService.prototype.collectMetricKeys = function (lineItems) {
|
813
|
-
var _this = this;
|
814
|
-
var keys = [];
|
815
|
-
lineItems.forEach(function (lineItem) {
|
816
|
-
keys.push.apply(keys, __spreadArray([], __read(Object.keys(lineItem.totalMetrics || {}))));
|
817
|
-
keys.push.apply(keys, __spreadArray([], __read(_this.collectMetricKeys(lineItem.lineItems))));
|
818
|
-
});
|
819
|
-
return lodash.uniq(keys);
|
820
|
-
};
|
821
|
-
return MetricsCalculationService;
|
822
|
-
}());
|
823
|
-
MetricsCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MetricsCalculationService, deps: [{ token: QuoteDraftService }, { token: i1__namespace.ConfigurationSettingsApiService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
824
|
-
MetricsCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MetricsCalculationService, providedIn: 'root' });
|
825
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MetricsCalculationService, decorators: [{
|
826
|
-
type: i0.Injectable,
|
827
|
-
args: [{ providedIn: 'root' }]
|
828
|
-
}], ctorParameters: function () { return [{ type: QuoteDraftService }, { type: i1__namespace.ConfigurationSettingsApiService }]; } });
|
829
|
-
|
830
|
-
var ProductImagesService = /** @class */ (function () {
|
831
|
-
function ProductImagesService(productApiService) {
|
832
|
-
this.productApiService = productApiService;
|
833
|
-
this.imagesMap$ = new rxjs.BehaviorSubject({});
|
834
|
-
}
|
835
|
-
ProductImagesService.prototype.getImageUrl$ = function (productId) {
|
836
|
-
var _a;
|
837
|
-
if (this.imagesMap$.value[productId] == null) {
|
838
|
-
this.imagesMap$.next(Object.assign(Object.assign({}, this.imagesMap$.value), (_a = {}, _a[productId] = '', _a)));
|
839
|
-
this.fetchProductImage(productId);
|
840
|
-
}
|
841
|
-
return this.imagesMap$.pipe(rxjs.map(function (imagesMap) { return imagesMap[productId]; }), rxjs.distinctUntilChanged());
|
842
|
-
};
|
843
|
-
ProductImagesService.prototype.fetchProductImage = function (productId) {
|
844
|
-
var _this = this;
|
845
|
-
this.productApiService
|
846
|
-
.fetchImage$(productId)
|
847
|
-
.pipe(rxjs.map(function (file) { return URL.createObjectURL(file); }), rxjs.catchError(function () { return rxjs.of(''); }), rxjs.tap(function (url) {
|
848
|
-
var _a;
|
849
|
-
return _this.imagesMap$.next(Object.assign(Object.assign({}, _this.imagesMap$.value), (_a = {}, _a[productId] = url, _a)));
|
850
|
-
}))
|
851
|
-
.subscribe();
|
852
|
-
};
|
853
|
-
return ProductImagesService;
|
854
|
-
}());
|
855
|
-
ProductImagesService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductImagesService, deps: [{ token: i1__namespace.ProductApiService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
856
|
-
ProductImagesService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductImagesService, providedIn: 'root' });
|
857
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ProductImagesService, decorators: [{
|
858
|
-
type: i0.Injectable,
|
859
|
-
args: [{ providedIn: 'root' }]
|
860
|
-
}], ctorParameters: function () { return [{ type: i1__namespace.ProductApiService }]; } });
|
861
|
-
|
862
727
|
var RuntimeContextService = /** @class */ (function () {
|
863
728
|
function RuntimeContextService(configurationApiService) {
|
864
729
|
this.configurationApiService = configurationApiService;
|
@@ -1121,17 +986,6 @@
|
|
1121
986
|
}, [0, 0])) !== null && _b !== void 0 ? _b : [0, 0], 2), net = _c[0], list = _c[1];
|
1122
987
|
return { net: net, list: list };
|
1123
988
|
};
|
1124
|
-
var multiplyLineItems = function (lineItem, qty, split) {
|
1125
|
-
if (split) {
|
1126
|
-
var unifyIds_1 = function (lineItem) { return (Object.assign(Object.assign({}, lineItem), { id: core.UUID.UUID(), lineItems: lineItem.lineItems.map(unifyIds_1) })); };
|
1127
|
-
return lodash.map(new Array(qty), function () { return unifyIds_1(lineItem); });
|
1128
|
-
}
|
1129
|
-
else {
|
1130
|
-
return [
|
1131
|
-
Object.assign(Object.assign({}, lineItem), { qty: qty }),
|
1132
|
-
];
|
1133
|
-
}
|
1134
|
-
};
|
1135
989
|
|
1136
990
|
var lineItem_utils = /*#__PURE__*/Object.freeze({
|
1137
991
|
__proto__: null,
|
@@ -1146,8 +1000,7 @@
|
|
1146
1000
|
patchAttributes: patchAttributes,
|
1147
1001
|
getAttributeValue: getAttributeValue,
|
1148
1002
|
generateLineItem: generateLineItem,
|
1149
|
-
getRecommendedPrices: getRecommendedPrices
|
1150
|
-
multiplyLineItems: multiplyLineItems
|
1003
|
+
getRecommendedPrices: getRecommendedPrices
|
1151
1004
|
});
|
1152
1005
|
|
1153
1006
|
var LineItemWorker = /** @class */ (function () {
|
@@ -1578,13 +1431,7 @@
|
|
1578
1431
|
if (!quoteDraft) {
|
1579
1432
|
return rxjs.of(null);
|
1580
1433
|
}
|
1581
|
-
return this.configurationService.configureExternal$(productId, qty).pipe(rxjs.map(function (lineItem) {
|
1582
|
-
var _a, _b;
|
1583
|
-
var model = _this.configurationService.getRuntimeModel();
|
1584
|
-
var split = (_b = (_a = model === null || model === void 0 ? void 0 : model.types.find(function (type) { return type.name === lineItem.type; })) === null || _a === void 0 ? void 0 : _a.split) !== null && _b !== void 0 ? _b : false;
|
1585
|
-
var lineItems = multiplyLineItems(lineItem, qty !== null && qty !== void 0 ? qty : 1, split);
|
1586
|
-
return __spreadArray(__spreadArray([], __read(quoteDraft.currentState)), __read(lineItems));
|
1587
|
-
}), rxjs.switchMap(function (updatedState) { return _this.calculate$(Object.assign(Object.assign({}, quoteDraft), { currentState: updatedState })); }), rxjs.map(function () { return _this.quoteDraftService.quoteDraft; }), this.handleErrorAndBounceBack());
|
1434
|
+
return this.configurationService.configureExternal$(productId, qty).pipe(rxjs.map(function (lineItem) { return __spreadArray(__spreadArray([], __read(quoteDraft.currentState)), [lineItem]); }), rxjs.switchMap(function (updatedState) { return _this.calculate$(Object.assign(Object.assign({}, quoteDraft), { currentState: updatedState })); }), rxjs.map(function () { return _this.quoteDraftService.quoteDraft; }), this.handleErrorAndBounceBack());
|
1588
1435
|
};
|
1589
1436
|
FlowConfigurationService.prototype.get = function () {
|
1590
1437
|
var _this = this;
|
@@ -1719,12 +1566,12 @@
|
|
1719
1566
|
}());
|
1720
1567
|
SdkCoreModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SdkCoreModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
1721
1568
|
SdkCoreModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SdkCoreModule, imports: [ConfigurationModule, FlowConfigurationModule] });
|
1722
|
-
SdkCoreModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SdkCoreModule, providers: [ContextService, QuoteDraftService, ProductImagesService
|
1569
|
+
SdkCoreModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SdkCoreModule, providers: [ContextService, QuoteDraftService, ProductImagesService], imports: [[ConfigurationModule, FlowConfigurationModule]] });
|
1723
1570
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SdkCoreModule, decorators: [{
|
1724
1571
|
type: i0.NgModule,
|
1725
1572
|
args: [{
|
1726
1573
|
imports: [ConfigurationModule, FlowConfigurationModule],
|
1727
|
-
providers: [ContextService, QuoteDraftService, ProductImagesService
|
1574
|
+
providers: [ContextService, QuoteDraftService, ProductImagesService],
|
1728
1575
|
}]
|
1729
1576
|
}] });
|
1730
1577
|
|
@@ -1739,7 +1586,6 @@
|
|
1739
1586
|
exports.FlowConfigurationService = FlowConfigurationService;
|
1740
1587
|
exports.FlowUpdateService = FlowUpdateService;
|
1741
1588
|
exports.LineItemWorker = LineItemWorker;
|
1742
|
-
exports.MetricsCalculationService = MetricsCalculationService;
|
1743
1589
|
exports.ProductImagesService = ProductImagesService;
|
1744
1590
|
exports.QuoteDraftService = QuoteDraftService;
|
1745
1591
|
exports.SdkCoreModule = SdkCoreModule;
|
@@ -1753,7 +1599,6 @@
|
|
1753
1599
|
exports.insertLineItem = insertLineItem;
|
1754
1600
|
exports.lineItemUtils = lineItem_utils;
|
1755
1601
|
exports.mapAttributes = mapAttributes;
|
1756
|
-
exports.multiplyLineItems = multiplyLineItems;
|
1757
1602
|
exports.patchAttributes = patchAttributes;
|
1758
1603
|
exports.removeLineItem = removeLineItem;
|
1759
1604
|
exports.replaceLineItem = replaceLineItem;
|
@@ -1762,4 +1607,4 @@
|
|
1762
1607
|
Object.defineProperty(exports, '__esModule', { value: true });
|
1763
1608
|
|
1764
1609
|
}));
|
1765
|
-
//# sourceMappingURL=
|
1610
|
+
//# sourceMappingURL=veloce-sdk-core.umd.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"veloce-sdk-core.umd.js","sources":["../../../../libs/sdk/core/modules/configuration/helpers.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/sdk/core/types/runtime.types.ts","../../../../libs/sdk/core/services/context.service.ts","../../../../libs/sdk/core/services/product-images.service.ts","../../../../libs/sdk/core/services/quote-draft.service.ts","../../../../libs/sdk/core/modules/configuration/services/runtime-context.service.ts","../../../../libs/sdk/core/modules/configuration/services/configuration-runtime.service.ts","../../../../libs/sdk/core/utils/line-item.utils.ts","../../../../libs/sdk/core/utils/line-item.worker.ts","../../../../libs/sdk/core/modules/configuration/services/configuration.service.ts","../../../../libs/sdk/core/modules/flow-configuration/services/flow-update.service.ts","../../../../libs/sdk/core/modules/flow-configuration/services/flow-configuration.service.ts","../../../../libs/sdk/core/modules/flow-configuration/flow-configuration.module.ts","../../../../libs/sdk/core/modules/configuration/configuration.module.ts","../../../../libs/sdk/core/core.module.ts","../../../../libs/sdk/core/veloce-sdk-core.ts"],"sourcesContent":["import { LineItem, UUID } from '@veloce/core';\nimport { RuntimeContext, UIDefinitionProps } from '../../types';\n\nexport const getDefaultLineItem = (\n context: RuntimeContext,\n uiDefinitionProperties: UIDefinitionProps,\n qty = 1,\n): LineItem => {\n const id = UUID.UUID();\n\n const lineItem: LineItem = {\n id,\n type: uiDefinitionProperties.rootType ?? '',\n cfgStatus: 'Default',\n actionCode: 'ADD',\n qty,\n productName: context.properties?.displayName || context.productName,\n productId: context.productId ?? '',\n ...(context.offeringId\n ? { offeringId: context.offeringId, offeringInstanceId: context.offeringInstanceId || id }\n : {}),\n } as LineItem;\n\n return lineItem;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ContextProperties, RuntimeModel } from '@veloce/core';\nimport { UIDefinition } from './ui-definition.types';\n\nexport enum RuntimeMode {\n TEST,\n PROD,\n}\n\nexport enum RuntimeOperation {\n INIT = 'INIT',\n UPDATE = 'UPDATE',\n}\n\nexport enum RuntimeStep {\n START = 'START',\n UPDATE = 'UPDATE',\n}\n\nexport interface InvocationContext {\n runtimeOperation?: RuntimeOperation;\n runtimeStep?: RuntimeStep;\n}\n\nexport interface RuntimeContext {\n modelId: string;\n runtimeMode: RuntimeMode;\n runtimeModel: RuntimeModel;\n uiDefinition?: UIDefinition;\n productId?: string;\n productName?: string;\n productType?: string;\n properties?: ContextProperties;\n offeringId?: string;\n offeringInstanceId?: string;\n invocationContext?: InvocationContext;\n}\n","import { Injectable } from '@angular/core';\nimport { ContextApiService } from '@veloce/api';\nimport { ConfigurationContext, ConfigurationContextMode } from '@veloce/core';\nimport { merge } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class ContextService {\n private context = new BehaviorSubject<ConfigurationContext | null>(null);\n\n constructor(private contextApiService: ContextApiService) {}\n\n public get isInitialized(): boolean {\n return Boolean(this.context.value);\n }\n\n public resolve(): ConfigurationContext {\n if (!this.context.value) {\n throw new Error('Context is not initialized yet!');\n }\n\n return { ...this.context.value };\n }\n\n public resolve$(): Observable<ConfigurationContext> {\n return this.context.pipe(filter((ctx): ctx is ConfigurationContext => Boolean(ctx)));\n }\n\n public create(headerId: string, mode: ConfigurationContextMode): Observable<ConfigurationContext> {\n return this.contextApiService.getContext(headerId, mode).pipe(\n tap(context => this.context.next(merge(new ConfigurationContext(headerId, mode), context))),\n map(() => this.resolve() as ConfigurationContext),\n );\n }\n\n public update(partialContext: Partial<ConfigurationContext>): ConfigurationContext {\n const originalContext = this.resolve();\n\n const updatedContext: ConfigurationContext = {\n ...originalContext,\n ...(partialContext as ConfigurationContext),\n properties: {\n ...originalContext.properties,\n ...partialContext.properties,\n },\n };\n\n this.context.next(updatedContext);\n\n return updatedContext;\n }\n\n public set(context: ConfigurationContext): ConfigurationContext {\n const originalContext = this.resolve();\n\n const updatedContext: ConfigurationContext = {\n ...originalContext,\n ...context,\n };\n\n this.context.next(updatedContext);\n\n return updatedContext;\n }\n\n public delete(): void {\n this.context.next(null);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ProductApiService } from '@veloce/api';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, catchError, distinctUntilChanged, map, Observable, of, tap } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ProductImagesService {\n private imagesMap$ = new BehaviorSubject<Dictionary<string>>({});\n\n constructor(private productApiService: ProductApiService) {}\n\n public getImageUrl$(productId: string): Observable<string | null> {\n if (this.imagesMap$.value[productId] == null) {\n this.imagesMap$.next({ ...this.imagesMap$.value, [productId]: '' });\n this.fetchProductImage(productId);\n }\n\n return this.imagesMap$.pipe(\n map(imagesMap => imagesMap[productId]),\n distinctUntilChanged(),\n );\n }\n\n private fetchProductImage(productId: string): void {\n this.productApiService\n .fetchImage$(productId)\n .pipe(\n map(file => URL.createObjectURL(file)),\n catchError(() => of('')),\n tap(url => this.imagesMap$.next({ ...this.imagesMap$.value, [productId]: url })),\n )\n .subscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PriceApiService, QuoteApiService } from '@veloce/api';\nimport { ConfigurationContextMode, LineItem, PriceList, PriceSummary, QuoteDraft } from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, combineLatest, noop, Observable, zip } from 'rxjs';\nimport { filter, map, shareReplay, skip, switchMap, take, tap } from 'rxjs/operators';\nimport { ContextService } from './context.service';\n\n@Injectable({ providedIn: 'root' })\nexport class QuoteDraftService {\n private quoteSubj$ = new BehaviorSubject<QuoteDraft | null>(null);\n private resetSubj$ = new BehaviorSubject<boolean>(true);\n private isInitializedSubj$ = new BehaviorSubject<boolean>(false);\n private initialCurrentState: LineItem[] = [];\n\n public get isInitialized(): boolean {\n return this.isInitializedSubj$.getValue();\n }\n public set isInitialized(value: boolean) {\n if (this.isInitialized !== value) {\n this.isInitializedSubj$.next(value);\n }\n }\n\n public get hasAssets$(): Observable<boolean> {\n return this.quoteSubj$.pipe(map(() => this.hasAssets));\n }\n public get hasAssets(): boolean {\n const quoteDraft = this.quoteSubj$.value;\n return Boolean(quoteDraft && quoteDraft.currentState.length > 0);\n }\n\n public allPriceLists: PriceList[] = [];\n public assetPriceLists: PriceList[] = [];\n public hasUnsavedChanges = false;\n public reset$ = this.resetSubj$.asObservable();\n public activePriceList$: Observable<PriceList | null>;\n\n constructor(\n private context: ContextService,\n private quoteApiService: QuoteApiService,\n private priceApiService: PriceApiService,\n ) {\n this.activePriceList$ = this.context.resolve$().pipe(\n map(ctx => this.allPriceLists.find(priceList => priceList.id === ctx.properties.PriceListId)),\n map(priceList => priceList ?? null),\n );\n\n this.isInitializedSubj$\n .pipe(\n filter(isInitialized => isInitialized),\n switchMap(() => this.quoteSubj$.asObservable()),\n skip(1),\n tap(quote => this.markAsUpdated(quote)),\n )\n .subscribe();\n }\n\n public reset(): void {\n this.resetSubj$.next(true);\n this.quoteSubj$.next(null);\n this.initialCurrentState = [];\n }\n\n public init(quoteId: string, params: Dictionary<string>): Observable<void> {\n return zip(this.quoteApiService.getQuoteDraft(quoteId, params), this.priceApiService.getPriceLists()).pipe(\n tap(([quote, allPriceLists]) => {\n this.allPriceLists = allPriceLists;\n this.quoteSubj$.next(quote);\n this.initialCurrentState = quote.currentState;\n\n this.context.update(quote.context);\n\n this.populateActivePriceLists$();\n }),\n map(() => noop()),\n take(1),\n );\n }\n\n public setCurrentLineItemState(lineItems: LineItem[]): void {\n const quoteDraft = this.quoteSubj$.value;\n\n if (!quoteDraft) {\n return;\n }\n\n this.quoteSubj$.next({\n ...quoteDraft,\n currentState: lineItems,\n });\n }\n\n public updateQuoteDraft(update: Partial<QuoteDraft>): void {\n const quoteDraft = this.quoteSubj$.value;\n\n if (!quoteDraft) {\n return;\n }\n\n if (update.context) {\n this.context.set(update.context);\n }\n\n this.quoteSubj$.next({\n ...quoteDraft,\n ...update,\n });\n }\n\n public updateByPriceSummary(priceSummary: PriceSummary): void {\n const quoteDraft = this.quoteSubj$.value;\n\n if (!quoteDraft) {\n return;\n }\n\n const updatedCurrentState = this.currentState.map(lineItem => {\n const updated = priceSummary.lineItems.find(li => li.id === lineItem.id);\n return updated ?? lineItem;\n });\n\n this.quoteSubj$.next({\n ...quoteDraft,\n currentState: updatedCurrentState,\n totalPrices: priceSummary.totalPrices,\n approvalItems: priceSummary.approvalItems,\n });\n }\n\n public get quoteDraft$(): Observable<QuoteDraft> {\n return combineLatest([this.quoteSubj$, this.context.resolve$()]).pipe(\n map(() => this.quoteDraft),\n filter((quote): quote is QuoteDraft => Boolean(quote)),\n shareReplay(),\n );\n }\n\n public get quoteDraft(): QuoteDraft | null {\n const quote = this.quoteSubj$.value;\n\n if (!quote) {\n return null;\n }\n\n return {\n ...quote,\n context: this.context.resolve(),\n };\n }\n\n public get quoteDraftForActivePriceList(): QuoteDraft | null {\n const quoteDraft = this.quoteDraft;\n\n if (!quoteDraft) {\n return null;\n }\n\n return {\n ...quoteDraft,\n initialState: this.filterByActivePriceList(quoteDraft.initialState),\n currentState: this.filterByActivePriceList(quoteDraft.currentState),\n };\n }\n\n public get currentState$(): Observable<LineItem[]> {\n return this.quoteDraft$.pipe(map(quote => quote.currentState));\n }\n\n public get currentState(): LineItem[] {\n return this.quoteDraft?.currentState ?? [];\n }\n\n /**\n * Stream of activeCurrentState\n */\n public get activeCurrentState$(): Observable<LineItem[]> {\n return this.quoteDraft$.pipe(map(() => this.activeCurrentState));\n }\n\n /**\n * activeCurrentState is currentState passed through additional filters\n */\n public get activeCurrentState(): LineItem[] {\n let currentState = this.quoteDraft?.currentState ?? [];\n\n currentState = this.filterByActivePriceList(currentState);\n\n return currentState;\n }\n\n /**\n * Stream of activeInitialState\n */\n public get activeInitialState$(): Observable<LineItem[]> {\n return this.quoteDraft$.pipe(map(() => this.activeInitialState));\n }\n\n /**\n * activeInitialState is initialState passed through additional filters\n */\n public get activeInitialState(): LineItem[] {\n const ctx = this.context.resolve();\n let initialState = this.quoteDraft?.initialState ?? [];\n\n if (ctx.mode === ConfigurationContextMode.ACCOUNT) {\n initialState = this.filterByActivePriceList(initialState);\n }\n\n return initialState;\n }\n\n public get isStandalone(): boolean {\n return this.context.resolve().properties.standalone === 'true';\n }\n\n public get isStandalone$(): Observable<boolean> {\n return this.context.resolve$().pipe(map(() => this.isStandalone));\n }\n\n public getInitialCurrentState(): LineItem[] {\n return this.initialCurrentState;\n }\n\n public isEditMode$(): Observable<boolean> {\n return this.context.resolve$().pipe(map(() => this.isEditMode()));\n }\n\n public isEditMode(): boolean {\n const context = this.context.resolve();\n\n if (context.mode === ConfigurationContextMode.ACCOUNT) {\n return true;\n }\n\n if (context.mode === ConfigurationContextMode.QUOTE) {\n return context.properties.Status === 'Draft';\n }\n\n return false;\n }\n\n public updateActivePriceList(priceListId: string): void {\n this.context.update({ properties: { PriceListId: priceListId } });\n }\n\n private populateActivePriceLists$(): void {\n const ctx = this.context.resolve();\n const quoteDraft = this.quoteDraft;\n\n if (!quoteDraft) {\n return;\n }\n\n // In ACCOUNT mode populate price lists from related assets\n if (ctx.mode === ConfigurationContextMode.ACCOUNT) {\n // Populate list of price lists\n this.assetPriceLists = quoteDraft.currentState\n .map(({ priceListId }) => priceListId)\n .reduce<PriceList[]>((trunk, priceListId) => {\n if (!priceListId || trunk.some(item => item.id === priceListId)) {\n return trunk;\n }\n\n return [\n ...trunk,\n { id: priceListId, name: this.allPriceLists.find(item => item.id === priceListId)?.name ?? '' },\n ];\n }, []);\n }\n }\n\n private filterByActivePriceList(lineItems: LineItem[]): LineItem[] {\n const ctx = this.context.resolve();\n\n return lineItems.filter(li => !li.priceListId || li.priceListId === ctx.properties.PriceListId);\n }\n\n private markAsUpdated(quote: QuoteDraft | null): void {\n if (quote?.context.properties.mode === ConfigurationContextMode.ACCOUNT) {\n this.hasUnsavedChanges = !!quote && !quote.currentState.every(li => li.actionCode === 'EXIST');\n } else {\n this.hasUnsavedChanges = true;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { RuntimeData, RuntimeModel, UIDefinition as LegacyUiDefinition } from '@veloce/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { RuntimeContext, RuntimeMode, UIDefinition } from '../../../types';\n\n@Injectable()\nexport class RuntimeContextService {\n constructor(private configurationApiService: ConfigurationApiService) {}\n\n public getRuntimeContext(productId: string, offeringId?: string): Observable<RuntimeContext> {\n return this.configurationApiService.getRuntimeDataByProductId(productId, offeringId).pipe(\n map(runtimeData => {\n const uiDefinition = this.getUIDefinition(runtimeData);\n const runtimeModel = RuntimeModel.create(runtimeData.types, runtimeData.products);\n const { productName, properties } =\n Array.from(runtimeModel.components.values()).find(c => c.productId === productId) ?? {};\n\n return {\n modelId: runtimeData.modelId,\n uiDefinition: uiDefinition,\n runtimeModel: runtimeModel,\n runtimeMode: RuntimeMode.PROD,\n productId: productId,\n productType: properties?.displayName || productName,\n offeringId: offeringId,\n properties: {\n PricingEnabled: uiDefinition?.properties?.pricingEnabled ? 'true' : 'false',\n PriceListId: uiDefinition?.properties?.priceList,\n },\n };\n }),\n );\n }\n\n private getUIDefinition(runtimeData: RuntimeData): UIDefinition | undefined {\n let rawUiDefinitions: Array<UIDefinition | LegacyUiDefinition>;\n try {\n rawUiDefinitions = JSON.parse(runtimeData.uiDefinitionsSource);\n } catch (e) {\n return;\n }\n\n const uiDefinitions = rawUiDefinitions.filter(uiDef => (uiDef as UIDefinition).version) as UIDefinition[];\n const uiDefinition = uiDefinitions.find(uiDef => uiDef.primary) ?? uiDefinitions[0];\n\n return uiDefinition;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { ConfigurationContextMode, LineItem, RuntimeModel, SalesforceIdUtils } from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { combineLatest, Observable } from 'rxjs';\nimport { first, tap } from 'rxjs/operators';\nimport { ContextService } from '../../../services';\nimport { RuntimeContext, RuntimeMode, UIDefinition, UIDefinitionProps } from '../../../types';\nimport { RuntimeInitializationProps } from '../types/configuration-runtime.types';\nimport { RuntimeContextService } from './runtime-context.service';\n\n@Injectable()\nexport class ConfigurationRuntimeService {\n private _runtimeContext?: RuntimeContext;\n private _assets?: LineItem[];\n private _isInitialized = false;\n\n public initializationProps?: RuntimeInitializationProps;\n public uiDefinitionProperties: UIDefinitionProps = {};\n\n constructor(\n private apiService: ConfigurationApiService,\n private contextService: ContextService,\n private runtimeContextService: RuntimeContextService,\n ) {}\n\n public reset(): void {\n this._isInitialized = false;\n this._runtimeContext = undefined;\n this._assets = undefined;\n this.initializationProps = undefined;\n this.uiDefinitionProperties = {};\n }\n\n public initTestMode(modelId: string, uiDefinition: UIDefinition): any {\n this.uiDefinitionProperties = uiDefinition.properties ?? {};\n const uiDefinitionExternals = uiDefinition.externals ?? {};\n\n return combineLatest([\n this.apiService.getRuntimeDataByModelId(modelId),\n this.contextService.create('TestId', ConfigurationContextMode.TEST),\n ]).pipe(\n first(),\n tap(([runtimeData, context]) => {\n this._runtimeContext = {\n modelId: modelId,\n runtimeModel: RuntimeModel.create(runtimeData.types, runtimeData.products),\n runtimeMode: RuntimeMode.TEST,\n };\n\n this.contextService.update({\n properties: {\n ...this.runtimeContext?.properties,\n ...context.properties,\n ModelId: modelId,\n RuntimeMode: ConfigurationContextMode.TEST,\n PricingEnabled: this.uiDefinitionProperties.pricingEnabled ? 'true' : 'false',\n StartDate: new Date().toISOString().substring(0, 10),\n PriceListId: this.uiDefinitionProperties.priceList,\n standalone: 'true',\n ...uiDefinitionExternals,\n },\n });\n\n this._isInitialized = true;\n }),\n );\n }\n\n public init(props: RuntimeInitializationProps): Observable<RuntimeContext | undefined> {\n this.initializationProps = props;\n this._assets = props.assets;\n const context = this.contextService.resolve();\n\n return this.runtimeContextService.getRuntimeContext(props.productId, props.offeringId).pipe(\n tap(runtimeContext => {\n this.uiDefinitionProperties = runtimeContext.uiDefinition?.properties ?? {};\n const { PriceListId } = context.properties ?? {};\n\n const mergeContext: RuntimeContext = {\n ...runtimeContext,\n properties: {\n ...runtimeContext.properties,\n ...context.properties,\n PricingEnabled: PriceListId ? 'true' : 'false',\n },\n };\n\n this.id15to18('AccountId', mergeContext.properties);\n this._runtimeContext = mergeContext;\n\n if (context.properties && this._runtimeContext.properties?.StartDate) {\n this.contextService.update({\n properties: {\n ...this._runtimeContext.properties,\n ...context.properties,\n },\n });\n }\n\n this._isInitialized = true;\n }),\n );\n }\n\n private id15to18(propertyName: string, source?: Dictionary<any>): void {\n if (!source) {\n return;\n }\n\n const value = source[propertyName];\n\n if (typeof value === 'string' && value.length === 15) {\n source[propertyName] = SalesforceIdUtils.generateId18FromId15(value);\n }\n }\n\n public getAsset(lineItem: LineItem): LineItem | undefined {\n return this._assets && this._assets.find(a => a.id === lineItem.openOrderLineItemId || a.id === lineItem.assetId);\n }\n\n public get isInitialized(): boolean {\n return this._isInitialized;\n }\n\n public get runtimeModel(): RuntimeModel | undefined {\n return this.runtimeContext?.runtimeModel;\n }\n\n public get runtimeContext(): RuntimeContext | undefined {\n return this._runtimeContext;\n }\n}\n","import { Attribute, CfgStatus, LineItem, PortDomain, UUID } from '@veloce/core';\nimport { Dictionary, flatten, sortBy } from 'lodash';\n\nexport const findLineItem = (id: string, lineItems: LineItem[]): LineItem | undefined => {\n return findLineItemWithComparator(lineItems, (li: LineItem) => li.id === id);\n};\n\nexport const findLineItemWithComparator = (\n lineItems: LineItem[],\n comparator: (li: LineItem) => boolean,\n): LineItem | undefined => {\n let currentLevel = lineItems;\n\n while (currentLevel.length) {\n const found = currentLevel.find(comparator);\n\n if (found) {\n return found;\n }\n\n currentLevel = flatten(currentLevel.map(parent => parent.lineItems));\n }\n\n return;\n};\n\nexport const insertLineItem = (lineItem: LineItem, parentId: string, toInsert: LineItem): LineItem => {\n const insertData = lineItem.id === parentId ? [toInsert] : [];\n return {\n ...lineItem,\n lineItems: [\n ...insertData,\n ...lineItem.lineItems.map(li => {\n return insertLineItem(li, parentId, toInsert);\n }),\n ],\n };\n};\n\nexport const removeLineItem = (lineItem: LineItem, idToRemove: string): LineItem => {\n return {\n ...lineItem,\n lineItems: lineItem.lineItems\n .map(li => {\n if (li.id === idToRemove) {\n return;\n } else if (li.lineItems.length) {\n return removeLineItem(li, idToRemove);\n }\n return li;\n })\n .filter(r => !!r) as LineItem[],\n };\n};\n\nexport const replaceLineItem = (lineItem: LineItem, replaceTo: LineItem): LineItem => {\n if (lineItem.id === replaceTo.id) {\n return { ...replaceTo };\n }\n\n return {\n ...lineItem,\n lineItems: lineItem.lineItems.map(li => {\n if (li.id === replaceTo.id) {\n return replaceTo;\n } else if (li.lineItems.length) {\n return replaceLineItem(li, replaceTo);\n }\n return li;\n }),\n };\n};\n\nexport const mapAttributes = (attributes: Attribute[]): Dictionary<any> => {\n return attributes.reduce((acc, { name, value }) => ({ ...acc, [name]: value }), {});\n};\n\nexport const getAttributes = (attributes: Attribute[], names: string[] = []): Attribute[] => {\n const filtered = attributes.filter(({ name }) => names.includes(name));\n return sortBy(filtered, [({ name }): number => names.indexOf(name)]);\n};\n\nexport const upsertAttributes = (\n originalAttributes: Attribute[],\n attributesToUpsert: { name: string; value: any }[],\n): Attribute[] => {\n return attributesToUpsert.reduce((acc, { name, value }) => {\n const [origAttr] = getAttributes(acc, [name]);\n return [\n ...acc.filter(attr => attr.name !== name),\n { ...(origAttr ?? { name }), cfgStatus: 'User' as CfgStatus, value },\n ];\n }, originalAttributes);\n};\n\nexport const patchAttributes = (\n rootLineItem: LineItem,\n id: string,\n attrs: { name: string; value: any }[],\n): LineItem => {\n const lineItem = findLineItem(id, [rootLineItem]);\n\n if (!lineItem) {\n return rootLineItem;\n }\n\n const attributes = upsertAttributes(lineItem.attributes, attrs);\n return replaceLineItem(rootLineItem, { ...lineItem, attributes });\n};\n\nexport const getAttributeValue = (attributes: Attribute[], name: string): any =>\n attributes.find(attr => attr.name === name)?.value;\n\nexport const generateLineItem = (\n port: string,\n type: string,\n parentId: string,\n attributes: { name: string; value: any }[] = [],\n lineItems: LineItem[] = [],\n): LineItem => {\n return {\n id: UUID.UUID(),\n port,\n type,\n actionCode: 'ADD',\n cfgStatus: 'New',\n attributes: attributes.map(({ name, value }) => ({ cfgStatus: 'User', name, value })),\n lineItems,\n parentId,\n qty: 1,\n } as LineItem;\n};\n\nexport const getRecommendedPrices = (portDomain: PortDomain, type: string): { net: number; list: number } => {\n const domainType = portDomain.domainTypes.find(({ name }) => name === type);\n\n const [net, list] = domainType?.recommendedPrices\n ?.filter(({ chargeMethod }) => chargeMethod === 'ONE_TIME')\n .reduce(\n (acc, rp) => {\n const [netPrice, listPrice] = acc;\n return [netPrice + rp.netPrice, listPrice + rp.listPrice];\n },\n [0, 0],\n ) ?? [0, 0];\n\n return { net, list };\n};\n","import { LineItem } from '@veloce/core';\nimport { insertLineItem, patchAttributes, removeLineItem, replaceLineItem } from './line-item.utils';\n\nexport class LineItemWorker {\n public li: LineItem;\n\n constructor(src: LineItem) {\n this.li = { ...src };\n }\n\n public insert(parentId: string, toInsert: LineItem): LineItemWorker {\n return new LineItemWorker(insertLineItem(this.li, parentId, toInsert));\n }\n\n public remove(id: string): LineItemWorker {\n return new LineItemWorker(removeLineItem(this.li, id));\n }\n\n public replace(toReplace: LineItem): LineItemWorker {\n return new LineItemWorker(replaceLineItem(this.li, toReplace));\n }\n\n public patchAttribute(attrs: { name: string; value: any }[], id?: string): LineItemWorker {\n return new LineItemWorker(patchAttributes(this.li, id ?? this.li.id, attrs));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { ConfirmationComponent, ToastType } from '@veloce/components';\nimport {\n Charge,\n CompiledPricePlan,\n ConfigurationContext,\n ConfigurationMode,\n ConfigurationRequest,\n LineItem,\n RuntimeModel,\n VlWindow,\n} from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { BehaviorSubject, Observable, shareReplay, throwError } from 'rxjs';\nimport { catchError, finalize, first, map, switchMap, tap } from 'rxjs/operators';\nimport { ContextService, QuoteDraftService } from '../../../services';\nimport { QuoteStates, RuntimeContext, RuntimeStep } from '../../../types';\nimport { LineItemWorker } from '../../../utils';\nimport { getDefaultLineItem } from '../helpers';\nimport { ConfigurationRuntimeService } from './configuration-runtime.service';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class ConfigurationService {\n private mode = ConfigurationMode.SEARCH;\n private states: QuoteStates = {};\n\n private lineItem = new BehaviorSubject<LineItem | undefined>(undefined);\n private charges = new BehaviorSubject<Dictionary<Charge>>({});\n private pricePlans = new BehaviorSubject<Dictionary<CompiledPricePlan>>({});\n\n public hasUnsavedChanges = false;\n\n constructor(\n private quoteDraftService: QuoteDraftService,\n private runtimeService: ConfigurationRuntimeService,\n private contextService: ContextService,\n private configurationApiService: ConfigurationApiService,\n private messageService: MessageService,\n private dialogService: DialogService,\n ) {}\n\n public reset(): void {\n this.hasUnsavedChanges = false;\n this.runtimeService.reset();\n\n this.states = {};\n this.lineItem.next(undefined);\n this.charges.next({});\n this.pricePlans.next({});\n }\n\n public patch$(lineItem: LineItem): Observable<LineItem> {\n if (!this.lineItem.value) {\n return throwError(() => new Error(`Source LineItem not found`));\n }\n\n this.states.configurableRamp = new LineItemWorker(this.lineItem.value).replace(lineItem).li;\n this.states.asset = this.states.configurableRamp\n ? this.runtimeService.getAsset(this.states.configurableRamp)\n : undefined;\n\n return this.configure().pipe(\n catchError(error => {\n console.error(error);\n\n if (!this.runtimeService.uiDefinitionProperties.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: error });\n }\n\n // bounce back if configuration call has failed\n this.lineItem.next(this.lineItem.value ? { ...this.lineItem.value } : undefined);\n\n return throwError(() => error);\n }),\n tap(() => {\n if (!this.hasUnsavedChanges) {\n this.hasUnsavedChanges = true;\n }\n }),\n );\n }\n\n public patch(lineItem: LineItem): void {\n this.patch$(lineItem).subscribe();\n }\n\n public updateCurrentStates(update: Partial<QuoteStates>): void {\n this.states = {\n ...this.states,\n ...update,\n };\n }\n\n public get(): Observable<LineItem | undefined> {\n return this.lineItem.asObservable().pipe(shareReplay());\n }\n\n public getSnapshot(): LineItem | undefined {\n return this.lineItem.value ? { ...this.lineItem.value } : undefined;\n }\n\n public getRuntimeModel(): RuntimeModel | undefined {\n return this.runtimeService.runtimeModel;\n }\n\n public getRuntimeContext(): RuntimeContext | undefined {\n return this.runtimeService.runtimeContext;\n }\n\n public get contextSnapshot(): ConfigurationContext {\n return this.contextService.resolve();\n }\n\n public get context$(): Observable<ConfigurationContext> {\n return this.contextService.resolve$();\n }\n\n public get charges$(): Observable<Dictionary<Charge>> {\n return this.charges.asObservable();\n }\n\n public get chargesSnapshot(): Dictionary<Charge> {\n return this.charges.value;\n }\n\n public get pricePlans$(): Observable<Dictionary<CompiledPricePlan>> {\n return this.pricePlans.asObservable();\n }\n\n public get pricePlansSnapshot(): Dictionary<CompiledPricePlan> {\n return this.pricePlans.value;\n }\n\n public configure(): Observable<LineItem> {\n const runtimeContext = this.getRuntimeContext();\n const runtimeModel = this.getRuntimeModel();\n if (!runtimeContext || !runtimeModel) {\n return throwError(() => new Error('Runtime context/model not initialized'));\n }\n\n const uiDefinitionProperties = {\n ...(runtimeContext.uiDefinition?.properties ?? {}),\n ...(this.runtimeService.uiDefinitionProperties ?? {}),\n };\n const qty = this.runtimeService.initializationProps?.defaultQty;\n const lineItem = this.states.configurableRamp ?? getDefaultLineItem(runtimeContext, uiDefinitionProperties, qty);\n const configurationRequest = this.createRequest(lineItem);\n\n const mainPricingEnabled = runtimeContext.properties?.PricingEnabled;\n const pricingEnabled = mainPricingEnabled ? mainPricingEnabled === 'true' : uiDefinitionProperties.pricingEnabled;\n\n return this.configurationApiService\n .configureLineItem({ configurationRequest, runtimeModel, pricingEnabled })\n .pipe(\n map(({ lineItem, context, charges, pricePlans, deletedLineItems }) => {\n this.contextService.update(context ?? {});\n this.charges.next(charges ?? {});\n this.pricePlans.next(pricePlans ?? {});\n if (deletedLineItems?.length) {\n this.showInactiveProductsConfirmation();\n }\n return lineItem;\n }),\n )\n .pipe(\n tap(lineItem => lineItem && this.lineItem.next(lineItem)),\n catchError(error =>\n throwError(() => new Error(error.error?.message || error.message || JSON.stringify(error))),\n ),\n );\n }\n\n public configureExternal$(productId: string, qty?: number): Observable<LineItem> {\n this.updateCurrentStates({\n currentState: this.quoteDraftService.currentState,\n });\n\n return this.runtimeService.init({ productId, defaultQty: qty }).pipe(\n switchMap(() => this.configure()),\n first(),\n catchError(error => {\n this.messageService.add({ severity: ToastType.error, summary: error });\n throw error;\n }),\n finalize(() => this.reset()),\n );\n }\n\n private createRequest(lineItem: LineItem): ConfigurationRequest {\n return {\n lineItem,\n mode: this.mode,\n step: !this.lineItem.value ? RuntimeStep.START : RuntimeStep.UPDATE,\n attributeDomainMode: 'ALL',\n context: this.contextService.resolve(),\n lineItems: this.states.currentState || [],\n asset: this.states.asset,\n };\n }\n\n private showInactiveProductsConfirmation(): void {\n this.dialogService\n .open(ConfirmationComponent, {\n dismissableMask: false,\n closeOnEscape: false,\n closable: false,\n showHeader: true,\n header: `Inactive Products in Quote`,\n width: '440px',\n data: {\n confirmationConfig: {\n title: ' ',\n description: 'This quote contains inactive products. Do you want to remove them?',\n submitBtn: 'Remove products',\n cancelBtn: 'Back to Quote',\n },\n },\n })\n .onClose.subscribe(result => {\n if (!result) {\n const context = this.contextService.resolve();\n window['VELO_BACK_FN'].apply(null, [context.headerId]);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ChargeGroupUtils, LineItem } from '@veloce/core';\nimport { flatten } from 'lodash';\nimport moment from 'moment';\nimport { LineItemWorker } from '../../../utils';\nimport { FlowUpdateParams } from '../types/update.types';\n\n@Injectable()\nexport class FlowUpdateService {\n public update(rootLineItems: LineItem[], updates: FlowUpdateParams[]): void {\n let remainingUpdates = [...updates];\n let currentLevel = rootLineItems;\n\n while (currentLevel.length && remainingUpdates.length) {\n currentLevel.forEach(li => {\n const unhandledUpdates: FlowUpdateParams[] = [];\n\n remainingUpdates.forEach(update => {\n let updated = false;\n\n switch (update.dataType) {\n case 'LINEITEM':\n updated = this.applyLineItemUpdate(li, update);\n break;\n case 'CHARGE':\n updated = this.applyChargeUpdate(li, update);\n break;\n case 'GROUP_CHARGE':\n updated = this.applyChargeGroupUpdate(li, update);\n break;\n default:\n // Unknown dataType. Do not try to handle it anymore\n updated = true;\n }\n\n if (!updated) {\n unhandledUpdates.push(update);\n }\n });\n\n remainingUpdates = unhandledUpdates;\n });\n\n currentLevel = flatten(currentLevel.map(parent => parent.lineItems));\n }\n }\n\n public delete(lineItems: LineItem[], id: string): LineItem[] {\n const idsToRemove: string[] = [id];\n const topLevelLineItem = lineItems.find(li => li.id === id);\n\n if (topLevelLineItem) {\n // find term-related line items (which are only top level)\n // expired term line items won't be deleted\n let foundTermLineItem: LineItem | undefined = topLevelLineItem;\n\n while (foundTermLineItem) {\n foundTermLineItem = lineItems.find(li => foundTermLineItem && li.rampInstanceId === foundTermLineItem.id);\n if (foundTermLineItem) {\n idsToRemove.push(foundTermLineItem.id);\n }\n }\n }\n\n const filtered = lineItems.filter(lineItem => !idsToRemove.includes(lineItem.id));\n return filtered.map(lineItem => new LineItemWorker(lineItem).remove(id).li);\n }\n\n private applyLineItemUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n if (lineItem.id !== update.id) {\n return false;\n }\n\n switch (update.attributeType) {\n case 'QTY':\n lineItem.qty = update.newValue;\n break;\n case 'EFFECTIVE_START_DATE':\n lineItem.properties.StartDate = moment(update.newValue).format('YYYY-MM-DD');\n break;\n case 'END_DATE':\n lineItem.properties.EndDate = moment(update.newValue).format('YYYY-MM-DD');\n break;\n case 'PRICE_ADJUSTMENT':\n {\n const [charge] = lineItem.chargeItems;\n if (charge) {\n charge.priceAdjustment = update.newValue;\n }\n }\n break;\n case 'LIST_PRICE_ADJUSTMENT':\n {\n const [charge] = lineItem.chargeItems;\n if (charge) {\n charge.listPriceAdjustment = update.newValue;\n }\n }\n break;\n default:\n throw new Error(`Not suppored AttributeType for LineItem update: ${update.attributeType}`);\n }\n\n return true;\n }\n\n private applyChargeUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n const foundCharge = lineItem.chargeItems.find(({ id }) => id === update.id);\n if (!foundCharge) {\n return false;\n }\n\n if (update.attributeType === 'PRICE_ADJUSTMENT') {\n foundCharge.priceAdjustment = update.newValue;\n } else if (update.attributeType === 'LIST_PRICE_ADJUSTMENT') {\n foundCharge.listPriceAdjustment = update.newValue;\n } else {\n throw new Error(`Not suppored AttributeType for Charge Item update: ${update.attributeType}`);\n }\n\n return true;\n }\n\n private applyChargeGroupUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n const foundChargeGroup = ChargeGroupUtils.findChargeGroupById(update.id, lineItem);\n if (!foundChargeGroup) {\n return false;\n }\n\n if (update.attributeType === 'PRICE_ADJUSTMENT') {\n foundChargeGroup.priceAdjustment = update.newValue;\n } else if (update.attributeType === 'LIST_PRICE_ADJUSTMENT') {\n foundChargeGroup.listPriceAdjustment = update.newValue;\n } else {\n throw new Error(`Not suppored AttributeType for Charge Group Item update: ${update.attributeType}`);\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ProceduresApiService } from '@veloce/api';\nimport { Charge, CompiledPricePlan, ConfigurationContext, LineItem, QuoteDraft } from '@veloce/core';\nimport { cloneDeep, Dictionary } from 'lodash';\nimport { catchError, map, noop, Observable, of, shareReplay, switchMap, tap, throwError } from 'rxjs';\nimport { ContextService, QuoteDraftService } from '../../../services';\nimport { ConfigurationService } from '../../configuration';\nimport { FlowUpdateParams } from '../types/update.types';\nimport { FlowUpdateService } from './flow-update.service';\n\n@Injectable()\nexport class FlowConfigurationService {\n constructor(\n private proceduresApiService: ProceduresApiService,\n private contextService: ContextService,\n private quoteDraftService: QuoteDraftService,\n private updateService: FlowUpdateService,\n private configurationService: ConfigurationService,\n ) {}\n\n public calculate$(quoteDraft: QuoteDraft): Observable<void> {\n return this.proceduresApiService.apply$(quoteDraft).pipe(\n tap(result => {\n // sort the result current state based on the quote draft initial state\n const initialStateIds = quoteDraft.initialState.map(lineItem => lineItem.integrationId);\n result.currentState = result.currentState\n .slice()\n .sort((a, b) => initialStateIds.indexOf(a.integrationId) - initialStateIds.indexOf(b.integrationId));\n this.quoteDraftService.updateQuoteDraft(result);\n }),\n map(noop),\n );\n }\n\n public calculate(quoteDraft: QuoteDraft): void {\n this.calculate$(quoteDraft).subscribe();\n }\n\n public update$(updates: FlowUpdateParams[]): Observable<QuoteDraft | null> {\n const quoteDraft = this.quoteDraftService.quoteDraft;\n\n if (!quoteDraft) {\n return of(null);\n }\n\n return of([]).pipe(\n map(() => {\n const updatedState = cloneDeep(quoteDraft.currentState);\n this.updateService.update(updatedState, updates);\n return updatedState;\n }),\n switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })),\n map(() => this.quoteDraftService.quoteDraft),\n this.handleErrorAndBounceBack(),\n );\n }\n\n public update(updates: FlowUpdateParams[]): void {\n this.update$(updates).subscribe();\n }\n\n public revert$(lineItemId: string): Observable<QuoteDraft | null> {\n const quoteDraft = this.quoteDraftService.quoteDraft;\n const initialCurrentState = this.quoteDraftService.getInitialCurrentState();\n const currentState = this.quoteDraftService.activeCurrentState;\n\n const currentLineItemIndex = currentState.findIndex(({ id }) => id === lineItemId);\n const currentLineItem = currentState[currentLineItemIndex];\n\n const initialLineItem = initialCurrentState.find(\n ({ integrationId }) => integrationId === currentLineItem?.integrationId,\n );\n\n if (!quoteDraft || !currentLineItem || !initialLineItem) {\n return of(null);\n }\n\n const updatedState = cloneDeep(currentState);\n updatedState.splice(currentLineItemIndex, 1, initialLineItem);\n\n return of([]).pipe(\n tap(() => {\n this.quoteDraftService.setCurrentLineItemState(updatedState);\n }),\n switchMap(() => this.calculate$({ ...quoteDraft, currentState: updatedState })),\n map(() => this.quoteDraftService.quoteDraft),\n this.handleErrorAndBounceBack(),\n );\n }\n\n public revert(lineItemId: string): void {\n this.revert$(lineItemId).subscribe();\n }\n\n public delete$(ids: string[]): Observable<QuoteDraft | null> {\n const quoteDraft = this.quoteDraftService.quoteDraft;\n const currentState = this.quoteDraftService.currentState;\n\n if (!quoteDraft) {\n return of(null);\n }\n\n return of([]).pipe(\n map(() => ids.reduce((result, id) => this.updateService.delete(result, id), currentState)),\n switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })),\n map(() => this.quoteDraftService.quoteDraft),\n this.handleErrorAndBounceBack(),\n );\n }\n\n public delete(ids: string[]): void {\n this.delete$(ids).subscribe();\n }\n\n public addTerm$(term: LineItem): Observable<QuoteDraft | null> {\n const quoteDraft = this.quoteDraftService.quoteDraft;\n\n if (!quoteDraft) {\n return of(null);\n }\n\n const updatedState = [...quoteDraft.currentState, term];\n\n return of([]).pipe(\n switchMap(() => this.calculate$({ ...quoteDraft, currentState: updatedState })),\n map(() => this.quoteDraftService.quoteDraft),\n this.handleErrorAndBounceBack(),\n );\n }\n\n public addToCart$(productId: string, qty?: number): Observable<QuoteDraft | null> {\n const quoteDraft = this.quoteDraftService.quoteDraft;\n\n if (!quoteDraft) {\n return of(null);\n }\n\n return this.configurationService.configureExternal$(productId, qty).pipe(\n map(lineItem => [...quoteDraft.currentState, lineItem]),\n switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })),\n map(() => this.quoteDraftService.quoteDraft),\n this.handleErrorAndBounceBack(),\n );\n }\n\n public get(): Observable<LineItem[]> {\n return this.quoteDraftService.quoteDraft$.pipe(\n map(() => this.quoteDraftService.activeCurrentState),\n shareReplay(),\n );\n }\n\n public getSnapshot(): LineItem[] {\n return this.quoteDraftService?.currentState.slice() ?? [];\n }\n\n public get charges$(): Observable<Dictionary<Charge>> {\n return this.quoteDraftService.quoteDraft$.pipe(map(({ charges }) => charges));\n }\n\n public get pricePlans$(): Observable<Dictionary<CompiledPricePlan>> {\n return this.quoteDraftService.quoteDraft$.pipe(map(({ pricePlans }) => pricePlans));\n }\n\n public get chargesSnapshot(): Dictionary<Charge> {\n return this.quoteDraftService.quoteDraft?.charges ?? {};\n }\n\n public get pricePlansSnapshot(): Dictionary<CompiledPricePlan> {\n return this.quoteDraftService.quoteDraft?.pricePlans ?? {};\n }\n\n public get contextSnapshot(): ConfigurationContext {\n return this.contextService.resolve();\n }\n\n public get context$(): Observable<ConfigurationContext> {\n return this.contextService.resolve$();\n }\n\n private handleErrorAndBounceBack() {\n return <T>(source$: Observable<T>): Observable<T> => {\n return source$.pipe(\n catchError(error => {\n console.error(error);\n\n // bounce back if configuration call has failed\n const quoteDraft = this.quoteDraftService.quoteDraft;\n if (quoteDraft) {\n this.quoteDraftService.updateQuoteDraft(quoteDraft);\n }\n\n return throwError(() => error);\n }),\n );\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PriceApiService } from '@veloce/api';\nimport { FlowConfigurationService } from './services/flow-configuration.service';\nimport { FlowUpdateService } from './services/flow-update.service';\n\n@NgModule({\n imports: [],\n providers: [FlowConfigurationService, FlowUpdateService, PriceApiService],\n})\nexport class FlowConfigurationModule {}\n","import { NgModule } from '@angular/core';\nimport { ConfigurationApiService, ContextApiService, ProductModelApiService } from '@veloce/api';\nimport { ConfirmationDialogModule } from '@veloce/components';\nimport { ConfigurationRuntimeService } from './services/configuration-runtime.service';\nimport { ConfigurationService } from './services/configuration.service';\nimport { RuntimeContextService } from './services/runtime-context.service';\n\n@NgModule({\n imports: [ConfirmationDialogModule],\n providers: [\n ContextApiService,\n ProductModelApiService,\n ConfigurationApiService,\n ConfigurationRuntimeService,\n RuntimeContextService,\n ConfigurationService,\n ],\n})\nexport class ConfigurationModule {}\n","import { NgModule } from '@angular/core';\nimport { FlowConfigurationModule } from './modules';\nimport { ConfigurationModule } from './modules/configuration/configuration.module';\nimport { ContextService, ProductImagesService, QuoteDraftService } from './services';\n\n@NgModule({\n imports: [ConfigurationModule, FlowConfigurationModule],\n providers: [ContextService, QuoteDraftService, ProductImagesService],\n})\nexport class SdkCoreModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["UUID","RuntimeMode","RuntimeOperation","RuntimeStep","BehaviorSubject","filter","tap","merge","ConfigurationContext","map","Injectable","distinctUntilChanged","catchError","of","switchMap","skip","zip","noop","take","combineLatest","shareReplay","ConfigurationContextMode","RuntimeModel","first","SalesforceIdUtils","flatten","sortBy","ConfigurationMode","throwError","ToastType","finalize","ConfirmationComponent","moment","ChargeGroupUtils","cloneDeep","PriceApiService","NgModule","ConfirmationDialogModule","ContextApiService","ProductModelApiService","ConfigurationApiService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAGa,kBAAkB,GAAG,UAChC,OAAuB,EACvB,sBAAyC,EACzC,GAAO;QAAP,oBAAA,EAAA,OAAO;;QAEP,IAAM,EAAE,GAAGA,SAAI,CAAC,IAAI,EAAE,CAAC;QAEvB,IAAM,QAAQ,GAAa,gBACzB,EAAE,IAAA,EACF,IAAI,EAAE,MAAA,sBAAsB,CAAC,QAAQ,mCAAI,EAAE,EAC3C,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,KAAK,EACjB,GAAG,KAAA,EACH,WAAW,EAAE,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,WAAW,KAAI,OAAO,CAAC,WAAW,EACnE,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,EAAE,KAC9B,OAAO,CAAC,UAAU;cAClB,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,EAAE,EAAE;cACxF,EAAE,EACK,CAAC;QAEd,OAAO,QAAQ,CAAC;IAClB;;ICxBA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;AC3OYC;IAAZ,WAAY,WAAW;QACrB,6CAAI,CAAA;QACJ,6CAAI,CAAA;IACN,CAAC,EAHWA,mBAAW,KAAXA,mBAAW,QAGtB;AAEWC;IAAZ,WAAY,gBAAgB;QAC1B,iCAAa,CAAA;QACb,qCAAiB,CAAA;IACnB,CAAC,EAHWA,wBAAgB,KAAhBA,wBAAgB,QAG3B;AAEWC;IAAZ,WAAY,WAAW;QACrB,8BAAe,CAAA;QACf,gCAAiB,CAAA;IACnB,CAAC,EAHWA,mBAAW,KAAXA,mBAAW;;;QCFrB,wBAAoB,iBAAoC;YAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;YAFhD,YAAO,GAAG,IAAIC,oBAAe,CAA8B,IAAI,CAAC,CAAC;SAEb;QAE5D,sBAAW,yCAAa;iBAAxB;gBACE,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACpC;;;WAAA;QAEM,gCAAO,GAAP;YACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACpD;YAED,yBAAY,IAAI,CAAC,OAAO,CAAC,KAAK,EAAG;SAClC;QAEM,iCAAQ,GAAR;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAACC,gBAAM,CAAC,UAAC,GAAG,IAAkC,OAAA,OAAO,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC,CAAC;SACtF;QAEM,+BAAM,GAAN,UAAO,QAAgB,EAAE,IAA8B;YAAvD,iBAKN;YAJC,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAC3DC,aAAG,CAAC,UAAA,OAAO,IAAI,OAAA,KAAI,CAAC,OAAO,CAAC,IAAI,CAACC,YAAK,CAAC,IAAIC,yBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,GAAA,CAAC,EAC3FC,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,EAA0B,GAAA,CAAC,CAClD,CAAC;SACH;QAEM,+BAAM,GAAN,UAAO,cAA6C;YACzD,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAEvC,IAAM,cAAc,iDACf,eAAe,GACd,cAAuC,KAC3C,UAAU,kCACL,eAAe,CAAC,UAAU,GAC1B,cAAc,CAAC,UAAU,IAE/B,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAElC,OAAO,cAAc,CAAC;SACvB;QAEM,4BAAG,GAAH,UAAI,OAA6B;YACtC,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAEvC,IAAM,cAAc,mCACf,eAAe,GACf,OAAO,CACX,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAElC,OAAO,cAAc,CAAC;SACvB;QAEM,+BAAM,GAAN;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;;;sIA5DU,cAAc;0IAAd,cAAc,cADD,MAAM;sHACnB,cAAc;sBAD1BC,aAAU;uBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;QCEhC,8BAAoB,iBAAoC;YAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;YAFhD,eAAU,GAAG,IAAIN,oBAAe,CAAqB,EAAE,CAAC,CAAC;SAEL;QAErD,2CAAY,GAAZ,UAAa,SAAiB;;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;gBAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,iCAAM,IAAI,CAAC,UAAU,CAAC,KAAK,aAAE,GAAC,SAAS,IAAG,EAAE,OAAG,CAAC;gBACpE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzBK,QAAG,CAAC,UAAA,SAAS,IAAI,OAAA,SAAS,CAAC,SAAS,CAAC,GAAA,CAAC,EACtCE,yBAAoB,EAAE,CACvB,CAAC;SACH;QAEO,gDAAiB,GAAjB,UAAkB,SAAiB;YAAnC,iBASP;YARC,IAAI,CAAC,iBAAiB;iBACnB,WAAW,CAAC,SAAS,CAAC;iBACtB,IAAI,CACHF,QAAG,CAAC,UAAA,IAAI,IAAI,OAAA,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAA,CAAC,EACtCG,eAAU,CAAC,cAAM,OAAAC,OAAE,CAAC,EAAE,CAAC,GAAA,CAAC,EACxBP,QAAG,CAAC,UAAA,GAAG;;gBAAI,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,iCAAM,KAAI,CAAC,UAAU,CAAC,KAAK,aAAE,GAAC,SAAS,IAAG,GAAG,OAAG;aAAA,CAAC,CACjF;iBACA,SAAS,EAAE,CAAC;SAChB;;;4IA1BU,oBAAoB;gJAApB,oBAAoB,cADP,MAAM;sHACnB,oBAAoB;sBADhCI,aAAU;uBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;QCiChC,2BACU,OAAuB,EACvB,eAAgC,EAChC,eAAgC;YAH1C,iBAkBC;YAjBS,YAAO,GAAP,OAAO,CAAgB;YACvB,oBAAe,GAAf,eAAe,CAAiB;YAChC,oBAAe,GAAf,eAAe,CAAiB;YA/BlC,eAAU,GAAG,IAAIN,oBAAe,CAAoB,IAAI,CAAC,CAAC;YAC1D,eAAU,GAAG,IAAIA,oBAAe,CAAU,IAAI,CAAC,CAAC;YAChD,uBAAkB,GAAG,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;YACzD,wBAAmB,GAAe,EAAE,CAAC;YAmBtC,kBAAa,GAAgB,EAAE,CAAC;YAChC,oBAAe,GAAgB,EAAE,CAAC;YAClC,sBAAiB,GAAG,KAAK,CAAC;YAC1B,WAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YAQ7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAClDK,aAAG,CAAC,UAAA,GAAG,IAAI,OAAA,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAA,SAAS,IAAI,OAAA,SAAS,CAAC,EAAE,KAAK,GAAG,CAAC,UAAU,CAAC,WAAW,GAAA,CAAC,GAAA,CAAC,EAC7FA,aAAG,CAAC,UAAA,SAAS,IAAI,OAAA,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,GAAA,CAAC,CACpC,CAAC;YAEF,IAAI,CAAC,kBAAkB;iBACpB,IAAI,CACHJ,gBAAM,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,GAAA,CAAC,EACtCS,mBAAS,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,CAAC,YAAY,EAAE,GAAA,CAAC,EAC/CC,cAAI,CAAC,CAAC,CAAC,EACPT,aAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAA,CAAC,CACxC;iBACA,SAAS,EAAE,CAAC;SAChB;QAzCD,sBAAW,4CAAa;iBAAxB;gBACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;aAC3C;iBACD,UAAyB,KAAc;gBACrC,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;oBAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACrC;aACF;;;WALA;QAOD,sBAAW,yCAAU;iBAArB;gBAAA,iBAEC;gBADC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAACG,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,SAAS,GAAA,CAAC,CAAC,CAAC;aACxD;;;WAAA;QACD,sBAAW,wCAAS;iBAApB;gBACE,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACzC,OAAO,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAClE;;;WAAA;QA4BM,iCAAK,GAAL;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;SAC/B;QAEM,gCAAI,GAAJ,UAAK,OAAe,EAAE,MAA0B;YAAhD,iBAcN;YAbC,OAAOO,QAAG,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CACxGV,aAAG,CAAC,UAAC,EAAsB;oBAAtB,KAAA,aAAsB,EAArB,KAAK,QAAA,EAAE,aAAa,QAAA;gBACxB,KAAI,CAAC,aAAa,GAAG,aAAa,CAAC;gBACnC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;gBAE9C,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEnC,KAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC,CAAC,EACFG,aAAG,CAAC,cAAM,OAAAQ,SAAI,EAAE,GAAA,CAAC,EACjBC,cAAI,CAAC,CAAC,CAAC,CACR,CAAC;SACH;QAEM,mDAAuB,GAAvB,UAAwB,SAAqB;YAClD,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAEzC,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,iCACf,UAAU,KACb,YAAY,EAAE,SAAS,IACvB,CAAC;SACJ;QAEM,4CAAgB,GAAhB,UAAiB,MAA2B;YACjD,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAEzC,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAClC;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,iCACf,UAAU,GACV,MAAM,EACT,CAAC;SACJ;QAEM,gDAAoB,GAApB,UAAqB,YAA0B;YACpD,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAEzC,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,IAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,QAAQ;gBACxD,IAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,GAAA,CAAC,CAAC;gBACzE,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC;aAC5B,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,IAAI,iCACf,UAAU,KACb,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,YAAY,CAAC,WAAW,EACrC,aAAa,EAAE,YAAY,CAAC,aAAa,IACzC,CAAC;SACJ;QAED,sBAAW,0CAAW;iBAAtB;gBAAA,iBAMC;gBALC,OAAOC,kBAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CACnEV,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,GAAA,CAAC,EAC1BJ,gBAAM,CAAC,UAAC,KAAK,IAA0B,OAAA,OAAO,CAAC,KAAK,CAAC,GAAA,CAAC,EACtDe,qBAAW,EAAE,CACd,CAAC;aACH;;;WAAA;QAED,sBAAW,yCAAU;iBAArB;gBACE,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAEpC,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,IAAI,CAAC;iBACb;gBAED,uCACK,KAAK,KACR,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAC/B;aACH;;;WAAA;QAED,sBAAW,2DAA4B;iBAAvC;gBACE,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAEnC,IAAI,CAAC,UAAU,EAAE;oBACf,OAAO,IAAI,CAAC;iBACb;gBAED,uCACK,UAAU,KACb,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,YAAY,CAAC,EACnE,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,YAAY,CAAC,IACnE;aACH;;;WAAA;QAED,sBAAW,4CAAa;iBAAxB;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAACX,aAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,YAAY,GAAA,CAAC,CAAC,CAAC;aAChE;;;WAAA;QAED,sBAAW,2CAAY;iBAAvB;;gBACE,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,mCAAI,EAAE,CAAC;aAC5C;;;WAAA;QAKD,sBAAW,kDAAmB;;;;iBAA9B;gBAAA,iBAEC;gBADC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAACA,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,kBAAkB,GAAA,CAAC,CAAC,CAAC;aAClE;;;WAAA;QAKD,sBAAW,iDAAkB;;;;iBAA7B;;gBACE,IAAI,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,mCAAI,EAAE,CAAC;gBAEvD,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;gBAE1D,OAAO,YAAY,CAAC;aACrB;;;WAAA;QAKD,sBAAW,kDAAmB;;;;iBAA9B;gBAAA,iBAEC;gBADC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAACA,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,kBAAkB,GAAA,CAAC,CAAC,CAAC;aAClE;;;WAAA;QAKD,sBAAW,iDAAkB;;;;iBAA7B;;gBACE,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,mCAAI,EAAE,CAAC;gBAEvD,IAAI,GAAG,CAAC,IAAI,KAAKY,6BAAwB,CAAC,OAAO,EAAE;oBACjD,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;iBAC3D;gBAED,OAAO,YAAY,CAAC;aACrB;;;WAAA;QAED,sBAAW,2CAAY;iBAAvB;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC;aAChE;;;WAAA;QAED,sBAAW,4CAAa;iBAAxB;gBAAA,iBAEC;gBADC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAACZ,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,YAAY,GAAA,CAAC,CAAC,CAAC;aACnE;;;WAAA;QAEM,kDAAsB,GAAtB;YACL,OAAO,IAAI,CAAC,mBAAmB,CAAC;SACjC;QAEM,uCAAW,GAAX;YAAA,iBAEN;YADC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAACA,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,EAAE,GAAA,CAAC,CAAC,CAAC;SACnE;QAEM,sCAAU,GAAV;YACL,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAEvC,IAAI,OAAO,CAAC,IAAI,KAAKY,6BAAwB,CAAC,OAAO,EAAE;gBACrD,OAAO,IAAI,CAAC;aACb;YAED,IAAI,OAAO,CAAC,IAAI,KAAKA,6BAAwB,CAAC,KAAK,EAAE;gBACnD,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC;aAC9C;YAED,OAAO,KAAK,CAAC;SACd;QAEM,iDAAqB,GAArB,UAAsB,WAAmB;YAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;SACnE;QAEO,qDAAyB,GAAzB;YAAA,iBAwBP;YAvBC,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAEnC,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;;YAGD,IAAI,GAAG,CAAC,IAAI,KAAKA,6BAAwB,CAAC,OAAO,EAAE;;gBAEjD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,YAAY;qBAC3C,GAAG,CAAC,UAAC,EAAe;wBAAb,WAAW,iBAAA;oBAAO,OAAA,WAAW;iBAAA,CAAC;qBACrC,MAAM,CAAc,UAAC,KAAK,EAAE,WAAW;;oBACtC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,WAAW,GAAA,CAAC,EAAE;wBAC/D,OAAO,KAAK,CAAC;qBACd;oBAED,8CACK,KAAK;wBACR,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAA,MAAA,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,WAAW,GAAA,CAAC,0CAAE,IAAI,mCAAI,EAAE,EAAE;uBAC/F;iBACH,EAAE,EAAE,CAAC,CAAC;aACV;SACF;QAEO,mDAAuB,GAAvB,UAAwB,SAAqB;YACnD,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAEnC,OAAO,SAAS,CAAC,MAAM,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC,WAAW,GAAA,CAAC,CAAC;SACjG;QAEO,yCAAa,GAAb,UAAc,KAAwB;YAC5C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,UAAU,CAAC,IAAI,MAAKA,6BAAwB,CAAC,OAAO,EAAE;gBACvE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,UAAU,KAAK,OAAO,GAAA,CAAC,CAAC;aAChG;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;SACF;;;yIAnRU,iBAAiB;6IAAjB,iBAAiB,cADJ,MAAM;sHACnB,iBAAiB;sBAD7BX,aAAU;uBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ICAlC;QACE,+BAAoB,uBAAgD;YAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;SAAI;QAEjE,iDAAiB,GAAjB,UAAkB,SAAiB,EAAE,UAAmB;YAAxD,iBAuBN;YAtBC,OAAO,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,IAAI,CACvFD,aAAG,CAAC,UAAA,WAAW;;gBACb,IAAM,YAAY,GAAG,KAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAM,YAAY,GAAGa,iBAAY,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC5E,IAAA,KACJ,MAAA,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,SAAS,KAAK,SAAS,GAAA,CAAC,mCAAI,EAAE,EADjF,WAAW,iBAAA,EAAE,UAAU,gBAC0D,CAAC;gBAE1F,OAAO;oBACL,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,YAAY,EAAE,YAAY;oBAC1B,YAAY,EAAE,YAAY;oBAC1B,WAAW,EAAErB,mBAAW,CAAC,IAAI;oBAC7B,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,KAAI,WAAW;oBACnD,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE;wBACV,cAAc,EAAE,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,cAAc,IAAG,MAAM,GAAG,OAAO;wBAC3E,WAAW,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,SAAS;qBACjD;iBACF,CAAC;aACH,CAAC,CACH,CAAC;SACH;QAEO,+CAAe,GAAf,UAAgB,WAAwB;;YAC9C,IAAI,gBAA0D,CAAC;YAC/D,IAAI;gBACF,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;aAChE;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO;aACR;YAED,IAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAA,KAAK,IAAK,OAAA,KAAsB,CAAC,OAAO,GAAA,CAAmB,CAAC;YAC1G,IAAM,YAAY,GAAG,MAAA,aAAa,CAAC,IAAI,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,OAAO,GAAA,CAAC,mCAAI,aAAa,CAAC,CAAC,CAAC,CAAC;YAEpF,OAAO,YAAY,CAAC;SACrB;;;6IAxCU,qBAAqB;iJAArB,qBAAqB;sHAArB,qBAAqB;sBADjCS,aAAU;;;;QCaT,qCACU,UAAmC,EACnC,cAA8B,EAC9B,qBAA4C;YAF5C,eAAU,GAAV,UAAU,CAAyB;YACnC,mBAAc,GAAd,cAAc,CAAgB;YAC9B,0BAAqB,GAArB,qBAAqB,CAAuB;YAR9C,mBAAc,GAAG,KAAK,CAAC;YAGxB,2BAAsB,GAAsB,EAAE,CAAC;SAMlD;QAEG,2CAAK,GAAL;YACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;SAClC;QAEM,kDAAY,GAAZ,UAAa,OAAe,EAAE,YAA0B;YAAxD,iBAiCN;;YAhCC,IAAI,CAAC,sBAAsB,GAAG,MAAA,YAAY,CAAC,UAAU,mCAAI,EAAE,CAAC;YAC5D,IAAM,qBAAqB,GAAG,MAAA,YAAY,CAAC,SAAS,mCAAI,EAAE,CAAC;YAE3D,OAAOS,kBAAa,CAAC;gBACnB,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC;gBAChD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAEE,6BAAwB,CAAC,IAAI,CAAC;aACpE,CAAC,CAAC,IAAI,CACLE,eAAK,EAAE,EACPjB,aAAG,CAAC,UAAC,EAAsB;oBAAtB,KAAA,aAAsB,EAArB,WAAW,QAAA,EAAE,OAAO,QAAA;;gBACxB,KAAI,CAAC,eAAe,GAAG;oBACrB,OAAO,EAAE,OAAO;oBAChB,YAAY,EAAEgB,iBAAY,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;oBAC1E,WAAW,EAAErB,mBAAW,CAAC,IAAI;iBAC9B,CAAC;gBAEF,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC;oBACzB,UAAU,8DACL,MAAA,KAAI,CAAC,cAAc,0CAAE,UAAU,GAC/B,OAAO,CAAC,UAAU,KACrB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAEoB,6BAAwB,CAAC,IAAI,EAC1C,cAAc,EAAE,KAAI,CAAC,sBAAsB,CAAC,cAAc,GAAG,MAAM,GAAG,OAAO,EAC7E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EACpD,WAAW,EAAE,KAAI,CAAC,sBAAsB,CAAC,SAAS,EAClD,UAAU,EAAE,MAAM,KACf,qBAAqB,CACzB;iBACF,CAAC,CAAC;gBAEH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B,CAAC,CACH,CAAC;SACH;QAEM,0CAAI,GAAJ,UAAK,KAAiC;YAAtC,iBAkCN;YAjCC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAE9C,OAAO,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CACzFf,aAAG,CAAC,UAAA,cAAc;;gBAChB,KAAI,CAAC,sBAAsB,GAAG,MAAA,MAAA,cAAc,CAAC,YAAY,0CAAE,UAAU,mCAAI,EAAE,CAAC;gBACpE,IAAA,WAAW,GAAK,CAAA,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,aAA7B,CAA8B;gBAEjD,IAAM,YAAY,mCACb,cAAc,KACjB,UAAU,gDACL,cAAc,CAAC,UAAU,GACzB,OAAO,CAAC,UAAU,KACrB,cAAc,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,MAEjD,CAAC;gBAEF,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBACpD,KAAI,CAAC,eAAe,GAAG,YAAY,CAAC;gBAEpC,IAAI,OAAO,CAAC,UAAU,KAAI,MAAA,KAAI,CAAC,eAAe,CAAC,UAAU,0CAAE,SAAS,CAAA,EAAE;oBACpE,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC;wBACzB,UAAU,kCACL,KAAI,CAAC,eAAe,CAAC,UAAU,GAC/B,OAAO,CAAC,UAAU,CACtB;qBACF,CAAC,CAAC;iBACJ;gBAED,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B,CAAC,CACH,CAAC;SACH;QAEO,8CAAQ,GAAR,UAAS,YAAoB,EAAE,MAAwB;YAC7D,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;aACR;YAED,IAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAEnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;gBACpD,MAAM,CAAC,YAAY,CAAC,GAAGkB,sBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;aACtE;SACF;QAEM,8CAAQ,GAAR,UAAS,QAAkB;YAChC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,GAAA,CAAC,CAAC;SACnH;QAED,sBAAW,sDAAa;iBAAxB;gBACE,OAAO,IAAI,CAAC,cAAc,CAAC;aAC5B;;;WAAA;QAED,sBAAW,qDAAY;iBAAvB;;gBACE,OAAO,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,CAAC;aAC1C;;;WAAA;QAED,sBAAW,uDAAc;iBAAzB;gBACE,OAAO,IAAI,CAAC,eAAe,CAAC;aAC7B;;;WAAA;;;mJAvHU,2BAA2B;uJAA3B,2BAA2B;sHAA3B,2BAA2B;sBADvCd,aAAU;;;QCRE,YAAY,GAAG,UAAC,EAAU,EAAE,SAAqB;QAC5D,OAAO,0BAA0B,CAAC,SAAS,EAAE,UAAC,EAAY,IAAK,OAAA,EAAE,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;IAC/E,EAAE;QAEW,0BAA0B,GAAG,UACxC,SAAqB,EACrB,UAAqC;QAErC,IAAI,YAAY,GAAG,SAAS,CAAC;QAE7B,OAAO,YAAY,CAAC,MAAM,EAAE;YAC1B,IAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE5C,IAAI,KAAK,EAAE;gBACT,OAAO,KAAK,CAAC;aACd;YAED,YAAY,GAAGe,cAAO,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,GAAA,CAAC,CAAC,CAAC;SACtE;QAED,OAAO;IACT,EAAE;QAEW,cAAc,GAAG,UAAC,QAAkB,EAAE,QAAgB,EAAE,QAAkB;QACrF,IAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC9D,uCACK,QAAQ,KACX,SAAS,yCACJ,UAAU,WACV,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,EAAE;gBAC1B,OAAO,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC/C,CAAC,EACH,IACD;IACJ,EAAE;QAEW,cAAc,GAAG,UAAC,QAAkB,EAAE,UAAkB;QACnE,uCACK,QAAQ,KACX,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC1B,GAAG,CAAC,UAAA,EAAE;gBACL,IAAI,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE;oBACxB,OAAO;iBACR;qBAAM,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE;oBAC9B,OAAO,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;iBACvC;gBACD,OAAO,EAAE,CAAC;aACX,CAAC;iBACD,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,GAAA,CAAe,IACjC;IACJ,EAAE;QAEW,eAAe,GAAG,UAAC,QAAkB,EAAE,SAAmB;QACrE,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EAAE;YAChC,yBAAY,SAAS,EAAG;SACzB;QAED,uCACK,QAAQ,KACX,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,EAAE;gBAClC,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EAAE;oBAC1B,OAAO,SAAS,CAAC;iBAClB;qBAAM,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE;oBAC9B,OAAO,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;iBACvC;gBACD,OAAO,EAAE,CAAC;aACX,CAAC,IACF;IACJ,EAAE;QAEW,aAAa,GAAG,UAAC,UAAuB;QACnD,OAAO,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,EAAe;;gBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;YAAO,wCAAM,GAAG,aAAE,GAAC,IAAI,IAAG,KAAK;SAAG,EAAE,EAAE,CAAC,CAAC;IACtF,EAAE;QAEW,aAAa,GAAG,UAAC,UAAuB,EAAE,KAAoB;QAApB,sBAAA,EAAA,UAAoB;QACzE,IAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAQ;gBAAN,IAAI,UAAA;YAAO,OAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;SAAA,CAAC,CAAC;QACvE,OAAOC,aAAM,CAAC,QAAQ,EAAE,CAAC,UAAC,EAAQ;oBAAN,IAAI,UAAA;gBAAe,OAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;aAAA,CAAC,CAAC,CAAC;IACvE,EAAE;QAEW,gBAAgB,GAAG,UAC9B,kBAA+B,EAC/B,kBAAkD;QAElD,OAAO,kBAAkB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,EAAe;gBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;YAC5C,IAAA,KAAA,OAAa,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAA,EAAtC,QAAQ,QAA8B,CAAC;YAC9C,8CACK,GAAG,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,IAAI,GAAA,CAAC;iDACnC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,IAAI,MAAA,EAAE,MAAG,SAAS,EAAE,MAAmB,EAAE,KAAK,OAAA;eAClE;SACH,EAAE,kBAAkB,CAAC,CAAC;IACzB,EAAE;QAEW,eAAe,GAAG,UAC7B,YAAsB,EACtB,EAAU,EACV,KAAqC;QAErC,IAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,YAAY,CAAC;SACrB;QAED,IAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAChE,OAAO,eAAe,CAAC,YAAY,kCAAO,QAAQ,KAAE,UAAU,YAAA,IAAG,CAAC;IACpE,EAAE;QAEW,iBAAiB,GAAG,UAAC,UAAuB,EAAE,IAAY,YACrE,OAAA,MAAA,UAAU,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,IAAI,GAAA,CAAC,0CAAE,KAAK,CAAA,GAAC;QAExC,gBAAgB,GAAG,UAC9B,IAAY,EACZ,IAAY,EACZ,QAAgB,EAChB,UAA+C,EAC/C,SAA0B;QAD1B,2BAAA,EAAA,eAA+C;QAC/C,0BAAA,EAAA,cAA0B;QAE1B,OAAO;YACL,EAAE,EAAE1B,SAAI,CAAC,IAAI,EAAE;YACf,IAAI,MAAA;YACJ,IAAI,MAAA;YACJ,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,UAAC,EAAe;oBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;gBAAO,QAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE;aAAC,CAAC;YACrF,SAAS,WAAA;YACT,QAAQ,UAAA;YACR,GAAG,EAAE,CAAC;SACK,CAAC;IAChB,EAAE;QAEW,oBAAoB,GAAG,UAAC,UAAsB,EAAE,IAAY;;QACvE,IAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAC,EAAQ;gBAAN,IAAI,UAAA;YAAO,OAAA,IAAI,KAAK,IAAI;SAAA,CAAC,CAAC;QAEtE,IAAA,KAAA,OAAc,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,iBAAiB,0CAC7C,MAAM,CAAC,UAAC,EAAgB;gBAAd,YAAY,kBAAA;YAAO,OAAA,YAAY,KAAK,UAAU;SAAA,EACzD,MAAM,CACL,UAAC,GAAG,EAAE,EAAE;YACA,IAAA,KAAA,OAAwB,GAAG,IAAA,EAA1B,QAAQ,QAAA,EAAE,SAAS,QAAO,CAAC;YAClC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;SAC3D,EACD,CAAC,CAAC,EAAE,CAAC,CAAC,CACP,mCAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,EARN,GAAG,QAAA,EAAE,IAAI,QAQH,CAAC;QAEd,OAAO,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC;IACvB;;;;;;;;;;;;;;;;;;;QC7IE,wBAAY,GAAa;YACvB,IAAI,CAAC,EAAE,qBAAQ,GAAG,CAAE,CAAC;SACtB;QAEM,+BAAM,GAAN,UAAO,QAAgB,EAAE,QAAkB;YAChD,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;SACxE;QAEM,+BAAM,GAAN,UAAO,EAAU;YACtB,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SACxD;QAEM,gCAAO,GAAP,UAAQ,SAAmB;YAChC,OAAO,IAAI,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;SAChE;QAEM,uCAAc,GAAd,UAAe,KAAqC,EAAE,EAAW;YACtE,OAAO,IAAI,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;SAC9E;6BACF;KAAA;;;QCYC,8BACU,iBAAoC,EACpC,cAA2C,EAC3C,cAA8B,EAC9B,uBAAgD,EAChD,cAA8B,EAC9B,aAA4B;YAL5B,sBAAiB,GAAjB,iBAAiB,CAAmB;YACpC,mBAAc,GAAd,cAAc,CAA6B;YAC3C,mBAAc,GAAd,cAAc,CAAgB;YAC9B,4BAAuB,GAAvB,uBAAuB,CAAyB;YAChD,mBAAc,GAAd,cAAc,CAAgB;YAC9B,kBAAa,GAAb,aAAa,CAAe;YAf9B,SAAI,GAAG2B,sBAAiB,CAAC,MAAM,CAAC;YAChC,WAAM,GAAgB,EAAE,CAAC;YAEzB,aAAQ,GAAG,IAAIvB,oBAAe,CAAuB,SAAS,CAAC,CAAC;YAChE,YAAO,GAAG,IAAIA,oBAAe,CAAqB,EAAE,CAAC,CAAC;YACtD,eAAU,GAAG,IAAIA,oBAAe,CAAgC,EAAE,CAAC,CAAC;YAErE,sBAAiB,GAAG,KAAK,CAAC;SAS7B;QAEG,oCAAK,GAAL;YACL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1B;QAEM,qCAAM,GAAN,UAAO,QAAkB;YAAzB,iBA6BN;YA5BC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACxB,OAAOwB,eAAU,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,2BAA2B,CAAC,GAAA,CAAC,CAAC;aACjE;YAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB;kBAC5C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;kBAC1D,SAAS,CAAC;YAEd,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAC1BhB,oBAAU,CAAC,UAAA,KAAK;gBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAErB,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,qBAAqB,EAAE;oBACrE,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;iBAChE;;gBAGD,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,KAAK,qBAAQ,KAAI,CAAC,QAAQ,CAAC,KAAK,IAAK,SAAS,CAAC,CAAC;gBAEjF,OAAOgB,eAAU,CAAC,cAAM,OAAA,KAAK,GAAA,CAAC,CAAC;aAChC,CAAC,EACFtB,aAAG,CAAC;gBACF,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE;oBAC3B,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;iBAC/B;aACF,CAAC,CACH,CAAC;SACH;QAEM,oCAAK,GAAL,UAAM,QAAkB;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;SACnC;QAEM,kDAAmB,GAAnB,UAAoB,MAA4B;YACrD,IAAI,CAAC,MAAM,mCACN,IAAI,CAAC,MAAM,GACX,MAAM,CACV,CAAC;SACH;QAEM,kCAAG,GAAH;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAACc,gBAAW,EAAE,CAAC,CAAC;SACzD;QAEM,0CAAW,GAAX;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,qBAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAK,SAAS,CAAC;SACrE;QAEM,8CAAe,GAAf;YACL,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;SACzC;QAEM,gDAAiB,GAAjB;YACL,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;SAC3C;QAED,sBAAW,iDAAe;iBAA1B;gBACE,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACtC;;;WAAA;QAED,sBAAW,0CAAQ;iBAAnB;gBACE,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;aACvC;;;WAAA;QAED,sBAAW,0CAAQ;iBAAnB;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;aACpC;;;WAAA;QAED,sBAAW,iDAAe;iBAA1B;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;aAC3B;;;WAAA;QAED,sBAAW,6CAAW;iBAAtB;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;aACvC;;;WAAA;QAED,sBAAW,oDAAkB;iBAA7B;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAC9B;;;WAAA;QAEM,wCAAS,GAAT;YAAA,iBAqCN;;YApCC,IAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE;gBACpC,OAAOQ,eAAU,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,uCAAuC,CAAC,GAAA,CAAC,CAAC;aAC7E;YAED,IAAM,sBAAsB,oCACtB,MAAA,MAAA,cAAc,CAAC,YAAY,0CAAE,UAAU,mCAAI,EAAE,KAC7C,MAAA,IAAI,CAAC,cAAc,CAAC,sBAAsB,mCAAI,EAAE,EACrD,CAAC;YACF,IAAM,GAAG,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,mBAAmB,0CAAE,UAAU,CAAC;YAChE,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,mCAAI,kBAAkB,CAAC,cAAc,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACjH,IAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE1D,IAAM,kBAAkB,GAAG,MAAA,cAAc,CAAC,UAAU,0CAAE,cAAc,CAAC;YACrE,IAAM,cAAc,GAAG,kBAAkB,GAAG,kBAAkB,KAAK,MAAM,GAAG,sBAAsB,CAAC,cAAc,CAAC;YAElH,OAAO,IAAI,CAAC,uBAAuB;iBAChC,iBAAiB,CAAC,EAAE,oBAAoB,sBAAA,EAAE,YAAY,cAAA,EAAE,cAAc,gBAAA,EAAE,CAAC;iBACzE,IAAI,CACHnB,aAAG,CAAC,UAAC,EAA4D;oBAA1D,QAAQ,cAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,gBAAgB,sBAAA;gBAC7D,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;gBAC1C,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;gBACjC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;gBACvC,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAE;oBAC5B,KAAI,CAAC,gCAAgC,EAAE,CAAC;iBACzC;gBACD,OAAO,QAAQ,CAAC;aACjB,CAAC,CACH;iBACA,IAAI,CACHH,aAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,IAAI,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAA,CAAC,EACzDM,oBAAU,CAAC,UAAA,KAAK,IACd,OAAAgB,eAAU,CAAC,sBAAM,OAAA,IAAI,KAAK,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,OAAO,KAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA,EAAA,CAAC,GAAA,CAC5F,CACF,CAAC;SACL;QAEM,iDAAkB,GAAlB,UAAmB,SAAiB,EAAE,GAAY;YAAlD,iBAcN;YAbC,IAAI,CAAC,mBAAmB,CAAC;gBACvB,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,YAAY;aAClD,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,WAAA,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAClEd,mBAAS,CAAC,cAAM,OAAA,KAAI,CAAC,SAAS,EAAE,GAAA,CAAC,EACjCS,eAAK,EAAE,EACPX,oBAAU,CAAC,UAAA,KAAK;gBACd,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAEiB,oBAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvE,MAAM,KAAK,CAAC;aACb,CAAC,EACFC,kBAAQ,CAAC,cAAM,OAAA,KAAI,CAAC,KAAK,EAAE,GAAA,CAAC,CAC7B,CAAC;SACH;QAEO,4CAAa,GAAb,UAAc,QAAkB;YACtC,OAAO;gBACL,QAAQ,UAAA;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG3B,mBAAW,CAAC,KAAK,GAAGA,mBAAW,CAAC,MAAM;gBACnE,mBAAmB,EAAE,KAAK;gBAC1B,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;gBACtC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE;gBACzC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;aACzB,CAAC;SACH;QAEO,+DAAgC,GAAhC;YAAA,iBAwBP;YAvBC,IAAI,CAAC,aAAa;iBACf,IAAI,CAAC4B,gCAAqB,EAAE;gBAC3B,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,4BAA4B;gBACpC,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,kBAAkB,EAAE;wBAClB,KAAK,EAAE,GAAG;wBACV,WAAW,EAAE,oEAAoE;wBACjF,SAAS,EAAE,iBAAiB;wBAC5B,SAAS,EAAE,eAAe;qBAC3B;iBACF;aACF,CAAC;iBACD,OAAO,CAAC,SAAS,CAAC,UAAA,MAAM;gBACvB,IAAI,CAAC,MAAM,EAAE;oBACX,IAAM,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACxD;aACF,CAAC,CAAC;SACN;;;4IA1MU,oBAAoB;gJAApB,oBAAoB;sHAApB,oBAAoB;sBADhCrB,aAAU;;;;QClBX;;QACS,kCAAM,GAAN,UAAO,aAAyB,EAAE,OAA2B;YAA7D,iBAoCN;YAnCC,IAAI,gBAAgB,4BAAO,OAAO,EAAC,CAAC;YACpC,IAAI,YAAY,GAAG,aAAa,CAAC;YAEjC,OAAO,YAAY,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE;gBACrD,YAAY,CAAC,OAAO,CAAC,UAAA,EAAE;oBACrB,IAAM,gBAAgB,GAAuB,EAAE,CAAC;oBAEhD,gBAAgB,CAAC,OAAO,CAAC,UAAA,MAAM;wBAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;wBAEpB,QAAQ,MAAM,CAAC,QAAQ;4BACrB,KAAK,UAAU;gCACb,OAAO,GAAG,KAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gCAC/C,MAAM;4BACR,KAAK,QAAQ;gCACX,OAAO,GAAG,KAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gCAC7C,MAAM;4BACR,KAAK,cAAc;gCACjB,OAAO,GAAG,KAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gCAClD,MAAM;4BACR;;gCAEE,OAAO,GAAG,IAAI,CAAC;yBAClB;wBAED,IAAI,CAAC,OAAO,EAAE;4BACZ,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBAC/B;qBACF,CAAC,CAAC;oBAEH,gBAAgB,GAAG,gBAAgB,CAAC;iBACrC,CAAC,CAAC;gBAEH,YAAY,GAAGe,cAAO,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,GAAA,CAAC,CAAC,CAAC;aACtE;SACF;QAEM,kCAAM,GAAN,UAAO,SAAqB,EAAE,EAAU;YAC7C,IAAM,WAAW,GAAa,CAAC,EAAE,CAAC,CAAC;YACnC,IAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;YAE5D,IAAI,gBAAgB,EAAE;;;gBAGpB,IAAI,mBAAiB,GAAyB,gBAAgB,CAAC;gBAE/D,OAAO,mBAAiB,EAAE;oBACxB,mBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,mBAAiB,IAAI,EAAE,CAAC,cAAc,KAAK,mBAAiB,CAAC,EAAE,GAAA,CAAC,CAAC;oBAC1G,IAAI,mBAAiB,EAAE;wBACrB,WAAW,CAAC,IAAI,CAAC,mBAAiB,CAAC,EAAE,CAAC,CAAC;qBACxC;iBACF;aACF;YAED,IAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,UAAA,QAAQ,IAAI,OAAA,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAA,CAAC,CAAC;YAClF,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAA,CAAC,CAAC;SAC7E;QAEO,+CAAmB,GAAnB,UAAoB,QAAkB,EAAE,MAAwB;YACtE,IAAI,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;gBAC7B,OAAO,KAAK,CAAC;aACd;YAED,QAAQ,MAAM,CAAC,aAAa;gBAC1B,KAAK,KAAK;oBACR,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC/B,MAAM;gBACR,KAAK,sBAAsB;oBACzB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAGO,0BAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAGA,0BAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC3E,MAAM;gBACR,KAAK,kBAAkB;oBACrB;wBACQ,IAAA,KAAA,OAAW,QAAQ,CAAC,WAAW,IAAA,EAA9B,MAAM,QAAwB,CAAC;wBACtC,IAAI,MAAM,EAAE;4BACV,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;yBAC1C;qBACF;oBACD,MAAM;gBACR,KAAK,uBAAuB;oBAC1B;wBACQ,IAAA,KAAA,OAAW,QAAQ,CAAC,WAAW,IAAA,EAA9B,MAAM,QAAwB,CAAC;wBACtC,IAAI,MAAM,EAAE;4BACV,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC;yBAC9C;qBACF;oBACD,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,qDAAmD,MAAM,CAAC,aAAe,CAAC,CAAC;aAC9F;YAED,OAAO,IAAI,CAAC;SACb;QAEO,6CAAiB,GAAjB,UAAkB,QAAkB,EAAE,MAAwB;YACpE,IAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAC,EAAM;oBAAJ,EAAE,QAAA;gBAAO,OAAA,EAAE,KAAK,MAAM,CAAC,EAAE;aAAA,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,KAAK,CAAC;aACd;YAED,IAAI,MAAM,CAAC,aAAa,KAAK,kBAAkB,EAAE;gBAC/C,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC/C;iBAAM,IAAI,MAAM,CAAC,aAAa,KAAK,uBAAuB,EAAE;gBAC3D,WAAW,CAAC,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC;aACnD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,wDAAsD,MAAM,CAAC,aAAe,CAAC,CAAC;aAC/F;YAED,OAAO,IAAI,CAAC;SACb;QAEO,kDAAsB,GAAtB,UAAuB,QAAkB,EAAE,MAAwB;YACzE,IAAM,gBAAgB,GAAGC,qBAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACnF,IAAI,CAAC,gBAAgB,EAAE;gBACrB,OAAO,KAAK,CAAC;aACd;YAED,IAAI,MAAM,CAAC,aAAa,KAAK,kBAAkB,EAAE;gBAC/C,gBAAgB,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;aACpD;iBAAM,IAAI,MAAM,CAAC,aAAa,KAAK,uBAAuB,EAAE;gBAC3D,gBAAgB,CAAC,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC;aACxD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,8DAA4D,MAAM,CAAC,aAAe,CAAC,CAAC;aACrG;YAED,OAAO,IAAI,CAAC;SACb;;;yIAlIU,iBAAiB;6IAAjB,iBAAiB;sHAAjB,iBAAiB;sBAD7BvB,aAAU;;;;QCKT,kCACU,oBAA0C,EAC1C,cAA8B,EAC9B,iBAAoC,EACpC,aAAgC,EAChC,oBAA0C;YAJ1C,yBAAoB,GAApB,oBAAoB,CAAsB;YAC1C,mBAAc,GAAd,cAAc,CAAgB;YAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;YACpC,kBAAa,GAAb,aAAa,CAAmB;YAChC,yBAAoB,GAApB,oBAAoB,CAAsB;SAChD;QAEG,6CAAU,GAAV,UAAW,UAAsB;YAAjC,iBAYN;YAXC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CACtDJ,QAAG,CAAC,UAAA,MAAM;;gBAER,IAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,aAAa,GAAA,CAAC,CAAC;gBACxF,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;qBACtC,KAAK,EAAE;qBACP,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,GAAA,CAAC,CAAC;gBACvG,KAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;aACjD,CAAC,EACFG,QAAG,CAACQ,SAAI,CAAC,CACV,CAAC;SACH;QAEM,4CAAS,GAAT,UAAU,UAAsB;YACrC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;SACzC;QAEM,0CAAO,GAAP,UAAQ,OAA2B;YAAnC,iBAiBN;YAhBC,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAErD,IAAI,CAAC,UAAU,EAAE;gBACf,OAAOJ,OAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,OAAOA,OAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAChBJ,QAAG,CAAC;gBACF,IAAM,YAAY,GAAGyB,gBAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACxD,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,YAAY,CAAC;aACrB,CAAC,EACFpB,cAAS,CAAC,UAAA,YAAY,IAAI,OAAA,KAAI,CAAC,UAAU,iCAAM,UAAU,KAAE,YAAY,EAAE,YAAY,IAAG,GAAA,CAAC,EACzFL,QAAG,CAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,UAAU,GAAA,CAAC,EAC5C,IAAI,CAAC,wBAAwB,EAAE,CAChC,CAAC;SACH;QAEM,yCAAM,GAAN,UAAO,OAA2B;YACvC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;SACnC;QAEM,0CAAO,GAAP,UAAQ,UAAkB;YAA1B,iBA2BN;YA1BC,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YACrD,IAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;YAC5E,IAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;YAE/D,IAAM,oBAAoB,GAAG,YAAY,CAAC,SAAS,CAAC,UAAC,EAAM;oBAAJ,EAAE,QAAA;gBAAO,OAAA,EAAE,KAAK,UAAU;aAAA,CAAC,CAAC;YACnF,IAAM,eAAe,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;YAE3D,IAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAC9C,UAAC,EAAiB;oBAAf,aAAa,mBAAA;gBAAO,OAAA,aAAa,MAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,CAAA;aAAA,CACxE,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,EAAE;gBACvD,OAAOI,OAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,IAAM,YAAY,GAAGqB,gBAAS,CAAC,YAAY,CAAC,CAAC;YAC7C,YAAY,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;YAE9D,OAAOrB,OAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAChBP,QAAG,CAAC;gBACF,KAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;aAC9D,CAAC,EACFQ,cAAS,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,iCAAM,UAAU,KAAE,YAAY,EAAE,YAAY,IAAG,GAAA,CAAC,EAC/EL,QAAG,CAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,UAAU,GAAA,CAAC,EAC5C,IAAI,CAAC,wBAAwB,EAAE,CAChC,CAAC;SACH;QAEM,yCAAM,GAAN,UAAO,UAAkB;YAC9B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;SACtC;QAEM,0CAAO,GAAP,UAAQ,GAAa;YAArB,iBAcN;YAbC,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YACrD,IAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAEzD,IAAI,CAAC,UAAU,EAAE;gBACf,OAAOI,OAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,OAAOA,OAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAChBJ,QAAG,CAAC,cAAM,OAAA,GAAG,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,EAAE,IAAK,OAAA,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAA,EAAE,YAAY,CAAC,GAAA,CAAC,EAC1FK,cAAS,CAAC,UAAA,YAAY,IAAI,OAAA,KAAI,CAAC,UAAU,iCAAM,UAAU,KAAE,YAAY,EAAE,YAAY,IAAG,GAAA,CAAC,EACzFL,QAAG,CAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,UAAU,GAAA,CAAC,EAC5C,IAAI,CAAC,wBAAwB,EAAE,CAChC,CAAC;SACH;QAEM,yCAAM,GAAN,UAAO,GAAa;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;SAC/B;QAEM,2CAAQ,GAAR,UAAS,IAAc;YAAvB,iBAcN;YAbC,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAErD,IAAI,CAAC,UAAU,EAAE;gBACf,OAAOI,OAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,IAAM,YAAY,0CAAO,UAAU,CAAC,YAAY,KAAE,IAAI,EAAC,CAAC;YAExD,OAAOA,OAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAChBC,cAAS,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,iCAAM,UAAU,KAAE,YAAY,EAAE,YAAY,IAAG,GAAA,CAAC,EAC/EL,QAAG,CAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,UAAU,GAAA,CAAC,EAC5C,IAAI,CAAC,wBAAwB,EAAE,CAChC,CAAC;SACH;QAEM,6CAAU,GAAV,UAAW,SAAiB,EAAE,GAAY;YAA1C,iBAaN;YAZC,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAErD,IAAI,CAAC,UAAU,EAAE;gBACf,OAAOI,OAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CACtEJ,QAAG,CAAC,UAAA,QAAQ,IAAI,8CAAI,UAAU,CAAC,YAAY,KAAE,QAAQ,KAAC,CAAC,EACvDK,cAAS,CAAC,UAAA,YAAY,IAAI,OAAA,KAAI,CAAC,UAAU,iCAAM,UAAU,KAAE,YAAY,EAAE,YAAY,IAAG,GAAA,CAAC,EACzFL,QAAG,CAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,UAAU,GAAA,CAAC,EAC5C,IAAI,CAAC,wBAAwB,EAAE,CAChC,CAAC;SACH;QAEM,sCAAG,GAAH;YAAA,iBAKN;YAJC,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAC5CA,QAAG,CAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,GAAA,CAAC,EACpDW,gBAAW,EAAE,CACd,CAAC;SACH;QAEM,8CAAW,GAAX;;YACL,OAAO,MAAA,MAAA,IAAI,CAAC,iBAAiB,0CAAE,YAAY,CAAC,KAAK,EAAE,mCAAI,EAAE,CAAC;SAC3D;QAED,sBAAW,8CAAQ;iBAAnB;gBACE,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAACX,QAAG,CAAC,UAAC,EAAW;wBAAT,OAAO,aAAA;oBAAO,OAAA,OAAO;iBAAA,CAAC,CAAC,CAAC;aAC/E;;;WAAA;QAED,sBAAW,iDAAW;iBAAtB;gBACE,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAACA,QAAG,CAAC,UAAC,EAAc;wBAAZ,UAAU,gBAAA;oBAAO,OAAA,UAAU;iBAAA,CAAC,CAAC,CAAC;aACrF;;;WAAA;QAED,sBAAW,qDAAe;iBAA1B;;gBACE,OAAO,MAAA,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,0CAAE,OAAO,mCAAI,EAAE,CAAC;aACzD;;;WAAA;QAED,sBAAW,wDAAkB;iBAA7B;;gBACE,OAAO,MAAA,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,0CAAE,UAAU,mCAAI,EAAE,CAAC;aAC5D;;;WAAA;QAED,sBAAW,qDAAe;iBAA1B;gBACE,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACtC;;;WAAA;QAED,sBAAW,8CAAQ;iBAAnB;gBACE,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;aACvC;;;WAAA;QAEO,2DAAwB,GAAxB;YAAA,iBAgBP;YAfC,OAAO,UAAI,OAAsB;gBAC/B,OAAO,OAAO,CAAC,IAAI,CACjBG,eAAU,CAAC,UAAA,KAAK;oBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;oBAGrB,IAAM,UAAU,GAAG,KAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;oBACrD,IAAI,UAAU,EAAE;wBACd,KAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;qBACrD;oBAED,OAAOgB,eAAU,CAAC,cAAM,OAAA,KAAK,GAAA,CAAC,CAAC;iBAChC,CAAC,CACH,CAAC;aACH,CAAC;SACH;;;gJAzLU,wBAAwB;oJAAxB,wBAAwB;sHAAxB,wBAAwB;sBADpClB,aAAU;;;;QCDX;;;;+IAAa,uBAAuB;gJAAvB,uBAAuB;gJAAvB,uBAAuB,aAFvB,CAAC,wBAAwB,EAAE,iBAAiB,EAAEyB,kBAAe,CAAC,YADhE,EAAE;sHAGA,uBAAuB;sBAJnCC,WAAQ;uBAAC;wBACR,OAAO,EAAE,EAAE;wBACX,SAAS,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,EAAED,kBAAe,CAAC;qBAC1E;;;ICUD;QAAA;;;;2IAAa,mBAAmB;4IAAnB,mBAAmB,YAVpBE,mCAAwB;4IAUvB,mBAAmB,aATnB;YACTC,oBAAiB;YACjBC,yBAAsB;YACtBC,0BAAuB;YACvB,2BAA2B;YAC3B,qBAAqB;YACrB,oBAAoB;SACrB,YARQ,CAACH,mCAAwB,CAAC;sHAUxB,mBAAmB;sBAX/BD,WAAQ;uBAAC;wBACR,OAAO,EAAE,CAACC,mCAAwB,CAAC;wBACnC,SAAS,EAAE;4BACTC,oBAAiB;4BACjBC,yBAAsB;4BACtBC,0BAAuB;4BACvB,2BAA2B;4BAC3B,qBAAqB;4BACrB,oBAAoB;yBACrB;qBACF;;;;QCRD;;;;qIAAa,aAAa;sIAAb,aAAa,YAHd,mBAAmB,EAAE,uBAAuB;sIAG3C,aAAa,aAFb,CAAC,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,YAD3D,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;sHAG5C,aAAa;sBAJzBJ,WAAQ;uBAAC;wBACR,OAAO,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;wBACvD,SAAS,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,CAAC;qBACrE;;;ICRD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|