@genome-spy/core 0.63.0 → 0.65.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.
Files changed (138) hide show
  1. package/dist/bundle/{index-CCJIjehY.js → AbortablePromiseCache-CcuMrnn7.js} +22 -91
  2. package/dist/bundle/browser-txUcLy2H.js +123 -0
  3. package/dist/bundle/index-BQpbYrv4.js +1712 -0
  4. package/dist/bundle/index-BhtHKLUo.js +73 -0
  5. package/dist/bundle/index-C0llXMqm.js +280 -0
  6. package/dist/bundle/index-CCe8rnZz.js +716 -0
  7. package/dist/bundle/index-CD7FLu9x.js +269 -0
  8. package/dist/bundle/{index-C08YCM2T.js → index-D-w7Mmt9.js} +246 -126
  9. package/dist/bundle/index-D74H8TTz.js +508 -0
  10. package/dist/bundle/index-DhcU-Gk-.js +1487 -0
  11. package/dist/bundle/index.es.js +5394 -4989
  12. package/dist/bundle/index.js +420 -362
  13. package/dist/bundle/inflate-DRgHi_KK.js +1050 -0
  14. package/dist/schema.json +93 -13
  15. package/dist/src/data/collector.d.ts +7 -2
  16. package/dist/src/data/collector.d.ts.map +1 -1
  17. package/dist/src/data/collector.js +13 -2
  18. package/dist/src/data/dataFlow.d.ts +20 -42
  19. package/dist/src/data/dataFlow.d.ts.map +1 -1
  20. package/dist/src/data/dataFlow.js +57 -80
  21. package/dist/src/data/dataFlow.test.js +35 -2
  22. package/dist/src/data/flowHandle.d.ts +15 -0
  23. package/dist/src/data/flowHandle.d.ts.map +1 -0
  24. package/dist/src/data/flowHandle.js +13 -0
  25. package/dist/src/data/flowInit.d.ts +85 -0
  26. package/dist/src/data/flowInit.d.ts.map +1 -0
  27. package/dist/src/data/flowInit.js +238 -0
  28. package/dist/src/data/flowInit.test.d.ts +2 -0
  29. package/dist/src/data/flowInit.test.d.ts.map +1 -0
  30. package/dist/src/data/flowInit.test.js +413 -0
  31. package/dist/src/data/flowOptimizer.d.ts +6 -4
  32. package/dist/src/data/flowOptimizer.d.ts.map +1 -1
  33. package/dist/src/data/flowOptimizer.js +29 -14
  34. package/dist/src/data/flowOptimizer.test.js +20 -15
  35. package/dist/src/data/sources/lazy/bamSource.js +1 -1
  36. package/dist/src/data/sources/lazy/bigBedSource.js +1 -1
  37. package/dist/src/data/sources/lazy/bigWigSource.js +1 -1
  38. package/dist/src/data/sources/lazy/gff3Source.d.ts +2 -6
  39. package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
  40. package/dist/src/data/sources/lazy/gff3Source.js +4 -8
  41. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
  42. package/dist/src/data/sources/lazy/indexedFastaSource.js +17 -17
  43. package/dist/src/data/sources/lazy/tabixSource.js +1 -1
  44. package/dist/src/genomeSpy.d.ts +1 -1
  45. package/dist/src/genomeSpy.d.ts.map +1 -1
  46. package/dist/src/genomeSpy.js +18 -61
  47. package/dist/src/gl/webGLHelper.d.ts.map +1 -1
  48. package/dist/src/gl/webGLHelper.js +8 -0
  49. package/dist/src/marks/link.fragment.glsl.js +1 -1
  50. package/dist/src/marks/link.vertex.glsl.js +1 -1
  51. package/dist/src/marks/mark.d.ts +1 -0
  52. package/dist/src/marks/mark.d.ts.map +1 -1
  53. package/dist/src/marks/mark.js +22 -1
  54. package/dist/src/marks/point.fragment.glsl.js +1 -1
  55. package/dist/src/marks/point.vertex.glsl.js +1 -1
  56. package/dist/src/marks/rect.fragment.glsl.js +1 -1
  57. package/dist/src/marks/rect.vertex.glsl.js +1 -1
  58. package/dist/src/marks/rule.fragment.glsl.js +1 -1
  59. package/dist/src/marks/rule.vertex.glsl.js +1 -1
  60. package/dist/src/marks/text.fragment.glsl.js +1 -1
  61. package/dist/src/marks/text.vertex.glsl.js +1 -1
  62. package/dist/src/selection/selection.d.ts +5 -0
  63. package/dist/src/selection/selection.d.ts.map +1 -1
  64. package/dist/src/selection/selection.js +43 -6
  65. package/dist/src/selection/selection.test.d.ts +2 -0
  66. package/dist/src/selection/selection.test.d.ts.map +1 -0
  67. package/dist/src/selection/selection.test.js +14 -0
  68. package/dist/src/spec/parameter.d.ts +28 -2
  69. package/dist/src/spec/sampleView.d.ts +3 -2
  70. package/dist/src/styles/{genome-spy.scss → genome-spy.css} +25 -21
  71. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  72. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  73. package/dist/src/styles/genome-spy.css.js +264 -195
  74. package/dist/src/styles/update.sh +14 -4
  75. package/dist/src/types/viewContext.d.ts +1 -1
  76. package/dist/src/utils/expression.d.ts +5 -0
  77. package/dist/src/utils/expression.d.ts.map +1 -1
  78. package/dist/src/utils/expression.js +37 -0
  79. package/dist/src/utils/interactionEvent.d.ts +18 -1
  80. package/dist/src/utils/interactionEvent.d.ts.map +1 -1
  81. package/dist/src/utils/interactionEvent.js +101 -1
  82. package/dist/src/utils/interactionEvent.test.d.ts +2 -0
  83. package/dist/src/utils/interactionEvent.test.d.ts.map +1 -0
  84. package/dist/src/utils/interactionEvent.test.js +35 -0
  85. package/dist/src/view/axisResolution.d.ts +5 -0
  86. package/dist/src/view/axisResolution.d.ts.map +1 -1
  87. package/dist/src/view/axisResolution.js +16 -1
  88. package/dist/src/view/facetView.d.ts +1 -1
  89. package/dist/src/view/facetView.d.ts.map +1 -1
  90. package/dist/src/view/facetView.js +1 -0
  91. package/dist/src/view/flowBuilder.d.ts +2 -2
  92. package/dist/src/view/flowBuilder.d.ts.map +1 -1
  93. package/dist/src/view/flowBuilder.js +21 -4
  94. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  95. package/dist/src/view/gridView/gridView.js +13 -0
  96. package/dist/src/view/gridView/selectionRect.d.ts +8 -4
  97. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  98. package/dist/src/view/gridView/selectionRect.js +28 -3
  99. package/dist/src/view/gridView/selectionRect.test.d.ts +2 -0
  100. package/dist/src/view/gridView/selectionRect.test.d.ts.map +1 -0
  101. package/dist/src/view/gridView/selectionRect.test.js +87 -0
  102. package/dist/src/view/paramMediator.d.ts +2 -1
  103. package/dist/src/view/paramMediator.d.ts.map +1 -1
  104. package/dist/src/view/paramMediator.js +13 -1
  105. package/dist/src/view/paramMediator.test.js +22 -0
  106. package/dist/src/view/scaleResolution.d.ts +5 -0
  107. package/dist/src/view/scaleResolution.d.ts.map +1 -1
  108. package/dist/src/view/scaleResolution.js +10 -0
  109. package/dist/src/view/testUtils.d.ts.map +1 -1
  110. package/dist/src/view/testUtils.js +16 -4
  111. package/dist/src/view/unitView.d.ts.map +1 -1
  112. package/dist/src/view/unitView.js +103 -10
  113. package/dist/src/view/view.d.ts +17 -1
  114. package/dist/src/view/view.d.ts.map +1 -1
  115. package/dist/src/view/view.js +57 -1
  116. package/dist/src/view/viewDispose.test.d.ts +2 -0
  117. package/dist/src/view/viewDispose.test.d.ts.map +1 -0
  118. package/dist/src/view/viewDispose.test.js +110 -0
  119. package/dist/src/view/viewUtils.d.ts +4 -4
  120. package/dist/src/view/viewUtils.d.ts.map +1 -1
  121. package/dist/src/view/viewUtils.js +19 -15
  122. package/dist/src/view/viewUtils.test.d.ts +2 -0
  123. package/dist/src/view/viewUtils.test.d.ts.map +1 -0
  124. package/dist/src/view/viewUtils.test.js +87 -0
  125. package/package.json +16 -16
  126. package/dist/bundle/__vite-browser-external-C--ziKoh.js +0 -8
  127. package/dist/bundle/_commonjsHelpers-DjF3Plf2.js +0 -26
  128. package/dist/bundle/index-5ajWdKly.js +0 -1319
  129. package/dist/bundle/index-B03-Om4z.js +0 -274
  130. package/dist/bundle/index-BftNdA0O.js +0 -27
  131. package/dist/bundle/index-Bg7C4Xat.js +0 -2750
  132. package/dist/bundle/index-C3QR8Lv6.js +0 -2131
  133. package/dist/bundle/index-DTcHjAHp.js +0 -505
  134. package/dist/bundle/index-DnIkxb0L.js +0 -1025
  135. package/dist/bundle/index-Ww3TAo6_.js +0 -71
  136. package/dist/bundle/index-g8iXgW0W.js +0 -651
  137. package/dist/bundle/long-B-FASCSo.js +0 -2387
  138. package/dist/bundle/remoteFile-BuaqFGWk.js +0 -94
@@ -1,2750 +0,0 @@
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
- };