@genome-spy/app 0.58.3 → 0.60.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.
@@ -0,0 +1,2750 @@
1
+ import { b as z } from "./index-BftNdA0O.js";
2
+ import { A as pt, L as vt } from "./index-CCJIjehY.js";
3
+ import { L as un } from "./__vite-browser-external-C--ziKoh.js";
4
+ import { R as hn } from "./remoteFile-BuaqFGWk.js";
5
+ const _t = BigInt(32);
6
+ function dn(t, n, e) {
7
+ const i = +!!e, o = +!e;
8
+ return BigInt(t.getInt32(n, e) * o + t.getInt32(n + 4, e) * i) << _t | BigInt(t.getUint32(n, e) * i + t.getUint32(n + 4, e) * o);
9
+ }
10
+ function bn(t, n, e) {
11
+ const i = t.getUint32(n, e), o = t.getUint32(n + 4, e), r = +!!e, s = +!e;
12
+ return BigInt(i * s + o * r) << _t | BigInt(i * r + o * s);
13
+ }
14
+ "getBigInt64" in DataView || (DataView.prototype.getBigInt64 = function(t, n) {
15
+ return dn(this, t, n);
16
+ });
17
+ "getBigUint64" in DataView || (DataView.prototype.getBigUint64 = function(t, n) {
18
+ return bn(this, t, n);
19
+ });
20
+ class j {
21
+ constructor(n) {
22
+ this.ranges = n;
23
+ }
24
+ get min() {
25
+ return this.ranges[0].min;
26
+ }
27
+ get max() {
28
+ return this.ranges.at(-1).max;
29
+ }
30
+ contains(n) {
31
+ for (const e of this.ranges)
32
+ if (e.min <= n && e.max >= n)
33
+ return !0;
34
+ return !1;
35
+ }
36
+ isContiguous() {
37
+ return this.ranges.length > 1;
38
+ }
39
+ getRanges() {
40
+ return this.ranges.map((n) => new j([{ min: n.min, max: n.max }]));
41
+ }
42
+ toString() {
43
+ return this.ranges.map((n) => `[${n.min}-${n.max}]`).join(",");
44
+ }
45
+ union(n) {
46
+ const e = [...this.getRanges(), ...n.getRanges()].sort((r, s) => r.min < s.min ? -1 : r.min > s.min ? 1 : r.max < s.max ? -1 : s.max > r.max ? 1 : 0), i = [];
47
+ let o = e[0];
48
+ for (const r of e)
49
+ r.min > o.max + 1 ? (i.push(o), o = r) : r.max > o.max && (o = new j([{ min: o.min, max: r.max }]));
50
+ return i.push(o), i.length === 1 ? i[0] : new j(i);
51
+ }
52
+ }
53
+ /*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */
54
+ function K(t) {
55
+ let n = t.length;
56
+ for (; --n >= 0; )
57
+ t[n] = 0;
58
+ }
59
+ const gn = 3, wn = 258, kt = 29, mn = 256, yn = mn + 1 + kt, xt = 30, pn = 512, vn = new Array((yn + 2) * 2);
60
+ K(vn);
61
+ const _n = new Array(xt * 2);
62
+ K(_n);
63
+ const kn = new Array(pn);
64
+ K(kn);
65
+ const xn = new Array(wn - gn + 1);
66
+ K(xn);
67
+ const En = new Array(kt);
68
+ K(En);
69
+ const Sn = new Array(xt);
70
+ K(Sn);
71
+ const In = (t, n, e, i) => {
72
+ let o = t & 65535 | 0, r = t >>> 16 & 65535 | 0, s = 0;
73
+ for (; e !== 0; ) {
74
+ s = e > 2e3 ? 2e3 : e, e -= s;
75
+ do
76
+ o = o + n[i++] | 0, r = r + o | 0;
77
+ while (--s);
78
+ o %= 65521, r %= 65521;
79
+ }
80
+ return o | r << 16 | 0;
81
+ };
82
+ var Be = In;
83
+ const On = () => {
84
+ let t, n = [];
85
+ for (var e = 0; e < 256; e++) {
86
+ t = e;
87
+ for (var i = 0; i < 8; i++)
88
+ t = t & 1 ? 3988292384 ^ t >>> 1 : t >>> 1;
89
+ n[e] = t;
90
+ }
91
+ return n;
92
+ }, Bn = new Uint32Array(On()), An = (t, n, e, i) => {
93
+ const o = Bn, r = i + e;
94
+ t ^= -1;
95
+ for (let s = i; s < r; s++)
96
+ t = t >>> 8 ^ o[(t ^ n[s]) & 255];
97
+ return t ^ -1;
98
+ };
99
+ var P = An, Ae = {
100
+ 2: "need dictionary",
101
+ /* Z_NEED_DICT 2 */
102
+ 1: "stream end",
103
+ /* Z_STREAM_END 1 */
104
+ 0: "",
105
+ /* Z_OK 0 */
106
+ "-1": "file error",
107
+ /* Z_ERRNO (-1) */
108
+ "-2": "stream error",
109
+ /* Z_STREAM_ERROR (-2) */
110
+ "-3": "data error",
111
+ /* Z_DATA_ERROR (-3) */
112
+ "-4": "insufficient memory",
113
+ /* Z_MEM_ERROR (-4) */
114
+ "-5": "buffer error",
115
+ /* Z_BUF_ERROR (-5) */
116
+ "-6": "incompatible version"
117
+ /* Z_VERSION_ERROR (-6) */
118
+ }, Et = {
119
+ /* Allowed flush values; see deflate() and inflate() below for details */
120
+ Z_NO_FLUSH: 0,
121
+ Z_FINISH: 4,
122
+ Z_BLOCK: 5,
123
+ Z_TREES: 6,
124
+ /* Return codes for the compression/decompression functions. Negative values
125
+ * are errors, positive values are used for special but normal events.
126
+ */
127
+ Z_OK: 0,
128
+ Z_STREAM_END: 1,
129
+ Z_NEED_DICT: 2,
130
+ Z_STREAM_ERROR: -2,
131
+ Z_DATA_ERROR: -3,
132
+ Z_MEM_ERROR: -4,
133
+ Z_BUF_ERROR: -5,
134
+ /* The deflate compression method */
135
+ Z_DEFLATED: 8
136
+ //Z_NULL: null // Use -1 or null inline, depending on var type
137
+ };
138
+ const Tn = (t, n) => Object.prototype.hasOwnProperty.call(t, n);
139
+ var Un = function(t) {
140
+ const n = Array.prototype.slice.call(arguments, 1);
141
+ for (; n.length; ) {
142
+ const e = n.shift();
143
+ if (e) {
144
+ if (typeof e != "object")
145
+ throw new TypeError(e + "must be non-object");
146
+ for (const i in e)
147
+ Tn(e, i) && (t[i] = e[i]);
148
+ }
149
+ }
150
+ return t;
151
+ }, Rn = (t) => {
152
+ let n = 0;
153
+ for (let i = 0, o = t.length; i < o; i++)
154
+ n += t[i].length;
155
+ const e = new Uint8Array(n);
156
+ for (let i = 0, o = 0, r = t.length; i < r; i++) {
157
+ let s = t[i];
158
+ e.set(s, o), o += s.length;
159
+ }
160
+ return e;
161
+ }, St = {
162
+ assign: Un,
163
+ flattenChunks: Rn
164
+ };
165
+ let It = !0;
166
+ try {
167
+ String.fromCharCode.apply(null, new Uint8Array(1));
168
+ } catch {
169
+ It = !1;
170
+ }
171
+ const Q = new Uint8Array(256);
172
+ for (let t = 0; t < 256; t++)
173
+ Q[t] = t >= 252 ? 6 : t >= 248 ? 5 : t >= 240 ? 4 : t >= 224 ? 3 : t >= 192 ? 2 : 1;
174
+ Q[254] = Q[254] = 1;
175
+ var Dn = (t) => {
176
+ if (typeof TextEncoder == "function" && TextEncoder.prototype.encode)
177
+ return new TextEncoder().encode(t);
178
+ let n, e, i, o, r, s = t.length, f = 0;
179
+ for (o = 0; o < s; o++)
180
+ e = t.charCodeAt(o), (e & 64512) === 55296 && o + 1 < s && (i = t.charCodeAt(o + 1), (i & 64512) === 56320 && (e = 65536 + (e - 55296 << 10) + (i - 56320), o++)), f += e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4;
181
+ for (n = new Uint8Array(f), r = 0, o = 0; r < f; o++)
182
+ e = t.charCodeAt(o), (e & 64512) === 55296 && o + 1 < s && (i = t.charCodeAt(o + 1), (i & 64512) === 56320 && (e = 65536 + (e - 55296 << 10) + (i - 56320), o++)), e < 128 ? n[r++] = e : e < 2048 ? (n[r++] = 192 | e >>> 6, n[r++] = 128 | e & 63) : e < 65536 ? (n[r++] = 224 | e >>> 12, n[r++] = 128 | e >>> 6 & 63, n[r++] = 128 | e & 63) : (n[r++] = 240 | e >>> 18, n[r++] = 128 | e >>> 12 & 63, n[r++] = 128 | e >>> 6 & 63, n[r++] = 128 | e & 63);
183
+ return n;
184
+ };
185
+ const Nn = (t, n) => {
186
+ if (n < 65534 && t.subarray && It)
187
+ return String.fromCharCode.apply(null, t.length === n ? t : t.subarray(0, n));
188
+ let e = "";
189
+ for (let i = 0; i < n; i++)
190
+ e += String.fromCharCode(t[i]);
191
+ return e;
192
+ };
193
+ var Cn = (t, n) => {
194
+ const e = n || t.length;
195
+ if (typeof TextDecoder == "function" && TextDecoder.prototype.decode)
196
+ return new TextDecoder().decode(t.subarray(0, n));
197
+ let i, o;
198
+ const r = new Array(e * 2);
199
+ for (o = 0, i = 0; i < e; ) {
200
+ let s = t[i++];
201
+ if (s < 128) {
202
+ r[o++] = s;
203
+ continue;
204
+ }
205
+ let f = Q[s];
206
+ if (f > 4) {
207
+ r[o++] = 65533, i += f - 1;
208
+ continue;
209
+ }
210
+ for (s &= f === 2 ? 31 : f === 3 ? 15 : 7; f > 1 && i < e; )
211
+ s = s << 6 | t[i++] & 63, f--;
212
+ if (f > 1) {
213
+ r[o++] = 65533;
214
+ continue;
215
+ }
216
+ s < 65536 ? r[o++] = s : (s -= 65536, r[o++] = 55296 | s >> 10 & 1023, r[o++] = 56320 | s & 1023);
217
+ }
218
+ return Nn(r, o);
219
+ }, Ln = (t, n) => {
220
+ n = n || t.length, n > t.length && (n = t.length);
221
+ let e = n - 1;
222
+ for (; e >= 0 && (t[e] & 192) === 128; )
223
+ e--;
224
+ return e < 0 || e === 0 ? n : e + Q[t[e]] > n ? e : n;
225
+ }, Te = {
226
+ string2buf: Dn,
227
+ buf2string: Cn,
228
+ utf8border: Ln
229
+ };
230
+ function Pn() {
231
+ this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
232
+ }
233
+ var Fn = Pn;
234
+ const ne = 16209, Mn = 16191;
235
+ var zn = function(n, e) {
236
+ let i, o, r, s, f, u, a, c, v, d, l, h, w, _, k, x, I, g, E, O, m, S, b, p;
237
+ const y = n.state;
238
+ i = n.next_in, b = n.input, o = i + (n.avail_in - 5), r = n.next_out, p = n.output, s = r - (e - n.avail_out), f = r + (n.avail_out - 257), u = y.dmax, a = y.wsize, c = y.whave, v = y.wnext, d = y.window, l = y.hold, h = y.bits, w = y.lencode, _ = y.distcode, k = (1 << y.lenbits) - 1, x = (1 << y.distbits) - 1;
239
+ e:
240
+ do {
241
+ h < 15 && (l += b[i++] << h, h += 8, l += b[i++] << h, h += 8), I = w[l & k];
242
+ t:
243
+ for (; ; ) {
244
+ if (g = I >>> 24, l >>>= g, h -= g, g = I >>> 16 & 255, g === 0)
245
+ p[r++] = I & 65535;
246
+ else if (g & 16) {
247
+ E = I & 65535, g &= 15, g && (h < g && (l += b[i++] << h, h += 8), E += l & (1 << g) - 1, l >>>= g, h -= g), h < 15 && (l += b[i++] << h, h += 8, l += b[i++] << h, h += 8), I = _[l & x];
248
+ n:
249
+ for (; ; ) {
250
+ if (g = I >>> 24, l >>>= g, h -= g, g = I >>> 16 & 255, g & 16) {
251
+ if (O = I & 65535, g &= 15, h < g && (l += b[i++] << h, h += 8, h < g && (l += b[i++] << h, h += 8)), O += l & (1 << g) - 1, O > u) {
252
+ n.msg = "invalid distance too far back", y.mode = ne;
253
+ break e;
254
+ }
255
+ if (l >>>= g, h -= g, g = r - s, O > g) {
256
+ if (g = O - g, g > c && y.sane) {
257
+ n.msg = "invalid distance too far back", y.mode = ne;
258
+ break e;
259
+ }
260
+ if (m = 0, S = d, v === 0) {
261
+ if (m += a - g, g < E) {
262
+ E -= g;
263
+ do
264
+ p[r++] = d[m++];
265
+ while (--g);
266
+ m = r - O, S = p;
267
+ }
268
+ } else if (v < g) {
269
+ if (m += a + v - g, g -= v, g < E) {
270
+ E -= g;
271
+ do
272
+ p[r++] = d[m++];
273
+ while (--g);
274
+ if (m = 0, v < E) {
275
+ g = v, E -= g;
276
+ do
277
+ p[r++] = d[m++];
278
+ while (--g);
279
+ m = r - O, S = p;
280
+ }
281
+ }
282
+ } else if (m += v - g, g < E) {
283
+ E -= g;
284
+ do
285
+ p[r++] = d[m++];
286
+ while (--g);
287
+ m = r - O, S = p;
288
+ }
289
+ for (; E > 2; )
290
+ p[r++] = S[m++], p[r++] = S[m++], p[r++] = S[m++], E -= 3;
291
+ E && (p[r++] = S[m++], E > 1 && (p[r++] = S[m++]));
292
+ } else {
293
+ m = r - O;
294
+ do
295
+ p[r++] = p[m++], p[r++] = p[m++], p[r++] = p[m++], E -= 3;
296
+ while (E > 2);
297
+ E && (p[r++] = p[m++], E > 1 && (p[r++] = p[m++]));
298
+ }
299
+ } else if (g & 64) {
300
+ n.msg = "invalid distance code", y.mode = ne;
301
+ break e;
302
+ } else {
303
+ I = _[(I & 65535) + (l & (1 << g) - 1)];
304
+ continue n;
305
+ }
306
+ break;
307
+ }
308
+ } else if (g & 64)
309
+ if (g & 32) {
310
+ y.mode = Mn;
311
+ break e;
312
+ } else {
313
+ n.msg = "invalid literal/length code", y.mode = ne;
314
+ break e;
315
+ }
316
+ else {
317
+ I = w[(I & 65535) + (l & (1 << g) - 1)];
318
+ continue t;
319
+ }
320
+ break;
321
+ }
322
+ } while (i < o && r < f);
323
+ E = h >> 3, i -= E, h -= E << 3, l &= (1 << h) - 1, n.next_in = i, n.next_out = r, n.avail_in = i < o ? 5 + (o - i) : 5 - (i - o), n.avail_out = r < f ? 257 + (f - r) : 257 - (r - f), y.hold = l, y.bits = h;
324
+ };
325
+ const G = 15, Fe = 852, Me = 592, ze = 0, we = 1, Ze = 2, Zn = new Uint16Array([
326
+ /* Length codes 257..285 base */
327
+ 3,
328
+ 4,
329
+ 5,
330
+ 6,
331
+ 7,
332
+ 8,
333
+ 9,
334
+ 10,
335
+ 11,
336
+ 13,
337
+ 15,
338
+ 17,
339
+ 19,
340
+ 23,
341
+ 27,
342
+ 31,
343
+ 35,
344
+ 43,
345
+ 51,
346
+ 59,
347
+ 67,
348
+ 83,
349
+ 99,
350
+ 115,
351
+ 131,
352
+ 163,
353
+ 195,
354
+ 227,
355
+ 258,
356
+ 0,
357
+ 0
358
+ ]), $n = new Uint8Array([
359
+ /* Length codes 257..285 extra */
360
+ 16,
361
+ 16,
362
+ 16,
363
+ 16,
364
+ 16,
365
+ 16,
366
+ 16,
367
+ 16,
368
+ 17,
369
+ 17,
370
+ 17,
371
+ 17,
372
+ 18,
373
+ 18,
374
+ 18,
375
+ 18,
376
+ 19,
377
+ 19,
378
+ 19,
379
+ 19,
380
+ 20,
381
+ 20,
382
+ 20,
383
+ 20,
384
+ 21,
385
+ 21,
386
+ 21,
387
+ 21,
388
+ 16,
389
+ 72,
390
+ 78
391
+ ]), Hn = new Uint16Array([
392
+ /* Distance codes 0..29 base */
393
+ 1,
394
+ 2,
395
+ 3,
396
+ 4,
397
+ 5,
398
+ 7,
399
+ 9,
400
+ 13,
401
+ 17,
402
+ 25,
403
+ 33,
404
+ 49,
405
+ 65,
406
+ 97,
407
+ 129,
408
+ 193,
409
+ 257,
410
+ 385,
411
+ 513,
412
+ 769,
413
+ 1025,
414
+ 1537,
415
+ 2049,
416
+ 3073,
417
+ 4097,
418
+ 6145,
419
+ 8193,
420
+ 12289,
421
+ 16385,
422
+ 24577,
423
+ 0,
424
+ 0
425
+ ]), Vn = new Uint8Array([
426
+ /* Distance codes 0..29 extra */
427
+ 16,
428
+ 16,
429
+ 16,
430
+ 16,
431
+ 17,
432
+ 17,
433
+ 18,
434
+ 18,
435
+ 19,
436
+ 19,
437
+ 20,
438
+ 20,
439
+ 21,
440
+ 21,
441
+ 22,
442
+ 22,
443
+ 23,
444
+ 23,
445
+ 24,
446
+ 24,
447
+ 25,
448
+ 25,
449
+ 26,
450
+ 26,
451
+ 27,
452
+ 27,
453
+ 28,
454
+ 28,
455
+ 29,
456
+ 29,
457
+ 64,
458
+ 64
459
+ ]), Gn = (t, n, e, i, o, r, s, f) => {
460
+ const u = f.bits;
461
+ let a = 0, c = 0, v = 0, d = 0, l = 0, h = 0, w = 0, _ = 0, k = 0, x = 0, I, g, E, O, m, S = null, b;
462
+ const p = new Uint16Array(G + 1), y = new Uint16Array(G + 1);
463
+ let T = null, D, U, B;
464
+ for (a = 0; a <= G; a++)
465
+ p[a] = 0;
466
+ for (c = 0; c < i; c++)
467
+ p[n[e + c]]++;
468
+ for (l = u, d = G; d >= 1 && p[d] === 0; d--)
469
+ ;
470
+ if (l > d && (l = d), d === 0)
471
+ return o[r++] = 1 << 24 | 64 << 16 | 0, o[r++] = 1 << 24 | 64 << 16 | 0, f.bits = 1, 0;
472
+ for (v = 1; v < d && p[v] === 0; v++)
473
+ ;
474
+ for (l < v && (l = v), _ = 1, a = 1; a <= G; a++)
475
+ if (_ <<= 1, _ -= p[a], _ < 0)
476
+ return -1;
477
+ if (_ > 0 && (t === ze || d !== 1))
478
+ return -1;
479
+ for (y[1] = 0, a = 1; a < G; a++)
480
+ y[a + 1] = y[a] + p[a];
481
+ for (c = 0; c < i; c++)
482
+ n[e + c] !== 0 && (s[y[n[e + c]]++] = c);
483
+ if (t === ze ? (S = T = s, b = 20) : t === we ? (S = Zn, T = $n, b = 257) : (S = Hn, T = Vn, b = 0), x = 0, c = 0, a = v, m = r, h = l, w = 0, E = -1, k = 1 << l, O = k - 1, t === we && k > Fe || t === Ze && k > Me)
484
+ return 1;
485
+ for (; ; ) {
486
+ D = a - w, s[c] + 1 < b ? (U = 0, B = s[c]) : s[c] >= b ? (U = T[s[c] - b], B = S[s[c] - b]) : (U = 96, B = 0), I = 1 << a - w, g = 1 << h, v = g;
487
+ do
488
+ g -= I, o[m + (x >> w) + g] = D << 24 | U << 16 | B | 0;
489
+ while (g !== 0);
490
+ for (I = 1 << a - 1; x & I; )
491
+ I >>= 1;
492
+ if (I !== 0 ? (x &= I - 1, x += I) : x = 0, c++, --p[a] === 0) {
493
+ if (a === d)
494
+ break;
495
+ a = n[e + s[c]];
496
+ }
497
+ if (a > l && (x & O) !== E) {
498
+ for (w === 0 && (w = l), m += v, h = a - w, _ = 1 << h; h + w < d && (_ -= p[h + w], !(_ <= 0)); )
499
+ h++, _ <<= 1;
500
+ if (k += 1 << h, t === we && k > Fe || t === Ze && k > Me)
501
+ return 1;
502
+ E = x & O, o[E] = l << 24 | h << 16 | m - r | 0;
503
+ }
504
+ }
505
+ return x !== 0 && (o[m + x] = a - w << 24 | 64 << 16 | 0), f.bits = l, 0;
506
+ };
507
+ var J = Gn;
508
+ const jn = 0, Ot = 1, Bt = 2, {
509
+ Z_FINISH: $e,
510
+ Z_BLOCK: Yn,
511
+ Z_TREES: re,
512
+ Z_OK: H,
513
+ Z_STREAM_END: Kn,
514
+ Z_NEED_DICT: Wn,
515
+ Z_STREAM_ERROR: C,
516
+ Z_DATA_ERROR: At,
517
+ Z_MEM_ERROR: Tt,
518
+ Z_BUF_ERROR: Xn,
519
+ Z_DEFLATED: He
520
+ } = Et, le = 16180, Ve = 16181, Ge = 16182, je = 16183, Ye = 16184, Ke = 16185, We = 16186, Xe = 16187, Je = 16188, Qe = 16189, ce = 16190, F = 16191, me = 16192, qe = 16193, ye = 16194, et = 16195, tt = 16196, nt = 16197, rt = 16198, ie = 16199, oe = 16200, it = 16201, ot = 16202, at = 16203, st = 16204, ct = 16205, pe = 16206, ft = 16207, lt = 16208, A = 16209, Ut = 16210, Rt = 16211, Jn = 852, Qn = 592, qn = 15, er = qn, ut = (t) => (t >>> 24 & 255) + (t >>> 8 & 65280) + ((t & 65280) << 8) + ((t & 255) << 24);
521
+ function tr() {
522
+ this.strm = null, this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
523
+ }
524
+ const V = (t) => {
525
+ if (!t)
526
+ return 1;
527
+ const n = t.state;
528
+ return !n || n.strm !== t || n.mode < le || n.mode > Rt ? 1 : 0;
529
+ }, Dt = (t) => {
530
+ if (V(t))
531
+ return C;
532
+ const n = t.state;
533
+ return t.total_in = t.total_out = n.total = 0, t.msg = "", n.wrap && (t.adler = n.wrap & 1), n.mode = le, n.last = 0, n.havedict = 0, n.flags = -1, n.dmax = 32768, n.head = null, n.hold = 0, n.bits = 0, n.lencode = n.lendyn = new Int32Array(Jn), n.distcode = n.distdyn = new Int32Array(Qn), n.sane = 1, n.back = -1, H;
534
+ }, Nt = (t) => {
535
+ if (V(t))
536
+ return C;
537
+ const n = t.state;
538
+ return n.wsize = 0, n.whave = 0, n.wnext = 0, Dt(t);
539
+ }, Ct = (t, n) => {
540
+ let e;
541
+ if (V(t))
542
+ return C;
543
+ const i = t.state;
544
+ return n < 0 ? (e = 0, n = -n) : (e = (n >> 4) + 5, n < 48 && (n &= 15)), n && (n < 8 || n > 15) ? C : (i.window !== null && i.wbits !== n && (i.window = null), i.wrap = e, i.wbits = n, Nt(t));
545
+ }, Lt = (t, n) => {
546
+ if (!t)
547
+ return C;
548
+ const e = new tr();
549
+ t.state = e, e.strm = t, e.window = null, e.mode = le;
550
+ const i = Ct(t, n);
551
+ return i !== H && (t.state = null), i;
552
+ }, nr = (t) => Lt(t, er);
553
+ let ht = !0, ve, _e;
554
+ const rr = (t) => {
555
+ if (ht) {
556
+ ve = new Int32Array(512), _e = new Int32Array(32);
557
+ let n = 0;
558
+ for (; n < 144; )
559
+ t.lens[n++] = 8;
560
+ for (; n < 256; )
561
+ t.lens[n++] = 9;
562
+ for (; n < 280; )
563
+ t.lens[n++] = 7;
564
+ for (; n < 288; )
565
+ t.lens[n++] = 8;
566
+ for (J(Ot, t.lens, 0, 288, ve, 0, t.work, { bits: 9 }), n = 0; n < 32; )
567
+ t.lens[n++] = 5;
568
+ J(Bt, t.lens, 0, 32, _e, 0, t.work, { bits: 5 }), ht = !1;
569
+ }
570
+ t.lencode = ve, t.lenbits = 9, t.distcode = _e, t.distbits = 5;
571
+ }, Pt = (t, n, e, i) => {
572
+ let o;
573
+ const r = t.state;
574
+ return r.window === null && (r.wsize = 1 << r.wbits, r.wnext = 0, r.whave = 0, r.window = new Uint8Array(r.wsize)), i >= r.wsize ? (r.window.set(n.subarray(e - r.wsize, e), 0), r.wnext = 0, r.whave = r.wsize) : (o = r.wsize - r.wnext, o > i && (o = i), r.window.set(n.subarray(e - i, e - i + o), r.wnext), i -= o, i ? (r.window.set(n.subarray(e - i, e), 0), r.wnext = i, r.whave = r.wsize) : (r.wnext += o, r.wnext === r.wsize && (r.wnext = 0), r.whave < r.wsize && (r.whave += o))), 0;
575
+ }, ir = (t, n) => {
576
+ let e, i, o, r, s, f, u, a, c, v, d, l, h, w, _ = 0, k, x, I, g, E, O, m, S;
577
+ const b = new Uint8Array(4);
578
+ let p, y;
579
+ const T = (
580
+ /* permutation of code lengths */
581
+ new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15])
582
+ );
583
+ if (V(t) || !t.output || !t.input && t.avail_in !== 0)
584
+ return C;
585
+ e = t.state, e.mode === F && (e.mode = me), s = t.next_out, o = t.output, u = t.avail_out, r = t.next_in, i = t.input, f = t.avail_in, a = e.hold, c = e.bits, v = f, d = u, S = H;
586
+ e:
587
+ for (; ; )
588
+ switch (e.mode) {
589
+ case le:
590
+ if (e.wrap === 0) {
591
+ e.mode = me;
592
+ break;
593
+ }
594
+ for (; c < 16; ) {
595
+ if (f === 0)
596
+ break e;
597
+ f--, a += i[r++] << c, c += 8;
598
+ }
599
+ if (e.wrap & 2 && a === 35615) {
600
+ e.wbits === 0 && (e.wbits = 15), e.check = 0, b[0] = a & 255, b[1] = a >>> 8 & 255, e.check = P(e.check, b, 2, 0), a = 0, c = 0, e.mode = Ve;
601
+ break;
602
+ }
603
+ if (e.head && (e.head.done = !1), !(e.wrap & 1) || /* check if zlib header allowed */
604
+ (((a & 255) << 8) + (a >> 8)) % 31) {
605
+ t.msg = "incorrect header check", e.mode = A;
606
+ break;
607
+ }
608
+ if ((a & 15) !== He) {
609
+ t.msg = "unknown compression method", e.mode = A;
610
+ break;
611
+ }
612
+ if (a >>>= 4, c -= 4, m = (a & 15) + 8, e.wbits === 0 && (e.wbits = m), m > 15 || m > e.wbits) {
613
+ t.msg = "invalid window size", e.mode = A;
614
+ break;
615
+ }
616
+ e.dmax = 1 << e.wbits, e.flags = 0, t.adler = e.check = 1, e.mode = a & 512 ? Qe : F, a = 0, c = 0;
617
+ break;
618
+ case Ve:
619
+ for (; c < 16; ) {
620
+ if (f === 0)
621
+ break e;
622
+ f--, a += i[r++] << c, c += 8;
623
+ }
624
+ if (e.flags = a, (e.flags & 255) !== He) {
625
+ t.msg = "unknown compression method", e.mode = A;
626
+ break;
627
+ }
628
+ if (e.flags & 57344) {
629
+ t.msg = "unknown header flags set", e.mode = A;
630
+ break;
631
+ }
632
+ e.head && (e.head.text = a >> 8 & 1), e.flags & 512 && e.wrap & 4 && (b[0] = a & 255, b[1] = a >>> 8 & 255, e.check = P(e.check, b, 2, 0)), a = 0, c = 0, e.mode = Ge;
633
+ /* falls through */
634
+ case Ge:
635
+ for (; c < 32; ) {
636
+ if (f === 0)
637
+ break e;
638
+ f--, a += i[r++] << c, c += 8;
639
+ }
640
+ e.head && (e.head.time = a), e.flags & 512 && e.wrap & 4 && (b[0] = a & 255, b[1] = a >>> 8 & 255, b[2] = a >>> 16 & 255, b[3] = a >>> 24 & 255, e.check = P(e.check, b, 4, 0)), a = 0, c = 0, e.mode = je;
641
+ /* falls through */
642
+ case je:
643
+ for (; c < 16; ) {
644
+ if (f === 0)
645
+ break e;
646
+ f--, a += i[r++] << c, c += 8;
647
+ }
648
+ e.head && (e.head.xflags = a & 255, e.head.os = a >> 8), e.flags & 512 && e.wrap & 4 && (b[0] = a & 255, b[1] = a >>> 8 & 255, e.check = P(e.check, b, 2, 0)), a = 0, c = 0, e.mode = Ye;
649
+ /* falls through */
650
+ case Ye:
651
+ if (e.flags & 1024) {
652
+ for (; c < 16; ) {
653
+ if (f === 0)
654
+ break e;
655
+ f--, a += i[r++] << c, c += 8;
656
+ }
657
+ e.length = a, e.head && (e.head.extra_len = a), e.flags & 512 && e.wrap & 4 && (b[0] = a & 255, b[1] = a >>> 8 & 255, e.check = P(e.check, b, 2, 0)), a = 0, c = 0;
658
+ } else e.head && (e.head.extra = null);
659
+ e.mode = Ke;
660
+ /* falls through */
661
+ case Ke:
662
+ if (e.flags & 1024 && (l = e.length, l > f && (l = f), l && (e.head && (m = e.head.extra_len - e.length, e.head.extra || (e.head.extra = new Uint8Array(e.head.extra_len)), e.head.extra.set(
663
+ i.subarray(
664
+ r,
665
+ // extra field is limited to 65536 bytes
666
+ // - no need for additional size check
667
+ r + l
668
+ ),
669
+ /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
670
+ m
671
+ )), e.flags & 512 && e.wrap & 4 && (e.check = P(e.check, i, l, r)), f -= l, r += l, e.length -= l), e.length))
672
+ break e;
673
+ e.length = 0, e.mode = We;
674
+ /* falls through */
675
+ case We:
676
+ if (e.flags & 2048) {
677
+ if (f === 0)
678
+ break e;
679
+ l = 0;
680
+ do
681
+ m = i[r + l++], e.head && m && e.length < 65536 && (e.head.name += String.fromCharCode(m));
682
+ while (m && l < f);
683
+ if (e.flags & 512 && e.wrap & 4 && (e.check = P(e.check, i, l, r)), f -= l, r += l, m)
684
+ break e;
685
+ } else e.head && (e.head.name = null);
686
+ e.length = 0, e.mode = Xe;
687
+ /* falls through */
688
+ case Xe:
689
+ if (e.flags & 4096) {
690
+ if (f === 0)
691
+ break e;
692
+ l = 0;
693
+ do
694
+ m = i[r + l++], e.head && m && e.length < 65536 && (e.head.comment += String.fromCharCode(m));
695
+ while (m && l < f);
696
+ if (e.flags & 512 && e.wrap & 4 && (e.check = P(e.check, i, l, r)), f -= l, r += l, m)
697
+ break e;
698
+ } else e.head && (e.head.comment = null);
699
+ e.mode = Je;
700
+ /* falls through */
701
+ case Je:
702
+ if (e.flags & 512) {
703
+ for (; c < 16; ) {
704
+ if (f === 0)
705
+ break e;
706
+ f--, a += i[r++] << c, c += 8;
707
+ }
708
+ if (e.wrap & 4 && a !== (e.check & 65535)) {
709
+ t.msg = "header crc mismatch", e.mode = A;
710
+ break;
711
+ }
712
+ a = 0, c = 0;
713
+ }
714
+ e.head && (e.head.hcrc = e.flags >> 9 & 1, e.head.done = !0), t.adler = e.check = 0, e.mode = F;
715
+ break;
716
+ case Qe:
717
+ for (; c < 32; ) {
718
+ if (f === 0)
719
+ break e;
720
+ f--, a += i[r++] << c, c += 8;
721
+ }
722
+ t.adler = e.check = ut(a), a = 0, c = 0, e.mode = ce;
723
+ /* falls through */
724
+ case ce:
725
+ if (e.havedict === 0)
726
+ return t.next_out = s, t.avail_out = u, t.next_in = r, t.avail_in = f, e.hold = a, e.bits = c, Wn;
727
+ t.adler = e.check = 1, e.mode = F;
728
+ /* falls through */
729
+ case F:
730
+ if (n === Yn || n === re)
731
+ break e;
732
+ /* falls through */
733
+ case me:
734
+ if (e.last) {
735
+ a >>>= c & 7, c -= c & 7, e.mode = pe;
736
+ break;
737
+ }
738
+ for (; c < 3; ) {
739
+ if (f === 0)
740
+ break e;
741
+ f--, a += i[r++] << c, c += 8;
742
+ }
743
+ switch (e.last = a & 1, a >>>= 1, c -= 1, a & 3) {
744
+ case 0:
745
+ e.mode = qe;
746
+ break;
747
+ case 1:
748
+ if (rr(e), e.mode = ie, n === re) {
749
+ a >>>= 2, c -= 2;
750
+ break e;
751
+ }
752
+ break;
753
+ case 2:
754
+ e.mode = tt;
755
+ break;
756
+ case 3:
757
+ t.msg = "invalid block type", e.mode = A;
758
+ }
759
+ a >>>= 2, c -= 2;
760
+ break;
761
+ case qe:
762
+ for (a >>>= c & 7, c -= c & 7; c < 32; ) {
763
+ if (f === 0)
764
+ break e;
765
+ f--, a += i[r++] << c, c += 8;
766
+ }
767
+ if ((a & 65535) !== (a >>> 16 ^ 65535)) {
768
+ t.msg = "invalid stored block lengths", e.mode = A;
769
+ break;
770
+ }
771
+ if (e.length = a & 65535, a = 0, c = 0, e.mode = ye, n === re)
772
+ break e;
773
+ /* falls through */
774
+ case ye:
775
+ e.mode = et;
776
+ /* falls through */
777
+ case et:
778
+ if (l = e.length, l) {
779
+ if (l > f && (l = f), l > u && (l = u), l === 0)
780
+ break e;
781
+ o.set(i.subarray(r, r + l), s), f -= l, r += l, u -= l, s += l, e.length -= l;
782
+ break;
783
+ }
784
+ e.mode = F;
785
+ break;
786
+ case tt:
787
+ for (; c < 14; ) {
788
+ if (f === 0)
789
+ break e;
790
+ f--, a += i[r++] << c, c += 8;
791
+ }
792
+ if (e.nlen = (a & 31) + 257, a >>>= 5, c -= 5, e.ndist = (a & 31) + 1, a >>>= 5, c -= 5, e.ncode = (a & 15) + 4, a >>>= 4, c -= 4, e.nlen > 286 || e.ndist > 30) {
793
+ t.msg = "too many length or distance symbols", e.mode = A;
794
+ break;
795
+ }
796
+ e.have = 0, e.mode = nt;
797
+ /* falls through */
798
+ case nt:
799
+ for (; e.have < e.ncode; ) {
800
+ for (; c < 3; ) {
801
+ if (f === 0)
802
+ break e;
803
+ f--, a += i[r++] << c, c += 8;
804
+ }
805
+ e.lens[T[e.have++]] = a & 7, a >>>= 3, c -= 3;
806
+ }
807
+ for (; e.have < 19; )
808
+ e.lens[T[e.have++]] = 0;
809
+ if (e.lencode = e.lendyn, e.lenbits = 7, p = { bits: e.lenbits }, S = J(jn, e.lens, 0, 19, e.lencode, 0, e.work, p), e.lenbits = p.bits, S) {
810
+ t.msg = "invalid code lengths set", e.mode = A;
811
+ break;
812
+ }
813
+ e.have = 0, e.mode = rt;
814
+ /* falls through */
815
+ case rt:
816
+ for (; e.have < e.nlen + e.ndist; ) {
817
+ for (; _ = e.lencode[a & (1 << e.lenbits) - 1], k = _ >>> 24, x = _ >>> 16 & 255, I = _ & 65535, !(k <= c); ) {
818
+ if (f === 0)
819
+ break e;
820
+ f--, a += i[r++] << c, c += 8;
821
+ }
822
+ if (I < 16)
823
+ a >>>= k, c -= k, e.lens[e.have++] = I;
824
+ else {
825
+ if (I === 16) {
826
+ for (y = k + 2; c < y; ) {
827
+ if (f === 0)
828
+ break e;
829
+ f--, a += i[r++] << c, c += 8;
830
+ }
831
+ if (a >>>= k, c -= k, e.have === 0) {
832
+ t.msg = "invalid bit length repeat", e.mode = A;
833
+ break;
834
+ }
835
+ m = e.lens[e.have - 1], l = 3 + (a & 3), a >>>= 2, c -= 2;
836
+ } else if (I === 17) {
837
+ for (y = k + 3; c < y; ) {
838
+ if (f === 0)
839
+ break e;
840
+ f--, a += i[r++] << c, c += 8;
841
+ }
842
+ a >>>= k, c -= k, m = 0, l = 3 + (a & 7), a >>>= 3, c -= 3;
843
+ } else {
844
+ for (y = k + 7; c < y; ) {
845
+ if (f === 0)
846
+ break e;
847
+ f--, a += i[r++] << c, c += 8;
848
+ }
849
+ a >>>= k, c -= k, m = 0, l = 11 + (a & 127), a >>>= 7, c -= 7;
850
+ }
851
+ if (e.have + l > e.nlen + e.ndist) {
852
+ t.msg = "invalid bit length repeat", e.mode = A;
853
+ break;
854
+ }
855
+ for (; l--; )
856
+ e.lens[e.have++] = m;
857
+ }
858
+ }
859
+ if (e.mode === A)
860
+ break;
861
+ if (e.lens[256] === 0) {
862
+ t.msg = "invalid code -- missing end-of-block", e.mode = A;
863
+ break;
864
+ }
865
+ if (e.lenbits = 9, p = { bits: e.lenbits }, S = J(Ot, e.lens, 0, e.nlen, e.lencode, 0, e.work, p), e.lenbits = p.bits, S) {
866
+ t.msg = "invalid literal/lengths set", e.mode = A;
867
+ break;
868
+ }
869
+ if (e.distbits = 6, e.distcode = e.distdyn, p = { bits: e.distbits }, S = J(Bt, e.lens, e.nlen, e.ndist, e.distcode, 0, e.work, p), e.distbits = p.bits, S) {
870
+ t.msg = "invalid distances set", e.mode = A;
871
+ break;
872
+ }
873
+ if (e.mode = ie, n === re)
874
+ break e;
875
+ /* falls through */
876
+ case ie:
877
+ e.mode = oe;
878
+ /* falls through */
879
+ case oe:
880
+ if (f >= 6 && u >= 258) {
881
+ t.next_out = s, t.avail_out = u, t.next_in = r, t.avail_in = f, e.hold = a, e.bits = c, zn(t, d), s = t.next_out, o = t.output, u = t.avail_out, r = t.next_in, i = t.input, f = t.avail_in, a = e.hold, c = e.bits, e.mode === F && (e.back = -1);
882
+ break;
883
+ }
884
+ for (e.back = 0; _ = e.lencode[a & (1 << e.lenbits) - 1], k = _ >>> 24, x = _ >>> 16 & 255, I = _ & 65535, !(k <= c); ) {
885
+ if (f === 0)
886
+ break e;
887
+ f--, a += i[r++] << c, c += 8;
888
+ }
889
+ if (x && !(x & 240)) {
890
+ for (g = k, E = x, O = I; _ = e.lencode[O + ((a & (1 << g + E) - 1) >> g)], k = _ >>> 24, x = _ >>> 16 & 255, I = _ & 65535, !(g + k <= c); ) {
891
+ if (f === 0)
892
+ break e;
893
+ f--, a += i[r++] << c, c += 8;
894
+ }
895
+ a >>>= g, c -= g, e.back += g;
896
+ }
897
+ if (a >>>= k, c -= k, e.back += k, e.length = I, x === 0) {
898
+ e.mode = ct;
899
+ break;
900
+ }
901
+ if (x & 32) {
902
+ e.back = -1, e.mode = F;
903
+ break;
904
+ }
905
+ if (x & 64) {
906
+ t.msg = "invalid literal/length code", e.mode = A;
907
+ break;
908
+ }
909
+ e.extra = x & 15, e.mode = it;
910
+ /* falls through */
911
+ case it:
912
+ if (e.extra) {
913
+ for (y = e.extra; c < y; ) {
914
+ if (f === 0)
915
+ break e;
916
+ f--, a += i[r++] << c, c += 8;
917
+ }
918
+ e.length += a & (1 << e.extra) - 1, a >>>= e.extra, c -= e.extra, e.back += e.extra;
919
+ }
920
+ e.was = e.length, e.mode = ot;
921
+ /* falls through */
922
+ case ot:
923
+ for (; _ = e.distcode[a & (1 << e.distbits) - 1], k = _ >>> 24, x = _ >>> 16 & 255, I = _ & 65535, !(k <= c); ) {
924
+ if (f === 0)
925
+ break e;
926
+ f--, a += i[r++] << c, c += 8;
927
+ }
928
+ if (!(x & 240)) {
929
+ for (g = k, E = x, O = I; _ = e.distcode[O + ((a & (1 << g + E) - 1) >> g)], k = _ >>> 24, x = _ >>> 16 & 255, I = _ & 65535, !(g + k <= c); ) {
930
+ if (f === 0)
931
+ break e;
932
+ f--, a += i[r++] << c, c += 8;
933
+ }
934
+ a >>>= g, c -= g, e.back += g;
935
+ }
936
+ if (a >>>= k, c -= k, e.back += k, x & 64) {
937
+ t.msg = "invalid distance code", e.mode = A;
938
+ break;
939
+ }
940
+ e.offset = I, e.extra = x & 15, e.mode = at;
941
+ /* falls through */
942
+ case at:
943
+ if (e.extra) {
944
+ for (y = e.extra; c < y; ) {
945
+ if (f === 0)
946
+ break e;
947
+ f--, a += i[r++] << c, c += 8;
948
+ }
949
+ e.offset += a & (1 << e.extra) - 1, a >>>= e.extra, c -= e.extra, e.back += e.extra;
950
+ }
951
+ if (e.offset > e.dmax) {
952
+ t.msg = "invalid distance too far back", e.mode = A;
953
+ break;
954
+ }
955
+ e.mode = st;
956
+ /* falls through */
957
+ case st:
958
+ if (u === 0)
959
+ break e;
960
+ if (l = d - u, e.offset > l) {
961
+ if (l = e.offset - l, l > e.whave && e.sane) {
962
+ t.msg = "invalid distance too far back", e.mode = A;
963
+ break;
964
+ }
965
+ l > e.wnext ? (l -= e.wnext, h = e.wsize - l) : h = e.wnext - l, l > e.length && (l = e.length), w = e.window;
966
+ } else
967
+ w = o, h = s - e.offset, l = e.length;
968
+ l > u && (l = u), u -= l, e.length -= l;
969
+ do
970
+ o[s++] = w[h++];
971
+ while (--l);
972
+ e.length === 0 && (e.mode = oe);
973
+ break;
974
+ case ct:
975
+ if (u === 0)
976
+ break e;
977
+ o[s++] = e.length, u--, e.mode = oe;
978
+ break;
979
+ case pe:
980
+ if (e.wrap) {
981
+ for (; c < 32; ) {
982
+ if (f === 0)
983
+ break e;
984
+ f--, a |= i[r++] << c, c += 8;
985
+ }
986
+ if (d -= u, t.total_out += d, e.total += d, e.wrap & 4 && d && (t.adler = e.check = /*UPDATE_CHECK(state.check, put - _out, _out);*/
987
+ e.flags ? P(e.check, o, d, s - d) : Be(e.check, o, d, s - d)), d = u, e.wrap & 4 && (e.flags ? a : ut(a)) !== e.check) {
988
+ t.msg = "incorrect data check", e.mode = A;
989
+ break;
990
+ }
991
+ a = 0, c = 0;
992
+ }
993
+ e.mode = ft;
994
+ /* falls through */
995
+ case ft:
996
+ if (e.wrap && e.flags) {
997
+ for (; c < 32; ) {
998
+ if (f === 0)
999
+ break e;
1000
+ f--, a += i[r++] << c, c += 8;
1001
+ }
1002
+ if (e.wrap & 4 && a !== (e.total & 4294967295)) {
1003
+ t.msg = "incorrect length check", e.mode = A;
1004
+ break;
1005
+ }
1006
+ a = 0, c = 0;
1007
+ }
1008
+ e.mode = lt;
1009
+ /* falls through */
1010
+ case lt:
1011
+ S = Kn;
1012
+ break e;
1013
+ case A:
1014
+ S = At;
1015
+ break e;
1016
+ case Ut:
1017
+ return Tt;
1018
+ case Rt:
1019
+ /* falls through */
1020
+ default:
1021
+ return C;
1022
+ }
1023
+ return t.next_out = s, t.avail_out = u, t.next_in = r, t.avail_in = f, e.hold = a, e.bits = c, (e.wsize || d !== t.avail_out && e.mode < A && (e.mode < pe || n !== $e)) && Pt(t, t.output, t.next_out, d - t.avail_out), v -= t.avail_in, d -= t.avail_out, t.total_in += v, t.total_out += d, e.total += d, e.wrap & 4 && d && (t.adler = e.check = /*UPDATE_CHECK(state.check, strm.next_out - _out, _out);*/
1024
+ e.flags ? P(e.check, o, d, t.next_out - d) : Be(e.check, o, d, t.next_out - d)), t.data_type = e.bits + (e.last ? 64 : 0) + (e.mode === F ? 128 : 0) + (e.mode === ie || e.mode === ye ? 256 : 0), (v === 0 && d === 0 || n === $e) && S === H && (S = Xn), S;
1025
+ }, or = (t) => {
1026
+ if (V(t))
1027
+ return C;
1028
+ let n = t.state;
1029
+ return n.window && (n.window = null), t.state = null, H;
1030
+ }, ar = (t, n) => {
1031
+ if (V(t))
1032
+ return C;
1033
+ const e = t.state;
1034
+ return e.wrap & 2 ? (e.head = n, n.done = !1, H) : C;
1035
+ }, sr = (t, n) => {
1036
+ const e = n.length;
1037
+ let i, o, r;
1038
+ return V(t) || (i = t.state, i.wrap !== 0 && i.mode !== ce) ? C : i.mode === ce && (o = 1, o = Be(o, n, e, 0), o !== i.check) ? At : (r = Pt(t, n, e, e), r ? (i.mode = Ut, Tt) : (i.havedict = 1, H));
1039
+ };
1040
+ var cr = Nt, fr = Ct, lr = Dt, ur = nr, hr = Lt, dr = ir, br = or, gr = ar, wr = sr, mr = "pako inflate (from Nodeca project)", M = {
1041
+ inflateReset: cr,
1042
+ inflateReset2: fr,
1043
+ inflateResetKeep: lr,
1044
+ inflateInit: ur,
1045
+ inflateInit2: hr,
1046
+ inflate: dr,
1047
+ inflateEnd: br,
1048
+ inflateGetHeader: gr,
1049
+ inflateSetDictionary: wr,
1050
+ inflateInfo: mr
1051
+ };
1052
+ function yr() {
1053
+ this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1;
1054
+ }
1055
+ var pr = yr;
1056
+ const Ft = Object.prototype.toString, {
1057
+ Z_NO_FLUSH: vr,
1058
+ Z_FINISH: _r,
1059
+ Z_OK: q,
1060
+ Z_STREAM_END: ke,
1061
+ Z_NEED_DICT: xe,
1062
+ Z_STREAM_ERROR: kr,
1063
+ Z_DATA_ERROR: dt,
1064
+ Z_MEM_ERROR: xr
1065
+ } = Et;
1066
+ function ue(t) {
1067
+ this.options = St.assign({
1068
+ chunkSize: 1024 * 64,
1069
+ windowBits: 15,
1070
+ to: ""
1071
+ }, t || {});
1072
+ const n = this.options;
1073
+ n.raw && n.windowBits >= 0 && n.windowBits < 16 && (n.windowBits = -n.windowBits, n.windowBits === 0 && (n.windowBits = -15)), n.windowBits >= 0 && n.windowBits < 16 && !(t && t.windowBits) && (n.windowBits += 32), n.windowBits > 15 && n.windowBits < 48 && (n.windowBits & 15 || (n.windowBits |= 15)), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new Fn(), this.strm.avail_out = 0;
1074
+ let e = M.inflateInit2(
1075
+ this.strm,
1076
+ n.windowBits
1077
+ );
1078
+ if (e !== q)
1079
+ throw new Error(Ae[e]);
1080
+ if (this.header = new pr(), M.inflateGetHeader(this.strm, this.header), n.dictionary && (typeof n.dictionary == "string" ? n.dictionary = Te.string2buf(n.dictionary) : Ft.call(n.dictionary) === "[object ArrayBuffer]" && (n.dictionary = new Uint8Array(n.dictionary)), n.raw && (e = M.inflateSetDictionary(this.strm, n.dictionary), e !== q)))
1081
+ throw new Error(Ae[e]);
1082
+ }
1083
+ ue.prototype.push = function(t, n) {
1084
+ const e = this.strm, i = this.options.chunkSize, o = this.options.dictionary;
1085
+ let r, s, f;
1086
+ if (this.ended) return !1;
1087
+ for (n === ~~n ? s = n : s = n === !0 ? _r : vr, Ft.call(t) === "[object ArrayBuffer]" ? e.input = new Uint8Array(t) : e.input = t, e.next_in = 0, e.avail_in = e.input.length; ; ) {
1088
+ for (e.avail_out === 0 && (e.output = new Uint8Array(i), e.next_out = 0, e.avail_out = i), r = M.inflate(e, s), r === xe && o && (r = M.inflateSetDictionary(e, o), r === q ? r = M.inflate(e, s) : r === dt && (r = xe)); e.avail_in > 0 && r === ke && e.state.wrap > 0 && t[e.next_in] !== 0; )
1089
+ M.inflateReset(e), r = M.inflate(e, s);
1090
+ switch (r) {
1091
+ case kr:
1092
+ case dt:
1093
+ case xe:
1094
+ case xr:
1095
+ return this.onEnd(r), this.ended = !0, !1;
1096
+ }
1097
+ if (f = e.avail_out, e.next_out && (e.avail_out === 0 || r === ke))
1098
+ if (this.options.to === "string") {
1099
+ let u = Te.utf8border(e.output, e.next_out), a = e.next_out - u, c = Te.buf2string(e.output, u);
1100
+ e.next_out = a, e.avail_out = i - a, a && e.output.set(e.output.subarray(u, u + a), 0), this.onData(c);
1101
+ } else
1102
+ this.onData(e.output.length === e.next_out ? e.output : e.output.subarray(0, e.next_out));
1103
+ if (!(r === q && f === 0)) {
1104
+ if (r === ke)
1105
+ return r = M.inflateEnd(this.strm), this.onEnd(r), this.ended = !0, !0;
1106
+ if (e.avail_in === 0) break;
1107
+ }
1108
+ }
1109
+ return !0;
1110
+ };
1111
+ ue.prototype.onData = function(t) {
1112
+ this.chunks.push(t);
1113
+ };
1114
+ ue.prototype.onEnd = function(t) {
1115
+ t === q && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = St.flattenChunks(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg;
1116
+ };
1117
+ function Er(t, n) {
1118
+ const e = new ue(n);
1119
+ if (e.push(t), e.err) throw e.msg || Ae[e.err];
1120
+ return e.result;
1121
+ }
1122
+ function Sr(t, n) {
1123
+ return n = n || {}, n.raw = !0, Er(t, n);
1124
+ }
1125
+ var Ir = Sr, Or = {
1126
+ inflateRaw: Ir
1127
+ };
1128
+ const { inflateRaw: Br } = Or;
1129
+ var Ar = Br;
1130
+ function Tr(t) {
1131
+ return Ar(t.subarray(2));
1132
+ }
1133
+ class Ur extends Error {
1134
+ constructor(n) {
1135
+ super(n), this.code = "ERR_ABORTED";
1136
+ }
1137
+ }
1138
+ function Rr(t) {
1139
+ t.sort((o, r) => o.offset - r.offset);
1140
+ const n = [];
1141
+ let e, i;
1142
+ for (const o of t)
1143
+ e && i && o.offset - i <= 2e3 ? (e.length = e.length + o.length - i + o.offset, e.blocks.push(o)) : n.push(e = {
1144
+ blocks: [o],
1145
+ length: o.length,
1146
+ offset: o.offset
1147
+ }), i = e.offset + e.length;
1148
+ return n;
1149
+ }
1150
+ function ae(t) {
1151
+ if (t && t.aborted)
1152
+ if (typeof DOMException > "u") {
1153
+ const n = new Ur("aborted");
1154
+ throw n.code = "ERR_ABORTED", n;
1155
+ } else
1156
+ throw new DOMException("aborted", "AbortError");
1157
+ }
1158
+ const Ee = typeof TextDecoder < "u" ? new TextDecoder("utf8") : void 0;
1159
+ function Se(t, n, e, i) {
1160
+ return t < i && n >= e;
1161
+ }
1162
+ class Mt {
1163
+ constructor(n, e, i, o, r, s) {
1164
+ if (this.bbi = n, this.refsByName = e, this.cirTreeOffset = i, this.isBigEndian = o, this.isCompressed = r, this.blockType = s, this.featureCache = new pt({
1165
+ cache: new vt({ maxSize: 1e3 }),
1166
+ fill: async (f, u) => {
1167
+ const a = f.length, c = f.offset, { buffer: v } = await this.bbi.read(z.Buffer.alloc(a), 0, a, c, {
1168
+ signal: u
1169
+ });
1170
+ return v;
1171
+ }
1172
+ }), !(i >= 0))
1173
+ throw new Error("invalid cirTreeOffset!");
1174
+ }
1175
+ async readWigData(n, e, i, o, r) {
1176
+ try {
1177
+ const { refsByName: s, bbi: f, cirTreeOffset: u, isBigEndian: a } = this, c = s[n];
1178
+ c === void 0 && o.complete();
1179
+ const v = { chrId: c, start: e, end: i };
1180
+ this.cirTreePromise || (this.cirTreePromise = f.read(z.Buffer.alloc(48), 0, 48, u, r));
1181
+ const { buffer: d } = await this.cirTreePromise, l = a ? d.readUInt32BE(4) : d.readUInt32LE(4);
1182
+ let h = [], w = 0;
1183
+ const _ = !0, k = (E, O, m) => {
1184
+ try {
1185
+ const b = E.subarray(O), p = new DataView(b.buffer, b.byteOffset, b.length);
1186
+ let y = 0;
1187
+ const T = p.getUint8(y);
1188
+ y += 2;
1189
+ const D = p.getUint16(y, _);
1190
+ if (y += 2, T === 1) {
1191
+ const U = [];
1192
+ for (let B = 0; B < D; B++) {
1193
+ const N = p.getUint32(y, _);
1194
+ y += 4;
1195
+ const Z = p.getUint32(y, _);
1196
+ y += 4;
1197
+ const he = p.getUint32(y, _);
1198
+ y += 4;
1199
+ const de = p.getUint32(y, _);
1200
+ y += 4;
1201
+ const be = Number(p.getBigUint64(y, _));
1202
+ y += 8;
1203
+ const ge = Number(p.getBigUint64(y, _));
1204
+ y += 8, U.push({
1205
+ startChrom: N,
1206
+ startBase: Z,
1207
+ endBase: de,
1208
+ endChrom: he,
1209
+ blockOffset: be,
1210
+ blockSize: ge,
1211
+ offset: y
1212
+ });
1213
+ }
1214
+ h = h.concat(U.filter((B) => x(B)).map((B) => ({
1215
+ offset: B.blockOffset,
1216
+ length: B.blockSize
1217
+ })));
1218
+ } else if (T === 0) {
1219
+ const U = [];
1220
+ for (let N = 0; N < D; N++) {
1221
+ const Z = p.getUint32(y, _);
1222
+ y += 4;
1223
+ const he = p.getUint32(y, _);
1224
+ y += 4;
1225
+ const de = p.getUint32(y, _);
1226
+ y += 4;
1227
+ const be = p.getUint32(y, _);
1228
+ y += 4;
1229
+ const ge = Number(p.getBigUint64(y, _));
1230
+ y += 8, U.push({
1231
+ startChrom: Z,
1232
+ startBase: he,
1233
+ endChrom: de,
1234
+ endBase: be,
1235
+ blockOffset: ge,
1236
+ offset: y
1237
+ });
1238
+ }
1239
+ const B = U.filter((N) => x(N)).map((N) => N.blockOffset);
1240
+ B.length > 0 && g(B, m + 1);
1241
+ }
1242
+ } catch (S) {
1243
+ o.error(S);
1244
+ }
1245
+ }, x = (E) => {
1246
+ const { startChrom: O, startBase: m, endChrom: S, endBase: b } = E;
1247
+ return (O < c || O === c && m <= i) && (S > c || S === c && b >= e);
1248
+ }, I = async (E, O, m) => {
1249
+ try {
1250
+ const S = O.max - O.min, b = O.min, p = await this.featureCache.get(`${S}_${b}`, { length: S, offset: b }, r == null ? void 0 : r.signal);
1251
+ for (const y of E)
1252
+ O.contains(y) && (k(p, y - b, m), w -= 1, w === 0 && this.readFeatures(o, h, {
1253
+ ...r,
1254
+ request: v
1255
+ }).catch((T) => {
1256
+ o.error(T);
1257
+ }));
1258
+ } catch (S) {
1259
+ o.error(S);
1260
+ }
1261
+ }, g = (E, O) => {
1262
+ try {
1263
+ w += E.length;
1264
+ const m = 4 + l * 32;
1265
+ let S = new j([
1266
+ {
1267
+ min: E[0],
1268
+ max: E[0] + m
1269
+ }
1270
+ ]);
1271
+ for (let b = 1; b < E.length; b += 1) {
1272
+ const p = new j([
1273
+ {
1274
+ min: E[b],
1275
+ max: E[b] + m
1276
+ }
1277
+ ]);
1278
+ S = S.union(p);
1279
+ }
1280
+ S.getRanges().map((b) => I(E, b, O));
1281
+ } catch (m) {
1282
+ o.error(m);
1283
+ }
1284
+ };
1285
+ g([Number(u) + 48], 1);
1286
+ return;
1287
+ } catch (s) {
1288
+ o.error(s);
1289
+ }
1290
+ }
1291
+ parseSummaryBlock(n, e, i) {
1292
+ const o = [];
1293
+ let r = e;
1294
+ const s = new DataView(n.buffer, n.byteOffset, n.length);
1295
+ for (; r < n.byteLength; ) {
1296
+ const f = s.getUint32(r, !0);
1297
+ r += 4;
1298
+ const u = s.getUint32(r, !0);
1299
+ r += 4;
1300
+ const a = s.getUint32(r, !0);
1301
+ r += 4;
1302
+ const c = s.getUint32(r, !0);
1303
+ r += 4;
1304
+ const v = s.getFloat32(r, !0);
1305
+ r += 4;
1306
+ const d = s.getFloat32(r, !0);
1307
+ r += 4;
1308
+ const l = s.getFloat32(r, !0);
1309
+ r += 4, r += 4, (!i || f === i.chrId && Se(u, a, i.start, i.end)) && o.push({
1310
+ start: u,
1311
+ end: a,
1312
+ maxScore: d,
1313
+ minScore: v,
1314
+ summary: !0,
1315
+ score: l / (c || 1)
1316
+ });
1317
+ }
1318
+ return o;
1319
+ }
1320
+ parseBigBedBlock(n, e, i, o) {
1321
+ var r;
1322
+ const s = [];
1323
+ let f = e;
1324
+ const u = !0, a = n, c = new DataView(a.buffer, a.byteOffset, a.length);
1325
+ for (; f < n.byteLength; ) {
1326
+ const v = f, d = c.getUint32(f, u);
1327
+ f += 4;
1328
+ const l = c.getInt32(f, u);
1329
+ f += 4;
1330
+ const h = c.getInt32(f, u);
1331
+ f += 4;
1332
+ let w = f;
1333
+ for (; w < n.length && n[w] !== 0; w++)
1334
+ ;
1335
+ const _ = n.subarray(f, w), k = (r = Ee == null ? void 0 : Ee.decode(_)) !== null && r !== void 0 ? r : _.toString();
1336
+ f = w + 1, s.push({
1337
+ chromId: d,
1338
+ start: l,
1339
+ end: h,
1340
+ rest: k,
1341
+ uniqueId: `bb-${i + v}`
1342
+ });
1343
+ }
1344
+ return o ? s.filter((v) => Se(v.start, v.end, o.start, o.end)) : s;
1345
+ }
1346
+ parseBigWigBlock(n, e, i) {
1347
+ const o = n.subarray(e), r = new DataView(o.buffer, o.byteOffset, o.length);
1348
+ let s = 0;
1349
+ s += 4;
1350
+ const f = r.getInt32(s, !0);
1351
+ s += 8;
1352
+ const u = r.getUint32(s, !0);
1353
+ s += 4;
1354
+ const a = r.getUint32(s, !0);
1355
+ s += 4;
1356
+ const c = r.getUint8(s);
1357
+ s += 2;
1358
+ const v = r.getUint16(s, !0);
1359
+ s += 2;
1360
+ const d = new Array(v);
1361
+ switch (c) {
1362
+ case 1: {
1363
+ for (let l = 0; l < v; l++) {
1364
+ const h = r.getInt32(s, !0);
1365
+ s += 4;
1366
+ const w = r.getInt32(s, !0);
1367
+ s += 4;
1368
+ const _ = r.getFloat32(s, !0);
1369
+ s += 4, d[l] = {
1370
+ start: h,
1371
+ end: w,
1372
+ score: _
1373
+ };
1374
+ }
1375
+ break;
1376
+ }
1377
+ case 2: {
1378
+ for (let l = 0; l < v; l++) {
1379
+ const h = r.getInt32(s, !0);
1380
+ s += 4;
1381
+ const w = r.getFloat32(s, !0);
1382
+ s += 4, d[l] = {
1383
+ score: w,
1384
+ start: h,
1385
+ end: h + a
1386
+ };
1387
+ }
1388
+ break;
1389
+ }
1390
+ case 3: {
1391
+ for (let l = 0; l < v; l++) {
1392
+ const h = r.getFloat32(s, !0);
1393
+ s += 4;
1394
+ const w = f + l * u;
1395
+ d[l] = {
1396
+ score: h,
1397
+ start: w,
1398
+ end: w + a
1399
+ };
1400
+ }
1401
+ break;
1402
+ }
1403
+ }
1404
+ return i ? d.filter((l) => Se(l.start, l.end, i.start, i.end)) : d;
1405
+ }
1406
+ async readFeatures(n, e, i = {}) {
1407
+ try {
1408
+ const { blockType: o, isCompressed: r } = this, { signal: s, request: f } = i, u = Rr(e);
1409
+ ae(s), await Promise.all(u.map(async (a) => {
1410
+ ae(s);
1411
+ const { length: c, offset: v } = a, d = await this.featureCache.get(`${c}_${v}`, a, s);
1412
+ for (const l of a.blocks) {
1413
+ ae(s);
1414
+ let h = Number(l.offset) - Number(a.offset), w = d;
1415
+ switch (r && (w = Tr(d.subarray(h)), h = 0), ae(s), o) {
1416
+ case "summary": {
1417
+ n.next(this.parseSummaryBlock(w, h, f));
1418
+ break;
1419
+ }
1420
+ case "bigwig": {
1421
+ n.next(this.parseBigWigBlock(w, h, f));
1422
+ break;
1423
+ }
1424
+ case "bigbed": {
1425
+ n.next(this.parseBigBedBlock(w, h, Number(l.offset) * 256, f));
1426
+ break;
1427
+ }
1428
+ default:
1429
+ console.warn(`Don't know what to do with ${o}`);
1430
+ }
1431
+ }
1432
+ })), n.complete();
1433
+ } catch (o) {
1434
+ n.error(o);
1435
+ }
1436
+ }
1437
+ }
1438
+ var Ue = function(t, n) {
1439
+ return Ue = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, i) {
1440
+ e.__proto__ = i;
1441
+ } || function(e, i) {
1442
+ for (var o in i) Object.prototype.hasOwnProperty.call(i, o) && (e[o] = i[o]);
1443
+ }, Ue(t, n);
1444
+ };
1445
+ function Ne(t, n) {
1446
+ if (typeof n != "function" && n !== null)
1447
+ throw new TypeError("Class extends value " + String(n) + " is not a constructor or null");
1448
+ Ue(t, n);
1449
+ function e() {
1450
+ this.constructor = t;
1451
+ }
1452
+ t.prototype = n === null ? Object.create(n) : (e.prototype = n.prototype, new e());
1453
+ }
1454
+ function Dr(t, n, e, i) {
1455
+ function o(r) {
1456
+ return r instanceof e ? r : new e(function(s) {
1457
+ s(r);
1458
+ });
1459
+ }
1460
+ return new (e || (e = Promise))(function(r, s) {
1461
+ function f(c) {
1462
+ try {
1463
+ a(i.next(c));
1464
+ } catch (v) {
1465
+ s(v);
1466
+ }
1467
+ }
1468
+ function u(c) {
1469
+ try {
1470
+ a(i.throw(c));
1471
+ } catch (v) {
1472
+ s(v);
1473
+ }
1474
+ }
1475
+ function a(c) {
1476
+ c.done ? r(c.value) : o(c.value).then(f, u);
1477
+ }
1478
+ a((i = i.apply(t, n || [])).next());
1479
+ });
1480
+ }
1481
+ function zt(t, n) {
1482
+ var e = { label: 0, sent: function() {
1483
+ if (r[0] & 1) throw r[1];
1484
+ return r[1];
1485
+ }, trys: [], ops: [] }, i, o, r, s = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype);
1486
+ return s.next = f(0), s.throw = f(1), s.return = f(2), typeof Symbol == "function" && (s[Symbol.iterator] = function() {
1487
+ return this;
1488
+ }), s;
1489
+ function f(a) {
1490
+ return function(c) {
1491
+ return u([a, c]);
1492
+ };
1493
+ }
1494
+ function u(a) {
1495
+ if (i) throw new TypeError("Generator is already executing.");
1496
+ for (; s && (s = 0, a[0] && (e = 0)), e; ) try {
1497
+ if (i = 1, o && (r = a[0] & 2 ? o.return : a[0] ? o.throw || ((r = o.return) && r.call(o), 0) : o.next) && !(r = r.call(o, a[1])).done) return r;
1498
+ switch (o = 0, r && (a = [a[0] & 2, r.value]), a[0]) {
1499
+ case 0:
1500
+ case 1:
1501
+ r = a;
1502
+ break;
1503
+ case 4:
1504
+ return e.label++, { value: a[1], done: !1 };
1505
+ case 5:
1506
+ e.label++, o = a[1], a = [0];
1507
+ continue;
1508
+ case 7:
1509
+ a = e.ops.pop(), e.trys.pop();
1510
+ continue;
1511
+ default:
1512
+ if (r = e.trys, !(r = r.length > 0 && r[r.length - 1]) && (a[0] === 6 || a[0] === 2)) {
1513
+ e = 0;
1514
+ continue;
1515
+ }
1516
+ if (a[0] === 3 && (!r || a[1] > r[0] && a[1] < r[3])) {
1517
+ e.label = a[1];
1518
+ break;
1519
+ }
1520
+ if (a[0] === 6 && e.label < r[1]) {
1521
+ e.label = r[1], r = a;
1522
+ break;
1523
+ }
1524
+ if (r && e.label < r[2]) {
1525
+ e.label = r[2], e.ops.push(a);
1526
+ break;
1527
+ }
1528
+ r[2] && e.ops.pop(), e.trys.pop();
1529
+ continue;
1530
+ }
1531
+ a = n.call(t, e);
1532
+ } catch (c) {
1533
+ a = [6, c], o = 0;
1534
+ } finally {
1535
+ i = r = 0;
1536
+ }
1537
+ if (a[0] & 5) throw a[1];
1538
+ return { value: a[0] ? a[1] : void 0, done: !0 };
1539
+ }
1540
+ }
1541
+ function ee(t) {
1542
+ var n = typeof Symbol == "function" && Symbol.iterator, e = n && t[n], i = 0;
1543
+ if (e) return e.call(t);
1544
+ if (t && typeof t.length == "number") return {
1545
+ next: function() {
1546
+ return t && i >= t.length && (t = void 0), { value: t && t[i++], done: !t };
1547
+ }
1548
+ };
1549
+ throw new TypeError(n ? "Object is not iterable." : "Symbol.iterator is not defined.");
1550
+ }
1551
+ function Re(t, n) {
1552
+ var e = typeof Symbol == "function" && t[Symbol.iterator];
1553
+ if (!e) return t;
1554
+ var i = e.call(t), o, r = [], s;
1555
+ try {
1556
+ for (; (n === void 0 || n-- > 0) && !(o = i.next()).done; ) r.push(o.value);
1557
+ } catch (f) {
1558
+ s = { error: f };
1559
+ } finally {
1560
+ try {
1561
+ o && !o.done && (e = i.return) && e.call(i);
1562
+ } finally {
1563
+ if (s) throw s.error;
1564
+ }
1565
+ }
1566
+ return r;
1567
+ }
1568
+ function De(t, n, e) {
1569
+ if (e || arguments.length === 2) for (var i = 0, o = n.length, r; i < o; i++)
1570
+ (r || !(i in n)) && (r || (r = Array.prototype.slice.call(n, 0, i)), r[i] = n[i]);
1571
+ return t.concat(r || Array.prototype.slice.call(n));
1572
+ }
1573
+ function Y(t) {
1574
+ return this instanceof Y ? (this.v = t, this) : new Y(t);
1575
+ }
1576
+ function Nr(t, n, e) {
1577
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
1578
+ var i = e.apply(t, n || []), o, r = [];
1579
+ return o = Object.create((typeof AsyncIterator == "function" ? AsyncIterator : Object).prototype), f("next"), f("throw"), f("return", s), o[Symbol.asyncIterator] = function() {
1580
+ return this;
1581
+ }, o;
1582
+ function s(l) {
1583
+ return function(h) {
1584
+ return Promise.resolve(h).then(l, v);
1585
+ };
1586
+ }
1587
+ function f(l, h) {
1588
+ i[l] && (o[l] = function(w) {
1589
+ return new Promise(function(_, k) {
1590
+ r.push([l, w, _, k]) > 1 || u(l, w);
1591
+ });
1592
+ }, h && (o[l] = h(o[l])));
1593
+ }
1594
+ function u(l, h) {
1595
+ try {
1596
+ a(i[l](h));
1597
+ } catch (w) {
1598
+ d(r[0][3], w);
1599
+ }
1600
+ }
1601
+ function a(l) {
1602
+ l.value instanceof Y ? Promise.resolve(l.value.v).then(c, v) : d(r[0][2], l);
1603
+ }
1604
+ function c(l) {
1605
+ u("next", l);
1606
+ }
1607
+ function v(l) {
1608
+ u("throw", l);
1609
+ }
1610
+ function d(l, h) {
1611
+ l(h), r.shift(), r.length && u(r[0][0], r[0][1]);
1612
+ }
1613
+ }
1614
+ function Cr(t) {
1615
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
1616
+ var n = t[Symbol.asyncIterator], e;
1617
+ return n ? n.call(t) : (t = typeof ee == "function" ? ee(t) : t[Symbol.iterator](), e = {}, i("next"), i("throw"), i("return"), e[Symbol.asyncIterator] = function() {
1618
+ return this;
1619
+ }, e);
1620
+ function i(r) {
1621
+ e[r] = t[r] && function(s) {
1622
+ return new Promise(function(f, u) {
1623
+ s = t[r](s), o(f, u, s.done, s.value);
1624
+ });
1625
+ };
1626
+ }
1627
+ function o(r, s, f, u) {
1628
+ Promise.resolve(u).then(function(a) {
1629
+ r({ value: a, done: f });
1630
+ }, s);
1631
+ }
1632
+ }
1633
+ function R(t) {
1634
+ return typeof t == "function";
1635
+ }
1636
+ function Zt(t) {
1637
+ var n = function(i) {
1638
+ Error.call(i), i.stack = new Error().stack;
1639
+ }, e = t(n);
1640
+ return e.prototype = Object.create(Error.prototype), e.prototype.constructor = e, e;
1641
+ }
1642
+ var Ie = Zt(function(t) {
1643
+ return function(e) {
1644
+ t(this), this.message = e ? e.length + ` errors occurred during unsubscription:
1645
+ ` + e.map(function(i, o) {
1646
+ return o + 1 + ") " + i.toString();
1647
+ }).join(`
1648
+ `) : "", this.name = "UnsubscriptionError", this.errors = e;
1649
+ };
1650
+ });
1651
+ function bt(t, n) {
1652
+ if (t) {
1653
+ var e = t.indexOf(n);
1654
+ 0 <= e && t.splice(e, 1);
1655
+ }
1656
+ }
1657
+ var Ce = function() {
1658
+ function t(n) {
1659
+ this.initialTeardown = n, this.closed = !1, this._parentage = null, this._finalizers = null;
1660
+ }
1661
+ return t.prototype.unsubscribe = function() {
1662
+ var n, e, i, o, r;
1663
+ if (!this.closed) {
1664
+ this.closed = !0;
1665
+ var s = this._parentage;
1666
+ if (s)
1667
+ if (this._parentage = null, Array.isArray(s))
1668
+ try {
1669
+ for (var f = ee(s), u = f.next(); !u.done; u = f.next()) {
1670
+ var a = u.value;
1671
+ a.remove(this);
1672
+ }
1673
+ } catch (w) {
1674
+ n = { error: w };
1675
+ } finally {
1676
+ try {
1677
+ u && !u.done && (e = f.return) && e.call(f);
1678
+ } finally {
1679
+ if (n) throw n.error;
1680
+ }
1681
+ }
1682
+ else
1683
+ s.remove(this);
1684
+ var c = this.initialTeardown;
1685
+ if (R(c))
1686
+ try {
1687
+ c();
1688
+ } catch (w) {
1689
+ r = w instanceof Ie ? w.errors : [w];
1690
+ }
1691
+ var v = this._finalizers;
1692
+ if (v) {
1693
+ this._finalizers = null;
1694
+ try {
1695
+ for (var d = ee(v), l = d.next(); !l.done; l = d.next()) {
1696
+ var h = l.value;
1697
+ try {
1698
+ gt(h);
1699
+ } catch (w) {
1700
+ r = r ?? [], w instanceof Ie ? r = De(De([], Re(r)), Re(w.errors)) : r.push(w);
1701
+ }
1702
+ }
1703
+ } catch (w) {
1704
+ i = { error: w };
1705
+ } finally {
1706
+ try {
1707
+ l && !l.done && (o = d.return) && o.call(d);
1708
+ } finally {
1709
+ if (i) throw i.error;
1710
+ }
1711
+ }
1712
+ }
1713
+ if (r)
1714
+ throw new Ie(r);
1715
+ }
1716
+ }, t.prototype.add = function(n) {
1717
+ var e;
1718
+ if (n && n !== this)
1719
+ if (this.closed)
1720
+ gt(n);
1721
+ else {
1722
+ if (n instanceof t) {
1723
+ if (n.closed || n._hasParent(this))
1724
+ return;
1725
+ n._addParent(this);
1726
+ }
1727
+ (this._finalizers = (e = this._finalizers) !== null && e !== void 0 ? e : []).push(n);
1728
+ }
1729
+ }, t.prototype._hasParent = function(n) {
1730
+ var e = this._parentage;
1731
+ return e === n || Array.isArray(e) && e.includes(n);
1732
+ }, t.prototype._addParent = function(n) {
1733
+ var e = this._parentage;
1734
+ this._parentage = Array.isArray(e) ? (e.push(n), e) : e ? [e, n] : n;
1735
+ }, t.prototype._removeParent = function(n) {
1736
+ var e = this._parentage;
1737
+ e === n ? this._parentage = null : Array.isArray(e) && bt(e, n);
1738
+ }, t.prototype.remove = function(n) {
1739
+ var e = this._finalizers;
1740
+ e && bt(e, n), n instanceof t && n._removeParent(this);
1741
+ }, t.EMPTY = function() {
1742
+ var n = new t();
1743
+ return n.closed = !0, n;
1744
+ }(), t;
1745
+ }();
1746
+ Ce.EMPTY;
1747
+ function $t(t) {
1748
+ return t instanceof Ce || t && "closed" in t && R(t.remove) && R(t.add) && R(t.unsubscribe);
1749
+ }
1750
+ function gt(t) {
1751
+ R(t) ? t() : t.unsubscribe();
1752
+ }
1753
+ var Lr = {
1754
+ Promise: void 0
1755
+ }, Pr = {
1756
+ setTimeout: function(t, n) {
1757
+ for (var e = [], i = 2; i < arguments.length; i++)
1758
+ e[i - 2] = arguments[i];
1759
+ return setTimeout.apply(void 0, De([t, n], Re(e)));
1760
+ },
1761
+ clearTimeout: function(t) {
1762
+ return clearTimeout(t);
1763
+ },
1764
+ delegate: void 0
1765
+ };
1766
+ function Ht(t) {
1767
+ Pr.setTimeout(function() {
1768
+ throw t;
1769
+ });
1770
+ }
1771
+ function wt() {
1772
+ }
1773
+ function Fr(t) {
1774
+ t();
1775
+ }
1776
+ var Le = function(t) {
1777
+ Ne(n, t);
1778
+ function n(e) {
1779
+ var i = t.call(this) || this;
1780
+ return i.isStopped = !1, e ? (i.destination = e, $t(e) && e.add(i)) : i.destination = Zr, i;
1781
+ }
1782
+ return n.create = function(e, i, o) {
1783
+ return new fe(e, i, o);
1784
+ }, n.prototype.next = function(e) {
1785
+ this.isStopped || this._next(e);
1786
+ }, n.prototype.error = function(e) {
1787
+ this.isStopped || (this.isStopped = !0, this._error(e));
1788
+ }, n.prototype.complete = function() {
1789
+ this.isStopped || (this.isStopped = !0, this._complete());
1790
+ }, n.prototype.unsubscribe = function() {
1791
+ this.closed || (this.isStopped = !0, t.prototype.unsubscribe.call(this), this.destination = null);
1792
+ }, n.prototype._next = function(e) {
1793
+ this.destination.next(e);
1794
+ }, n.prototype._error = function(e) {
1795
+ try {
1796
+ this.destination.error(e);
1797
+ } finally {
1798
+ this.unsubscribe();
1799
+ }
1800
+ }, n.prototype._complete = function() {
1801
+ try {
1802
+ this.destination.complete();
1803
+ } finally {
1804
+ this.unsubscribe();
1805
+ }
1806
+ }, n;
1807
+ }(Ce), Mr = function() {
1808
+ function t(n) {
1809
+ this.partialObserver = n;
1810
+ }
1811
+ return t.prototype.next = function(n) {
1812
+ var e = this.partialObserver;
1813
+ if (e.next)
1814
+ try {
1815
+ e.next(n);
1816
+ } catch (i) {
1817
+ se(i);
1818
+ }
1819
+ }, t.prototype.error = function(n) {
1820
+ var e = this.partialObserver;
1821
+ if (e.error)
1822
+ try {
1823
+ e.error(n);
1824
+ } catch (i) {
1825
+ se(i);
1826
+ }
1827
+ else
1828
+ se(n);
1829
+ }, t.prototype.complete = function() {
1830
+ var n = this.partialObserver;
1831
+ if (n.complete)
1832
+ try {
1833
+ n.complete();
1834
+ } catch (e) {
1835
+ se(e);
1836
+ }
1837
+ }, t;
1838
+ }(), fe = function(t) {
1839
+ Ne(n, t);
1840
+ function n(e, i, o) {
1841
+ var r = t.call(this) || this, s;
1842
+ return R(e) || !e ? s = {
1843
+ next: e ?? void 0,
1844
+ error: i ?? void 0,
1845
+ complete: o ?? void 0
1846
+ } : s = e, r.destination = new Mr(s), r;
1847
+ }
1848
+ return n;
1849
+ }(Le);
1850
+ function se(t) {
1851
+ Ht(t);
1852
+ }
1853
+ function zr(t) {
1854
+ throw t;
1855
+ }
1856
+ var Zr = {
1857
+ closed: !0,
1858
+ next: wt,
1859
+ error: zr,
1860
+ complete: wt
1861
+ }, Pe = function() {
1862
+ return typeof Symbol == "function" && Symbol.observable || "@@observable";
1863
+ }();
1864
+ function Vt(t) {
1865
+ return t;
1866
+ }
1867
+ function $r(t) {
1868
+ return t.length === 0 ? Vt : t.length === 1 ? t[0] : function(e) {
1869
+ return t.reduce(function(i, o) {
1870
+ return o(i);
1871
+ }, e);
1872
+ };
1873
+ }
1874
+ var L = function() {
1875
+ function t(n) {
1876
+ n && (this._subscribe = n);
1877
+ }
1878
+ return t.prototype.lift = function(n) {
1879
+ var e = new t();
1880
+ return e.source = this, e.operator = n, e;
1881
+ }, t.prototype.subscribe = function(n, e, i) {
1882
+ var o = this, r = Vr(n) ? n : new fe(n, e, i);
1883
+ return Fr(function() {
1884
+ var s = o, f = s.operator, u = s.source;
1885
+ r.add(f ? f.call(r, u) : u ? o._subscribe(r) : o._trySubscribe(r));
1886
+ }), r;
1887
+ }, t.prototype._trySubscribe = function(n) {
1888
+ try {
1889
+ return this._subscribe(n);
1890
+ } catch (e) {
1891
+ n.error(e);
1892
+ }
1893
+ }, t.prototype.forEach = function(n, e) {
1894
+ var i = this;
1895
+ return e = mt(e), new e(function(o, r) {
1896
+ var s = new fe({
1897
+ next: function(f) {
1898
+ try {
1899
+ n(f);
1900
+ } catch (u) {
1901
+ r(u), s.unsubscribe();
1902
+ }
1903
+ },
1904
+ error: r,
1905
+ complete: o
1906
+ });
1907
+ i.subscribe(s);
1908
+ });
1909
+ }, t.prototype._subscribe = function(n) {
1910
+ var e;
1911
+ return (e = this.source) === null || e === void 0 ? void 0 : e.subscribe(n);
1912
+ }, t.prototype[Pe] = function() {
1913
+ return this;
1914
+ }, t.prototype.pipe = function() {
1915
+ for (var n = [], e = 0; e < arguments.length; e++)
1916
+ n[e] = arguments[e];
1917
+ return $r(n)(this);
1918
+ }, t.prototype.toPromise = function(n) {
1919
+ var e = this;
1920
+ return n = mt(n), new n(function(i, o) {
1921
+ var r;
1922
+ e.subscribe(function(s) {
1923
+ return r = s;
1924
+ }, function(s) {
1925
+ return o(s);
1926
+ }, function() {
1927
+ return i(r);
1928
+ });
1929
+ });
1930
+ }, t.create = function(n) {
1931
+ return new t(n);
1932
+ }, t;
1933
+ }();
1934
+ function mt(t) {
1935
+ var n;
1936
+ return (n = t ?? Lr.Promise) !== null && n !== void 0 ? n : Promise;
1937
+ }
1938
+ function Hr(t) {
1939
+ return t && R(t.next) && R(t.error) && R(t.complete);
1940
+ }
1941
+ function Vr(t) {
1942
+ return t && t instanceof Le || Hr(t) && $t(t);
1943
+ }
1944
+ function Gr(t) {
1945
+ return R(t == null ? void 0 : t.lift);
1946
+ }
1947
+ function W(t) {
1948
+ return function(n) {
1949
+ if (Gr(n))
1950
+ return n.lift(function(e) {
1951
+ try {
1952
+ return t(e, this);
1953
+ } catch (i) {
1954
+ this.error(i);
1955
+ }
1956
+ });
1957
+ throw new TypeError("Unable to lift unknown Observable type");
1958
+ };
1959
+ }
1960
+ function te(t, n, e, i, o) {
1961
+ return new jr(t, n, e, i, o);
1962
+ }
1963
+ var jr = function(t) {
1964
+ Ne(n, t);
1965
+ function n(e, i, o, r, s, f) {
1966
+ var u = t.call(this, e) || this;
1967
+ return u.onFinalize = s, u.shouldUnsubscribe = f, u._next = i ? function(a) {
1968
+ try {
1969
+ i(a);
1970
+ } catch (c) {
1971
+ e.error(c);
1972
+ }
1973
+ } : t.prototype._next, u._error = r ? function(a) {
1974
+ try {
1975
+ r(a);
1976
+ } catch (c) {
1977
+ e.error(c);
1978
+ } finally {
1979
+ this.unsubscribe();
1980
+ }
1981
+ } : t.prototype._error, u._complete = o ? function() {
1982
+ try {
1983
+ o();
1984
+ } catch (a) {
1985
+ e.error(a);
1986
+ } finally {
1987
+ this.unsubscribe();
1988
+ }
1989
+ } : t.prototype._complete, u;
1990
+ }
1991
+ return n.prototype.unsubscribe = function() {
1992
+ var e;
1993
+ if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
1994
+ var i = this.closed;
1995
+ t.prototype.unsubscribe.call(this), !i && ((e = this.onFinalize) === null || e === void 0 || e.call(this));
1996
+ }
1997
+ }, n;
1998
+ }(Le), Yr = new L(function(t) {
1999
+ return t.complete();
2000
+ });
2001
+ function Kr(t) {
2002
+ return t && R(t.schedule);
2003
+ }
2004
+ function Gt(t) {
2005
+ return t[t.length - 1];
2006
+ }
2007
+ function Wr(t) {
2008
+ return Kr(Gt(t)) ? t.pop() : void 0;
2009
+ }
2010
+ function Xr(t, n) {
2011
+ return typeof Gt(t) == "number" ? t.pop() : n;
2012
+ }
2013
+ var jt = function(t) {
2014
+ return t && typeof t.length == "number" && typeof t != "function";
2015
+ };
2016
+ function Yt(t) {
2017
+ return R(t == null ? void 0 : t.then);
2018
+ }
2019
+ function Kt(t) {
2020
+ return R(t[Pe]);
2021
+ }
2022
+ function Wt(t) {
2023
+ return Symbol.asyncIterator && R(t == null ? void 0 : t[Symbol.asyncIterator]);
2024
+ }
2025
+ function Xt(t) {
2026
+ return new TypeError("You provided " + (t !== null && typeof t == "object" ? "an invalid object" : "'" + t + "'") + " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.");
2027
+ }
2028
+ function Jr() {
2029
+ return typeof Symbol != "function" || !Symbol.iterator ? "@@iterator" : Symbol.iterator;
2030
+ }
2031
+ var Jt = Jr();
2032
+ function Qt(t) {
2033
+ return R(t == null ? void 0 : t[Jt]);
2034
+ }
2035
+ function qt(t) {
2036
+ return Nr(this, arguments, function() {
2037
+ var e, i, o, r;
2038
+ return zt(this, function(s) {
2039
+ switch (s.label) {
2040
+ case 0:
2041
+ e = t.getReader(), s.label = 1;
2042
+ case 1:
2043
+ s.trys.push([1, , 9, 10]), s.label = 2;
2044
+ case 2:
2045
+ return [4, Y(e.read())];
2046
+ case 3:
2047
+ return i = s.sent(), o = i.value, r = i.done, r ? [4, Y(void 0)] : [3, 5];
2048
+ case 4:
2049
+ return [2, s.sent()];
2050
+ case 5:
2051
+ return [4, Y(o)];
2052
+ case 6:
2053
+ return [4, s.sent()];
2054
+ case 7:
2055
+ return s.sent(), [3, 2];
2056
+ case 8:
2057
+ return [3, 10];
2058
+ case 9:
2059
+ return e.releaseLock(), [7];
2060
+ case 10:
2061
+ return [2];
2062
+ }
2063
+ });
2064
+ });
2065
+ }
2066
+ function en(t) {
2067
+ return R(t == null ? void 0 : t.getReader);
2068
+ }
2069
+ function X(t) {
2070
+ if (t instanceof L)
2071
+ return t;
2072
+ if (t != null) {
2073
+ if (Kt(t))
2074
+ return Qr(t);
2075
+ if (jt(t))
2076
+ return qr(t);
2077
+ if (Yt(t))
2078
+ return ei(t);
2079
+ if (Wt(t))
2080
+ return tn(t);
2081
+ if (Qt(t))
2082
+ return ti(t);
2083
+ if (en(t))
2084
+ return ni(t);
2085
+ }
2086
+ throw Xt(t);
2087
+ }
2088
+ function Qr(t) {
2089
+ return new L(function(n) {
2090
+ var e = t[Pe]();
2091
+ if (R(e.subscribe))
2092
+ return e.subscribe(n);
2093
+ throw new TypeError("Provided object does not correctly implement Symbol.observable");
2094
+ });
2095
+ }
2096
+ function qr(t) {
2097
+ return new L(function(n) {
2098
+ for (var e = 0; e < t.length && !n.closed; e++)
2099
+ n.next(t[e]);
2100
+ n.complete();
2101
+ });
2102
+ }
2103
+ function ei(t) {
2104
+ return new L(function(n) {
2105
+ t.then(function(e) {
2106
+ n.closed || (n.next(e), n.complete());
2107
+ }, function(e) {
2108
+ return n.error(e);
2109
+ }).then(null, Ht);
2110
+ });
2111
+ }
2112
+ function ti(t) {
2113
+ return new L(function(n) {
2114
+ var e, i;
2115
+ try {
2116
+ for (var o = ee(t), r = o.next(); !r.done; r = o.next()) {
2117
+ var s = r.value;
2118
+ if (n.next(s), n.closed)
2119
+ return;
2120
+ }
2121
+ } catch (f) {
2122
+ e = { error: f };
2123
+ } finally {
2124
+ try {
2125
+ r && !r.done && (i = o.return) && i.call(o);
2126
+ } finally {
2127
+ if (e) throw e.error;
2128
+ }
2129
+ }
2130
+ n.complete();
2131
+ });
2132
+ }
2133
+ function tn(t) {
2134
+ return new L(function(n) {
2135
+ ri(t, n).catch(function(e) {
2136
+ return n.error(e);
2137
+ });
2138
+ });
2139
+ }
2140
+ function ni(t) {
2141
+ return tn(qt(t));
2142
+ }
2143
+ function ri(t, n) {
2144
+ var e, i, o, r;
2145
+ return Dr(this, void 0, void 0, function() {
2146
+ var s, f;
2147
+ return zt(this, function(u) {
2148
+ switch (u.label) {
2149
+ case 0:
2150
+ u.trys.push([0, 5, 6, 11]), e = Cr(t), u.label = 1;
2151
+ case 1:
2152
+ return [4, e.next()];
2153
+ case 2:
2154
+ if (i = u.sent(), !!i.done) return [3, 4];
2155
+ if (s = i.value, n.next(s), n.closed)
2156
+ return [2];
2157
+ u.label = 3;
2158
+ case 3:
2159
+ return [3, 1];
2160
+ case 4:
2161
+ return [3, 11];
2162
+ case 5:
2163
+ return f = u.sent(), o = { error: f }, [3, 11];
2164
+ case 6:
2165
+ return u.trys.push([6, , 9, 10]), i && !i.done && (r = e.return) ? [4, r.call(e)] : [3, 8];
2166
+ case 7:
2167
+ u.sent(), u.label = 8;
2168
+ case 8:
2169
+ return [3, 10];
2170
+ case 9:
2171
+ if (o) throw o.error;
2172
+ return [7];
2173
+ case 10:
2174
+ return [7];
2175
+ case 11:
2176
+ return n.complete(), [2];
2177
+ }
2178
+ });
2179
+ });
2180
+ }
2181
+ function $(t, n, e, i, o) {
2182
+ i === void 0 && (i = 0), o === void 0 && (o = !1);
2183
+ var r = n.schedule(function() {
2184
+ e(), o ? t.add(this.schedule(null, i)) : this.unsubscribe();
2185
+ }, i);
2186
+ if (t.add(r), !o)
2187
+ return r;
2188
+ }
2189
+ function nn(t, n) {
2190
+ return n === void 0 && (n = 0), W(function(e, i) {
2191
+ e.subscribe(te(i, function(o) {
2192
+ return $(i, t, function() {
2193
+ return i.next(o);
2194
+ }, n);
2195
+ }, function() {
2196
+ return $(i, t, function() {
2197
+ return i.complete();
2198
+ }, n);
2199
+ }, function(o) {
2200
+ return $(i, t, function() {
2201
+ return i.error(o);
2202
+ }, n);
2203
+ }));
2204
+ });
2205
+ }
2206
+ function rn(t, n) {
2207
+ return n === void 0 && (n = 0), W(function(e, i) {
2208
+ i.add(t.schedule(function() {
2209
+ return e.subscribe(i);
2210
+ }, n));
2211
+ });
2212
+ }
2213
+ function ii(t, n) {
2214
+ return X(t).pipe(rn(n), nn(n));
2215
+ }
2216
+ function oi(t, n) {
2217
+ return X(t).pipe(rn(n), nn(n));
2218
+ }
2219
+ function ai(t, n) {
2220
+ return new L(function(e) {
2221
+ var i = 0;
2222
+ return n.schedule(function() {
2223
+ i === t.length ? e.complete() : (e.next(t[i++]), e.closed || this.schedule());
2224
+ });
2225
+ });
2226
+ }
2227
+ function si(t, n) {
2228
+ return new L(function(e) {
2229
+ var i;
2230
+ return $(e, n, function() {
2231
+ i = t[Jt](), $(e, n, function() {
2232
+ var o, r, s;
2233
+ try {
2234
+ o = i.next(), r = o.value, s = o.done;
2235
+ } catch (f) {
2236
+ e.error(f);
2237
+ return;
2238
+ }
2239
+ s ? e.complete() : e.next(r);
2240
+ }, 0, !0);
2241
+ }), function() {
2242
+ return R(i == null ? void 0 : i.return) && i.return();
2243
+ };
2244
+ });
2245
+ }
2246
+ function on(t, n) {
2247
+ if (!t)
2248
+ throw new Error("Iterable cannot be null");
2249
+ return new L(function(e) {
2250
+ $(e, n, function() {
2251
+ var i = t[Symbol.asyncIterator]();
2252
+ $(e, n, function() {
2253
+ i.next().then(function(o) {
2254
+ o.done ? e.complete() : e.next(o.value);
2255
+ });
2256
+ }, 0, !0);
2257
+ });
2258
+ });
2259
+ }
2260
+ function ci(t, n) {
2261
+ return on(qt(t), n);
2262
+ }
2263
+ function fi(t, n) {
2264
+ if (t != null) {
2265
+ if (Kt(t))
2266
+ return ii(t, n);
2267
+ if (jt(t))
2268
+ return ai(t, n);
2269
+ if (Yt(t))
2270
+ return oi(t, n);
2271
+ if (Wt(t))
2272
+ return on(t, n);
2273
+ if (Qt(t))
2274
+ return si(t, n);
2275
+ if (en(t))
2276
+ return ci(t, n);
2277
+ }
2278
+ throw Xt(t);
2279
+ }
2280
+ function li(t, n) {
2281
+ return n ? fi(t, n) : X(t);
2282
+ }
2283
+ var ui = Zt(function(t) {
2284
+ return function() {
2285
+ t(this), this.name = "EmptyError", this.message = "no elements in sequence";
2286
+ };
2287
+ });
2288
+ function an(t, n) {
2289
+ return new Promise(function(e, i) {
2290
+ var o = new fe({
2291
+ next: function(r) {
2292
+ e(r), o.unsubscribe();
2293
+ },
2294
+ error: i,
2295
+ complete: function() {
2296
+ i(new ui());
2297
+ }
2298
+ });
2299
+ t.subscribe(o);
2300
+ });
2301
+ }
2302
+ function sn(t, n) {
2303
+ return W(function(e, i) {
2304
+ var o = 0;
2305
+ e.subscribe(te(i, function(r) {
2306
+ i.next(t.call(n, r, o++));
2307
+ }));
2308
+ });
2309
+ }
2310
+ function hi(t, n, e, i, o, r, s, f) {
2311
+ var u = [], a = 0, c = 0, v = !1, d = function() {
2312
+ v && !u.length && !a && n.complete();
2313
+ }, l = function(w) {
2314
+ return a < i ? h(w) : u.push(w);
2315
+ }, h = function(w) {
2316
+ a++;
2317
+ var _ = !1;
2318
+ X(e(w, c++)).subscribe(te(n, function(k) {
2319
+ n.next(k);
2320
+ }, function() {
2321
+ _ = !0;
2322
+ }, void 0, function() {
2323
+ if (_)
2324
+ try {
2325
+ a--;
2326
+ for (var k = function() {
2327
+ var x = u.shift();
2328
+ s || h(x);
2329
+ }; u.length && a < i; )
2330
+ k();
2331
+ d();
2332
+ } catch (x) {
2333
+ n.error(x);
2334
+ }
2335
+ }));
2336
+ };
2337
+ return t.subscribe(te(n, l, function() {
2338
+ v = !0, d();
2339
+ })), function() {
2340
+ };
2341
+ }
2342
+ function cn(t, n, e) {
2343
+ return e === void 0 && (e = 1 / 0), R(n) ? cn(function(i, o) {
2344
+ return sn(function(r, s) {
2345
+ return n(i, r, o, s);
2346
+ })(X(t(i, o)));
2347
+ }, e) : (typeof n == "number" && (e = n), W(function(i, o) {
2348
+ return hi(i, o, t, e);
2349
+ }));
2350
+ }
2351
+ function di(t) {
2352
+ return t === void 0 && (t = 1 / 0), cn(Vt, t);
2353
+ }
2354
+ function bi() {
2355
+ for (var t = [], n = 0; n < arguments.length; n++)
2356
+ t[n] = arguments[n];
2357
+ var e = Wr(t), i = Xr(t, 1 / 0), o = t;
2358
+ return o.length ? o.length === 1 ? X(o[0]) : di(i)(li(o, e)) : Yr;
2359
+ }
2360
+ function gi(t, n, e, i, o) {
2361
+ return function(r, s) {
2362
+ var f = e, u = n, a = 0;
2363
+ r.subscribe(te(s, function(c) {
2364
+ var v = a++;
2365
+ u = f ? t(u, c, v) : (f = !0, c);
2366
+ }, function() {
2367
+ f && s.next(u), s.complete();
2368
+ }));
2369
+ };
2370
+ }
2371
+ function fn(t, n) {
2372
+ return W(gi(t, n, arguments.length >= 2, !1, !0));
2373
+ }
2374
+ var wi = function(t, n) {
2375
+ return t.push(n), t;
2376
+ };
2377
+ function mi() {
2378
+ return W(function(t, n) {
2379
+ fn(wi, [])(t).subscribe(n);
2380
+ });
2381
+ }
2382
+ const yt = -2003829722, Oe = -2021002517;
2383
+ class ln {
2384
+ getHeader(n) {
2385
+ return this.headerP || (this.headerP = this._getHeader(n).catch((e) => {
2386
+ throw this.headerP = void 0, e;
2387
+ })), this.headerP;
2388
+ }
2389
+ /*
2390
+ * @param filehandle - a filehandle from generic-filehandle or implementing
2391
+ * something similar to the node10 fs.promises API
2392
+ *
2393
+ * @param path - a Local file path as a string
2394
+ *
2395
+ * @param url - a URL string
2396
+ *
2397
+ * @param renameRefSeqs - an optional method to rename the internal reference
2398
+ * sequences using a mapping function
2399
+ */
2400
+ constructor(n) {
2401
+ const { filehandle: e, renameRefSeqs: i = (s) => s, path: o, url: r } = n;
2402
+ if (this.renameRefSeqs = i, e)
2403
+ this.bbi = e;
2404
+ else if (r)
2405
+ this.bbi = new hn(r);
2406
+ else if (o)
2407
+ this.bbi = new un(o);
2408
+ else
2409
+ throw new Error("no file given");
2410
+ }
2411
+ async _getHeader(n) {
2412
+ const e = await this._getMainHeader(n), i = await this._readChromTree(e, n);
2413
+ return { ...e, ...i };
2414
+ }
2415
+ async _getMainHeader(n, e = 2e3) {
2416
+ const { buffer: o } = await this.bbi.read(z.Buffer.alloc(e), 0, e, 0, n), r = this._isBigEndian(o), s = o, f = new DataView(s.buffer, s.byteOffset, s.length);
2417
+ let u = 0;
2418
+ const a = f.getInt32(u, !0);
2419
+ u += 4;
2420
+ const c = f.getUint16(u, !0);
2421
+ u += 2;
2422
+ const v = f.getUint16(u, !0);
2423
+ u += 2;
2424
+ const d = Number(f.getBigUint64(u, !0));
2425
+ u += 8;
2426
+ const l = Number(f.getBigUint64(u, !0));
2427
+ u += 8;
2428
+ const h = Number(f.getBigUint64(u, !0));
2429
+ u += 8;
2430
+ const w = f.getUint16(u, !0);
2431
+ u += 2;
2432
+ const _ = f.getUint16(u, !0);
2433
+ u += 2;
2434
+ const k = Number(f.getBigUint64(u, !0));
2435
+ u += 8;
2436
+ const x = Number(f.getBigUint64(u, !0));
2437
+ u += 8;
2438
+ const I = f.getUint32(u, !0);
2439
+ u += 4;
2440
+ const g = Number(f.getBigUint64(u, !0));
2441
+ u += 8;
2442
+ const E = [];
2443
+ for (let S = 0; S < v; S++) {
2444
+ const b = f.getUint32(u, !0);
2445
+ u += 4;
2446
+ const p = f.getUint32(u, !0);
2447
+ u += 4;
2448
+ const y = Number(f.getBigUint64(u, !0));
2449
+ u += 8;
2450
+ const T = Number(f.getBigUint64(u, !0));
2451
+ u += 8, E.push({ reductionLevel: b, reserved: p, dataOffset: y, indexOffset: T });
2452
+ }
2453
+ const O = a === Oe ? "bigbed" : "bigwig";
2454
+ if (k > e || x > e - 8 * 5)
2455
+ return this._getMainHeader(n, e * 2);
2456
+ let m;
2457
+ if (x) {
2458
+ const S = o.subarray(Number(x));
2459
+ let b = 0;
2460
+ const p = new DataView(S.buffer, S.byteOffset, S.length), y = Number(p.getBigUint64(b, !0));
2461
+ b += 8;
2462
+ const T = p.getFloat64(b, !0);
2463
+ b += 8;
2464
+ const D = p.getFloat64(b, !0);
2465
+ b += 8;
2466
+ const U = p.getFloat64(b, !0);
2467
+ b += 8;
2468
+ const B = p.getFloat64(b, !0);
2469
+ b += 8, m = {
2470
+ scoreMin: T,
2471
+ scoreMax: D,
2472
+ scoreSum: U,
2473
+ scoreSumSquares: B,
2474
+ basesCovered: y
2475
+ };
2476
+ } else
2477
+ throw new Error("no stats");
2478
+ return {
2479
+ zoomLevels: E,
2480
+ magic: a,
2481
+ extHeaderOffset: g,
2482
+ numZoomLevels: v,
2483
+ fieldCount: w,
2484
+ totalSummary: m,
2485
+ definedFieldCount: _,
2486
+ uncompressBufSize: I,
2487
+ asOffset: k,
2488
+ chromTreeOffset: d,
2489
+ totalSummaryOffset: x,
2490
+ unzoomedDataOffset: l,
2491
+ unzoomedIndexOffset: h,
2492
+ fileType: O,
2493
+ version: c,
2494
+ isBigEndian: r,
2495
+ autoSql: k ? o.subarray(k, o.indexOf(0, k)).toString() : ""
2496
+ };
2497
+ }
2498
+ _isBigEndian(n) {
2499
+ let e = n.readInt32LE(0);
2500
+ if (e === yt || e === Oe)
2501
+ return !1;
2502
+ if (e = n.readInt32BE(0), e === yt || e === Oe)
2503
+ return !0;
2504
+ throw new Error("not a BigWig/BigBed file");
2505
+ }
2506
+ // todo: add progress if long running
2507
+ async _readChromTree(n, e) {
2508
+ const o = !n.isBigEndian, r = [], s = {};
2509
+ let f = n.unzoomedDataOffset;
2510
+ const u = n.chromTreeOffset;
2511
+ for (; f % 4 !== 0; )
2512
+ f += 1;
2513
+ const a = f - u, { buffer: c } = await this.bbi.read(z.Buffer.alloc(a), 0, a, Number(u), e), v = c, d = new DataView(v.buffer, v.byteOffset, v.length);
2514
+ let l = 0;
2515
+ l += 4, l += 4;
2516
+ const h = d.getUint32(l, o);
2517
+ l += 4, l += 4, l += 8;
2518
+ const w = 32, _ = async (k) => {
2519
+ let x = k;
2520
+ if (x >= c.length)
2521
+ throw new Error("reading beyond end of buffer");
2522
+ const I = d.getUint8(x);
2523
+ x += 2;
2524
+ const g = d.getUint16(x, o);
2525
+ if (x += 2, I)
2526
+ for (let E = 0; E < g; E++) {
2527
+ const O = c.subarray(x, x + h).toString().replaceAll("\0", "");
2528
+ x += h;
2529
+ const m = d.getUint32(x, o);
2530
+ x += 4;
2531
+ const S = d.getUint32(x, o);
2532
+ x += 4;
2533
+ const b = { name: O, id: m, length: S };
2534
+ s[this.renameRefSeqs(O)] = m, r[m] = b;
2535
+ }
2536
+ else {
2537
+ const E = [];
2538
+ for (let O = 0; O < g; O++) {
2539
+ x += h;
2540
+ const m = Number(d.getBigUint64(x, o));
2541
+ x += 8, E.push(_(Number(m) - Number(u)));
2542
+ }
2543
+ await Promise.all(E);
2544
+ }
2545
+ };
2546
+ return await _(w), {
2547
+ refsByName: s,
2548
+ refsByNumber: r
2549
+ };
2550
+ }
2551
+ /*
2552
+ * fetches the "unzoomed" view of the bigwig data. this is the default for bigbed
2553
+ * @param abortSignal - a signal to optionally abort this operation
2554
+ */
2555
+ async getUnzoomedView(n) {
2556
+ const { unzoomedIndexOffset: e, refsByName: i, uncompressBufSize: o, isBigEndian: r, fileType: s } = await this.getHeader(n);
2557
+ return new Mt(this.bbi, i, e, r, o > 0, s);
2558
+ }
2559
+ /**
2560
+ * Gets features from a BigWig file
2561
+ *
2562
+ * @param refName - The chromosome name
2563
+ * @param start - The start of a region
2564
+ * @param end - The end of a region
2565
+ * @param opts - An object containing basesPerSpan (e.g. pixels per basepair) or scale used to infer the zoomLevel to use
2566
+ */
2567
+ async getFeatureStream(n, e, i, o) {
2568
+ await this.getHeader(o);
2569
+ const r = this.renameRefSeqs(n);
2570
+ let s;
2571
+ const { basesPerSpan: f, scale: u } = o || {};
2572
+ return f ? s = await this.getView(1 / f, o) : u ? s = await this.getView(u, o) : s = await this.getView(1, o), new L((a) => {
2573
+ s.readWigData(r, e, i, a, o).catch((c) => {
2574
+ a.error(c);
2575
+ });
2576
+ });
2577
+ }
2578
+ async getFeatures(n, e, i, o) {
2579
+ const r = await this.getFeatureStream(n, e, i, o);
2580
+ return (await an(r.pipe(mi()))).flat();
2581
+ }
2582
+ }
2583
+ class xi extends ln {
2584
+ /**
2585
+ * Retrieves a BlockView of a specific zoomLevel
2586
+ *
2587
+ * @param scale - number
2588
+ *
2589
+ * @param opts - An object containing basesPerSpan (e.g. pixels per basepair)
2590
+ * or scale used to infer the zoomLevel to use
2591
+ */
2592
+ async getView(n, e) {
2593
+ const { zoomLevels: i, refsByName: o, isBigEndian: r, uncompressBufSize: s } = await this.getHeader(e), f = 1 / n, u = i.length - 1;
2594
+ for (let a = u; a >= 0; a -= 1) {
2595
+ const c = i[a];
2596
+ if (c && c.reductionLevel <= 2 * f)
2597
+ return new Mt(this.bbi, o, c.indexOffset, r, s > 0, "summary");
2598
+ }
2599
+ return this.getUnzoomedView(e);
2600
+ }
2601
+ }
2602
+ function yi(t) {
2603
+ return t.filter((n) => !!n);
2604
+ }
2605
+ class Ei extends ln {
2606
+ constructor() {
2607
+ super(...arguments), this.readIndicesCache = new pt({
2608
+ cache: new vt({ maxSize: 1 }),
2609
+ fill: (n, e) => this._readIndices({ ...n, signal: e })
2610
+ });
2611
+ }
2612
+ readIndices(n = {}) {
2613
+ const { signal: e, ...i } = n;
2614
+ return this.readIndicesCache.get(JSON.stringify(i), n, e);
2615
+ }
2616
+ /*
2617
+ * retrieve unzoomed view for any scale
2618
+ */
2619
+ async getView(n, e) {
2620
+ return this.getUnzoomedView(e);
2621
+ }
2622
+ /*
2623
+ * parse the bigbed extraIndex fields
2624
+ *
2625
+ *
2626
+ * @return a Promise for an array of Index data structure since there can be
2627
+ * multiple extraIndexes in a bigbed, see bedToBigBed documentation
2628
+ */
2629
+ async _readIndices(n) {
2630
+ const { extHeaderOffset: e, isBigEndian: i } = await this.getHeader(n), { buffer: o } = await this.bbi.read(z.Buffer.alloc(64), 0, 64, Number(e)), r = !i, s = o, f = new DataView(s.buffer, s.byteOffset, s.length);
2631
+ let u = 0;
2632
+ u += 2;
2633
+ const a = f.getUint16(u, r);
2634
+ u += 2;
2635
+ const c = Number(f.getBigUint64(u, r));
2636
+ if (u += 8, a === 0)
2637
+ return [];
2638
+ const v = 20, d = v * a, { buffer: l } = await this.bbi.read(z.Buffer.alloc(d), 0, d, Number(c)), h = [];
2639
+ for (let w = 0; w < a; w += 1) {
2640
+ const _ = l.subarray(w * v), k = new DataView(_.buffer, _.byteOffset, _.length);
2641
+ let x = 0;
2642
+ const I = k.getInt16(x, r);
2643
+ x += 2;
2644
+ const g = k.getInt16(x, r);
2645
+ x += 2;
2646
+ const E = Number(k.getBigUint64(x, r));
2647
+ x += 12;
2648
+ const O = k.getInt16(x, r);
2649
+ h.push({ type: I, fieldcount: g, offset: Number(E), field: O });
2650
+ }
2651
+ return h;
2652
+ }
2653
+ /*
2654
+ * perform a search in the bigbed extraIndex to find which blocks in the
2655
+ * bigbed data to look for the actual feature data
2656
+ *
2657
+ * @param name - the name to search for
2658
+ * @param opts - a SearchOptions argument with optional signal
2659
+ * @return a Promise for an array of bigbed block Loc entries
2660
+ */
2661
+ async searchExtraIndexBlocks(n, e = {}) {
2662
+ const { isBigEndian: i } = await this.getHeader(e), o = await this.readIndices(e);
2663
+ if (o.length === 0)
2664
+ return [];
2665
+ const r = o.map(async (s) => {
2666
+ const { offset: f, field: u } = s, { buffer: a } = await this.bbi.read(z.Buffer.alloc(32), 0, 32, f, e), c = !i, v = a, d = new DataView(v.buffer, v.byteOffset, v.length);
2667
+ let l = 0;
2668
+ l += 4;
2669
+ const h = d.getInt32(l, c);
2670
+ l += 4;
2671
+ const w = d.getInt32(l, c);
2672
+ l += 4;
2673
+ const _ = d.getInt32(l, c);
2674
+ l += 4, l += 8;
2675
+ const k = async (I) => {
2676
+ const g = Number(I), E = 4 + h * (w + _), { buffer: O } = await this.bbi.read(z.Buffer.alloc(E), 0, E, g, e), m = O, S = new DataView(m.buffer, m.byteOffset, m.length);
2677
+ let b = 0;
2678
+ const p = S.getInt8(b);
2679
+ b += 2;
2680
+ const y = S.getInt16(b, c);
2681
+ b += 2;
2682
+ const T = [];
2683
+ if (p === 0) {
2684
+ const D = [];
2685
+ for (let B = 0; B < y; B++) {
2686
+ const N = m.subarray(b, b + w).toString().replaceAll("\0", "");
2687
+ b += w;
2688
+ const Z = Number(S.getBigUint64(b, c));
2689
+ b += 8, D.push({ key: N, offset: Z });
2690
+ }
2691
+ let U = 0;
2692
+ for (const { key: B, offset: N } of D) {
2693
+ if (n.localeCompare(B) < 0 && U)
2694
+ return k(U);
2695
+ U = N;
2696
+ }
2697
+ return k(U);
2698
+ } else if (p === 1) {
2699
+ for (let D = 0; D < y; D++) {
2700
+ const U = m.subarray(b, b + w).toString().replaceAll("\0", "");
2701
+ b += w;
2702
+ const B = Number(S.getBigUint64(b, c));
2703
+ b += 8;
2704
+ const N = S.getUint32(b, c);
2705
+ b += 4;
2706
+ const Z = S.getUint32(b, c);
2707
+ b += 4, T.push({ key: U, offset: B, length: N, reserved: Z });
2708
+ }
2709
+ for (const D of T)
2710
+ if (D.key === n)
2711
+ return { ...D, field: u };
2712
+ return;
2713
+ }
2714
+ };
2715
+ return k(f + 32);
2716
+ });
2717
+ return yi(await Promise.all(r));
2718
+ }
2719
+ /*
2720
+ * retrieve the features from the bigbed data that were found through the
2721
+ * lookup of the extraIndex note that there can be multiple extraIndex, see
2722
+ * the BigBed specification and the -extraIndex argument to bedToBigBed
2723
+ *
2724
+ * @param name - the name to search for
2725
+ * @param opts - a SearchOptions argument with optional signal
2726
+ * @return a Promise for an array of Feature
2727
+ */
2728
+ async searchExtraIndex(n, e = {}) {
2729
+ const i = await this.searchExtraIndexBlocks(n, e);
2730
+ if (i.length === 0)
2731
+ return [];
2732
+ const o = await this.getUnzoomedView(e), r = i.map((f) => new L((u) => {
2733
+ o.readFeatures(u, [f], e).catch((a) => {
2734
+ u.error(a);
2735
+ });
2736
+ }).pipe(fn((u, a) => u.concat(a)), sn((u) => {
2737
+ for (const a of u)
2738
+ a.field = f.field;
2739
+ return u;
2740
+ })));
2741
+ return (await an(bi(...r))).filter((f) => {
2742
+ var u;
2743
+ return ((u = f.rest) === null || u === void 0 ? void 0 : u.split(" ")[(f.field || 0) - 3]) === n;
2744
+ });
2745
+ }
2746
+ }
2747
+ export {
2748
+ Ei as BigBed,
2749
+ xi as BigWig
2750
+ };