@shapediver/viewer.session-engine.session-engine 3.14.6 → 3.14.8

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 (44) hide show
  1. package/dist/implementation/SessionEngine.d.ts.map +1 -1
  2. package/dist/implementation/SessionEngine.js +5 -4
  3. package/dist/implementation/SessionEngine.js.map +1 -1
  4. package/dist/implementation/SessionEngineCore.d.ts +145 -0
  5. package/dist/implementation/SessionEngineCore.d.ts.map +1 -0
  6. package/dist/implementation/SessionEngineCore.js +544 -0
  7. package/dist/implementation/SessionEngineCore.js.map +1 -0
  8. package/dist/implementation/SessionEngineFacade.d.ts +101 -0
  9. package/dist/implementation/SessionEngineFacade.d.ts.map +1 -0
  10. package/dist/implementation/SessionEngineFacade.js +190 -0
  11. package/dist/implementation/SessionEngineFacade.js.map +1 -0
  12. package/dist/implementation/managers/CustomizationManager.d.ts +32 -0
  13. package/dist/implementation/managers/CustomizationManager.d.ts.map +1 -0
  14. package/dist/implementation/managers/CustomizationManager.js +266 -0
  15. package/dist/implementation/managers/CustomizationManager.js.map +1 -0
  16. package/dist/implementation/managers/ExportManager.d.ts +31 -0
  17. package/dist/implementation/managers/ExportManager.d.ts.map +1 -0
  18. package/dist/implementation/managers/ExportManager.js +150 -0
  19. package/dist/implementation/managers/ExportManager.js.map +1 -0
  20. package/dist/implementation/managers/FileUploadManager.d.ts +36 -0
  21. package/dist/implementation/managers/FileUploadManager.d.ts.map +1 -0
  22. package/dist/implementation/managers/FileUploadManager.js +178 -0
  23. package/dist/implementation/managers/FileUploadManager.js.map +1 -0
  24. package/dist/implementation/managers/ModelStateManager.d.ts +16 -0
  25. package/dist/implementation/managers/ModelStateManager.d.ts.map +1 -0
  26. package/dist/implementation/managers/ModelStateManager.js +130 -0
  27. package/dist/implementation/managers/ModelStateManager.js.map +1 -0
  28. package/dist/implementation/managers/OutputManager.d.ts +61 -0
  29. package/dist/implementation/managers/OutputManager.d.ts.map +1 -0
  30. package/dist/implementation/managers/OutputManager.js +358 -0
  31. package/dist/implementation/managers/OutputManager.js.map +1 -0
  32. package/dist/implementation/managers/ParameterManager.d.ts +28 -0
  33. package/dist/implementation/managers/ParameterManager.d.ts.map +1 -0
  34. package/dist/implementation/managers/ParameterManager.js +84 -0
  35. package/dist/implementation/managers/ParameterManager.js.map +1 -0
  36. package/dist/implementation/managers/SettingsManager.d.ts +55 -0
  37. package/dist/implementation/managers/SettingsManager.d.ts.map +1 -0
  38. package/dist/implementation/managers/SettingsManager.js +456 -0
  39. package/dist/implementation/managers/SettingsManager.js.map +1 -0
  40. package/dist/implementation/managers/UtilsManager.d.ts +65 -0
  41. package/dist/implementation/managers/UtilsManager.d.ts.map +1 -0
  42. package/dist/implementation/managers/UtilsManager.js +345 -0
  43. package/dist/implementation/managers/UtilsManager.js.map +1 -0
  44. package/package.json +8 -8
