filemail-sdk 4.6.0 → 4.6.1
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.
|
@@ -18,5 +18,10 @@ export default class NodeTransferUploader implements TransferUploader {
|
|
|
18
18
|
start(): Promise<void>;
|
|
19
19
|
private setFailedReasonFromError;
|
|
20
20
|
private addTransferEventListeners;
|
|
21
|
+
private logTrace;
|
|
22
|
+
private logDebug;
|
|
23
|
+
private logInfo;
|
|
24
|
+
private logWarning;
|
|
25
|
+
private logError;
|
|
21
26
|
private getFullFilePathOrFileName;
|
|
22
27
|
}
|
|
@@ -9,9 +9,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _NodeTransferUploader_logger, _NodeTransferUploader_fileDetails, _NodeTransferUploader_options, _NodeTransferUploader_envValues, _NodeTransferUploader_pauseController, _NodeTransferUploader_abortController, _NodeTransferUploader_transfer, _NodeTransferUploader_isShuttingDown, _NodeTransferUploader_failedReason;
|
|
12
|
+
var _NodeTransferUploader_logger, _NodeTransferUploader_trackingId, _NodeTransferUploader_fileDetails, _NodeTransferUploader_options, _NodeTransferUploader_envValues, _NodeTransferUploader_pauseController, _NodeTransferUploader_abortController, _NodeTransferUploader_transfer, _NodeTransferUploader_isShuttingDown, _NodeTransferUploader_failedReason;
|
|
13
13
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
14
14
|
import OS from "os";
|
|
15
|
+
import { v4 as guid } from 'uuid';
|
|
15
16
|
import TransferUpload from "../../uploader/transferUpload.js";
|
|
16
17
|
import PauseController from "../../uploader/pauseController.js";
|
|
17
18
|
import NodeApiClient from "../../utils/api/node/nodeApiClient.js";
|
|
@@ -27,6 +28,7 @@ const TransferFailedSleepInMs = 500;
|
|
|
27
28
|
class NodeTransferUploader {
|
|
28
29
|
constructor(fileDetails, options, envValues, logger, exportData) {
|
|
29
30
|
_NodeTransferUploader_logger.set(this, void 0);
|
|
31
|
+
_NodeTransferUploader_trackingId.set(this, void 0);
|
|
30
32
|
_NodeTransferUploader_fileDetails.set(this, void 0);
|
|
31
33
|
_NodeTransferUploader_options.set(this, void 0);
|
|
32
34
|
_NodeTransferUploader_envValues.set(this, void 0);
|
|
@@ -38,12 +40,13 @@ class NodeTransferUploader {
|
|
|
38
40
|
if (!options.logintoken?.trim())
|
|
39
41
|
throw new Error(`Logintoken option must be specified.`);
|
|
40
42
|
__classPrivateFieldSet(this, _NodeTransferUploader_logger, logger, "f");
|
|
43
|
+
__classPrivateFieldSet(this, _NodeTransferUploader_trackingId, options.trackingId || guid(), "f");
|
|
41
44
|
__classPrivateFieldSet(this, _NodeTransferUploader_fileDetails, fileDetails, "f");
|
|
42
45
|
__classPrivateFieldSet(this, _NodeTransferUploader_options, options, "f");
|
|
43
46
|
__classPrivateFieldSet(this, _NodeTransferUploader_envValues, envValues, "f");
|
|
44
47
|
const eventsEngine = new NodeEventsEngine();
|
|
45
48
|
const fileServerClientFactory = new NodeFileServerClientFactory(__classPrivateFieldGet(this, _NodeTransferUploader_envValues, "f").source, __classPrivateFieldGet(this, _NodeTransferUploader_envValues, "f").sourceDetails, __classPrivateFieldGet(this, _NodeTransferUploader_options, "f").uploadIdleTimeoutInMs, __classPrivateFieldGet(this, _NodeTransferUploader_options, "f").chunkUploadRetryLimit);
|
|
46
|
-
const semaphore = new TransferSemaphore(
|
|
49
|
+
const semaphore = new TransferSemaphore(__classPrivateFieldGet(this, _NodeTransferUploader_options, "f").maxChunksUploadInParallel);
|
|
47
50
|
const apiClient = new NodeApiClient(__classPrivateFieldGet(this, _NodeTransferUploader_envValues, "f").apiBaseUrl, __classPrivateFieldGet(this, _NodeTransferUploader_envValues, "f").source, __classPrivateFieldGet(this, _NodeTransferUploader_envValues, "f").sourceDetails, __classPrivateFieldGet(this, _NodeTransferUploader_options, "f").apiRequestTotalTimeoutInMs, __classPrivateFieldGet(this, _NodeTransferUploader_options, "f").apiRetryLimit);
|
|
48
51
|
apiClient.setLoginToken(__classPrivateFieldGet(this, _NodeTransferUploader_options, "f").logintoken);
|
|
49
52
|
if (exportData)
|
|
@@ -74,29 +77,29 @@ class NodeTransferUploader {
|
|
|
74
77
|
return __classPrivateFieldGet(this, _NodeTransferUploader_failedReason, "f");
|
|
75
78
|
}
|
|
76
79
|
pause() {
|
|
77
|
-
|
|
80
|
+
this.logInfo(`Pause called`);
|
|
78
81
|
if (!__classPrivateFieldGet(this, _NodeTransferUploader_pauseController, "f"))
|
|
79
82
|
throw new TransferUploadError(`Can't pause not started transfer`);
|
|
80
83
|
__classPrivateFieldGet(this, _NodeTransferUploader_pauseController, "f").pause();
|
|
81
84
|
__classPrivateFieldSet(this, _NodeTransferUploader_isShuttingDown, true, "f");
|
|
82
85
|
}
|
|
83
86
|
stop() {
|
|
84
|
-
|
|
87
|
+
this.logInfo(`Stop called`);
|
|
85
88
|
if (!__classPrivateFieldGet(this, _NodeTransferUploader_abortController, "f"))
|
|
86
89
|
throw new TransferUploadError(`Can't stop not started transfer`);
|
|
87
90
|
__classPrivateFieldGet(this, _NodeTransferUploader_abortController, "f").abort();
|
|
88
91
|
__classPrivateFieldSet(this, _NodeTransferUploader_isShuttingDown, true, "f");
|
|
89
92
|
}
|
|
90
93
|
async cancel() {
|
|
91
|
-
|
|
94
|
+
this.logInfo(`Cancel called`);
|
|
92
95
|
await __classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").cancel();
|
|
93
96
|
}
|
|
94
97
|
async start() {
|
|
95
98
|
if (__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").status !== TransferStatus.Failed && __classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").status !== TransferStatus.Aborted && __classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").status !== TransferStatus.Initialized && __classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").status !== TransferStatus.Paused)
|
|
96
99
|
throw new TransferUploadError(`Transfer is in ${TransferStatus[__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").status]} state and cannot be run`);
|
|
97
|
-
|
|
100
|
+
this.logInfo(`Starting upload. Already uploaded bytes: ${this.transfer.uploadedBytesCount}/${__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").totalSizeInBytes}B, completed files: ${this.transfer.completedFilesCount}.`);
|
|
98
101
|
const logMessageEntries = __classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").files.map(f => `'Sending ${f.fileName}' with id = ${f.externalId}. It has ${f.chunksCount} chunk(s) and will be put into '${f.fileDestinationPathInTransfer}' folder.`);
|
|
99
|
-
|
|
102
|
+
this.logInfo(`Transfer file details:${OS.EOL}${logMessageEntries.join(OS.EOL)}`);
|
|
100
103
|
__classPrivateFieldSet(this, _NodeTransferUploader_failedReason, undefined, "f");
|
|
101
104
|
__classPrivateFieldSet(this, _NodeTransferUploader_isShuttingDown, false, "f");
|
|
102
105
|
__classPrivateFieldSet(this, _NodeTransferUploader_pauseController, new PauseController(), "f");
|
|
@@ -107,7 +110,7 @@ class NodeTransferUploader {
|
|
|
107
110
|
await __classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").run(__classPrivateFieldGet(this, _NodeTransferUploader_pauseController, "f"), __classPrivateFieldGet(this, _NodeTransferUploader_abortController, "f"));
|
|
108
111
|
}
|
|
109
112
|
catch (error) {
|
|
110
|
-
|
|
113
|
+
this.logError(error);
|
|
111
114
|
this.setFailedReasonFromError(error);
|
|
112
115
|
__classPrivateFieldSet(this, _NodeTransferUploader_isShuttingDown, true, "f");
|
|
113
116
|
break;
|
|
@@ -115,12 +118,12 @@ class NodeTransferUploader {
|
|
|
115
118
|
finally {
|
|
116
119
|
// @ts-ignore Typescript's brainfart
|
|
117
120
|
if (__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").status !== TransferStatus.Completed && !__classPrivateFieldGet(this, _NodeTransferUploader_isShuttingDown, "f")) {
|
|
118
|
-
|
|
121
|
+
this.logWarning(`Retrying transfer in ${TransferFailedSleepInMs}ms.`);
|
|
119
122
|
await sleep(TransferFailedSleepInMs);
|
|
120
123
|
}
|
|
121
124
|
}
|
|
122
125
|
} while (__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").progressInPercentage < 100 && !__classPrivateFieldGet(this, _NodeTransferUploader_isShuttingDown, "f"));
|
|
123
|
-
|
|
126
|
+
this.logInfo(`Upload finished`);
|
|
124
127
|
}
|
|
125
128
|
setFailedReasonFromError(error) {
|
|
126
129
|
if (error.message.startsWith(`Unhandled error occured`) && error.cause)
|
|
@@ -129,33 +132,48 @@ class NodeTransferUploader {
|
|
|
129
132
|
}
|
|
130
133
|
addTransferEventListeners() {
|
|
131
134
|
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileChunkUploadFailed, eventArgs => {
|
|
132
|
-
|
|
135
|
+
this.logWarning(`File ${eventArgs.fileStatus.externalId} chunk id = ${eventArgs.chunkIndex} upload failed: ${eventArgs.reason}`);
|
|
133
136
|
const isFileAccessError = eventArgs.chunkStatus.failedError?.cause instanceof FsError;
|
|
134
137
|
const fullFilePathOrName = this.getFullFilePathOrFileName(eventArgs.fileStatus);
|
|
135
138
|
if (isFileAccessError && !__classPrivateFieldGet(this, _NodeTransferUploader_isShuttingDown, "f")) {
|
|
136
139
|
__classPrivateFieldSet(this, _NodeTransferUploader_failedReason, `Can't read ${fullFilePathOrName} anymore`, "f");
|
|
137
|
-
|
|
140
|
+
this.logError(new Error(`${__classPrivateFieldGet(this, _NodeTransferUploader_failedReason, "f")}. Aborting...`));
|
|
138
141
|
this.stop();
|
|
139
142
|
}
|
|
140
143
|
if (!__classPrivateFieldGet(this, _NodeTransferUploader_options, "f").infiniteRetries && !__classPrivateFieldGet(this, _NodeTransferUploader_isShuttingDown, "f")) {
|
|
141
144
|
__classPrivateFieldSet(this, _NodeTransferUploader_failedReason, `Uploading ${fullFilePathOrName} failed after ${__classPrivateFieldGet(this, _NodeTransferUploader_options, "f").chunkUploadRetryLimit} retries`, "f");
|
|
142
|
-
|
|
145
|
+
this.logError(new Error(`${__classPrivateFieldGet(this, _NodeTransferUploader_failedReason, "f")}. Aborting...`));
|
|
143
146
|
this.stop();
|
|
144
147
|
}
|
|
145
148
|
});
|
|
146
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferRun, () =>
|
|
147
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferAbortRequested, () =>
|
|
148
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferAborted, async () =>
|
|
149
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferCancelRequested, () =>
|
|
150
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferCanceled, () =>
|
|
151
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferFailed, () =>
|
|
152
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferCompleted, eventArgs =>
|
|
153
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileChunkUploadProgressed, eventArgs =>
|
|
154
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileUploadStarted, eventArgs =>
|
|
155
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileUploadCompleted, eventArgs =>
|
|
156
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileUploadFailed, eventArgs =>
|
|
157
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileChunkUploadStarted, eventArgs =>
|
|
158
|
-
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileChunkUploadCompleted, eventArgs =>
|
|
149
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferRun, () => this.logInfo(`Transfer run.`));
|
|
150
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferAbortRequested, () => this.logInfo(`Transfer abort requested`));
|
|
151
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferAborted, async () => this.logInfo(`Transfer aborted.`));
|
|
152
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferCancelRequested, () => this.logInfo(`Transfer cancel requested.`));
|
|
153
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferCanceled, () => this.logInfo(`Transfer canceled.`));
|
|
154
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferFailed, () => this.logError(new Error(`Transfer failed.`)));
|
|
155
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.TransferCompleted, eventArgs => this.logInfo(`Transfer completed successfully. URL: ${eventArgs.transferUrl}`));
|
|
156
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileChunkUploadProgressed, eventArgs => this.logTrace(`File ${eventArgs.fileStatus.externalId} chunk id = ${eventArgs.chunkIndex} progressed: ${eventArgs.chunkStatus.uploadedBytesCount} bytes. Total progress: ${__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f")?.progressInPercentage}%.`));
|
|
157
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileUploadStarted, eventArgs => this.logDebug(`File ${eventArgs.fileStatus.externalId} upload started.`));
|
|
158
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileUploadCompleted, eventArgs => this.logDebug(`File ${eventArgs.fileStatus.externalId} upload completed.`));
|
|
159
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileUploadFailed, eventArgs => this.logError(new Error(`File ${eventArgs.fileStatus.externalId} upload failed: ${eventArgs.reason}`)));
|
|
160
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileChunkUploadStarted, eventArgs => this.logTrace(`File ${eventArgs.fileStatus.externalId} chunk id = ${eventArgs.chunkIndex} upload started`));
|
|
161
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_transfer, "f").addEventListener(TransferUploadEvent.FileChunkUploadCompleted, eventArgs => this.logTrace(`File ${eventArgs.fileStatus.externalId} chunk id = ${eventArgs.chunkIndex} upload completed`));
|
|
162
|
+
}
|
|
163
|
+
logTrace(message) {
|
|
164
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_logger, "f").logTrace(`[${__classPrivateFieldGet(this, _NodeTransferUploader_trackingId, "f")}] ${message}`);
|
|
165
|
+
}
|
|
166
|
+
logDebug(message) {
|
|
167
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_logger, "f").logDebug(`[${__classPrivateFieldGet(this, _NodeTransferUploader_trackingId, "f")}] ${message}`);
|
|
168
|
+
}
|
|
169
|
+
logInfo(message) {
|
|
170
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_logger, "f").logInfo(`[${__classPrivateFieldGet(this, _NodeTransferUploader_trackingId, "f")}] ${message}`);
|
|
171
|
+
}
|
|
172
|
+
logWarning(message) {
|
|
173
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_logger, "f").logWarning(`[${__classPrivateFieldGet(this, _NodeTransferUploader_trackingId, "f")}] ${message}`);
|
|
174
|
+
}
|
|
175
|
+
logError(error) {
|
|
176
|
+
__classPrivateFieldGet(this, _NodeTransferUploader_logger, "f").logError(error, `[${__classPrivateFieldGet(this, _NodeTransferUploader_trackingId, "f")}] ${error.message}`);
|
|
159
177
|
}
|
|
160
178
|
getFullFilePathOrFileName(fileStatus) {
|
|
161
179
|
const fileDetails = __classPrivateFieldGet(this, _NodeTransferUploader_fileDetails, "f").find(f => f.externalId === fileStatus.externalId);
|
|
@@ -164,6 +182,6 @@ class NodeTransferUploader {
|
|
|
164
182
|
return fileStatus.fileName;
|
|
165
183
|
}
|
|
166
184
|
}
|
|
167
|
-
_NodeTransferUploader_logger = new WeakMap(), _NodeTransferUploader_fileDetails = new WeakMap(), _NodeTransferUploader_options = new WeakMap(), _NodeTransferUploader_envValues = new WeakMap(), _NodeTransferUploader_pauseController = new WeakMap(), _NodeTransferUploader_abortController = new WeakMap(), _NodeTransferUploader_transfer = new WeakMap(), _NodeTransferUploader_isShuttingDown = new WeakMap(), _NodeTransferUploader_failedReason = new WeakMap();
|
|
185
|
+
_NodeTransferUploader_logger = new WeakMap(), _NodeTransferUploader_trackingId = new WeakMap(), _NodeTransferUploader_fileDetails = new WeakMap(), _NodeTransferUploader_options = new WeakMap(), _NodeTransferUploader_envValues = new WeakMap(), _NodeTransferUploader_pauseController = new WeakMap(), _NodeTransferUploader_abortController = new WeakMap(), _NodeTransferUploader_transfer = new WeakMap(), _NodeTransferUploader_isShuttingDown = new WeakMap(), _NodeTransferUploader_failedReason = new WeakMap();
|
|
168
186
|
export default NodeTransferUploader;
|
|
169
187
|
//# sourceMappingURL=nodeTransferUploader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeTransferUploader.js","sourceRoot":"","sources":["../../../../src/client/node/nodeTransferUploader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAsD;AACtD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,2BAA2B,MAAM,qDAAqD,CAAC;AAC9F,OAAO,iBAAiB,MAAM,4CAA4C,CAAC;AAC3E,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,OAAO,MAAM,mCAAmC,CAAC;AACxD,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AAWxE,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAqB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"nodeTransferUploader.js","sourceRoot":"","sources":["../../../../src/client/node/nodeTransferUploader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAsD;AACtD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,2BAA2B,MAAM,qDAAqD,CAAC;AAC9F,OAAO,iBAAiB,MAAM,4CAA4C,CAAC;AAC3E,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,OAAO,MAAM,mCAAmC,CAAC;AACxD,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AAWxE,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAqB,oBAAoB;IAoBrC,YAAY,WAA8B,EAAE,OAAgC,EAAE,SAA+B,EAAE,MAAc,EAAE,UAAqC;QAnBpK,+CAAgB;QAChB,mDAA6B;QAE7B,oDAAgC;QAEhC,gDAAkC;QAClC,kDAAiC;QAEjC,wDAAmC;QACnC,wDAAmC;QAEnC,iDAA0B;QAE1B,+CAAkB,KAAK,EAAC;QAExB,qDAAuB;QAKnB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE5D,uBAAA,IAAI,gCAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,oCAAe,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,MAAA,CAAC;QAEhD,uBAAA,IAAI,qCAAgB,WAAW,MAAA,CAAC;QAEhC,uBAAA,IAAI,iCAAY,OAAO,MAAA,CAAC;QACxB,uBAAA,IAAI,mCAAc,SAAS,MAAA,CAAC;QAE5B,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC5C,MAAM,uBAAuB,GAAG,IAAI,2BAA2B,CAAC,uBAAA,IAAI,uCAAW,CAAC,MAAM,EAAE,uBAAA,IAAI,uCAAW,CAAC,aAAa,EAAE,uBAAA,IAAI,qCAAS,CAAC,qBAAqB,EAAE,uBAAA,IAAI,qCAAS,CAAC,qBAAqB,CAAC,CAAC;QACjM,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,uBAAA,IAAI,qCAAS,CAAC,yBAAyB,CAAC,CAAC;QAEjF,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,uBAAA,IAAI,uCAAW,CAAC,UAAU,EAAE,uBAAA,IAAI,uCAAW,CAAC,MAAM,EAAE,uBAAA,IAAI,uCAAW,CAAC,aAAa,EAAE,uBAAA,IAAI,qCAAS,CAAC,0BAA0B,EAAE,uBAAA,IAAI,qCAAS,CAAC,aAAa,CAAC,CAAC;QAC9L,SAAS,CAAC,aAAa,CAAC,uBAAA,IAAI,qCAAS,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,UAAU;YACV,uBAAA,IAAI,kCAAa,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,YAAY,EAAE,SAAS,CAAC,MAAA,CAAC;aAC9H;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAEpD,uBAAA,IAAI,kCAAa,IAAI,cAAc,CAAC,SAAS,EAAE,uBAAuB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,MAAA,CAAC;YAClH,uBAAA,IAAI,sCAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAEO,oBAAoB;QACxB,OAAO;YACH,YAAY,EAAE,uBAAA,IAAI,qCAAS,CAAC,YAAY;YACxC,IAAI,EAAE,uBAAA,IAAI,qCAAS,CAAC,IAAI;YACxB,IAAI,EAAE,uBAAA,IAAI,qCAAS,CAAC,IAAI;YACxB,OAAO,EAAE,uBAAA,IAAI,qCAAS,CAAC,OAAO;YAC9B,MAAM,EAAE,uBAAA,IAAI,qCAAS,CAAC,MAAM;YAC5B,OAAO,EAAE,uBAAA,IAAI,qCAAS,CAAC,OAAO;YAC9B,EAAE,EAAE,uBAAA,IAAI,qCAAS,CAAC,EAAE;YACpB,cAAc,EAAE,uBAAA,IAAI,qCAAS,CAAC,cAAc;SAC/C,CAAC;IACN,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,uBAAA,IAAI,sCAAU,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,uBAAA,IAAI,0CAAc,CAAC;IAC9B,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE7B,IAAI,CAAC,uBAAA,IAAI,6CAAiB;YACtB,MAAM,IAAI,mBAAmB,CAAC,kCAAkC,CAAC,CAAC;QAEtE,uBAAA,IAAI,6CAAiB,CAAC,KAAK,EAAE,CAAC;QAE9B,uBAAA,IAAI,wCAAmB,IAAI,MAAA,CAAC;IAChC,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE5B,IAAI,CAAC,uBAAA,IAAI,6CAAiB;YACtB,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;QAErE,uBAAA,IAAI,6CAAiB,CAAC,KAAK,EAAE,CAAC;QAE9B,uBAAA,IAAI,wCAAmB,IAAI,MAAA,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,MAAM;QACf,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAE9B,MAAM,uBAAA,IAAI,sCAAU,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,uBAAA,IAAI,sCAAU,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,IAAI,uBAAA,IAAI,sCAAU,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,IAAI,uBAAA,IAAI,sCAAU,CAAC,MAAM,KAAK,cAAc,CAAC,WAAW,IAAI,uBAAA,IAAI,sCAAU,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;YAC9M,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,cAAc,CAAC,uBAAA,IAAI,sCAAU,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAErH,IAAI,CAAC,OAAO,CAAC,4CAA4C,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,uBAAuB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAEzL,MAAM,iBAAiB,GAAG,uBAAA,IAAI,sCAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,UAAU,YAAY,CAAC,CAAC,WAAW,mCAAmC,CAAC,CAAC,6BAA6B,WAAW,CAAC,CAAC;QACjN,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEjF,uBAAA,IAAI,sCAAiB,SAAS,MAAA,CAAC;QAC/B,uBAAA,IAAI,wCAAmB,KAAK,MAAA,CAAC;QAE7B,uBAAA,IAAI,yCAAoB,IAAI,eAAe,EAAE,MAAA,CAAC;QAC9C,uBAAA,IAAI,yCAAoB,IAAI,eAAe,EAAE,MAAA,CAAC;QAE9C,GAAG;YACC,qCAAqC;YACrC,IAAI;gBACA,MAAM,uBAAA,IAAI,sCAAU,CAAC,GAAG,CAAC,uBAAA,IAAI,6CAAiB,EAAE,uBAAA,IAAI,6CAAiB,CAAC,CAAC;aAC1E;YACD,OAAO,KAAK,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,KAA4B,CAAC,CAAC;gBAE5C,IAAI,CAAC,wBAAwB,CAAC,KAA4B,CAAC,CAAC;gBAC5D,uBAAA,IAAI,wCAAmB,IAAI,MAAA,CAAC;gBAE5B,MAAM;aACT;oBACO;gBACJ,oCAAoC;gBACpC,IAAI,uBAAA,IAAI,sCAAU,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,IAAI,CAAC,uBAAA,IAAI,4CAAgB,EAAE;oBAC7E,IAAI,CAAC,UAAU,CAAC,wBAAwB,uBAAuB,KAAK,CAAC,CAAC;oBAEtE,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;iBACxC;aACJ;SACJ,QACM,uBAAA,IAAI,sCAAU,CAAC,oBAAoB,GAAG,GAAG,IAAI,CAAC,uBAAA,IAAI,4CAAgB,EAAE;QAE3E,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAEO,wBAAwB,CAAC,KAA0B;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,KAAK,CAAC,KAAK;YAClE,uBAAA,IAAI,sCAAiB,KAAK,CAAC,KAAK,CAAC,OAAO,MAAA,CAAC;QAE7C,uBAAA,IAAI,sCAAiB,KAAK,CAAC,OAAO,MAAA,CAAC;IACvC,CAAC;IAEO,yBAAyB;QAC7B,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE;YACnF,IAAI,CAAC,UAAU,CAAC,QAAQ,SAAS,CAAC,UAAU,CAAC,UAAU,eAAe,SAAS,CAAC,UAAU,mBAAmB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAEjI,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,YAAY,OAAO,CAAC;YACtF,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAEhF,IAAI,iBAAiB,IAAI,CAAC,uBAAA,IAAI,4CAAgB,EAAE;gBAC5C,uBAAA,IAAI,sCAAiB,cAAc,kBAAkB,UAAU,MAAA,CAAC;gBAEhE,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,uBAAA,IAAI,0CAAc,eAAe,CAAC,CAAC,CAAC;gBAE/D,IAAI,CAAC,IAAI,EAAE,CAAC;aACf;YAED,IAAI,CAAC,uBAAA,IAAI,qCAAS,CAAC,eAAe,IAAI,CAAC,uBAAA,IAAI,4CAAgB,EAAE;gBACzD,uBAAA,IAAI,sCAAiB,aAAa,kBAAkB,iBAAiB,uBAAA,IAAI,qCAAS,CAAC,qBAAqB,UAAU,MAAA,CAAC;gBAEnH,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,uBAAA,IAAI,0CAAc,eAAe,CAAC,CAAC,CAAC;gBAE/D,IAAI,CAAC,IAAI,EAAE,CAAC;aACf;QACL,CAAC,CAAC,CAAC;QAEH,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QACtG,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC5H,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACpH,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAC/H,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAChH,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAExH,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,yCAAyC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACpK,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,SAAS,CAAC,UAAU,CAAC,UAAU,eAAe,SAAS,CAAC,UAAU,gBAAgB,SAAS,CAAC,WAAW,CAAC,kBAAkB,2BAA2B,uBAAA,IAAI,sCAAU,EAAE,oBAAoB,IAAI,CAAC,CAAC,CAAC;QAElT,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,SAAS,CAAC,UAAU,CAAC,UAAU,kBAAkB,CAAC,CAAC,CAAC;QAC9J,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,SAAS,CAAC,UAAU,CAAC,UAAU,oBAAoB,CAAC,CAAC,CAAC;QAClK,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,SAAS,CAAC,UAAU,CAAC,UAAU,mBAAmB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3L,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,SAAS,CAAC,UAAU,CAAC,UAAU,eAAe,SAAS,CAAC,UAAU,iBAAiB,CAAC,CAAC,CAAC;QACrM,uBAAA,IAAI,sCAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,SAAS,CAAC,UAAU,CAAC,UAAU,eAAe,SAAS,CAAC,UAAU,mBAAmB,CAAC,CAAC,CAAC;IAC7M,CAAC;IAEO,QAAQ,CAAC,OAAe;QAC5B,uBAAA,IAAI,oCAAQ,CAAC,QAAQ,CAAC,IAAI,uBAAA,IAAI,wCAAY,KAAK,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,QAAQ,CAAC,OAAe;QAC5B,uBAAA,IAAI,oCAAQ,CAAC,QAAQ,CAAC,IAAI,uBAAA,IAAI,wCAAY,KAAK,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,OAAO,CAAC,OAAe;QAC3B,uBAAA,IAAI,oCAAQ,CAAC,OAAO,CAAC,IAAI,uBAAA,IAAI,wCAAY,KAAK,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEO,UAAU,CAAC,OAAe;QAC9B,uBAAA,IAAI,oCAAQ,CAAC,UAAU,CAAC,IAAI,uBAAA,IAAI,wCAAY,KAAK,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAEO,QAAQ,CAAC,KAAY;QACzB,uBAAA,IAAI,oCAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,uBAAA,IAAI,wCAAY,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,yBAAyB,CAAC,UAA4C;QAC1E,MAAM,WAAW,GAAG,uBAAA,IAAI,yCAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;QAExF,IAAI,WAAW;YACX,OAAO,WAAW,CAAC,YAAY,CAAC;QAEpC,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACJ;;eA1NoB,oBAAoB"}
|