@superdurable/dex 1.23.0 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -17
- package/dist/src/client.d.ts +3 -2
- package/dist/src/client.js +10 -16
- package/dist/src/client.js.map +1 -1
- package/dist/src/errors.d.ts +1 -1
- package/dist/src/errors.js +1 -1
- package/dist/src/errors.js.map +1 -1
- package/dist/src/grpc-status.d.ts +0 -1
- package/dist/src/grpc-status.js +2 -31
- package/dist/src/grpc-status.js.map +1 -1
- package/dist/src/options.d.ts +7 -53
- package/dist/src/options.js.map +1 -1
- package/dist/src/pull-registration.d.ts +1 -1
- package/dist/src/pull-worker.js +15 -3
- package/dist/src/pull-worker.js.map +1 -1
- package/dist/src/sdk-version.generated.d.ts +1 -1
- package/dist/src/sdk-version.generated.js +1 -1
- package/dist/src/worker-dispatcher.js +7 -12
- package/dist/src/worker-dispatcher.js.map +1 -1
- package/dist/src/worker.d.ts +14 -21
- package/dist/src/worker.js +25 -214
- package/dist/src/worker.js.map +1 -1
- package/native/windows-x86_64/dex_blob_cache_node.node +0 -0
- package/package.json +1 -1
- package/dist/src/worker-target.d.ts +0 -3
- package/dist/src/worker-target.js +0 -23
- package/dist/src/worker-target.js.map +0 -1
package/dist/src/worker.js
CHANGED
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
// See the LICENSE file in the repository root.
|
|
6
6
|
//
|
|
7
7
|
// SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
|
|
8
|
-
import {
|
|
8
|
+
import { Metadata, credentials } from "@grpc/grpc-js";
|
|
9
9
|
import { credentialInterceptors } from "./credential.js";
|
|
10
|
-
import { FlowServiceClient
|
|
11
|
-
import { workerServiceError } from "./grpc-status.js";
|
|
10
|
+
import { FlowServiceClient } from "./gen/dex.js";
|
|
12
11
|
import { registeredAttributeIndexes } from "./flow.js";
|
|
13
12
|
import { negotiateServerProtocol, serverInfoRequestError } from "./server-protocol.js";
|
|
14
13
|
import { sdkVersion } from "./sdk-version.generated.js";
|
|
@@ -17,11 +16,11 @@ import { WorkerDispatcher } from "./worker-dispatcher.js";
|
|
|
17
16
|
import { PullWorker } from "./pull-worker.js";
|
|
18
17
|
export { PullRegistrationError } from "./pull-registration.js";
|
|
19
18
|
/**
|
|
20
|
-
* Hosts registered Step and RPC handlers through
|
|
19
|
+
* Hosts registered Step and RPC handlers through outbound pull streams.
|
|
21
20
|
*
|
|
22
21
|
* A Worker is one-shot. Call `start` for non-blocking startup or `run` to await
|
|
23
22
|
* shutdown, then call `close`. Concurrent handlers must synchronize shared state.
|
|
24
|
-
*
|
|
23
|
+
* `close` drains for `stopDrainTimeoutMs`, then cancels handlers and
|
|
25
24
|
* waits for them to return. Half-closed streams wait for server EOF until the
|
|
26
25
|
* remaining drain deadline. A handler that ignores cancellation can delay shutdown.
|
|
27
26
|
*
|
|
@@ -29,20 +28,13 @@ export { PullRegistrationError } from "./pull-registration.js";
|
|
|
29
28
|
* ```ts
|
|
30
29
|
* const worker = new Worker(registry, cache);
|
|
31
30
|
* await worker.start();
|
|
32
|
-
* try {
|
|
31
|
+
* try { await worker.waitPullRegistered({ timeoutMs: 10_000 }); } finally { await worker.close(); }
|
|
33
32
|
* ```
|
|
34
33
|
*/
|
|
35
34
|
export class Worker {
|
|
36
35
|
registry;
|
|
37
36
|
blobCache;
|
|
38
37
|
options;
|
|
39
|
-
/**
|
|
40
|
-
* Effective endpoint advertised to Dex.
|
|
41
|
-
* In pull mode, the runtime value also carries `pull: true` and an empty address.
|
|
42
|
-
* Pass it directly to ClientOptions.workerTarget or a Flow configuration override.
|
|
43
|
-
*/
|
|
44
|
-
workerTarget;
|
|
45
|
-
server = new Server();
|
|
46
38
|
flowService;
|
|
47
39
|
pullWorker;
|
|
48
40
|
stopped;
|
|
@@ -51,53 +43,39 @@ export class Worker {
|
|
|
51
43
|
negotiatedProtocolVersion = 0;
|
|
52
44
|
shutdownError;
|
|
53
45
|
/**
|
|
54
|
-
* Constructs a Worker without starting its
|
|
46
|
+
* Constructs a Worker without starting its task streams. Workers need only an outbound connection to the Dex Server.
|
|
55
47
|
* @param registry - Flow definitions served by this Worker.
|
|
56
48
|
* @param blobCache - Open cache used to hydrate large handler values.
|
|
57
|
-
* @param options -
|
|
58
|
-
* @throws {TypeError} When
|
|
49
|
+
* @param options - Server connectivity, task capacity, bearer credential, and startup settings; uses local defaults when omitted.
|
|
50
|
+
* @throws {TypeError} When the Worker ID is invalid.
|
|
59
51
|
* @throws {RangeError} When a pull capacity or drain timeout is invalid.
|
|
60
52
|
*/
|
|
61
53
|
constructor(registry, blobCache, options = {}) {
|
|
62
54
|
this.registry = registry;
|
|
63
55
|
this.blobCache = blobCache;
|
|
64
56
|
this.options = options;
|
|
65
|
-
if (options.pull !== undefined && (options.bindAddress !== undefined || options.workerTarget !== undefined)) {
|
|
66
|
-
throw new TypeError("pull Worker cannot configure bindAddress or workerTarget");
|
|
67
|
-
}
|
|
68
|
-
const bindAddress = options.bindAddress ?? "127.0.0.1:8803";
|
|
69
|
-
const pullTarget = { address: "", pull: true };
|
|
70
|
-
this.workerTarget = options.pull === undefined
|
|
71
|
-
? options.workerTarget ?? targetFromBindAddress(bindAddress)
|
|
72
|
-
: pullTarget;
|
|
73
57
|
this.flowService = new FlowServiceClient(options.serverAddress ?? "localhost:8801", credentials.createInsecure(), { interceptors: credentialInterceptors(options.credential) });
|
|
74
58
|
const dispatcher = new WorkerDispatcher(registry, new ValueHydrator(this.flowService, blobCache), () => this.negotiatedProtocolVersion);
|
|
75
59
|
try {
|
|
76
|
-
this.pullWorker = options.pull
|
|
77
|
-
? undefined
|
|
78
|
-
: new PullWorker(registry, dispatcher, options.serverAddress ?? "localhost:8801", options.pull, options.credential, () => this.stopAfterPermanentRejection());
|
|
60
|
+
this.pullWorker = new PullWorker(registry, dispatcher, options.serverAddress ?? "localhost:8801", options.pull ?? {}, options.credential, () => this.stopAfterPermanentRejection());
|
|
79
61
|
}
|
|
80
62
|
catch (failure) {
|
|
81
63
|
this.flowService.close();
|
|
82
64
|
throw failure;
|
|
83
65
|
}
|
|
84
|
-
if (this.pullWorker === undefined) {
|
|
85
|
-
this.server.addService(WorkerServiceService, workerService(dispatcher));
|
|
86
|
-
}
|
|
87
66
|
this.stopped = new Promise((resolve) => {
|
|
88
67
|
this.resolveStopped = resolve;
|
|
89
68
|
});
|
|
90
69
|
}
|
|
91
70
|
/**
|
|
92
|
-
* Negotiates the Server protocol, synchronizes indexes, and starts
|
|
93
|
-
* The promise resolves after
|
|
71
|
+
* Negotiates the Server protocol, synchronizes indexes, and starts polling.
|
|
72
|
+
* The promise resolves after launching pull streams; call exactly once.
|
|
94
73
|
* Await waitPullRegistered separately to gate startup on pull queue acknowledgements.
|
|
95
74
|
*/
|
|
96
75
|
async start() {
|
|
97
76
|
if (this.state !== "created") {
|
|
98
77
|
throw new Error(`Worker cannot start from state ${this.state}`);
|
|
99
78
|
}
|
|
100
|
-
const bindAddress = this.options.bindAddress ?? "127.0.0.1:8803";
|
|
101
79
|
try {
|
|
102
80
|
const timeoutMs = this.options.attributeIndexSyncTimeoutMs ?? 120_000;
|
|
103
81
|
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
@@ -112,22 +90,15 @@ export class Worker {
|
|
|
112
90
|
}
|
|
113
91
|
this.negotiatedProtocolVersion = negotiateServerProtocol(serverInfo, sdkVersion);
|
|
114
92
|
await syncAttributeIndexes(this.flowService, this.registry, timeoutMs);
|
|
115
|
-
|
|
116
|
-
await bind(this.server, bindAddress);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
this.pullWorker.start();
|
|
120
|
-
}
|
|
93
|
+
this.pullWorker.start();
|
|
121
94
|
this.state = "running";
|
|
122
95
|
}
|
|
123
96
|
catch (failure) {
|
|
124
|
-
const endpoint = this.
|
|
125
|
-
? `Worker on ${bindAddress}`
|
|
126
|
-
: `pull Worker for ${this.options.serverAddress ?? "localhost:8801"}`;
|
|
97
|
+
const endpoint = `pull Worker for ${this.options.serverAddress ?? "localhost:8801"}`;
|
|
127
98
|
const startupError = new Error(`cannot start TypeScript ${endpoint}`, { cause: failure });
|
|
128
|
-
this.pullWorker
|
|
99
|
+
this.pullWorker.registration.stopped(startupError);
|
|
129
100
|
this.state = "stopped";
|
|
130
|
-
await this.pullWorker
|
|
101
|
+
await this.pullWorker.close();
|
|
131
102
|
this.flowService.close();
|
|
132
103
|
this.resolveStopped();
|
|
133
104
|
throw startupError;
|
|
@@ -144,7 +115,7 @@ export class Worker {
|
|
|
144
115
|
await this.stopped;
|
|
145
116
|
if (this.shutdownError !== undefined)
|
|
146
117
|
throw this.shutdownError;
|
|
147
|
-
if (this.options.pull?.stopOnPermanentStreamRejection === true && this.pullWorker
|
|
118
|
+
if (this.options.pull?.stopOnPermanentStreamRejection === true && this.pullWorker.registration.permanentError !== undefined) {
|
|
148
119
|
throw this.pullWorker.registration.permanentError;
|
|
149
120
|
}
|
|
150
121
|
}
|
|
@@ -155,7 +126,7 @@ export class Worker {
|
|
|
155
126
|
* @param options - Optional AbortSignal and positive timeout in milliseconds; defaults to waiting indefinitely.
|
|
156
127
|
* @returns A promise resolved after all queues have registered once.
|
|
157
128
|
* @throws {PullRegistrationError} A permanent rejection leaves a queue without another registered stream before readiness.
|
|
158
|
-
* @throws {Error} Startup fails
|
|
129
|
+
* @throws {Error} Startup fails or the Worker stops before readiness.
|
|
159
130
|
* @throws {RangeError} The timeout is invalid.
|
|
160
131
|
* @throws {DOMException} The timeout expires; cancellation rejects with the signal's reason.
|
|
161
132
|
* @example
|
|
@@ -166,34 +137,32 @@ export class Worker {
|
|
|
166
137
|
* ```
|
|
167
138
|
*/
|
|
168
139
|
waitPullRegistered(options = {}) {
|
|
169
|
-
if (this.pullWorker === undefined)
|
|
170
|
-
return Promise.reject(new Error("waitPullRegistered requires a pull Worker"));
|
|
171
140
|
return this.pullWorker.registration.wait(options);
|
|
172
141
|
}
|
|
173
142
|
/**
|
|
174
143
|
* Cumulative Step declines caused by reserved RPC capacity during this Worker's lifetime.
|
|
175
144
|
* Counts decline events. Dex may decline the same Step dispatch repeatedly while retrying it,
|
|
176
145
|
* so read the counter as a rate. Excludes full-capacity rejections and unknown names. The count never resets and
|
|
177
|
-
* remains available after close.
|
|
146
|
+
* remains available after close. Reading during
|
|
178
147
|
* handler execution is safe. Export the value to a monitoring counter.
|
|
179
|
-
* @returns The cumulative reserve-decline count
|
|
148
|
+
* @returns The cumulative reserve-decline count.
|
|
180
149
|
* @example
|
|
181
150
|
* ```ts
|
|
182
151
|
* const declines = worker.pullReservedRpcDeclines;
|
|
183
152
|
* ```
|
|
184
153
|
*/
|
|
185
154
|
get pullReservedRpcDeclines() {
|
|
186
|
-
return this.pullWorker
|
|
155
|
+
return this.pullWorker.reservedRpcDeclines;
|
|
187
156
|
}
|
|
188
157
|
/**
|
|
189
158
|
* Returns an independent snapshot of pull queue registrations.
|
|
190
159
|
* Readiness latches after every queue registers once. Only a permanent rejection with no
|
|
191
160
|
* registered stream makes it false; re-registration clears the queue error. Stop preserves readiness.
|
|
192
|
-
* @returns Current readiness and queue snapshots
|
|
161
|
+
* @returns Current readiness and queue snapshots.
|
|
193
162
|
* See waitPullRegistered for a startup and readiness example. Treat errors as immutable.
|
|
194
163
|
*/
|
|
195
164
|
pullRegistrationState() {
|
|
196
|
-
return this.pullWorker
|
|
165
|
+
return this.pullWorker.registration.snapshot();
|
|
197
166
|
}
|
|
198
167
|
stopAfterPermanentRejection() {
|
|
199
168
|
this.close().catch((failure) => {
|
|
@@ -202,7 +171,7 @@ export class Worker {
|
|
|
202
171
|
});
|
|
203
172
|
}
|
|
204
173
|
/**
|
|
205
|
-
* Gracefully
|
|
174
|
+
* Gracefully drains tasks, then releases connections.
|
|
206
175
|
* A pull Worker force-cancels after its drain timeout and waits for handlers to return.
|
|
207
176
|
* Half-closed pull streams wait for server EOF until the remaining drain deadline.
|
|
208
177
|
* Calls before `start` and repeated calls after shutdown are safe.
|
|
@@ -213,7 +182,7 @@ export class Worker {
|
|
|
213
182
|
}
|
|
214
183
|
if (this.state === "created") {
|
|
215
184
|
this.state = "closed";
|
|
216
|
-
await this.pullWorker
|
|
185
|
+
await this.pullWorker.close();
|
|
217
186
|
this.flowService.close();
|
|
218
187
|
this.resolveStopped();
|
|
219
188
|
return;
|
|
@@ -221,12 +190,7 @@ export class Worker {
|
|
|
221
190
|
if (this.state === "running") {
|
|
222
191
|
this.state = "stopping";
|
|
223
192
|
try {
|
|
224
|
-
|
|
225
|
-
await shutdown(this.server);
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
await this.pullWorker.close();
|
|
229
|
-
}
|
|
193
|
+
await this.pullWorker.close();
|
|
230
194
|
}
|
|
231
195
|
finally {
|
|
232
196
|
this.flowService.close();
|
|
@@ -262,157 +226,4 @@ function syncAttributeIndexes(service, registry, timeoutMs) {
|
|
|
262
226
|
});
|
|
263
227
|
});
|
|
264
228
|
}
|
|
265
|
-
function workerService(dispatcher) {
|
|
266
|
-
return {
|
|
267
|
-
invokeWaitForMethod(call) {
|
|
268
|
-
invokeStep(call, (signal, output) => dispatcher.invokeWaitFor(call.request, signal, output), waitForOutput);
|
|
269
|
-
},
|
|
270
|
-
invokeExecuteMethod(call) {
|
|
271
|
-
invokeStep(call, (signal, output) => dispatcher.invokeExecute(call.request, signal, output), executeOutput);
|
|
272
|
-
},
|
|
273
|
-
invokeWorkerRpc(call, callback) {
|
|
274
|
-
invoke(call, (signal) => dispatcher.invokeRPC(call.request, signal), callback);
|
|
275
|
-
},
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
class GrpcStepOutputEmitter {
|
|
279
|
-
call;
|
|
280
|
-
outputs;
|
|
281
|
-
isActive = true;
|
|
282
|
-
constructor(call, outputs) {
|
|
283
|
-
this.call = call;
|
|
284
|
-
this.outputs = outputs;
|
|
285
|
-
}
|
|
286
|
-
recordHeartbeat(value) {
|
|
287
|
-
this.write(this.outputs.heartbeat(value));
|
|
288
|
-
return Promise.resolve();
|
|
289
|
-
}
|
|
290
|
-
writeStream(write) {
|
|
291
|
-
this.write(this.outputs.streamWrite(write));
|
|
292
|
-
}
|
|
293
|
-
finish(response) {
|
|
294
|
-
if (!this.isActive) {
|
|
295
|
-
return;
|
|
296
|
-
}
|
|
297
|
-
this.isActive = false;
|
|
298
|
-
this.call.write(this.outputs.result(response));
|
|
299
|
-
this.call.end();
|
|
300
|
-
}
|
|
301
|
-
fail(failure) {
|
|
302
|
-
if (!this.isActive) {
|
|
303
|
-
return;
|
|
304
|
-
}
|
|
305
|
-
this.isActive = false;
|
|
306
|
-
this.call.emit("error", workerServiceError(failure));
|
|
307
|
-
}
|
|
308
|
-
cancel() {
|
|
309
|
-
this.isActive = false;
|
|
310
|
-
}
|
|
311
|
-
write(output) {
|
|
312
|
-
if (!this.isActive || this.call.cancelled) {
|
|
313
|
-
throw new Error("Step invocation is no longer active");
|
|
314
|
-
}
|
|
315
|
-
this.call.write(output);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
function invokeStep(call, invocation, outputs) {
|
|
319
|
-
const controller = new AbortController();
|
|
320
|
-
const emitter = new GrpcStepOutputEmitter(call, outputs);
|
|
321
|
-
const cancel = () => {
|
|
322
|
-
controller.abort();
|
|
323
|
-
emitter.cancel();
|
|
324
|
-
};
|
|
325
|
-
call.once("cancelled", cancel);
|
|
326
|
-
if (call.cancelled) {
|
|
327
|
-
cancel();
|
|
328
|
-
}
|
|
329
|
-
invocation(controller.signal, emitter)
|
|
330
|
-
.then((response) => emitter.finish(response), (failure) => emitter.fail(failure))
|
|
331
|
-
.finally(() => call.off("cancelled", cancel));
|
|
332
|
-
}
|
|
333
|
-
const waitForOutput = {
|
|
334
|
-
heartbeat: (value) => InvokeWaitForMethodOutput.create({
|
|
335
|
-
output: { $case: "heartbeat", value: { value } },
|
|
336
|
-
}),
|
|
337
|
-
streamWrite: (write) => InvokeWaitForMethodOutput.create({
|
|
338
|
-
output: { $case: "streamWrite", value: write },
|
|
339
|
-
}),
|
|
340
|
-
result: (response) => InvokeWaitForMethodOutput.create({
|
|
341
|
-
output: { $case: "result", value: response },
|
|
342
|
-
}),
|
|
343
|
-
};
|
|
344
|
-
const executeOutput = {
|
|
345
|
-
heartbeat: (value) => InvokeExecuteMethodOutput.create({
|
|
346
|
-
output: { $case: "heartbeat", value: { value } },
|
|
347
|
-
}),
|
|
348
|
-
streamWrite: (write) => InvokeExecuteMethodOutput.create({
|
|
349
|
-
output: { $case: "streamWrite", value: write },
|
|
350
|
-
}),
|
|
351
|
-
result: (response) => InvokeExecuteMethodOutput.create({
|
|
352
|
-
output: { $case: "result", value: response },
|
|
353
|
-
}),
|
|
354
|
-
};
|
|
355
|
-
function invoke(call, invocation, callback) {
|
|
356
|
-
const controller = new AbortController();
|
|
357
|
-
const cancel = () => controller.abort();
|
|
358
|
-
call.once("cancelled", cancel);
|
|
359
|
-
if (call.cancelled) {
|
|
360
|
-
cancel();
|
|
361
|
-
}
|
|
362
|
-
invocation(controller.signal)
|
|
363
|
-
.then((response) => {
|
|
364
|
-
if (!controller.signal.aborted) {
|
|
365
|
-
callback(null, response);
|
|
366
|
-
}
|
|
367
|
-
}, (failure) => {
|
|
368
|
-
if (!controller.signal.aborted) {
|
|
369
|
-
callback(workerServiceError(failure), null);
|
|
370
|
-
}
|
|
371
|
-
})
|
|
372
|
-
.finally(() => call.off("cancelled", cancel));
|
|
373
|
-
}
|
|
374
|
-
function bind(server, address) {
|
|
375
|
-
parseAddress(address);
|
|
376
|
-
return new Promise((resolve, reject) => {
|
|
377
|
-
server.bindAsync(address, ServerCredentials.createInsecure(), (error, port) => {
|
|
378
|
-
if (error !== null) {
|
|
379
|
-
reject(error);
|
|
380
|
-
return;
|
|
381
|
-
}
|
|
382
|
-
resolve(port);
|
|
383
|
-
});
|
|
384
|
-
});
|
|
385
|
-
}
|
|
386
|
-
function shutdown(server) {
|
|
387
|
-
return new Promise((resolve, reject) => {
|
|
388
|
-
server.tryShutdown((error) => {
|
|
389
|
-
if (error !== undefined) {
|
|
390
|
-
reject(error);
|
|
391
|
-
return;
|
|
392
|
-
}
|
|
393
|
-
resolve();
|
|
394
|
-
});
|
|
395
|
-
});
|
|
396
|
-
}
|
|
397
|
-
function targetFromBindAddress(address) {
|
|
398
|
-
const parsed = parseAddress(address);
|
|
399
|
-
const host = parsed.host === "" || parsed.host === "0.0.0.0" || parsed.host === "::"
|
|
400
|
-
? "localhost"
|
|
401
|
-
: parsed.host;
|
|
402
|
-
return { address: host.includes(":") ? `[${host}]:${parsed.port}` : `${host}:${parsed.port}` };
|
|
403
|
-
}
|
|
404
|
-
function parseAddress(address) {
|
|
405
|
-
if (address.trim() !== address || address === "") {
|
|
406
|
-
throw new TypeError("Worker bind address is required without whitespace");
|
|
407
|
-
}
|
|
408
|
-
const bracketed = /^\[([^\]]+)]:(\d+)$/.exec(address);
|
|
409
|
-
const separator = address.lastIndexOf(":");
|
|
410
|
-
const host = bracketed?.[1] ?? (separator < 0 ? "" : address.slice(0, separator));
|
|
411
|
-
const portText = bracketed?.[2] ?? (separator < 0 ? "" : address.slice(separator + 1));
|
|
412
|
-
const port = Number(portText);
|
|
413
|
-
if (!Number.isInteger(port) || port < 1 || port > 65_535) {
|
|
414
|
-
throw new TypeError("Worker bind address requires port 1-65535");
|
|
415
|
-
}
|
|
416
|
-
return { host, port };
|
|
417
|
-
}
|
|
418
229
|
//# sourceMappingURL=worker.js.map
|
package/dist/src/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAE1D,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,QAAQ,EACR,WAAW,GAIZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,GAWrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAiB,MAAM,WAAW,CAAC;AAGtE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAM/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,MAAM;IA0BC;IACA;IACA;IA3BlB;;;;OAIG;IACa,YAAY,CAAe;IAE1B,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IACtB,WAAW,CAAyC;IACpD,UAAU,CAAyB;IACnC,OAAO,CAAgB;IAChC,cAAc,CAAc;IAC5B,KAAK,GAAgB,SAAS,CAAC;IAC/B,yBAAyB,GAAG,CAAC,CAAC;IAC9B,aAAa,CAAU;IAE/B;;;;;;;OAOG;IACH,YACkB,QAAkB,EAClB,SAAoB,EACpB,UAAyB,EAAE;QAF3B,aAAQ,GAAR,QAAQ,CAAU;QAClB,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAoB;QAE3C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,EAAE,CAAC;YAC5G,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,gBAAgB,CAAC;QAC5D,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAW,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS;YAC5C,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,qBAAqB,CAAC,WAAW,CAAC;YAC5D,CAAC,CAAC,UAAU,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CACtC,OAAO,CAAC,aAAa,IAAI,gBAAgB,EACzC,WAAW,CAAC,cAAc,EAAE,EAC5B,EAAE,YAAY,EAAE,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAC7D,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CACrC,QAAQ,EACR,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAC9C,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,CACrC,CAAC;QACF,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS;gBAC1C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,aAAa,IAAI,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;QAClK,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,gBAAgB,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,IAAI,OAAO,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,UAAU,CAAC,8CAA8C,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,UAAsB,CAAC;YAC3B,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,OAAO,EAAE,CAAC;gBACjB,MAAM,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,CAAC,yBAAyB,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACjF,MAAM,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC5C,CAAC,CAAC,aAAa,WAAW,EAAE;gBAC5B,CAAC,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,gBAAgB,EAAE,CAAC;YACxE,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,YAAY,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC;QACnB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,aAAa,CAAC;QAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,8BAA8B,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC7H,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,kBAAkB,CAAC,UAAqC,EAAE;QAC/D,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACjH,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAW,uBAAuB;QAChC,OAAO,IAAI,CAAC,UAAU,EAAE,mBAAmB,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,qBAAqB;QAC1B,OAAO,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACpF,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,OAAgB,EAAE,EAAE;YACtC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAClC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;CACF;AAED,SAAS,aAAa,CACpB,OAA+C,EAC/C,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC9F,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA+C,EAC/C,QAAkB,EAClB,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,oBAAoB,CAC1B,EAAE,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,EAAE,EAC9E,IAAI,QAAQ,EAAE,EACd,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EACpC,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,UAA4B;IACjD,OAAO;QACL,mBAAmB,CAAC,IAAI;YACtB,UAAU,CACR,IAAI,EACJ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1E,aAAa,CACd,CAAC;QACJ,CAAC;QACD,mBAAmB,CAAC,IAAI;YACtB,UAAU,CACR,IAAI,EACJ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1E,aAAa,CACd,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,IAAI,EAAE,QAAQ;YAC5B,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjF,CAAC;KACF,CAAC;AACJ,CAAC;AAQD,MAAM,qBAAqB;IAIN;IACA;IAJX,QAAQ,GAAG,IAAI,CAAC;IAExB,YACmB,IAA2C,EAC3C,OAA4C;QAD5C,SAAI,GAAJ,IAAI,CAAuC;QAC3C,YAAO,GAAP,OAAO,CAAqC;IAC5D,CAAC;IAEG,eAAe,CAAC,KAAwB;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,WAAW,CAAC,KAAsB;QACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEM,MAAM,CAAC,QAAkB;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAEM,IAAI,CAAC,OAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,MAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,SAAS,UAAU,CACjB,IAA2C,EAC3C,UAAiF,EACjF,OAA4C;IAE5C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC;IACX,CAAC;IACD,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;SACnC,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EACtC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAC5C;SACA,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,aAAa,GAA8E;IAC/F,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC;QACrD,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;KACjD,CAAC;IACF,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC;QACvD,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;KAC/C,CAAC;IACF,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC;QACrD,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,aAAa,GAA8E;IAC/F,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC;QACrD,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;KACjD,CAAC;IACF,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC;QACvD,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;KAC/C,CAAC;IACF,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC;QACrD,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;KAC7C,CAAC;CACH,CAAC;AAEF,SAAS,MAAM,CACb,IAAwC,EACxC,UAAsD,EACtD,QAAiC;IAEjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC;IACX,CAAC;IACD,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;SAC1B,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE;QACX,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EACD,CAAC,OAAgB,EAAE,EAAE;QACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CACF;SACA,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,IAAI,CAAC,MAAc,EAAE,OAAe;IAC3C,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAClF,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IAChB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QACzD,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2026 Super Durable, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Licensed under the Sustainable Use License 1.0.
|
|
4
|
-
// You may not use this file except in compliance with the License.
|
|
5
|
-
// See the LICENSE file in the repository root.
|
|
6
|
-
//
|
|
7
|
-
// SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
|
|
8
|
-
export function mapWorkerTarget(target) {
|
|
9
|
-
if (target.pull === true) {
|
|
10
|
-
const provided = target;
|
|
11
|
-
if (provided.address !== undefined && provided.address !== "" || provided.headless === true) {
|
|
12
|
-
throw new TypeError("pull WorkerTarget cannot include address or headless");
|
|
13
|
-
}
|
|
14
|
-
return { address: "", isHeadlessAddress: false, isPullMode: true };
|
|
15
|
-
}
|
|
16
|
-
const listener = target;
|
|
17
|
-
return {
|
|
18
|
-
address: listener.address,
|
|
19
|
-
isHeadlessAddress: listener.headless ?? false,
|
|
20
|
-
isPullMode: false,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=worker-target.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker-target.js","sourceRoot":"","sources":["../../src/worker-target.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAK1D,MAAM,UAAU,eAAe,CAAC,MAAuC;IACrE,IAAK,MAA2B,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAoE,CAAC;QACtF,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,EAAE,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5F,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,MAAsB,CAAC;IACxC,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;QAC7C,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC"}
|