@@ -0,0 +1,101 @@
1
+ import { QueryGltfConversion, ReqCustomization, ReqExport, ResAssetDefinition, ResBase, ResExport, ResFileInfo, ResGetModelState, ResModelState } from "@shapediver/sdk.geometry-api-sdk-v2";
2
+ import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
3
+ import { SettingsEngine } from "@shapediver/viewer.shared.services";
4
+ import { ISettingsSections, ITaskEventDescription } from "@shapediver/viewer.shared.types";
5
+ import { IExport } from "../interfaces/dto/IExport";
6
+ import { IOutput } from "../interfaces/dto/IOutput";
7
+ import { IParameter } from "../interfaces/dto/IParameter";
8
+ import { ISessionEngine, ISessionEngineCreationDefinition } from "../interfaces/ISessionEngine";
9
+ export declare class SessionEngineFacade implements ISessionEngine {
10
+ private readonly _sessionEngineCore;
11
+ private readonly _settingsManager;
12
+ private readonly _outputManager;
13
+ private readonly _exportManager;
14
+ private readonly _customizationManager;
15
+ private readonly _parameterManager;
16
+ private readonly _fileUploadManager;
17
+ private readonly _modelStateManager;
18
+ constructor(properties: ISessionEngineCreationDefinition);
19
+ get automaticSceneUpdate(): boolean;
20
+ set automaticSceneUpdate(value: boolean);
21
+ get canUploadGLTF(): boolean;
22
+ get customizeOnParameterChange(): boolean;
23
+ set customizeOnParameterChange(value: boolean);
24
+ get excludeViewports(): string[];
25
+ set excludeViewports(value: string[]);
26
+ get exports(): {
27
+ [key: string]: IExport;
28
+ };
29
+ get guid(): string | undefined;
30
+ get hasStoredSettings(): boolean;
31
+ get id(): string;
32
+ get initialized(): boolean;
33
+ get jwtToken(): string | undefined;
34
+ get loadSdtf(): boolean;
35
+ set loadSdtf(value: boolean);
36
+ get modelState(): ResModelState | undefined;
37
+ get modelViewUrl(): string;
38
+ get node(): ITreeNode;
39
+ get outputs(): {
40
+ [key: string]: IOutput;
41
+ };
42
+ get outputsFreeze(): {
43
+ [key: string]: boolean;
44
+ };
45
+ get parameterValues(): {
46
+ [key: string]: string;
47
+ };
48
+ get parameters(): {
49
+ [key: string]: IParameter<unknown>;
50
+ };
51
+ get refreshJwtToken(): (() => Promise<string>) | undefined;
52
+ set refreshJwtToken(value: (() => Promise<string>) | undefined);
53
+ get settingsEngine(): SettingsEngine;
54
+ get ticket(): string | undefined;
55
+ get updateCallback(): ((newNode?: ITreeNode, oldNode?: ITreeNode) => void) | null;
56
+ set updateCallback(value: ((newNode?: ITreeNode, oldNode?: ITreeNode) => void) | null);
57
+ get viewerSettings(): object | undefined;
58
+ applySettings(response: ResBase, sections?: ISettingsSections): void;
59
+ canGoBack(): boolean;
60
+ canGoForward(): boolean;
61
+ close(): Promise<void>;
62
+ createModelState(parameterValues?: {
63
+ [key: string]: unknown;
64
+ }, omitSessionParameterValues?: boolean, image?: (() => string) | (() => Promise<string>) | string | Promise<string> | Blob | File, data?: Record<string, any>, arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File): Promise<string>;
65
+ customize(force?: boolean, waitForViewportUpdate?: boolean): Promise<ITreeNode | ResBase>;
66
+ customizeParallel(parameterValues: {
67
+ [key: string]: string;
68
+ }, loadOutputs: boolean): Promise<ITreeNode | ResBase>;
69
+ customizeWithModelState(modelState: string | ResBase): Promise<ITreeNode>;
70
+ getFileInfo(parameterId: string, fileId: string): Promise<ResFileInfo>;
71
+ getModelState(modelStateId?: string): Promise<ResGetModelState>;
72
+ goBack(): Promise<ITreeNode>;
73
+ goForward(): Promise<ITreeNode>;
74
+ init(parameterValues?: {
75
+ [key: string]: string;
76
+ }): Promise<void>;
77
+ loadCachedOutputsParallel(outputMapping: {
78
+ [key: string]: string;
79
+ }, taskEventInfo?: ITaskEventDescription, retry?: boolean): Promise<{
80
+ [key: string]: ITreeNode | undefined;
81
+ }>;
82
+ loadOutputs(cancelRequest: () => boolean, taskEventInfo: ITaskEventDescription): Promise<ITreeNode>;
83
+ loadOutputsParallel(responseDto: ResBase, cancelRequest: () => boolean, taskEventInfo: ITaskEventDescription): Promise<ITreeNode>;
84
+ requestExport(exportId: string, parameters: ReqCustomization, maxWaitTime: number): Promise<ResExport>;
85
+ requestExports(body: ReqExport, loadOutputs?: boolean, maxWaitMsec?: number): Promise<ResBase>;
86
+ resetSettings(sections?: ISettingsSections): void;
87
+ saveDefaultParameterValues(): Promise<boolean>;
88
+ saveSettings(json: unknown): Promise<boolean>;
89
+ saveUiProperties(saveInSettings?: boolean): Promise<boolean>;
90
+ setJwtToken(token: string): Promise<void>;
91
+ updateOutputs(taskEventInfo?: ITaskEventDescription, waitForViewportUpdate?: boolean): Promise<ITreeNode>;
92
+ uploadFile(parameterId: string, data: File, type: string): Promise<string>;
93
+ uploadFileParameters(parameterValues?: {
94
+ [key: string]: string | File | Blob;
95
+ }): Promise<{
96
+ [key: string]: string;
97
+ }>;
98
+ uploadGLTF(blob: Blob, conversion?: QueryGltfConversion): Promise<ResBase>;
99
+ uploadSDTF(arrayBuffers: ArrayBuffer[]): Promise<ResAssetDefinition[]>;
100
+ }
101
+ //# sourceMappingURL=SessionEngineFacade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionEngineFacade.d.ts","sourceRoot":"","sources":["../../src/implementation/SessionEngineFacade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SessionEngineFacade = void 0;
4
+ const SessionEngineCore_1 = require("./SessionEngineCore");
5
+ class SessionEngineFacade {
6
+ constructor(properties) {
7
+ this._sessionEngineCore = new SessionEngineCore_1.SessionEngineCore(properties);
8
+ this._settingsManager = this._sessionEngineCore.settingsManager;
9
+ this._outputManager = this._sessionEngineCore.outputManager;
10
+ this._exportManager = this._sessionEngineCore.exportManager;
11
+ this._customizationManager =
12
+ this._sessionEngineCore.customizationManager;
13
+ this._parameterManager = this._sessionEngineCore.parameterManager;
14
+ this._fileUploadManager = this._sessionEngineCore.fileUploadManager;
15
+ this._modelStateManager = this._sessionEngineCore.modelStateManager;
16
+ }
17
+ get automaticSceneUpdate() {
18
+ return this._sessionEngineCore.automaticSceneUpdate;
19
+ }
20
+ set automaticSceneUpdate(value) {
21
+ this._sessionEngineCore.automaticSceneUpdate = value;
22
+ }
23
+ get canUploadGLTF() {
24
+ return this._sessionEngineCore.canUploadGLTF;
25
+ }
26
+ get customizeOnParameterChange() {
27
+ return this._sessionEngineCore.customizeOnParameterChange;
28
+ }
29
+ set customizeOnParameterChange(value) {
30
+ this._sessionEngineCore.customizeOnParameterChange = value;
31
+ }
32
+ get excludeViewports() {
33
+ return this._sessionEngineCore.excludeViewports;
34
+ }
35
+ set excludeViewports(value) {
36
+ this._sessionEngineCore.excludeViewports = value;
37
+ }
38
+ get exports() {
39
+ return this._sessionEngineCore.exports;
40
+ }
41
+ get guid() {
42
+ return this._sessionEngineCore.guid;
43
+ }
44
+ get hasStoredSettings() {
45
+ return this._settingsManager.hasStoredSettings;
46
+ }
47
+ get id() {
48
+ return this._sessionEngineCore.id;
49
+ }
50
+ get initialized() {
51
+ return this._sessionEngineCore.initialized;
52
+ }
53
+ get jwtToken() {
54
+ return this._sessionEngineCore.jwtToken;
55
+ }
56
+ get loadSdtf() {
57
+ return this._sessionEngineCore.loadSdtf;
58
+ }
59
+ set loadSdtf(value) {
60
+ this._sessionEngineCore.loadSdtf = value;
61
+ }
62
+ get modelState() {
63
+ return this._sessionEngineCore.modelState;
64
+ }
65
+ get modelViewUrl() {
66
+ return this._sessionEngineCore.modelViewUrl;
67
+ }
68
+ get node() {
69
+ return this._sessionEngineCore.node;
70
+ }
71
+ get outputs() {
72
+ return this._sessionEngineCore.outputs;
73
+ }
74
+ get outputsFreeze() {
75
+ return this._sessionEngineCore.outputsFreeze;
76
+ }
77
+ get parameterValues() {
78
+ return this._sessionEngineCore.parameterValues;
79
+ }
80
+ get parameters() {
81
+ return this._sessionEngineCore.parameters;
82
+ }
83
+ get refreshJwtToken() {
84
+ return this._sessionEngineCore.refreshJwtToken;
85
+ }
86
+ set refreshJwtToken(value) {
87
+ this._sessionEngineCore.refreshJwtToken = value;
88
+ }
89
+ get settingsEngine() {
90
+ return this._settingsManager.settingsEngine;
91
+ }
92
+ get ticket() {
93
+ return this._sessionEngineCore.ticket;
94
+ }
95
+ get updateCallback() {
96
+ return this._sessionEngineCore.updateCallback;
97
+ }
98
+ set updateCallback(value) {
99
+ this._sessionEngineCore.updateCallback = value;
100
+ }
101
+ get viewerSettings() {
102
+ return this._settingsManager.viewerSettings;
103
+ }
104
+ applySettings(response, sections) {
105
+ return this._settingsManager.applySettings(response, sections);
106
+ }
107
+ canGoBack() {
108
+ return this._parameterManager.canGoBack();
109
+ }
110
+ canGoForward() {
111
+ return this._parameterManager.canGoForward();
112
+ }
113
+ close() {
114
+ return this._sessionEngineCore.close();
115
+ }
116
+ createModelState(parameterValues, omitSessionParameterValues, image, data, arScene) {
117
+ return this._modelStateManager.createModelState(parameterValues, omitSessionParameterValues, image, data, arScene);
118
+ }
119
+ customize(force, waitForViewportUpdate) {
120
+ return this._customizationManager.customize(force, waitForViewportUpdate);
121
+ }
122
+ customizeParallel(parameterValues, loadOutputs) {
123
+ return this._customizationManager.customizeParallel(parameterValues, loadOutputs);
124
+ }
125
+ customizeWithModelState(modelState) {
126
+ return this._modelStateManager.customizeWithModelState(modelState);
127
+ }
128
+ getFileInfo(parameterId, fileId) {
129
+ return this._fileUploadManager.getFileInfo(parameterId, fileId);
130
+ }
131
+ getModelState(modelStateId) {
132
+ return this._modelStateManager.getModelState(modelStateId);
133
+ }
134
+ goBack() {
135
+ return this._parameterManager.goBack();
136
+ }
137
+ goForward() {
138
+ return this._parameterManager.goForward();
139
+ }
140
+ init(parameterValues) {
141
+ return this._sessionEngineCore.init(parameterValues);
142
+ }
143
+ loadCachedOutputsParallel(outputMapping, taskEventInfo, retry) {
144
+ return this._outputManager.loadCachedOutputsParallel(outputMapping, taskEventInfo, retry);
145
+ }
146
+ loadOutputs(cancelRequest, taskEventInfo) {
147
+ return this._outputManager.loadOutputs(cancelRequest, taskEventInfo);
148
+ }
149
+ loadOutputsParallel(responseDto, cancelRequest, taskEventInfo) {
150
+ return this._outputManager.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo);
151
+ }
152
+ requestExport(exportId, parameters, maxWaitTime) {
153
+ return this._exportManager.requestExport(exportId, parameters, maxWaitTime);
154
+ }
155
+ requestExports(body, loadOutputs, maxWaitMsec) {
156
+ return this._exportManager.requestExports(body, loadOutputs, maxWaitMsec);
157
+ }
158
+ resetSettings(sections) {
159
+ return this._settingsManager.resetSettings(sections);
160
+ }
161
+ saveDefaultParameterValues() {
162
+ return this._settingsManager.saveDefaultParameterValues();
163
+ }
164
+ saveSettings(json) {
165
+ return this._settingsManager.saveSettings(json);
166
+ }
167
+ saveUiProperties(saveInSettings) {
168
+ return this._settingsManager.saveUiProperties(saveInSettings);
169
+ }
170
+ setJwtToken(token) {
171
+ return this._sessionEngineCore.setJwtToken(token);
172
+ }
173
+ updateOutputs(taskEventInfo, waitForViewportUpdate) {
174
+ return this._outputManager.updateOutputs(taskEventInfo, waitForViewportUpdate);
175
+ }
176
+ uploadFile(parameterId, data, type) {
177
+ return this._fileUploadManager.uploadFile(parameterId, data, type);
178
+ }
179
+ uploadFileParameters(parameterValues) {
180
+ return this._fileUploadManager.uploadFileParameters(parameterValues);
181
+ }
182
+ uploadGLTF(blob, conversion) {
183
+ return this._fileUploadManager.uploadGLTF(blob, conversion);
184
+ }
185
+ uploadSDTF(arrayBuffers) {
186
+ return this._fileUploadManager.uploadSDTF(arrayBuffers);
187
+ }
188
+ }
189
+ exports.SessionEngineFacade = SessionEngineFacade;
190
+ //# sourceMappingURL=SessionEngineFacade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionEngineFacade.js","sourceRoot":"","sources":["../../src/implementation/SessionEngineFacade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { ResBase } from "@shapediver/sdk.geometry-api-sdk-v2";
2
+ import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
3
+ import { ITaskEventDescription } from "@shapediver/viewer.shared.types";
4
+ import { ISessionTreeNode } from "../../interfaces/ISessionTreeNode";
5
+ import { SessionEngineCore } from "../SessionEngineCore";
6
+ export declare class CustomizationManager {
7
+ private readonly _sessionEngineCore;
8
+ private readonly _utilsManager;
9
+ private readonly _stateEngine;
10
+ private readonly _uuidGenerator;
11
+ private readonly _eventEngine;
12
+ private readonly _logger;
13
+ private readonly _httpClient;
14
+ private readonly _performanceEvaluator;
15
+ constructor(sessionEngineCore: SessionEngineCore);
16
+ cancelCustomization(): void;
17
+ /**
18
+ * Customizes the session with updated parameters to get the updated scene graph node.
19
+ *
20
+ * @param parameters the parameter set to update the session
21
+ * @returns promise with a scene graph node
22
+ */
23
+ customize(force?: boolean, waitForViewportUpdate?: boolean): Promise<ITreeNode>;
24
+ customizeParallel(parameterValues: {
25
+ [key: string]: unknown;
26
+ }, loadOutputs?: boolean): Promise<ISessionTreeNode | ResBase>;
27
+ customizeInternal(cancelRequest: () => boolean, taskEventInfo: ITaskEventDescription): Promise<ISessionTreeNode>;
28
+ customizeSession(parameters: {
29
+ [key: string]: string;
30
+ }, cancelRequest: () => boolean, taskEventInfo: ITaskEventDescription, parallel?: boolean, loadOutputs?: boolean, retry?: boolean): Promise<ISessionTreeNode>;
31
+ }
32
+ //# sourceMappingURL=CustomizationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomizationManager.d.ts","sourceRoot":"","sources":["../../../src/implementation/managers/CustomizationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAIP,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAU9D,OAAO,EAGN,qBAAqB,EAGrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAIvD,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiC;gBAE3D,iBAAiB,EAAE,iBAAiB;IAKzC,mBAAmB;IAyB1B;;;;;OAKG;IACU,SAAS,CACrB,KAAK,GAAE,OAAe,EACtB,qBAAqB,GAAE,OAAe,GACpC,OAAO,CAAC,SAAS,CAAC;IAqTR,iBAAiB,CAC7B,eAAe,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,EACzC,WAAW,UAAO,GAChB,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC;IA2DzB,iBAAiB,CAC7B,aAAa,EAAE,MAAM,OAAO,EAC5B,aAAa,EAAE,qBAAqB,GAClC,OAAO,CAAC,gBAAgB,CAAC;IAQf,gBAAgB,CAC5B,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,EACnC,aAAa,EAAE,MAAM,OAAO,EAC5B,aAAa,EAAE,qBAAqB,EACpC,QAAQ,UAAQ,EAChB,WAAW,UAAO,EAClB,KAAK,UAAQ,GACX,OAAO,CAAC,gBAAgB,CAAC;CAoD5B"}
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CustomizationManager = void 0;
13
+ const sdk_geometry_api_sdk_v2_1 = require("@shapediver/sdk.geometry-api-sdk-v2");
14
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
15
+ const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
16
+ const SessionData_1 = require("../SessionData");
17
+ const SessionTreeNode_1 = require("../SessionTreeNode");
18
+ class CustomizationManager {
19
+ constructor(sessionEngineCore) {
20
+ this._stateEngine = viewer_shared_services_1.StateEngine.instance;
21
+ this._uuidGenerator = viewer_shared_services_1.UuidGenerator.instance;
22
+ this._eventEngine = viewer_shared_services_1.EventEngine.instance;
23
+ this._logger = viewer_shared_services_1.Logger.instance;
24
+ this._httpClient = viewer_shared_services_1.HttpClient.instance;
25
+ this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
26
+ this._sessionEngineCore = sessionEngineCore;
27
+ this._utilsManager = this._sessionEngineCore.utilsManager;
28
+ }
29
+ cancelCustomization() {
30
+ if (this._sessionEngineCore.customizationProcess)
31
+ this._utilsManager.removeBusyMode(this._sessionEngineCore.customizationProcess);
32
+ for (const busyId of this._sessionEngineCore.customizationBusyModes) {
33
+ for (const r in this._stateEngine.viewportEngines) {
34
+ if (this._stateEngine.viewportEngines[r] &&
35
+ this._stateEngine.viewportEngines[r].busy.includes(busyId))
36
+ this._stateEngine.viewportEngines[r].busy.splice(this._stateEngine.viewportEngines[r].busy.indexOf(busyId), 1);
37
+ }
38
+ }
39
+ this._sessionEngineCore.customizationBusyModes = [];
40
+ this._sessionEngineCore.customizationProcess = undefined;
41
+ }
42
+ /**
43
+ * Customizes the session with updated parameters to get the updated scene graph node.
44
+ *
45
+ * @param parameters the parameter set to update the session
46
+ * @returns promise with a scene graph node
47
+ */
48
+ customize(force = false, waitForViewportUpdate = false) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const eventInfo = {
51
+ type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION,
52
+ category: viewer_shared_types_1.TASK_CATEGORY.SESSION_CUSTOMIZATION.CUSTOMIZE,
53
+ id: this._uuidGenerator.create(),
54
+ data: { sessionId: this._sessionEngineCore.id },
55
+ progress: 0,
56
+ };
57
+ const customizationId = this._uuidGenerator.create();
58
+ try {
59
+ // we check if something changed
60
+ if (force === false) {
61
+ let changes = false;
62
+ for (const parameterId in this._sessionEngineCore.parameters)
63
+ if (this._sessionEngineCore.parameters[parameterId]
64
+ .sessionValue !==
65
+ this._sessionEngineCore.parameters[parameterId].value)
66
+ changes = true;
67
+ if (changes === false)
68
+ return this._sessionEngineCore.node;
69
+ }
70
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, Object.assign(Object.assign({}, eventInfo), { progress: 0, status: "Customizing session" }));
71
+ const oldNode = this._sessionEngineCore.node;
72
+ this._sessionEngineCore.customizationProcess = customizationId;
73
+ this._logger.debugLow(`Session(${this._sessionEngineCore.id}).customize: Customizing session.`);
74
+ this._utilsManager.addBusyMode(customizationId);
75
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, Object.assign(Object.assign({}, eventInfo), { progress: 0.1, status: "Uploading file parameters" }));
76
+ // upload file parameters
77
+ yield this._sessionEngineCore.fileUploadManager.uploadFileParameters();
78
+ // OPTION TO SKIP - PART 1b
79
+ const cancelResult = this._utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: 1 }), customizationId);
80
+ if (cancelResult)
81
+ return cancelResult;
82
+ const parameterSet = {};
83
+ // create a set of the current validated parameter values
84
+ for (const parameterId in this._sessionEngineCore.parameters) {
85
+ parameterSet[parameterId] = {
86
+ value: this._sessionEngineCore.parameters[parameterId]
87
+ .value,
88
+ valueString: this._sessionEngineCore.parameters[parameterId].stringify(),
89
+ };
90
+ }
91
+ // update the session engine parameter values if everything succeeded
92
+ for (const parameterId in this._sessionEngineCore.parameters)
93
+ this._sessionEngineCore.parameterValues[parameterId] =
94
+ parameterSet[parameterId].valueString;
95
+ this._logger.info(`Session(${this._sessionEngineCore.id}).customize: Customizing session with parameters ${JSON.stringify(this._sessionEngineCore.parameterValues)}.`);
96
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, Object.assign(Object.assign({}, eventInfo), { progress: 0.1, status: "Sending customization request" }));
97
+ const oldOutputVersions = this._sessionEngineCore.outputManager.getCurrentOutputVersions();
98
+ const newNode = yield this.customizeInternal(() => this._sessionEngineCore.customizationProcess !==
99
+ customizationId, Object.assign(Object.assign({}, eventInfo), { progressRange: {
100
+ min: 0.1,
101
+ max: 0.9,
102
+ } }));
103
+ // OPTION TO SKIP - PART 2
104
+ const cancelResult2 = this._utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: 1 }), customizationId);
105
+ if (cancelResult2)
106
+ return cancelResult2;
107
+ this._utilsManager.warningCreator(this._sessionEngineCore.responseDto.outputs, this._sessionEngineCore.responseDto.exports, this._sessionEngineCore.throwOnCustomizationError);
108
+ const newOutputVersions = this._sessionEngineCore.outputManager.getCurrentOutputVersions();
109
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, Object.assign(Object.assign({}, eventInfo), { progress: 0.9, status: "Updating scene" }));
110
+ // call the update callbacks
111
+ if (waitForViewportUpdate === false) {
112
+ for (const outputId in this._sessionEngineCore.outputs) {
113
+ if (oldOutputVersions[outputId] !==
114
+ newOutputVersions[outputId]) {
115
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.OUTPUT.OUTPUT_UPDATED, {
116
+ outputId: outputId,
117
+ outputVersion: newOutputVersions[outputId],
118
+ newNode: newNode.children.find((c) => c.name === outputId),
119
+ oldNode: oldNode.children.find((c) => c.name === outputId),
120
+ });
121
+ }
122
+ }
123
+ yield this._utilsManager.waitForUpdateCallbacks(newOutputVersions, oldOutputVersions, newNode, oldNode);
124
+ const cancelResult = this._utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: 1 }), customizationId);
125
+ if (cancelResult)
126
+ return cancelResult;
127
+ }
128
+ // if this is not a call by the goBack or goForward functions, add the parameter values to the history and delete the forward history
129
+ if (!this._sessionEngineCore.parameterManager.parameterHistoryCall) {
130
+ this._sessionEngineCore.parameterManager.parameterHistory.push(parameterSet);
131
+ this._sessionEngineCore.parameterManager.parameterHistoryForward =
132
+ [];
133
+ }
134
+ if (this._sessionEngineCore.automaticSceneUpdate)
135
+ this._utilsManager.removeFromSceneTree(this._sessionEngineCore.node);
136
+ this._sessionEngineCore.node = newNode;
137
+ if (this._sessionEngineCore.automaticSceneUpdate &&
138
+ this._sessionEngineCore.closed === false)
139
+ this._utilsManager.addToSceneTree(this._sessionEngineCore.node);
140
+ this._logger.debug(`Session(${this._sessionEngineCore.id}).customize: Customization request finished, updating geometry.`);
141
+ // set the session values to the current ones in all parameters
142
+ for (const parameterId in this._sessionEngineCore.parameters)
143
+ (this._sessionEngineCore.parameters[parameterId].sessionValue) = parameterSet[parameterId].value;
144
+ // set the output content to what has been updated
145
+ for (const outputId in this._sessionEngineCore.outputs)
146
+ this._sessionEngineCore.outputs[outputId].updateOutput(newNode.children.find((c) => c.name === outputId), oldNode.children.find((c) => c.name === outputId));
147
+ // set the export definitions
148
+ for (const exportId in this._sessionEngineCore.exports)
149
+ this._sessionEngineCore.exports[exportId].updateExport();
150
+ this._sessionEngineCore.node.excludeViewports = JSON.parse(JSON.stringify(this._sessionEngineCore.excludeViewports));
151
+ this._utilsManager.removeBusyMode(customizationId);
152
+ this._logger.debug(`Session(${this._sessionEngineCore.id}).customize: Session customized.`);
153
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.SESSION.SESSION_CUSTOMIZED, {
154
+ sessionId: this._sessionEngineCore.id,
155
+ });
156
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, Object.assign(Object.assign({}, eventInfo), { progress: 1, status: "Session customized" }));
157
+ // update the viewports
158
+ if (waitForViewportUpdate) {
159
+ for (const r in this._stateEngine.viewportEngines)
160
+ if (this._stateEngine.viewportEngines[r] &&
161
+ !this._sessionEngineCore.excludeViewports.includes(this._stateEngine.viewportEngines[r].id))
162
+ this._stateEngine.viewportEngines[r].update(`SessionEngine(${this._sessionEngineCore.id}).customize`);
163
+ for (const outputId in this._sessionEngineCore.outputs) {
164
+ if (oldOutputVersions[outputId] !==
165
+ newOutputVersions[outputId]) {
166
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.OUTPUT.OUTPUT_UPDATED, {
167
+ outputId: outputId,
168
+ outputVersion: newOutputVersions[outputId],
169
+ newNode: newNode.children.find((c) => c.name === outputId),
170
+ oldNode: oldNode.children.find((c) => c.name === outputId),
171
+ });
172
+ }
173
+ }
174
+ // call the update callbacks
175
+ yield this._utilsManager.waitForUpdateCallbacks(newOutputVersions, oldOutputVersions, newNode, oldNode);
176
+ const cancelResult = this._utilsManager.cancelProcess(Object.assign(Object.assign({}, eventInfo), { progress: 1 }), customizationId);
177
+ if (cancelResult)
178
+ return cancelResult;
179
+ }
180
+ if (!waitForViewportUpdate) {
181
+ setTimeout(() => {
182
+ for (const r in this._stateEngine.viewportEngines)
183
+ if (this._stateEngine.viewportEngines[r] &&
184
+ !this._sessionEngineCore.excludeViewports.includes(this._stateEngine.viewportEngines[r].id))
185
+ this._stateEngine.viewportEngines[r].update(`SessionEngine(${this._sessionEngineCore.id}).customize`);
186
+ }, 0);
187
+ }
188
+ return this._sessionEngineCore.node;
189
+ }
190
+ catch (e) {
191
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_CANCEL, Object.assign(Object.assign({}, eventInfo), { progress: 1, status: "Session customization failed" }));
192
+ this._utilsManager.removeBusyMode(customizationId);
193
+ throw this._httpClient.convertError(e);
194
+ }
195
+ });
196
+ }
197
+ customizeParallel(parameterValues, loadOutputs = true) {
198
+ return __awaiter(this, void 0, void 0, function* () {
199
+ const eventInfo = {
200
+ type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION,
201
+ category: viewer_shared_types_1.TASK_CATEGORY.SESSION_CUSTOMIZATION.CUSTOMIZE_PARALLEL,
202
+ id: this._uuidGenerator.create(),
203
+ data: { sessionId: this._sessionEngineCore.id },
204
+ };
205
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, Object.assign(Object.assign({}, eventInfo), { progress: 0, status: "Customizing session" }));
206
+ // upload file parameters
207
+ yield this._sessionEngineCore.fileUploadManager.uploadFileParameters(parameterValues);
208
+ const parameterSet = {};
209
+ // create a set of the current validated parameter values
210
+ for (const parameterId in this._sessionEngineCore.parameters)
211
+ parameterSet[parameterId] = (" " +
212
+ this._sessionEngineCore.parameters[parameterId].stringify(parameterValues[parameterId])).slice(1);
213
+ const result = yield this.customizeSession(parameterSet, () => false, Object.assign(Object.assign({}, eventInfo), { progressRange: {
214
+ min: 0.0,
215
+ max: 1,
216
+ } }), true, loadOutputs);
217
+ if (result instanceof SessionTreeNode_1.SessionTreeNode)
218
+ result.excludeViewports = JSON.parse(JSON.stringify(this._sessionEngineCore.excludeViewports));
219
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, Object.assign(Object.assign({}, eventInfo), { progress: 1, status: "Session customized" }));
220
+ return result;
221
+ });
222
+ }
223
+ customizeInternal(cancelRequest, taskEventInfo) {
224
+ return __awaiter(this, void 0, void 0, function* () {
225
+ return this.customizeSession(this._sessionEngineCore.parameterValues, cancelRequest, taskEventInfo);
226
+ });
227
+ }
228
+ customizeSession(parameters, cancelRequest, taskEventInfo, parallel = false, loadOutputs = true, retry = false) {
229
+ return __awaiter(this, void 0, void 0, function* () {
230
+ this._utilsManager.checkAvailability("customize");
231
+ try {
232
+ this._performanceEvaluator.startSection("sessionResponse");
233
+ const responseDto = yield new sdk_geometry_api_sdk_v2_1.UtilsApi(this._sessionEngineCore.sdkConfig).submitAndWaitForOutput(this._sessionEngineCore.sessionId, parameters, undefined, this._sessionEngineCore.ignoreUnknownParams);
234
+ this._performanceEvaluator.endSection("sessionResponse");
235
+ if (loadOutputs === true &&
236
+ this._sessionEngineCore.allowOutputLoading === true) {
237
+ if (cancelRequest())
238
+ return new SessionTreeNode_1.SessionTreeNode();
239
+ if (parallel === true) {
240
+ // special case, we load the outputs put don't add them to the scene
241
+ return this._sessionEngineCore.outputManager.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo);
242
+ }
243
+ else {
244
+ // default case, we load the outputs and return the nodes
245
+ this._sessionEngineCore.updateResponseDto(responseDto);
246
+ return this._sessionEngineCore.outputManager.loadOutputs(cancelRequest, taskEventInfo);
247
+ }
248
+ }
249
+ else {
250
+ // special case, we don't load the outputs and only return the responseDto
251
+ const node = new SessionTreeNode_1.SessionTreeNode();
252
+ node.data.push(new SessionData_1.SessionData(responseDto));
253
+ return node;
254
+ }
255
+ }
256
+ catch (e) {
257
+ yield this._utilsManager.handleError(e, retry);
258
+ if (cancelRequest())
259
+ return new SessionTreeNode_1.SessionTreeNode();
260
+ return yield this.customizeSession(parameters, cancelRequest, taskEventInfo, parallel, loadOutputs, true);
261
+ }
262
+ });
263
+ }
264
+ }
265
+ exports.CustomizationManager = CustomizationManager;
266
+ //# sourceMappingURL=CustomizationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomizationManager.js","sourceRoot":"","sources":["../../../src/implementation/managers/CustomizationManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iFAK6C;AAE7C,+EAQ4C;AAC5C,yEAMyC;AAEzC,gDAA2C;AAE3C,wDAAmD;AAGnD,MAAa,oBAAoB;IAUhC,YAAY,iBAAoC;QAP/B,iBAAY,GAAG,oCAAW,CAAC,QAAQ,CAAC;QACpC,mBAAc,GAAG,sCAAa,CAAC,QAAQ,CAAC;QACxC,iBAAY,GAAG,oCAAW,CAAC,QAAQ,CAAC;QACpC,YAAO,GAAG,+BAAM,CAAC,QAAQ,CAAC;QAC1B,gBAAW,GAAG,mCAAU,CAAC,QAAQ,CAAC;QAClC,0BAAqB,GAAG,6CAAoB,CAAC,QAAQ,CAAC;QAGtE,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;IAC3D,CAAC;IAEM,mBAAmB;QACzB,IAAI,IAAI,CAAC,kBAAkB,CAAC,oBAAoB;YAC/C,IAAI,CAAC,aAAa,CAAC,cAAc,CAChC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAC5C,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE;YACpE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;gBAClD,IACC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;oBACpC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAE3D,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,MAAM,CAChD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,OAAO,CACjD,MAAM,CACN,EACD,CAAC,CACD,CAAC;aACH;SACD;QAED,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACpD,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACU,SAAS,CACrB,QAAiB,KAAK,EACtB,wBAAiC,KAAK;;YAEtC,MAAM,SAAS,GAAe;gBAC7B,IAAI,EAAE,+BAAS,CAAC,qBAAqB;gBACrC,QAAQ,EAAE,mCAAa,CAAC,qBAAqB,CAAC,SAAS;gBACvD,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAChC,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAC;gBAC7C,QAAQ,EAAE,CAAC;aACX,CAAC;YAEF,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAErD,IAAI;gBACH,gCAAgC;gBAChC,IAAI,KAAK,KAAK,KAAK,EAAE;oBACpB,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU;wBAC3D,IACC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC;6BAC7C,YAAY;4BACd,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK;4BAErD,OAAO,GAAG,IAAI,CAAC;oBACjB,IAAI,OAAO,KAAK,KAAK;wBAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;iBAC3D;gBAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,kCACjD,SAAS,KACZ,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,qBAAqB,IAC5B,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,GAAG,eAAe,CAAC;gBAE/D,IAAI,CAAC,OAAO,CAAC,QAAQ,CACpB,WAAW,IAAI,CAAC,kBAAkB,CAAC,EAAE,mCAAmC,CACxE,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAEhD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,kCACnD,SAAS,KACZ,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,2BAA2B,IAClC,CAAC;gBAEH,yBAAyB;gBACzB,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;gBAEvE,2BAA2B;gBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,iCAChD,SAAS,KAAE,QAAQ,EAAE,CAAC,KAC1B,eAAe,CACf,CAAC;gBACF,IAAI,YAAY;oBAAE,OAAO,YAAY,CAAC;gBAEtC,MAAM,YAAY,GAKd,EAAE,CAAC;gBAEP,yDAAyD;gBACzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;oBAC7D,YAAY,CAAC,WAAW,CAAC,GAAG;wBAC3B,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC;6BACpD,KAAK;wBACP,WAAW,EACV,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACjC,WAAW,CACX,CAAC,SAAS,EAAE;qBACd,CAAC;iBACF;gBAED,qEAAqE;gBACrE,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU;oBAC3D,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,WAAW,CAAC;wBACnD,YAAY,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAChB,WAAW,IAAI,CAAC,kBAAkB,CAAC,EAAE,oDAAoD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,GAAG,CACnJ,CAAC;gBAEF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,kCACnD,SAAS,KACZ,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,+BAA+B,IACtC,CAAC;gBAEH,MAAM,iBAAiB,GACtB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;gBAElE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,GAAG,EAAE,CACJ,IAAI,CAAC,kBAAkB,CAAC,oBAAoB;oBAC5C,eAAe,kCAEZ,SAAS,KACZ,aAAa,EAAE;wBACd,GAAG,EAAE,GAAG;wBACR,GAAG,EAAE,GAAG;qBACR,IAEF,CAAC;gBAEF,0BAA0B;gBAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,iCACjD,SAAS,KAAE,QAAQ,EAAE,CAAC,KAC1B,eAAe,CACf,CAAC;gBACF,IAAI,aAAa;oBAAE,OAAO,aAAa,CAAC;gBAExC,IAAI,CAAC,aAAa,CAAC,cAAc,CAChC,IAAI,CAAC,kBAAkB,CAAC,WAAY,CAAC,OAEpC,EACD,IAAI,CAAC,kBAAkB,CAAC,WAAY,CAAC,OAEpC,EACD,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CACjD,CAAC;gBAEF,MAAM,iBAAiB,GACtB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;gBAElE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,kCACnD,SAAS,KACZ,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,gBAAgB,IACvB,CAAC;gBAEH,4BAA4B;gBAC5B,IAAI,qBAAqB,KAAK,KAAK,EAAE;oBACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;wBACvD,IACC,iBAAiB,CAAC,QAAQ,CAAC;4BAC3B,iBAAiB,CAAC,QAAQ,CAAC,EAC1B;4BACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAC1B,kCAAS,CAAC,MAAM,CAAC,cAAc,EACjB;gCACb,QAAQ,EAAE,QAAQ;gCAClB,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC;gCAC1C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CACzB;gCACF,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CACzB;6BACF,CACD,CAAC;yBACF;qBACD;oBAED,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAC9C,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,OAAO,CACP,CAAC;oBAEF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,iCAChD,SAAS,KAAE,QAAQ,EAAE,CAAC,KAC1B,eAAe,CACf,CAAC;oBACF,IAAI,YAAY;wBAAE,OAAO,YAAY,CAAC;iBACtC;gBAED,qIAAqI;gBACrI,IACC,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,oBAAoB,EAC7D;oBACD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAC7D,YAAY,CACZ,CAAC;oBACF,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,uBAAuB;wBAC/D,EAAE,CAAC;iBACJ;gBAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,oBAAoB;oBAC/C,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACrC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC5B,CAAC;gBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO,CAAC;gBACvC,IACC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB;oBAC5C,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,KAAK;oBAExC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEjE,IAAI,CAAC,OAAO,CAAC,KAAK,CACjB,WAAW,IAAI,CAAC,kBAAkB,CAAC,EAAE,iEAAiE,CACtG,CAAC;gBAEF,+DAA+D;gBAC/D,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU;oBACjD,CACT,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,CAC3D,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gBAEtC,kDAAkD;gBAClD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO;oBACrD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,EAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CAClD,CAAC;gBAEH,6BAA6B;gBAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO;oBACrD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC;gBAE1D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CACzD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CACxD,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBAEnD,IAAI,CAAC,OAAO,CAAC,KAAK,CACjB,WAAW,IAAI,CAAC,kBAAkB,CAAC,EAAE,kCAAkC,CACvE,CAAC;gBAEF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE;oBACjE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE;iBACrC,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,kCAC/C,SAAS,KACZ,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,oBAAoB,IAC3B,CAAC;gBAEH,uBAAuB;gBACvB,IAAI,qBAAqB,EAAE;oBAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe;wBAChD,IACC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;4BACpC,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CACjD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,EAAE,CACxC;4BAED,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,MAAM,CAC3C,iBAAiB,IAAI,CAAC,kBAAkB,CAAC,EAAE,aAAa,CACxD,CAAC;oBAEJ,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;wBACvD,IACC,iBAAiB,CAAC,QAAQ,CAAC;4BAC3B,iBAAiB,CAAC,QAAQ,CAAC,EAC1B;4BACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAC1B,kCAAS,CAAC,MAAM,CAAC,cAAc,EACjB;gCACb,QAAQ,EAAE,QAAQ;gCAClB,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC;gCAC1C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CACzB;gCACF,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CACzB;6BACF,CACD,CAAC;yBACF;qBACD;oBAED,4BAA4B;oBAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAC9C,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,OAAO,CACP,CAAC;oBAEF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,iCAChD,SAAS,KAAE,QAAQ,EAAE,CAAC,KAC1B,eAAe,CACf,CAAC;oBACF,IAAI,YAAY;wBAAE,OAAO,YAAY,CAAC;iBACtC;gBAED,IAAI,CAAC,qBAAqB,EAAE;oBAC3B,UAAU,CAAC,GAAG,EAAE;wBACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe;4BAChD,IACC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;gCACpC,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CACjD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,EAAE,CACxC;gCAED,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,MAAM,CAC3C,iBAAiB,IAAI,CAAC,kBAAkB,CAAC,EAAE,aAAa,CACxD,CAAC;oBACL,CAAC,EAAE,CAAC,CAAC,CAAC;iBACN;gBAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;aACpC;YAAC,OAAO,CAAC,EAAE;gBACX,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,kCAClD,SAAS,KACZ,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,8BAA8B,IACrC,CAAC;gBAEH,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBAEnD,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aACvC;QACF,CAAC;KAAA;IAEY,iBAAiB,CAC7B,eAAyC,EACzC,WAAW,GAAG,IAAI;;YAElB,MAAM,SAAS,GAAG;gBACjB,IAAI,EAAE,+BAAS,CAAC,qBAAqB;gBACrC,QAAQ,EAAE,mCAAa,CAAC,qBAAqB,CAAC,kBAAkB;gBAChE,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAChC,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAC;aAC7C,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,kCACjD,SAAS,KACZ,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,qBAAqB,IAC5B,CAAC;YAEH,yBAAyB;YACzB,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,oBAAoB,CACnE,eAAe,CACf,CAAC;YAEF,MAAM,YAAY,GAEd,EAAE,CAAC;YAEP,yDAAyD;YACzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU;gBAC3D,YAAY,CAAC,WAAW,CAAC,GAAG,CAC3B,GAAG;oBACH,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,CACxD,eAAe,CAAC,WAAW,CAAC,CAC5B,CACD,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACzC,YAAY,EACZ,GAAG,EAAE,CAAC,KAAK,kCAEP,SAAS,KACZ,aAAa,EAAE;oBACd,GAAG,EAAE,GAAG;oBACR,GAAG,EAAE,CAAC;iBACN,KAEF,IAAI,EACJ,WAAW,CACX,CAAC;YAEF,IAAI,MAAM,YAAY,iCAAe;gBACpC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CACxD,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,kCAC/C,SAAS,KACZ,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,oBAAoB,IAC3B,CAAC;YACH,OAAO,MAAM,CAAC;QACf,CAAC;KAAA;IAEY,iBAAiB,CAC7B,aAA4B,EAC5B,aAAoC;;YAEpC,OAAO,IAAI,CAAC,gBAAgB,CAC3B,IAAI,CAAC,kBAAkB,CAAC,eAAe,EACvC,aAAa,EACb,aAAa,CACb,CAAC;QACH,CAAC;KAAA;IAEY,gBAAgB,CAC5B,UAAmC,EACnC,aAA4B,EAC5B,aAAoC,EACpC,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,IAAI,EAClB,KAAK,GAAG,KAAK;;YAEb,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI;gBACH,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,MAAM,IAAI,kCAAQ,CACrC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CACjC,CAAC,sBAAsB,CACvB,IAAI,CAAC,kBAAkB,CAAC,SAAU,EAClC,UAAU,EACV,SAAS,EACT,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAC3C,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBACzD,IACC,WAAW,KAAK,IAAI;oBACpB,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,KAAK,IAAI,EAClD;oBACD,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,IAAI,QAAQ,KAAK,IAAI,EAAE;wBACtB,oEAAoE;wBACpE,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,CAC/D,WAAW,EACX,aAAa,EACb,aAAa,CACb,CAAC;qBACF;yBAAM;wBACN,yDAAyD;wBACzD,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,WAAW,CACvD,aAAa,EACb,aAAa,CACb,CAAC;qBACF;iBACD;qBAAM;oBACN,0EAA0E;oBAC1E,MAAM,IAAI,GAAG,IAAI,iCAAe,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC7C,OAAO,IAAI,CAAC;iBACZ;aACD;YAAC,OAAO,CAAC,EAAE;gBACX,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;gBAClD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CACjC,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,WAAW,EACX,IAAI,CACJ,CAAC;aACF;QACF,CAAC;KAAA;CACD;AA1eD,oDA0eC"}