@veloceapps/sdk 11.0.0-98 → 12.0.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/cms/vendor-map.d.ts +6 -2
  2. package/core/modules/configuration/services/configuration-state.service.d.ts +3 -2
  3. package/core/modules/configuration/services/guided-selling.service.d.ts +1 -1
  4. package/core/modules/configuration/services/test-mode-configuration.service.d.ts +4 -1
  5. package/core/modules/configuration/types/configuration.types.d.ts +4 -0
  6. package/core/services/flow-info.service.d.ts +5 -5
  7. package/core/services/flow-state-configuration.service.d.ts +7 -2
  8. package/core/utils/index.d.ts +1 -0
  9. package/core/utils/pcm.utils.d.ts +5 -0
  10. package/core/utils/transaction-item.utils.d.ts +5 -2
  11. package/esm2020/cms/vendor-map.mjs +7 -3
  12. package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +21 -18
  13. package/esm2020/core/modules/configuration/services/configuration.service.mjs +4 -6
  14. package/esm2020/core/modules/configuration/services/guided-selling.service.mjs +9 -9
  15. package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +34 -11
  16. package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
  17. package/esm2020/core/services/flow-info.service.mjs +14 -14
  18. package/esm2020/core/services/flow-state-configuration.service.mjs +70 -33
  19. package/esm2020/core/utils/index.mjs +2 -1
  20. package/esm2020/core/utils/pcm.utils.mjs +15 -0
  21. package/esm2020/core/utils/transaction-item.utils.mjs +82 -6
  22. package/esm2020/src/guards/product-unload.guard.mjs +4 -2
  23. package/esm2020/src/pages/product/product.component.mjs +37 -10
  24. package/esm2020/src/resolvers/ui-definition.resolver.mjs +7 -5
  25. package/esm2020/src/services/flow-router.service.mjs +10 -10
  26. package/fesm2015/veloceapps-sdk-cms.mjs +5 -1
  27. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  28. package/fesm2015/veloceapps-sdk-core.mjs +221 -77
  29. package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
  30. package/fesm2015/veloceapps-sdk.mjs +49 -19
  31. package/fesm2015/veloceapps-sdk.mjs.map +1 -1
  32. package/fesm2020/veloceapps-sdk-cms.mjs +5 -1
  33. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  34. package/fesm2020/veloceapps-sdk-core.mjs +231 -84
  35. package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
  36. package/fesm2020/veloceapps-sdk.mjs +48 -19
  37. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  38. package/package.json +4 -4
  39. package/src/pages/product/product.component.d.ts +12 -3
  40. package/src/resolvers/ui-definition.resolver.d.ts +1 -1
  41. package/src/services/flow-router.service.d.ts +3 -3
@@ -1,8 +1,9 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { map, noop, of, switchMap } from 'rxjs';
2
+ import { PCMApiService } from '@veloceapps/api/v2';
3
+ import { map, noop, of, switchMap, tap } from 'rxjs';
3
4
  import { ConfigurationService } from '../modules/configuration/services/configuration.service';
4
5
  import { FlowConfigurationService } from '../modules/flow-configuration/services/flow-configuration.service';
5
- import { generateTransactionItem } from '../utils/transaction-item.utils';
6
+ import { generateTransactionItem, updateQuantity } from '../utils';
6
7
  import { FlowInfoService } from './flow-info.service';
7
8
  import { FlowStateService } from './flow-state.service';
8
9
  import { SalesTransactionService } from './sales-transaction.service';
@@ -12,13 +13,39 @@ import * as i2 from "./flow-state.service";
12
13
  import * as i3 from "../modules/configuration/services/configuration.service";
13
14
  import * as i4 from "./sales-transaction.service";
14
15
  import * as i5 from "../modules/flow-configuration/services/flow-configuration.service";
