@genome-spy/core 0.65.0 → 0.67.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 (249) hide show
  1. package/dist/bundle/browser-BRemItdO.js +138 -0
  2. package/dist/bundle/{index-CD7FLu9x.js → index-BatuyGAI.js} +23 -21
  3. package/dist/bundle/{index-C0llXMqm.js → index-ByuE8dvu.js} +140 -88
  4. package/dist/bundle/index-Cq3QFUxX.js +1781 -0
  5. package/dist/bundle/index-D28m8tSW.js +1607 -0
  6. package/dist/bundle/index-DbJ0oeYM.js +631 -0
  7. package/dist/bundle/index.es.js +15821 -14601
  8. package/dist/bundle/index.js +214 -212
  9. package/dist/bundle/{inflate-DRgHi_KK.js → inflate-GtwLkvSP.js} +222 -224
  10. package/dist/bundle/unzip-NywezaRR.js +1492 -0
  11. package/dist/schema.json +13 -3
  12. package/dist/src/config/scaleDefaults.d.ts +8 -0
  13. package/dist/src/config/scaleDefaults.d.ts.map +1 -0
  14. package/dist/src/config/scaleDefaults.js +45 -0
  15. package/dist/src/data/flowHandle.d.ts +2 -0
  16. package/dist/src/data/flowHandle.d.ts.map +1 -1
  17. package/dist/src/data/flowHandle.js +1 -0
  18. package/dist/src/data/flowInit.d.ts +12 -4
  19. package/dist/src/data/flowInit.d.ts.map +1 -1
  20. package/dist/src/data/flowInit.js +115 -16
  21. package/dist/src/data/sources/lazy/axisTickSource.js +1 -1
  22. package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts +1 -1
  23. package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
  24. package/dist/src/data/sources/lazy/singleAxisLazySource.js +10 -3
  25. package/dist/src/data/sources/lazy/singleAxisWindowedSource.d.ts.map +1 -1
  26. package/dist/src/data/sources/lazy/singleAxisWindowedSource.js +5 -1
  27. package/dist/src/data/transforms/filterScoredLabels.d.ts +1 -1
  28. package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
  29. package/dist/src/data/transforms/filterScoredLabels.js +1 -1
  30. package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts.map +1 -1
  31. package/dist/src/data/transforms/linearizeGenomicCoordinate.js +2 -1
  32. package/dist/src/encoder/encoder.d.ts +1 -1
  33. package/dist/src/encoder/encoder.d.ts.map +1 -1
  34. package/dist/src/encoder/encoder.js +1 -1
  35. package/dist/src/genome/scaleLocus.d.ts +39 -0
  36. package/dist/src/genome/scaleLocus.d.ts.map +1 -1
  37. package/dist/src/genome/scaleLocus.js +76 -0
  38. package/dist/src/genomeSpy/canvasExport.d.ts +19 -0
  39. package/dist/src/genomeSpy/canvasExport.d.ts.map +1 -0
  40. package/dist/src/genomeSpy/canvasExport.js +66 -0
  41. package/dist/src/genomeSpy/containerUi.d.ts +17 -0
  42. package/dist/src/genomeSpy/containerUi.d.ts.map +1 -0
  43. package/dist/src/genomeSpy/containerUi.js +78 -0
  44. package/dist/src/genomeSpy/eventListenerRegistry.d.ts +19 -0
  45. package/dist/src/genomeSpy/eventListenerRegistry.d.ts.map +1 -0
  46. package/dist/src/genomeSpy/eventListenerRegistry.js +38 -0
  47. package/dist/src/genomeSpy/inputBindingManager.d.ts +14 -0
  48. package/dist/src/genomeSpy/inputBindingManager.d.ts.map +1 -0
  49. package/dist/src/genomeSpy/inputBindingManager.js +63 -0
  50. package/dist/src/genomeSpy/interactionController.d.ts +40 -0
  51. package/dist/src/genomeSpy/interactionController.d.ts.map +1 -0
  52. package/dist/src/genomeSpy/interactionController.js +371 -0
  53. package/dist/src/genomeSpy/keyboardListenerManager.d.ts +10 -0
  54. package/dist/src/genomeSpy/keyboardListenerManager.d.ts.map +1 -0
  55. package/dist/src/genomeSpy/keyboardListenerManager.js +31 -0
  56. package/dist/src/genomeSpy/loadingIndicatorManager.d.ts +15 -0
  57. package/dist/src/genomeSpy/loadingIndicatorManager.d.ts.map +1 -0
  58. package/dist/src/genomeSpy/loadingIndicatorManager.js +92 -0
  59. package/dist/src/genomeSpy/renderCoordinator.d.ts +22 -0
  60. package/dist/src/genomeSpy/renderCoordinator.d.ts.map +1 -0
  61. package/dist/src/genomeSpy/renderCoordinator.js +118 -0
  62. package/dist/src/genomeSpy/viewContextFactory.d.ts +18 -0
  63. package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -0
  64. package/dist/src/genomeSpy/viewContextFactory.js +79 -0
  65. package/dist/src/genomeSpy/viewDataInit.d.ts +22 -0
  66. package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -0
  67. package/dist/src/genomeSpy/viewDataInit.js +160 -0
  68. package/dist/src/genomeSpy/viewDataInit.test.d.ts +2 -0
  69. package/dist/src/genomeSpy/viewDataInit.test.d.ts.map +1 -0
  70. package/dist/src/genomeSpy/viewHierarchyConfig.d.ts +14 -0
  71. package/dist/src/genomeSpy/viewHierarchyConfig.d.ts.map +1 -0
  72. package/dist/src/genomeSpy/viewHierarchyConfig.js +24 -0
  73. package/dist/src/genomeSpy/viewHighlight.d.ts +5 -0
  74. package/dist/src/genomeSpy/viewHighlight.d.ts.map +1 -0
  75. package/dist/src/genomeSpy/viewHighlight.js +30 -0
  76. package/dist/src/genomeSpy.d.ts +17 -71
  77. package/dist/src/genomeSpy.d.ts.map +1 -1
  78. package/dist/src/genomeSpy.js +197 -741
  79. package/dist/src/gl/dataToVertices.d.ts.map +1 -1
  80. package/dist/src/gl/dataToVertices.js +16 -4
  81. package/dist/src/gl/glslScaleGenerator.d.ts +1 -1
  82. package/dist/src/gl/webGLHelper.d.ts +2 -2
  83. package/dist/src/gl/webGLHelper.d.ts.map +1 -1
  84. package/dist/src/gl/webGLHelper.js +4 -4
  85. package/dist/src/index.d.ts.map +1 -1
  86. package/dist/src/index.js +2 -12
  87. package/dist/src/marks/mark.d.ts.map +1 -1
  88. package/dist/src/marks/mark.js +4 -2
  89. package/dist/src/{view → scales}/axisResolution.d.ts +9 -16
  90. package/dist/src/scales/axisResolution.d.ts.map +1 -0
  91. package/dist/src/{view → scales}/axisResolution.js +29 -18
  92. package/dist/src/scales/axisResolution.test.d.ts.map +1 -0
  93. package/dist/src/scales/scaleDomainAggregator.d.ts +57 -0
  94. package/dist/src/scales/scaleDomainAggregator.d.ts.map +1 -0
  95. package/dist/src/scales/scaleDomainAggregator.js +167 -0
  96. package/dist/src/scales/scaleDomainAggregator.test.d.ts +2 -0
  97. package/dist/src/scales/scaleDomainAggregator.test.d.ts.map +1 -0
  98. package/dist/src/scales/scaleInstanceManager.d.ts +40 -0
  99. package/dist/src/scales/scaleInstanceManager.d.ts.map +1 -0
  100. package/dist/src/scales/scaleInstanceManager.js +317 -0
  101. package/dist/src/scales/scaleInstanceManager.test.d.ts +2 -0
  102. package/dist/src/scales/scaleInstanceManager.test.d.ts.map +1 -0
  103. package/dist/src/scales/scaleInteractionController.d.ts +73 -0
  104. package/dist/src/scales/scaleInteractionController.d.ts.map +1 -0
  105. package/dist/src/scales/scaleInteractionController.js +336 -0
  106. package/dist/src/scales/scaleInteractionController.test.d.ts +2 -0
  107. package/dist/src/scales/scaleInteractionController.test.d.ts.map +1 -0
  108. package/dist/src/scales/scalePropsResolver.d.ts +23 -0
  109. package/dist/src/scales/scalePropsResolver.d.ts.map +1 -0
  110. package/dist/src/scales/scalePropsResolver.js +74 -0
  111. package/dist/src/{view → scales}/scaleResolution.d.ts +53 -35
  112. package/dist/src/scales/scaleResolution.d.ts.map +1 -0
  113. package/dist/src/scales/scaleResolution.js +732 -0
  114. package/dist/src/scales/scaleResolution.test.d.ts.map +1 -0
  115. package/dist/src/scales/scaleResolutionConstants.d.ts +6 -0
  116. package/dist/src/scales/scaleResolutionConstants.d.ts.map +1 -0
  117. package/dist/src/scales/scaleResolutionConstants.js +5 -0
  118. package/dist/src/scales/scaleRules.d.ts +16 -0
  119. package/dist/src/scales/scaleRules.d.ts.map +1 -0
  120. package/dist/src/scales/scaleRules.js +103 -0
  121. package/dist/src/scales/scaleRules.test.d.ts +2 -0
  122. package/dist/src/scales/scaleRules.test.d.ts.map +1 -0
  123. package/dist/src/spec/channel.d.ts +13 -18
  124. package/dist/src/spec/scale.d.ts +6 -0
  125. package/dist/src/types/embedApi.d.ts +5 -0
  126. package/dist/src/types/scaleResolutionApi.d.ts +1 -1
  127. package/dist/src/utils/domainArray.d.ts.map +1 -1
  128. package/dist/src/utils/domainArray.js +3 -0
  129. package/dist/src/utils/indexer.d.ts +3 -0
  130. package/dist/src/utils/indexer.d.ts.map +1 -1
  131. package/dist/src/utils/indexer.js +3 -0
  132. package/dist/src/view/concatView.d.ts +18 -0
  133. package/dist/src/view/concatView.d.ts.map +1 -1
  134. package/dist/src/view/concatView.js +73 -0
  135. package/dist/src/view/concatView.test.d.ts +2 -0
  136. package/dist/src/view/concatView.test.d.ts.map +1 -0
  137. package/dist/src/view/containerMutationHelper.d.ts +74 -0
  138. package/dist/src/view/containerMutationHelper.d.ts.map +1 -0
  139. package/dist/src/view/containerMutationHelper.js +118 -0
  140. package/dist/src/view/containerView.d.ts +0 -7
  141. package/dist/src/view/containerView.d.ts.map +1 -1
  142. package/dist/src/view/containerView.js +0 -10
  143. package/dist/src/view/facetView.d.ts.map +1 -1
  144. package/dist/src/view/facetView.js +0 -15
  145. package/dist/src/view/flowBuilder.d.ts +5 -3
  146. package/dist/src/view/flowBuilder.d.ts.map +1 -1
  147. package/dist/src/view/flowBuilder.js +69 -6
  148. package/dist/src/view/gridView/gridChild.d.ts +11 -0
  149. package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
  150. package/dist/src/view/gridView/gridChild.js +32 -6
  151. package/dist/src/view/gridView/gridView.d.ts +39 -1
  152. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  153. package/dist/src/view/gridView/gridView.js +106 -48
  154. package/dist/src/view/gridView/gridView.test.d.ts +2 -0
  155. package/dist/src/view/gridView/gridView.test.d.ts.map +1 -0
  156. package/dist/src/view/gridView/scrollbar.d.ts +39 -8
  157. package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
  158. package/dist/src/view/gridView/scrollbar.js +184 -69
  159. package/dist/src/view/layerView.d.ts +14 -0
  160. package/dist/src/view/layerView.d.ts.map +1 -1
  161. package/dist/src/view/layerView.js +66 -0
  162. package/dist/src/view/layerView.test.d.ts +2 -0
  163. package/dist/src/view/layerView.test.d.ts.map +1 -0
  164. package/dist/src/view/testUtils.d.ts.map +1 -1
  165. package/dist/src/view/testUtils.js +7 -1
  166. package/dist/src/view/unitView.d.ts.map +1 -1
  167. package/dist/src/view/unitView.js +41 -36
  168. package/dist/src/view/view.d.ts +18 -6
  169. package/dist/src/view/view.d.ts.map +1 -1
  170. package/dist/src/view/view.js +30 -4
  171. package/package.json +2 -2
  172. package/dist/bundle/browser-txUcLy2H.js +0 -123
  173. package/dist/bundle/index-BQpbYrv4.js +0 -1712
  174. package/dist/bundle/index-BhtHKLUo.js +0 -73
  175. package/dist/bundle/index-CCe8rnZz.js +0 -716
  176. package/dist/bundle/index-DhcU-Gk-.js +0 -1487
  177. package/dist/src/data/collector.test.js +0 -138
  178. package/dist/src/data/dataFlow.test.js +0 -38
  179. package/dist/src/data/flow.test.js +0 -81
  180. package/dist/src/data/flowInit.test.js +0 -413
  181. package/dist/src/data/flowNode.test.js +0 -50
  182. package/dist/src/data/flowOptimizer.test.js +0 -209
  183. package/dist/src/data/formats/fasta.test.js +0 -27
  184. package/dist/src/data/sources/inlineSource.test.js +0 -63
  185. package/dist/src/data/sources/sequenceSource.test.js +0 -81
  186. package/dist/src/data/transforms/aggregate.test.js +0 -134
  187. package/dist/src/data/transforms/clone.test.js +0 -11
  188. package/dist/src/data/transforms/coverage.test.js +0 -238
  189. package/dist/src/data/transforms/filter.test.js +0 -20
  190. package/dist/src/data/transforms/flatten.test.js +0 -96
  191. package/dist/src/data/transforms/flattenDelimited.test.js +0 -90
  192. package/dist/src/data/transforms/flattenSequence.test.js +0 -34
  193. package/dist/src/data/transforms/formula.test.js +0 -25
  194. package/dist/src/data/transforms/identifier.test.js +0 -92
  195. package/dist/src/data/transforms/pileup.test.js +0 -70
  196. package/dist/src/data/transforms/project.test.js +0 -32
  197. package/dist/src/data/transforms/regexExtract.test.js +0 -70
  198. package/dist/src/data/transforms/regexFold.test.js +0 -201
  199. package/dist/src/data/transforms/sample.test.js +0 -38
  200. package/dist/src/data/transforms/stack.test.js +0 -91
  201. package/dist/src/encoder/accessor.test.js +0 -162
  202. package/dist/src/encoder/encoder.test.js +0 -105
  203. package/dist/src/genome/genome.test.js +0 -268
  204. package/dist/src/genome/genomes.test.js +0 -8
  205. package/dist/src/genome/scaleIndex.test.js +0 -78
  206. package/dist/src/genome/scaleLocus.test.js +0 -4
  207. package/dist/src/scale/scale.test.js +0 -326
  208. package/dist/src/scale/ticks.test.js +0 -46
  209. package/dist/src/selection/selection.test.js +0 -14
  210. package/dist/src/utils/addBaseUrl.test.js +0 -30
  211. package/dist/src/utils/binnedIndex.test.js +0 -201
  212. package/dist/src/utils/cloner.test.js +0 -35
  213. package/dist/src/utils/coalesce.test.js +0 -16
  214. package/dist/src/utils/concatIterables.test.js +0 -8
  215. package/dist/src/utils/domainArray.test.js +0 -130
  216. package/dist/src/utils/indexer.test.js +0 -49
  217. package/dist/src/utils/interactionEvent.test.js +0 -35
  218. package/dist/src/utils/iterateNestedMaps.test.js +0 -33
  219. package/dist/src/utils/kWayMerge.test.js +0 -30
  220. package/dist/src/utils/mergeObjects.test.js +0 -42
  221. package/dist/src/utils/numberExtractor.test.js +0 -6
  222. package/dist/src/utils/propertyCacher.test.js +0 -89
  223. package/dist/src/utils/propertyCoalescer.test.js +0 -25
  224. package/dist/src/utils/radixSort.test.js +0 -51
  225. package/dist/src/utils/reservationMap.test.js +0 -20
  226. package/dist/src/utils/ringBuffer.test.js +0 -39
  227. package/dist/src/utils/topK.test.js +0 -54
  228. package/dist/src/utils/trees.test.js +0 -135
  229. package/dist/src/utils/url.test.js +0 -28
  230. package/dist/src/utils/variableTools.test.js +0 -13
  231. package/dist/src/view/axisResolution.d.ts.map +0 -1
  232. package/dist/src/view/axisResolution.test.d.ts.map +0 -1
  233. package/dist/src/view/axisResolution.test.js +0 -206
  234. package/dist/src/view/flowBuilder.test.js +0 -125
  235. package/dist/src/view/gridView/selectionRect.test.js +0 -87
  236. package/dist/src/view/layout/flexLayout.test.js +0 -323
  237. package/dist/src/view/layout/grid.test.js +0 -71
  238. package/dist/src/view/layout/rectangle.test.js +0 -192
  239. package/dist/src/view/paramMediator.test.js +0 -282
  240. package/dist/src/view/scaleResolution.d.ts.map +0 -1
  241. package/dist/src/view/scaleResolution.js +0 -1059
  242. package/dist/src/view/scaleResolution.test.d.ts.map +0 -1
  243. package/dist/src/view/scaleResolution.test.js +0 -645
  244. package/dist/src/view/view.test.js +0 -245
  245. package/dist/src/view/viewDispose.test.js +0 -110
  246. package/dist/src/view/viewFactory.test.js +0 -25
  247. package/dist/src/view/viewUtils.test.js +0 -87
  248. /package/dist/src/{view → scales}/axisResolution.test.d.ts +0 -0
  249. /package/dist/src/{view → scales}/scaleResolution.test.d.ts +0 -0
