kinetex 1.2.0 → 1.3.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 +919 -445
- package/dist/browser/kinetex.esm.js +18 -18
- package/dist/browser/kinetex.js +663 -246
- package/dist/browser/kinetex.min.js +18 -18
- package/dist/cjs/aws-sigv4.js +4 -1
- package/dist/cjs/cache.js +52 -14
- package/dist/cjs/circuit-breaker.js +24 -4
- package/dist/cjs/client.js +495 -131
- package/dist/cjs/cookie-parser.js +7 -4
- package/dist/cjs/cookie-store.js +16 -8
- package/dist/cjs/core.js +46 -7
- package/dist/cjs/dedup.js +9 -7
- package/dist/cjs/digest.js +26 -0
- package/dist/cjs/headers.js +64 -8
- package/dist/cjs/interceptors.js +64 -22
- package/dist/cjs/logging.js +1 -1
- package/dist/cjs/pagination.js +14 -6
- package/dist/cjs/progress.js +122 -42
- package/dist/cjs/socks5.js +36 -21
- package/dist/cjs/sse.js +48 -11
- package/dist/cjs/worker.js +6 -6
- package/dist/cjs/ws.js +13 -6
- package/dist/esm/aws-sigv4.js +4 -1
- package/dist/esm/aws-sigv4.js.map +1 -1
- package/dist/esm/cache.js +52 -14
- package/dist/esm/cache.js.map +1 -1
- package/dist/esm/circuit-breaker.js +24 -4
- package/dist/esm/circuit-breaker.js.map +1 -1
- package/dist/esm/client.js +495 -131
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/cookie-parser.js +7 -4
- package/dist/esm/cookie-parser.js.map +1 -1
- package/dist/esm/cookie-store.js +16 -8
- package/dist/esm/cookie-store.js.map +1 -1
- package/dist/esm/core.js +46 -7
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/dedup.js +9 -7
- package/dist/esm/dedup.js.map +1 -1
- package/dist/esm/digest.js +26 -0
- package/dist/esm/digest.js.map +1 -1
- package/dist/esm/headers.js +64 -8
- package/dist/esm/headers.js.map +1 -1
- package/dist/esm/interceptors.js +64 -22
- package/dist/esm/interceptors.js.map +1 -1
- package/dist/esm/logging.js +1 -1
- package/dist/esm/pagination.js +14 -6
- package/dist/esm/pagination.js.map +1 -1
- package/dist/esm/progress.js +122 -42
- package/dist/esm/progress.js.map +1 -1
- package/dist/esm/socks5.js +36 -21
- package/dist/esm/socks5.js.map +1 -1
- package/dist/esm/sse.js +48 -11
- package/dist/esm/sse.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/worker.js +6 -6
- package/dist/esm/worker.js.map +1 -1
- package/dist/esm/ws.js +13 -6
- package/dist/esm/ws.js.map +1 -1
- package/dist/types/aws-sigv4.d.ts.map +1 -1
- package/dist/types/cache.d.ts +8 -1
- package/dist/types/cache.d.ts.map +1 -1
- package/dist/types/circuit-breaker.d.ts.map +1 -1
- package/dist/types/client.d.ts +29 -12
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/cookie-parser.d.ts.map +1 -1
- package/dist/types/cookie-store.d.ts.map +1 -1
- package/dist/types/core.d.ts +6 -0
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/dedup.d.ts +0 -7
- package/dist/types/dedup.d.ts.map +1 -1
- package/dist/types/digest.d.ts +14 -0
- package/dist/types/digest.d.ts.map +1 -1
- package/dist/types/headers.d.ts +25 -10
- package/dist/types/headers.d.ts.map +1 -1
- package/dist/types/interceptors.d.ts.map +1 -1
- package/dist/types/logging.d.ts +1 -1
- package/dist/types/pagination.d.ts.map +1 -1
- package/dist/types/progress.d.ts.map +1 -1
- package/dist/types/socks5.d.ts.map +1 -1
- package/dist/types/sse.d.ts.map +1 -1
- package/dist/types/types.d.ts +25 -2
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/worker.d.ts +6 -6
- package/dist/types/worker.d.ts.map +1 -1
- package/dist/types/ws.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/cjs/progress.js
CHANGED
|
@@ -178,41 +178,65 @@ export function withUploadProgress(body, total, options = {}) {
|
|
|
178
178
|
},
|
|
179
179
|
});
|
|
180
180
|
}
|
|
181
|
+
// PULL-BASED, not start()-based. The old implementation drained the whole
|
|
182
|
+
// source inside start(), enqueueing every chunk before the transport read a
|
|
183
|
+
// single byte — a large upload was fully buffered in memory and the
|
|
184
|
+
// ReadableStream highWaterMark bought nothing. pull() reads one chunk per
|
|
185
|
+
// demand, so backpressure reaches the source.
|
|
186
|
+
let reader = null;
|
|
187
|
+
let onUploadAbort = null;
|
|
188
|
+
const detach = () => {
|
|
189
|
+
if (onUploadAbort) {
|
|
190
|
+
options.signal?.removeEventListener("abort", onUploadAbort);
|
|
191
|
+
onUploadAbort = null;
|
|
192
|
+
}
|
|
193
|
+
};
|
|
181
194
|
const stream = new ReadableStream({
|
|
182
|
-
|
|
183
|
-
const reader = source.getReader();
|
|
195
|
+
start(controller) {
|
|
184
196
|
// Handle already-aborted signal immediately
|
|
185
197
|
if (options.signal?.aborted) {
|
|
186
|
-
reader.cancel("aborted").catch(() => { });
|
|
187
198
|
controller.error(new DOMException("Upload aborted", "AbortError"));
|
|
188
199
|
return;
|
|
189
200
|
}
|
|
190
|
-
|
|
191
|
-
|
|
201
|
+
reader = source.getReader();
|
|
202
|
+
onUploadAbort = () => {
|
|
203
|
+
const r = reader;
|
|
204
|
+
reader = null;
|
|
205
|
+
void r?.cancel("aborted").catch(() => { });
|
|
206
|
+
tracker.complete();
|
|
192
207
|
controller.error(new DOMException("Upload aborted", "AbortError"));
|
|
193
208
|
};
|
|
194
|
-
// Removed in
|
|
195
|
-
// signal do not accumulate listeners (leak fix).
|
|
209
|
+
// Removed in detach() on close/cancel/error so repeated uploads sharing
|
|
210
|
+
// one signal do not accumulate listeners (leak fix).
|
|
196
211
|
options.signal?.addEventListener("abort", onUploadAbort, { once: true });
|
|
212
|
+
},
|
|
213
|
+
async pull(controller) {
|
|
214
|
+
if (!reader)
|
|
215
|
+
return;
|
|
197
216
|
try {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
controller.enqueue(value);
|
|
217
|
+
const { done, value } = await reader.read();
|
|
218
|
+
if (done) {
|
|
219
|
+
detach();
|
|
220
|
+
reader.releaseLock();
|
|
221
|
+
reader = null;
|
|
222
|
+
tracker.complete();
|
|
223
|
+
controller.close();
|
|
224
|
+
return;
|
|
207
225
|
}
|
|
226
|
+
tracker.update(value.byteLength);
|
|
227
|
+
controller.enqueue(value);
|
|
208
228
|
}
|
|
209
229
|
catch (err) {
|
|
230
|
+
detach();
|
|
210
231
|
tracker.complete();
|
|
211
232
|
controller.error(err);
|
|
212
233
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
234
|
+
},
|
|
235
|
+
cancel(reason) {
|
|
236
|
+
detach();
|
|
237
|
+
const r = reader;
|
|
238
|
+
reader = null;
|
|
239
|
+
void r?.cancel(reason).catch(() => { });
|
|
216
240
|
},
|
|
217
241
|
});
|
|
218
242
|
return { stream, tracker };
|
|
@@ -246,44 +270,67 @@ export function withDownloadProgress(response, options = {}) {
|
|
|
246
270
|
return { response, tracker };
|
|
247
271
|
}
|
|
248
272
|
const body = response.body;
|
|
273
|
+
// PULL-BASED for the same reason as withUploadProgress: the start()-based
|
|
274
|
+
// version buffered the entire download in memory before the consumer read it.
|
|
275
|
+
let reader = null;
|
|
276
|
+
let aborted = false;
|
|
277
|
+
let onAbort = null;
|
|
278
|
+
const detach = () => {
|
|
279
|
+
if (onAbort) {
|
|
280
|
+
options.signal?.removeEventListener("abort", onAbort);
|
|
281
|
+
onAbort = null;
|
|
282
|
+
}
|
|
283
|
+
};
|
|
249
284
|
const trackedStream = new ReadableStream({
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
285
|
+
start(controller) {
|
|
286
|
+
if (options.signal?.aborted) {
|
|
287
|
+
aborted = true;
|
|
288
|
+
controller.error(new DOMException("Download aborted", "AbortError"));
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
reader = body.getReader();
|
|
292
|
+
onAbort = () => {
|
|
254
293
|
if (aborted)
|
|
255
294
|
return;
|
|
256
295
|
aborted = true;
|
|
296
|
+
const r = reader;
|
|
297
|
+
reader = null;
|
|
257
298
|
// Ensure tracker knows we're aborting (don't wait for complete)
|
|
258
|
-
|
|
299
|
+
void r?.cancel("aborted").catch(() => { });
|
|
259
300
|
controller.error(new DOMException("Download aborted", "AbortError"));
|
|
260
301
|
};
|
|
261
302
|
options.signal?.addEventListener("abort", onAbort, { once: true });
|
|
303
|
+
},
|
|
304
|
+
async pull(controller) {
|
|
305
|
+
if (!reader)
|
|
306
|
+
return;
|
|
262
307
|
try {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
controller.enqueue(value);
|
|
308
|
+
const { done, value } = await reader.read();
|
|
309
|
+
if (done) {
|
|
310
|
+
detach();
|
|
311
|
+
reader.releaseLock();
|
|
312
|
+
reader = null;
|
|
313
|
+
tracker.complete();
|
|
314
|
+
controller.close();
|
|
315
|
+
return;
|
|
272
316
|
}
|
|
317
|
+
tracker.update(value.byteLength);
|
|
318
|
+
controller.enqueue(value);
|
|
273
319
|
}
|
|
274
320
|
catch (err) {
|
|
321
|
+
detach();
|
|
275
322
|
// Ensure tracker is marked as complete even on error
|
|
276
323
|
if (!aborted) {
|
|
277
324
|
tracker.complete();
|
|
278
325
|
}
|
|
279
326
|
controller.error(err);
|
|
280
327
|
}
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
}
|
|
328
|
+
},
|
|
329
|
+
cancel(reason) {
|
|
330
|
+
detach();
|
|
331
|
+
const r = reader;
|
|
332
|
+
reader = null;
|
|
333
|
+
void r?.cancel(reason).catch(() => { });
|
|
287
334
|
},
|
|
288
335
|
});
|
|
289
336
|
const trackedResponse = new Response(trackedStream, {
|
|
@@ -291,6 +338,21 @@ export function withDownloadProgress(response, options = {}) {
|
|
|
291
338
|
statusText: response.statusText,
|
|
292
339
|
headers: response.headers,
|
|
293
340
|
});
|
|
341
|
+
// A reconstructed Response reports url === "" and redirected === false, which
|
|
342
|
+
// silently broke anything downstream that reads them. `url` and `redirected`
|
|
343
|
+
// are prototype getters, so shadow them with own properties on the instance.
|
|
344
|
+
for (const prop of ["url", "redirected", "type"]) {
|
|
345
|
+
try {
|
|
346
|
+
Object.defineProperty(trackedResponse, prop, {
|
|
347
|
+
value: response[prop],
|
|
348
|
+
enumerable: true,
|
|
349
|
+
configurable: true,
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
catch {
|
|
353
|
+
/* non-configurable in this runtime — leave the default in place */
|
|
354
|
+
}
|
|
355
|
+
}
|
|
294
356
|
return { response: trackedResponse, tracker };
|
|
295
357
|
}
|
|
296
358
|
// ============================================================================
|
|
@@ -553,12 +615,23 @@ export function xhrFetch(url, options) {
|
|
|
553
615
|
downloadTracker.update(e.loaded - downloadTracker.bytesLoaded);
|
|
554
616
|
});
|
|
555
617
|
}
|
|
556
|
-
// Abort signal
|
|
557
|
-
|
|
618
|
+
// Abort signal. The listener is detached on settle: with `{ once: true }`
|
|
619
|
+
// it only self-removes when it actually fires, so a caller reusing one
|
|
620
|
+
// signal across many xhrFetch calls accumulated listeners — and each one
|
|
621
|
+
// kept the whole XHR + promise closures alive after the request finished.
|
|
622
|
+
const onAbort = () => {
|
|
558
623
|
xhr.abort();
|
|
559
624
|
reject(new DOMException("Request aborted", "AbortError"));
|
|
560
|
-
}
|
|
625
|
+
};
|
|
626
|
+
const detach = () => options.signal?.removeEventListener("abort", onAbort);
|
|
627
|
+
options.signal?.addEventListener("abort", onAbort, { once: true });
|
|
628
|
+
if (options.signal?.aborted) {
|
|
629
|
+
detach();
|
|
630
|
+
onAbort();
|
|
631
|
+
return;
|
|
632
|
+
}
|
|
561
633
|
xhr.addEventListener("load", () => {
|
|
634
|
+
detach();
|
|
562
635
|
downloadTracker.complete();
|
|
563
636
|
// Parse response headers
|
|
564
637
|
const rawHeaders = xhr.getAllResponseHeaders();
|
|
@@ -577,11 +650,18 @@ export function xhrFetch(url, options) {
|
|
|
577
650
|
});
|
|
578
651
|
});
|
|
579
652
|
xhr.addEventListener("error", () => {
|
|
653
|
+
detach();
|
|
580
654
|
reject(new TypeError("Network request failed"));
|
|
581
655
|
});
|
|
582
656
|
xhr.addEventListener("timeout", () => {
|
|
657
|
+
detach();
|
|
583
658
|
reject(new TypeError("Request timed out"));
|
|
584
659
|
});
|
|
660
|
+
xhr.addEventListener("abort", () => {
|
|
661
|
+
// Covers aborts initiated from inside the XHR (not via the signal).
|
|
662
|
+
detach();
|
|
663
|
+
reject(new DOMException("Request aborted", "AbortError"));
|
|
664
|
+
});
|
|
585
665
|
xhr.send(options.body ?? null);
|
|
586
666
|
});
|
|
587
667
|
}
|
package/dist/cjs/socks5.js
CHANGED
|
@@ -501,31 +501,34 @@ export const denoTcpConnector = async (host, port, timeoutMs) => {
|
|
|
501
501
|
// Type assertion for Deno global which has the connect method
|
|
502
502
|
// Must use type assertion as Deno namespace is not in standard TypeScript types
|
|
503
503
|
const denoGlobal = globalThis;
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
else {
|
|
513
|
-
conn = await denoGlobal.Deno.connect({ hostname: host, port, transport: "tcp" });
|
|
514
|
-
}
|
|
515
|
-
const wrappedRead = async (buf) => {
|
|
516
|
-
if (timeoutMs && timeoutMs > 0) {
|
|
517
|
-
return Promise.race([
|
|
518
|
-
conn.read(buf).catch(() => null),
|
|
519
|
-
new Promise((_, rej) => setTimeout(() => rej(new Socks5Error("TCP read timed out", "SOCKS5_TIMEOUT", true)), timeoutMs)),
|
|
520
|
-
]);
|
|
521
|
-
}
|
|
504
|
+
// NOTE: every timeout below is created and cleared explicitly. The previous
|
|
505
|
+
// Promise.race timers were never cleared, so each read left a pending timer
|
|
506
|
+
// (holding a closure, and keeping the Deno event loop alive) for the full
|
|
507
|
+
// timeout window — one per chunk on a streaming tunnel.
|
|
508
|
+
const withTimeout = async (work, message) => {
|
|
509
|
+
if (!timeoutMs || timeoutMs <= 0)
|
|
510
|
+
return work;
|
|
511
|
+
let timer;
|
|
522
512
|
try {
|
|
523
|
-
return await
|
|
513
|
+
return await Promise.race([
|
|
514
|
+
work,
|
|
515
|
+
new Promise((_, rej) => {
|
|
516
|
+
timer = setTimeout(() => rej(new Socks5Error(message, "SOCKS5_TIMEOUT", true)), timeoutMs);
|
|
517
|
+
}),
|
|
518
|
+
]);
|
|
524
519
|
}
|
|
525
|
-
|
|
526
|
-
|
|
520
|
+
finally {
|
|
521
|
+
if (timer !== undefined)
|
|
522
|
+
clearTimeout(timer);
|
|
527
523
|
}
|
|
528
524
|
};
|
|
525
|
+
const conn = await withTimeout(denoGlobal.Deno.connect({ hostname: host, port, transport: "tcp" }), "TCP connect to proxy timed out");
|
|
526
|
+
// Not `async`: it returns withTimeout()'s promise directly, so there is no
|
|
527
|
+
// await to make the function async.
|
|
528
|
+
const wrappedRead = (buf) => {
|
|
529
|
+
const read = conn.read(buf).catch(() => null);
|
|
530
|
+
return withTimeout(read, "TCP read timed out");
|
|
531
|
+
};
|
|
529
532
|
return {
|
|
530
533
|
read: wrappedRead,
|
|
531
534
|
write: (data) => conn.write(data),
|
|
@@ -590,7 +593,12 @@ export const nodeTcpConnector = (host, port, timeoutMs) => {
|
|
|
590
593
|
buffer = next;
|
|
591
594
|
flushBuffer();
|
|
592
595
|
});
|
|
596
|
+
// Latch EOF. Without this, a read issued AFTER `end` parked forever:
|
|
597
|
+
// the socket will never emit data again, nothing rejects, and the caller
|
|
598
|
+
// hangs with no error. Callers now get an immediate null (clean EOF).
|
|
599
|
+
let ended = false;
|
|
593
600
|
socket.on("end", () => {
|
|
601
|
+
ended = true;
|
|
594
602
|
if (pendingRead) {
|
|
595
603
|
pendingRead(null);
|
|
596
604
|
pendingRead = null;
|
|
@@ -598,6 +606,9 @@ export const nodeTcpConnector = (host, port, timeoutMs) => {
|
|
|
598
606
|
pendingBuf = null;
|
|
599
607
|
}
|
|
600
608
|
});
|
|
609
|
+
socket.on("close", () => {
|
|
610
|
+
ended = true;
|
|
611
|
+
});
|
|
601
612
|
socket.once("error", (err) => {
|
|
602
613
|
clearTimeout(timer);
|
|
603
614
|
lastError = err;
|
|
@@ -616,6 +627,10 @@ export const nodeTcpConnector = (host, port, timeoutMs) => {
|
|
|
616
627
|
rej(lastError);
|
|
617
628
|
return;
|
|
618
629
|
}
|
|
630
|
+
if (ended && buffer.length === 0) {
|
|
631
|
+
res(null);
|
|
632
|
+
return;
|
|
633
|
+
}
|
|
619
634
|
if (buffer.length > 0) {
|
|
620
635
|
const n = Math.min(buffer.length, buf.length);
|
|
621
636
|
buf.set(buffer.subarray(0, n));
|
package/dist/cjs/sse.js
CHANGED
|
@@ -455,9 +455,16 @@ export class SSEClient {
|
|
|
455
455
|
}
|
|
456
456
|
if (!cfg.reconnect)
|
|
457
457
|
throw err;
|
|
458
|
-
// Max reconnects reached
|
|
459
|
-
|
|
460
|
-
|
|
458
|
+
// Max reconnects reached.
|
|
459
|
+
//
|
|
460
|
+
// Checked against the number of reconnects actually performed, NOT
|
|
461
|
+
// `reconnectAttempt`. That counter is reset on every successful connect
|
|
462
|
+
// (so back-off restarts), which meant a server that accepted the
|
|
463
|
+
// connection and then dropped the stream reset the counter each time —
|
|
464
|
+
// the cap could never be reached and the client reconnected forever,
|
|
465
|
+
// regardless of maxReconnects. `attempts` is the real attempt count.
|
|
466
|
+
if (cfg.maxReconnects > 0 && this.health.totalReconnects >= cfg.maxReconnects) {
|
|
467
|
+
throw new SSEMaxReconnectsError(this.health.totalReconnects, cfg.url);
|
|
461
468
|
}
|
|
462
469
|
reconnectAttempt++;
|
|
463
470
|
this.health.totalReconnects++;
|
|
@@ -472,7 +479,11 @@ export class SSEClient {
|
|
|
472
479
|
clearTimeout(heartbeatTimer);
|
|
473
480
|
heartbeatTimer = null;
|
|
474
481
|
}
|
|
475
|
-
|
|
482
|
+
// Abortable: without the signal an abort() during back-off had to wait
|
|
483
|
+
// out the full delay (up to maxReconnectDelayMs) before being noticed.
|
|
484
|
+
await sleep(delay, cfg.signal);
|
|
485
|
+
if (cfg.signal?.aborted)
|
|
486
|
+
break;
|
|
476
487
|
parser.reset();
|
|
477
488
|
continue;
|
|
478
489
|
}
|
|
@@ -480,21 +491,32 @@ export class SSEClient {
|
|
|
480
491
|
this.health.connected = false;
|
|
481
492
|
if (!cfg.reconnect)
|
|
482
493
|
break;
|
|
483
|
-
// Max reconnects reached
|
|
484
|
-
|
|
485
|
-
|
|
494
|
+
// Max reconnects reached. Same reasoning as the error path above: the
|
|
495
|
+
// cap bounds reconnects performed, and a successful connect zeroes
|
|
496
|
+
// `reconnectAttempt`, so that counter cannot be used here.
|
|
497
|
+
if (cfg.maxReconnects > 0 && this.health.totalReconnects >= cfg.maxReconnects) {
|
|
498
|
+
throw new SSEMaxReconnectsError(this.health.totalReconnects, cfg.url);
|
|
486
499
|
}
|
|
487
500
|
// Reconnect after stream closed by server
|
|
488
501
|
reconnectAttempt++;
|
|
489
502
|
this.health.totalReconnects++;
|
|
490
|
-
|
|
503
|
+
this.health.reconnectAttempt = reconnectAttempt;
|
|
504
|
+
// Same jitter formula as the error path — a clean server close used to
|
|
505
|
+
// reconnect with zero jitter, so every client in a fleet reconnected in
|
|
506
|
+
// lockstep after a server restart.
|
|
507
|
+
const delay = Math.min(reconnectDelay + reconnectDelay * cfg.reconnectJitter * Math.random(), cfg.maxReconnectDelayMs);
|
|
508
|
+
reconnectDelay = Math.min(reconnectDelay * 2, cfg.maxReconnectDelayMs);
|
|
491
509
|
cfg.onReconnect(reconnectAttempt, delay);
|
|
492
510
|
// Clear orphaned heartbeat timer before sleep to avoid firing during back-off
|
|
493
511
|
if (heartbeatTimer) {
|
|
494
512
|
clearTimeout(heartbeatTimer);
|
|
495
513
|
heartbeatTimer = null;
|
|
496
514
|
}
|
|
497
|
-
await sleep(delay);
|
|
515
|
+
await sleep(delay, cfg.signal);
|
|
516
|
+
// Same as the error path: without this, a close()/abort() during a
|
|
517
|
+
// clean-close back-off was not noticed until the full delay elapsed.
|
|
518
|
+
if (cfg.signal?.aborted)
|
|
519
|
+
break;
|
|
498
520
|
}
|
|
499
521
|
this.health.connected = false;
|
|
500
522
|
}
|
|
@@ -825,6 +847,21 @@ export function parseSSEText(text) {
|
|
|
825
847
|
// ============================================================================
|
|
826
848
|
// §10 UTILITIES
|
|
827
849
|
// ============================================================================
|
|
828
|
-
function sleep(ms) {
|
|
829
|
-
return new Promise((r) =>
|
|
850
|
+
function sleep(ms, signal) {
|
|
851
|
+
return new Promise((r) => {
|
|
852
|
+
if (signal?.aborted) {
|
|
853
|
+
r();
|
|
854
|
+
return;
|
|
855
|
+
}
|
|
856
|
+
const onAbort = () => {
|
|
857
|
+
clearTimeout(timer);
|
|
858
|
+
signal?.removeEventListener("abort", onAbort);
|
|
859
|
+
r();
|
|
860
|
+
};
|
|
861
|
+
const timer = setTimeout(() => {
|
|
862
|
+
signal?.removeEventListener("abort", onAbort);
|
|
863
|
+
r();
|
|
864
|
+
}, ms);
|
|
865
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
866
|
+
});
|
|
830
867
|
}
|
package/dist/cjs/worker.js
CHANGED
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
* - FetchTransport (globalThis.fetch) is used automatically when IS_NODE is false.
|
|
10
10
|
*
|
|
11
11
|
* ⚠️ Features unavailable from this entry point (use main `mod.ts` instead):
|
|
12
|
-
* - HTTP/2 (node:http2) —
|
|
12
|
+
* - HTTP/2 (node:http2) — this entry point always uses FetchTransport, so
|
|
13
|
+
* `httpVersion: "HTTP/2"` has no effect here even on a runtime where the
|
|
14
|
+
* main entry point would use it
|
|
13
15
|
* - HTTPS agent options (node:tls) — Node.js only
|
|
14
16
|
* - Custom Node.js-only transports (e.g., Undici, Node.js http/https agents)
|
|
15
17
|
* - Some advanced interceptors that depend on Node.js APIs
|
|
@@ -42,13 +44,11 @@ import { Kinetex as _Kinetex } from "./client.js";
|
|
|
42
44
|
* baseURL: "https://api.example.com",
|
|
43
45
|
* auth: { type: "bearer", token: "my-token" },
|
|
44
46
|
* });
|
|
45
|
-
*
|
|
46
|
-
* // HTTP/2 is supported for outgoing requests (when target server supports it)
|
|
47
|
-
* const http2Client = kinetex({ httpVersion: "HTTP/2" });
|
|
48
47
|
* ```
|
|
49
48
|
*
|
|
50
|
-
* Note: Default transport is `globalThis.fetch
|
|
51
|
-
*
|
|
49
|
+
* Note: Default transport is `globalThis.fetch`, available in all edge
|
|
50
|
+
* runtimes. `httpVersion` defaults to HTTP/1.1 here; HTTP/2 requires the Node
|
|
51
|
+
* `node:http2` transport, which this entry point does not include.
|
|
52
52
|
*/
|
|
53
53
|
export function kinetex(config = {}) {
|
|
54
54
|
return new _Kinetex({ httpVersion: config.httpVersion ?? "HTTP/1.1", ...config });
|
package/dist/cjs/ws.js
CHANGED
|
@@ -901,6 +901,15 @@ export class WSClient {
|
|
|
901
901
|
return this._maxReconnects === 0 || this._reconnAttempt < this._maxReconnects;
|
|
902
902
|
}
|
|
903
903
|
_scheduleRecon() {
|
|
904
|
+
// Clear any pending reconnect first. Two paths can schedule one: the send
|
|
905
|
+
// -error path (which also calls ws.close(), firing `onclose` → schedule) and
|
|
906
|
+
// the `onclose` handler itself. Overwriting the handle without clearing it
|
|
907
|
+
// left the first timer alive, producing a duplicate connection and double
|
|
908
|
+
// -counted reconnect attempts on every send failure.
|
|
909
|
+
if (this._reconnTimer) {
|
|
910
|
+
clearTimeout(this._reconnTimer);
|
|
911
|
+
this._reconnTimer = null;
|
|
912
|
+
}
|
|
904
913
|
this._state = "RECONNECTING";
|
|
905
914
|
this._reconnAttempt++;
|
|
906
915
|
const exp = this._reconnectBaseMs * Math.pow(2, this._reconnAttempt - 1);
|
|
@@ -908,15 +917,13 @@ export class WSClient {
|
|
|
908
917
|
const delay = Math.floor(capped * (1 + this._reconnectJitter * Math.random()));
|
|
909
918
|
this._cbReconnect?.(this._reconnAttempt, delay);
|
|
910
919
|
this._reconnTimer = setTimeout(() => {
|
|
920
|
+
this._reconnTimer = null;
|
|
911
921
|
if (!this._aborted)
|
|
912
922
|
this._doConnect(true).catch(() => { });
|
|
913
923
|
}, delay);
|
|
914
|
-
//
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
"unref" in this._reconnTimer) {
|
|
918
|
-
this._reconnTimer.unref();
|
|
919
|
-
}
|
|
924
|
+
// NOTE: deliberately NOT unref()'d. `open()` waiters and `for await`
|
|
925
|
+
// consumers are suspended on this timer, and unref'ing a timer a pending
|
|
926
|
+
// promise depends on lets Node exit mid-reconnect.
|
|
920
927
|
}
|
|
921
928
|
_tx(data) {
|
|
922
929
|
const ws = this._ws;
|
package/dist/esm/aws-sigv4.js
CHANGED
|
@@ -156,7 +156,10 @@ export function imdsCredentials(options = {}) {
|
|
|
156
156
|
if (!role)
|
|
157
157
|
throw new NetworkError("No IAM role found in IMDS response");
|
|
158
158
|
// Step 3: Get credentials for role
|
|
159
|
-
|
|
159
|
+
// encodeURIComponent: the role name comes from the metadata response and
|
|
160
|
+
// was interpolated raw, so a `../` or `?` in it could redirect the
|
|
161
|
+
// credentials request to another path on the metadata endpoint.
|
|
162
|
+
const credsRes = await fetchWithTimeout(`${endpoint}/latest/meta-data/iam/security-credentials/${encodeURIComponent(role)}`, { headers: { "x-aws-ec2-metadata-token": token } }, timeout);
|
|
160
163
|
if (!credsRes.ok)
|
|
161
164
|
throw new NetworkError(`IMDS credentials fetch failed: ${credsRes.status}`);
|
|
162
165
|
const data = (await credsRes.json());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-sigv4.js","sourceRoot":"","sources":["../../src/aws-sigv4.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,0EAA0E;AAC1E,OAAO,EAAiC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA2JvF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,GAA4B,EAAE;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEjD,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,YAAY,CACd,4CAA4C;gBAC1C,kDAAkD,CACrD,CACF,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,WAAW;YACX,eAAe;YACf,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAG,SAA+B;IACjE,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,qCAAqC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;IAErC,IAAI,MAAM,GAA0B,IAAI,CAAC;IACzC,IAAI,QAAQ,GAAmC,IAAI,CAAC;IAEpD,OAAO,GAA4B,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YACxD,IAAI,SAAS,GAAG,GAAG,GAAG,qBAAqB;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,QAAQ,GAAG,QAAQ,EAAE,CAAC,IAAI,CACxB,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,GAAG,KAAK,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,wBAAwB;IACxB,sBAAsB,EAAE,yBAAyB;IACjD,sBAAsB,EAAE,kBAAkB;CAC3C,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,oDAAoD;QACpD,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC5B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,UAGI,EAAE;IAEN,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,wBAAwB,CAAC;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAExC,oCAAoC;IACpC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,oDAAoD,CACvF,CAAC;IACJ,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,IAAI,EAAE;QACnC,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,QAAQ,mBAAmB,EAC9B;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,sCAAsC,EAAE,OAAO,EAAE;SAC7D,EACD,OAAO,CACR,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,YAAY,CAAC,4BAA4B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEpC,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,GAAG,QAAQ,6CAA6C,EACxD,EAAE,OAAO,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,EAClD,OAAO,CACR,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,MAAM,IAAI,YAAY,CAAC,2BAA2B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,oCAAoC,CAAC,CAAC;QAExE,mCAAmC;QACnC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,QAAQ,8CAA8C,IAAI,EAAE,EAC/D,EAAE,OAAO,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,EAClD,OAAO,CACR,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,YAAY,CAAC,kCAAkC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAKlC,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,YAAY,EAAE,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,MAAqB;IAC/C,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,CAAC,GACL,MAAM,CAAC,WAAW,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzF,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,GAAwB,EAAE,IAAY;IAC9D,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,yEAAyE;IACzE,MAAM,OAAO,GAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,CAC3C,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CACjB,CAAC;IAEjB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC7C,KAAK,EACL,OAAO,EACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CAAC,IAAyB;IAChD,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,oDAAoD;IACpD,MAAM,GAAG,GAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,CACvC,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CACjB,CAAC;IACjB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,sDAAsD;AACtD,SAAS,KAAK,CAAC,KAAiB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,yDAAyD;AACzD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACZ,QAAQ;IACR,mBAAmB;CACpB,CAAC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,YAAY,GAAG,IAAI;IAC7D,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAC7C,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CACxD,CAAC;IAEF,IAAI,CAAC,YAAY;QAAE,OAAO,OAAO,CAAC;IAClC,6DAA6D;IAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,YAAqB;IACxD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC;IAEtC,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG;YAAE,OAAO,GAAG,CAAC;QAC1C,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC;QAC7B,mCAAmC;QACnC,OAAO,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,GAAG;YAAE,SAAS;QAC1B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,YAA6B;IACzD,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC;YACT,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3B,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CACxD;YACD,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3B,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CACxD;SACF,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC5B,OAA+B,EAC/B,aAAuB;IAEvB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;QACvB,GAAG,wBAAwB;QAC3B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QACvE,sCAAsC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,eAAe;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,oEAAoE;IACpE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,gBAAgB,GACpB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;SAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEvB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE3D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,SAAc,EACd,OAA+B,EAC/B,IAAgC,EAChC,eAAwB,EACxB,YAAqB,EACrB,eAAyB;IAMzB,iBAAiB;IACjB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAExC,mBAAmB;IACnB,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAErE,4BAA4B;IAC5B,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAEjE,kBAAkB;IAClB,IAAI,WAAmB,CAAC;IACxB,IAAI,eAAe,EAAE,CAAC;QACpB,WAAW,GAAG,kBAAkB,CAAC;IACnC,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,WAAW,GAAG,kEAAkE,CAAC,CAAC,aAAa;IACjG,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,uBAAuB;IACvB,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE5F,uBAAuB;IACvB,MAAM,gBAAgB,GAAG;QACvB,UAAU;QACV,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,aAAa;QACb,WAAW;KACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,eAAuB,EACvB,SAAiB,EACjB,MAAc,EACd,OAAe;IAEf,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAEhD,qDAAqD;IACrD,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3E,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5B,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAEhD,mDAAmD;IACnD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE5D,mCAAmC;IACnC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,OAAe,EACf,eAAuB,EACvB,gBAAwB;IAExB,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1D,OAAO,CAAC,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAwB,EACxB,MAAqB;IAErB,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEvC,yDAAyD;IACzD,MAAM,OAAO,GAA2B;QACtC,GAAG,OAAO,CAAC,OAAO;QAClB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,YAAY,EAAE,OAAO;KACtB,CAAC;IAEF,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,OAAO,CAAC,sBAAsB,CAAC,GAAG,kBAAkB,CAAC;IACvD,CAAC;IAED,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,CAAC,sBAAsB,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC;IAC7D,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,eAAe;IACtE,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IAElD,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,qBAAqB,CAClF,OAAO,CAAC,MAAM,EACd,SAAS,EACT,OAAO,EACP,OAAO,CAAC,IAAI,EACZ,MAAM,CAAC,eAAe,IAAI,KAAK,EAC/B,YAAY,EACZ,YAAY,CACb,CAAC;IAEF,qFAAqF;IACrF,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAChE,OAAO,CAAC,sBAAsB,CAAC,GAAG,WAAW,CAAC;IAChD,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,eAAe,CAAC;IACvF,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,WAAW,CAAC,eAAe,EAC3B,SAAS,EACT,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CACf,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,aAAa,GACjB,mBAAmB;QACnB,cAAc,WAAW,CAAC,WAAW,IAAI,eAAe,IAAI;QAC5D,iBAAiB,aAAa,IAAI;QAClC,aAAa,SAAS,EAAE,CAAC;IAE3B,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,aAAa;QACb,OAAO;QACP,SAAS;QACT,gBAAgB;QAChB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAwB,EACxB,MAAqB,EACrB,UAA0B,EAAE;IAE5B,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAE5C,sEAAsE;IACtE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CACV,qDAAqD,UAAU,gBAAgB,MAAM,CAAC,OAAO,SAAS,SAAS,EAAE,CAClH,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,eAAe,CAAC;IAEvF,wCAAwC;IACxC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;IAClE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,WAAW,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC,CAAC;IAChG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAE/D,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC1D,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;IAED,eAAe;IACf,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,MAAM,OAAO,GAA2B;QACtC,GAAG,OAAO,CAAC,OAAO;QAClB,IAAI,EAAE,SAAS,CAAC,IAAI;KACrB,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IAElD,8DAA8D;IAC9D,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,MAAM,qBAAqB,CACxF,OAAO,CAAC,MAAM,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EAAE,mBAAmB;IACzB,MAAM,CAAC,eAAe,KAAK,KAAK,EAChC,YAAY,CACb,CAAC;IAEF,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;IAEjE,iDAAiD;IACjD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,MAAM,qBAAqB,CACtE,OAAO,CAAC,MAAM,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,MAAM,CAAC,eAAe,KAAK,KAAK,EAChC,YAAY,CACb,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,WAAW,CAAC,eAAe,EAC3B,SAAS,EACT,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CACf,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAExC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;GAGG;AACH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAwB,EACxB,MAAqB;IAOrB,yDAAyD;IACzD,MAAM,WAAW,GAAoB,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEhE,+BAA+B;IAC/B,WAAW,CAAC,OAAO,GAAG;QACpB,GAAG,WAAW,CAAC,OAAO;QACtB,sBAAsB,EAAE,oCAAoC;QAC5D,kBAAkB,EAAE,aAAa;KAClC,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5F,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,WAAW,CAAC,eAAe,EAC3B,SAAS,EACT,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CACf,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,eAAe,CAAC;IAE7E,OAAO;QACL,aAAa;QACb,KAAK,EAAE;YACL,iBAAiB,EAAE,aAAa,CAAC,SAAS;YAC1C,UAAU;YACV,KAAK;YACL,WAAW,EAAE,OAAO;SACrB;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAA0B,EAC1B,KAA0B;IAO1B,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,kCAAkC,GAAG,kCAAkC,CAAC;IAE1F,MAAM,YAAY,GAAG;QACnB,0BAA0B;QAC1B,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,iBAAiB;QACvB,SAAS;QACT,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;IAClC,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,oBAAoB,SAAS,MAAM,CAAC;IAE5E,OAAO;QACL,WAAW;QACX,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE;KACrD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA0B;IAC7D,MAAM,SAAS,GAAG,kCAAkC,GAAG,kCAAkC,CAAC;IAE1F,MAAM,YAAY,GAAG;QACnB,0BAA0B;QAC1B,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,iBAAiB;QACvB,SAAS;QACT,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,qBAAqB,SAAS,UAAU,CAAC;AAClD,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAoB,EACpB,MAAqB;IAErB,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,eAAe,CAAC;IACvF,MAAM,UAAU,GAAG,GAAG,WAAW,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC;IAEnE,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAErC,kBAAkB;IAClB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,WAAW,CAAC,eAAe,EAC3B,SAAS,EACT,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CACf,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,MAAM,GAAoB;QAC9B,MAAM,EAAE,YAAY;QACpB,SAAS;QACT,UAAU;QACV,IAAI,EAAE,SAAS;KAChB,CAAC;IAEF,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC;IAClD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,eAAuC;IACrE,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IAClD,IAAI,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAY;IAC3D,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,WAAW;IAOF;IANpB,kEAAkE;IAC1D,aAAa,GAAG,CAAC,CAAC;IAE1B;;OAEG;IACH,YAAoB,MAA4D;QAA5D,WAAM,GAAN,MAAM,CAAsD;IAAG,CAAC;IAEpF;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,OAAwB;QACjC,OAAO,MAAM,WAAW,CAAC,OAAO,EAAE;YAChC,GAAG,IAAI,CAAC,MAAM;YACd,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,OAAwB;QAC9D,OAAO,MAAM,cAAc,CACzB,OAAO,EACP;YACE,GAAG,IAAI,CAAC,MAAM;YACd,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,MAAoB;QACvC,OAAO,MAAM,gBAAgB,CAAC,MAAM,EAAE;YACpC,GAAG,IAAI,CAAC,MAAM;YACd,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,OAAwB;QAMxC,OAAO,MAAM,kBAAkB,CAAC,OAAO,EAAE;YACvC,GAAG,IAAI,CAAC,MAAM;YACd,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,eAAuC;QACrD,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,CAAC;YAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAClB,MAAc,EACd,IAAY,EACZ,eAAuC;QAEvC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,+FAA+F;AAC/F,KAAK,UAAU,kBAAkB,CAC/B,KAA0C;IAE1C,OAAO,MAAM,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,GAAW;IACzB,OAAO;IACP,MAAM,KAAK,GACT,UACD,CAAC,IAAI,CAAC;IACP,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,UAA4D,CAAC;QACvE,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAC7B,GAAW,EACX,IAAiB,EACjB,OAAe;IAEf,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,qEAAqE;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM;YAC9B,CAAC,CAAC,mDAAmD;gBACnD,OAAO,WAAW,KAAK,WAAW,IAAI,KAAK,IAAI,WAAW;oBAC1D,CAAC,CAAE,WAAgE,CAAC,GAAG,CAAC;wBACpE,IAAI,CAAC,MAAM;wBACX,UAAU,CAAC,MAAM;qBAClB,CAAC;oBACJ,CAAC,CAAC,UAAU,CAAC,MAAM;YACrB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAEtB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAErE,4EAA4E;QAC5E,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,+CAA+C;QAC/C,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,mDAAmD;QACnD,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAI9B;IACC,OAAO,IAAI,WAAW,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK;KAClD,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAGtC;IACC,OAAO,IAAI,WAAW,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAG/B;IACC,OAAO,IAAI,WAAW,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAGpC;IACC,OAAO,IAAI,WAAW,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"aws-sigv4.js","sourceRoot":"","sources":["../../src/aws-sigv4.ts"],"names":[],"mappings":"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"}
|