16
+ import * as i6 from "@veloceapps/api/v2";
15
17
  export class FlowStateConfigurationService {
16
- constructor(flowInfoService, flowStateService, configurationService, salesTransactionService, flowConfigurationService) {
18
+ constructor(flowInfoService, flowStateService, configurationService, salesTransactionService, flowConfigurationService, pcmApiService) {
17
19
  this.flowInfoService = flowInfoService;
18
20
  this.flowStateService = flowStateService;
19
21
  this.configurationService = configurationService;
20
22
  this.salesTransactionService = salesTransactionService;
21
23
  this.flowConfigurationService = flowConfigurationService;
24
+ this.pcmApiService = pcmApiService;
25
+ this.pcmCache = {};
26
+ }
27
+ updateQuantity$(props) {
28
+ const allItems = this.salesTransactionService.state?.salesTransaction?.salesTransactionItems ?? [];
29
+ const ti = allItems.find(item => item.id === props.id);
30
+ if (!ti) {
31
+ return of(undefined);
32
+ }
33
+ return this.getPCMProduct$(ti.productId).pipe(map(pcm => updateQuantity(ti, props.qty, pcm)), switchMap(updatedTi => {
34
+ const state = this.salesTransactionService.state;
35
+ if (!state) {
36
+ return of(undefined);
37
+ }
38
+ const updatedState = {
39
+ ...state,
40
+ salesTransaction: {
41
+ ...state.salesTransaction,
42
+ salesTransactionItems: state.salesTransaction.salesTransactionItems.map(item => {
43
+ return updatedTi.id === item.id ? updatedTi : item;
44
+ }),
45
+ },
46
+ };
47
+ return this.flowConfigurationService.calculate$(updatedState);
48
+ }), switchMap(() => this.flowStateService.executeRequest$({}, true)), map(noop));
22
49
  }
23
50
  addToCart$(props) {
24
51
  let request$;
@@ -39,45 +66,55 @@ export class FlowStateConfigurationService {
39
66
  return request$.pipe(switchMap(() => this.flowStateService.executeRequest$({}, true)), map(noop));
40
67
  }
41
68
  configureExternal$(props) {
42
- const { state } = this.salesTransactionService;
43
- if (!state) {
44
- return of();
45
- }
46
- const stateToConfigure = {
47
- ...state,
48
- salesTransaction: {
49
- ...state.salesTransaction,
50
- salesTransactionItems: [
51
- {
52
- ...generateTransactionItem(props.productId),
53
- qty: props.qty ?? 1,
54
- attributes: Object.entries(props.attributesMap ?? {}).map(([attributeName, value]) => ({
55
- attributeName,
56
- value,
57
- })),
58
- },
59
- ],
60
- },
61
- };
62
- return this.configurationService.justConfigureRequest$(stateToConfigure).pipe(switchMap(configurationResult => {
63
- const state = this.salesTransactionService.state;
64
- const addedProduct = configurationResult.salesTransaction.salesTransactionItems[0];
65
- if (!state || !addedProduct) {
69
+ return this.getPCMProduct$(props.productId).pipe(switchMap(pcm => {
70
+ const { state } = this.salesTransactionService;
71
+ if (!state) {
66
72
  return of();
67
73
  }
68
- return this.flowConfigurationService.calculate$({
74
+ const stateToConfigure = {
69
75
  ...state,
70
76
  salesTransaction: {
71
77
  ...state.salesTransaction,
72
- salesTransactionItems: [...state.salesTransaction.salesTransactionItems, addedProduct],
78
+ salesTransactionItems: [
79
+ {
80
+ ...generateTransactionItem(pcm, this.configurationService.state?.salesTransaction.id, props.qty ?? 1),
81
+ stiAttributes: Object.entries(props.attributesMap ?? {}).map(([attributeName, value]) => ({
82
+ attributeName,
83
+ value,
84
+ })),
85
+ },
86
+ ],
73
87
  },
74
- });
88
+ };
89
+ return this.configurationService.justConfigureRequest$(stateToConfigure).pipe(switchMap(configurationResult => {
90
+ const state = this.salesTransactionService.state;
91
+ const addedProduct = configurationResult.salesTransaction.salesTransactionItems[0];
92
+ if (!state || !addedProduct) {
93
+ return of();
94
+ }
95
+ return this.flowConfigurationService.calculate$({
96
+ ...state,
97
+ salesTransaction: {
98
+ ...state.salesTransaction,
99
+ salesTransactionItems: [...state.salesTransaction.salesTransactionItems, addedProduct],
100
+ },
101
+ });
102
+ }));
75
103
  }));
76
104
  }
105
+ getPCMProduct$(productId) {
106
+ const cached = this.pcmCache[productId];
107
+ if (cached) {
108
+ return of(cached);
109
+ }
110
+ return this.pcmApiService
111
+ .fetchPCMByProductId(productId)
112
+ .pipe(tap(pcmProduct => (this.pcmCache[productId] = pcmProduct)));
113
+ }
77
114
  }
78
- FlowStateConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowStateConfigurationService, deps: [{ token: i1.FlowInfoService }, { token: i2.FlowStateService }, { token: i3.ConfigurationService }, { token: i4.SalesTransactionService }, { token: i5.FlowConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
115
+ FlowStateConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowStateConfigurationService, deps: [{ token: i1.FlowInfoService }, { token: i2.FlowStateService }, { token: i3.ConfigurationService }, { token: i4.SalesTransactionService }, { token: i5.FlowConfigurationService }, { token: i6.PCMApiService }], target: i0.ɵɵFactoryTarget.Injectable });
79
116
  FlowStateConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowStateConfigurationService });
80
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowStateConfigurationService, decorators: [{
81
118
  type: Injectable
82
- }], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.FlowStateService }, { type: i3.ConfigurationService }, { type: i4.SalesTransactionService }, { type: i5.FlowConfigurationService }]; } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1zdGF0ZS1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3NlcnZpY2VzL2Zsb3ctc3RhdGUtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFHdEUsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxZQUNVLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNsQyxvQkFBMEMsRUFDMUMsdUJBQWdELEVBQ2hELHdCQUFrRDtRQUpsRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUN6RCxDQUFDO0lBRUcsVUFBVSxDQUFDLEtBQTRCO1FBQzVDLElBQUksUUFBNkIsQ0FBQztRQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ2hFLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM5QyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNaLFFBQVEsR0FBRyxFQUFFLEVBQUUsQ0FBQzthQUNqQjtpQkFBTTtnQkFDTCxrQkFBa0I7Z0JBQ2xCLFFBQVEsR0FBRyxFQUFFLEVBQUUsQ0FBQzthQUNqQjtTQUNGO2FBQU07WUFDTCxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUNsQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFDaEUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBNEI7UUFDckQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxFQUFFLEVBQUUsQ0FBQztTQUNiO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBdUI7WUFDM0MsR0FBRyxLQUFLO1lBQ1IsZ0JBQWdCLEVBQUU7Z0JBQ2hCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQjtnQkFDekIscUJBQXFCLEVBQUU7b0JBQ3JCO3dCQUNFLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQzt3QkFDM0MsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQzt3QkFDbkIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzs0QkFDckYsYUFBYTs0QkFDYixLQUFLO3lCQUNOLENBQUMsQ0FBb0M7cUJBQ3ZDO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQzNFLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7WUFDakQsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDM0IsT0FBTyxFQUFFLEVBQUUsQ0FBQzthQUNiO1lBRUQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDO2dCQUM5QyxHQUFHLEtBQUs7Z0JBQ1IsZ0JBQWdCLEVBQUU7b0JBQ2hCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQjtvQkFDekIscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUM7aUJBQ3ZGO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OzBIQXJFVSw2QkFBNkI7OEhBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FsZXNUcmFuc2FjdGlvbkl0ZW1BdHRyaWJ1dGUsIFRyYW5zYWN0aW9uQ29udGV4dCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBub29wLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmV3Q29uZmlndXJhdGlvblByb3BzIH0gZnJvbSAnLi4vbW9kdWxlcy9jb25maWd1cmF0aW9uL3R5cGVzL2NvbmZpZ3VyYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbW9kdWxlcy9mbG93LWNvbmZpZ3VyYXRpb24vc2VydmljZXMvZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0gfSBmcm9tICcuLi91dGlscy90cmFuc2FjdGlvbi1pdGVtLnV0aWxzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSB9IGZyb20gJy4vZmxvdy1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmxvd1N0YXRlU2VydmljZSB9IGZyb20gJy4vZmxvdy1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9zYWxlcy10cmFuc2FjdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dTdGF0ZUNvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmbG93SW5mb1NlcnZpY2U6IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dTdGF0ZVNlcnZpY2U6IEZsb3dTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYWxlc1RyYW5zYWN0aW9uU2VydmljZTogU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93Q29uZmlndXJhdGlvblNlcnZpY2U6IEZsb3dDb25maWd1cmF0aW9uU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBhZGRUb0NhcnQkKHByb3BzOiBOZXdDb25maWd1cmF0aW9uUHJvcHMpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBsZXQgcmVxdWVzdCQ6IE9ic2VydmFibGU8dW5rbm93bj47XG4gICAgY29uc3Qgc3RhdGVmdWwgPSB0aGlzLmZsb3dJbmZvU2VydmljZS5mbG93Py5wcm9wZXJ0aWVzLnN0YXRlZnVsO1xuICAgIGlmIChzdGF0ZWZ1bCkge1xuICAgICAgY29uc3Qgc3RhdGVJZCA9IHRoaXMuZmxvd1N0YXRlU2VydmljZS5zdGF0ZUlkO1xuICAgICAgaWYgKCFzdGF0ZUlkKSB7XG4gICAgICAgIHJlcXVlc3QkID0gb2YoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRPRE86IEltcGxlbWVudFxuICAgICAgICByZXF1ZXN0JCA9IG9mKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcXVlc3QkID0gdGhpcy5jb25maWd1cmVFeHRlcm5hbCQocHJvcHMpO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZmxvd1N0YXRlU2VydmljZS5leGVjdXRlUmVxdWVzdCQoe30sIHRydWUpKSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVFeHRlcm5hbCQocHJvcHM6IE5ld0NvbmZpZ3VyYXRpb25Qcm9wcyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHsgc3RhdGUgfSA9IHRoaXMuc2FsZXNUcmFuc2FjdGlvblNlcnZpY2U7XG4gICAgaWYgKCFzdGF0ZSkge1xuICAgICAgcmV0dXJuIG9mKCk7XG4gICAgfVxuICAgIGNvbnN0IHN0YXRlVG9Db25maWd1cmU6IFRyYW5zYWN0aW9uQ29udGV4dCA9IHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2FsZXNUcmFuc2FjdGlvbjoge1xuICAgICAgICAuLi5zdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLFxuICAgICAgICBzYWxlc1RyYW5zYWN0aW9uSXRlbXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5nZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbShwcm9wcy5wcm9kdWN0SWQpLFxuICAgICAgICAgICAgcXR5OiBwcm9wcy5xdHkgPz8gMSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IE9iamVjdC5lbnRyaWVzKHByb3BzLmF0dHJpYnV0ZXNNYXAgPz8ge30pLm1hcCgoW2F0dHJpYnV0ZU5hbWUsIHZhbHVlXSkgPT4gKHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB9KSkgYXMgU2FsZXNUcmFuc2FjdGlvbkl0ZW1BdHRyaWJ1dGVbXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuanVzdENvbmZpZ3VyZVJlcXVlc3QkKHN0YXRlVG9Db25maWd1cmUpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoY29uZmlndXJhdGlvblJlc3VsdCA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZS5zdGF0ZTtcbiAgICAgICAgY29uc3QgYWRkZWRQcm9kdWN0ID0gY29uZmlndXJhdGlvblJlc3VsdC5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtc1swXTtcbiAgICAgICAgaWYgKCFzdGF0ZSB8fCAhYWRkZWRQcm9kdWN0KSB7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5mbG93Q29uZmlndXJhdGlvblNlcnZpY2UuY2FsY3VsYXRlJCh7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgc2FsZXNUcmFuc2FjdGlvbjoge1xuICAgICAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgICAgIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogWy4uLnN0YXRlLnNhbGVzVHJhbnNhY3Rpb24uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zLCBhZGRlZFByb2R1Y3RdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
119
+ }], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.FlowStateService }, { type: i3.ConfigurationService }, { type: i4.SalesTransactionService }, { type: i5.FlowConfigurationService }, { type: i6.PCMApiService }]; } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1zdGF0ZS1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3NlcnZpY2VzL2Zsb3ctc3RhdGUtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRS9GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQUd0RSxNQUFNLE9BQU8sNkJBQTZCO0lBR3hDLFlBQ1UsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBQ2xDLG9CQUEwQyxFQUMxQyx1QkFBZ0QsRUFDaEQsd0JBQWtELEVBQ2xELGFBQTRCO1FBTDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBUjlCLGFBQVEsR0FBMkIsRUFBRSxDQUFDO0lBUzNDLENBQUM7SUFFRyxlQUFlLENBQUMsS0FBMEI7UUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsSUFBSSxFQUFFLENBQUM7UUFDbkcsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDUCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDOUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7WUFFakQsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN0QjtZQUVELE1BQU0sWUFBWSxHQUF1QjtnQkFDdkMsR0FBRyxLQUFLO2dCQUNSLGdCQUFnQixFQUFFO29CQUNoQixHQUFHLEtBQUssQ0FBQyxnQkFBZ0I7b0JBQ3pCLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQzdFLE9BQU8sU0FBUyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDckQsQ0FBQyxDQUFDO2lCQUNIO2FBQ0YsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFDaEUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQTRCO1FBQzVDLElBQUksUUFBNkIsQ0FBQztRQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ2hFLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM5QyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNaLFFBQVEsR0FBRyxFQUFFLEVBQUUsQ0FBQzthQUNqQjtpQkFBTTtnQkFDTCxrQkFBa0I7Z0JBQ2xCLFFBQVEsR0FBRyxFQUFFLEVBQUUsQ0FBQzthQUNqQjtTQUNGO2FBQU07WUFDTCxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUNsQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFDaEUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBNEI7UUFDckQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQzlDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNkLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7WUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQ2I7WUFFRCxNQUFNLGdCQUFnQixHQUF1QjtnQkFDM0MsR0FBRyxLQUFLO2dCQUNSLGdCQUFnQixFQUFFO29CQUNoQixHQUFHLEtBQUssQ0FBQyxnQkFBZ0I7b0JBQ3pCLHFCQUFxQixFQUFFO3dCQUNyQjs0QkFDRSxHQUFHLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQzs0QkFDckcsYUFBYSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQ0FDeEYsYUFBYTtnQ0FDYixLQUFLOzZCQUNOLENBQUMsQ0FBb0M7eUJBQ3ZDO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUMzRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRTtnQkFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQztnQkFDakQsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQzNCLE9BQU8sRUFBRSxFQUFFLENBQUM7aUJBQ2I7Z0JBRUQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDO29CQUM5QyxHQUFHLEtBQUs7b0JBQ1IsZ0JBQWdCLEVBQUU7d0JBQ2hCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQjt3QkFDekIscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUM7cUJBQ3ZGO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxTQUFpQjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbkI7UUFFRCxPQUFPLElBQUksQ0FBQyxhQUFhO2FBQ3RCLG1CQUFtQixDQUFDLFNBQVMsQ0FBQzthQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDOzswSEF6SFUsNkJBQTZCOzhIQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBDTUFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHsgUENNUHJvZHVjdCwgU2FsZXNUcmFuc2FjdGlvbkl0ZW1BdHRyaWJ1dGUsIFRyYW5zYWN0aW9uQ29udGV4dCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5ld0NvbmZpZ3VyYXRpb25Qcm9wcywgUXVhbnRpdHlDaGFuZ2VQcm9wcyB9IGZyb20gJy4uL21vZHVsZXMvY29uZmlndXJhdGlvbi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzJztcbmltcG9ydCB7IEZsb3dDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGdlbmVyYXRlVHJhbnNhY3Rpb25JdGVtLCB1cGRhdGVRdWFudGl0eSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSB9IGZyb20gJy4vZmxvdy1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmxvd1N0YXRlU2VydmljZSB9IGZyb20gJy4vZmxvdy1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9zYWxlcy10cmFuc2FjdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dTdGF0ZUNvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBwY21DYWNoZTogRGljdGlvbmFyeTxQQ01Qcm9kdWN0PiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93U3RhdGVTZXJ2aWNlOiBGbG93U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FsZXNUcmFuc2FjdGlvblNlcnZpY2U6IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlOiBGbG93Q29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwY21BcGlTZXJ2aWNlOiBQQ01BcGlTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHVwZGF0ZVF1YW50aXR5JChwcm9wczogUXVhbnRpdHlDaGFuZ2VQcm9wcyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IGFsbEl0ZW1zID0gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZS5zdGF0ZT8uc2FsZXNUcmFuc2FjdGlvbj8uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zID8/IFtdO1xuICAgIGNvbnN0IHRpID0gYWxsSXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHByb3BzLmlkKTtcblxuICAgIGlmICghdGkpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFBDTVByb2R1Y3QkKHRpLnByb2R1Y3RJZCkucGlwZShcbiAgICAgIG1hcChwY20gPT4gdXBkYXRlUXVhbnRpdHkodGksIHByb3BzLnF0eSwgcGNtKSksXG4gICAgICBzd2l0Y2hNYXAodXBkYXRlZFRpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXRlO1xuXG4gICAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVwZGF0ZWRTdGF0ZTogVHJhbnNhY3Rpb25Db250ZXh0ID0ge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgICAgIC4uLnN0YXRlLnNhbGVzVHJhbnNhY3Rpb24sXG4gICAgICAgICAgICBzYWxlc1RyYW5zYWN0aW9uSXRlbXM6IHN0YXRlLnNhbGVzVHJhbnNhY3Rpb24uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRUaS5pZCA9PT0gaXRlbS5pZCA/IHVwZGF0ZWRUaSA6IGl0ZW07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZsb3dDb25maWd1cmF0aW9uU2VydmljZS5jYWxjdWxhdGUkKHVwZGF0ZWRTdGF0ZSk7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmZsb3dTdGF0ZVNlcnZpY2UuZXhlY3V0ZVJlcXVlc3QkKHt9LCB0cnVlKSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0NhcnQkKHByb3BzOiBOZXdDb25maWd1cmF0aW9uUHJvcHMpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBsZXQgcmVxdWVzdCQ6IE9ic2VydmFibGU8dW5rbm93bj47XG4gICAgY29uc3Qgc3RhdGVmdWwgPSB0aGlzLmZsb3dJbmZvU2VydmljZS5mbG93Py5wcm9wZXJ0aWVzLnN0YXRlZnVsO1xuICAgIGlmIChzdGF0ZWZ1bCkge1xuICAgICAgY29uc3Qgc3RhdGVJZCA9IHRoaXMuZmxvd1N0YXRlU2VydmljZS5zdGF0ZUlkO1xuICAgICAgaWYgKCFzdGF0ZUlkKSB7XG4gICAgICAgIHJlcXVlc3QkID0gb2YoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRPRE86IEltcGxlbWVudFxuICAgICAgICByZXF1ZXN0JCA9IG9mKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcXVlc3QkID0gdGhpcy5jb25maWd1cmVFeHRlcm5hbCQocHJvcHMpO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZmxvd1N0YXRlU2VydmljZS5leGVjdXRlUmVxdWVzdCQoe30sIHRydWUpKSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVFeHRlcm5hbCQocHJvcHM6IE5ld0NvbmZpZ3VyYXRpb25Qcm9wcyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmdldFBDTVByb2R1Y3QkKHByb3BzLnByb2R1Y3RJZCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChwY20gPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXRlIH0gPSB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlO1xuICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGF0ZVRvQ29uZmlndXJlOiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgc2FsZXNUcmFuc2FjdGlvbjoge1xuICAgICAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgICAgIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0ocGNtLCB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnN0YXRlPy5zYWxlc1RyYW5zYWN0aW9uLmlkLCBwcm9wcy5xdHkgPz8gMSksXG4gICAgICAgICAgICAgICAgc3RpQXR0cmlidXRlczogT2JqZWN0LmVudHJpZXMocHJvcHMuYXR0cmlidXRlc01hcCA/PyB7fSkubWFwKChbYXR0cmlidXRlTmFtZSwgdmFsdWVdKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIH0pKSBhcyBTYWxlc1RyYW5zYWN0aW9uSXRlbUF0dHJpYnV0ZVtdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmp1c3RDb25maWd1cmVSZXF1ZXN0JChzdGF0ZVRvQ29uZmlndXJlKS5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcChjb25maWd1cmF0aW9uUmVzdWx0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZS5zdGF0ZTtcbiAgICAgICAgICAgIGNvbnN0IGFkZGVkUHJvZHVjdCA9IGNvbmZpZ3VyYXRpb25SZXN1bHQuc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXNbMF07XG4gICAgICAgICAgICBpZiAoIXN0YXRlIHx8ICFhZGRlZFByb2R1Y3QpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZsb3dDb25maWd1cmF0aW9uU2VydmljZS5jYWxjdWxhdGUkKHtcbiAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLFxuICAgICAgICAgICAgICAgIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogWy4uLnN0YXRlLnNhbGVzVHJhbnNhY3Rpb24uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zLCBhZGRlZFByb2R1Y3RdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQQ01Qcm9kdWN0JChwcm9kdWN0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UENNUHJvZHVjdD4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMucGNtQ2FjaGVbcHJvZHVjdElkXTtcbiAgICBpZiAoY2FjaGVkKSB7XG4gICAgICByZXR1cm4gb2YoY2FjaGVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wY21BcGlTZXJ2aWNlXG4gICAgICAuZmV0Y2hQQ01CeVByb2R1Y3RJZChwcm9kdWN0SWQpXG4gICAgICAucGlwZSh0YXAocGNtUHJvZHVjdCA9PiAodGhpcy5wY21DYWNoZVtwcm9kdWN0SWRdID0gcGNtUHJvZHVjdCkpKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
+ export * from './pcm.utils';
1
2
  export * from './transaction-item.utils';