@@ -0,0 +1,1492 @@
1
+ var b = function(g, I, A, Q, B) {
2
+ if (Q === "m") throw new TypeError("Private method is not writable");
3
+ if (Q === "a" && !B) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof I == "function" ? g !== I || !B : !I.has(g)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return Q === "a" ? B.call(g, A) : B ? B.value = A : I.set(g, A), A;
6
+ }, o = function(g, I, A, Q) {
7
+ if (A === "a" && !Q) throw new TypeError("Private accessor was defined without a getter");
8
+ if (typeof I == "function" ? g !== I || !Q : !I.has(g)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
9
+ return A === "m" ? Q : A === "a" ? Q.call(g) : Q ? Q.value : I.get(g);
10
+ }, F, x, J, Y, X, QA, Z, nA, v, WA, yA, GA, FA, zA, rA;
11
+ class qI extends Map {
12
+ constructor(I = {}) {
13
+ if (super(), F.add(this), x.set(this, 0), J.set(this, /* @__PURE__ */ new Map()), Y.set(this, /* @__PURE__ */ new Map()), X.set(this, void 0), QA.set(this, void 0), Z.set(this, void 0), !(I.maxSize && I.maxSize > 0))
14
+ throw new TypeError("`maxSize` must be a number greater than 0");
15
+ if (typeof I.maxAge == "number" && I.maxAge === 0)
16
+ throw new TypeError("`maxAge` must be a number greater than 0");
17
+ b(this, X, I.maxSize, "f"), b(this, QA, I.maxAge || Number.POSITIVE_INFINITY, "f"), b(this, Z, I.onEviction, "f");
18
+ }
19
+ // For tests.
20
+ get __oldCache() {
21
+ return o(this, Y, "f");
22
+ }
23
+ get(I) {
24
+ if (o(this, J, "f").has(I)) {
25
+ const A = o(this, J, "f").get(I);
26
+ return o(this, F, "m", yA).call(this, I, A);
27
+ }
28
+ if (o(this, Y, "f").has(I)) {
29
+ const A = o(this, Y, "f").get(I);
30
+ if (!o(this, F, "m", v).call(this, I, A))
31
+ return o(this, F, "m", zA).call(this, I, A), A.value;
32
+ }
33
+ }
34
+ set(I, A, { maxAge: Q = o(this, QA, "f") } = {}) {
35
+ const B = typeof Q == "number" && Q !== Number.POSITIVE_INFINITY ? Date.now() + Q : void 0;
36
+ return o(this, J, "f").has(I) ? o(this, J, "f").set(I, {
37
+ value: A,
38
+ expiry: B
39
+ }) : o(this, F, "m", FA).call(this, I, { value: A, expiry: B }), this;
40
+ }
41
+ has(I) {
42
+ return o(this, J, "f").has(I) ? !o(this, F, "m", v).call(this, I, o(this, J, "f").get(I)) : o(this, Y, "f").has(I) ? !o(this, F, "m", v).call(this, I, o(this, Y, "f").get(I)) : !1;
43
+ }
44
+ peek(I) {
45
+ if (o(this, J, "f").has(I))
46
+ return o(this, F, "m", GA).call(this, I, o(this, J, "f"));
47
+ if (o(this, Y, "f").has(I))
48
+ return o(this, F, "m", GA).call(this, I, o(this, Y, "f"));
49
+ }
50
+ expiresIn(I) {
51
+ const A = o(this, J, "f").get(I) ?? o(this, Y, "f").get(I);
52
+ if (A)
53
+ return A.expiry ? A.expiry - Date.now() : Number.POSITIVE_INFINITY;
54
+ }
55
+ delete(I) {
56
+ var A;
57
+ const Q = o(this, J, "f").delete(I);
58
+ return Q && b(this, x, (A = o(this, x, "f"), A--, A), "f"), o(this, Y, "f").delete(I) || Q;
59
+ }
60
+ clear() {
61
+ o(this, J, "f").clear(), o(this, Y, "f").clear(), b(this, x, 0, "f");
62
+ }
63
+ resize(I) {
64
+ if (!(I && I > 0))
65
+ throw new TypeError("`maxSize` must be a number greater than 0");
66
+ const A = [...o(this, F, "m", rA).call(this)], Q = A.length - I;
67
+ Q < 0 ? (b(this, J, new Map(A), "f"), b(this, Y, /* @__PURE__ */ new Map(), "f"), b(this, x, A.length, "f")) : (Q > 0 && o(this, F, "m", nA).call(this, A.slice(0, Q)), b(this, Y, new Map(A.slice(Q)), "f"), b(this, J, /* @__PURE__ */ new Map(), "f"), b(this, x, 0, "f")), b(this, X, I, "f");
68
+ }
69
+ evict(I = 1) {
70
+ const A = I;
71
+ if (!A || A <= 0)
72
+ return;
73
+ const Q = [...o(this, F, "m", rA).call(this)], B = Math.trunc(Math.min(A, Math.max(Q.length - 1, 0)));
74
+ B <= 0 || (o(this, F, "m", nA).call(this, Q.slice(0, B)), b(this, Y, new Map(Q.slice(B)), "f"), b(this, J, /* @__PURE__ */ new Map(), "f"), b(this, x, 0, "f"));
75
+ }
76
+ *keys() {
77
+ for (const [I] of this)
78
+ yield I;
79
+ }
80
+ *values() {
81
+ for (const [, I] of this)
82
+ yield I;
83
+ }
84
+ *[(x = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakMap(), Y = /* @__PURE__ */ new WeakMap(), X = /* @__PURE__ */ new WeakMap(), QA = /* @__PURE__ */ new WeakMap(), Z = /* @__PURE__ */ new WeakMap(), F = /* @__PURE__ */ new WeakSet(), nA = function(A) {
85
+ if (typeof o(this, Z, "f") == "function")
86
+ for (const [Q, B] of A)
87
+ o(this, Z, "f").call(this, Q, B.value);
88
+ }, v = function(A, Q) {
89
+ return typeof Q.expiry == "number" && Q.expiry <= Date.now() ? (typeof o(this, Z, "f") == "function" && o(this, Z, "f").call(this, A, Q.value), this.delete(A)) : !1;
90
+ }, WA = function(A, Q) {
91
+ if (!o(this, F, "m", v).call(this, A, Q))
92
+ return Q.value;
93
+ }, yA = function(A, Q) {
94
+ return Q.expiry ? o(this, F, "m", WA).call(this, A, Q) : Q.value;
95
+ }, GA = function(A, Q) {
96
+ const B = Q.get(A);
97
+ return o(this, F, "m", yA).call(this, A, B);
98
+ }, FA = function(A, Q) {
99
+ var B;
100
+ o(this, J, "f").set(A, Q), b(this, x, (B = o(this, x, "f"), B++, B), "f"), o(this, x, "f") >= o(this, X, "f") && (b(this, x, 0, "f"), o(this, F, "m", nA).call(this, o(this, Y, "f")), b(this, Y, o(this, J, "f"), "f"), b(this, J, /* @__PURE__ */ new Map(), "f"));
101
+ }, zA = function(A, Q) {
102
+ o(this, Y, "f").delete(A), o(this, F, "m", FA).call(this, A, Q);
103
+ }, rA = function* () {
104
+ for (const A of o(this, Y, "f")) {
105
+ const [Q, B] = A;
106
+ o(this, J, "f").has(Q) || o(this, F, "m", v).call(this, Q, B) || (yield A);
107
+ }
108
+ for (const A of o(this, J, "f")) {
109
+ const [Q, B] = A;
110
+ o(this, F, "m", v).call(this, Q, B) || (yield A);
111
+ }
112
+ }, Symbol.iterator)]() {
113
+ for (const I of o(this, J, "f")) {
114
+ const [A, Q] = I;
115
+ o(this, F, "m", v).call(this, A, Q) || (yield [A, Q.value]);
116
+ }
117
+ for (const I of o(this, Y, "f")) {
118
+ const [A, Q] = I;
119
+ o(this, J, "f").has(A) || o(this, F, "m", v).call(this, A, Q) || (yield [A, Q.value]);
120
+ }
121
+ }
122
+ *entriesDescending() {
123
+ let I = [...o(this, J, "f")];
124
+ for (let A = I.length - 1; A >= 0; --A) {
125
+ const Q = I[A], [B, C] = Q;
126
+ o(this, F, "m", v).call(this, B, C) || (yield [B, C.value]);
127
+ }
128
+ I = [...o(this, Y, "f")];
129
+ for (let A = I.length - 1; A >= 0; --A) {
130
+ const Q = I[A], [B, C] = Q;
131
+ o(this, J, "f").has(B) || o(this, F, "m", v).call(this, B, C) || (yield [B, C.value]);
132
+ }
133
+ }
134
+ *entriesAscending() {
135
+ for (const [I, A] of o(this, F, "m", rA).call(this))
136
+ yield [I, A.value];
137
+ }
138
+ get size() {
139
+ if (!o(this, x, "f"))
140
+ return o(this, Y, "f").size;
141
+ let I = 0;
142
+ for (const A of o(this, Y, "f").keys())
143
+ o(this, J, "f").has(A) || I++;
144
+ return Math.min(o(this, x, "f") + I, o(this, X, "f"));
145
+ }
146
+ get maxSize() {
147
+ return o(this, X, "f");
148
+ }
149
+ get maxAge() {
150
+ return o(this, QA, "f");
151
+ }
152
+ entries() {
153
+ return this.entriesAscending();
154
+ }
155
+ forEach(I, A = this) {
156
+ for (const [Q, B] of this.entriesAscending())
157
+ I.call(A, B, Q, this);
158
+ }
159
+ // eslint-disable-next-line @typescript-eslint/class-literal-property-style
160
+ get [Symbol.toStringTag]() {
161
+ return "QuickLRU";
162
+ }
163
+ toString() {
164
+ return `QuickLRU(${this.size}/${this.maxSize})`;
165
+ }
166
+ [Symbol.for("nodejs.util.inspect.custom")]() {
167
+ return this.toString();
168
+ }
169
+ }
170
+ var VA = 0, OA = 2, sA = 4, T = 0, fA = 1, Wg = 2, zg = -5;
171
+ function Vg(g, I) {
172
+ return Object.prototype.hasOwnProperty.call(g, I);
173
+ }
174
+ function Og(g) {
175
+ for (var I = Array.prototype.slice.call(arguments, 1); I.length; ) {
176
+ var A = I.shift();
177
+ if (A) {
178
+ if (typeof A != "object")
179
+ throw new TypeError(A + "must be non-object");
180
+ for (var Q in A)
181
+ Vg(A, Q) && (g[Q] = A[Q]);
182
+ }
183
+ }
184
+ return g;
185
+ }
186
+ function bg(g, I) {
187
+ return g.length === I ? g : g.subarray ? g.subarray(0, I) : (g.length = I, g);
188
+ }
189
+ var iA = {
190
+ arraySet: function(g, I, A, Q, B) {
191
+ if (I.subarray && g.subarray) {
192
+ g.set(I.subarray(A, A + Q), B);
193
+ return;
194
+ }
195
+ for (var C = 0; C < Q; C++)
196
+ g[B + C] = I[A + C];
197
+ },
198
+ // Join array of chunks to single array.
199
+ flattenChunks: function(g) {
200
+ var I, A, Q, B, C, a;
201
+ for (Q = 0, I = 0, A = g.length; I < A; I++)
202
+ Q += g[I].length;
203
+ for (a = new Uint8Array(Q), B = 0, I = 0, A = g.length; I < A; I++)
204
+ C = g[I], a.set(C, B), B += C.length;
205
+ return a;
206
+ },
207
+ Buf8: function(g) {
208
+ return new Uint8Array(g);
209
+ },
210
+ Buf16: function(g) {
211
+ return new Uint16Array(g);
212
+ },
213
+ Buf32: function(g) {
214
+ return new Int32Array(g);
215
+ }
216
+ }, eA = {
217
+ arraySet: function(g, I, A, Q, B) {
218
+ for (var C = 0; C < Q; C++)
219
+ g[B + C] = I[A + C];
220
+ },
221
+ // Join array of chunks to single array.
222
+ flattenChunks: function(g) {
223
+ return [].concat.apply([], g);
224
+ },
225
+ Buf8: function(g) {
226
+ return new Array(g);
227
+ },
228
+ Buf16: function(g) {
229
+ return new Array(g);
230
+ },
231
+ Buf32: function(g) {
232
+ return new Array(g);
233
+ }
234
+ };
235
+ let IA = () => {
236
+ const g = typeof Uint8Array < "u" && typeof Uint16Array < "u" && typeof Int32Array < "u";
237
+ return IA = () => g, g;
238
+ }, m = (g, I, A, Q, B) => (m = IA() ? iA.arraySet : eA.arraySet, m(g, I, A, Q, B)), _A = (g) => (_A = IA() ? iA.flattenChunks : eA.flattenChunks, _A(g)), O = (g) => (O = IA() ? iA.Buf8 : eA.Buf8, O(g)), P = (g) => (P = IA() ? iA.Buf16 : eA.Buf16, P(g)), $ = (g) => ($ = IA() ? iA.Buf32 : eA.Buf32, $(g)), Ug = function() {
239
+ let g = !0;
240
+ try {
241
+ String.fromCharCode.apply(null, [0]);
242
+ } catch {
243
+ g = !1;
244
+ }
245
+ return Ug = () => g, g;
246
+ }, Lg = function() {
247
+ let g = !0;
248
+ try {
249
+ String.fromCharCode.apply(null, new Uint8Array(1));
250
+ } catch {
251
+ g = !1;
252
+ }
253
+ return Lg = () => g, g;
254
+ }, pA = function(g) {
255
+ for (var I = O(256), A = 0; A < 256; A++)
256
+ I[A] = A >= 252 ? 6 : A >= 248 ? 5 : A >= 240 ? 4 : A >= 224 ? 3 : A >= 192 ? 2 : 1;
257
+ return I[254] = I[254] = 1, pA = (Q) => I[Q], I[g];
258
+ };
259
+ function PA(g) {
260
+ var I, A, Q, B, C, a = g.length, e = 0;
261
+ for (B = 0; B < a; B++)
262
+ A = g.charCodeAt(B), (A & 64512) === 55296 && B + 1 < a && (Q = g.charCodeAt(B + 1), (Q & 64512) === 56320 && (A = 65536 + (A - 55296 << 10) + (Q - 56320), B++)), e += A < 128 ? 1 : A < 2048 ? 2 : A < 65536 ? 3 : 4;
263
+ for (I = new Uint8Array(e), C = 0, B = 0; C < e; B++)
264
+ A = g.charCodeAt(B), (A & 64512) === 55296 && B + 1 < a && (Q = g.charCodeAt(B + 1), (Q & 64512) === 56320 && (A = 65536 + (A - 55296 << 10) + (Q - 56320), B++)), A < 128 ? I[C++] = A : A < 2048 ? (I[C++] = 192 | A >>> 6, I[C++] = 128 | A & 63) : A < 65536 ? (I[C++] = 224 | A >>> 12, I[C++] = 128 | A >>> 6 & 63, I[C++] = 128 | A & 63) : (I[C++] = 240 | A >>> 18, I[C++] = 128 | A >>> 12 & 63, I[C++] = 128 | A >>> 6 & 63, I[C++] = 128 | A & 63);
265
+ return I;
266
+ }
267
+ function Pg(g, I) {
268
+ if (I < 65534 && (g.subarray && Lg() || !g.subarray && Ug()))
269
+ return String.fromCharCode.apply(null, bg(g, I));
270
+ for (var A = "", Q = 0; Q < I; Q++)
271
+ A += String.fromCharCode(g[Q]);
272
+ return A;
273
+ }
274
+ function $g(g) {
275
+ for (var I = new Uint8Array(g.length), A = 0, Q = I.length; A < Q; A++)
276
+ I[A] = g.charCodeAt(A);
277
+ return I;
278
+ }
279
+ function AI(g, I) {
280
+ var A, Q, B, C, a = I || g.length, e = new Array(a * 2);
281
+ for (Q = 0, A = 0; A < a; ) {
282
+ if (B = g[A++], B < 128) {
283
+ e[Q++] = B;
284
+ continue;
285
+ }
286
+ if (C = pA(B), C > 4) {
287
+ e[Q++] = 65533, A += C - 1;
288
+ continue;
289
+ }
290
+ for (B &= C === 2 ? 31 : C === 3 ? 15 : 7; C > 1 && A < a; )
291
+ B = B << 6 | g[A++] & 63, C--;
292
+ if (C > 1) {
293
+ e[Q++] = 65533;
294
+ continue;
295
+ }
296
+ B < 65536 ? e[Q++] = B : (B -= 65536, e[Q++] = 55296 | B >> 10 & 1023, e[Q++] = 56320 | B & 1023);
297
+ }
298
+ return Pg(e, Q);
299
+ }
300
+ function gI(g, I) {
301
+ var A;
302
+ for (I = I || g.length, I > g.length && (I = g.length), A = I - 1; A >= 0 && (g[A] & 192) === 128; )
303
+ A--;
304
+ return A < 0 || A === 0 ? I : A + pA(g[A]) > I ? A : I;
305
+ }
306
+ function II() {
307
+ 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;
308
+ }
309
+ function vA(g, I, A, Q) {
310
+ for (var B = g & 65535 | 0, C = g >>> 16 & 65535 | 0, a = 0; A !== 0; ) {
311
+ a = A > 2e3 ? 2e3 : A, A -= a;
312
+ do
313
+ B = B + I[Q++] | 0, C = C + B | 0;
314
+ while (--a);
315
+ B %= 65521, C %= 65521;
316
+ }
317
+ return B | C << 16 | 0;
318
+ }
319
+ function QI() {
320
+ for (var g, I = [], A = 0; A < 256; A++) {
321
+ g = A;
322
+ for (var Q = 0; Q < 8; Q++)
323
+ g = g & 1 ? 3988292384 ^ g >>> 1 : g >>> 1;
324
+ I[A] = g;
325
+ }
326
+ return I;
327
+ }
328
+ let Mg = function() {
329
+ const g = QI();
330
+ return Mg = () => g, g;
331
+ };
332
+ function K(g, I, A, Q) {
333
+ var B = Mg(), C = Q + A;
334
+ g ^= -1;
335
+ for (var a = Q; a < C; a++)
336
+ g = g >>> 8 ^ B[(g ^ I[a]) & 255];
337
+ return g ^ -1;
338
+ }
339
+ var cA = 30, CI = 12;
340
+ function BI(g, I) {
341
+ var A, Q, B, C, a, e, c, E, i, y, s, t, f, U, d, h, N, D, n, k, L, r, G, u, w;
342
+ A = g.state, Q = g.next_in, u = g.input, B = Q + (g.avail_in - 5), C = g.next_out, w = g.output, a = C - (I - g.avail_out), e = C + (g.avail_out - 257), c = A.dmax, E = A.wsize, i = A.whave, y = A.wnext, s = A.window, t = A.hold, f = A.bits, U = A.lencode, d = A.distcode, h = (1 << A.lenbits) - 1, N = (1 << A.distbits) - 1;
343
+ A: do {
344
+ f < 15 && (t += u[Q++] << f, f += 8, t += u[Q++] << f, f += 8), D = U[t & h];
345
+ g: for (; ; ) {
346
+ if (n = D >>> 24, t >>>= n, f -= n, n = D >>> 16 & 255, n === 0)
347
+ w[C++] = D & 65535;
348
+ else if (n & 16) {
349
+ k = D & 65535, n &= 15, n && (f < n && (t += u[Q++] << f, f += 8), k += t & (1 << n) - 1, t >>>= n, f -= n), f < 15 && (t += u[Q++] << f, f += 8, t += u[Q++] << f, f += 8), D = d[t & N];
350
+ I: for (; ; ) {
351
+ if (n = D >>> 24, t >>>= n, f -= n, n = D >>> 16 & 255, n & 16) {
352
+ if (L = D & 65535, n &= 15, f < n && (t += u[Q++] << f, f += 8, f < n && (t += u[Q++] << f, f += 8)), L += t & (1 << n) - 1, L > c) {
353
+ g.msg = "invalid distance too far back", A.mode = cA;
354
+ break A;
355
+ }
356
+ if (t >>>= n, f -= n, n = C - a, L > n) {
357
+ if (n = L - n, n > i && A.sane) {
358
+ g.msg = "invalid distance too far back", A.mode = cA;
359
+ break A;
360
+ }
361
+ if (r = 0, G = s, y === 0) {
362
+ if (r += E - n, n < k) {
363
+ k -= n;
364
+ do
365
+ w[C++] = s[r++];
366
+ while (--n);
367
+ r = C - L, G = w;
368
+ }
369
+ } else if (y < n) {
370
+ if (r += E + y - n, n -= y, n < k) {
371
+ k -= n;
372
+ do
373
+ w[C++] = s[r++];
374
+ while (--n);
375
+ if (r = 0, y < k) {
376
+ n = y, k -= n;
377
+ do
378
+ w[C++] = s[r++];
379
+ while (--n);
380
+ r = C - L, G = w;
381
+ }
382
+ }
383
+ } else if (r += y - n, n < k) {
384
+ k -= n;
385
+ do
386
+ w[C++] = s[r++];
387
+ while (--n);
388
+ r = C - L, G = w;
389
+ }
390
+ for (; k > 2; )
391
+ w[C++] = G[r++], w[C++] = G[r++], w[C++] = G[r++], k -= 3;
392
+ k && (w[C++] = G[r++], k > 1 && (w[C++] = G[r++]));
393
+ } else {
394
+ r = C - L;
395
+ do
396
+ w[C++] = w[r++], w[C++] = w[r++], w[C++] = w[r++], k -= 3;
397
+ while (k > 2);
398
+ k && (w[C++] = w[r++], k > 1 && (w[C++] = w[r++]));
399
+ }
400
+ } else if ((n & 64) === 0) {
401
+ D = d[(D & 65535) + (t & (1 << n) - 1)];
402
+ continue I;
403
+ } else {
404
+ g.msg = "invalid distance code", A.mode = cA;
405
+ break A;
406
+ }
407
+ break;
408
+ }
409
+ } else if ((n & 64) === 0) {
410
+ D = U[(D & 65535) + (t & (1 << n) - 1)];
411
+ continue g;
412
+ } else if (n & 32) {
413
+ A.mode = CI;
414
+ break A;
415
+ } else {
416
+ g.msg = "invalid literal/length code", A.mode = cA;
417
+ break A;
418
+ }
419
+ break;
420
+ }
421
+ } while (Q < B && C < e);
422
+ k = f >> 3, Q -= k, f -= k << 3, t &= (1 << f) - 1, g.next_in = Q, g.next_out = C, g.avail_in = Q < B ? 5 + (B - Q) : 5 - (Q - B), g.avail_out = C < e ? 257 + (e - C) : 257 - (C - e), A.hold = t, A.bits = f;
423
+ }
424
+ var z = 15, $A = 852, Ag = 592, gg = 0, JA = 1, Ig = 2, EI = [
425
+ /* Length codes 257..285 base */
426
+ 3,
427
+ 4,
428
+ 5,
429
+ 6,
430
+ 7,
431
+ 8,
432
+ 9,
433
+ 10,
434
+ 11,
435
+ 13,
436
+ 15,
437
+ 17,
438
+ 19,
439
+ 23,
440
+ 27,
441
+ 31,
442
+ 35,
443
+ 43,
444
+ 51,
445
+ 59,
446
+ 67,
447
+ 83,
448
+ 99,
449
+ 115,
450
+ 131,
451
+ 163,
452
+ 195,
453
+ 227,
454
+ 258,
455
+ 0,
456
+ 0
457
+ ], iI = [
458
+ /* Length codes 257..285 extra */
459
+ 16,
460
+ 16,
461
+ 16,
462
+ 16,
463
+ 16,
464
+ 16,
465
+ 16,
466
+ 16,
467
+ 17,
468
+ 17,
469
+ 17,
470
+ 17,
471
+ 18,
472
+ 18,
473
+ 18,
474
+ 18,
475
+ 19,
476
+ 19,
477
+ 19,
478
+ 19,
479
+ 20,
480
+ 20,
481
+ 20,
482
+ 20,
483
+ 21,
484
+ 21,
485
+ 21,
486
+ 21,
487
+ 16,
488
+ 72,
489
+ 78
490
+ ], eI = [
491
+ /* Distance codes 0..29 base */
492
+ 1,
493
+ 2,
494
+ 3,
495
+ 4,
496
+ 5,
497
+ 7,
498
+ 9,
499
+ 13,
500
+ 17,
501
+ 25,
502
+ 33,
503
+ 49,
504
+ 65,
505
+ 97,
506
+ 129,
507
+ 193,
508
+ 257,
509
+ 385,
510
+ 513,
511
+ 769,
512
+ 1025,
513
+ 1537,
514
+ 2049,
515
+ 3073,
516
+ 4097,
517
+ 6145,
518
+ 8193,
519
+ 12289,
520
+ 16385,
521
+ 24577,
522
+ 0,
523
+ 0
524
+ ], tI = [
525
+ /* Distance codes 0..29 extra */
526
+ 16,
527
+ 16,
528
+ 16,
529
+ 16,
530
+ 17,
531
+ 17,
532
+ 18,
533
+ 18,
534
+ 19,
535
+ 19,
536
+ 20,
537
+ 20,
538
+ 21,
539
+ 21,
540
+ 22,
541
+ 22,
542
+ 23,
543
+ 23,
544
+ 24,
545
+ 24,
546
+ 25,
547
+ 25,
548
+ 26,
549
+ 26,
550
+ 27,
551
+ 27,
552
+ 28,
553
+ 28,
554
+ 29,
555
+ 29,
556
+ 64,
557
+ 64
558
+ ];
559
+ function BA(g, I, A, Q, B, C, a, e) {
560
+ var c = e.bits, E = 0, i = 0, y = 0, s = 0, t = 0, f = 0, U = 0, d = 0, h = 0, N = 0, D, n, k, L, r, G = null, u = 0, w, S = P(z + 1), q = P(z + 1), tA = null, TA = 0, jA, aA, oA;
561
+ for (E = 0; E <= z; E++)
562
+ S[E] = 0;
563
+ for (i = 0; i < Q; i++)
564
+ S[I[A + i]]++;
565
+ for (t = c, s = z; s >= 1 && S[s] === 0; s--)
566
+ ;
567
+ if (t > s && (t = s), s === 0)
568
+ return B[C++] = 1 << 24 | 64 << 16 | 0, B[C++] = 1 << 24 | 64 << 16 | 0, e.bits = 1, 0;
569
+ for (y = 1; y < s && S[y] === 0; y++)
570
+ ;
571
+ for (t < y && (t = y), d = 1, E = 1; E <= z; E++)
572
+ if (d <<= 1, d -= S[E], d < 0)
573
+ return -1;
574
+ if (d > 0 && (g === gg || s !== 1))
575
+ return -1;
576
+ for (q[1] = 0, E = 1; E < z; E++)
577
+ q[E + 1] = q[E] + S[E];
578
+ for (i = 0; i < Q; i++)
579
+ I[A + i] !== 0 && (a[q[I[A + i]]++] = i);
580
+ if (g === gg ? (G = tA = a, w = 19) : g === JA ? (G = EI, u -= 257, tA = iI, TA -= 257, w = 256) : (G = eI, tA = tI, w = -1), N = 0, i = 0, E = y, r = C, f = t, U = 0, k = -1, h = 1 << t, L = h - 1, g === JA && h > $A || g === Ig && h > Ag)
581
+ return 1;
582
+ for (; ; ) {
583
+ jA = E - U, a[i] < w ? (aA = 0, oA = a[i]) : a[i] > w ? (aA = tA[TA + a[i]], oA = G[u + a[i]]) : (aA = 96, oA = 0), D = 1 << E - U, n = 1 << f, y = n;
584
+ do
585
+ n -= D, B[r + (N >> U) + n] = jA << 24 | aA << 16 | oA | 0;
586
+ while (n !== 0);
587
+ for (D = 1 << E - 1; N & D; )
588
+ D >>= 1;
589
+ if (D !== 0 ? (N &= D - 1, N += D) : N = 0, i++, --S[E] === 0) {
590
+ if (E === s)
591
+ break;
592
+ E = I[A + a[i]];
593
+ }
594
+ if (E > t && (N & L) !== k) {
595
+ for (U === 0 && (U = t), r += y, f = E - U, d = 1 << f; f + U < s && (d -= S[f + U], !(d <= 0)); )
596
+ f++, d <<= 1;
597
+ if (h += 1 << f, g === JA && h > $A || g === Ig && h > Ag)
598
+ return 1;
599
+ k = N & L, B[k] = t << 24 | f << 16 | r - C | 0;
600
+ }
601
+ }
602
+ return N !== 0 && (B[r + N] = E - U << 24 | 64 << 16 | 0), e.bits = t, 0;
603
+ }
604
+ var aI = 0, xg = 1, _g = 2, Qg = 4, W = 0, oI = 1, nI = 2, _ = -2, vg = -3, Kg = -4, rI = -5, Cg = 8, pg = 1, Bg = 2, Eg = 3, ig = 4, eg = 5, tg = 6, ag = 7, og = 8, ng = 9, rg = 10, kA = 11, p = 12, RA = 13, sg = 14, YA = 15, fg = 16, cg = 17, hg = 18, wg = 19, hA = 20, wA = 21, lg = 22, Dg = 23, dg = 24, kg = 25, Ng = 26, SA = 27, ug = 28, yg = 29, R = 30, Hg = 31, sI = 32, fI = 852, cI = 592;
605
+ function Gg(g) {
606
+ return (g >>> 24 & 255) + (g >>> 8 & 65280) + ((g & 65280) << 8) + ((g & 255) << 24);
607
+ }
608
+ function hI() {
609
+ 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 = P(320), this.work = P(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
610
+ }
611
+ function wI(g) {
612
+ var I;
613
+ return !g || !g.state ? _ : (I = g.state, g.total_in = g.total_out = I.total = 0, g.msg = "", I.wrap && (g.adler = I.wrap & 1), I.mode = pg, I.last = 0, I.havedict = 0, I.dmax = 32768, I.head = null, I.hold = 0, I.bits = 0, I.lencode = I.lendyn = $(fI), I.distcode = I.distdyn = $(cI), I.sane = 1, I.back = -1, W);
614
+ }
615
+ function lI(g) {
616
+ var I;
617
+ return !g || !g.state ? _ : (I = g.state, I.wsize = 0, I.whave = 0, I.wnext = 0, wI(g));
618
+ }
619
+ function DI(g, I) {
620
+ var A, Q;
621
+ return !g || !g.state || (Q = g.state, I < 0 ? (A = 0, I = -I) : (A = (I >> 4) + 1, I < 48 && (I &= 15)), I && (I < 8 || I > 15)) ? _ : (Q.window !== null && Q.wbits !== I && (Q.window = null), Q.wrap = A, Q.wbits = I, lI(g));
622
+ }
623
+ function dI(g, I) {
624
+ var A, Q;
625
+ return g ? (Q = new hI(), g.state = Q, Q.window = null, A = DI(g, I), A !== W && (g.state = null), A) : _;
626
+ }
627
+ var Fg = !0, bA, UA;
628
+ function kI(g) {
629
+ if (Fg) {
630
+ var I;
631
+ for (bA = $(512), UA = $(32), I = 0; I < 144; )
632
+ g.lens[I++] = 8;
633
+ for (; I < 256; )
634
+ g.lens[I++] = 9;
635
+ for (; I < 280; )
636
+ g.lens[I++] = 7;
637
+ for (; I < 288; )
638
+ g.lens[I++] = 8;
639
+ for (BA(xg, g.lens, 0, 288, bA, 0, g.work, { bits: 9 }), I = 0; I < 32; )
640
+ g.lens[I++] = 5;
641
+ BA(_g, g.lens, 0, 32, UA, 0, g.work, {
642
+ bits: 5
643
+ }), Fg = !1;
644
+ }
645
+ g.lencode = bA, g.lenbits = 9, g.distcode = UA, g.distbits = 5;
646
+ }
647
+ function mg(g, I, A, Q) {
648
+ var B, C = g.state;
649
+ return C.window === null && (C.wsize = 1 << C.wbits, C.wnext = 0, C.whave = 0, C.window = O(C.wsize)), Q >= C.wsize ? (m(C.window, I, A - C.wsize, C.wsize, 0), C.wnext = 0, C.whave = C.wsize) : (B = C.wsize - C.wnext, B > Q && (B = Q), m(C.window, I, A - Q, B, C.wnext), Q -= B, Q ? (m(C.window, I, A - Q, Q, 0), C.wnext = Q, C.whave = C.wsize) : (C.wnext += B, C.wnext === C.wsize && (C.wnext = 0), C.whave < C.wsize && (C.whave += B))), 0;
650
+ }
651
+ function NI(g, I) {
652
+ var A, Q, B, C, a, e, c, E, i, y, s, t, f, U, d = 0, h, N, D, n, k, L, r, G, u = O(4), w, S, q = (
653
+ /* permutation of code lengths */
654
+ [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]
655
+ );
656
+ if (!g || !g.state || !g.output || !g.input && g.avail_in !== 0)
657
+ return _;
658
+ A = g.state, A.mode === p && (A.mode = RA), a = g.next_out, B = g.output, c = g.avail_out, C = g.next_in, Q = g.input, e = g.avail_in, E = A.hold, i = A.bits, y = e, s = c, G = W;
659
+ A: for (; ; )
660
+ switch (A.mode) {
661
+ case pg:
662
+ if (A.wrap === 0) {
663
+ A.mode = RA;
664
+ break;
665
+ }
666
+ for (; i < 16; ) {
667
+ if (e === 0)
668
+ break A;
669
+ e--, E += Q[C++] << i, i += 8;
670
+ }
671
+ if (A.wrap & 2 && E === 35615) {
672
+ A.check = 0, u[0] = E & 255, u[1] = E >>> 8 & 255, A.check = K(A.check, u, 2, 0), E = 0, i = 0, A.mode = Bg;
673
+ break;
674
+ }
675
+ if (A.flags = 0, A.head && (A.head.done = !1), !(A.wrap & 1) || (((E & 255) << 8) + (E >> 8)) % 31) {
676
+ g.msg = "incorrect header check", A.mode = R;
677
+ break;
678
+ }
679
+ if ((E & 15) !== Cg) {
680
+ g.msg = "unknown compression method", A.mode = R;
681
+ break;
682
+ }
683
+ if (E >>>= 4, i -= 4, r = (E & 15) + 8, A.wbits === 0)
684
+ A.wbits = r;
685
+ else if (r > A.wbits) {
686
+ g.msg = "invalid window size", A.mode = R;
687
+ break;
688
+ }
689
+ A.dmax = 1 << r, g.adler = A.check = 1, A.mode = E & 512 ? rg : p, E = 0, i = 0;
690
+ break;
691
+ case Bg:
692
+ for (; i < 16; ) {
693
+ if (e === 0)
694
+ break A;
695
+ e--, E += Q[C++] << i, i += 8;
696
+ }
697
+ if (A.flags = E, (A.flags & 255) !== Cg) {
698
+ g.msg = "unknown compression method", A.mode = R;
699
+ break;
700
+ }
701
+ if (A.flags & 57344) {
702
+ g.msg = "unknown header flags set", A.mode = R;
703
+ break;
704
+ }
705
+ A.head && (A.head.text = E >> 8 & 1), A.flags & 512 && (u[0] = E & 255, u[1] = E >>> 8 & 255, A.check = K(A.check, u, 2, 0)), E = 0, i = 0, A.mode = Eg;
706
+ /* falls through */
707
+ case Eg:
708
+ for (; i < 32; ) {
709
+ if (e === 0)
710
+ break A;
711
+ e--, E += Q[C++] << i, i += 8;
712
+ }
713
+ A.head && (A.head.time = E), A.flags & 512 && (u[0] = E & 255, u[1] = E >>> 8 & 255, u[2] = E >>> 16 & 255, u[3] = E >>> 24 & 255, A.check = K(A.check, u, 4, 0)), E = 0, i = 0, A.mode = ig;
714
+ /* falls through */
715
+ case ig:
716
+ for (; i < 16; ) {
717
+ if (e === 0)
718
+ break A;
719
+ e--, E += Q[C++] << i, i += 8;
720
+ }
721
+ A.head && (A.head.xflags = E & 255, A.head.os = E >> 8), A.flags & 512 && (u[0] = E & 255, u[1] = E >>> 8 & 255, A.check = K(A.check, u, 2, 0)), E = 0, i = 0, A.mode = eg;
722
+ /* falls through */
723
+ case eg:
724
+ if (A.flags & 1024) {
725
+ for (; i < 16; ) {
726
+ if (e === 0)
727
+ break A;
728
+ e--, E += Q[C++] << i, i += 8;
729
+ }
730
+ A.length = E, A.head && (A.head.extra_len = E), A.flags & 512 && (u[0] = E & 255, u[1] = E >>> 8 & 255, A.check = K(A.check, u, 2, 0)), E = 0, i = 0;
731
+ } else A.head && (A.head.extra = null);
732
+ A.mode = tg;
733
+ /* falls through */
734
+ case tg:
735
+ if (A.flags & 1024 && (t = A.length, t > e && (t = e), t && (A.head && (r = A.head.extra_len - A.length, A.head.extra || (A.head.extra = new Array(A.head.extra_len)), m(
736
+ A.head.extra,
737
+ Q,
738
+ C,
739
+ // extra field is limited to 65536 bytes
740
+ // - no need for additional size check
741
+ t,
742
+ /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
743
+ r
744
+ )), A.flags & 512 && (A.check = K(A.check, Q, t, C)), e -= t, C += t, A.length -= t), A.length))
745
+ break A;
746
+ A.length = 0, A.mode = ag;
747
+ /* falls through */
748
+ case ag:
749
+ if (A.flags & 2048) {
750
+ if (e === 0)
751
+ break A;
752
+ t = 0;
753
+ do
754
+ r = Q[C + t++], A.head && r && A.length < 65536 && (A.head.name += String.fromCharCode(r));
755
+ while (r && t < e);
756
+ if (A.flags & 512 && (A.check = K(A.check, Q, t, C)), e -= t, C += t, r)
757
+ break A;
758
+ } else A.head && (A.head.name = null);
759
+ A.length = 0, A.mode = og;
760
+ /* falls through */
761
+ case og:
762
+ if (A.flags & 4096) {
763
+ if (e === 0)
764
+ break A;
765
+ t = 0;
766
+ do
767
+ r = Q[C + t++], A.head && r && A.length < 65536 && (A.head.comment += String.fromCharCode(r));
768
+ while (r && t < e);
769
+ if (A.flags & 512 && (A.check = K(A.check, Q, t, C)), e -= t, C += t, r)
770
+ break A;
771
+ } else A.head && (A.head.comment = null);
772
+ A.mode = ng;
773
+ /* falls through */
774
+ case ng:
775
+ if (A.flags & 512) {
776
+ for (; i < 16; ) {
777
+ if (e === 0)
778
+ break A;
779
+ e--, E += Q[C++] << i, i += 8;
780
+ }
781
+ if (E !== (A.check & 65535)) {
782
+ g.msg = "header crc mismatch", A.mode = R;
783
+ break;
784
+ }
785
+ E = 0, i = 0;
786
+ }
787
+ A.head && (A.head.hcrc = A.flags >> 9 & 1, A.head.done = !0), g.adler = A.check = 0, A.mode = p;
788
+ break;
789
+ case rg:
790
+ for (; i < 32; ) {
791
+ if (e === 0)
792
+ break A;
793
+ e--, E += Q[C++] << i, i += 8;
794
+ }
795
+ g.adler = A.check = Gg(E), E = 0, i = 0, A.mode = kA;
796
+ /* falls through */
797
+ case kA:
798
+ if (A.havedict === 0)
799
+ return g.next_out = a, g.avail_out = c, g.next_in = C, g.avail_in = e, A.hold = E, A.bits = i, nI;
800
+ g.adler = A.check = 1, A.mode = p;
801
+ /* falls through */
802
+ case p:
803
+ /* falls through */
804
+ case RA:
805
+ if (A.last) {
806
+ E >>>= i & 7, i -= i & 7, A.mode = SA;
807
+ break;
808
+ }
809
+ for (; i < 3; ) {
810
+ if (e === 0)
811
+ break A;
812
+ e--, E += Q[C++] << i, i += 8;
813
+ }
814
+ switch (A.last = E & 1, E >>>= 1, i -= 1, E & 3) {
815
+ case 0:
816
+ A.mode = sg;
817
+ break;
818
+ case 1:
819
+ kI(A), A.mode = hA;
820
+ break;
821
+ case 2:
822
+ A.mode = cg;
823
+ break;
824
+ case 3:
825
+ g.msg = "invalid block type", A.mode = R;
826
+ }
827
+ E >>>= 2, i -= 2;
828
+ break;
829
+ case sg:
830
+ for (E >>>= i & 7, i -= i & 7; i < 32; ) {
831
+ if (e === 0)
832
+ break A;
833
+ e--, E += Q[C++] << i, i += 8;
834
+ }
835
+ if ((E & 65535) !== (E >>> 16 ^ 65535)) {
836
+ g.msg = "invalid stored block lengths", A.mode = R;
837
+ break;
838
+ }
839
+ A.length = E & 65535, E = 0, i = 0, A.mode = YA;
840
+ /* falls through */
841
+ case YA:
842
+ A.mode = fg;
843
+ /* falls through */
844
+ case fg:
845
+ if (t = A.length, t) {
846
+ if (t > e && (t = e), t > c && (t = c), t === 0)
847
+ break A;
848
+ m(B, Q, C, t, a), e -= t, C += t, c -= t, a += t, A.length -= t;
849
+ break;
850
+ }
851
+ A.mode = p;
852
+ break;
853
+ case cg:
854
+ for (; i < 14; ) {
855
+ if (e === 0)
856
+ break A;
857
+ e--, E += Q[C++] << i, i += 8;
858
+ }
859
+ if (A.nlen = (E & 31) + 257, E >>>= 5, i -= 5, A.ndist = (E & 31) + 1, E >>>= 5, i -= 5, A.ncode = (E & 15) + 4, E >>>= 4, i -= 4, A.nlen > 286 || A.ndist > 30) {
860
+ g.msg = "too many length or distance symbols", A.mode = R;
861
+ break;
862
+ }
863
+ A.have = 0, A.mode = hg;
864
+ /* falls through */
865
+ case hg:
866
+ for (; A.have < A.ncode; ) {
867
+ for (; i < 3; ) {
868
+ if (e === 0)
869
+ break A;
870
+ e--, E += Q[C++] << i, i += 8;
871
+ }
872
+ A.lens[q[A.have++]] = E & 7, E >>>= 3, i -= 3;
873
+ }
874
+ for (; A.have < 19; )
875
+ A.lens[q[A.have++]] = 0;
876
+ if (A.lencode = A.lendyn, A.lenbits = 7, w = { bits: A.lenbits }, G = BA(aI, A.lens, 0, 19, A.lencode, 0, A.work, w), A.lenbits = w.bits, G) {
877
+ g.msg = "invalid code lengths set", A.mode = R;
878
+ break;
879
+ }
880
+ A.have = 0, A.mode = wg;
881
+ /* falls through */
882
+ case wg:
883
+ for (; A.have < A.nlen + A.ndist; ) {
884
+ for (; d = A.lencode[E & (1 << A.lenbits) - 1], h = d >>> 24, N = d >>> 16 & 255, D = d & 65535, !(h <= i); ) {
885
+ if (e === 0)
886
+ break A;
887
+ e--, E += Q[C++] << i, i += 8;
888
+ }
889
+ if (D < 16)
890
+ E >>>= h, i -= h, A.lens[A.have++] = D;
891
+ else {
892
+ if (D === 16) {
893
+ for (S = h + 2; i < S; ) {
894
+ if (e === 0)
895
+ break A;
896
+ e--, E += Q[C++] << i, i += 8;
897
+ }
898
+ if (E >>>= h, i -= h, A.have === 0) {
899
+ g.msg = "invalid bit length repeat", A.mode = R;
900
+ break;
901
+ }
902
+ r = A.lens[A.have - 1], t = 3 + (E & 3), E >>>= 2, i -= 2;
903
+ } else if (D === 17) {
904
+ for (S = h + 3; i < S; ) {
905
+ if (e === 0)
906
+ break A;
907
+ e--, E += Q[C++] << i, i += 8;
908
+ }
909
+ E >>>= h, i -= h, r = 0, t = 3 + (E & 7), E >>>= 3, i -= 3;
910
+ } else {
911
+ for (S = h + 7; i < S; ) {
912
+ if (e === 0)
913
+ break A;
914
+ e--, E += Q[C++] << i, i += 8;
915
+ }
916
+ E >>>= h, i -= h, r = 0, t = 11 + (E & 127), E >>>= 7, i -= 7;
917
+ }
918
+ if (A.have + t > A.nlen + A.ndist) {
919
+ g.msg = "invalid bit length repeat", A.mode = R;
920
+ break;
921
+ }
922
+ for (; t--; )
923
+ A.lens[A.have++] = r;
924
+ }
925
+ }
926
+ if (A.mode === R)
927
+ break;
928
+ if (A.lens[256] === 0) {
929
+ g.msg = "invalid code -- missing end-of-block", A.mode = R;
930
+ break;
931
+ }
932
+ if (A.lenbits = 9, w = { bits: A.lenbits }, G = BA(xg, A.lens, 0, A.nlen, A.lencode, 0, A.work, w), A.lenbits = w.bits, G) {
933
+ g.msg = "invalid literal/lengths set", A.mode = R;
934
+ break;
935
+ }
936
+ if (A.distbits = 6, A.distcode = A.distdyn, w = { bits: A.distbits }, G = BA(_g, A.lens, A.nlen, A.ndist, A.distcode, 0, A.work, w), A.distbits = w.bits, G) {
937
+ g.msg = "invalid distances set", A.mode = R;
938
+ break;
939
+ }
940
+ A.mode = hA;
941
+ /* falls through */
942
+ case hA:
943
+ A.mode = wA;
944
+ /* falls through */
945
+ case wA:
946
+ if (e >= 6 && c >= 258) {
947
+ g.next_out = a, g.avail_out = c, g.next_in = C, g.avail_in = e, A.hold = E, A.bits = i, BI(g, s), a = g.next_out, B = g.output, c = g.avail_out, C = g.next_in, Q = g.input, e = g.avail_in, E = A.hold, i = A.bits, A.mode === p && (A.back = -1);
948
+ break;
949
+ }
950
+ for (A.back = 0; d = A.lencode[E & (1 << A.lenbits) - 1], h = d >>> 24, N = d >>> 16 & 255, D = d & 65535, !(h <= i); ) {
951
+ if (e === 0)
952
+ break A;
953
+ e--, E += Q[C++] << i, i += 8;
954
+ }
955
+ if (N && (N & 240) === 0) {
956
+ for (n = h, k = N, L = D; d = A.lencode[L + ((E & (1 << n + k) - 1) >> n)], h = d >>> 24, N = d >>> 16 & 255, D = d & 65535, !(n + h <= i); ) {
957
+ if (e === 0)
958
+ break A;
959
+ e--, E += Q[C++] << i, i += 8;
960
+ }
961
+ E >>>= n, i -= n, A.back += n;
962
+ }
963
+ if (E >>>= h, i -= h, A.back += h, A.length = D, N === 0) {
964
+ A.mode = Ng;
965
+ break;
966
+ }
967
+ if (N & 32) {
968
+ A.back = -1, A.mode = p;
969
+ break;
970
+ }
971
+ if (N & 64) {
972
+ g.msg = "invalid literal/length code", A.mode = R;
973
+ break;
974
+ }
975
+ A.extra = N & 15, A.mode = lg;
976
+ /* falls through */
977
+ case lg:
978
+ if (A.extra) {
979
+ for (S = A.extra; i < S; ) {
980
+ if (e === 0)
981
+ break A;
982
+ e--, E += Q[C++] << i, i += 8;
983
+ }
984
+ A.length += E & (1 << A.extra) - 1, E >>>= A.extra, i -= A.extra, A.back += A.extra;
985
+ }
986
+ A.was = A.length, A.mode = Dg;
987
+ /* falls through */
988
+ case Dg:
989
+ for (; d = A.distcode[E & (1 << A.distbits) - 1], h = d >>> 24, N = d >>> 16 & 255, D = d & 65535, !(h <= i); ) {
990
+ if (e === 0)
991
+ break A;
992
+ e--, E += Q[C++] << i, i += 8;
993
+ }
994
+ if ((N & 240) === 0) {
995
+ for (n = h, k = N, L = D; d = A.distcode[L + ((E & (1 << n + k) - 1) >> n)], h = d >>> 24, N = d >>> 16 & 255, D = d & 65535, !(n + h <= i); ) {
996
+ if (e === 0)
997
+ break A;
998
+ e--, E += Q[C++] << i, i += 8;
999
+ }
1000
+ E >>>= n, i -= n, A.back += n;
1001
+ }
1002
+ if (E >>>= h, i -= h, A.back += h, N & 64) {
1003
+ g.msg = "invalid distance code", A.mode = R;
1004
+ break;
1005
+ }
1006
+ A.offset = D, A.extra = N & 15, A.mode = dg;
1007
+ /* falls through */
1008
+ case dg:
1009
+ if (A.extra) {
1010
+ for (S = A.extra; i < S; ) {
1011
+ if (e === 0)
1012
+ break A;
1013
+ e--, E += Q[C++] << i, i += 8;
1014
+ }
1015
+ A.offset += E & (1 << A.extra) - 1, E >>>= A.extra, i -= A.extra, A.back += A.extra;
1016
+ }
1017
+ if (A.offset > A.dmax) {
1018
+ g.msg = "invalid distance too far back", A.mode = R;
1019
+ break;
1020
+ }
1021
+ A.mode = kg;
1022
+ /* falls through */
1023
+ case kg:
1024
+ if (c === 0)
1025
+ break A;
1026
+ if (t = s - c, A.offset > t) {
1027
+ if (t = A.offset - t, t > A.whave && A.sane) {
1028
+ g.msg = "invalid distance too far back", A.mode = R;
1029
+ break;
1030
+ }
1031
+ t > A.wnext ? (t -= A.wnext, f = A.wsize - t) : f = A.wnext - t, t > A.length && (t = A.length), U = A.window;
1032
+ } else
1033
+ U = B, f = a - A.offset, t = A.length;
1034
+ t > c && (t = c), c -= t, A.length -= t;
1035
+ do
1036
+ B[a++] = U[f++];
1037
+ while (--t);
1038
+ A.length === 0 && (A.mode = wA);
1039
+ break;
1040
+ case Ng:
1041
+ if (c === 0)
1042
+ break A;
1043
+ B[a++] = A.length, c--, A.mode = wA;
1044
+ break;
1045
+ case SA:
1046
+ if (A.wrap) {
1047
+ for (; i < 32; ) {
1048
+ if (e === 0)
1049
+ break A;
1050
+ e--, E |= Q[C++] << i, i += 8;
1051
+ }
1052
+ if (s -= c, g.total_out += s, A.total += s, s && (g.adler = A.check = /*UPDATE(state.check, put - _out, _out);*/
1053
+ A.flags ? K(A.check, B, s, a - s) : vA(A.check, B, s, a - s)), s = c, (A.flags ? E : Gg(E)) !== A.check) {
1054
+ g.msg = "incorrect data check", A.mode = R;
1055
+ break;
1056
+ }
1057
+ E = 0, i = 0;
1058
+ }
1059
+ A.mode = ug;
1060
+ /* falls through */
1061
+ case ug:
1062
+ if (A.wrap && A.flags) {
1063
+ for (; i < 32; ) {
1064
+ if (e === 0)
1065
+ break A;
1066
+ e--, E += Q[C++] << i, i += 8;
1067
+ }
1068
+ if (E !== (A.total & 4294967295)) {
1069
+ g.msg = "incorrect length check", A.mode = R;
1070
+ break;
1071
+ }
1072
+ E = 0, i = 0;
1073
+ }
1074
+ A.mode = yg;
1075
+ /* falls through */
1076
+ case yg:
1077
+ G = oI;
1078
+ break A;
1079
+ case R:
1080
+ G = vg;
1081
+ break A;
1082
+ case Hg:
1083
+ return Kg;
1084
+ case sI:
1085
+ /* falls through */
1086
+ default:
1087
+ return _;
1088
+ }
1089
+ return g.next_out = a, g.avail_out = c, g.next_in = C, g.avail_in = e, A.hold = E, A.bits = i, (A.wsize || s !== g.avail_out && A.mode < R && (A.mode < SA || I !== Qg)) && mg(g, g.output, g.next_out, s - g.avail_out), y -= g.avail_in, s -= g.avail_out, g.total_in += y, g.total_out += s, A.total += s, A.wrap && s && (g.adler = A.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/
1090
+ A.flags ? K(A.check, B, s, g.next_out - s) : vA(A.check, B, s, g.next_out - s)), g.data_type = A.bits + (A.last ? 64 : 0) + (A.mode === p ? 128 : 0) + (A.mode === hA || A.mode === YA ? 256 : 0), (y === 0 && s === 0 || I === Qg) && G === W && (G = rI), G;
1091
+ }
1092
+ function uI(g) {
1093
+ if (!g || !g.state)
1094
+ return _;
1095
+ var I = g.state;
1096
+ return I.window && (I.window = null), g.state = null, W;
1097
+ }
1098
+ function yI(g, I) {
1099
+ var A;
1100
+ return !g || !g.state || (A = g.state, (A.wrap & 2) === 0) ? _ : (A.head = I, I.done = !1, W);
1101
+ }
1102
+ function Jg(g, I) {
1103
+ var A = I.length, Q, B, C;
1104
+ return !g || !g.state || (Q = g.state, Q.wrap !== 0 && Q.mode !== kA) ? _ : Q.mode === kA && (B = 1, B = vA(B, I, A, 0), B !== Q.check) ? vg : (C = mg(g, I, A, A), C ? (Q.mode = Hg, Kg) : (Q.havedict = 1, W));
1105
+ }
1106
+ const KA = {
1107
+ 2: "need dictionary",
1108
+ 1: "stream end",
1109
+ 0: "",
1110
+ "-1": "file error",
1111
+ "-2": "stream error",
1112
+ "-3": "data error",
1113
+ "-4": "insufficient memory",
1114
+ "-5": "buffer error",
1115
+ "-6": "incompatible version"
1116
+ };
1117
+ function GI() {
1118
+ 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;
1119
+ }
1120
+ var LA = Object.prototype.toString;
1121
+ class NA {
1122
+ constructor(I) {
1123
+ if (!(this instanceof NA))
1124
+ return new NA(I);
1125
+ this.options = Og({
1126
+ chunkSize: 16384,
1127
+ windowBits: 0,
1128
+ to: ""
1129
+ }, I || {});
1130
+ var A = this.options;
1131
+ A.raw && A.windowBits >= 0 && A.windowBits < 16 && (A.windowBits = -A.windowBits, A.windowBits === 0 && (A.windowBits = -15)), A.windowBits >= 0 && A.windowBits < 16 && !(I && I.windowBits) && (A.windowBits += 32), A.windowBits > 15 && A.windowBits < 48 && (A.windowBits & 15) === 0 && (A.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new GI(), this.strm.avail_out = 0;
1132
+ var Q = dI(this.strm, A.windowBits);
1133
+ if (Q !== T)
1134
+ throw new Error(KA[Q]);
1135
+ if (this.header = new II(), yI(this.strm, this.header), A.dictionary && (typeof A.dictionary == "string" ? A.dictionary = PA(A.dictionary) : LA.call(A.dictionary) === "[object ArrayBuffer]" && (A.dictionary = new Uint8Array(A.dictionary)), A.raw && (Q = Jg(this.strm, A.dictionary), Q !== T)))
1136
+ throw new Error(KA[Q]);
1137
+ }
1138
+ /**
1139
+ * Inflate#push(data[, mode]) -> Boolean
1140
+ * - data (Uint8Array|Array|ArrayBuffer|String): input data
1141
+ * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.
1142
+ * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.
1143
+ *
1144
+ * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with
1145
+ * new output chunks. Returns `true` on success. The last data block must have
1146
+ * mode Z_FINISH (or `true`). That will flush internal pending buffers and call
1147
+ * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you
1148
+ * can use mode Z_SYNC_FLUSH, keeping the decompression context.
1149
+ *
1150
+ * On fail call [[Inflate#onEnd]] with error code and return false.
1151
+ *
1152
+ * We strongly recommend to use `Uint8Array` on input for best speed (output
1153
+ * format is detected automatically). Also, don't skip last param and always
1154
+ * use the same type in your code (boolean or number). That will improve JS speed.
1155
+ *
1156
+ * For regular `Array`-s make sure all elements are [0..255].
1157
+ *
1158
+ * ##### Example
1159
+ *
1160
+ * ```javascript
1161
+ * push(chunk, false); // push one of data chunks
1162
+ * ...
1163
+ * push(chunk, true); // push last chunk
1164
+ * ```
1165
+ **/
1166
+ push(I, A) {
1167
+ var Q = this.strm, B = this.options.chunkSize, C = this.options.dictionary, a, e, c, E, i, y, s = !1;
1168
+ if (this.ended)
1169
+ return !1;
1170
+ e = A === ~~A ? A : A === !0 ? sA : VA, typeof I == "string" ? Q.input = $g(I) : LA.call(I) === "[object ArrayBuffer]" ? Q.input = new Uint8Array(I) : Q.input = I, Q.next_in = 0, Q.avail_in = Q.input.length;
1171
+ do {
1172
+ if (Q.avail_out === 0 && (Q.output = O(B), Q.next_out = 0, Q.avail_out = B), a = NI(Q, VA), a === Wg && C && (typeof C == "string" ? y = PA(C) : LA.call(C) === "[object ArrayBuffer]" ? y = new Uint8Array(C) : y = C, a = Jg(this.strm, y)), a === zg && s === !0 && (a = T, s = !1), a !== fA && a !== T)
1173
+ return this.onEnd(a), this.ended = !0, !1;
1174
+ Q.next_out && (Q.avail_out === 0 || a === fA || Q.avail_in === 0 && (e === sA || e === OA)) && (this.options.to === "string" ? (c = gI(Q.output, Q.next_out), E = Q.next_out - c, i = AI(Q.output, c), Q.next_out = E, Q.avail_out = B - E, E && m(Q.output, Q.output, c, E, 0), this.onData(i)) : this.onData(bg(Q.output, Q.next_out))), Q.avail_in === 0 && Q.avail_out === 0 && (s = !0);
1175
+ } while ((Q.avail_in > 0 || Q.avail_out === 0) && a !== fA);
1176
+ return a === fA && (e = sA), e === sA ? (a = uI(this.strm), this.onEnd(a), this.ended = !0, a === T) : (e === OA && (this.onEnd(T), Q.avail_out = 0), !0);
1177
+ }
1178
+ /**
1179
+ * Inflate#onData(chunk) -> Void
1180
+ * - chunk (Uint8Array|Array|String): output data. Type of array depends
1181
+ * on js engine support. When string output requested, each chunk
1182
+ * will be string.
1183
+ *
1184
+ * By default, stores data blocks in `chunks[]` property and glue
1185
+ * those in `onEnd`. Override this handler, if you need another behaviour.
1186
+ **/
1187
+ onData(I) {
1188
+ this.chunks.push(I);
1189
+ }
1190
+ /**
1191
+ * Inflate#onEnd(status) -> Void
1192
+ * - status (Number): inflate status. 0 (Z_OK) on success,
1193
+ * other if not.
1194
+ *
1195
+ * Called either after you tell inflate that the input stream is
1196
+ * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)
1197
+ * or if an error happened. By default - join collected chunks,
1198
+ * free memory and fill `results` / `err` properties.
1199
+ **/
1200
+ onEnd(I) {
1201
+ I === T && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = _A(this.chunks)), this.chunks = [], this.err = I, this.msg = this.strm.msg;
1202
+ }
1203
+ }
1204
+ function FI(g, I) {
1205
+ var A = new NA(I);
1206
+ if (A.push(g, !0), A.err)
1207
+ throw A.msg || KA[A.err];
1208
+ return A.result;
1209
+ }
1210
+ var JI = FI, j = {};
1211
+ j.d = (g, I) => {
1212
+ for (var A in I)
1213
+ j.o(I, A) && !j.o(g, A) && Object.defineProperty(g, A, { enumerable: !0, get: I[A] });
1214
+ };
1215
+ j.o = (g, I) => Object.prototype.hasOwnProperty.call(g, I);
1216
+ j.r = (g) => {
1217
+ typeof Symbol < "u" && Symbol.toStringTag && Object.defineProperty(g, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(g, "__esModule", { value: !0 });
1218
+ };
1219
+ var HA = {};
1220
+ j.r(HA);
1221
+ j.d(HA, {
1222
+ ChunkSliceResult: () => AA,
1223
+ DecompressResult: () => gA,
1224
+ __wbg_Error_52673b7de5a0ca89: () => _I,
1225
+ __wbg___wbindgen_throw_dd24417ed36fc46e: () => vI,
1226
+ __wbg_set_wasm: () => qg,
1227
+ decompress_all: () => Zg,
1228
+ decompress_block: () => xI,
1229
+ decompress_chunk_slice: () => Tg
1230
+ });
1231
+ const RI = "data:application/wasm;base64,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fGooAgAiAkF4cSIAaiEDAkACQCACQQFxDQAgAkECcUUNASABKAIAIgIgAGohAAJAIAEgAmsiAUEAKALAoEBHDQAgAygCBEEDcUEDRw0BQQAgADYCuKBAIAMgAygCBEF+cTYCBCABIABBAXI2AgQgAyAANgIADwsgASACEBALAkACQAJAAkACQAJAIAMoAgQiAkECcQ0AIANBACgCxKBARg0CIANBACgCwKBARg0DIAMgAkF4cSICEBAgASACIABqIgBBAXI2AgQgASAAaiAANgIAIAFBACgCwKBARw0BQQAgADYCuKBADwsgAyACQX5xNgIEIAEgAEEBcjYCBCABIABqIAA2AgALIABBgAJJDQIgASAAEBFBACEBQQBBACgC2KBAQX9qIgA2AtigQCAADQQCQEEAKAKgnkAiAEUNAEEAIQEDQCABQQFqIQEgACgCCCIADQALC0EAIAFB/x8gAUH/H0sbNgLYoEAPC0EAIAE2AsSgQEEAQQAoArygQCAAaiIANgK8oEAgASAAQQFyNgIEAkAgAUEAKALAoEBHDQBBAEEANgK4oEBBAEEANgLAoEALIABBACgC0KBAIgRNDQNBACgCxKBAIgBFDQNBACECQQAoArygQCIFQSlJDQJBmJ7AACEBA0ACQCABKAIAIgMgAEsNACAAIAMgASgCBGpJDQQLIAEoAgghAQwACwtBACABNgLAoEBBAEEAKAK4oEAgAGoiADYCuKBAIAEgAEEBcjYCBCABIABqIAA2AgAPCwJAAkBBACgCsKBAIgNBASAAQQN2dCICcQ0AQQAgAyACcjYCsKBAIABB+AFxQaiewABqIgAhAwwBCyAAQfgBcSIDQaiewABqIQAgA0GwnsAAaigCACEDCyAAIAE2AgggAyABNgIMIAEgADYCDCABIAM2AggPCwJAQQAoAqCeQCIBRQ0AQQAhAgNAIAJBAWohAiABKAIIIgENAAsLQQAgAkH/HyACQf8fSxs2AtigQCAFIARNDQBBAEF/NgLQoEALC44FAQd/AkACQCAAKAIIIgNBgICAwAFxRQ0AAkACQAJAAkACQCADQYCAgIABcUUNACAALwEOIgQNAUEAIQIMAgsCQCACQRBJDQAgASACEAYhBQwECwJAIAINAEEAIQJBACEFDAQLIAJBA3EhBgJAAkAgAkEETw0AQQAhBUEAIQcMAQsg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IgJBAWoiAzYCACADRQ0BIAAoAgBBf0YNAiAAKAIQIQAgASACNgIAIAAPCxBdCwALEF8AC1ABAX8CQCACIAAoAgAgACgCCCIDa00NACAAIAMgAkEBQQEQFyAAKAIIIQMLAkAgAkUNACAAKAIEIANqIAEgAvwKAAALIAAgAyACajYCCEEAC0wBAX8CQCAAKAIAIgBBDGooAgAiAUUNACAAQRBqKAIAIAFBARBXCwJAIABBf0YNACAAIAAoAgRBf2oiATYCBCABDQAgAEEcQQQQVwsLRQACQAJAIAFBCUkNACABIAAQDyEBDAELIAAQAiEBCwJAIAFFDQAgAUF8ai0AAEEDcUUNACAARQ0AIAFBACAA/AsACyABC1IBAn9BACEBQQBBACgC6KBAIgJBAWo2AuigQAJAIAJBAEgNAEEBIQFBAC0A5KBADQBBACAAOgDkoEBBAEEAKALgoEBBAWo2AuCgQEECIQELIAELRwECfyABKAIEIQIgASgCACEDEGsCQEEIQQQQWiIBDQBBBEEIEGEACyABIAI2AgQgASADNgIAIABB8JfAADYCBCAAIAE2AgALOAACQAJAIAAgAksNACABIAJLDQEgACABTQ0BIAAgASADECsACyAAIAIgAxAsAAsgASACIAMQLQALQQEBfyMAQSBrIgMkACADQQA2AhAgA0EBNgIEIANCBDcCCCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQQQALOQACQCACQYCAxABGDQAgACACIAEoAhARBQBFDQBBAQ8LAkAgAw0AQQAPCyAAIAMgBCABKAIMEQcACzYBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQaSZwAA2AgggAUIENwIQIAFBCGogABBBAAsnAAJAIAAgARBPRQ0AAkAgAEUNABBrIAAgARBaIgFFDQELIAEPCwALLAIBfwF+IwBBEGsiASQAIAApAgAhAiABIAA2AgwgASACNwIEIAFBBGoQZgALLQEBfyMAQRBrIgEkACABIAApAgA3AgggAUEIakH0lsAAIAAoAghBAUEAECEACyoBAX8jAEEQayIDJAAgAyACNgIMIAMgATYCCCADIAA2AgQgA0EEahBnAAsqAQF/IwBBEGsiAiQAIAJBATsBDCACIAE2AgggAiAANgIEIAJBBGoQPgALKQEBfwJAIAAoAgAiAUGAgICAeHJBgICAgHhGDQAgACgCBCABQQEQVwsLHgEBfwJAIAAoAgAiAkUNACABIAIgACgCBBBTDwsACyAAAkAgASgCAEUNACAAQfCXwAA2AgQgACABNgIADwsACxsBAX8QayAAQQRqQQQQWiIBIAA2AgAgAUEEagsjAQF/AkBBjIvAABAwIgANAEHAisAAQTpB/IrAABBAAAsgAAsXAAJAIAFBCUkNACABIAAQDw8LIAAQAgsfAAJAIABBgICAgHhyQYCAgIB4Rg0AIAEgAEEBEFcLCxwBAX8CQCAAKAIAIgFFDQAgACgCBCABQQEQVwsLFgACQCAARQ0AIAAgARBhAAsgAhA8AAsVACAAQXxqIgAgACgCAEEEakEEEFcLGgEBfyABIABBACgC3KBAIgJBAyACGxEEAAALHQAgAEEIakEAKQKYlkA3AgAgAEEAKQKQlkA3AgALHQAgAEEIakEAKQKolkA3AgAgAEEAKQKglkA3AgALFQAgAWlBAUYgAEGAgICAeCABa01xCxIAAkAgAUUNACAAIAEgAhBXCwsSACAAIAEgAiADIARBACAFEAMLFQACQCAARQ0AIAAgACgCqFoRAgALCxYAIAAoAgAgASACIAAoAgQoAgwRBwALDQAgACABIAIgAxAHDwsQACABIAAoAgAgACgCBBBTCxMAIABB8JfAADYCBCAAIAE2AgALCwAgACABIAIQLw8LCgAgACABEGoaAAsLACAAIwBqJAAjAAsJACAAIAEQRw8LCQAgACABEDYPCwkAIAAgARBMDwsMAEG4iMAAQRsQXgALCQAgACABEGMACw0AQdOIwABBzwAQXgALDAAgACABKQIANwMACwkAIAEgABBcAAsNACABQdicwABBGBAKCwgAIAAgARAACwgAIAAgARABCwkAIAAoAgAQUgsHACAAECMACwcAIAAQPwALCQAgAEEANgIACwUAQQAPCwUAEGwACwMADwsDAAALC4YdAgBBgIDAAAvwHC9ob21lL2NkaWVzaC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTA2L3NyYy9jb252ZXJ0L3NsaWNlcy5ycwAvaG9tZS9jZGllc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwNi9zcmMvZXh0ZXJucmVmLnJzAC9ob21lL2NkaWVzaC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2FsbG9jL3NyYy9zbGljZS5ycwAvaG9tZS9jZGllc2gvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL3J1c3RjL2VkNjFlN2Q3ZTI0MjQ5NGZiNzA1N2YyNjU3MzAwZDllNzdiYjRmY2IvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuMTAvc3JjL2RsbWFsbG9jLnJzAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5ycwAvaG9tZS9jZGllc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJkZWZsYXRlci0xLjI1LjAvc3JjL2xpYi5ycwBFARAAdQAAACoCAAARAAAA1QAQAG8AAAC9AQAAHQAAAGF0dGVtcHRlZCB0byB0YWtlIG93bmVyc2hpcCBvZiBSdXN0IHZhbHVlIHdoaWxlIGl0IHdhcyBib3Jyb3dlZAClAhAACgAAAF0AAAAWAAAAaW52YWxpZCBiZ3pmIGhlYWRlcgClAhAACgAAACkAAAAJAAAApQIQAAoAAAAqAAAACQAAAKUCEAAKAAAAKwAAAAkAAAClAhAACgAAACwAAAAJAAAApQIQAAoAAAAwAAAAFgAAAGRlY29tcHJlc3Npb24gZmFpbGVkpQIQAAoAAAAvAAAAHgAAAKUCEAAKAAAApQAAACQAAAClAhAACgAAAKYAAAAkAAAApQIQAAoAAACnAAAAFgAAAKUCEAAKAAAAxQAAABQAAAClAhAACgAAAMYAAAAUAAAApQIQAAoAAADbAAAAGAAAAKUCEAAKAAAA3AAAABgAAAClAhAACgAAANMAAAAxAAAAAAAQAGwAAAAjAQAADgAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3QAAG0AEABnAAAAfwAAABEAAABtABAAZwAAAIwAAAARAAAAbGliZGVmbGF0ZV9kZWZsYXRlX2RlY29tcHJlc3MgcmV0dXJuZWQgYW4gdW5rbm93biBlcnJvciB0eXBlOiB0aGlzIGlzIGFuIGludGVybmFsIGJ1ZyB0aGF0ICoqbXVzdCoqIGJlIGZpeGVkUAIQAF8AAAAMAQAAFQAAAGxpYmRlZmxhdGVfYWxsb2NfZGVjb21wcmVzc29yIHJldHVybmVkIE5VTEw6IG91dCBvZiBtZW1vcnkAAFACEABfAAAAnAAAABEAAAAMAAAAAQAAAAIAAAAAAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAAAAAAAEAAAACAAAAAwAAAAQAAQAFAAEABwACAAkAAgANAAMAEQADABkABAAhAAQAMQAFAEEABQBhAAYAgQAGAMEABwABAQcAgQEIAAECCAABAwkAAQQJAAEGCgABCAoAAQwLAAEQCwABGAwAASAMAAEwDQABQA0AAWANAAFgDQABYAAAAIAAAAGAAAACgAAAA4AAAASAAAAFgAAABoAAAAeAAAAIgAAACYAAAAqAAAALgAAADIAAAA2AAAAOgAAAD4AAABCAAAARgAAAEoAAABOAAAAUgAAAFYAAABaAAAAXgAAAGIAAABmAAAAagAAAG4AAAByAAAAdgAAAHoAAAB+AAAAggAAAIYAAACKAAAAjgAAAJIAAACWAAAAmgAAAJ4AAACiAAAApgAAAKoAAACuAAAAsgAAALYAAAC6AAAAvgAAAMIAAADGAAAAygAAAM4AAADSAAAA1gAAANoAAADeAAAA4gAAAOYAAADqAAAA7gAAAPIAAAD2AAAA+gAAAP4AAAECAAABBgAAAQoAAAEOAAABEgAAARYAAAEaAAABHgAAASIAAAEmAAABKgAAAS4AAAEyAAABNgAAAToAAAE+AAABQgAAAUYAAAFKAAABTgAAAVIAAAFWAAABWgAAAV4AAAFiAAABZgAAAWoAAAFuAAABcgAAAXYAAAF6AAABfgAAAYIAAAGGAAABigAAAY4AAAGSAAABlgAAAZoAAAGeAAABogAAAaYAAAGqAAABrgAAAbIAAAG2AAABugAAAb4AAAHCAAABxgAAAcoAAAHOAAAB0gAAAdYAAAHaAAAB3gAAAeIAAAHmAAAB6gAAAe4AAAHyAAAB9gAAAfoAAAH+AAACAgAAAgYAAAIKAAACDgAAAhIAAAIWAAACGgAAAh4AAAIiAAACJgAAAioAAAIuAAACMgAAAjYAAAI6AAACPgAAAkIAAAJGAAACSgAAAk4AAAJSAAACVgAAAloAAAJeAAACYgAAAmYAAAJqAAACbgAAAnIAAAJ2AAACegAAAn4AAAKCAAAChgAAAooAAAKOAAACkgAAApYAAAKaAAACngAAAqIAAAKmAAACqgAAAq4AAAKyAAACtgAAAroAAAK+AAACwgAAAsYAAALKAAACzgAAAtIAAALWAAAC2gAAAt4AAALiAAAC5gAAAuoAAALuAAAC8gAAAvYAAAL6AAAC/gAAAwIAAAMGAAADCgAAAw4AAAMSAAADFgAAAxoAAAMeAAADIgAAAyYAAAMqAAADLgAAAzIAAAM2AAADOgAAAz4AAANCAAADRgAAA0oAAANOAAADUgAAA1YAAANaAAADXgAAA2IAAANmAAADagAAA24AAANyAAADdgAAA3oAAAN+AAADggAAA4YAAAOKAAADjgAAA5IAAAOWAAADmgAAA54AAAOiAAADpgAAA6oAAAOuAAADsgAAA7YAAAO6AAADvgAAA8IAAAPGAAADygAAA84AAAPSAAAD1gAAA9oAAAPeAAAD4gAAA+YAAAPqAAAD7gAAA/IAAAP2AAAD+gAAA/4AAoAAAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgABAAsAAQANAAEADwABABEAAgATAAIAFwACABsAAgAfAAMAIwADACsAAwAzAAMAOwAEAEMABABTAAQAYwAEAHMABQCDAAUAowAFAMMABQDjAAAAAgEAAAIBAAACAW1dy9YsUOtjeEGmV3Ebi7nyfVy2Bv6hO/Xnf5Lkw1AabWVtb3J5IGFsbG9jYXRpb24gb2YgIGJ5dGVzIGZhaWxlZAAAMAsQABUAAABFCxAADQAAADcCEAAYAAAAZAEAAAkAAAAAAAAACAAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAwAAAAEAAAACgAAAAsAAAAMAAAAAAAAAAgAAAAEAAAADQAAAA4AAAAPAAAAEAAAABEAAAAQAAAABAAAABIAAAATAAAAFAAAAAgAAAC7ARAAUAAAACoCAAARAAAAAAAAAAgAAAAEAAAAFQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAAAwCEAAqAAAAsQQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAAAMAhAAKgAAALcEAAANAAAACQAAAAwAAAAEAAAAFgAAAGNhcGFjaXR5IG92ZXJmbG93AAAAkAwQABEAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQEAAAAAAAAAcmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIHwNEAASAAAAjg0QACIAAAByYW5nZSBlbmQgaW5kZXggwA0QABAAAACODRAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgAOANEAAWAAAA9g0QAA0AAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIAAAFA4QACAAAAA0DhAAEgAAAFJlZkNlbGwgYWxyZWFkeSBib3Jyb3dlZABB8JzAAAsEBAAAAAApBG5hbWUBIgFZH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIAPAlwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQIGd2FscnVzBjAuMjQuNAx3YXNtLWJpbmRnZW4HMC4yLjEwNg==";
1232
+ let l;
1233
+ function qg(g) {
1234
+ l = g;
1235
+ }
1236
+ function YI(g) {
1237
+ EA === H.length && H.push(H.length + 1);
1238
+ const I = EA;
1239
+ return EA = H[I], H[I] = g, I;
1240
+ }
1241
+ function SI(g) {
1242
+ g < 132 || (H[g] = EA, EA = g);
1243
+ }
1244
+ function Rg(g, I) {
1245
+ return g = g >>> 0, bI().subarray(g / 4, g / 4 + I);
1246
+ }
1247
+ function mA(g, I) {
1248
+ return g = g >>> 0, qA().subarray(g / 1, g / 1 + I);
1249
+ }
1250
+ let V = null;
1251
+ function M() {
1252
+ return (V === null || V.buffer.detached === !0 || V.buffer.detached === void 0 && V.buffer !== l.memory.buffer) && (V = new DataView(l.memory.buffer)), V;
1253
+ }
1254
+ function Xg(g, I) {
1255
+ return g = g >>> 0, MI(g, I);
1256
+ }
1257
+ let lA = null;
1258
+ function bI() {
1259
+ return (lA === null || lA.byteLength === 0) && (lA = new Uint32Array(l.memory.buffer)), lA;
1260
+ }
1261
+ let DA = null;
1262
+ function qA() {
1263
+ return (DA === null || DA.byteLength === 0) && (DA = new Uint8Array(l.memory.buffer)), DA;
1264
+ }
1265
+ function UI(g) {
1266
+ return H[g];
1267
+ }
1268
+ let H = new Array(128).fill(void 0);
1269
+ H.push(void 0, null, !0, !1);
1270
+ let EA = H.length;
1271
+ function XA(g, I) {
1272
+ const A = I(g.length * 1, 1) >>> 0;
1273
+ return qA().set(g, A / 1), uA = g.length, A;
1274
+ }
1275
+ function ZA(g) {
1276
+ const I = UI(g);
1277
+ return SI(g), I;
1278
+ }
1279
+ let dA = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 });
1280
+ dA.decode();
1281
+ const LI = 2146435072;
1282
+ let MA = 0;
1283
+ function MI(g, I) {
1284
+ return MA += I, MA >= LI && (dA = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }), dA.decode(), MA = I), dA.decode(qA().subarray(g, g + I));
1285
+ }
1286
+ let uA = 0;
1287
+ const Yg = typeof FinalizationRegistry > "u" ? { register: () => {
1288
+ }, unregister: () => {
1289
+ } } : new FinalizationRegistry((g) => l.__wbg_chunksliceresult_free(g >>> 0, 1)), Sg = typeof FinalizationRegistry > "u" ? { register: () => {
1290
+ }, unregister: () => {
1291
+ } } : new FinalizationRegistry((g) => l.__wbg_decompressresult_free(g >>> 0, 1));
1292
+ class AA {
1293
+ static __wrap(I) {
1294
+ I = I >>> 0;
1295
+ const A = Object.create(AA.prototype);
1296
+ return A.__wbg_ptr = I, Yg.register(A, A.__wbg_ptr, A), A;
1297
+ }
1298
+ __destroy_into_raw() {
1299
+ const I = this.__wbg_ptr;
1300
+ return this.__wbg_ptr = 0, Yg.unregister(this), I;
1301
+ }
1302
+ free() {
1303
+ const I = this.__destroy_into_raw();
1304
+ l.__wbg_chunksliceresult_free(I, 0);
1305
+ }
1306
+ /**
1307
+ * @returns {Uint32Array}
1308
+ */
1309
+ get cpositions() {
1310
+ try {
1311
+ const B = l.__wbindgen_add_to_stack_pointer(-16);
1312
+ l.chunksliceresult_cpositions(B, this.__wbg_ptr);
1313
+ var I = M().getInt32(B + 0, !0), A = M().getInt32(B + 4, !0), Q = Rg(I, A).slice();
1314
+ return l.__wbindgen_export(I, A * 4, 4), Q;
1315
+ } finally {
1316
+ l.__wbindgen_add_to_stack_pointer(16);
1317
+ }
1318
+ }
1319
+ /**
1320
+ * @returns {Uint32Array}
1321
+ */
1322
+ get dpositions() {
1323
+ try {
1324
+ const B = l.__wbindgen_add_to_stack_pointer(-16);
1325
+ l.chunksliceresult_dpositions(B, this.__wbg_ptr);
1326
+ var I = M().getInt32(B + 0, !0), A = M().getInt32(B + 4, !0), Q = Rg(I, A).slice();
1327
+ return l.__wbindgen_export(I, A * 4, 4), Q;
1328
+ } finally {
1329
+ l.__wbindgen_add_to_stack_pointer(16);
1330
+ }
1331
+ }
1332
+ /**
1333
+ * @returns {Uint8Array}
1334
+ */
1335
+ get buffer() {
1336
+ try {
1337
+ const B = l.__wbindgen_add_to_stack_pointer(-16);
1338
+ l.chunksliceresult_buffer(B, this.__wbg_ptr);
1339
+ var I = M().getInt32(B + 0, !0), A = M().getInt32(B + 4, !0), Q = mA(I, A).slice();
1340
+ return l.__wbindgen_export(I, A * 1, 1), Q;
1341
+ } finally {
1342
+ l.__wbindgen_add_to_stack_pointer(16);
1343
+ }
1344
+ }
1345
+ }
1346
+ Symbol.dispose && (AA.prototype[Symbol.dispose] = AA.prototype.free);
1347
+ class gA {
1348
+ static __wrap(I) {
1349
+ I = I >>> 0;
1350
+ const A = Object.create(gA.prototype);
1351
+ return A.__wbg_ptr = I, Sg.register(A, A.__wbg_ptr, A), A;
1352
+ }
1353
+ __destroy_into_raw() {
1354
+ const I = this.__wbg_ptr;
1355
+ return this.__wbg_ptr = 0, Sg.unregister(this), I;
1356
+ }
1357
+ free() {
1358
+ const I = this.__destroy_into_raw();
1359
+ l.__wbg_decompressresult_free(I, 0);
1360
+ }
1361
+ /**
1362
+ * @returns {number}
1363
+ */
1364
+ get bytes_read() {
1365
+ return l.decompressresult_bytes_read(this.__wbg_ptr) >>> 0;
1366
+ }
1367
+ /**
1368
+ * @returns {Uint8Array}
1369
+ */
1370
+ get data() {
1371
+ try {
1372
+ const B = l.__wbindgen_add_to_stack_pointer(-16);
1373
+ l.decompressresult_data(B, this.__wbg_ptr);
1374
+ var I = M().getInt32(B + 0, !0), A = M().getInt32(B + 4, !0), Q = mA(I, A).slice();
1375
+ return l.__wbindgen_export(I, A * 1, 1), Q;
1376
+ } finally {
1377
+ l.__wbindgen_add_to_stack_pointer(16);
1378
+ }
1379
+ }
1380
+ }
1381
+ Symbol.dispose && (gA.prototype[Symbol.dispose] = gA.prototype.free);
1382
+ function Zg(g) {
1383
+ try {
1384
+ const a = l.__wbindgen_add_to_stack_pointer(-16), e = XA(g, l.__wbindgen_export2), c = uA;
1385
+ l.decompress_all(a, e, c);
1386
+ var I = M().getInt32(a + 0, !0), A = M().getInt32(a + 4, !0), Q = M().getInt32(a + 8, !0), B = M().getInt32(a + 12, !0);
1387
+ if (B)
1388
+ throw ZA(Q);
1389
+ var C = mA(I, A).slice();
1390
+ return l.__wbindgen_export(I, A * 1, 1), C;
1391
+ } finally {
1392
+ l.__wbindgen_add_to_stack_pointer(16);
1393
+ }
1394
+ }
1395
+ function xI(g) {
1396
+ try {
1397
+ const B = l.__wbindgen_add_to_stack_pointer(-16), C = XA(g, l.__wbindgen_export2), a = uA;
1398
+ l.decompress_block(B, C, a);
1399
+ var I = M().getInt32(B + 0, !0), A = M().getInt32(B + 4, !0), Q = M().getInt32(B + 8, !0);
1400
+ if (Q)
1401
+ throw ZA(A);
1402
+ return gA.__wrap(I);
1403
+ } finally {
1404
+ l.__wbindgen_add_to_stack_pointer(16);
1405
+ }
1406
+ }
1407
+ function Tg(g, I, A, Q, B) {
1408
+ try {
1409
+ const c = l.__wbindgen_add_to_stack_pointer(-16), E = XA(g, l.__wbindgen_export2), i = uA;
1410
+ l.decompress_chunk_slice(c, E, i, I, A, Q, B);
1411
+ var C = M().getInt32(c + 0, !0), a = M().getInt32(c + 4, !0), e = M().getInt32(c + 8, !0);
1412
+ if (e)
1413
+ throw ZA(a);
1414
+ return AA.__wrap(C);
1415
+ } finally {
1416
+ l.__wbindgen_add_to_stack_pointer(16);
1417
+ }
1418
+ }
1419
+ function _I(g, I) {
1420
+ const A = Error(Xg(g, I));
1421
+ return YI(A);
1422
+ }
1423
+ function vI(g, I) {
1424
+ throw new Error(Xg(g, I));
1425
+ }
1426
+ let CA = null, xA = null;
1427
+ async function jg() {
1428
+ return CA || (xA || (xA = (async () => {
1429
+ const I = await (await fetch(RI)).arrayBuffer(), { instance: A } = await WebAssembly.instantiate(I, {
1430
+ "./bgzf_wasm_bg.js": HA
1431
+ });
1432
+ return CA = A.exports, qg(CA), CA;
1433
+ })()), xA);
1434
+ }
1435
+ async function KI(g) {
1436
+ return await jg(), Zg(g);
1437
+ }
1438
+ async function pI(g, I, A, Q, B) {
1439
+ await jg();
1440
+ const C = Tg(g, I, A, Q, B), a = C.buffer, e = [...C.cpositions], c = [...C.dpositions];
1441
+ return C.free(), { buffer: a, cpositions: e, dpositions: c };
1442
+ }
1443
+ function HI(g) {
1444
+ return g.length >= 2 && g[0] === 31 && g[1] === 139;
1445
+ }
1446
+ async function mI(g) {
1447
+ if (typeof DecompressionStream < "u") {
1448
+ const I = new DecompressionStream("gzip"), A = I.writable.getWriter(), Q = A.write(g).then(() => A.close()), B = [], C = I.readable.getReader();
1449
+ for (; ; ) {
1450
+ const { done: E, value: i } = await C.read();
1451
+ if (E)
1452
+ break;
1453
+ B.push(i);
1454
+ }
1455
+ await Q;
1456
+ const a = B.reduce((E, i) => E + i.length, 0), e = new Uint8Array(a);
1457
+ let c = 0;
1458
+ for (const E of B)
1459
+ e.set(E, c), c += E.length;
1460
+ return e;
1461
+ } else
1462
+ return JI(g, void 0);
1463
+ }
1464
+ async function XI(g) {
1465
+ try {
1466
+ return await KI(g);
1467
+ } catch (I) {
1468
+ if (/invalid bgzf header/.exec(`${I}`)) {
1469
+ if (HI(g))
1470
+ return mI(g);
1471
+ throw new Error("problem decompressing block: not a valid bgzf or gzip block");
1472
+ }
1473
+ throw /invalid gzip header/.exec(`${I}`) ? new Error("problem decompressing block: incorrect gzip header check") : I;
1474
+ }
1475
+ }
1476
+ async function ZI(g, I, A) {
1477
+ try {
1478
+ const { minv: Q, maxv: B } = I, C = await pI(g, Q.blockPosition, Q.dataPosition, B.blockPosition, B.dataPosition);
1479
+ return {
1480
+ buffer: C.buffer,
1481
+ cpositions: C.cpositions,
1482
+ dpositions: C.dpositions
1483
+ };
1484
+ } catch (Q) {
1485
+ throw /invalid gzip header/.exec(`${Q}`) ? new Error("problem decompressing block: incorrect gzip header check") : Q;
1486
+ }
1487
+ }
1488
+ export {
1489
+ qI as Q,
1490
+ ZI as a,
1491
+ XI as u
1492
+ };