2
3
  export * from './transaction-item.worker';
3
4
  export * from './ui-definition.utils';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbi1pdGVtLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24taXRlbS53b3JrZXInO1xuZXhwb3J0ICogZnJvbSAnLi91aS1kZWZpbml0aW9uLnV0aWxzJztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wY20udXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbi1pdGVtLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24taXRlbS53b3JrZXInO1xuZXhwb3J0ICogZnJvbSAnLi91aS1kZWZpbml0aW9uLnV0aWxzJztcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ export class PCMUtils {
2
+ static mapByPrcId(pcm) {
3
+ const map = {};
4
+ if (pcm.productRelatedComponent) {
5
+ map[pcm.productRelatedComponent.id] = pcm;
6
+ }
7
+ for (const group of pcm.productComponentGroups) {
8
+ for (const gc of group.components) {
9
+ Object.assign(map, PCMUtils.mapByPrcId(gc));
10
+ }
11
+ }
12
+ return map;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGNtLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS91dGlscy9wY20udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLFFBQVE7SUFDWixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQWU7UUFDdEMsTUFBTSxHQUFHLEdBQTJCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRTtZQUMvQixHQUFHLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUMzQztRQUNELEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLHNCQUFzQixFQUFFO1lBQzlDLEtBQUssTUFBTSxFQUFFLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdDO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBDTVByb2R1Y3QgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY2xhc3MgUENNVXRpbHMge1xuICBwdWJsaWMgc3RhdGljIG1hcEJ5UHJjSWQocGNtOiBQQ01Qcm9kdWN0KTogRGljdGlvbmFyeTxQQ01Qcm9kdWN0PiB7XG4gICAgY29uc3QgbWFwOiBEaWN0aW9uYXJ5PFBDTVByb2R1Y3Q+ID0ge307XG4gICAgaWYgKHBjbS5wcm9kdWN0UmVsYXRlZENvbXBvbmVudCkge1xuICAgICAgbWFwW3BjbS5wcm9kdWN0UmVsYXRlZENvbXBvbmVudC5pZF0gPSBwY207XG4gICAgfVxuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgcGNtLnByb2R1Y3RDb21wb25lbnRHcm91cHMpIHtcbiAgICAgIGZvciAoY29uc3QgZ2Mgb2YgZ3JvdXAuY29tcG9uZW50cykge1xuICAgICAgICBPYmplY3QuYXNzaWduKG1hcCwgUENNVXRpbHMubWFwQnlQcmNJZChnYykpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
- import { isDefined, UUID } from '@veloceapps/core';
1
+ import { isDefined, UUID, } from '@veloceapps/core';
2
2
  import { flatten } from 'lodash';
3
+ import { PCMUtils } from './pcm.utils';
3
4
  export const findTransactionItem = (id, items) => {
4
5
  return findTransactionItemWithComparator(items, (ti) => ti.id === id);
5
6
  };
@@ -51,10 +52,85 @@ export const replaceTransactionItem = (item, replaceTo) => {
51
52
  children: item.children.map(ti => replaceTransactionItem(ti, replaceTo)),
52
53
  };
53
54
  };
54
- export const generateTransactionItem = (productId) => {
55
- return {
56
- id: UUID.UUID(),
57
- productId,
55
+ export const generateTransactionItem = (option, salesTransactionId, qty, parentTi) => {
56
+ const newItem = generateTransactionItemFromPCM(option, salesTransactionId, parentTi);
57
+ // propagate Proportional quantities to children
58
+ const updatedNewItem = updateQuantity(newItem, qty ?? newItem.qty, option, parentTi?.qty);
59
+ return updatedNewItem;
60
+ };
61
+ export const generateTransactionItemFromPCM = (option, salesTransactionId, parentTi) => {
62
+ const childId = UUID.UUID();
63
+ const newItem = {
64
+ id: childId,
65
+ productId: option.id,
66
+ productName: option.name,
67
+ productCode: option.productCode,
68
+ productRelatedComponentId: option.productRelatedComponent?.id,
69
+ stiAttributes: [],
70
+ attributes: {
71
+ ParentReference: salesTransactionId,
72
+ ItemPath: option.id,
73
+ SalesTransactionItemSource: childId,
74
+ SalesTransactionItemParent: salesTransactionId,
75
+ ProductSellingModel: option.productSellingModelOptions?.[0]?.productSellingModel.id,
76
+ },
77
+ qty: option.productRelatedComponent?.quantity ?? 1,
78
+ };
79
+ if (parentTi) {
80
+ newItem.parentId = parentTi.id;
81
+ }
82
+ newItem.children = option.productComponentGroups.reduce((acc, group) => {
83
+ group.components.forEach(component => {
84
+ if (component.productRelatedComponent?.isComponentRequired ||
85
+ component.productRelatedComponent?.isDefaultComponent) {
86
+ acc.push(generateTransactionItemFromPCM(component, salesTransactionId, newItem));
87
+ }
88
+ });
89
+ return acc;
90
+ }, []);
91
+ return newItem;
92
+ };
93
+ export const flattenTransactionItem = (ti) => {
94
+ const result = [];
95
+ const traverse = (item) => {
96
+ if (!item)
97
+ return;
98
+ result.push(item);
99
+ if (Array.isArray(item.children) && item.children.length) {
100
+ for (const child of item.children) {
101
+ traverse(child);
102
+ }
103
+ }
104
+ };
105
+ traverse(ti);
106
+ return result;
107
+ };
108
+ export const updateQuantity = (ti, qty, pcm, parentQty = 1) => {
109
+ const pcmMap = PCMUtils.mapByPrcId(pcm);
110
+ const calcNewQty = (item, parentPrevQty, parentNewQty, parentPcm, inputQty, isDirectChange) => {
111
+ const scaleMethod = parentPcm?.productRelatedComponent?.quantityScaleMethod;
112
+ if (isDirectChange) {
113
+ return scaleMethod === 'Proportional' ? parentPrevQty * inputQty : inputQty;
114
+ }
115
+ else {
116
+ return scaleMethod === 'Proportional' ? (item.qty / parentPrevQty) * parentNewQty : item.qty;
117
+ }
118
+ };
119
+ const updateItem = (item, parentPrevQty, parentNewQty, isDirectChange) => {
120
+ const pcm = pcmMap[item.productRelatedComponentId];
121
+ let nextQty = item.qty;
122
+ if (item.id === ti.id || isDirectChange) {
123
+ nextQty = calcNewQty(item, parentPrevQty, parentNewQty, pcm, qty, true);
124
+ }
125
+ else if (parentPrevQty !== parentNewQty) {
126
+ nextQty = calcNewQty(item, parentPrevQty, parentNewQty, pcm, qty, false);
127
+ }
128
+ return {
129
+ ...item,
130
+ qty: nextQty,
131
+ children: item.children.map(child => updateItem(child, item.qty, nextQty, false)),
132
+ };
58
133
  };
134
+ return updateItem(ti, parentQty, parentQty, false);
59
135
  };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taXRlbS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvdXRpbHMvdHJhbnNhY3Rpb24taXRlbS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF3QixJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsRUFBVSxFQUFFLEtBQTZCLEVBQW9DLEVBQUU7SUFDakgsT0FBTyxpQ0FBaUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQzlGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQy9DLEtBQTZCLEVBQzdCLFVBQWlELEVBQ2YsRUFBRTtJQUNwQyxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFekIsT0FBTyxZQUFZLENBQUMsTUFBTSxFQUFFO1FBQzFCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDckU7SUFFRCxPQUFPO0FBQ1QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsSUFBMEIsRUFDMUIsUUFBZ0IsRUFDaEIsUUFBOEIsRUFDUixFQUFFO0lBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFMUQsT0FBTztRQUNMLEdBQUcsSUFBSTtRQUNQLFFBQVEsRUFBRTtZQUNSLEdBQUcsVUFBVTtZQUNiLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8scUJBQXFCLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUM7U0FDSDtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLElBQTBCLEVBQUUsVUFBa0IsRUFBd0IsRUFBRTtJQUM1RyxPQUFPO1FBQ0wsR0FBRyxJQUFJO1FBQ1AsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3BCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNSLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxVQUFVLEVBQUU7Z0JBQ3hCLE9BQU87YUFDUjtpQkFBTSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUM3QixPQUFPLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUM5QztZQUVELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLFNBQVMsQ0FBQztLQUNyQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FDcEMsSUFBMEIsRUFDMUIsU0FBK0IsRUFDVCxFQUFFO0lBQ3hCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsRUFBRSxFQUFFO1FBQzVCLE9BQU8sRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDO0tBQ3pCO0lBRUQsT0FBTztRQUNMLEdBQUcsSUFBSTtRQUNQLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUN6RSxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxTQUFpQixFQUF3QixFQUFFO0lBQ2pGLE9BQU87UUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNmLFNBQVM7S0FDYyxDQUFDO0FBQzVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGVmaW5lZCwgU2FsZXNUcmFuc2FjdGlvbkl0ZW0sIFVVSUQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY29uc3QgZmluZFRyYW5zYWN0aW9uSXRlbSA9IChpZDogc3RyaW5nLCBpdGVtczogU2FsZXNUcmFuc2FjdGlvbkl0ZW1bXSk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtIHwgdW5kZWZpbmVkID0+IHtcbiAgcmV0dXJuIGZpbmRUcmFuc2FjdGlvbkl0ZW1XaXRoQ29tcGFyYXRvcihpdGVtcywgKHRpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSkgPT4gdGkuaWQgPT09IGlkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVHJhbnNhY3Rpb25JdGVtV2l0aENvbXBhcmF0b3IgPSAoXG4gIGl0ZW1zOiBTYWxlc1RyYW5zYWN0aW9uSXRlbVtdLFxuICBjb21wYXJhdG9yOiAodGk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtKSA9PiBib29sZWFuLFxuKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gfCB1bmRlZmluZWQgPT4ge1xuICBsZXQgY3VycmVudExldmVsID0gaXRlbXM7XG5cbiAgd2hpbGUgKGN1cnJlbnRMZXZlbC5sZW5ndGgpIHtcbiAgICBjb25zdCBmb3VuZCA9IGN1cnJlbnRMZXZlbC5maW5kKGNvbXBhcmF0b3IpO1xuXG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICByZXR1cm4gZm91bmQ7XG4gICAgfVxuXG4gICAgY3VycmVudExldmVsID0gZmxhdHRlbihjdXJyZW50TGV2ZWwubWFwKHBhcmVudCA9PiBwYXJlbnQuY2hpbGRyZW4pKTtcbiAgfVxuXG4gIHJldHVybjtcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRUcmFuc2FjdGlvbkl0ZW0gPSAoXG4gIGl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuICBwYXJlbnRJZDogc3RyaW5nLFxuICB0b0luc2VydDogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gIGNvbnN0IGluc2VydERhdGEgPSBpdGVtLmlkID09PSBwYXJlbnRJZCA/IFt0b0luc2VydF0gOiBbXTtcblxuICByZXR1cm4ge1xuICAgIC4uLml0ZW0sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIC4uLmluc2VydERhdGEsXG4gICAgICAuLi5pdGVtLmNoaWxkcmVuLm1hcCh0aSA9PiB7XG4gICAgICAgIHJldHVybiBpbnNlcnRUcmFuc2FjdGlvbkl0ZW0odGksIHBhcmVudElkLCB0b0luc2VydCk7XG4gICAgICB9KSxcbiAgICBdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZVRyYW5zYWN0aW9uSXRlbSA9IChpdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSwgaWRUb1JlbW92ZTogc3RyaW5nKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLml0ZW0sXG4gICAgY2hpbGRyZW46IGl0ZW0uY2hpbGRyZW5cbiAgICAgIC5tYXAodGkgPT4ge1xuICAgICAgICBpZiAodGkuaWQgPT09IGlkVG9SZW1vdmUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAodGkuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIHJlbW92ZVRyYW5zYWN0aW9uSXRlbSh0aSwgaWRUb1JlbW92ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGk7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihpc0RlZmluZWQpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHJlcGxhY2VUcmFuc2FjdGlvbkl0ZW0gPSAoXG4gIGl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuICByZXBsYWNlVG86IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICBpZiAoaXRlbS5pZCA9PT0gcmVwbGFjZVRvLmlkKSB7XG4gICAgcmV0dXJuIHsgLi4ucmVwbGFjZVRvIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLml0ZW0sXG4gICAgY2hpbGRyZW46IGl0ZW0uY2hpbGRyZW4ubWFwKHRpID0+IHJlcGxhY2VUcmFuc2FjdGlvbkl0ZW0odGksIHJlcGxhY2VUbykpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlVHJhbnNhY3Rpb25JdGVtID0gKHByb2R1Y3RJZDogc3RyaW5nKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICBwcm9kdWN0SWQsXG4gIH0gYXMgU2FsZXNUcmFuc2FjdGlvbkl0ZW07XG59O1xuIl19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taXRlbS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvdXRpbHMvdHJhbnNhY3Rpb24taXRlbS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUtULElBQUksR0FDTCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQVUsRUFBRSxLQUE2QixFQUFvQyxFQUFFO0lBQ2pILE9BQU8saUNBQWlDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUM5RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUMvQyxLQUE2QixFQUM3QixVQUFpRCxFQUNmLEVBQUU7SUFDcEMsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXpCLE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUMxQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQ3JFO0lBRUQsT0FBTztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLElBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLFFBQThCLEVB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R0FBRyxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLGNBQWMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDekU7YUFBTSxJQUFJLGFBQWEsS0FBSyxZQUFZLEVBQUU7WUFDekMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzFFO1FBRUQsT0FBTztZQUNMLEdBQUcsSUFBSTtZQUNQLEdBQUcsRUFBRSxPQUFPO1lBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNsRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaXNEZWZpbmVkLFxuICBQQ01Nb2RlbCxcbiAgUENNUHJvZHVjdCxcbiAgU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIFNhbGVzVHJhbnNhY3Rpb25JdGVtQXR0cmlidXRlLFxuICBVVUlELFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUENNVXRpbHMgfSBmcm9tICcuL3BjbS51dGlscyc7XG5cbmV4cG9ydCBjb25zdCBmaW5kVHJhbnNhY3Rpb25JdGVtID0gKGlkOiBzdHJpbmcsIGl0ZW1zOiBTYWxlc1RyYW5zYWN0aW9uSXRlbVtdKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gfCB1bmRlZmluZWQgPT4ge1xuICByZXR1cm4gZmluZFRyYW5zYWN0aW9uSXRlbVdpdGhDb21wYXJhdG9yKGl0ZW1zLCAodGk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtKSA9PiB0aS5pZCA9PT0gaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRUcmFuc2FjdGlvbkl0ZW1XaXRoQ29tcGFyYXRvciA9IChcbiAgaXRlbXM6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10sXG4gIGNvbXBhcmF0b3I6ICh0aTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0pID0+IGJvb2xlYW4sXG4pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSB8IHVuZGVmaW5lZCA9PiB7XG4gIGxldCBjdXJyZW50TGV2ZWwgPSBpdGVtcztcblxuICB3aGlsZSAoY3VycmVudExldmVsLmxlbmd0aCkge1xuICAgIGNvbnN0IGZvdW5kID0gY3VycmVudExldmVsLmZpbmQoY29tcGFyYXRvcik7XG5cbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG5cbiAgICBjdXJyZW50TGV2ZWwgPSBmbGF0dGVuKGN1cnJlbnRMZXZlbC5tYXAocGFyZW50ID0+IHBhcmVudC5jaGlsZHJlbikpO1xuICB9XG5cbiAgcmV0dXJuO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydFRyYW5zYWN0aW9uSXRlbSA9IChcbiAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIHBhcmVudElkOiBzdHJpbmcsXG4gIHRvSW5zZXJ0OiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgaW5zZXJ0RGF0YSA9IGl0ZW0uaWQgPT09IHBhcmVudElkID8gW3RvSW5zZXJ0XSA6IFtdO1xuXG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogW1xuICAgICAgLi4uaW5zZXJ0RGF0YSxcbiAgICAgIC4uLml0ZW0uY2hpbGRyZW4ubWFwKHRpID0+IHtcbiAgICAgICAgcmV0dXJuIGluc2VydFRyYW5zYWN0aW9uSXRlbSh0aSwgcGFyZW50SWQsIHRvSW5zZXJ0KTtcbiAgICAgIH0pLFxuICAgIF0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlVHJhbnNhY3Rpb25JdGVtID0gKGl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtLCBpZFRvUmVtb3ZlOiBzdHJpbmcpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlblxuICAgICAgLm1hcCh0aSA9PiB7XG4gICAgICAgIGlmICh0aS5pZCA9PT0gaWRUb1JlbW92ZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmICh0aS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gcmVtb3ZlVHJhbnNhY3Rpb25JdGVtKHRpLCBpZFRvUmVtb3ZlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKGlzRGVmaW5lZCksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVwbGFjZVRyYW5zYWN0aW9uSXRlbSA9IChcbiAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIHJlcGxhY2VUbzogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gIGlmIChpdGVtLmlkID09PSByZXBsYWNlVG8uaWQpIHtcbiAgICByZXR1cm4geyAuLi5yZXBsYWNlVG8gfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbi5tYXAodGkgPT4gcmVwbGFjZVRyYW5zYWN0aW9uSXRlbSh0aSwgcmVwbGFjZVRvKSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0gPSAoXG4gIG9wdGlvbjogUENNTW9kZWwsXG4gIHNhbGVzVHJhbnNhY3Rpb25JZD86IHN0cmluZyxcbiAgcXR5PzogbnVtYmVyLFxuICBwYXJlbnRUaT86IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICBjb25zdCBuZXdJdGVtID0gZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW1Gcm9tUENNKG9wdGlvbiwgc2FsZXNUcmFuc2FjdGlvbklkLCBwYXJlbnRUaSk7XG5cbiAgLy8gcHJvcGFnYXRlIFByb3BvcnRpb25hbCBxdWFudGl0aWVzIHRvIGNoaWxkcmVuXG4gIGNvbnN0IHVwZGF0ZWROZXdJdGVtID0gdXBkYXRlUXVhbnRpdHkobmV3SXRlbSwgcXR5ID8/IG5ld0l0ZW0ucXR5LCBvcHRpb24sIHBhcmVudFRpPy5xdHkpO1xuXG4gIHJldHVybiB1cGRhdGVkTmV3SXRlbTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbUZyb21QQ00gPSAoXG4gIG9wdGlvbjogUENNTW9kZWwsXG4gIHNhbGVzVHJhbnNhY3Rpb25JZD86IHN0cmluZyxcbiAgcGFyZW50VGk/OiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgY2hpbGRJZCA9IFVVSUQuVVVJRCgpO1xuXG4gIGNvbnN0IG5ld0l0ZW0gPSB7XG4gICAgaWQ6IGNoaWxkSWQsXG4gICAgcHJvZHVjdElkOiBvcHRpb24uaWQsXG4gICAgcHJvZHVjdE5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHByb2R1Y3RDb2RlOiBvcHRpb24ucHJvZHVjdENvZGUsXG4gICAgcHJvZHVjdFJlbGF0ZWRDb21wb25lbnRJZDogb3B0aW9uLnByb2R1Y3RSZWxhdGVkQ29tcG9uZW50Py5pZCxcbiAgICBzdGlBdHRyaWJ1dGVzOiBbXSBhcyBTYWxlc1RyYW5zYWN0aW9uSXRlbUF0dHJpYnV0ZVtdLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIFBhcmVudFJlZmVyZW5jZTogc2FsZXNUcmFuc2FjdGlvbklkLFxuICAgICAgSXRlbVBhdGg6IG9wdGlvbi5pZCxcbiAgICAgIFNhbGVzVHJhbnNhY3Rpb25JdGVtU291cmNlOiBjaGlsZElkLFxuICAgICAgU2FsZXNUcmFuc2FjdGlvbkl0ZW1QYXJlbnQ6IHNhbGVzVHJhbnNhY3Rpb25JZCxcbiAgICAgIFByb2R1Y3RTZWxsaW5nTW9kZWw6IG9wdGlvbi5wcm9kdWN0U2VsbGluZ01vZGVsT3B0aW9ucz8uWzBdPy5wcm9kdWN0U2VsbGluZ01vZGVsLmlkLFxuICAgIH0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgcXR5OiBvcHRpb24ucHJvZHVjdFJlbGF0ZWRDb21wb25lbnQ/LnF1YW50aXR5ID8/IDEsXG4gIH0gYXMgU2FsZXNUcmFuc2FjdGlvbkl0ZW07XG5cbiAgaWYgKHBhcmVudFRpKSB7XG4gICAgbmV3SXRlbS5wYXJlbnRJZCA9IHBhcmVudFRpLmlkO1xuICB9XG5cbiAgbmV3SXRlbS5jaGlsZHJlbiA9IG9wdGlvbi5wcm9kdWN0Q29tcG9uZW50R3JvdXBzLnJlZHVjZSgoYWNjOiBTYWxlc1RyYW5zYWN0aW9uSXRlbVtdLCBncm91cCkgPT4ge1xuICAgIGdyb3VwLmNvbXBvbmVudHMuZm9yRWFjaChjb21wb25lbnQgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBjb21wb25lbnQucHJvZHVjdFJlbGF0ZWRDb21wb25lbnQ/LmlzQ29tcG9uZW50UmVxdWlyZWQgfHxcbiAgICAgICAgY29tcG9uZW50LnByb2R1Y3RSZWxhdGVkQ29tcG9uZW50Py5pc0RlZmF1bHRDb21wb25lbnRcbiAgICAgICkge1xuICAgICAgICBhY2MucHVzaChnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbUZyb21QQ00oY29tcG9uZW50LCBzYWxlc1RyYW5zYWN0aW9uSWQsIG5ld0l0ZW0pKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gbmV3SXRlbTtcbn07XG5cbmV4cG9ydCBjb25zdCBmbGF0dGVuVHJhbnNhY3Rpb25JdGVtID0gKHRpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10gPT4ge1xuICBjb25zdCByZXN1bHQ6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10gPSBbXTtcbiAgY29uc3QgdHJhdmVyc2UgPSAoaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0pID0+IHtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcbiAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgIHRyYXZlcnNlKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdHJhdmVyc2UodGkpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlUXVhbnRpdHkgPSAoXG4gIHRpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgcXR5OiBudW1iZXIsXG4gIHBjbTogUENNUHJvZHVjdCxcbiAgcGFyZW50UXR5ID0gMSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgcGNtTWFwID0gUENNVXRpbHMubWFwQnlQcmNJZChwY20pO1xuXG4gIGNvbnN0IGNhbGNOZXdRdHkgPSAoXG4gICAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gICAgcGFyZW50UHJldlF0eTogbnVtYmVyLFxuICAgIHBhcmVudE5ld1F0eTogbnVtYmVyLFxuICAgIHBhcmVudFBjbTogUENNUHJvZHVjdCB8IHVuZGVmaW5lZCxcbiAgICBpbnB1dFF0eTogbnVtYmVyLFxuICAgIGlzRGlyZWN0Q2hhbmdlOiBib29sZWFuLFxuICApOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHNjYWxlTWV0aG9kID0gcGFyZW50UGNtPy5wcm9kdWN0UmVsYXRlZENvbXBvbmVudD8ucXVhbnRpdHlTY2FsZU1ldGhvZDtcbiAgICBpZiAoaXNEaXJlY3RDaGFuZ2UpIHtcbiAgICAgIHJldHVybiBzY2FsZU1ldGhvZCA9PT0gJ1Byb3BvcnRpb25hbCcgPyBwYXJlbnRQcmV2UXR5ICogaW5wdXRRdHkgOiBpbnB1dFF0eTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHNjYWxlTWV0aG9kID09PSAnUHJvcG9ydGlvbmFsJyA/IChpdGVtLnF0eSAvIHBhcmVudFByZXZRdHkpICogcGFyZW50TmV3UXR5IDogaXRlbS5xdHk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZUl0ZW0gPSAoXG4gICAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gICAgcGFyZW50UHJldlF0eTogbnVtYmVyLFxuICAgIHBhcmVudE5ld1F0eTogbnVtYmVyLFxuICAgIGlzRGlyZWN0Q2hhbmdlOiBib29sZWFuLFxuICApOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gICAgY29uc3QgcGNtID0gcGNtTWFwW2l0ZW0ucHJvZHVjdFJlbGF0ZWRDb21wb25lbnRJZF07XG4gICAgbGV0IG5leHRRdHkgPSBpdGVtLnF0eTtcblxuICAgIGlmIChpdGVtLmlkID09PSB0aS5pZCB8fCBpc0RpcmVjdENoYW5nZSkge1xuICAgICAgbmV4dFF0eSA9IGNhbGNOZXdRdHkoaXRlbSwgcGFyZW50UHJldlF0eSwgcGFyZW50TmV3UXR5LCBwY20sIHF0eSwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChwYXJlbnRQcmV2UXR5ICE9PSBwYXJlbnROZXdRdHkpIHtcbiAgICAgIG5leHRRdHkgPSBjYWxjTmV3UXR5KGl0ZW0sIHBhcmVudFByZXZRdHksIHBhcmVudE5ld1F0eSwgcGNtLCBxdHksIGZhbHNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIHF0eTogbmV4dFF0eSxcbiAgICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuLm1hcChjaGlsZCA9PiB1cGRhdGVJdGVtKGNoaWxkLCBpdGVtLnF0eSwgbmV4dFF0eSwgZmFsc2UpKSxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiB1cGRhdGVJdGVtKHRpLCBwYXJlbnRRdHksIHBhcmVudFF0eSwgZmFsc2UpO1xufTtcbiJdfQ==
@@ -22,7 +22,9 @@ export class ProductUnloadGuard {
22
22
  return observable.pipe(map(unload => {
23
23
  if (unload) {
24
24
  this.configurationService.reset();
25
- if (!nextState || currentState.url === nextState.url) {
25
+ const currentUrl = currentState.url.split('?')[0];
26
+ const nextUrl = (nextState?.url ?? '').split('?')[0];
27
+ if (!nextState || currentUrl === nextUrl) {
26
28
  return true;
27
29
  }
28
30
  // clear obsolete queryParams
@@ -44,4 +46,4 @@ ProductUnloadGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
44
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductUnloadGuard, decorators: [{
45
47
  type: Injectable
46
48
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.FlowInfoService }, { type: i2.ConfigurationService }, { type: i3.FlowDialogService }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC11bmxvYWQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvZ3VhcmRzL3Byb2R1Y3QtdW5sb2FkLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUEwQixNQUFNLEVBQWdDLE1BQU0saUJBQWlCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQUdwRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsTUFBYyxFQUNkLGVBQWdDLEVBQ2hDLG9CQUEwQyxFQUMxQyxpQkFBb0M7UUFIcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDM0MsQ0FBQztJQUVHLGFBQWEsQ0FDbEIsQ0FBWSxFQUNaLEtBQTZCLEVBQzdCLFlBQWlDLEVBQ2pDLFNBQStCO1FBRS9CLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUU7WUFDbkcsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBRWxDLElBQUksQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNwRCxPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFFRCw2QkFBNkI7Z0JBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ3JDLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUVELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFeEMsOENBQThDO2dCQUM5QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFFdEYsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OytHQS9DVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UsIEZsb3dJbmZvU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmxvdy1kaWFsb2cuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcm9kdWN0VW5sb2FkR3VhcmQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93RGlhbG9nU2VydmljZTogRmxvd0RpYWxvZ1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgY2FuRGVhY3RpdmF0ZShcbiAgICBfOiBDb21wb25lbnQsXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICAgIG5leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QsXG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICBsZXQgb2JzZXJ2YWJsZSA9IG9mKHRydWUpO1xuXG4gICAgaWYgKCF0aGlzLmZsb3dJbmZvU2VydmljZS5mbG93LnByb3BlcnRpZXMuc3RhbmRhbG9uZSAmJiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICBvYnNlcnZhYmxlID0gdGhpcy5mbG93RGlhbG9nU2VydmljZS5zaG93VW5zYXZlZENoYW5nZXNEaWFsb2coKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgbWFwKHVubG9hZCA9PiB7XG4gICAgICAgIGlmICh1bmxvYWQpIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnJlc2V0KCk7XG5cbiAgICAgICAgICBpZiAoIW5leHRTdGF0ZSB8fCBjdXJyZW50U3RhdGUudXJsID09PSBuZXh0U3RhdGUudXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBjbGVhciBvYnNvbGV0ZSBxdWVyeVBhcmFtc1xuICAgICAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5wYXJzZVVybChuZXh0U3RhdGUudXJsKTtcblxuICAgICAgICAgIGlmICghdXJsVHJlZS5xdWVyeVBhcmFtc1sncHJvZHVjdElkJ10pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlbGV0ZSB1cmxUcmVlLnF1ZXJ5UGFyYW1zWydwcm9kdWN0SWQnXTtcblxuICAgICAgICAgIC8vIHJlcGxhY2UgdXJsIGFmdGVyIGRlYWN0aXZhdGlvbiBoYXMgZmluaXNoZWRcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodXJsVHJlZS50b1N0cmluZygpLCB7IHJlcGxhY2VVcmw6IHRydWUgfSkpO1xuXG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC11bmxvYWQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvZ3VhcmRzL3Byb2R1Y3QtdW5sb2FkLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUEwQixNQUFNLEVBQWdDLE1BQU0saUJBQWlCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQUdwRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsTUFBYyxFQUNkLGVBQWdDLEVBQ2hDLG9CQUEwQyxFQUMxQyxpQkFBb0M7UUFIcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDM0MsQ0FBQztJQUVHLGFBQWEsQ0FDbEIsQ0FBWSxFQUNaLEtBQTZCLEVBQzdCLFlBQWlDLEVBQ2pDLFNBQStCO1FBRS9CLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUU7WUFDbkcsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBRWxDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVyRCxJQUFJLENBQUMsU0FBUyxJQUFJLFVBQVUsS0FBSyxPQUFPLEVBQUU7b0JBQ3hDLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUVELDZCQUE2QjtnQkFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVwRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDckMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBRUQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUV4Qyw4Q0FBOEM7Z0JBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUV0RixPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7K0dBbERVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSwgRmxvd0luZm9TZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmxvd0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mbG93LWRpYWxvZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RVbmxvYWRHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBmbG93SW5mb1NlcnZpY2U6IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dEaWFsb2dTZXJ2aWNlOiBGbG93RGlhbG9nU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBjYW5EZWFjdGl2YXRlKFxuICAgIF86IENvbXBvbmVudCxcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXG4gICAgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgIGxldCBvYnNlcnZhYmxlID0gb2YodHJ1ZSk7XG5cbiAgICBpZiAoIXRoaXMuZmxvd0luZm9TZXJ2aWNlLmZsb3cucHJvcGVydGllcy5zdGFuZGFsb25lICYmIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuaGFzVW5zYXZlZENoYW5nZXMpIHtcbiAgICAgIG9ic2VydmFibGUgPSB0aGlzLmZsb3dEaWFsb2dTZXJ2aWNlLnNob3dVbnNhdmVkQ2hhbmdlc0RpYWxvZygpO1xuICAgIH1cblxuICAgIHJldHVybiBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICBtYXAodW5sb2FkID0+IHtcbiAgICAgICAgaWYgKHVubG9hZCkge1xuICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UucmVzZXQoKTtcblxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSBjdXJyZW50U3RhdGUudXJsLnNwbGl0KCc/JylbMF07XG4gICAgICAgICAgY29uc3QgbmV4dFVybCA9IChuZXh0U3RhdGU/LnVybCA/PyAnJykuc3BsaXQoJz8nKVswXTtcblxuICAgICAgICAgIGlmICghbmV4dFN0YXRlIHx8IGN1cnJlbnRVcmwgPT09IG5leHRVcmwpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGNsZWFyIG9ic29sZXRlIHF1ZXJ5UGFyYW1zXG4gICAgICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKG5leHRTdGF0ZS51cmwpO1xuXG4gICAgICAgICAgaWYgKCF1cmxUcmVlLnF1ZXJ5UGFyYW1zWydwcm9kdWN0SWQnXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVsZXRlIHVybFRyZWUucXVlcnlQYXJhbXNbJ3Byb2R1Y3RJZCddO1xuXG4gICAgICAgICAgLy8gcmVwbGFjZSB1cmwgYWZ0ZXIgZGVhY3RpdmF0aW9uIGhhcyBmaW5pc2hlZFxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmxUcmVlLnRvU3RyaW5nKCksIHsgcmVwbGFjZVVybDogdHJ1ZSB9KSk7XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,28 +1,55 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { ConfigurationRuntimeService, ConfigurationStateService } from '@veloceapps/sdk/core';
3
- import { BehaviorSubject } from 'rxjs';
2
+ import { ConfigurationRuntimeService, ConfigurationStateService, FlowInfoService } from '@veloceapps/sdk/core';
3
+ import { BehaviorSubject, Subject, tap } from 'rxjs';
4
+ import { ActivatedRoute } from '@angular/router';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@veloceapps/sdk/core";
6
- import * as i2 from "@veloceapps/sdk/cms";
7
+ import * as i2 from "@angular/router";
7
8
  import * as i3 from "@angular/common";
9
+ import * as i4 from "@veloceapps/sdk/cms";
8
10
  export class ProductComponent {
9
- constructor(configurationRuntimeService, configurationStateService) {
11
+ constructor(configurationRuntimeService, configurationStateService, flowService, route) {
10
12
  this.configurationRuntimeService = configurationRuntimeService;
11
13
  this.configurationStateService = configurationStateService;
14
+ this.flowService = flowService;
15
+ this.route = route;
12
16
  this.uiDefinitionContainer$ = new BehaviorSubject(null);
17
+ this.showNotFound$ = new BehaviorSubject(false);
18
+ this.isInitialized$ = new BehaviorSubject(true);
19
+ this.destroy$ = new Subject();
13
20
  this.uiDefinitionContainer$.next(this.configurationRuntimeService.uiDefinitionContainer);
14
21
  this.config = {
15
22
  init$: () => this.init$(),
16
23
  };
17
24
  }
25
+ ngOnInit() {
26
+ let prevParams;
27
+ this.route.queryParams
28
+ .pipe(tap(params => {
29
+ if (prevParams && prevParams['productId'] !== params['productId']) {
30
+ this.isInitialized$.next(false);
31
+ setTimeout(() => {
32
+ this.isInitialized$.next(true);
33
+ }, 0);
34
+ }
35
+ prevParams = params;
36
+ }))
37
+ .subscribe();
38
+ }
39
+ ngOnDestroy() {
40
+ this.destroy$.next();
41
+ this.destroy$.complete();
42
+ }
18
43
  init$() {
19
- return this.configurationStateService.init$();
44
+ return this.configurationStateService.init$().pipe(tap(() => {
45
+ this.showNotFound$.next(Boolean(!this.uiDefinitionContainer$.value));
46
+ }));
20
47
  }
21
48
  }
22
- ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductComponent, deps: [{ token: i1.ConfigurationRuntimeService }, { token: i1.ConfigurationStateService }], target: i0.ɵɵFactoryTarget.Component });
23
- ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProductComponent, selector: "vl-flow-product", ngImport: i0, template: "<vl-cms-preview [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\" [config]=\"config\"></vl-cms-preview>\n", styles: [""], dependencies: [{ kind: "component", type: i2.PreviewComponent, selector: "vl-cms-preview", inputs: ["uiDefinition", "config"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
+ ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductComponent, deps: [{ token: i1.ConfigurationRuntimeService }, { token: i1.ConfigurationStateService }, { token: i1.FlowInfoService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
50
+ ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProductComponent, selector: "vl-flow-product", ngImport: i0, template: "<vl-cms-preview\n *ngIf=\"isInitialized$ | async\"\n [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\"\n [config]=\"config\"\n></vl-cms-preview>\n\n<div *ngIf=\"showNotFound$ | async\" class=\"not-found-wrapper\">\n <div class=\"not-found\">\n <div class=\"icon\"></div>\n <div class=\"message\">\n This product doesn't have a linked Configuration UI. <br />\n Please contact your system administrator for further assistance.\n </div>\n </div>\n</div>\n", styles: [".not-found-wrapper{position:absolute;top:0;display:flex;width:100%;height:100%;justify-content:center;align-items:center;background-color:#fff;z-index:1000}.not-found{display:flex;align-items:center;padding:16px;border-radius:8px;gap:8px;background-color:#f5f5f5}.not-found .icon{width:48px;height:42px;background-image:url(\"data:image/svg+xml,%3Csvg width='48' height='42' viewBox='0 0 48 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='24.0798' cy='32.6052' rx='2.85714' ry='2.63158' fill='%231F2029'/%3E%3Cpath d='M22.285 3.35831C23.0618 2.06363 24.9382 2.06363 25.715 3.35831L46.1826 37.471C46.9824 38.8041 46.0222 40.5 44.4676 40.5L3.53238 40.5C1.97779 40.5 1.01757 38.8041 1.8174 37.471L22.285 3.35831Z' stroke='%23141414' stroke-width='2'/%3E%3Cpath d='M24 17.342V26.8157' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A\")}.not-found .message{font-size:14px;color:#141414;font-weight:300}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PreviewComponent, selector: "vl-cms-preview", inputs: ["uiDefinition", "config"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductComponent, decorators: [{
25
52
  type: Component,
26
- args: [{ selector: 'vl-flow-product', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vl-cms-preview [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\" [config]=\"config\"></vl-cms-preview>\n" }]
27
- }], ctorParameters: function () { return [{ type: i1.ConfigurationRuntimeService }, { type: i1.ConfigurationStateService }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcHJvZHVjdC9wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7OztBQVFuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQ1UsMkJBQXdELEVBQ3hELHlCQUFvRDtRQURwRCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFKdkQsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLENBQStCLElBQUksQ0FBQyxDQUFDO1FBTXRGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFekYsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRU8sS0FBSztRQUNYLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hELENBQUM7OzZHQWpCVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQix1RENaN0IscUhBQ0E7MkZEV2EsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uQ29udGFpbmVyIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDTVNQcmV2aWV3Q29uZmlnIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2Ntcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsIENvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1wcm9kdWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q29tcG9uZW50IHtcbiAgcHVibGljIGNvbmZpZzogQ01TUHJldmlld0NvbmZpZztcbiAgcHVibGljIHVpRGVmaW5pdGlvbkNvbnRhaW5lciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVJRGVmaW5pdGlvbkNvbnRhaW5lciB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlOiBDb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnVpRGVmaW5pdGlvbkNvbnRhaW5lciQubmV4dCh0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS51aURlZmluaXRpb25Db250YWluZXIpO1xuXG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICBpbml0JDogKCkgPT4gdGhpcy5pbml0JCgpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGluaXQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UuaW5pdCQoKTtcbiAgfVxufVxuIiwiPHZsLWNtcy1wcmV2aWV3IFt1aURlZmluaXRpb25dPVwiKHVpRGVmaW5pdGlvbkNvbnRhaW5lciQgfCBhc3luYyk/LnNvdXJjZVwiIFtjb25maWddPVwiY29uZmlnXCI+PC92bC1jbXMtcHJldmlldz5cbiJdfQ==
53
+ args: [{ selector: 'vl-flow-product', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vl-cms-preview\n *ngIf=\"isInitialized$ | async\"\n [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\"\n [config]=\"config\"\n></vl-cms-preview>\n\n<div *ngIf=\"showNotFound$ | async\" class=\"not-found-wrapper\">\n <div class=\"not-found\">\n <div class=\"icon\"></div>\n <div class=\"message\">\n This product doesn't have a linked Configuration UI. <br />\n Please contact your system administrator for further assistance.\n </div>\n </div>\n</div>\n", styles: [".not-found-wrapper{position:absolute;top:0;display:flex;width:100%;height:100%;justify-content:center;align-items:center;background-color:#fff;z-index:1000}.not-found{display:flex;align-items:center;padding:16px;border-radius:8px;gap:8px;background-color:#f5f5f5}.not-found .icon{width:48px;height:42px;background-image:url(\"data:image/svg+xml,%3Csvg width='48' height='42' viewBox='0 0 48 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='24.0798' cy='32.6052' rx='2.85714' ry='2.63158' fill='%231F2029'/%3E%3Cpath d='M22.285 3.35831C23.0618 2.06363 24.9382 2.06363 25.715 3.35831L46.1826 37.471C46.9824 38.8041 46.0222 40.5 44.4676 40.5L3.53238 40.5C1.97779 40.5 1.01757 38.8041 1.8174 37.471L22.285 3.35831Z' stroke='%23141414' stroke-width='2'/%3E%3Cpath d='M24 17.342V26.8157' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A\")}.not-found .message{font-size:14px;color:#141414;font-weight:300}\n"] }]
54
+ }], ctorParameters: function () { return [{ type: i1.ConfigurationRuntimeService }, { type: i1.ConfigurationStateService }, { type: i1.FlowInfoService }, { type: i2.ActivatedRoute }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcHJvZHVjdC9wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9HLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQVF6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUTNCLFlBQ1UsMkJBQXdELEVBQ3hELHlCQUFvRCxFQUNwRCxXQUE0QixFQUM1QixLQUFxQjtRQUhyQixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDcEQsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBVnhCLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUErQixJQUFJLENBQUMsQ0FBQztRQUNqRixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3BELG1CQUFjLEdBQTZCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBFLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBUXJDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFekYsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksVUFBa0IsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7YUFDbkIsSUFBSSxDQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVoQyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDUDtZQUNELFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLEtBQUs7UUFDWCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7NkdBbERVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHVEQ2I3Qix5ZUFlQTsyRkRGYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uQ29udGFpbmVyIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDTVNQcmV2aWV3Q29uZmlnIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2Ntcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsIENvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UsIEZsb3dJbmZvU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1wcm9kdWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgY29uZmlnOiBDTVNQcmV2aWV3Q29uZmlnO1xuICBwdWJsaWMgdWlEZWZpbml0aW9uQ29udGFpbmVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VUlEZWZpbml0aW9uQ29udGFpbmVyIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyBzaG93Tm90Rm91bmQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBpc0luaXRpYWxpemVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblN0YXRlU2VydmljZTogQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dTZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICkge1xuICAgIHRoaXMudWlEZWZpbml0aW9uQ29udGFpbmVyJC5uZXh0KHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvbkNvbnRhaW5lcik7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGluaXQkOiAoKSA9PiB0aGlzLmluaXQkKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBsZXQgcHJldlBhcmFtczogUGFyYW1zO1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAocGFyYW1zID0+IHtcbiAgICAgICAgICBpZiAocHJldlBhcmFtcyAmJiBwcmV2UGFyYW1zWydwcm9kdWN0SWQnXSAhPT0gcGFyYW1zWydwcm9kdWN0SWQnXSkge1xuICAgICAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkJC5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwcmV2UGFyYW1zID0gcGFyYW1zO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UuaW5pdCQoKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5zaG93Tm90Rm91bmQkLm5leHQoQm9vbGVhbighdGhpcy51aURlZmluaXRpb25Db250YWluZXIkLnZhbHVlKSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8dmwtY21zLXByZXZpZXdcbiAgKm5nSWY9XCJpc0luaXRpYWxpemVkJCB8IGFzeW5jXCJcbiAgW3VpRGVmaW5pdGlvbl09XCIodWlEZWZpbml0aW9uQ29udGFpbmVyJCB8IGFzeW5jKT8uc291cmNlXCJcbiAgW2NvbmZpZ109XCJjb25maWdcIlxuPjwvdmwtY21zLXByZXZpZXc+XG5cbjxkaXYgKm5nSWY9XCJzaG93Tm90Rm91bmQkIHwgYXN5bmNcIiBjbGFzcz1cIm5vdC1mb3VuZC13cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJub3QtZm91bmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICBUaGlzIHByb2R1Y3QgZG9lc24ndCBoYXZlIGEgbGlua2VkIENvbmZpZ3VyYXRpb24gVUkuIDxiciAvPlxuICAgICAgUGxlYXNlIGNvbnRhY3QgeW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvciBmb3IgZnVydGhlciBhc3Npc3RhbmNlLlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,7 +1,7 @@
1
1
  import { inject } from '@angular/core';
2
2
  import { UIDefinitionsAdminApiService } from '@veloceapps/api/v2';
3
3
  import { ConfigurationRuntimeService, FLOW_CUSTOMIZATION, FlowInfoService } from '@veloceapps/sdk/core';
4
- import { map, of, switchMap, tap } from 'rxjs';
4
+ import { catchError, map, of, switchMap, tap } from 'rxjs';
5
5
  export const resolveUIDefinition = () => {
6
6
  const customizationService = inject(FLOW_CUSTOMIZATION, { optional: true });
7
7
  const flowInfoService = inject(FlowInfoService);
@@ -23,13 +23,15 @@ export const resolveUIDefinition = () => {
23
23
  return of(uiDefContainer);
24
24
  }
25
25
  if (flowInfoService.context.requiredUIDefinitionId) {
26
- return uiDefinitionsAdminApiService.fetch$(flowInfoService.context.requiredUIDefinitionId);
26
+ return uiDefinitionsAdminApiService.fetch$(flowInfoService.context.requiredUIDefinitionId, {
27
+ skipErrorHandler: true,
28
+ });
27
29
  }
28
30
  return uiDefinitionsAdminApiService
29
31
  .fetchAll$({
30
32
  productId,
31
33
  defaultUIDefinitionId: flowInfoService.context.defaultUIDefinitionId,
32
- })
34
+ }, { skipErrorHandler: true })
33
35
  .pipe(map((uiDefinitionContainers) => {
34
36
  const uiDefContainer = uiDefinitionContainers[0];
35
37
  if (!uiDefContainer) {
@@ -37,6 +39,6 @@ export const resolveUIDefinition = () => {
37
39
  }
38
40
  return uiDefContainer;
39
41
  }));
40
- }), tap(uiDefContainer => (configurationRuntimeService.uiDefinitionContainer = uiDefContainer)));
42
+ }), catchError(() => of(null)), tap(uiDefContainer => (configurationRuntimeService.uiDefinitionContainer = uiDefContainer)));
41
43
  };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9yZXNvbHZlcnMvdWktZGVmaW5pdGlvbi5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFxQyxHQUFHLEVBQUU7SUFDeEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMxRSxNQUFNLDJCQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXhFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7S0FDMUU7SUFFRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRTtZQUN4RCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtRQUVELE9BQU8sb0JBQW9CLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDekIsb0NBQW9DO1FBQ3BDLElBQUksY0FBYyxFQUFFO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ2xELE9BQU8sNEJBQTRCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUM1RjtRQUVELE9BQU8sNEJBQTRCO2FBQ2hDLFNBQVMsQ0FBQztZQUNULFNBQVM7WUFDVCxxQkFBcUIsRUFBRSxlQUFlLENBQUMsT0FBTyxDQUFDLHFCQUFxQjtTQUNyRSxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLHNCQUErQyxFQUFFLEVBQUU7WUFDdEQsTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsU0FBUyxrQkFBa0IsQ0FBQyxDQUFDO2FBQzdFO1lBRUQsT0FBTyxjQUFjLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsMkJBQTJCLENBQUMscUJBQXFCLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FDNUYsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZUZuIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbnNBZG1pbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uQ29udGFpbmVyIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsIEZMT1dfQ1VTVE9NSVpBVElPTiwgRmxvd0luZm9TZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBvZiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVVSURlZmluaXRpb246IFJlc29sdmVGbjxVSURlZmluaXRpb25Db250YWluZXI+ID0gKCkgPT4ge1xuICBjb25zdCBjdXN0b21pemF0aW9uU2VydmljZSA9IGluamVjdChGTE9XX0NVU1RPTUlaQVRJT04sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIGNvbnN0IGZsb3dJbmZvU2VydmljZSA9IGluamVjdChGbG93SW5mb1NlcnZpY2UpO1xuICBjb25zdCB1aURlZmluaXRpb25zQWRtaW5BcGlTZXJ2aWNlID0gaW5qZWN0KFVJRGVmaW5pdGlvbnNBZG1pbkFwaVNlcnZpY2UpO1xuICBjb25zdCBjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UgPSBpbmplY3QoQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlKTtcblxuICBjb25zdCB7IHByb2R1Y3RJZCB9ID0gZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQ7XG4gIGlmICghcHJvZHVjdElkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gc3RhcnQgY29uZmlndXJhdGlvbiBmb3IgJ3Byb2R1Y3RJZCA9PSBudWxsJ2ApO1xuICB9XG5cbiAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgLy8gVHJ5IHJlc29sdmluZyB2aWEgY3VzdG9taXphdGlvbiBzZXJ2aWNlXG4gICAgICBpZiAoIXByb2R1Y3RJZCB8fCAhY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFVpRGVmaW5pdGlvbikge1xuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldFVpRGVmaW5pdGlvbihmbG93SW5mb1NlcnZpY2UuY29udGV4dCk7XG4gICAgfSksXG4gICAgc3dpdGNoTWFwKHVpRGVmQ29udGFpbmVyID0+IHtcbiAgICAgIC8vIFJlc29sdmUgVUlEZWZpbml0aW9uIGZyb20gdGhlIG9yZ1xuICAgICAgaWYgKHVpRGVmQ29udGFpbmVyKSB7XG4gICAgICAgIHJldHVybiBvZih1aURlZkNvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChmbG93SW5mb1NlcnZpY2UuY29udGV4dC5yZXF1aXJlZFVJRGVmaW5pdGlvbklkKSB7XG4gICAgICAgIHJldHVybiB1aURlZmluaXRpb25zQWRtaW5BcGlTZXJ2aWNlLmZldGNoJChmbG93SW5mb1NlcnZpY2UuY29udGV4dC5yZXF1aXJlZFVJRGVmaW5pdGlvbklkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVpRGVmaW5pdGlvbnNBZG1pbkFwaVNlcnZpY2VcbiAgICAgICAgLmZldGNoQWxsJCh7XG4gICAgICAgICAgcHJvZHVjdElkLFxuICAgICAgICAgIGRlZmF1bHRVSURlZmluaXRpb25JZDogZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQuZGVmYXVsdFVJRGVmaW5pdGlvbklkLFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHVpRGVmaW5pdGlvbkNvbnRhaW5lcnM6IFVJRGVmaW5pdGlvbkNvbnRhaW5lcltdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1aURlZkNvbnRhaW5lciA9IHVpRGVmaW5pdGlvbkNvbnRhaW5lcnNbMF07XG4gICAgICAgICAgICBpZiAoIXVpRGVmQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVUkgRGVmaW5pdGlvbiBmb3IgcHJvZHVjdElkPSR7cHJvZHVjdElkfSBpcyBub3QgcmVzb2x2ZWRgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVpRGVmQ29udGFpbmVyO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH0pLFxuICAgIHRhcCh1aURlZkNvbnRhaW5lciA9PiAoY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvbkNvbnRhaW5lciA9IHVpRGVmQ29udGFpbmVyKSksXG4gICk7XG59O1xuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9yZXNvbHZlcnMvdWktZGVmaW5pdGlvbi5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBNEMsR0FBRyxFQUFFO0lBQy9FLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUUsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sNEJBQTRCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDMUUsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUV4RSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQzFFO0lBRUQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUN2QixTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLEVBQUU7WUFDeEQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEI7UUFFRCxPQUFPLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1FBQ3pCLG9DQUFvQztRQUNwQyxJQUFJLGNBQWMsRUFBRTtZQUNsQixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMzQjtRQUVELElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUNsRCxPQUFPLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO2dCQUN6RixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyw0QkFBNEI7YUFDaEMsU0FBUyxDQUNSO1lBQ0UsU0FBUztZQUNULHFCQUFxQixFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMscUJBQXFCO1NBQ3JFLEVBQ0QsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FDM0I7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsc0JBQStDLEVBQUUsRUFBRTtZQUN0RCxNQUFNLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixTQUFTLGtCQUFrQixDQUFDLENBQUM7YUFDN0U7WUFFRCxPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMxQixHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQzVGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc29sdmVGbiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVSURlZmluaXRpb25zQWRtaW5BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpL3YyJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbkNvbnRhaW5lciB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLCBGTE9XX0NVU1RPTUlaQVRJT04sIEZsb3dJbmZvU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlVUlEZWZpbml0aW9uOiBSZXNvbHZlRm48VUlEZWZpbml0aW9uQ29udGFpbmVyIHwgbnVsbD4gPSAoKSA9PiB7XG4gIGNvbnN0IGN1c3RvbWl6YXRpb25TZXJ2aWNlID0gaW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgY29uc3QgZmxvd0luZm9TZXJ2aWNlID0gaW5qZWN0KEZsb3dJbmZvU2VydmljZSk7XG4gIGNvbnN0IHVpRGVmaW5pdGlvbnNBZG1pbkFwaVNlcnZpY2UgPSBpbmplY3QoVUlEZWZpbml0aW9uc0FkbWluQXBpU2VydmljZSk7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSA9IGluamVjdChDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UpO1xuXG4gIGNvbnN0IHsgcHJvZHVjdElkIH0gPSBmbG93SW5mb1NlcnZpY2UuY29udGV4dDtcbiAgaWYgKCFwcm9kdWN0SWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBzdGFydCBjb25maWd1cmF0aW9uIGZvciAncHJvZHVjdElkID09IG51bGwnYCk7XG4gIH1cblxuICByZXR1cm4gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAvLyBUcnkgcmVzb2x2aW5nIHZpYSBjdXN0b21pemF0aW9uIHNlcnZpY2VcbiAgICAgIGlmICghcHJvZHVjdElkIHx8ICFjdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VWlEZWZpbml0aW9uKSB7XG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VzdG9taXphdGlvblNlcnZpY2UuZ2V0VWlEZWZpbml0aW9uKGZsb3dJbmZvU2VydmljZS5jb250ZXh0KTtcbiAgICB9KSxcbiAgICBzd2l0Y2hNYXAodWlEZWZDb250YWluZXIgPT4ge1xuICAgICAgLy8gUmVzb2x2ZSBVSURlZmluaXRpb24gZnJvbSB0aGUgb3JnXG4gICAgICBpZiAodWlEZWZDb250YWluZXIpIHtcbiAgICAgICAgcmV0dXJuIG9mKHVpRGVmQ29udGFpbmVyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZsb3dJbmZvU2VydmljZS5jb250ZXh0LnJlcXVpcmVkVUlEZWZpbml0aW9uSWQpIHtcbiAgICAgICAgcmV0dXJuIHVpRGVmaW5pdGlvbnNBZG1pbkFwaVNlcnZpY2UuZmV0Y2gkKGZsb3dJbmZvU2VydmljZS5jb250ZXh0LnJlcXVpcmVkVUlEZWZpbml0aW9uSWQsIHtcbiAgICAgICAgICBza2lwRXJyb3JIYW5kbGVyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVpRGVmaW5pdGlvbnNBZG1pbkFwaVNlcnZpY2VcbiAgICAgICAgLmZldGNoQWxsJChcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9kdWN0SWQsXG4gICAgICAgICAgICBkZWZhdWx0VUlEZWZpbml0aW9uSWQ6IGZsb3dJbmZvU2VydmljZS5jb250ZXh0LmRlZmF1bHRVSURlZmluaXRpb25JZCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgc2tpcEVycm9ySGFuZGxlcjogdHJ1ZSB9LFxuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodWlEZWZpbml0aW9uQ29udGFpbmVyczogVUlEZWZpbml0aW9uQ29udGFpbmVyW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVpRGVmQ29udGFpbmVyID0gdWlEZWZpbml0aW9uQ29udGFpbmVyc1swXTtcbiAgICAgICAgICAgIGlmICghdWlEZWZDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVSSBEZWZpbml0aW9uIGZvciBwcm9kdWN0SWQ9JHtwcm9kdWN0SWR9IGlzIG5vdCByZXNvbHZlZGApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdWlEZWZDb250YWluZXI7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfSksXG4gICAgY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSksXG4gICAgdGFwKHVpRGVmQ29udGFpbmVyID0+IChjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uQ29udGFpbmVyID0gdWlEZWZDb250YWluZXIpKSxcbiAgKTtcbn07XG4iXX0=