vue-book-reader 1.2.5 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -35
- package/dist/index.css +3 -3
- package/dist/vue-book-reader.es.js +1397 -1305
- package/dist/vue-book-reader.umd.js +1358 -1265
- package/package.json +1 -4
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
})(this, (function(exports2, vue) {
|
|
4
4
|
"use strict";
|
|
5
5
|
var __vite_style__ = document.createElement("style");
|
|
6
|
-
__vite_style__.textContent = "\n.reader[data-v-
|
|
6
|
+
__vite_style__.textContent = "\n.reader[data-v-0c743b16] {\r\n position: absolute;\r\n inset: 50px 50px 20px;\n}\n.viewHolder[data-v-0c743b16] {\r\n height: 100%;\r\n width: 100%;\r\n position: relative;\n}\n#viewer[data-v-0c743b16] {\r\n height: 100%;\n}\r\n\r\n/* ↓ */\n.tocAreaButton .expansion[data-v-56e71b55]::before {\r\n transform: rotate(-45deg) translateX(2.5px);\n}\n.tocAreaButton .expansion[data-v-56e71b55]::after {\r\n transform: rotate(45deg) translateX(-2.5px);\n}\r\n\r\n/* ↑ */\n.tocAreaButton .open[data-v-56e71b55]::before {\r\n transform: rotate(45deg) translateX(2.5px);\n}\n.tocAreaButton .open[data-v-56e71b55]::after {\r\n transform: rotate(-45deg) translateX(-2.5px);\n}\n.tocAreaButton[data-v-56e71b55] {\r\n user-select: none;\r\n appearance: none;\r\n background: none;\r\n border: none;\r\n display: block;\r\n font-family: sans-serif;\r\n width: 100%;\r\n font-size: 0.9em;\r\n text-align: left;\r\n padding: 0.9em 1em;\r\n border-bottom: 1px solid #ddd;\r\n color: #aaa;\r\n box-sizing: border-box;\r\n outline: none;\r\n cursor: pointer;\r\n position: relative;\n}\n.tocAreaButton[data-v-56e71b55]:hover {\r\n background: rgba(0, 0, 0, 0.05);\n}\n.tocAreaButton[data-v-56e71b55]:active {\r\n background: rgba(0, 0, 0, 0.1);\n}\n.active[data-v-56e71b55] {\r\n color: #1565c0;\r\n border-bottom: 2px solid #1565c0;\n}\r\n\r\n/* 二级目录 */\n.tocAreaButton .expansion[data-v-56e71b55] {\r\n cursor: pointer;\r\n transform: translateY(-50%);\r\n top: 50%;\r\n right: 12px;\r\n position: absolute;\r\n width: 10px;\r\n background-color: #a2a5b4;\r\n transition:\r\n transform 0.3s ease-in-out,\r\n top 0.3s ease-in-out;\n}\n.tocAreaButton .expansion[data-v-56e71b55]::after,\r\n.tocAreaButton .expansion[data-v-56e71b55]::before {\r\n content: '';\r\n position: absolute;\r\n width: 6px;\r\n height: 2px;\r\n background-color: currentcolor;\r\n border-radius: 2px;\r\n transition:\r\n transform 0.3s ease-in-out,\r\n top 0.3s ease-in-out;\n}\r\n\r\n/* container */\n.container[data-v-ce33d15c] {\r\n overflow: hidden;\r\n position: relative;\r\n height: 100%;\n}\n.containerExpanded[data-v-ce33d15c] {\r\n transform: translateX(256px);\n}\n.readerArea[data-v-ce33d15c] {\r\n position: relative;\r\n z-index: 1;\r\n height: 100%;\r\n width: 100%;\r\n background-color: #fff;\r\n transition: all 0.3s ease;\n}\n.container .titleArea[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 20px;\r\n left: 50px;\r\n right: 50px;\r\n text-align: center;\r\n color: #999;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\r\n\r\n/* toc */\n.tocBackground[data-v-ce33d15c] {\r\n position: absolute;\r\n left: 256px;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n z-index: 1;\n}\n.tocArea[data-v-ce33d15c] {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n z-index: 0;\r\n width: 256px;\r\n overflow-y: auto;\r\n -webkit-overflow-scrolling: touch;\r\n background: #f2f2f2;\r\n padding: 10px 0;\n}\r\n\r\n/* 滚动条 */\n.tocArea[data-v-ce33d15c]::-webkit-scrollbar {\r\n width: 5px;\r\n height: 5px;\n}\n.tocArea[data-v-ce33d15c]::-webkit-scrollbar-thumb:vertical {\r\n height: 5px;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n border-radius: 0.5rem;\n}\r\n\r\n/* tocButton */\n.tocButton[data-v-ce33d15c] {\r\n background: none;\r\n border: none;\r\n width: 32px;\r\n height: 32px;\r\n position: absolute;\r\n top: 10px;\r\n left: 10px;\r\n border-radius: 2px;\r\n outline: none;\r\n cursor: pointer;\n}\n.tocButtonBar[data-v-ce33d15c] {\r\n position: absolute;\r\n width: 60%;\r\n background: #ccc;\r\n height: 2px;\r\n left: 50%;\r\n margin: -1px -30%;\r\n top: 50%;\r\n transition: all 0.5s ease;\n}\n.tocButtonExpanded[data-v-ce33d15c] {\r\n background: #f2f2f2;\n}\r\n\r\n/* 翻页 */\n.arrow[data-v-ce33d15c] {\r\n outline: none;\r\n border: none;\r\n background: none;\r\n position: absolute;\r\n top: 50%;\r\n margin-top: -32px;\r\n font-size: 64px;\r\n padding: 0 10px;\r\n color: #e2e2e2;\r\n font-family: arial, sans-serif;\r\n cursor: pointer;\r\n user-select: none;\r\n appearance: none;\r\n font-weight: normal;\n}\n.arrow[data-v-ce33d15c]:hover {\r\n color: #777;\n}\n.arrow[data-v-ce33d15c]:disabled {\r\n cursor: not-allowed;\r\n color: #e2e2e2;\n}\n.prev[data-v-ce33d15c] {\r\n left: 1px;\n}\n.next[data-v-ce33d15c] {\r\n right: 1px;\n}\r\n\r\n/* loading */\n.loadingView[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 50%;\r\n left: 10%;\r\n right: 10%;\r\n color: #ccc;\r\n text-align: center;\r\n margin-top: -0.5em;\n}\r\n\r\n/* errorView */\n.errorView[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 50%;\r\n left: 10%;\r\n right: 10%;\r\n color: #c00;\r\n text-align: center;\r\n margin-top: -0.5em;\n}\r\n/*$vite$:1*/";
|
|
7
7
|
document.head.appendChild(__vite_style__);
|
|
8
|
+
var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
|
|
8
9
|
function keyListener(el, fn) {
|
|
9
10
|
el.addEventListener(
|
|
10
11
|
"keyup",
|
|
@@ -1619,6 +1620,9 @@
|
|
|
1619
1620
|
location: {
|
|
1620
1621
|
type: [String, Number]
|
|
1621
1622
|
},
|
|
1623
|
+
initOption: {
|
|
1624
|
+
type: Object
|
|
1625
|
+
},
|
|
1622
1626
|
tocChanged: Function,
|
|
1623
1627
|
getRendition: Function
|
|
1624
1628
|
},
|
|
@@ -1636,8 +1640,8 @@
|
|
|
1636
1640
|
};
|
|
1637
1641
|
}
|
|
1638
1642
|
const props = __props;
|
|
1639
|
-
const { tocChanged, getRendition } = props;
|
|
1640
|
-
const { url, location } = vue.toRefs(props);
|
|
1643
|
+
const { tocChanged, getRendition, initOption } = props;
|
|
1644
|
+
const { url, location: location2 } = vue.toRefs(props);
|
|
1641
1645
|
const emit = __emit;
|
|
1642
1646
|
let view$1 = null;
|
|
1643
1647
|
const viewer = vue.ref(null);
|
|
@@ -1654,20 +1658,20 @@
|
|
|
1654
1658
|
}
|
|
1655
1659
|
await view$1.open(url.value);
|
|
1656
1660
|
getRendition && getRendition(view$1);
|
|
1657
|
-
initReader();
|
|
1661
|
+
await initReader();
|
|
1658
1662
|
}
|
|
1659
1663
|
} catch (error) {
|
|
1660
1664
|
console.error("Error opening book:", error);
|
|
1661
1665
|
isError.value = true;
|
|
1662
1666
|
}
|
|
1663
1667
|
};
|
|
1664
|
-
const initReader = () => {
|
|
1668
|
+
const initReader = async () => {
|
|
1665
1669
|
isLoaded.value = true;
|
|
1666
1670
|
const { book } = view$1;
|
|
1667
1671
|
registerEvents();
|
|
1668
1672
|
tocChanged && tocChanged(book.toc);
|
|
1669
|
-
if (
|
|
1670
|
-
|
|
1673
|
+
if (initOption) {
|
|
1674
|
+
await view$1.init(initOption);
|
|
1671
1675
|
} else {
|
|
1672
1676
|
view$1.renderer.next();
|
|
1673
1677
|
}
|
|
@@ -1734,7 +1738,7 @@
|
|
|
1734
1738
|
}
|
|
1735
1739
|
return target;
|
|
1736
1740
|
};
|
|
1737
|
-
const BookView = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
1741
|
+
const BookView = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-0c743b16"]]);
|
|
1738
1742
|
const _hoisted_1$1 = ["onClick"];
|
|
1739
1743
|
const _hoisted_2$1 = { key: 0 };
|
|
1740
1744
|
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -2127,7 +2131,9 @@
|
|
|
2127
2131
|
}
|
|
2128
2132
|
};
|
|
2129
2133
|
const nodeToParts = (node, offset, filter2) => {
|
|
2130
|
-
|
|
2134
|
+
let { id, parentNode } = node;
|
|
2135
|
+
while (filter2)
|
|
2136
|
+
parentNode = parentNode.parentNode;
|
|
2131
2137
|
const indexed = indexChildNodes(parentNode, filter2);
|
|
2132
2138
|
const index = indexed.findIndex((x2) => Array.isArray(x2) ? x2.some((x3) => x3 === node) : x2 === node);
|
|
2133
2139
|
const chunk = indexed[index];
|
|
@@ -2496,7 +2502,7 @@
|
|
|
2496
2502
|
const walker = document.createTreeWalker(root, filter$1, { acceptNode: filterFunc || acceptNode });
|
|
2497
2503
|
const walk = x2.commonAncestorContainer ? walkRange : walkDocument;
|
|
2498
2504
|
const nodes = walk(x2, walker);
|
|
2499
|
-
const strs = nodes.map((node) => node.nodeValue);
|
|
2505
|
+
const strs = nodes.map((node) => node.nodeValue ?? "");
|
|
2500
2506
|
const makeRange2 = (startIndex, startOffset, endIndex, endOffset) => {
|
|
2501
2507
|
const range = document.createRange();
|
|
2502
2508
|
range.setStart(nodes[startIndex], startOffset);
|
|
@@ -2703,6 +2709,8 @@
|
|
|
2703
2709
|
#tocProgress;
|
|
2704
2710
|
#pageProgress;
|
|
2705
2711
|
#searchResults = /* @__PURE__ */ new Map();
|
|
2712
|
+
#searchDraw;
|
|
2713
|
+
#searchDrawOptions;
|
|
2706
2714
|
#cursorAutohider = new CursorAutohider(this, () => this.hasAttribute("autohide-cursor"));
|
|
2707
2715
|
isFixedLayout = false;
|
|
2708
2716
|
lastLocation;
|
|
@@ -2805,6 +2813,17 @@
|
|
|
2805
2813
|
await this.next();
|
|
2806
2814
|
}
|
|
2807
2815
|
}
|
|
2816
|
+
getLabelByFraction(fraction) {
|
|
2817
|
+
if (!this.#sectionProgress || !this.#tocProgress) return null;
|
|
2818
|
+
try {
|
|
2819
|
+
const [index] = this.#sectionProgress.getSection(fraction);
|
|
2820
|
+
if (index == null) return null;
|
|
2821
|
+
const tocItem = this.#tocProgress.getProgress(index, null);
|
|
2822
|
+
return (tocItem == null ? void 0 : tocItem.label) || null;
|
|
2823
|
+
} catch (e2) {
|
|
2824
|
+
return null;
|
|
2825
|
+
}
|
|
2826
|
+
}
|
|
2808
2827
|
#emit(name, detail, cancelable) {
|
|
2809
2828
|
return this.dispatchEvent(new CustomEvent(name, { detail, cancelable }));
|
|
2810
2829
|
}
|
|
@@ -2856,7 +2875,7 @@
|
|
|
2856
2875
|
return;
|
|
2857
2876
|
}
|
|
2858
2877
|
const range = doc ? anchor2(doc) : anchor2;
|
|
2859
|
-
overlayer.add(value, range,
|
|
2878
|
+
overlayer.add(value, range, this.#searchDraw, this.#searchDrawOptions);
|
|
2860
2879
|
}
|
|
2861
2880
|
return;
|
|
2862
2881
|
}
|
|
@@ -3017,6 +3036,8 @@
|
|
|
3017
3036
|
async *search(opts) {
|
|
3018
3037
|
var _a;
|
|
3019
3038
|
this.clearSearch();
|
|
3039
|
+
this.#searchDraw = opts.draw ?? Overlayer.outline;
|
|
3040
|
+
this.#searchDrawOptions = opts.drawOptions;
|
|
3020
3041
|
const { searchMatcher: searchMatcher2 } = await Promise.resolve().then(() => search$1);
|
|
3021
3042
|
const { query, index } = opts;
|
|
3022
3043
|
const matcher = searchMatcher2(
|
|
@@ -3071,511 +3092,81 @@
|
|
|
3071
3092
|
View: View$1,
|
|
3072
3093
|
makeBook
|
|
3073
3094
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3074
|
-
const e$1 =
|
|
3075
|
-
|
|
3076
|
-
let e2, i2, r2, a2, d2, f2;
|
|
3077
|
-
function h2(e3, i3, s2, o2, l2, c2, h3, w3, _2, b2, p2) {
|
|
3078
|
-
let m2, g2, y2, x2, k2, v2, S2, z2, A2, U2, D2, E2, T2, F2, O2;
|
|
3079
|
-
U2 = 0, k2 = s2;
|
|
3080
|
-
do {
|
|
3081
|
-
r2[e3[i3 + U2]]++, U2++, k2--;
|
|
3082
|
-
} while (0 !== k2);
|
|
3083
|
-
if (r2[0] == s2) return h3[0] = -1, w3[0] = 0, 0;
|
|
3084
|
-
for (z2 = w3[0], v2 = 1; v2 <= u$1 && 0 === r2[v2]; v2++) ;
|
|
3085
|
-
for (S2 = v2, z2 < v2 && (z2 = v2), k2 = u$1; 0 !== k2 && 0 === r2[k2]; k2--) ;
|
|
3086
|
-
for (y2 = k2, z2 > k2 && (z2 = k2), w3[0] = z2, F2 = 1 << v2; v2 < k2; v2++, F2 <<= 1) if ((F2 -= r2[v2]) < 0) return t$1;
|
|
3087
|
-
if ((F2 -= r2[k2]) < 0) return t$1;
|
|
3088
|
-
for (r2[k2] += F2, f2[1] = v2 = 0, U2 = 1, T2 = 2; 0 != --k2; ) f2[T2] = v2 += r2[U2], T2++, U2++;
|
|
3089
|
-
k2 = 0, U2 = 0;
|
|
3090
|
-
do {
|
|
3091
|
-
0 !== (v2 = e3[i3 + U2]) && (p2[f2[v2]++] = k2), U2++;
|
|
3092
|
-
} while (++k2 < s2);
|
|
3093
|
-
for (s2 = f2[y2], f2[0] = k2 = 0, U2 = 0, x2 = -1, E2 = -z2, d2[0] = 0, D2 = 0, O2 = 0; S2 <= y2; S2++) for (m2 = r2[S2]; 0 != m2--; ) {
|
|
3094
|
-
for (; S2 > E2 + z2; ) {
|
|
3095
|
-
if (x2++, E2 += z2, O2 = y2 - E2, O2 = O2 > z2 ? z2 : O2, (g2 = 1 << (v2 = S2 - E2)) > m2 + 1 && (g2 -= m2 + 1, T2 = S2, v2 < O2)) for (; ++v2 < O2 && !((g2 <<= 1) <= r2[++T2]); ) g2 -= r2[T2];
|
|
3096
|
-
if (O2 = 1 << v2, b2[0] + O2 > 1440) return t$1;
|
|
3097
|
-
d2[x2] = D2 = b2[0], b2[0] += O2, 0 !== x2 ? (f2[x2] = k2, a2[0] = v2, a2[1] = z2, v2 = k2 >>> E2 - z2, a2[2] = D2 - d2[x2 - 1] - v2, _2.set(a2, 3 * (d2[x2 - 1] + v2))) : h3[0] = D2;
|
|
3098
|
-
}
|
|
3099
|
-
for (a2[1] = S2 - E2, U2 >= s2 ? a2[0] = 192 : p2[U2] < o2 ? (a2[0] = p2[U2] < 256 ? 0 : 96, a2[2] = p2[U2++]) : (a2[0] = c2[p2[U2] - o2] + 16 + 64, a2[2] = l2[p2[U2++] - o2]), g2 = 1 << S2 - E2, v2 = k2 >>> E2; v2 < O2; v2 += g2) _2.set(a2, 3 * (D2 + v2));
|
|
3100
|
-
for (v2 = 1 << S2 - 1; k2 & v2; v2 >>>= 1) k2 ^= v2;
|
|
3101
|
-
for (k2 ^= v2, A2 = (1 << E2) - 1; (k2 & A2) != f2[x2]; ) x2--, E2 -= z2, A2 = (1 << E2) - 1;
|
|
3102
|
-
}
|
|
3103
|
-
return 0 !== F2 && 1 != y2 ? n$1 : 0;
|
|
3104
|
-
}
|
|
3105
|
-
function w2(t2) {
|
|
3106
|
-
let n2;
|
|
3107
|
-
for (e2 || (e2 = [], i2 = [], r2 = new Int32Array(16), a2 = [], d2 = new Int32Array(u$1), f2 = new Int32Array(16)), i2.length < t2 && (i2 = []), n2 = 0; n2 < t2; n2++) i2[n2] = 0;
|
|
3108
|
-
for (n2 = 0; n2 < 16; n2++) r2[n2] = 0;
|
|
3109
|
-
for (n2 = 0; n2 < 3; n2++) a2[n2] = 0;
|
|
3110
|
-
d2.set(r2.subarray(0, u$1), 0), f2.set(r2.subarray(0, 16), 0);
|
|
3111
|
-
}
|
|
3112
|
-
this.inflate_trees_bits = function(r3, a3, s2, o2, l2) {
|
|
3113
|
-
let c2;
|
|
3114
|
-
return w2(19), e2[0] = 0, c2 = h2(r3, 0, 19, 19, null, null, s2, a3, o2, e2, i2), c2 == t$1 ? l2.msg = "oversubscribed dynamic bit lengths tree" : c2 != n$1 && 0 !== a3[0] || (l2.msg = "incomplete dynamic bit lengths tree", c2 = t$1), c2;
|
|
3115
|
-
}, this.inflate_trees_dynamic = function(r3, a3, u2, d3, f3, _2, b2, p2, m2) {
|
|
3116
|
-
let g2;
|
|
3117
|
-
return w2(288), e2[0] = 0, g2 = h2(u2, 0, r3, 257, s$1, o$1, _2, d3, p2, e2, i2), 0 != g2 || 0 === d3[0] ? (g2 == t$1 ? m2.msg = "oversubscribed literal/length tree" : -4 != g2 && (m2.msg = "incomplete literal/length tree", g2 = t$1), g2) : (w2(288), g2 = h2(u2, r3, a3, 0, l$1, c$1, b2, f3, p2, e2, i2), 0 != g2 || 0 === f3[0] && r3 > 257 ? (g2 == t$1 ? m2.msg = "oversubscribed distance tree" : g2 == n$1 ? (m2.msg = "incomplete distance tree", g2 = t$1) : -4 != g2 && (m2.msg = "empty distance tree with lengths", g2 = t$1), g2) : 0);
|
|
3118
|
-
};
|
|
3119
|
-
}
|
|
3120
|
-
d$1.inflate_trees_fixed = function(e2, t2, n2, i2) {
|
|
3121
|
-
return e2[0] = 9, t2[0] = 5, n2[0] = r$1, i2[0] = a$1, 0;
|
|
3122
|
-
};
|
|
3123
|
-
function f$1() {
|
|
3124
|
-
const n2 = this;
|
|
3125
|
-
let r2, a2, s2, o2, l2 = 0, c2 = 0, u2 = 0, d2 = 0, f2 = 0, h2 = 0, w2 = 0, _2 = 0, b2 = 0, p2 = 0;
|
|
3126
|
-
function m2(e2, n3, r3, a3, s3, o3, l3, c3) {
|
|
3127
|
-
let u3, d3, f3, h3, w3, _3, b3, p3, m3, g2, y2, x2, k2, v2, S2, z2;
|
|
3128
|
-
b3 = c3.next_in_index, p3 = c3.avail_in, w3 = l3.bitb, _3 = l3.bitk, m3 = l3.write, g2 = m3 < l3.read ? l3.read - m3 - 1 : l3.end - m3, y2 = i$1[e2], x2 = i$1[n3];
|
|
3129
|
-
do {
|
|
3130
|
-
for (; _3 < 20; ) p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
|
|
3131
|
-
if (u3 = w3 & y2, d3 = r3, f3 = a3, z2 = 3 * (f3 + u3), 0 !== (h3 = d3[z2])) for (; ; ) {
|
|
3132
|
-
if (w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], 16 & h3) {
|
|
3133
|
-
for (h3 &= 15, k2 = d3[z2 + 2] + (w3 & i$1[h3]), w3 >>= h3, _3 -= h3; _3 < 15; ) p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
|
|
3134
|
-
for (u3 = w3 & x2, d3 = s3, f3 = o3, z2 = 3 * (f3 + u3), h3 = d3[z2]; ; ) {
|
|
3135
|
-
if (w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], 16 & h3) {
|
|
3136
|
-
for (h3 &= 15; _3 < h3; ) p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
|
|
3137
|
-
if (v2 = d3[z2 + 2] + (w3 & i$1[h3]), w3 >>= h3, _3 -= h3, g2 -= k2, m3 >= v2) S2 = m3 - v2, m3 - S2 > 0 && 2 > m3 - S2 ? (l3.win[m3++] = l3.win[S2++], l3.win[m3++] = l3.win[S2++], k2 -= 2) : (l3.win.set(l3.win.subarray(S2, S2 + 2), m3), m3 += 2, S2 += 2, k2 -= 2);
|
|
3138
|
-
else {
|
|
3139
|
-
S2 = m3 - v2;
|
|
3140
|
-
do {
|
|
3141
|
-
S2 += l3.end;
|
|
3142
|
-
} while (S2 < 0);
|
|
3143
|
-
if (h3 = l3.end - S2, k2 > h3) {
|
|
3144
|
-
if (k2 -= h3, m3 - S2 > 0 && h3 > m3 - S2) do {
|
|
3145
|
-
l3.win[m3++] = l3.win[S2++];
|
|
3146
|
-
} while (0 != --h3);
|
|
3147
|
-
else l3.win.set(l3.win.subarray(S2, S2 + h3), m3), m3 += h3, S2 += h3, h3 = 0;
|
|
3148
|
-
S2 = 0;
|
|
3149
|
-
}
|
|
3150
|
-
}
|
|
3151
|
-
if (m3 - S2 > 0 && k2 > m3 - S2) do {
|
|
3152
|
-
l3.win[m3++] = l3.win[S2++];
|
|
3153
|
-
} while (0 != --k2);
|
|
3154
|
-
else l3.win.set(l3.win.subarray(S2, S2 + k2), m3), m3 += k2, S2 += k2, k2 = 0;
|
|
3155
|
-
break;
|
|
3156
|
-
}
|
|
3157
|
-
if (64 & h3) return c3.msg = "invalid distance code", k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, t$1;
|
|
3158
|
-
u3 += d3[z2 + 2], u3 += w3 & i$1[h3], z2 = 3 * (f3 + u3), h3 = d3[z2];
|
|
3159
|
-
}
|
|
3160
|
-
break;
|
|
3161
|
-
}
|
|
3162
|
-
if (64 & h3) return 32 & h3 ? (k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, 1) : (c3.msg = "invalid literal/length code", k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, t$1);
|
|
3163
|
-
if (u3 += d3[z2 + 2], u3 += w3 & i$1[h3], z2 = 3 * (f3 + u3), 0 === (h3 = d3[z2])) {
|
|
3164
|
-
w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], l3.win[m3++] = d3[z2 + 2], g2--;
|
|
3165
|
-
break;
|
|
3166
|
-
}
|
|
3167
|
-
}
|
|
3168
|
-
else w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], l3.win[m3++] = d3[z2 + 2], g2--;
|
|
3169
|
-
} while (g2 >= 258 && p3 >= 10);
|
|
3170
|
-
return k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, 0;
|
|
3171
|
-
}
|
|
3172
|
-
n2.init = function(e2, t2, n3, i2, l3, c3) {
|
|
3173
|
-
r2 = 0, w2 = e2, _2 = t2, s2 = n3, b2 = i2, o2 = l3, p2 = c3, a2 = null;
|
|
3174
|
-
}, n2.proc = function(n3, g2, y2) {
|
|
3175
|
-
let x2, k2, v2, S2, z2, A2, U2, D2 = 0, E2 = 0, T2 = 0;
|
|
3176
|
-
for (T2 = g2.next_in_index, S2 = g2.avail_in, D2 = n3.bitb, E2 = n3.bitk, z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2; ; ) switch (r2) {
|
|
3177
|
-
case 0:
|
|
3178
|
-
if (A2 >= 258 && S2 >= 10 && (n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, y2 = m2(w2, _2, s2, b2, o2, p2, n3, g2), T2 = g2.next_in_index, S2 = g2.avail_in, D2 = n3.bitb, E2 = n3.bitk, z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, 0 != y2)) {
|
|
3179
|
-
r2 = 1 == y2 ? 7 : 9;
|
|
3180
|
-
break;
|
|
3181
|
-
}
|
|
3182
|
-
u2 = w2, a2 = s2, c2 = b2, r2 = 1;
|
|
3183
|
-
case 1:
|
|
3184
|
-
for (x2 = u2; E2 < x2; ) {
|
|
3185
|
-
if (0 === S2) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3186
|
-
y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
|
|
3187
|
-
}
|
|
3188
|
-
if (k2 = 3 * (c2 + (D2 & i$1[x2])), D2 >>>= a2[k2 + 1], E2 -= a2[k2 + 1], v2 = a2[k2], 0 === v2) {
|
|
3189
|
-
d2 = a2[k2 + 2], r2 = 6;
|
|
3190
|
-
break;
|
|
3191
|
-
}
|
|
3192
|
-
if (16 & v2) {
|
|
3193
|
-
f2 = 15 & v2, l2 = a2[k2 + 2], r2 = 2;
|
|
3194
|
-
break;
|
|
3195
|
-
}
|
|
3196
|
-
if (!(64 & v2)) {
|
|
3197
|
-
u2 = v2, c2 = k2 / 3 + a2[k2 + 2];
|
|
3198
|
-
break;
|
|
3199
|
-
}
|
|
3200
|
-
if (32 & v2) {
|
|
3201
|
-
r2 = 7;
|
|
3202
|
-
break;
|
|
3203
|
-
}
|
|
3204
|
-
return r2 = 9, g2.msg = "invalid literal/length code", y2 = t$1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3205
|
-
case 2:
|
|
3206
|
-
for (x2 = f2; E2 < x2; ) {
|
|
3207
|
-
if (0 === S2) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3208
|
-
y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
|
|
3209
|
-
}
|
|
3210
|
-
l2 += D2 & i$1[x2], D2 >>= x2, E2 -= x2, u2 = _2, a2 = o2, c2 = p2, r2 = 3;
|
|
3211
|
-
case 3:
|
|
3212
|
-
for (x2 = u2; E2 < x2; ) {
|
|
3213
|
-
if (0 === S2) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3214
|
-
y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
|
|
3215
|
-
}
|
|
3216
|
-
if (k2 = 3 * (c2 + (D2 & i$1[x2])), D2 >>= a2[k2 + 1], E2 -= a2[k2 + 1], v2 = a2[k2], 16 & v2) {
|
|
3217
|
-
f2 = 15 & v2, h2 = a2[k2 + 2], r2 = 4;
|
|
3218
|
-
break;
|
|
3219
|
-
}
|
|
3220
|
-
if (!(64 & v2)) {
|
|
3221
|
-
u2 = v2, c2 = k2 / 3 + a2[k2 + 2];
|
|
3222
|
-
break;
|
|
3223
|
-
}
|
|
3224
|
-
return r2 = 9, g2.msg = "invalid distance code", y2 = t$1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3225
|
-
case 4:
|
|
3226
|
-
for (x2 = f2; E2 < x2; ) {
|
|
3227
|
-
if (0 === S2) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3228
|
-
y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
|
|
3229
|
-
}
|
|
3230
|
-
h2 += D2 & i$1[x2], D2 >>= x2, E2 -= x2, r2 = 5;
|
|
3231
|
-
case 5:
|
|
3232
|
-
for (U2 = z2 - h2; U2 < 0; ) U2 += n3.end;
|
|
3233
|
-
for (; 0 !== l2; ) {
|
|
3234
|
-
if (0 === A2 && (z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2 && (n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2))) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3235
|
-
n3.win[z2++] = n3.win[U2++], A2--, U2 == n3.end && (U2 = 0), l2--;
|
|
3236
|
-
}
|
|
3237
|
-
r2 = 0;
|
|
3238
|
-
break;
|
|
3239
|
-
case 6:
|
|
3240
|
-
if (0 === A2 && (z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2 && (n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2))) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3241
|
-
y2 = 0, n3.win[z2++] = d2, A2--, r2 = 0;
|
|
3242
|
-
break;
|
|
3243
|
-
case 7:
|
|
3244
|
-
if (E2 > 7 && (E2 -= 8, S2++, T2--), n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, n3.read != n3.write) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3245
|
-
r2 = 8;
|
|
3246
|
-
case 8:
|
|
3247
|
-
return y2 = 1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3248
|
-
case 9:
|
|
3249
|
-
return y2 = t$1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3250
|
-
default:
|
|
3251
|
-
return y2 = e$1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
|
|
3252
|
-
}
|
|
3253
|
-
}, n2.free = function() {
|
|
3254
|
-
};
|
|
3255
|
-
}
|
|
3256
|
-
const h$1 = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
|
|
3257
|
-
function w$1(r2, a2) {
|
|
3258
|
-
const s2 = this;
|
|
3259
|
-
let o2, l2 = 0, c2 = 0, u2 = 0, w2 = 0;
|
|
3260
|
-
const _2 = [0], b2 = [0], p2 = new f$1();
|
|
3261
|
-
let m2 = 0, g2 = new Int32Array(4320);
|
|
3262
|
-
const y2 = new d$1();
|
|
3263
|
-
s2.bitk = 0, s2.bitb = 0, s2.win = new Uint8Array(a2), s2.end = a2, s2.read = 0, s2.write = 0, s2.reset = function(e2, t2) {
|
|
3264
|
-
t2 && (t2[0] = 0), 6 == l2 && p2.free(e2), l2 = 0, s2.bitk = 0, s2.bitb = 0, s2.read = s2.write = 0;
|
|
3265
|
-
}, s2.reset(r2, null), s2.inflate_flush = function(e2, t2) {
|
|
3266
|
-
let i2, r3, a3;
|
|
3267
|
-
return r3 = e2.next_out_index, a3 = s2.read, i2 = (a3 <= s2.write ? s2.write : s2.end) - a3, i2 > e2.avail_out && (i2 = e2.avail_out), 0 !== i2 && t2 == n$1 && (t2 = 0), e2.avail_out -= i2, e2.total_out += i2, e2.next_out.set(s2.win.subarray(a3, a3 + i2), r3), r3 += i2, a3 += i2, a3 == s2.end && (a3 = 0, s2.write == s2.end && (s2.write = 0), i2 = s2.write - a3, i2 > e2.avail_out && (i2 = e2.avail_out), 0 !== i2 && t2 == n$1 && (t2 = 0), e2.avail_out -= i2, e2.total_out += i2, e2.next_out.set(s2.win.subarray(a3, a3 + i2), r3), r3 += i2, a3 += i2), e2.next_out_index = r3, s2.read = a3, t2;
|
|
3268
|
-
}, s2.proc = function(n2, r3) {
|
|
3269
|
-
let a3, f2, x2, k2, v2, S2, z2, A2;
|
|
3270
|
-
for (k2 = n2.next_in_index, v2 = n2.avail_in, f2 = s2.bitb, x2 = s2.bitk, S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2; ; ) {
|
|
3271
|
-
let U2, D2, E2, T2, F2, O2, C2, W2;
|
|
3272
|
-
switch (l2) {
|
|
3273
|
-
case 0:
|
|
3274
|
-
for (; x2 < 3; ) {
|
|
3275
|
-
if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3276
|
-
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
|
|
3277
|
-
}
|
|
3278
|
-
switch (a3 = 7 & f2, m2 = 1 & a3, a3 >>> 1) {
|
|
3279
|
-
case 0:
|
|
3280
|
-
f2 >>>= 3, x2 -= 3, a3 = 7 & x2, f2 >>>= a3, x2 -= a3, l2 = 1;
|
|
3281
|
-
break;
|
|
3282
|
-
case 1:
|
|
3283
|
-
U2 = [], D2 = [], E2 = [[]], T2 = [[]], d$1.inflate_trees_fixed(U2, D2, E2, T2), p2.init(U2[0], D2[0], E2[0], 0, T2[0], 0), f2 >>>= 3, x2 -= 3, l2 = 6;
|
|
3284
|
-
break;
|
|
3285
|
-
case 2:
|
|
3286
|
-
f2 >>>= 3, x2 -= 3, l2 = 3;
|
|
3287
|
-
break;
|
|
3288
|
-
case 3:
|
|
3289
|
-
return f2 >>>= 3, x2 -= 3, l2 = 9, n2.msg = "invalid block type", r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3290
|
-
}
|
|
3291
|
-
break;
|
|
3292
|
-
case 1:
|
|
3293
|
-
for (; x2 < 32; ) {
|
|
3294
|
-
if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3295
|
-
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
|
|
3296
|
-
}
|
|
3297
|
-
if ((~f2 >>> 16 & 65535) != (65535 & f2)) return l2 = 9, n2.msg = "invalid stored block lengths", r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3298
|
-
c2 = 65535 & f2, f2 = x2 = 0, l2 = 0 !== c2 ? 2 : 0 !== m2 ? 7 : 0;
|
|
3299
|
-
break;
|
|
3300
|
-
case 2:
|
|
3301
|
-
if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3302
|
-
if (0 === z2 && (S2 == s2.end && 0 !== s2.read && (S2 = 0, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2), 0 === z2 && (s2.write = S2, r3 = s2.inflate_flush(n2, r3), S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, S2 == s2.end && 0 !== s2.read && (S2 = 0, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2), 0 === z2))) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3303
|
-
if (r3 = 0, a3 = c2, a3 > v2 && (a3 = v2), a3 > z2 && (a3 = z2), s2.win.set(n2.read_buf(k2, a3), S2), k2 += a3, v2 -= a3, S2 += a3, z2 -= a3, 0 != (c2 -= a3)) break;
|
|
3304
|
-
l2 = 0 !== m2 ? 7 : 0;
|
|
3305
|
-
break;
|
|
3306
|
-
case 3:
|
|
3307
|
-
for (; x2 < 14; ) {
|
|
3308
|
-
if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3309
|
-
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
|
|
3310
|
-
}
|
|
3311
|
-
if (u2 = a3 = 16383 & f2, (31 & a3) > 29 || (a3 >> 5 & 31) > 29) return l2 = 9, n2.msg = "too many length or distance symbols", r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3312
|
-
if (a3 = 258 + (31 & a3) + (a3 >> 5 & 31), !o2 || o2.length < a3) o2 = [];
|
|
3313
|
-
else for (A2 = 0; A2 < a3; A2++) o2[A2] = 0;
|
|
3314
|
-
f2 >>>= 14, x2 -= 14, w2 = 0, l2 = 4;
|
|
3315
|
-
case 4:
|
|
3316
|
-
for (; w2 < 4 + (u2 >>> 10); ) {
|
|
3317
|
-
for (; x2 < 3; ) {
|
|
3318
|
-
if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3319
|
-
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
|
|
3320
|
-
}
|
|
3321
|
-
o2[h$1[w2++]] = 7 & f2, f2 >>>= 3, x2 -= 3;
|
|
3322
|
-
}
|
|
3323
|
-
for (; w2 < 19; ) o2[h$1[w2++]] = 0;
|
|
3324
|
-
if (_2[0] = 7, a3 = y2.inflate_trees_bits(o2, _2, b2, g2, n2), 0 != a3) return (r3 = a3) == t$1 && (o2 = null, l2 = 9), s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3325
|
-
w2 = 0, l2 = 5;
|
|
3326
|
-
case 5:
|
|
3327
|
-
for (; a3 = u2, !(w2 >= 258 + (31 & a3) + (a3 >> 5 & 31)); ) {
|
|
3328
|
-
let e2, c3;
|
|
3329
|
-
for (a3 = _2[0]; x2 < a3; ) {
|
|
3330
|
-
if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3331
|
-
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
|
|
3332
|
-
}
|
|
3333
|
-
if (a3 = g2[3 * (b2[0] + (f2 & i$1[a3])) + 1], c3 = g2[3 * (b2[0] + (f2 & i$1[a3])) + 2], c3 < 16) f2 >>>= a3, x2 -= a3, o2[w2++] = c3;
|
|
3334
|
-
else {
|
|
3335
|
-
for (A2 = 18 == c3 ? 7 : c3 - 14, e2 = 18 == c3 ? 11 : 3; x2 < a3 + A2; ) {
|
|
3336
|
-
if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3337
|
-
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
|
|
3338
|
-
}
|
|
3339
|
-
if (f2 >>>= a3, x2 -= a3, e2 += f2 & i$1[A2], f2 >>>= A2, x2 -= A2, A2 = w2, a3 = u2, A2 + e2 > 258 + (31 & a3) + (a3 >> 5 & 31) || 16 == c3 && A2 < 1) return o2 = null, l2 = 9, n2.msg = "invalid bit length repeat", r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3340
|
-
c3 = 16 == c3 ? o2[A2 - 1] : 0;
|
|
3341
|
-
do {
|
|
3342
|
-
o2[A2++] = c3;
|
|
3343
|
-
} while (0 != --e2);
|
|
3344
|
-
w2 = A2;
|
|
3345
|
-
}
|
|
3346
|
-
}
|
|
3347
|
-
if (b2[0] = -1, F2 = [], O2 = [], C2 = [], W2 = [], F2[0] = 9, O2[0] = 6, a3 = u2, a3 = y2.inflate_trees_dynamic(257 + (31 & a3), 1 + (a3 >> 5 & 31), o2, F2, O2, C2, W2, g2, n2), 0 != a3) return a3 == t$1 && (o2 = null, l2 = 9), r3 = a3, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3348
|
-
p2.init(F2[0], O2[0], g2, C2[0], g2, W2[0]), l2 = 6;
|
|
3349
|
-
case 6:
|
|
3350
|
-
if (s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, 1 != (r3 = p2.proc(s2, n2, r3))) return s2.inflate_flush(n2, r3);
|
|
3351
|
-
if (r3 = 0, p2.free(n2), k2 = n2.next_in_index, v2 = n2.avail_in, f2 = s2.bitb, x2 = s2.bitk, S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, 0 === m2) {
|
|
3352
|
-
l2 = 0;
|
|
3353
|
-
break;
|
|
3354
|
-
}
|
|
3355
|
-
l2 = 7;
|
|
3356
|
-
case 7:
|
|
3357
|
-
if (s2.write = S2, r3 = s2.inflate_flush(n2, r3), S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, s2.read != s2.write) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3358
|
-
l2 = 8;
|
|
3359
|
-
case 8:
|
|
3360
|
-
return r3 = 1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3361
|
-
case 9:
|
|
3362
|
-
return r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3363
|
-
default:
|
|
3364
|
-
return r3 = e$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
|
|
3365
|
-
}
|
|
3366
|
-
}
|
|
3367
|
-
}, s2.free = function(e2) {
|
|
3368
|
-
s2.reset(e2, null), s2.win = null, g2 = null;
|
|
3369
|
-
}, s2.set_dictionary = function(e2, t2, n2) {
|
|
3370
|
-
s2.win.set(e2.subarray(t2, t2 + n2), 0), s2.read = s2.write = n2;
|
|
3371
|
-
}, s2.sync_point = function() {
|
|
3372
|
-
return 1 == l2 ? 1 : 0;
|
|
3373
|
-
};
|
|
3374
|
-
}
|
|
3375
|
-
const _ = 13, b$1 = [0, 0, 255, 255];
|
|
3376
|
-
function p$1() {
|
|
3377
|
-
const i2 = this;
|
|
3378
|
-
function r2(t2) {
|
|
3379
|
-
return t2 && t2.istate ? (t2.total_in = t2.total_out = 0, t2.msg = null, t2.istate.mode = 7, t2.istate.blocks.reset(t2, null), 0) : e$1;
|
|
3380
|
-
}
|
|
3381
|
-
i2.mode = 0, i2.method = 0, i2.was = [0], i2.need = 0, i2.marker = 0, i2.wbits = 0, i2.inflateEnd = function(e2) {
|
|
3382
|
-
return i2.blocks && i2.blocks.free(e2), i2.blocks = null, 0;
|
|
3383
|
-
}, i2.inflateInit = function(t2, n2) {
|
|
3384
|
-
return t2.msg = null, i2.blocks = null, n2 < 8 || n2 > 15 ? (i2.inflateEnd(t2), e$1) : (i2.wbits = n2, t2.istate.blocks = new w$1(t2, 1 << n2), r2(t2), 0);
|
|
3385
|
-
}, i2.inflate = function(i3, r3) {
|
|
3386
|
-
let a2, s2;
|
|
3387
|
-
if (!i3 || !i3.istate || !i3.next_in) return e$1;
|
|
3388
|
-
const o2 = i3.istate;
|
|
3389
|
-
for (r3 = 4 == r3 ? n$1 : 0, a2 = n$1; ; ) switch (o2.mode) {
|
|
3390
|
-
case 0:
|
|
3391
|
-
if (0 === i3.avail_in) return a2;
|
|
3392
|
-
if (a2 = r3, i3.avail_in--, i3.total_in++, 8 != (15 & (o2.method = i3.read_byte(i3.next_in_index++)))) {
|
|
3393
|
-
o2.mode = _, i3.msg = "unknown compression method", o2.marker = 5;
|
|
3394
|
-
break;
|
|
3395
|
-
}
|
|
3396
|
-
if (8 + (o2.method >> 4) > o2.wbits) {
|
|
3397
|
-
o2.mode = _, i3.msg = "invalid win size", o2.marker = 5;
|
|
3398
|
-
break;
|
|
3399
|
-
}
|
|
3400
|
-
o2.mode = 1;
|
|
3401
|
-
case 1:
|
|
3402
|
-
if (0 === i3.avail_in) return a2;
|
|
3403
|
-
if (a2 = r3, i3.avail_in--, i3.total_in++, s2 = 255 & i3.read_byte(i3.next_in_index++), ((o2.method << 8) + s2) % 31 != 0) {
|
|
3404
|
-
o2.mode = _, i3.msg = "incorrect header check", o2.marker = 5;
|
|
3405
|
-
break;
|
|
3406
|
-
}
|
|
3407
|
-
if (!(32 & s2)) {
|
|
3408
|
-
o2.mode = 7;
|
|
3409
|
-
break;
|
|
3410
|
-
}
|
|
3411
|
-
o2.mode = 2;
|
|
3412
|
-
case 2:
|
|
3413
|
-
if (0 === i3.avail_in) return a2;
|
|
3414
|
-
a2 = r3, i3.avail_in--, i3.total_in++, o2.need = (255 & i3.read_byte(i3.next_in_index++)) << 24 & 4278190080, o2.mode = 3;
|
|
3415
|
-
case 3:
|
|
3416
|
-
if (0 === i3.avail_in) return a2;
|
|
3417
|
-
a2 = r3, i3.avail_in--, i3.total_in++, o2.need += (255 & i3.read_byte(i3.next_in_index++)) << 16 & 16711680, o2.mode = 4;
|
|
3418
|
-
case 4:
|
|
3419
|
-
if (0 === i3.avail_in) return a2;
|
|
3420
|
-
a2 = r3, i3.avail_in--, i3.total_in++, o2.need += (255 & i3.read_byte(i3.next_in_index++)) << 8 & 65280, o2.mode = 5;
|
|
3421
|
-
case 5:
|
|
3422
|
-
return 0 === i3.avail_in ? a2 : (a2 = r3, i3.avail_in--, i3.total_in++, o2.need += 255 & i3.read_byte(i3.next_in_index++), o2.mode = 6, 2);
|
|
3423
|
-
case 6:
|
|
3424
|
-
return o2.mode = _, i3.msg = "need dictionary", o2.marker = 0, e$1;
|
|
3425
|
-
case 7:
|
|
3426
|
-
if (a2 = o2.blocks.proc(i3, a2), a2 == t$1) {
|
|
3427
|
-
o2.mode = _, o2.marker = 0;
|
|
3428
|
-
break;
|
|
3429
|
-
}
|
|
3430
|
-
if (0 == a2 && (a2 = r3), 1 != a2) return a2;
|
|
3431
|
-
a2 = r3, o2.blocks.reset(i3, o2.was), o2.mode = 12;
|
|
3432
|
-
case 12:
|
|
3433
|
-
return i3.avail_in = 0, 1;
|
|
3434
|
-
case _:
|
|
3435
|
-
return t$1;
|
|
3436
|
-
default:
|
|
3437
|
-
return e$1;
|
|
3438
|
-
}
|
|
3439
|
-
}, i2.inflateSetDictionary = function(t2, n2, i3) {
|
|
3440
|
-
let r3 = 0, a2 = i3;
|
|
3441
|
-
if (!t2 || !t2.istate || 6 != t2.istate.mode) return e$1;
|
|
3442
|
-
const s2 = t2.istate;
|
|
3443
|
-
return a2 >= 1 << s2.wbits && (a2 = (1 << s2.wbits) - 1, r3 = i3 - a2), s2.blocks.set_dictionary(n2, r3, a2), s2.mode = 7, 0;
|
|
3444
|
-
}, i2.inflateSync = function(i3) {
|
|
3445
|
-
let a2, s2, o2, l2, c2;
|
|
3446
|
-
if (!i3 || !i3.istate) return e$1;
|
|
3447
|
-
const u2 = i3.istate;
|
|
3448
|
-
if (u2.mode != _ && (u2.mode = _, u2.marker = 0), 0 === (a2 = i3.avail_in)) return n$1;
|
|
3449
|
-
for (s2 = i3.next_in_index, o2 = u2.marker; 0 !== a2 && o2 < 4; ) i3.read_byte(s2) == b$1[o2] ? o2++ : o2 = 0 !== i3.read_byte(s2) ? 0 : 4 - o2, s2++, a2--;
|
|
3450
|
-
return i3.total_in += s2 - i3.next_in_index, i3.next_in_index = s2, i3.avail_in = a2, u2.marker = o2, 4 != o2 ? t$1 : (l2 = i3.total_in, c2 = i3.total_out, r2(i3), i3.total_in = l2, i3.total_out = c2, u2.mode = 7, 0);
|
|
3451
|
-
}, i2.inflateSyncPoint = function(t2) {
|
|
3452
|
-
return t2 && t2.istate && t2.istate.blocks ? t2.istate.blocks.sync_point() : e$1;
|
|
3453
|
-
};
|
|
3454
|
-
}
|
|
3455
|
-
function m$1() {
|
|
3456
|
-
}
|
|
3457
|
-
m$1.prototype = { inflateInit(e2) {
|
|
3458
|
-
const t2 = this;
|
|
3459
|
-
return t2.istate = new p$1(), e2 || (e2 = 15), t2.istate.inflateInit(t2, e2);
|
|
3460
|
-
}, inflate(t2) {
|
|
3461
|
-
const n2 = this;
|
|
3462
|
-
return n2.istate ? n2.istate.inflate(n2, t2) : e$1;
|
|
3463
|
-
}, inflateEnd() {
|
|
3464
|
-
const t2 = this;
|
|
3465
|
-
if (!t2.istate) return e$1;
|
|
3466
|
-
const n2 = t2.istate.inflateEnd(t2);
|
|
3467
|
-
return t2.istate = null, n2;
|
|
3468
|
-
}, inflateSync() {
|
|
3469
|
-
const t2 = this;
|
|
3470
|
-
return t2.istate ? t2.istate.inflateSync(t2) : e$1;
|
|
3471
|
-
}, inflateSetDictionary(t2, n2) {
|
|
3472
|
-
const i2 = this;
|
|
3473
|
-
return i2.istate ? i2.istate.inflateSetDictionary(i2, t2, n2) : e$1;
|
|
3474
|
-
}, read_byte(e2) {
|
|
3475
|
-
return this.next_in[e2];
|
|
3476
|
-
}, read_buf(e2, t2) {
|
|
3477
|
-
return this.next_in.subarray(e2, e2 + t2);
|
|
3478
|
-
} };
|
|
3479
|
-
const g$1 = 4294967295, y$1 = 65535, x$1 = 33639248, k$1 = 101075792, v$1 = 22, S = void 0, z$1 = "undefined", A$1 = "function";
|
|
3480
|
-
let U$1 = class U {
|
|
3481
|
-
constructor(e2) {
|
|
3482
|
-
return class extends TransformStream {
|
|
3483
|
-
constructor(t2, n2) {
|
|
3484
|
-
const i2 = new e2(n2);
|
|
3485
|
-
super({ transform(e3, t3) {
|
|
3486
|
-
t3.enqueue(i2.append(e3));
|
|
3487
|
-
}, flush(e3) {
|
|
3488
|
-
const t3 = i2.flush();
|
|
3489
|
-
t3 && e3.enqueue(t3);
|
|
3490
|
-
} });
|
|
3491
|
-
}
|
|
3492
|
-
};
|
|
3493
|
-
}
|
|
3494
|
-
};
|
|
3495
|
-
let D = 2;
|
|
3095
|
+
const e$1 = 4294967295, t$1 = 65535, r$1 = 134695760, n$1 = r$1, s$1 = 33639248, a$1 = 101075792, i$1 = 22, o$1 = 16384, c$1 = void 0, l$1 = 1 / 0, u$1 = "undefined", d$1 = "function";
|
|
3096
|
+
let f$1 = 2;
|
|
3496
3097
|
try {
|
|
3497
|
-
typeof navigator !=
|
|
3498
|
-
} catch
|
|
3098
|
+
typeof navigator != u$1 && navigator.hardwareConcurrency && (f$1 = navigator.hardwareConcurrency);
|
|
3099
|
+
} catch {
|
|
3499
3100
|
}
|
|
3500
|
-
const
|
|
3501
|
-
function
|
|
3502
|
-
const {
|
|
3503
|
-
|
|
3504
|
-
const { deflate: e3, inflate: t3 } = d2;
|
|
3505
|
-
if ((e3 || t3) && (T$1.workerScripts || (T$1.workerScripts = {})), e3) {
|
|
3506
|
-
if (!Array.isArray(e3)) throw new Error("workerScripts.deflate must be an array");
|
|
3507
|
-
T$1.workerScripts.deflate = e3;
|
|
3508
|
-
}
|
|
3509
|
-
if (t3) {
|
|
3510
|
-
if (!Array.isArray(t3)) throw new Error("workerScripts.inflate must be an array");
|
|
3511
|
-
T$1.workerScripts.inflate = t3;
|
|
3512
|
-
}
|
|
3513
|
-
}
|
|
3101
|
+
const h$1 = { workerURI: "./core/web-worker-wasm.js", wasmURI: "./core/streams/zlib-wasm/zlib-streams.wasm", chunkSize: 65536, maxWorkers: f$1, terminateWorkerTimeout: 5e3, useWebWorkers: true, useCompressionStream: true, CompressionStream: typeof CompressionStream != u$1 && CompressionStream, DecompressionStream: typeof DecompressionStream != u$1 && DecompressionStream }, p$1 = Object.assign({}, h$1);
|
|
3102
|
+
function w$1(e2) {
|
|
3103
|
+
const { baseURI: t2, chunkSize: r2, maxWorkers: n2, terminateWorkerTimeout: s2, useCompressionStream: a2, useWebWorkers: i2, CompressionStream: o2, DecompressionStream: c2, CompressionStreamZlib: l2, DecompressionStreamZlib: u2, workerURI: d2, wasmURI: f2 } = e2;
|
|
3104
|
+
g$1("baseURI", t2), g$1("wasmURI", f2), g$1("workerURI", d2), g$1("chunkSize", r2), g$1("maxWorkers", n2), g$1("terminateWorkerTimeout", s2), g$1("useCompressionStream", a2), g$1("useWebWorkers", i2), g$1("CompressionStream", o2), g$1("DecompressionStream", c2), g$1("CompressionStreamZlib", l2), g$1("DecompressionStreamZlib", u2);
|
|
3514
3105
|
}
|
|
3515
|
-
function
|
|
3516
|
-
t2 !==
|
|
3106
|
+
function g$1(e2, t2) {
|
|
3107
|
+
t2 !== c$1 && (p$1[e2] = t2);
|
|
3517
3108
|
}
|
|
3518
|
-
const
|
|
3109
|
+
const m$1 = [];
|
|
3519
3110
|
for (let e2 = 0; e2 < 256; e2++) {
|
|
3520
3111
|
let t2 = e2;
|
|
3521
3112
|
for (let e3 = 0; e3 < 8; e3++) 1 & t2 ? t2 = t2 >>> 1 ^ 3988292384 : t2 >>>= 1;
|
|
3522
|
-
|
|
3113
|
+
m$1[e2] = t2;
|
|
3523
3114
|
}
|
|
3524
|
-
class
|
|
3115
|
+
let y$1 = class y {
|
|
3525
3116
|
constructor(e2) {
|
|
3526
3117
|
this.crc = e2 || -1;
|
|
3527
3118
|
}
|
|
3528
3119
|
append(e2) {
|
|
3529
3120
|
let t2 = 0 | this.crc;
|
|
3530
|
-
for (let
|
|
3121
|
+
for (let r2 = 0, n2 = 0 | e2.length; r2 < n2; r2++) t2 = t2 >>> 8 ^ m$1[255 & (t2 ^ e2[r2])];
|
|
3531
3122
|
this.crc = t2;
|
|
3532
3123
|
}
|
|
3533
3124
|
get() {
|
|
3534
3125
|
return ~this.crc;
|
|
3535
3126
|
}
|
|
3536
|
-
}
|
|
3537
|
-
class
|
|
3127
|
+
};
|
|
3128
|
+
let b$1 = class b extends TransformStream {
|
|
3538
3129
|
constructor() {
|
|
3539
3130
|
let e2;
|
|
3540
|
-
const t2 = new
|
|
3541
|
-
super({ transform(e3,
|
|
3542
|
-
t2.append(e3),
|
|
3131
|
+
const t2 = new y$1();
|
|
3132
|
+
super({ transform(e3, r2) {
|
|
3133
|
+
t2.append(e3), r2.enqueue(e3);
|
|
3543
3134
|
}, flush() {
|
|
3544
|
-
const
|
|
3545
|
-
new DataView(
|
|
3135
|
+
const r2 = new Uint8Array(4);
|
|
3136
|
+
new DataView(r2.buffer).setUint32(0, t2.get()), e2.value = r2;
|
|
3546
3137
|
} }), e2 = this;
|
|
3547
3138
|
}
|
|
3548
|
-
}
|
|
3549
|
-
const
|
|
3139
|
+
};
|
|
3140
|
+
const S = { concat(e2, t2) {
|
|
3550
3141
|
if (0 === e2.length || 0 === t2.length) return e2.concat(t2);
|
|
3551
|
-
const
|
|
3552
|
-
return 32 ===
|
|
3142
|
+
const r2 = e2[e2.length - 1], n2 = S.getPartial(r2);
|
|
3143
|
+
return 32 === n2 ? e2.concat(t2) : S._shiftRight(t2, n2, 0 | r2, e2.slice(0, e2.length - 1));
|
|
3553
3144
|
}, bitLength(e2) {
|
|
3554
3145
|
const t2 = e2.length;
|
|
3555
3146
|
if (0 === t2) return 0;
|
|
3556
|
-
const
|
|
3557
|
-
return 32 * (t2 - 1) +
|
|
3147
|
+
const r2 = e2[t2 - 1];
|
|
3148
|
+
return 32 * (t2 - 1) + S.getPartial(r2);
|
|
3558
3149
|
}, clamp(e2, t2) {
|
|
3559
3150
|
if (32 * e2.length < t2) return e2;
|
|
3560
|
-
const
|
|
3561
|
-
return t2 &= 31,
|
|
3562
|
-
}, partial: (e2, t2,
|
|
3563
|
-
for (void 0 ===
|
|
3564
|
-
if (0 === t2) return
|
|
3565
|
-
for (let
|
|
3566
|
-
const
|
|
3567
|
-
return
|
|
3568
|
-
} },
|
|
3569
|
-
const t2 =
|
|
3570
|
-
let
|
|
3571
|
-
for (let
|
|
3572
|
-
return
|
|
3151
|
+
const r2 = (e2 = e2.slice(0, Math.ceil(t2 / 32))).length;
|
|
3152
|
+
return t2 &= 31, r2 > 0 && t2 && (e2[r2 - 1] = S.partial(t2, e2[r2 - 1] & 2147483648 >> t2 - 1, 1)), e2;
|
|
3153
|
+
}, partial: (e2, t2, r2) => 32 === e2 ? t2 : (r2 ? 0 | t2 : t2 << 32 - e2) + 1099511627776 * e2, getPartial: (e2) => Math.round(e2 / 1099511627776) || 32, _shiftRight(e2, t2, r2, n2) {
|
|
3154
|
+
for (void 0 === n2 && (n2 = []); t2 >= 32; t2 -= 32) n2.push(r2), r2 = 0;
|
|
3155
|
+
if (0 === t2) return n2.concat(e2);
|
|
3156
|
+
for (let s3 = 0; s3 < e2.length; s3++) n2.push(r2 | e2[s3] >>> t2), r2 = e2[s3] << 32 - t2;
|
|
3157
|
+
const s2 = e2.length ? e2[e2.length - 1] : 0, a2 = S.getPartial(s2);
|
|
3158
|
+
return n2.push(S.partial(t2 + a2 & 31, t2 + a2 > 32 ? r2 : n2.pop(), 1)), n2;
|
|
3159
|
+
} }, k$1 = { bytes: { fromBits(e2) {
|
|
3160
|
+
const t2 = S.bitLength(e2) / 8, r2 = new Uint8Array(t2);
|
|
3161
|
+
let n2;
|
|
3162
|
+
for (let s2 = 0; s2 < t2; s2++) 3 & s2 || (n2 = e2[s2 / 4]), r2[s2] = n2 >>> 24, n2 <<= 8;
|
|
3163
|
+
return r2;
|
|
3573
3164
|
}, toBits(e2) {
|
|
3574
3165
|
const t2 = [];
|
|
3575
|
-
let
|
|
3576
|
-
for (
|
|
3577
|
-
return 3 &
|
|
3578
|
-
} } },
|
|
3166
|
+
let r2, n2 = 0;
|
|
3167
|
+
for (r2 = 0; r2 < e2.length; r2++) n2 = n2 << 8 | e2[r2], 3 & ~r2 || (t2.push(n2), n2 = 0);
|
|
3168
|
+
return 3 & r2 && t2.push(S.partial(8 * (3 & r2), n2)), t2;
|
|
3169
|
+
} } }, z$1 = { sha1: class {
|
|
3579
3170
|
constructor(e2) {
|
|
3580
3171
|
const t2 = this;
|
|
3581
3172
|
t2.blockSize = 512, t2._init = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], t2._key = [1518500249, 1859775393, 2400959708, 3395469782], e2 ? (t2._h = e2._h.slice(0), t2._buffer = e2._buffer.slice(0), t2._length = e2._length) : t2.reset();
|
|
@@ -3586,54 +3177,54 @@
|
|
|
3586
3177
|
}
|
|
3587
3178
|
update(e2) {
|
|
3588
3179
|
const t2 = this;
|
|
3589
|
-
"string" == typeof e2 && (e2 =
|
|
3590
|
-
const
|
|
3591
|
-
if (
|
|
3592
|
-
const a2 = new Uint32Array(
|
|
3593
|
-
let
|
|
3594
|
-
for (let e3 = t2.blockSize +
|
|
3595
|
-
return
|
|
3180
|
+
"string" == typeof e2 && (e2 = k$1.utf8String.toBits(e2));
|
|
3181
|
+
const r2 = t2._buffer = S.concat(t2._buffer, e2), n2 = t2._length, s2 = t2._length = n2 + S.bitLength(e2);
|
|
3182
|
+
if (s2 > 9007199254740991) throw new Error("Cannot hash more than 2^53 - 1 bits");
|
|
3183
|
+
const a2 = new Uint32Array(r2);
|
|
3184
|
+
let i2 = 0;
|
|
3185
|
+
for (let e3 = t2.blockSize + n2 - (t2.blockSize + n2 & t2.blockSize - 1); e3 <= s2; e3 += t2.blockSize) t2._block(a2.subarray(16 * i2, 16 * (i2 + 1))), i2 += 1;
|
|
3186
|
+
return r2.splice(0, 16 * i2), t2;
|
|
3596
3187
|
}
|
|
3597
3188
|
finalize() {
|
|
3598
3189
|
const e2 = this;
|
|
3599
3190
|
let t2 = e2._buffer;
|
|
3600
|
-
const
|
|
3601
|
-
t2 =
|
|
3191
|
+
const r2 = e2._h;
|
|
3192
|
+
t2 = S.concat(t2, [S.partial(1, 1)]);
|
|
3602
3193
|
for (let e3 = t2.length + 2; 15 & e3; e3++) t2.push(0);
|
|
3603
3194
|
for (t2.push(Math.floor(e2._length / 4294967296)), t2.push(0 | e2._length); t2.length; ) e2._block(t2.splice(0, 16));
|
|
3604
|
-
return e2.reset(),
|
|
3195
|
+
return e2.reset(), r2;
|
|
3605
3196
|
}
|
|
3606
|
-
_f(e2, t2,
|
|
3607
|
-
return e2 <= 19 ? t2 &
|
|
3197
|
+
_f(e2, t2, r2, n2) {
|
|
3198
|
+
return e2 <= 19 ? t2 & r2 | ~t2 & n2 : e2 <= 39 ? t2 ^ r2 ^ n2 : e2 <= 59 ? t2 & r2 | t2 & n2 | r2 & n2 : e2 <= 79 ? t2 ^ r2 ^ n2 : void 0;
|
|
3608
3199
|
}
|
|
3609
3200
|
_S(e2, t2) {
|
|
3610
3201
|
return t2 << e2 | t2 >>> 32 - e2;
|
|
3611
3202
|
}
|
|
3612
3203
|
_block(e2) {
|
|
3613
|
-
const t2 = this,
|
|
3614
|
-
for (let t3 = 0; t3 < 16; t3++)
|
|
3615
|
-
let
|
|
3204
|
+
const t2 = this, r2 = t2._h, n2 = Array(80);
|
|
3205
|
+
for (let t3 = 0; t3 < 16; t3++) n2[t3] = e2[t3];
|
|
3206
|
+
let s2 = r2[0], a2 = r2[1], i2 = r2[2], o2 = r2[3], c2 = r2[4];
|
|
3616
3207
|
for (let e3 = 0; e3 <= 79; e3++) {
|
|
3617
|
-
e3 >= 16 && (
|
|
3618
|
-
const
|
|
3619
|
-
|
|
3208
|
+
e3 >= 16 && (n2[e3] = t2._S(1, n2[e3 - 3] ^ n2[e3 - 8] ^ n2[e3 - 14] ^ n2[e3 - 16]));
|
|
3209
|
+
const r3 = t2._S(5, s2) + t2._f(e3, a2, i2, o2) + c2 + n2[e3] + t2._key[Math.floor(e3 / 20)] | 0;
|
|
3210
|
+
c2 = o2, o2 = i2, i2 = t2._S(30, a2), a2 = s2, s2 = r3;
|
|
3620
3211
|
}
|
|
3621
|
-
|
|
3212
|
+
r2[0] = r2[0] + s2 | 0, r2[1] = r2[1] + a2 | 0, r2[2] = r2[2] + i2 | 0, r2[3] = r2[3] + o2 | 0, r2[4] = r2[4] + c2 | 0;
|
|
3622
3213
|
}
|
|
3623
|
-
} },
|
|
3214
|
+
} }, x$1 = { aes: class {
|
|
3624
3215
|
constructor(e2) {
|
|
3625
3216
|
const t2 = this;
|
|
3626
3217
|
t2._tables = [[[], [], [], [], []], [[], [], [], [], []]], t2._tables[0][0][0] || t2._precompute();
|
|
3627
|
-
const
|
|
3628
|
-
let a2,
|
|
3629
|
-
if (4 !==
|
|
3630
|
-
for (t2._key = [
|
|
3631
|
-
let e3 =
|
|
3632
|
-
(a2 %
|
|
3218
|
+
const r2 = t2._tables[0][4], n2 = t2._tables[1], s2 = e2.length;
|
|
3219
|
+
let a2, i2, o2, c2 = 1;
|
|
3220
|
+
if (4 !== s2 && 6 !== s2 && 8 !== s2) throw new Error("invalid aes key size");
|
|
3221
|
+
for (t2._key = [i2 = e2.slice(0), o2 = []], a2 = s2; a2 < 4 * s2 + 28; a2++) {
|
|
3222
|
+
let e3 = i2[a2 - 1];
|
|
3223
|
+
(a2 % s2 === 0 || 8 === s2 && a2 % s2 === 4) && (e3 = r2[e3 >>> 24] << 24 ^ r2[e3 >> 16 & 255] << 16 ^ r2[e3 >> 8 & 255] << 8 ^ r2[255 & e3], a2 % s2 === 0 && (e3 = e3 << 8 ^ e3 >>> 24 ^ c2 << 24, c2 = c2 << 1 ^ 283 * (c2 >> 7))), i2[a2] = i2[a2 - s2] ^ e3;
|
|
3633
3224
|
}
|
|
3634
3225
|
for (let e3 = 0; a2; e3++, a2--) {
|
|
3635
|
-
const t3 =
|
|
3636
|
-
o2[e3] = a2 <= 4 || e3 < 4 ? t3 :
|
|
3226
|
+
const t3 = i2[3 & e3 ? a2 : a2 - 4];
|
|
3227
|
+
o2[e3] = a2 <= 4 || e3 < 4 ? t3 : n2[0][r2[t3 >>> 24]] ^ n2[1][r2[t3 >> 16 & 255]] ^ n2[2][r2[t3 >> 8 & 255]] ^ n2[3][r2[255 & t3]];
|
|
3637
3228
|
}
|
|
3638
3229
|
}
|
|
3639
3230
|
encrypt(e2) {
|
|
@@ -3643,40 +3234,40 @@
|
|
|
3643
3234
|
return this._crypt(e2, 1);
|
|
3644
3235
|
}
|
|
3645
3236
|
_precompute() {
|
|
3646
|
-
const e2 = this._tables[0], t2 = this._tables[1],
|
|
3647
|
-
let
|
|
3648
|
-
for (let e3 = 0; e3 < 256; e3++) a2[(
|
|
3649
|
-
for (let u2 =
|
|
3650
|
-
let a3 =
|
|
3651
|
-
a3 = a3 >> 8 ^ 255 & a3 ^ 99,
|
|
3652
|
-
let d2 = 16843009 *
|
|
3653
|
-
for (let
|
|
3237
|
+
const e2 = this._tables[0], t2 = this._tables[1], r2 = e2[4], n2 = t2[4], s2 = [], a2 = [];
|
|
3238
|
+
let i2, o2, c2, l2;
|
|
3239
|
+
for (let e3 = 0; e3 < 256; e3++) a2[(s2[e3] = e3 << 1 ^ 283 * (e3 >> 7)) ^ e3] = e3;
|
|
3240
|
+
for (let u2 = i2 = 0; !r2[u2]; u2 ^= o2 || 1, i2 = a2[i2] || 1) {
|
|
3241
|
+
let a3 = i2 ^ i2 << 1 ^ i2 << 2 ^ i2 << 3 ^ i2 << 4;
|
|
3242
|
+
a3 = a3 >> 8 ^ 255 & a3 ^ 99, r2[u2] = a3, n2[a3] = u2, l2 = s2[c2 = s2[o2 = s2[u2]]];
|
|
3243
|
+
let d2 = 16843009 * l2 ^ 65537 * c2 ^ 257 * o2 ^ 16843008 * u2, f2 = 257 * s2[a3] ^ 16843008 * a3;
|
|
3244
|
+
for (let r3 = 0; r3 < 4; r3++) e2[r3][u2] = f2 = f2 << 24 ^ f2 >>> 8, t2[r3][a3] = d2 = d2 << 24 ^ d2 >>> 8;
|
|
3654
3245
|
}
|
|
3655
|
-
for (let
|
|
3246
|
+
for (let r3 = 0; r3 < 5; r3++) e2[r3] = e2[r3].slice(0), t2[r3] = t2[r3].slice(0);
|
|
3656
3247
|
}
|
|
3657
3248
|
_crypt(e2, t2) {
|
|
3658
3249
|
if (4 !== e2.length) throw new Error("invalid aes block size");
|
|
3659
|
-
const
|
|
3660
|
-
let d2, f2, h2,
|
|
3661
|
-
for (let e3 = 0; e3 <
|
|
3662
|
-
for (let e3 = 0; e3 < 4; e3++)
|
|
3663
|
-
return
|
|
3664
|
-
}
|
|
3665
|
-
} },
|
|
3666
|
-
const t2 = new Uint32Array(e2.buffer),
|
|
3250
|
+
const r2 = this._key[t2], n2 = r2.length / 4 - 2, s2 = [0, 0, 0, 0], a2 = this._tables[t2], i2 = a2[0], o2 = a2[1], c2 = a2[2], l2 = a2[3], u2 = a2[4];
|
|
3251
|
+
let d2, f2, h2, p2 = e2[0] ^ r2[0], w2 = e2[t2 ? 3 : 1] ^ r2[1], g2 = e2[2] ^ r2[2], m2 = e2[t2 ? 1 : 3] ^ r2[3], y2 = 4;
|
|
3252
|
+
for (let e3 = 0; e3 < n2; e3++) d2 = i2[p2 >>> 24] ^ o2[w2 >> 16 & 255] ^ c2[g2 >> 8 & 255] ^ l2[255 & m2] ^ r2[y2], f2 = i2[w2 >>> 24] ^ o2[g2 >> 16 & 255] ^ c2[m2 >> 8 & 255] ^ l2[255 & p2] ^ r2[y2 + 1], h2 = i2[g2 >>> 24] ^ o2[m2 >> 16 & 255] ^ c2[p2 >> 8 & 255] ^ l2[255 & w2] ^ r2[y2 + 2], m2 = i2[m2 >>> 24] ^ o2[p2 >> 16 & 255] ^ c2[w2 >> 8 & 255] ^ l2[255 & g2] ^ r2[y2 + 3], y2 += 4, p2 = d2, w2 = f2, g2 = h2;
|
|
3253
|
+
for (let e3 = 0; e3 < 4; e3++) s2[t2 ? 3 & -e3 : e3] = u2[p2 >>> 24] << 24 ^ u2[w2 >> 16 & 255] << 16 ^ u2[g2 >> 8 & 255] << 8 ^ u2[255 & m2] ^ r2[y2++], d2 = p2, p2 = w2, w2 = g2, g2 = m2, m2 = d2;
|
|
3254
|
+
return s2;
|
|
3255
|
+
}
|
|
3256
|
+
} }, U$1 = { getRandomValues(e2) {
|
|
3257
|
+
const t2 = new Uint32Array(e2.buffer), r2 = (e3) => {
|
|
3667
3258
|
let t3 = 987654321;
|
|
3668
|
-
const
|
|
3259
|
+
const r3 = 4294967295;
|
|
3669
3260
|
return function() {
|
|
3670
|
-
t3 = 36969 * (65535 & t3) + (t3 >> 16) &
|
|
3671
|
-
return (((t3 << 16) + (e3 = 18e3 * (65535 & e3) + (e3 >> 16) &
|
|
3261
|
+
t3 = 36969 * (65535 & t3) + (t3 >> 16) & r3;
|
|
3262
|
+
return (((t3 << 16) + (e3 = 18e3 * (65535 & e3) + (e3 >> 16) & r3) & r3) / 4294967296 + 0.5) * (Math.random() > 0.5 ? 1 : -1);
|
|
3672
3263
|
};
|
|
3673
3264
|
};
|
|
3674
|
-
for (let
|
|
3675
|
-
const e3 =
|
|
3676
|
-
|
|
3265
|
+
for (let n2, s2 = 0; s2 < e2.length; s2 += 4) {
|
|
3266
|
+
const e3 = r2(4294967296 * (n2 || Math.random()));
|
|
3267
|
+
n2 = 987654071 * e3(), t2[s2 / 4] = 4294967296 * e3() | 0;
|
|
3677
3268
|
}
|
|
3678
3269
|
return e2;
|
|
3679
|
-
} },
|
|
3270
|
+
} }, A$1 = { ctrGladman: class {
|
|
3680
3271
|
constructor(e2, t2) {
|
|
3681
3272
|
this._prf = e2, this._initIv = t2, this._iv = t2;
|
|
3682
3273
|
}
|
|
@@ -3689,45 +3280,45 @@
|
|
|
3689
3280
|
incWord(e2) {
|
|
3690
3281
|
if (255 & ~(e2 >> 24)) e2 += 1 << 24;
|
|
3691
3282
|
else {
|
|
3692
|
-
let t2 = e2 >> 16 & 255,
|
|
3693
|
-
255 === t2 ? (t2 = 0, 255 ===
|
|
3283
|
+
let t2 = e2 >> 16 & 255, r2 = e2 >> 8 & 255, n2 = 255 & e2;
|
|
3284
|
+
255 === t2 ? (t2 = 0, 255 === r2 ? (r2 = 0, 255 === n2 ? n2 = 0 : ++n2) : ++r2) : ++t2, e2 = 0, e2 += t2 << 16, e2 += r2 << 8, e2 += n2;
|
|
3694
3285
|
}
|
|
3695
3286
|
return e2;
|
|
3696
3287
|
}
|
|
3697
3288
|
incCounter(e2) {
|
|
3698
3289
|
0 === (e2[0] = this.incWord(e2[0])) && (e2[1] = this.incWord(e2[1]));
|
|
3699
3290
|
}
|
|
3700
|
-
calculate(e2, t2,
|
|
3701
|
-
let
|
|
3702
|
-
if (!(
|
|
3703
|
-
const
|
|
3704
|
-
for (let
|
|
3705
|
-
this.incCounter(
|
|
3706
|
-
const
|
|
3707
|
-
t2[
|
|
3708
|
-
}
|
|
3709
|
-
return
|
|
3710
|
-
}
|
|
3711
|
-
} },
|
|
3712
|
-
if (
|
|
3713
|
-
const
|
|
3714
|
-
let a2,
|
|
3715
|
-
const u2 = new ArrayBuffer(
|
|
3291
|
+
calculate(e2, t2, r2) {
|
|
3292
|
+
let n2;
|
|
3293
|
+
if (!(n2 = t2.length)) return [];
|
|
3294
|
+
const s2 = S.bitLength(t2);
|
|
3295
|
+
for (let s3 = 0; s3 < n2; s3 += 4) {
|
|
3296
|
+
this.incCounter(r2);
|
|
3297
|
+
const n3 = e2.encrypt(r2);
|
|
3298
|
+
t2[s3] ^= n3[0], t2[s3 + 1] ^= n3[1], t2[s3 + 2] ^= n3[2], t2[s3 + 3] ^= n3[3];
|
|
3299
|
+
}
|
|
3300
|
+
return S.clamp(t2, s2);
|
|
3301
|
+
}
|
|
3302
|
+
} }, v$1 = { importKey: (e2) => new v$1.hmacSha1(k$1.bytes.toBits(e2)), pbkdf2(e2, t2, r2, n2) {
|
|
3303
|
+
if (r2 = r2 || 1e4, n2 < 0 || r2 < 0) throw new Error("invalid params to pbkdf2");
|
|
3304
|
+
const s2 = 1 + (n2 >> 5) << 2;
|
|
3305
|
+
let a2, i2, o2, c2, l2;
|
|
3306
|
+
const u2 = new ArrayBuffer(s2), d2 = new DataView(u2);
|
|
3716
3307
|
let f2 = 0;
|
|
3717
|
-
const h2 =
|
|
3718
|
-
for (t2 =
|
|
3719
|
-
for (a2 =
|
|
3720
|
-
for (o2 = 0; f2 < (
|
|
3308
|
+
const h2 = S;
|
|
3309
|
+
for (t2 = k$1.bytes.toBits(t2), l2 = 1; f2 < (s2 || 1); l2++) {
|
|
3310
|
+
for (a2 = i2 = e2.encrypt(h2.concat(t2, [l2])), o2 = 1; o2 < r2; o2++) for (i2 = e2.encrypt(i2), c2 = 0; c2 < i2.length; c2++) a2[c2] ^= i2[c2];
|
|
3311
|
+
for (o2 = 0; f2 < (s2 || 1) && o2 < a2.length; o2++) d2.setInt32(f2, a2[o2]), f2 += 4;
|
|
3721
3312
|
}
|
|
3722
|
-
return u2.slice(0,
|
|
3313
|
+
return u2.slice(0, n2 / 8);
|
|
3723
3314
|
}, hmacSha1: class {
|
|
3724
3315
|
constructor(e2) {
|
|
3725
|
-
const t2 = this,
|
|
3726
|
-
t2._baseHash = [new
|
|
3727
|
-
const
|
|
3728
|
-
e2.length >
|
|
3729
|
-
for (let t3 = 0; t3 <
|
|
3730
|
-
t2._baseHash[0].update(
|
|
3316
|
+
const t2 = this, r2 = t2._hash = z$1.sha1, n2 = [[], []];
|
|
3317
|
+
t2._baseHash = [new r2(), new r2()];
|
|
3318
|
+
const s2 = t2._baseHash[0].blockSize / 32;
|
|
3319
|
+
e2.length > s2 && (e2 = new r2().update(e2).finalize());
|
|
3320
|
+
for (let t3 = 0; t3 < s2; t3++) n2[0][t3] = 909522486 ^ e2[t3], n2[1][t3] = 1549556828 ^ e2[t3];
|
|
3321
|
+
t2._baseHash[0].update(n2[0]), t2._baseHash[1].update(n2[1]), t2._resultHash = new r2(t2._baseHash[0]);
|
|
3731
3322
|
}
|
|
3732
3323
|
reset() {
|
|
3733
3324
|
const e2 = this;
|
|
@@ -3737,449 +3328,470 @@
|
|
|
3737
3328
|
this._updated = true, this._resultHash.update(e2);
|
|
3738
3329
|
}
|
|
3739
3330
|
digest() {
|
|
3740
|
-
const e2 = this, t2 = e2._resultHash.finalize(),
|
|
3741
|
-
return e2.reset(),
|
|
3331
|
+
const e2 = this, t2 = e2._resultHash.finalize(), r2 = new e2._hash(e2._baseHash[1]).update(t2).finalize();
|
|
3332
|
+
return e2.reset(), r2;
|
|
3742
3333
|
}
|
|
3743
3334
|
encrypt(e2) {
|
|
3744
3335
|
if (this._updated) throw new Error("encrypt on already updated hmac called!");
|
|
3745
3336
|
return this.update(e2), this.digest(e2);
|
|
3746
3337
|
}
|
|
3747
|
-
} },
|
|
3748
|
-
function
|
|
3749
|
-
return
|
|
3338
|
+
} }, D$1 = typeof crypto != u$1 && typeof crypto.getRandomValues == d$1, _ = "Invalid password", F = "Invalid signature", O = "zipjs-abort-check-password";
|
|
3339
|
+
function E$1(e2) {
|
|
3340
|
+
return D$1 ? crypto.getRandomValues(e2) : U$1.getRandomValues(e2);
|
|
3750
3341
|
}
|
|
3751
|
-
const
|
|
3752
|
-
let
|
|
3753
|
-
class
|
|
3754
|
-
constructor({ password: e2, rawPassword: t2, signed:
|
|
3342
|
+
const T$1 = 16, C = { name: "PBKDF2" }, R = Object.assign({ hash: { name: "HMAC" } }, C), W = Object.assign({ iterations: 1e3, hash: { name: "SHA-1" } }, C), M = ["deriveBits"], j = [8, 12, 16], I = [16, 24, 32], B = 10, P = [0, 0, 0, 0], L = typeof crypto != u$1, V = L && crypto.subtle, N = L && typeof V != u$1, Z = k$1.bytes, q = x$1.aes, H = A$1.ctrGladman, K = v$1.hmacSha1;
|
|
3343
|
+
let G = L && N && typeof V.importKey == d$1, J = L && N && typeof V.deriveBits == d$1;
|
|
3344
|
+
class Q extends TransformStream {
|
|
3345
|
+
constructor({ password: e2, rawPassword: t2, signed: r2, encryptionStrength: n2, checkPasswordOnly: s2 }) {
|
|
3755
3346
|
super({ start() {
|
|
3756
|
-
Object.assign(this, { ready: new Promise((
|
|
3347
|
+
Object.assign(this, { ready: new Promise((e3) => this.resolveReady = e3), password: ee(e2, t2), signed: r2, strength: n2 - 1, pending: new Uint8Array() });
|
|
3757
3348
|
}, async transform(e3, t3) {
|
|
3758
|
-
const
|
|
3759
|
-
|
|
3760
|
-
const
|
|
3761
|
-
if (
|
|
3762
|
-
})(
|
|
3763
|
-
const
|
|
3764
|
-
t3.enqueue(
|
|
3349
|
+
const r3 = this, { password: n3, strength: a2, resolveReady: i2, ready: o2 } = r3;
|
|
3350
|
+
n3 ? (await (async function(e4, t4, r4, n4) {
|
|
3351
|
+
const s3 = await $(e4, t4, r4, re(n4, 0, j[t4])), a3 = re(n4, j[t4]);
|
|
3352
|
+
if (s3[0] != a3[0] || s3[1] != a3[1]) throw new Error(_);
|
|
3353
|
+
})(r3, a2, n3, re(e3, 0, j[a2] + 2)), e3 = re(e3, j[a2] + 2), s2 ? t3.error(new Error(O)) : i2()) : await o2;
|
|
3354
|
+
const c2 = new Uint8Array(e3.length - B - (e3.length - B) % T$1);
|
|
3355
|
+
t3.enqueue(Y(r3, e3, c2, 0, B, true));
|
|
3765
3356
|
}, async flush(e3) {
|
|
3766
|
-
const { signed: t3, ctr:
|
|
3767
|
-
if (
|
|
3357
|
+
const { signed: t3, ctr: r3, hmac: n3, pending: s3, ready: a2 } = this;
|
|
3358
|
+
if (n3 && r3) {
|
|
3768
3359
|
await a2;
|
|
3769
|
-
const
|
|
3770
|
-
let
|
|
3771
|
-
if (
|
|
3772
|
-
const e4 =
|
|
3773
|
-
|
|
3774
|
-
const t4 =
|
|
3775
|
-
|
|
3360
|
+
const i2 = re(s3, 0, s3.length - B), o2 = re(s3, s3.length - B);
|
|
3361
|
+
let c2 = new Uint8Array();
|
|
3362
|
+
if (i2.length) {
|
|
3363
|
+
const e4 = se(Z, i2);
|
|
3364
|
+
n3.update(e4);
|
|
3365
|
+
const t4 = r3.update(e4);
|
|
3366
|
+
c2 = ne(Z, t4);
|
|
3776
3367
|
}
|
|
3777
3368
|
if (t3) {
|
|
3778
|
-
const e4 =
|
|
3779
|
-
for (let t4 = 0; t4 <
|
|
3369
|
+
const e4 = re(ne(Z, n3.digest()), 0, B);
|
|
3370
|
+
for (let t4 = 0; t4 < B; t4++) if (e4[t4] != o2[t4]) throw new Error(F);
|
|
3780
3371
|
}
|
|
3781
|
-
e3.enqueue(
|
|
3372
|
+
e3.enqueue(c2);
|
|
3782
3373
|
}
|
|
3783
3374
|
} });
|
|
3784
3375
|
}
|
|
3785
3376
|
}
|
|
3786
|
-
class
|
|
3787
|
-
constructor({ password: e2, rawPassword: t2, encryptionStrength:
|
|
3788
|
-
let
|
|
3377
|
+
class X extends TransformStream {
|
|
3378
|
+
constructor({ password: e2, rawPassword: t2, encryptionStrength: r2 }) {
|
|
3379
|
+
let n2;
|
|
3789
3380
|
super({ start() {
|
|
3790
|
-
Object.assign(this, { ready: new Promise((
|
|
3381
|
+
Object.assign(this, { ready: new Promise((e3) => this.resolveReady = e3), password: ee(e2, t2), strength: r2 - 1, pending: new Uint8Array() });
|
|
3791
3382
|
}, async transform(e3, t3) {
|
|
3792
|
-
const
|
|
3383
|
+
const r3 = this, { password: n3, strength: s2, resolveReady: a2, ready: i2 } = r3;
|
|
3793
3384
|
let o2 = new Uint8Array();
|
|
3794
|
-
|
|
3795
|
-
const
|
|
3796
|
-
return
|
|
3797
|
-
})(
|
|
3798
|
-
const
|
|
3799
|
-
|
|
3385
|
+
n3 ? (o2 = await (async function(e4, t4, r4) {
|
|
3386
|
+
const n4 = E$1(new Uint8Array(j[t4])), s3 = await $(e4, t4, r4, n4);
|
|
3387
|
+
return te(n4, s3);
|
|
3388
|
+
})(r3, s2, n3), a2()) : await i2;
|
|
3389
|
+
const c2 = new Uint8Array(o2.length + e3.length - e3.length % T$1);
|
|
3390
|
+
c2.set(o2, 0), t3.enqueue(Y(r3, e3, c2, o2.length, 0));
|
|
3800
3391
|
}, async flush(e3) {
|
|
3801
|
-
const { ctr: t3, hmac:
|
|
3802
|
-
if (
|
|
3392
|
+
const { ctr: t3, hmac: r3, pending: s2, ready: a2 } = this;
|
|
3393
|
+
if (r3 && t3) {
|
|
3803
3394
|
await a2;
|
|
3804
|
-
let
|
|
3805
|
-
if (
|
|
3806
|
-
const e4 = t3.update(
|
|
3807
|
-
|
|
3395
|
+
let i2 = new Uint8Array();
|
|
3396
|
+
if (s2.length) {
|
|
3397
|
+
const e4 = t3.update(se(Z, s2));
|
|
3398
|
+
r3.update(e4), i2 = ne(Z, e4);
|
|
3808
3399
|
}
|
|
3809
|
-
|
|
3400
|
+
n2.signature = ne(Z, r3.digest()).slice(0, B), e3.enqueue(te(i2, n2.signature));
|
|
3810
3401
|
}
|
|
3811
|
-
} }),
|
|
3402
|
+
} }), n2 = this;
|
|
3812
3403
|
}
|
|
3813
3404
|
}
|
|
3814
|
-
function
|
|
3815
|
-
const { ctr:
|
|
3405
|
+
function Y(e2, t2, r2, n2, s2, a2) {
|
|
3406
|
+
const { ctr: i2, hmac: o2, pending: c2 } = e2, l2 = t2.length - s2;
|
|
3816
3407
|
let u2;
|
|
3817
|
-
for (
|
|
3408
|
+
for (c2.length && (t2 = te(c2, t2), r2 = (function(e3, t3) {
|
|
3818
3409
|
if (t3 && t3 > e3.length) {
|
|
3819
|
-
const
|
|
3820
|
-
(e3 = new Uint8Array(t3)).set(
|
|
3410
|
+
const r3 = e3;
|
|
3411
|
+
(e3 = new Uint8Array(t3)).set(r3, 0);
|
|
3821
3412
|
}
|
|
3822
3413
|
return e3;
|
|
3823
|
-
})(
|
|
3824
|
-
const e3 =
|
|
3414
|
+
})(r2, l2 - l2 % T$1)), u2 = 0; u2 <= l2 - T$1; u2 += T$1) {
|
|
3415
|
+
const e3 = se(Z, re(t2, u2, u2 + T$1));
|
|
3825
3416
|
a2 && o2.update(e3);
|
|
3826
|
-
const
|
|
3827
|
-
a2 || o2.update(
|
|
3417
|
+
const s3 = i2.update(e3);
|
|
3418
|
+
a2 || o2.update(s3), r2.set(ne(Z, s3), u2 + n2);
|
|
3828
3419
|
}
|
|
3829
|
-
return e2.pending =
|
|
3420
|
+
return e2.pending = re(t2, u2), r2;
|
|
3830
3421
|
}
|
|
3831
|
-
async function
|
|
3422
|
+
async function $(e2, t2, r2, n2) {
|
|
3832
3423
|
e2.password = null;
|
|
3833
|
-
const
|
|
3834
|
-
if (!
|
|
3424
|
+
const s2 = await (async function(e3, t3, r3, n3, s3) {
|
|
3425
|
+
if (!G) return v$1.importKey(t3);
|
|
3835
3426
|
try {
|
|
3836
|
-
return await
|
|
3837
|
-
} catch
|
|
3838
|
-
return
|
|
3427
|
+
return await V.importKey(e3, t3, r3, n3, s3);
|
|
3428
|
+
} catch {
|
|
3429
|
+
return G = false, v$1.importKey(t3);
|
|
3839
3430
|
}
|
|
3840
|
-
})("raw",
|
|
3841
|
-
if (!
|
|
3431
|
+
})("raw", r2, R, false, M), a2 = await (async function(e3, t3, r3) {
|
|
3432
|
+
if (!J) return v$1.pbkdf2(t3, e3.salt, W.iterations, r3);
|
|
3842
3433
|
try {
|
|
3843
|
-
return await
|
|
3844
|
-
} catch
|
|
3845
|
-
return
|
|
3434
|
+
return await V.deriveBits(e3, t3, r3);
|
|
3435
|
+
} catch {
|
|
3436
|
+
return J = false, v$1.pbkdf2(t3, e3.salt, W.iterations, r3);
|
|
3846
3437
|
}
|
|
3847
|
-
})(Object.assign({ salt:
|
|
3848
|
-
return Object.assign(e2, { keys: { key: o2, authentication:
|
|
3438
|
+
})(Object.assign({ salt: n2 }, W), s2, 8 * (2 * I[t2] + 2)), i2 = new Uint8Array(a2), o2 = se(Z, re(i2, 0, I[t2])), c2 = se(Z, re(i2, I[t2], 2 * I[t2])), l2 = re(i2, 2 * I[t2]);
|
|
3439
|
+
return Object.assign(e2, { keys: { key: o2, authentication: c2, passwordVerification: l2 }, ctr: new H(new q(o2), Array.from(P)), hmac: new K(c2) }), l2;
|
|
3849
3440
|
}
|
|
3850
|
-
function
|
|
3851
|
-
return t2 ===
|
|
3852
|
-
if (typeof TextEncoder ==
|
|
3441
|
+
function ee(e2, t2) {
|
|
3442
|
+
return t2 === c$1 ? (function(e3) {
|
|
3443
|
+
if (typeof TextEncoder == u$1) {
|
|
3853
3444
|
e3 = unescape(encodeURIComponent(e3));
|
|
3854
3445
|
const t3 = new Uint8Array(e3.length);
|
|
3855
|
-
for (let
|
|
3446
|
+
for (let r2 = 0; r2 < t3.length; r2++) t3[r2] = e3.charCodeAt(r2);
|
|
3856
3447
|
return t3;
|
|
3857
3448
|
}
|
|
3858
3449
|
return new TextEncoder().encode(e3);
|
|
3859
3450
|
})(e2) : t2;
|
|
3860
3451
|
}
|
|
3861
|
-
function
|
|
3862
|
-
let
|
|
3863
|
-
return e2.length + t2.length && (
|
|
3452
|
+
function te(e2, t2) {
|
|
3453
|
+
let r2 = e2;
|
|
3454
|
+
return e2.length + t2.length && (r2 = new Uint8Array(e2.length + t2.length), r2.set(e2, 0), r2.set(t2, e2.length)), r2;
|
|
3864
3455
|
}
|
|
3865
|
-
function
|
|
3866
|
-
return e2.subarray(t2,
|
|
3456
|
+
function re(e2, t2, r2) {
|
|
3457
|
+
return e2.subarray(t2, r2);
|
|
3867
3458
|
}
|
|
3868
|
-
function
|
|
3459
|
+
function ne(e2, t2) {
|
|
3869
3460
|
return e2.fromBits(t2);
|
|
3870
3461
|
}
|
|
3871
|
-
function
|
|
3462
|
+
function se(e2, t2) {
|
|
3872
3463
|
return e2.toBits(t2);
|
|
3873
3464
|
}
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
constructor({ password: e2, passwordVerification: t2, checkPasswordOnly: n2 }) {
|
|
3465
|
+
class ae extends TransformStream {
|
|
3466
|
+
constructor({ password: e2, passwordVerification: t2, checkPasswordOnly: r2 }) {
|
|
3877
3467
|
super({ start() {
|
|
3878
|
-
Object.assign(this, { password: e2, passwordVerification: t2 }),
|
|
3468
|
+
Object.assign(this, { password: e2, passwordVerification: t2 }), le(this, e2);
|
|
3879
3469
|
}, transform(e3, t3) {
|
|
3880
|
-
const
|
|
3881
|
-
if (
|
|
3882
|
-
const t4 =
|
|
3883
|
-
if (
|
|
3884
|
-
e3 = e3.subarray(
|
|
3470
|
+
const n2 = this;
|
|
3471
|
+
if (n2.password) {
|
|
3472
|
+
const t4 = oe(n2, e3.subarray(0, 12));
|
|
3473
|
+
if (n2.password = null, t4.at(-1) != n2.passwordVerification) throw new Error(_);
|
|
3474
|
+
e3 = e3.subarray(12);
|
|
3885
3475
|
}
|
|
3886
|
-
|
|
3476
|
+
r2 ? t3.error(new Error(O)) : t3.enqueue(oe(n2, e3));
|
|
3887
3477
|
} });
|
|
3888
3478
|
}
|
|
3889
3479
|
}
|
|
3890
|
-
class
|
|
3480
|
+
class ie extends TransformStream {
|
|
3891
3481
|
constructor({ password: e2, passwordVerification: t2 }) {
|
|
3892
3482
|
super({ start() {
|
|
3893
|
-
Object.assign(this, { password: e2, passwordVerification: t2 }),
|
|
3483
|
+
Object.assign(this, { password: e2, passwordVerification: t2 }), le(this, e2);
|
|
3894
3484
|
}, transform(e3, t3) {
|
|
3895
|
-
const
|
|
3896
|
-
let
|
|
3897
|
-
if (
|
|
3898
|
-
|
|
3899
|
-
const t4 =
|
|
3900
|
-
t4[11] =
|
|
3901
|
-
} else
|
|
3902
|
-
|
|
3485
|
+
const r2 = this;
|
|
3486
|
+
let n2, s2;
|
|
3487
|
+
if (r2.password) {
|
|
3488
|
+
r2.password = null;
|
|
3489
|
+
const t4 = E$1(new Uint8Array(12));
|
|
3490
|
+
t4[11] = r2.passwordVerification, n2 = new Uint8Array(e3.length + t4.length), n2.set(ce(r2, t4), 0), s2 = 12;
|
|
3491
|
+
} else n2 = new Uint8Array(e3.length), s2 = 0;
|
|
3492
|
+
n2.set(ce(r2, e3), s2), t3.enqueue(n2);
|
|
3903
3493
|
} });
|
|
3904
3494
|
}
|
|
3905
3495
|
}
|
|
3906
|
-
function
|
|
3907
|
-
const
|
|
3908
|
-
for (let
|
|
3909
|
-
return
|
|
3496
|
+
function oe(e2, t2) {
|
|
3497
|
+
const r2 = new Uint8Array(t2.length);
|
|
3498
|
+
for (let n2 = 0; n2 < t2.length; n2++) r2[n2] = de(e2) ^ t2[n2], ue(e2, r2[n2]);
|
|
3499
|
+
return r2;
|
|
3910
3500
|
}
|
|
3911
|
-
function
|
|
3912
|
-
const
|
|
3913
|
-
for (let
|
|
3914
|
-
return
|
|
3501
|
+
function ce(e2, t2) {
|
|
3502
|
+
const r2 = new Uint8Array(t2.length);
|
|
3503
|
+
for (let n2 = 0; n2 < t2.length; n2++) r2[n2] = de(e2) ^ t2[n2], ue(e2, t2[n2]);
|
|
3504
|
+
return r2;
|
|
3915
3505
|
}
|
|
3916
|
-
function
|
|
3917
|
-
const
|
|
3918
|
-
Object.assign(e2, { keys:
|
|
3919
|
-
for (let
|
|
3506
|
+
function le(e2, t2) {
|
|
3507
|
+
const r2 = [305419896, 591751049, 878082192];
|
|
3508
|
+
Object.assign(e2, { keys: r2, crcKey0: new y$1(r2[0]), crcKey2: new y$1(r2[2]) });
|
|
3509
|
+
for (let r3 = 0; r3 < t2.length; r3++) ue(e2, t2.charCodeAt(r3));
|
|
3920
3510
|
}
|
|
3921
|
-
function
|
|
3922
|
-
let [
|
|
3923
|
-
e2.crcKey0.append([t2]),
|
|
3511
|
+
function ue(e2, t2) {
|
|
3512
|
+
let [r2, n2, s2] = e2.keys;
|
|
3513
|
+
e2.crcKey0.append([t2]), r2 = ~e2.crcKey0.get(), n2 = he(Math.imul(he(n2 + fe(r2)), 134775813) + 1), e2.crcKey2.append([n2 >>> 24]), s2 = ~e2.crcKey2.get(), e2.keys = [r2, n2, s2];
|
|
3924
3514
|
}
|
|
3925
|
-
function
|
|
3515
|
+
function de(e2) {
|
|
3926
3516
|
const t2 = 2 | e2.keys[2];
|
|
3927
|
-
return
|
|
3517
|
+
return fe(Math.imul(t2, 1 ^ t2) >>> 8);
|
|
3928
3518
|
}
|
|
3929
|
-
function
|
|
3519
|
+
function fe(e2) {
|
|
3930
3520
|
return 255 & e2;
|
|
3931
3521
|
}
|
|
3932
|
-
function
|
|
3522
|
+
function he(e2) {
|
|
3933
3523
|
return 4294967295 & e2;
|
|
3934
3524
|
}
|
|
3935
|
-
const
|
|
3936
|
-
class
|
|
3937
|
-
constructor(e2, { chunkSize: t2,
|
|
3525
|
+
const pe = "Invalid uncompressed size";
|
|
3526
|
+
class we extends TransformStream {
|
|
3527
|
+
constructor(e2, { chunkSize: t2, CompressionStreamZlib: r2, CompressionStream: n2 }) {
|
|
3938
3528
|
super({});
|
|
3939
|
-
const { compressed:
|
|
3940
|
-
let d2, f2, h2 =
|
|
3941
|
-
a2 && !o2 || !
|
|
3529
|
+
const { compressed: s2, encrypted: a2, useCompressionStream: i2, zipCrypto: o2, signed: c2, level: l2 } = e2, u2 = this;
|
|
3530
|
+
let d2, f2, h2 = super.readable;
|
|
3531
|
+
a2 && !o2 || !c2 || (d2 = new b$1(), h2 = be(h2, d2)), s2 && (h2 = ye(h2, i2, { level: l2, chunkSize: t2 }, n2, r2, n2)), a2 && (o2 ? h2 = be(h2, new ie(e2)) : (f2 = new X(e2), h2 = be(h2, f2))), me(u2, h2, () => {
|
|
3942
3532
|
let e3;
|
|
3943
|
-
a2 && !o2 && (e3 = f2.signature), a2 && !o2 || !
|
|
3944
|
-
})
|
|
3533
|
+
a2 && !o2 && (e3 = f2.signature), a2 && !o2 || !c2 || (e3 = new DataView(d2.value.buffer).getUint32(0)), u2.signature = e3;
|
|
3534
|
+
});
|
|
3945
3535
|
}
|
|
3946
3536
|
}
|
|
3947
|
-
class
|
|
3948
|
-
constructor(e2, { chunkSize: t2,
|
|
3537
|
+
class ge extends TransformStream {
|
|
3538
|
+
constructor(e2, { chunkSize: t2, DecompressionStreamZlib: r2, DecompressionStream: n2 }) {
|
|
3949
3539
|
super({});
|
|
3950
|
-
const { zipCrypto:
|
|
3951
|
-
let
|
|
3952
|
-
a2 && (
|
|
3953
|
-
if ((!a2 ||
|
|
3954
|
-
const e3 = new DataView(
|
|
3955
|
-
if (o2 != e3.getUint32(0, false)) throw new Error(
|
|
3540
|
+
const { zipCrypto: s2, encrypted: a2, signed: i2, signature: o2, compressed: c2, useCompressionStream: l2, deflate64: u2 } = e2;
|
|
3541
|
+
let d2, f2, h2 = super.readable;
|
|
3542
|
+
a2 && (s2 ? h2 = be(h2, new ae(e2)) : (f2 = new Q(e2), h2 = be(h2, f2))), c2 && (h2 = ye(h2, l2, { chunkSize: t2, deflate64: u2 }, n2, r2, n2)), a2 && !s2 || !i2 || (d2 = new b$1(), h2 = be(h2, d2)), me(this, h2, () => {
|
|
3543
|
+
if ((!a2 || s2) && i2) {
|
|
3544
|
+
const e3 = new DataView(d2.value.buffer);
|
|
3545
|
+
if (o2 != e3.getUint32(0, false)) throw new Error(F);
|
|
3956
3546
|
}
|
|
3957
|
-
})
|
|
3547
|
+
});
|
|
3958
3548
|
}
|
|
3959
3549
|
}
|
|
3960
|
-
function
|
|
3961
|
-
|
|
3962
|
-
e3 && e3.length && t2.enqueue(e3);
|
|
3963
|
-
} }));
|
|
3550
|
+
function me(e2, t2, r2) {
|
|
3551
|
+
t2 = be(t2, new TransformStream({ flush: r2 })), Object.defineProperty(e2, "readable", { get: () => t2 });
|
|
3964
3552
|
}
|
|
3965
|
-
function
|
|
3966
|
-
|
|
3967
|
-
}
|
|
3968
|
-
function Me(e2, t2, n2, i2, r2) {
|
|
3553
|
+
function ye(e2, t2, r2, n2, s2, a2) {
|
|
3554
|
+
const i2 = t2 && n2 ? n2 : s2 || a2, o2 = r2.deflate64 ? "deflate64-raw" : "deflate-raw";
|
|
3969
3555
|
try {
|
|
3970
|
-
e2 =
|
|
3971
|
-
} catch (
|
|
3972
|
-
if (!t2)
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3556
|
+
e2 = be(e2, new i2(o2, r2));
|
|
3557
|
+
} catch (n3) {
|
|
3558
|
+
if (!t2) throw n3;
|
|
3559
|
+
if (s2) e2 = be(e2, new s2(o2, r2));
|
|
3560
|
+
else {
|
|
3561
|
+
if (!a2) throw n3;
|
|
3562
|
+
e2 = be(e2, new a2(o2, r2));
|
|
3977
3563
|
}
|
|
3978
3564
|
}
|
|
3979
3565
|
return e2;
|
|
3980
3566
|
}
|
|
3981
|
-
function
|
|
3567
|
+
function be(e2, t2) {
|
|
3982
3568
|
return e2.pipeThrough(t2);
|
|
3983
3569
|
}
|
|
3984
|
-
const
|
|
3985
|
-
class
|
|
3570
|
+
const Se = "start", ke = "pull", ze = "data", xe = "close", Ue = "inflate";
|
|
3571
|
+
class Ae extends TransformStream {
|
|
3986
3572
|
constructor(e2, t2) {
|
|
3987
3573
|
super({});
|
|
3988
|
-
const
|
|
3989
|
-
let
|
|
3990
|
-
|
|
3991
|
-
let a2 = 0
|
|
3992
|
-
const
|
|
3993
|
-
e3 && e3.length && (s2 += e3.length, t3.enqueue(e3));
|
|
3994
|
-
}, flush() {
|
|
3995
|
-
Object.assign(n2, { inputSize: s2 });
|
|
3996
|
-
} }), u2 = new TransformStream({ transform(e3, t3) {
|
|
3574
|
+
const r2 = this, { codecType: n2 } = e2;
|
|
3575
|
+
let s2;
|
|
3576
|
+
n2.startsWith("deflate") ? s2 = we : n2.startsWith(Ue) && (s2 = ge), r2.outputSize = 0;
|
|
3577
|
+
let a2 = 0;
|
|
3578
|
+
const i2 = new s2(e2, t2), o2 = super.readable, l2 = new TransformStream({ transform(e3, t3) {
|
|
3997
3579
|
e3 && e3.length && (a2 += e3.length, t3.enqueue(e3));
|
|
3998
3580
|
}, flush() {
|
|
3999
|
-
|
|
4000
|
-
|
|
3581
|
+
Object.assign(r2, { inputSize: a2 });
|
|
3582
|
+
} }), u2 = new TransformStream({ transform(t3, n3) {
|
|
3583
|
+
if (t3 && t3.length && (n3.enqueue(t3), r2.outputSize += t3.length, e2.outputSize !== c$1 && r2.outputSize > e2.outputSize)) throw new Error(pe);
|
|
3584
|
+
}, flush() {
|
|
3585
|
+
const { signature: e3 } = i2;
|
|
3586
|
+
Object.assign(r2, { signature: e3, inputSize: a2 });
|
|
4001
3587
|
} });
|
|
4002
|
-
Object.defineProperty(
|
|
3588
|
+
Object.defineProperty(r2, "readable", { get: () => o2.pipeThrough(l2).pipeThrough(i2).pipeThrough(u2) });
|
|
4003
3589
|
}
|
|
4004
3590
|
}
|
|
4005
|
-
class
|
|
3591
|
+
class ve extends TransformStream {
|
|
4006
3592
|
constructor(e2) {
|
|
4007
3593
|
let t2;
|
|
4008
|
-
super({ transform: function n2
|
|
3594
|
+
super({ transform: function r2(n2, s2) {
|
|
4009
3595
|
if (t2) {
|
|
4010
|
-
const e3 = new Uint8Array(t2.length +
|
|
4011
|
-
e3.set(t2), e3.set(
|
|
3596
|
+
const e3 = new Uint8Array(t2.length + n2.length);
|
|
3597
|
+
e3.set(t2), e3.set(n2, t2.length), n2 = e3, t2 = null;
|
|
4012
3598
|
}
|
|
4013
|
-
|
|
3599
|
+
n2.length > e2 ? (s2.enqueue(n2.slice(0, e2)), r2(n2.slice(e2), s2)) : t2 = n2;
|
|
4014
3600
|
}, flush(e3) {
|
|
4015
3601
|
t2 && t2.length && e3.enqueue(t2);
|
|
4016
3602
|
} });
|
|
4017
3603
|
}
|
|
4018
3604
|
}
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
3605
|
+
const De = { type: "module" };
|
|
3606
|
+
let _e, Fe, Oe, Ee = true;
|
|
3607
|
+
try {
|
|
3608
|
+
Ee = typeof structuredClone == d$1 && structuredClone(new DOMException("", "AbortError")).code !== c$1;
|
|
3609
|
+
} catch {
|
|
3610
|
+
}
|
|
3611
|
+
class Te {
|
|
3612
|
+
constructor(e2, { readable: t2, writable: r2 }, { options: n2, config: s2, streamOptions: a2, useWebWorkers: i2, transferStreams: o2, workerURI: l2 }, d2) {
|
|
3613
|
+
const { signal: f2 } = a2;
|
|
3614
|
+
return Object.assign(e2, { busy: true, readable: t2.pipeThrough(new ve(s2.chunkSize)).pipeThrough(new Ce(a2), { signal: f2 }), writable: r2, options: Object.assign({}, n2), workerURI: l2, transferStreams: o2, terminate: () => new Promise((t3) => {
|
|
3615
|
+
const { worker: r3, busy: n3 } = e2;
|
|
3616
|
+
r3 ? (n3 ? e2.resolveTerminated = t3 : (r3.terminate(), t3()), e2.interface = null) : t3();
|
|
3617
|
+
}), onTaskFinished() {
|
|
4027
3618
|
const { resolveTerminated: t3 } = e2;
|
|
4028
|
-
t3 && (e2.resolveTerminated = null, e2.terminated = true, e2.worker.terminate(), t3()), e2.busy = false,
|
|
4029
|
-
} }), (
|
|
3619
|
+
t3 && (e2.resolveTerminated = null, e2.terminated = true, e2.worker.terminate(), t3()), e2.busy = false, d2(e2);
|
|
3620
|
+
} }), _e === c$1 && (_e = typeof Worker != u$1), (i2 && _e ? Me : We)(e2, s2);
|
|
4030
3621
|
}
|
|
4031
3622
|
}
|
|
4032
|
-
class
|
|
4033
|
-
constructor(
|
|
4034
|
-
let
|
|
3623
|
+
class Ce extends TransformStream {
|
|
3624
|
+
constructor({ onstart: e2, onprogress: t2, size: r2, onend: n2 }) {
|
|
3625
|
+
let s2 = 0;
|
|
4035
3626
|
super({ async start() {
|
|
4036
|
-
|
|
4037
|
-
}, async transform(e3,
|
|
4038
|
-
|
|
3627
|
+
e2 && await Re(e2, r2);
|
|
3628
|
+
}, async transform(e3, n3) {
|
|
3629
|
+
s2 += e3.length, t2 && await Re(t2, s2, r2), n3.enqueue(e3);
|
|
4039
3630
|
}, async flush() {
|
|
4040
|
-
|
|
3631
|
+
n2 && await Re(n2, s2);
|
|
4041
3632
|
} });
|
|
4042
3633
|
}
|
|
4043
3634
|
}
|
|
4044
|
-
async function
|
|
3635
|
+
async function Re(e2, ...t2) {
|
|
4045
3636
|
try {
|
|
4046
3637
|
await e2(...t2);
|
|
4047
|
-
} catch
|
|
3638
|
+
} catch {
|
|
4048
3639
|
}
|
|
4049
3640
|
}
|
|
4050
|
-
function
|
|
4051
|
-
return { run: () => (async function({ options: e3, readable: t3, writable:
|
|
3641
|
+
function We(e2, t2) {
|
|
3642
|
+
return { run: () => (async function({ options: e3, readable: t3, writable: r2, onTaskFinished: n2 }, s2) {
|
|
3643
|
+
let a2;
|
|
4052
3644
|
try {
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
3645
|
+
if (!e3.useCompressionStream) try {
|
|
3646
|
+
await void 0;
|
|
3647
|
+
} catch {
|
|
3648
|
+
e3.useCompressionStream = true;
|
|
3649
|
+
}
|
|
3650
|
+
a2 = new Ae(e3, s2), await t3.pipeThrough(a2).pipeTo(r2, { preventClose: true, preventAbort: true });
|
|
3651
|
+
const { signature: n3, inputSize: i2, outputSize: o2 } = a2;
|
|
3652
|
+
return { signature: n3, inputSize: i2, outputSize: o2 };
|
|
3653
|
+
} catch (e4) {
|
|
3654
|
+
throw a2 && (e4.outputSize = a2.outputSize), e4;
|
|
4057
3655
|
} finally {
|
|
4058
|
-
|
|
3656
|
+
n2();
|
|
4059
3657
|
}
|
|
4060
3658
|
})(e2, t2) };
|
|
4061
3659
|
}
|
|
4062
|
-
function
|
|
4063
|
-
const {
|
|
3660
|
+
function Me(e2, t2) {
|
|
3661
|
+
const { baseURI: r2, chunkSize: n2 } = t2;
|
|
3662
|
+
let { wasmURI: s2 } = t2;
|
|
4064
3663
|
if (!e2.interface) {
|
|
4065
|
-
let
|
|
3664
|
+
let a2;
|
|
3665
|
+
typeof s2 == d$1 && (s2 = s2());
|
|
4066
3666
|
try {
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
}
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
const { message: e6, stack: t5, code: n5, name: i5 } = s2, r5 = new Error(e6);
|
|
4087
|
-
Object.assign(r5, { stack: t5, code: n5, name: i5 }), f2(r5);
|
|
4088
|
-
} else {
|
|
4089
|
-
if (n4 == Be) {
|
|
4090
|
-
const { value: e6, done: n5 } = await o2.read();
|
|
4091
|
-
et({ type: Ie, value: e6, done: n5, messageId: r4 }, t4);
|
|
4092
|
-
}
|
|
4093
|
-
n4 == Ie && (await l2.ready, await l2.write(new Uint8Array(i4)), et({ type: "ack", messageId: r4 }, t4)), n4 == Ne && f2(null, a3);
|
|
4094
|
-
}
|
|
4095
|
-
} catch (s3) {
|
|
4096
|
-
et({ type: Ne, messageId: r4 }, t4), f2(s3);
|
|
4097
|
-
}
|
|
4098
|
-
function f2(e6, t5) {
|
|
4099
|
-
e6 ? u2(e6) : c2(t5), l2 && l2.releaseLock(), d2();
|
|
4100
|
-
}
|
|
4101
|
-
})(e4, n3))), a2;
|
|
4102
|
-
})(e2.scripts[0], n2, e2);
|
|
4103
|
-
} catch (n3) {
|
|
4104
|
-
return Ke = false, Qe(e2, t2);
|
|
4105
|
-
}
|
|
4106
|
-
Object.assign(e2, { worker: r2, interface: { run: () => (async function(e3, t3) {
|
|
4107
|
-
let n3, i3;
|
|
4108
|
-
const r3 = new Promise(((e4, t4) => {
|
|
4109
|
-
n3 = e4, i3 = t4;
|
|
4110
|
-
}));
|
|
4111
|
-
Object.assign(e3, { reader: null, writer: null, resolveResult: n3, rejectResult: i3, result: r3 });
|
|
4112
|
-
const { readable: a2, options: s2, scripts: o2 } = e3, { writable: l2, closed: c2 } = (function(e4) {
|
|
4113
|
-
let t4;
|
|
4114
|
-
const n4 = new Promise(((e5) => t4 = e5)), i4 = new WritableStream({ async write(t5) {
|
|
4115
|
-
const n5 = e4.getWriter();
|
|
4116
|
-
await n5.ready, await n5.write(t5), n5.releaseLock();
|
|
4117
|
-
}, close() {
|
|
4118
|
-
t4();
|
|
4119
|
-
}, abort: (t5) => e4.getWriter().abort(t5) });
|
|
4120
|
-
return { writable: i4, closed: n4 };
|
|
4121
|
-
})(e3.writable), u2 = et({ type: Re, scripts: o2.slice(1), options: s2, config: t3, readable: a2, writable: l2 }, e3);
|
|
4122
|
-
u2 || Object.assign(e3, { reader: a2.getReader(), writer: l2.getWriter() });
|
|
4123
|
-
const d2 = await r3;
|
|
4124
|
-
u2 || await l2.getWriter().close();
|
|
4125
|
-
return await c2, d2;
|
|
4126
|
-
})(e2, { chunkSize: i2 }) } });
|
|
3667
|
+
a2 = je(e2.workerURI, r2, e2);
|
|
3668
|
+
} catch {
|
|
3669
|
+
return _e = false, We(e2, t2);
|
|
3670
|
+
}
|
|
3671
|
+
Object.assign(e2, { worker: a2, interface: { run: () => (async function(e3, t3) {
|
|
3672
|
+
let r3, n3;
|
|
3673
|
+
const s3 = new Promise((e4, t4) => {
|
|
3674
|
+
r3 = e4, n3 = t4;
|
|
3675
|
+
});
|
|
3676
|
+
Object.assign(e3, { reader: null, writer: null, resolveResult: r3, rejectResult: n3, result: s3 });
|
|
3677
|
+
const { readable: a3, options: i2 } = e3, { writable: o2, closed: c2 } = (function(e4) {
|
|
3678
|
+
const { writable: t4, readable: r4 } = new TransformStream(), n4 = r4.pipeTo(e4, { preventClose: true });
|
|
3679
|
+
return { writable: t4, closed: n4 };
|
|
3680
|
+
})(e3.writable), l2 = Ie({ type: Se, options: i2, config: t3, readable: a3, writable: o2 }, e3);
|
|
3681
|
+
l2 || Object.assign(e3, { reader: a3.getReader(), writer: o2.getWriter() });
|
|
3682
|
+
const u2 = await s3;
|
|
3683
|
+
l2 || await o2.getWriter().close();
|
|
3684
|
+
return await c2, u2;
|
|
3685
|
+
})(e2, { chunkSize: n2, wasmURI: s2, baseURI: r2 }) } });
|
|
4127
3686
|
}
|
|
4128
3687
|
return e2.interface;
|
|
4129
3688
|
}
|
|
4130
|
-
|
|
4131
|
-
|
|
3689
|
+
function je(e2, t2, r2, n2, s2 = true) {
|
|
3690
|
+
let a2, i2, o2;
|
|
3691
|
+
if (Fe === c$1) {
|
|
3692
|
+
const l2 = typeof e2 == d$1;
|
|
3693
|
+
i2 = l2 ? e2(s2) : e2;
|
|
3694
|
+
const u2 = i2.startsWith("data:"), f2 = i2.startsWith("blob:");
|
|
3695
|
+
if (u2 || f2) {
|
|
3696
|
+
n2 === c$1 && (n2 = false), n2 && (o2 = De);
|
|
3697
|
+
try {
|
|
3698
|
+
a2 = new Worker(i2, o2);
|
|
3699
|
+
} catch (s3) {
|
|
3700
|
+
if (f2) try {
|
|
3701
|
+
URL.revokeObjectURL(i2);
|
|
3702
|
+
} catch {
|
|
3703
|
+
}
|
|
3704
|
+
if (l2 && f2) return je(e2, t2, r2, n2, false);
|
|
3705
|
+
if (n2) throw s3;
|
|
3706
|
+
return je(e2, t2, r2, true, false);
|
|
3707
|
+
}
|
|
3708
|
+
} else {
|
|
3709
|
+
n2 === c$1 && (n2 = true), n2 && (o2 = De);
|
|
3710
|
+
try {
|
|
3711
|
+
i2 = new URL(i2, t2);
|
|
3712
|
+
} catch {
|
|
3713
|
+
}
|
|
3714
|
+
try {
|
|
3715
|
+
a2 = new Worker(i2, o2);
|
|
3716
|
+
} catch (a3) {
|
|
3717
|
+
if (n2) throw a3;
|
|
3718
|
+
return je(e2, t2, r2, false, s2);
|
|
3719
|
+
}
|
|
3720
|
+
}
|
|
3721
|
+
Fe = i2, Oe = o2;
|
|
3722
|
+
} else a2 = new Worker(Fe, Oe);
|
|
3723
|
+
return a2.addEventListener("message", (e3) => (async function({ data: e4 }, t3) {
|
|
3724
|
+
const { type: r3, value: n3, messageId: s3, result: a3, error: i3 } = e4, { reader: o3, writer: c2, resolveResult: l2, rejectResult: u2, onTaskFinished: d2 } = t3;
|
|
3725
|
+
try {
|
|
3726
|
+
if (i3) {
|
|
3727
|
+
const { message: e5, stack: t4, code: r4, name: n4, outputSize: s4 } = i3, a4 = new Error(e5);
|
|
3728
|
+
Object.assign(a4, { stack: t4, code: r4, name: n4, outputSize: s4 }), f2(a4);
|
|
3729
|
+
} else {
|
|
3730
|
+
if (r3 == ke) {
|
|
3731
|
+
const { value: e5, done: r4 } = await o3.read();
|
|
3732
|
+
Ie({ type: ze, value: e5, done: r4, messageId: s3 }, t3);
|
|
3733
|
+
}
|
|
3734
|
+
r3 == ze && (await c2.ready, await c2.write(new Uint8Array(n3)), Ie({ type: "ack", messageId: s3 }, t3)), r3 == xe && f2(null, a3);
|
|
3735
|
+
}
|
|
3736
|
+
} catch (i4) {
|
|
3737
|
+
Ie({ type: xe, messageId: s3 }, t3), f2(i4);
|
|
3738
|
+
}
|
|
3739
|
+
function f2(e5, t4) {
|
|
3740
|
+
e5 ? u2(e5) : l2(t4), c2 && c2.releaseLock(), d2();
|
|
3741
|
+
}
|
|
3742
|
+
})(e3, r2)), a2;
|
|
3743
|
+
}
|
|
3744
|
+
function Ie(e2, { worker: t2, writer: r2, onTaskFinished: n2, transferStreams: s2 }) {
|
|
4132
3745
|
try {
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
$e = false, e2.readable = e2.writable = null, t2.postMessage(e2);
|
|
3746
|
+
const { value: r3, readable: n3, writable: a2 } = e2, i2 = [];
|
|
3747
|
+
if (r3 && (e2.value = r3, i2.push(e2.value.buffer)), s2 && Ee ? (n3 && i2.push(n3), a2 && i2.push(a2)) : e2.readable = e2.writable = null, i2.length) try {
|
|
3748
|
+
return t2.postMessage(e2, i2), true;
|
|
3749
|
+
} catch {
|
|
3750
|
+
Ee = false, e2.readable = e2.writable = null, t2.postMessage(e2);
|
|
4139
3751
|
}
|
|
4140
3752
|
else t2.postMessage(e2);
|
|
4141
3753
|
} catch (e3) {
|
|
4142
|
-
throw
|
|
4143
|
-
}
|
|
4144
|
-
}
|
|
4145
|
-
let
|
|
4146
|
-
const
|
|
4147
|
-
let
|
|
4148
|
-
async function
|
|
4149
|
-
const { options:
|
|
4150
|
-
t2.transferStreams =
|
|
4151
|
-
const h2 = !(
|
|
4152
|
-
return t2.useWebWorkers = !h2 && (a2 || a2 ===
|
|
4153
|
-
const
|
|
4154
|
-
if (
|
|
4155
|
-
if (
|
|
4156
|
-
const
|
|
4157
|
-
return
|
|
4158
|
-
}
|
|
4159
|
-
return new Promise((
|
|
3754
|
+
throw r2 && r2.releaseLock(), n2(), e3;
|
|
3755
|
+
}
|
|
3756
|
+
}
|
|
3757
|
+
let Be = [];
|
|
3758
|
+
const Pe = [];
|
|
3759
|
+
let Le = 0;
|
|
3760
|
+
async function Ve(e2, t2) {
|
|
3761
|
+
const { options: r2, config: n2 } = t2, { transferStreams: s2, useWebWorkers: a2, useCompressionStream: i2, compressed: o2, signed: l2, encrypted: u2 } = r2, { workerURI: d2, maxWorkers: f2 } = n2;
|
|
3762
|
+
t2.transferStreams = s2 || s2 === c$1;
|
|
3763
|
+
const h2 = !(o2 || l2 || u2 || t2.transferStreams);
|
|
3764
|
+
return t2.useWebWorkers = !h2 && (a2 || a2 === c$1 && n2.useWebWorkers), t2.workerURI = t2.useWebWorkers && d2 ? d2 : c$1, r2.useCompressionStream = i2 || i2 === c$1 && n2.useCompressionStream, (await (async function() {
|
|
3765
|
+
const r3 = Be.find((e3) => !e3.busy);
|
|
3766
|
+
if (r3) return Ne(r3), new Te(r3, e2, t2, p2);
|
|
3767
|
+
if (Be.length < f2) {
|
|
3768
|
+
const r4 = { indexWorker: Le };
|
|
3769
|
+
return Le++, Be.push(r4), new Te(r4, e2, t2, p2);
|
|
3770
|
+
}
|
|
3771
|
+
return new Promise((r4) => Pe.push({ resolve: r4, stream: e2, workerOptions: t2 }));
|
|
4160
3772
|
})()).run();
|
|
4161
|
-
function
|
|
4162
|
-
if (
|
|
4163
|
-
const [{ resolve: t3, stream:
|
|
4164
|
-
t3(new
|
|
4165
|
-
} else e3.worker ? (
|
|
4166
|
-
const { config:
|
|
4167
|
-
Number.isFinite(
|
|
4168
|
-
|
|
3773
|
+
function p2(e3) {
|
|
3774
|
+
if (Pe.length) {
|
|
3775
|
+
const [{ resolve: t3, stream: r3, workerOptions: n3 }] = Pe.splice(0, 1);
|
|
3776
|
+
t3(new Te(e3, r3, n3, p2));
|
|
3777
|
+
} else e3.worker ? (Ne(e3), (function(e4, t3) {
|
|
3778
|
+
const { config: r3 } = t3, { terminateWorkerTimeout: n3 } = r3;
|
|
3779
|
+
Number.isFinite(n3) && n3 >= 0 && (e4.terminated ? e4.terminated = false : e4.terminateTimeout = setTimeout(async () => {
|
|
3780
|
+
Be = Be.filter((t4) => t4 != e4);
|
|
4169
3781
|
try {
|
|
4170
3782
|
await e4.terminate();
|
|
4171
|
-
} catch
|
|
3783
|
+
} catch {
|
|
4172
3784
|
}
|
|
4173
|
-
}
|
|
4174
|
-
})(e3, t2)) :
|
|
3785
|
+
}, n3));
|
|
3786
|
+
})(e3, t2)) : Be = Be.filter((t3) => t3 != e3);
|
|
4175
3787
|
}
|
|
4176
3788
|
}
|
|
4177
|
-
function
|
|
3789
|
+
function Ne(e2) {
|
|
4178
3790
|
const { terminateTimeout: t2 } = e2;
|
|
4179
3791
|
t2 && (clearTimeout(t2), e2.terminateTimeout = null);
|
|
4180
3792
|
}
|
|
4181
|
-
const
|
|
4182
|
-
class
|
|
3793
|
+
const Ze = 65536, qe = "writable";
|
|
3794
|
+
class He {
|
|
4183
3795
|
constructor() {
|
|
4184
3796
|
this.size = 0;
|
|
4185
3797
|
}
|
|
@@ -4187,403 +3799,461 @@
|
|
|
4187
3799
|
this.initialized = true;
|
|
4188
3800
|
}
|
|
4189
3801
|
}
|
|
4190
|
-
class
|
|
3802
|
+
class Ke extends He {
|
|
4191
3803
|
get readable() {
|
|
4192
|
-
const e2 = this, { chunkSize: t2 =
|
|
3804
|
+
const e2 = this, { chunkSize: t2 = Ze } = e2, r2 = new ReadableStream({ start() {
|
|
4193
3805
|
this.chunkOffset = 0;
|
|
4194
|
-
}, async pull(
|
|
4195
|
-
const { offset:
|
|
4196
|
-
|
|
3806
|
+
}, async pull(n2) {
|
|
3807
|
+
const { offset: s2 = 0, size: a2, diskNumberStart: i2 } = r2, { chunkOffset: o2 } = this, l2 = a2 === c$1 ? t2 : Math.min(t2, a2 - o2), u2 = await rt(e2, s2 + o2, l2, i2);
|
|
3808
|
+
n2.enqueue(u2), o2 + t2 > a2 || a2 === c$1 && !u2.length && l2 ? n2.close() : this.chunkOffset += t2;
|
|
4197
3809
|
} });
|
|
4198
|
-
return
|
|
3810
|
+
return r2;
|
|
4199
3811
|
}
|
|
4200
3812
|
}
|
|
4201
|
-
class
|
|
3813
|
+
class Ge extends Ke {
|
|
4202
3814
|
constructor(e2) {
|
|
4203
3815
|
super(), Object.assign(this, { blob: e2, size: e2.size });
|
|
4204
3816
|
}
|
|
4205
3817
|
async readUint8Array(e2, t2) {
|
|
4206
|
-
const
|
|
4207
|
-
let a2 = await
|
|
4208
|
-
return a2.byteLength > t2 && (a2 = a2.slice(e2,
|
|
3818
|
+
const r2 = this, n2 = e2 + t2, s2 = e2 || n2 < r2.size ? r2.blob.slice(e2, n2) : r2.blob;
|
|
3819
|
+
let a2 = await s2.arrayBuffer();
|
|
3820
|
+
return a2.byteLength > t2 && (a2 = a2.slice(e2, n2)), new Uint8Array(a2);
|
|
4209
3821
|
}
|
|
4210
3822
|
}
|
|
4211
|
-
class
|
|
3823
|
+
class Je extends He {
|
|
4212
3824
|
constructor(e2) {
|
|
4213
3825
|
super();
|
|
4214
|
-
const t2 = new TransformStream(),
|
|
4215
|
-
e2 &&
|
|
3826
|
+
const t2 = new TransformStream(), r2 = [];
|
|
3827
|
+
e2 && r2.push(["Content-Type", e2]), Object.defineProperty(this, qe, { get: () => t2.writable }), this.blob = new Response(t2.readable, { headers: r2 }).blob();
|
|
4216
3828
|
}
|
|
4217
3829
|
getData() {
|
|
4218
3830
|
return this.blob;
|
|
4219
3831
|
}
|
|
4220
3832
|
}
|
|
4221
|
-
class
|
|
3833
|
+
class Qe extends Je {
|
|
4222
3834
|
constructor(e2) {
|
|
4223
3835
|
super(e2), Object.assign(this, { encoding: e2, utf8: !e2 || "utf-8" == e2.toLowerCase() });
|
|
4224
3836
|
}
|
|
4225
3837
|
async getData() {
|
|
4226
|
-
const { encoding: e2, utf8: t2 } = this,
|
|
4227
|
-
if (
|
|
3838
|
+
const { encoding: e2, utf8: t2 } = this, r2 = await super.getData();
|
|
3839
|
+
if (r2.text && t2) return r2.text();
|
|
4228
3840
|
{
|
|
4229
3841
|
const t3 = new FileReader();
|
|
4230
|
-
return new Promise((
|
|
4231
|
-
Object.assign(t3, { onload: ({ target: e3 }) =>
|
|
4232
|
-
})
|
|
3842
|
+
return new Promise((n2, s2) => {
|
|
3843
|
+
Object.assign(t3, { onload: ({ target: e3 }) => n2(e3.result), onerror: () => s2(t3.error) }), t3.readAsText(r2, e2);
|
|
3844
|
+
});
|
|
4233
3845
|
}
|
|
4234
3846
|
}
|
|
4235
3847
|
}
|
|
4236
|
-
class
|
|
3848
|
+
class Xe extends Ke {
|
|
4237
3849
|
constructor(e2) {
|
|
4238
3850
|
super(), this.readers = e2;
|
|
4239
3851
|
}
|
|
4240
3852
|
async init() {
|
|
4241
3853
|
const e2 = this, { readers: t2 } = e2;
|
|
4242
|
-
e2.lastDiskNumber = 0, e2.lastDiskOffset = 0, await Promise.all(t2.map(
|
|
4243
|
-
await
|
|
4244
|
-
}))
|
|
4245
|
-
}
|
|
4246
|
-
async readUint8Array(e2, t2,
|
|
4247
|
-
const
|
|
4248
|
-
let a2,
|
|
4249
|
-
-1 ==
|
|
3854
|
+
e2.lastDiskNumber = 0, e2.lastDiskOffset = 0, await Promise.all(t2.map(async (r2, n2) => {
|
|
3855
|
+
await r2.init(), n2 != t2.length - 1 && (e2.lastDiskOffset += r2.size), e2.size += r2.size;
|
|
3856
|
+
})), super.init();
|
|
3857
|
+
}
|
|
3858
|
+
async readUint8Array(e2, t2, r2 = 0) {
|
|
3859
|
+
const n2 = this, { readers: s2 } = this;
|
|
3860
|
+
let a2, i2 = r2;
|
|
3861
|
+
-1 == i2 && (i2 = s2.length - 1);
|
|
4250
3862
|
let o2 = e2;
|
|
4251
|
-
for (; o2 >=
|
|
4252
|
-
const
|
|
4253
|
-
if (
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
3863
|
+
for (; s2[i2] && o2 >= s2[i2].size; ) o2 -= s2[i2].size, i2++;
|
|
3864
|
+
const c2 = s2[i2];
|
|
3865
|
+
if (c2) {
|
|
3866
|
+
const s3 = c2.size;
|
|
3867
|
+
if (o2 + t2 <= s3) a2 = await rt(c2, o2, t2);
|
|
3868
|
+
else {
|
|
3869
|
+
const i3 = s3 - o2;
|
|
3870
|
+
a2 = new Uint8Array(t2);
|
|
3871
|
+
const l2 = await rt(c2, o2, i3);
|
|
3872
|
+
a2.set(l2, 0);
|
|
3873
|
+
const u2 = await n2.readUint8Array(e2 + i3, t2 - i3, r2);
|
|
3874
|
+
a2.set(u2, i3), l2.length + u2.length < t2 && (a2 = a2.subarray(0, l2.length + u2.length));
|
|
3875
|
+
}
|
|
3876
|
+
} else a2 = new Uint8Array();
|
|
3877
|
+
return n2.lastDiskNumber = Math.max(i2, n2.lastDiskNumber), a2;
|
|
4259
3878
|
}
|
|
4260
3879
|
}
|
|
4261
|
-
class
|
|
3880
|
+
class Ye extends He {
|
|
4262
3881
|
constructor(e2, t2 = 4294967295) {
|
|
4263
3882
|
super();
|
|
4264
|
-
const
|
|
4265
|
-
let
|
|
4266
|
-
Object.assign(
|
|
4267
|
-
const
|
|
4268
|
-
const { availableSize:
|
|
4269
|
-
if (a2) t3.length >=
|
|
3883
|
+
const r2 = this;
|
|
3884
|
+
let n2, s2, a2;
|
|
3885
|
+
Object.assign(r2, { diskNumber: 0, diskOffset: 0, size: 0, maxSize: t2, availableSize: t2 });
|
|
3886
|
+
const i2 = new WritableStream({ async write(t3) {
|
|
3887
|
+
const { availableSize: i3 } = r2;
|
|
3888
|
+
if (a2) t3.length >= i3 ? (await o2(t3.subarray(0, i3)), await c2(), r2.diskOffset += n2.size, r2.diskNumber++, a2 = null, await this.write(t3.subarray(i3))) : await o2(t3);
|
|
4270
3889
|
else {
|
|
4271
|
-
const { value:
|
|
4272
|
-
if (o3 && !
|
|
4273
|
-
|
|
3890
|
+
const { value: i4, done: o3 } = await e2.next();
|
|
3891
|
+
if (o3 && !i4) throw new Error("Writer iterator completed too soon");
|
|
3892
|
+
n2 = i4, n2.size = 0, n2.maxSize && (r2.maxSize = n2.maxSize), r2.availableSize = r2.maxSize, await tt(n2), s2 = i4.writable, a2 = s2.getWriter(), await this.write(t3);
|
|
4274
3893
|
}
|
|
4275
3894
|
}, async close() {
|
|
4276
|
-
await a2.ready, await
|
|
3895
|
+
await a2.ready, await c2();
|
|
4277
3896
|
} });
|
|
4278
3897
|
async function o2(e3) {
|
|
4279
3898
|
const t3 = e3.length;
|
|
4280
|
-
t3 && (await a2.ready, await a2.write(e3),
|
|
3899
|
+
t3 && (await a2.ready, await a2.write(e3), n2.size += t3, r2.size += t3, r2.availableSize -= t3);
|
|
4281
3900
|
}
|
|
4282
|
-
async function
|
|
4283
|
-
|
|
3901
|
+
async function c2() {
|
|
3902
|
+
await a2.close();
|
|
4284
3903
|
}
|
|
4285
|
-
Object.defineProperty(
|
|
3904
|
+
Object.defineProperty(r2, qe, { get: () => i2 });
|
|
4286
3905
|
}
|
|
4287
3906
|
}
|
|
4288
|
-
|
|
3907
|
+
class $e {
|
|
3908
|
+
constructor(e2) {
|
|
3909
|
+
return Array.isArray(e2) && (e2 = new Xe(e2)), e2 instanceof ReadableStream && (e2 = { readable: e2 }), e2;
|
|
3910
|
+
}
|
|
3911
|
+
}
|
|
3912
|
+
class et {
|
|
3913
|
+
constructor(e2) {
|
|
3914
|
+
return e2.writable === c$1 && typeof e2.next == d$1 && (e2 = new Ye(e2)), e2 instanceof WritableStream && (e2 = { writable: e2 }), e2.size === c$1 && (e2.size = 0), e2 instanceof Ye || Object.assign(e2, { diskNumber: 0, diskOffset: 0, availableSize: l$1, maxSize: l$1 }), e2;
|
|
3915
|
+
}
|
|
3916
|
+
}
|
|
3917
|
+
async function tt(e2, t2) {
|
|
4289
3918
|
if (!e2.init || e2.initialized) return Promise.resolve();
|
|
4290
3919
|
await e2.init(t2);
|
|
4291
3920
|
}
|
|
4292
|
-
function
|
|
4293
|
-
return
|
|
4294
|
-
}
|
|
4295
|
-
function pt(e2, t2, n2, i2) {
|
|
4296
|
-
return e2.readUint8Array(t2, n2, i2);
|
|
3921
|
+
function rt(e2, t2, r2, n2) {
|
|
3922
|
+
return e2.readUint8Array(t2, r2, n2);
|
|
4297
3923
|
}
|
|
4298
|
-
const
|
|
4299
|
-
function
|
|
3924
|
+
const nt = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""), st = 256 == nt.length;
|
|
3925
|
+
function at(e2, t2) {
|
|
4300
3926
|
return t2 && "cp437" == t2.trim().toLowerCase() ? (function(e3) {
|
|
4301
|
-
if (
|
|
3927
|
+
if (st) {
|
|
4302
3928
|
let t3 = "";
|
|
4303
|
-
for (let
|
|
3929
|
+
for (let r2 = 0; r2 < e3.length; r2++) t3 += nt[e3[r2]];
|
|
4304
3930
|
return t3;
|
|
4305
3931
|
}
|
|
4306
3932
|
return new TextDecoder().decode(e3);
|
|
4307
3933
|
})(e2) : new TextDecoder(t2).decode(e2);
|
|
4308
3934
|
}
|
|
4309
|
-
const
|
|
4310
|
-
class
|
|
3935
|
+
const it = "filename", ot = "rawFilename", ct = "comment", lt = "rawComment", ut = "uncompressedSize", dt = "compressedSize", ft = "offset", ht = "diskNumberStart", pt = "lastModDate", wt = "rawLastModDate", gt = "lastAccessDate", mt = "rawLastAccessDate", yt = "creationDate", bt = "rawCreationDate", St = [it, ot, ut, dt, pt, wt, ct, lt, gt, yt, bt, ft, ht, "internalFileAttributes", "externalFileAttributes", "msdosAttributesRaw", "msdosAttributes", "msDosCompatible", "zip64", "encrypted", "version", "versionMadeBy", "zipCrypto", "directory", "executable", "compressionMethod", "signature", "extraField", "extraFieldUnix", "extraFieldInfoZip", "uid", "gid", "unixMode", "setuid", "setgid", "sticky", "bitFlag", "filenameUTF8", "commentUTF8", "rawExtraField", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS", "extraFieldExtendedTimestamp"];
|
|
3936
|
+
class kt {
|
|
4311
3937
|
constructor(e2) {
|
|
4312
|
-
|
|
3938
|
+
St.forEach((t2) => this[t2] = e2[t2]);
|
|
4313
3939
|
}
|
|
4314
3940
|
}
|
|
4315
|
-
const
|
|
4316
|
-
class
|
|
3941
|
+
const zt = "File format is not recognized", xt = "Zip64 extra field not found", Ut = "Compression method not supported", At = "Split zip file", vt = "Overlapping entry found", Dt = "utf-8", _t = "cp437", Ft = [[ut, e$1], [dt, e$1], [ft, e$1], [ht, t$1]], Ot = { [t$1]: { getValue: Nt, bytes: 4 }, [e$1]: { getValue: Zt, bytes: 8 } };
|
|
3942
|
+
class Et {
|
|
4317
3943
|
constructor(e2, t2 = {}) {
|
|
4318
|
-
Object.assign(this, { reader:
|
|
4319
|
-
}
|
|
4320
|
-
async *getEntriesGenerator(
|
|
4321
|
-
const
|
|
4322
|
-
let { reader:
|
|
4323
|
-
const { config:
|
|
4324
|
-
if (await
|
|
4325
|
-
|
|
4326
|
-
return Math.max(
|
|
4327
|
-
})(
|
|
4328
|
-
const
|
|
4329
|
-
const
|
|
4330
|
-
!(function(
|
|
4331
|
-
|
|
4332
|
-
})(
|
|
4333
|
-
const
|
|
4334
|
-
return await
|
|
4335
|
-
async function
|
|
4336
|
-
const
|
|
4337
|
-
for (let
|
|
3944
|
+
Object.assign(this, { reader: new $e(e2), options: t2, config: p$1, readRanges: [] });
|
|
3945
|
+
}
|
|
3946
|
+
async *getEntriesGenerator(n2 = {}) {
|
|
3947
|
+
const l2 = this;
|
|
3948
|
+
let { reader: u2 } = l2;
|
|
3949
|
+
const { config: d2 } = l2;
|
|
3950
|
+
if (await tt(u2), u2.size !== c$1 && u2.readUint8Array || (u2 = new Ge(await new Response(u2.readable).blob()), await tt(u2)), u2.size < i$1) throw new Error(zt);
|
|
3951
|
+
u2.chunkSize = (function(e2) {
|
|
3952
|
+
return Math.max(e2.chunkSize, 64);
|
|
3953
|
+
})(d2);
|
|
3954
|
+
const f2 = await (async function(e2, t2, r2, n3, s2) {
|
|
3955
|
+
const a2 = new Uint8Array(4);
|
|
3956
|
+
!(function(e3, t3, r3) {
|
|
3957
|
+
e3.setUint32(t3, r3, true);
|
|
3958
|
+
})(qt(a2), 0, t2);
|
|
3959
|
+
const i2 = n3 + s2;
|
|
3960
|
+
return await o2(n3) || await o2(Math.min(i2, r2));
|
|
3961
|
+
async function o2(t3) {
|
|
3962
|
+
const s3 = r2 - t3, i3 = await rt(e2, s3, t3);
|
|
3963
|
+
for (let e3 = i3.length - n3; e3 >= 0; e3--) if (i3[e3] == a2[0] && i3[e3 + 1] == a2[1] && i3[e3 + 2] == a2[2] && i3[e3 + 3] == a2[3]) return { offset: s3 + e3, buffer: i3.slice(e3, e3 + n3).buffer };
|
|
4338
3964
|
}
|
|
4339
|
-
})(
|
|
4340
|
-
if (!
|
|
4341
|
-
throw
|
|
4342
|
-
}
|
|
4343
|
-
const
|
|
4344
|
-
let
|
|
4345
|
-
const
|
|
4346
|
-
let
|
|
4347
|
-
const
|
|
4348
|
-
let
|
|
4349
|
-
if (
|
|
4350
|
-
const
|
|
4351
|
-
if (117853008 ==
|
|
4352
|
-
|
|
4353
|
-
let
|
|
4354
|
-
const
|
|
4355
|
-
if (
|
|
4356
|
-
const
|
|
4357
|
-
|
|
3965
|
+
})(u2, 101010256, u2.size, i$1, 1048560);
|
|
3966
|
+
if (!f2) {
|
|
3967
|
+
throw Nt(qt(await rt(u2, 0, 4))) == r$1 ? new Error(At) : new Error("End of central directory not found");
|
|
3968
|
+
}
|
|
3969
|
+
const h2 = qt(f2);
|
|
3970
|
+
let p2 = Nt(h2, 12), w2 = Nt(h2, 16);
|
|
3971
|
+
const g2 = f2.offset, m2 = Vt(h2, 20), y2 = g2 + i$1 + m2;
|
|
3972
|
+
let b2 = Vt(h2, 4);
|
|
3973
|
+
const S2 = u2.lastDiskNumber || 0;
|
|
3974
|
+
let k2 = Vt(h2, 6), z2 = Vt(h2, 8), x2 = 0, U2 = 0;
|
|
3975
|
+
if (w2 == e$1 || p2 == e$1 || z2 == t$1 || k2 == t$1) {
|
|
3976
|
+
const r2 = qt(await rt(u2, f2.offset - 20, 20));
|
|
3977
|
+
if (117853008 == Nt(r2, 0)) {
|
|
3978
|
+
w2 = Zt(r2, 8);
|
|
3979
|
+
let n3 = await rt(u2, w2, 56, -1), s2 = qt(n3);
|
|
3980
|
+
const i2 = f2.offset - 20 - 56;
|
|
3981
|
+
if (Nt(s2, 0) != a$1 && w2 != i2) {
|
|
3982
|
+
const e2 = w2;
|
|
3983
|
+
w2 = i2, w2 > e2 && (x2 = w2 - e2), n3 = await rt(u2, w2, 56, -1), s2 = qt(n3);
|
|
4358
3984
|
}
|
|
4359
|
-
if (
|
|
4360
|
-
|
|
3985
|
+
if (Nt(s2, 0) != a$1) throw new Error("End of Zip64 central directory locator not found");
|
|
3986
|
+
b2 == t$1 && (b2 = Nt(s2, 16)), k2 == t$1 && (k2 = Nt(s2, 20)), z2 == t$1 && (z2 = Zt(s2, 32)), p2 == e$1 && (p2 = Zt(s2, 40)), w2 -= p2;
|
|
4361
3987
|
}
|
|
4362
3988
|
}
|
|
4363
|
-
if (
|
|
4364
|
-
if (
|
|
4365
|
-
let
|
|
4366
|
-
if (
|
|
4367
|
-
const
|
|
4368
|
-
if (
|
|
4369
|
-
const
|
|
4370
|
-
|
|
3989
|
+
if (w2 >= u2.size && (x2 = u2.size - w2 - p2 - i$1, w2 = u2.size - p2 - i$1), S2 != b2) throw new Error(At);
|
|
3990
|
+
if (w2 < 0) throw new Error(zt);
|
|
3991
|
+
let A2 = 0, v2 = await rt(u2, w2, p2, k2), D2 = qt(v2);
|
|
3992
|
+
if (p2) {
|
|
3993
|
+
const e2 = f2.offset - p2;
|
|
3994
|
+
if (Nt(D2, A2) != s$1 && w2 != e2) {
|
|
3995
|
+
const t2 = w2;
|
|
3996
|
+
w2 = e2, w2 > t2 && (x2 += w2 - t2), v2 = await rt(u2, w2, p2, k2), D2 = qt(v2);
|
|
4371
3997
|
}
|
|
4372
3998
|
}
|
|
4373
|
-
const
|
|
4374
|
-
if (
|
|
4375
|
-
const
|
|
4376
|
-
for (let
|
|
4377
|
-
const
|
|
4378
|
-
if (
|
|
4379
|
-
|
|
4380
|
-
const
|
|
4381
|
-
|
|
4382
|
-
|
|
4383
|
-
let
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
const
|
|
4388
|
-
|
|
4389
|
-
const
|
|
4390
|
-
|
|
4391
|
-
await
|
|
4392
|
-
|
|
3999
|
+
const _2 = f2.offset - w2 - (u2.lastDiskOffset || 0);
|
|
4000
|
+
if (p2 != _2 && _2 >= 0 && (p2 = _2, v2 = await rt(u2, w2, p2, k2), D2 = qt(v2)), w2 < 0 || w2 >= u2.size) throw new Error(zt);
|
|
4001
|
+
const F2 = It(l2, n2, "filenameEncoding"), O2 = It(l2, n2, "commentEncoding");
|
|
4002
|
+
for (let e2 = 0; e2 < z2; e2++) {
|
|
4003
|
+
const r2 = new Tt(u2, d2, l2.options);
|
|
4004
|
+
if (Nt(D2, A2) != s$1) throw new Error("Central directory header not found");
|
|
4005
|
+
Ct(r2, D2, A2 + 6);
|
|
4006
|
+
const a2 = Boolean(r2.bitFlag.languageEncodingFlag), i2 = A2 + 46, f3 = i2 + r2.filenameLength, h3 = f3 + r2.extraFieldLength, p3 = Vt(D2, A2 + 4), w3 = !(p3 >> 8), g3 = p3 >> 8 == 3, m3 = v2.subarray(i2, f3), y3 = Vt(D2, A2 + 32), b3 = h3 + y3, S3 = v2.subarray(h3, b3), k3 = a2, _3 = a2, E3 = Nt(D2, A2 + 38), T3 = 255 & E3, C2 = { readOnly: Boolean(1 & T3), hidden: Boolean(2 & T3), system: Boolean(4 & T3), directory: Boolean(16 & T3), archive: Boolean(32 & T3) }, R2 = Nt(D2, A2 + 42) + x2, W2 = It(l2, n2, "decodeText") || at, M2 = k3 ? Dt : F2 || _t, j2 = _3 ? Dt : O2 || _t;
|
|
4007
|
+
let I2 = W2(m3, M2);
|
|
4008
|
+
I2 === c$1 && (I2 = at(m3, M2));
|
|
4009
|
+
let B2 = W2(S3, j2);
|
|
4010
|
+
B2 === c$1 && (B2 = at(S3, j2)), Object.assign(r2, { versionMadeBy: p3, msDosCompatible: w3, compressedSize: 0, uncompressedSize: 0, commentLength: y3, offset: R2, diskNumberStart: Vt(D2, A2 + 34), internalFileAttributes: Vt(D2, A2 + 36), externalFileAttributes: E3, msdosAttributesRaw: T3, msdosAttributes: C2, rawFilename: m3, filenameUTF8: k3, commentUTF8: _3, rawExtraField: v2.subarray(f3, h3), rawComment: S3, filename: I2, comment: B2 }), U2 = Math.max(R2, U2), Rt(r2, r2, D2, A2 + 6);
|
|
4011
|
+
const P2 = r2.externalFileAttributes >> 16 & t$1;
|
|
4012
|
+
r2.unixMode === c$1 && 16877 & P2 && (r2.unixMode = P2);
|
|
4013
|
+
const L2 = Boolean(2048 & r2.unixMode), V2 = Boolean(1024 & r2.unixMode), N2 = Boolean(512 & r2.unixMode), Z2 = r2.unixMode !== c$1 ? !!(73 & r2.unixMode) : g3 && !!(73 & P2), q2 = r2.unixMode !== c$1 && (61440 & r2.unixMode) == o$1, H2 = (61440 & P2) == o$1;
|
|
4014
|
+
Object.assign(r2, { setuid: L2, setgid: V2, sticky: N2, unixExternalUpper: P2, internalFileAttribute: r2.internalFileAttributes, externalFileAttribute: r2.externalFileAttributes, executable: Z2, directory: q2 || H2 || w3 && C2.directory || I2.endsWith("/") && !r2.uncompressedSize, zipCrypto: r2.encrypted && !r2.extraFieldAES });
|
|
4015
|
+
const K2 = new kt(r2);
|
|
4016
|
+
K2.getData = (e3, t2) => r2.getData(e3, K2, l2.readRanges, t2), K2.arrayBuffer = async (e3) => {
|
|
4017
|
+
const t2 = new TransformStream(), [n3] = await Promise.all([new Response(t2.readable).arrayBuffer(), r2.getData(t2, K2, l2.readRanges, e3)]);
|
|
4018
|
+
return n3;
|
|
4019
|
+
}, A2 = b3;
|
|
4020
|
+
const { onprogress: G2 } = n2;
|
|
4021
|
+
if (G2) try {
|
|
4022
|
+
await G2(e2 + 1, z2, new kt(r2));
|
|
4023
|
+
} catch {
|
|
4393
4024
|
}
|
|
4394
|
-
yield
|
|
4025
|
+
yield K2;
|
|
4395
4026
|
}
|
|
4396
|
-
const E2 =
|
|
4397
|
-
return E2 && (
|
|
4027
|
+
const E2 = It(l2, n2, "extractPrependedData"), T2 = It(l2, n2, "extractAppendedData");
|
|
4028
|
+
return E2 && (l2.prependedData = U2 > 0 ? await rt(u2, 0, U2) : new Uint8Array()), l2.comment = m2 ? await rt(u2, g2 + i$1, m2) : new Uint8Array(), T2 && (l2.appendedData = y2 < u2.size ? await rt(u2, y2, u2.size - y2) : new Uint8Array()), true;
|
|
4398
4029
|
}
|
|
4399
4030
|
async getEntries(e2 = {}) {
|
|
4400
4031
|
const t2 = [];
|
|
4401
|
-
for await (const
|
|
4032
|
+
for await (const r2 of this.getEntriesGenerator(e2)) t2.push(r2);
|
|
4402
4033
|
return t2;
|
|
4403
4034
|
}
|
|
4404
4035
|
async close() {
|
|
4405
4036
|
}
|
|
4406
4037
|
}
|
|
4407
|
-
class
|
|
4408
|
-
constructor(e2, t2,
|
|
4409
|
-
Object.assign(this, { reader: e2, config: t2, options:
|
|
4410
|
-
}
|
|
4411
|
-
async getData(e2, t2,
|
|
4412
|
-
const
|
|
4413
|
-
let
|
|
4414
|
-
const
|
|
4415
|
-
if (
|
|
4416
|
-
if (0 !=
|
|
4417
|
-
if (67324752 !=
|
|
4418
|
-
|
|
4419
|
-
const
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
const
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
const {
|
|
4433
|
-
let
|
|
4038
|
+
class Tt {
|
|
4039
|
+
constructor(e2, t2, r2) {
|
|
4040
|
+
Object.assign(this, { reader: e2, config: t2, options: r2 });
|
|
4041
|
+
}
|
|
4042
|
+
async getData(e2, t2, r2, s2 = {}) {
|
|
4043
|
+
const a2 = this, { reader: i2, offset: o2, diskNumberStart: l2, extraFieldAES: u2, extraFieldZip64: d2, compressionMethod: f2, config: h2, bitFlag: p2, signature: w2, rawLastModDate: g2, uncompressedSize: m2, compressedSize: y2 } = a2, { dataDescriptor: b2 } = p2, S2 = t2.localDirectory = {}, k2 = qt(await rt(i2, o2, 30, l2));
|
|
4044
|
+
let z2 = It(a2, s2, "password"), x2 = It(a2, s2, "rawPassword");
|
|
4045
|
+
const U2 = It(a2, s2, "passThrough");
|
|
4046
|
+
if (z2 = z2 && z2.length && z2, x2 = x2 && x2.length && x2, u2 && 99 != u2.originalCompressionMethod) throw new Error(Ut);
|
|
4047
|
+
if (0 != f2 && 8 != f2 && 9 != f2 && !U2) throw new Error(Ut);
|
|
4048
|
+
if (67324752 != Nt(k2, 0)) throw new Error("Local file header not found");
|
|
4049
|
+
Ct(S2, k2, 4);
|
|
4050
|
+
const { extraFieldLength: A2, filenameLength: v2, lastAccessDate: D2, creationDate: _2 } = S2;
|
|
4051
|
+
S2.rawExtraField = A2 ? await rt(i2, o2 + 30 + v2, A2, l2) : new Uint8Array(), Rt(a2, S2, k2, 4, true), Object.assign(t2, { lastAccessDate: D2, creationDate: _2 });
|
|
4052
|
+
const F2 = a2.encrypted && S2.encrypted && !U2, E2 = F2 && !u2;
|
|
4053
|
+
if (U2 || (t2.zipCrypto = E2), F2) {
|
|
4054
|
+
if (!E2 && u2.strength === c$1) throw new Error("Encryption method not supported");
|
|
4055
|
+
if (!z2 && !x2) throw new Error("File contains encrypted entry");
|
|
4056
|
+
}
|
|
4057
|
+
const T2 = o2 + 30 + v2 + A2, C2 = y2, R2 = i2.readable;
|
|
4058
|
+
Object.assign(R2, { diskNumberStart: l2, offset: T2, size: C2 });
|
|
4059
|
+
const W2 = It(a2, s2, "signal"), M2 = It(a2, s2, "checkPasswordOnly");
|
|
4060
|
+
let j2 = It(a2, s2, "checkOverlappingEntry");
|
|
4061
|
+
const I2 = It(a2, s2, "checkOverlappingEntryOnly");
|
|
4062
|
+
I2 && (j2 = true);
|
|
4063
|
+
const { onstart: B2, onprogress: P2, onend: L2 } = s2, V2 = 9 == f2;
|
|
4064
|
+
let N2 = It(a2, s2, "useCompressionStream");
|
|
4065
|
+
V2 && (N2 = false);
|
|
4066
|
+
const Z2 = { options: { codecType: Ue, password: z2, rawPassword: x2, zipCrypto: E2, encryptionStrength: u2 && u2.strength, signed: It(a2, s2, "checkSignature") && !U2, passwordVerification: E2 && (b2 ? g2 >>> 8 & 255 : w2 >>> 24 & 255), outputSize: U2 ? y2 : m2, signature: w2, compressed: 0 != f2 && !U2, encrypted: a2.encrypted && !U2, useWebWorkers: It(a2, s2, "useWebWorkers"), useCompressionStream: N2, transferStreams: It(a2, s2, "transferStreams"), deflate64: V2, checkPasswordOnly: M2 }, config: h2, streamOptions: { signal: W2, size: C2, onstart: B2, onprogress: P2, onend: L2 } };
|
|
4067
|
+
let q2;
|
|
4068
|
+
j2 && await (async function({ reader: e3, fileEntry: t3, offset: r3, diskNumberStart: s3, signature: a3, compressedSize: i3, uncompressedSize: o3, dataOffset: c2, dataDescriptor: l3, extraFieldZip64: u3, readRanges: d3 }) {
|
|
4069
|
+
let f3 = 0;
|
|
4070
|
+
if (s3) for (let t4 = 0; t4 < s3; t4++) {
|
|
4071
|
+
f3 += e3.readers[t4].size;
|
|
4072
|
+
}
|
|
4073
|
+
let h3 = 0;
|
|
4074
|
+
l3 && (h3 = u3 ? 20 : 12);
|
|
4075
|
+
if (h3) {
|
|
4076
|
+
const r4 = await rt(e3, c2 + i3, h3 + 4, s3);
|
|
4077
|
+
if (Nt(qt(r4), 0) == n$1) {
|
|
4078
|
+
const e4 = Nt(qt(r4), 4);
|
|
4079
|
+
let n2, s4;
|
|
4080
|
+
u3 ? (n2 = Zt(qt(r4), 8), s4 = Zt(qt(r4), 16)) : (n2 = Nt(qt(r4), 8), s4 = Nt(qt(r4), 12));
|
|
4081
|
+
(t3.encrypted && !t3.zipCrypto || e4 == a3) && n2 == i3 && s4 == o3 && (h3 += 4);
|
|
4082
|
+
}
|
|
4083
|
+
}
|
|
4084
|
+
const p3 = { start: f3 + r3, end: f3 + c2 + i3 + h3, fileEntry: t3 };
|
|
4085
|
+
for (const e4 of d3) if (e4.fileEntry != t3 && p3.start >= e4.start && p3.start < e4.end) {
|
|
4086
|
+
const t4 = new Error(vt);
|
|
4087
|
+
throw t4.overlappingEntry = e4.fileEntry, t4;
|
|
4088
|
+
}
|
|
4089
|
+
d3.push(p3);
|
|
4090
|
+
})({ reader: i2, fileEntry: t2, offset: o2, diskNumberStart: l2, signature: w2, compressedSize: y2, uncompressedSize: m2, dataOffset: T2, dataDescriptor: b2 || S2.bitFlag.dataDescriptor, extraFieldZip64: d2 || S2.extraFieldZip64, readRanges: r2 });
|
|
4434
4091
|
try {
|
|
4435
|
-
(
|
|
4436
|
-
|
|
4437
|
-
|
|
4092
|
+
if (!I2) {
|
|
4093
|
+
M2 && (e2 = new WritableStream()), e2 = new et(e2), await tt(e2, U2 ? y2 : m2), { writable: q2 } = e2;
|
|
4094
|
+
const { outputSize: t3 } = await Ve({ readable: R2, writable: q2 }, Z2);
|
|
4095
|
+
if (e2.size += t3, t3 != (U2 ? y2 : m2)) throw new Error(pe);
|
|
4096
|
+
}
|
|
4097
|
+
} catch (t3) {
|
|
4098
|
+
if (t3.outputSize !== c$1 && (e2.size += t3.outputSize), !M2 || t3.message != O) throw t3;
|
|
4438
4099
|
} finally {
|
|
4439
|
-
|
|
4440
|
-
E2.size += W2, e3 || E2.locked || await E2.getWriter().close();
|
|
4100
|
+
It(a2, s2, "preventClose") || !q2 || q2.locked || await q2.getWriter().close();
|
|
4441
4101
|
}
|
|
4442
|
-
return
|
|
4102
|
+
return M2 || I2 ? c$1 : e2.getData ? e2.getData() : q2;
|
|
4443
4103
|
}
|
|
4444
4104
|
}
|
|
4445
|
-
function
|
|
4446
|
-
const
|
|
4447
|
-
Object.assign(e2, { encrypted:
|
|
4105
|
+
function Ct(e2, t2, r2) {
|
|
4106
|
+
const n2 = e2.rawBitFlag = Vt(t2, r2 + 2), s2 = !(1 & ~n2), a2 = Nt(t2, r2 + 6);
|
|
4107
|
+
Object.assign(e2, { encrypted: s2, version: Vt(t2, r2), bitFlag: { level: (6 & n2) >> 1, dataDescriptor: !(8 & ~n2), languageEncodingFlag: !(2048 & ~n2) }, rawLastModDate: a2, lastModDate: Bt(a2), filenameLength: Vt(t2, r2 + 22), extraFieldLength: Vt(t2, r2 + 24) });
|
|
4448
4108
|
}
|
|
4449
|
-
|
|
4450
|
-
const { rawExtraField: a2 } = t2,
|
|
4451
|
-
let
|
|
4109
|
+
function Rt(e2, t2, r2, n2, s2) {
|
|
4110
|
+
const { rawExtraField: a2 } = t2, i2 = t2.extraField = /* @__PURE__ */ new Map(), o2 = qt(new Uint8Array(a2));
|
|
4111
|
+
let c2 = 0;
|
|
4452
4112
|
try {
|
|
4453
|
-
for (;
|
|
4454
|
-
const e3 =
|
|
4455
|
-
|
|
4113
|
+
for (; c2 < a2.length; ) {
|
|
4114
|
+
const e3 = Vt(o2, c2), t3 = Vt(o2, c2 + 2);
|
|
4115
|
+
i2.set(e3, { type: e3, data: a2.slice(c2 + 4, c2 + 4 + t3) }), c2 += 4 + t3;
|
|
4456
4116
|
}
|
|
4457
|
-
} catch
|
|
4117
|
+
} catch {
|
|
4458
4118
|
}
|
|
4459
|
-
const
|
|
4460
|
-
Object.assign(t2, { signature:
|
|
4461
|
-
const u2 =
|
|
4119
|
+
const l2 = Vt(r2, n2 + 4);
|
|
4120
|
+
Object.assign(t2, { signature: Nt(r2, n2 + 10), compressedSize: Nt(r2, n2 + 14), uncompressedSize: Nt(r2, n2 + 18) });
|
|
4121
|
+
const u2 = i2.get(1);
|
|
4462
4122
|
u2 && (!(function(e3, t3) {
|
|
4463
4123
|
t3.zip64 = true;
|
|
4464
|
-
const
|
|
4465
|
-
for (let
|
|
4466
|
-
const [
|
|
4467
|
-
if (t3[
|
|
4468
|
-
const
|
|
4469
|
-
t3[
|
|
4470
|
-
} else if (e3[
|
|
4124
|
+
const r3 = qt(e3.data), n3 = Ft.filter(([e4, r4]) => t3[e4] == r4);
|
|
4125
|
+
for (let s3 = 0, a3 = 0; s3 < n3.length; s3++) {
|
|
4126
|
+
const [i3, o3] = n3[s3];
|
|
4127
|
+
if (t3[i3] == o3) {
|
|
4128
|
+
const n4 = Ot[o3];
|
|
4129
|
+
t3[i3] = e3[i3] = n4.getValue(r3, a3), a3 += n4.bytes;
|
|
4130
|
+
} else if (e3[i3]) throw new Error(xt);
|
|
4471
4131
|
}
|
|
4472
4132
|
})(u2, t2), t2.extraFieldZip64 = u2);
|
|
4473
|
-
const d2 =
|
|
4474
|
-
d2 && (
|
|
4475
|
-
const f2 =
|
|
4476
|
-
f2 && (
|
|
4477
|
-
const h2 =
|
|
4478
|
-
h2 ? (!(function(e3, t3,
|
|
4479
|
-
const
|
|
4480
|
-
Object.assign(e3, { vendorVersion:
|
|
4481
|
-
})(h2, t2,
|
|
4482
|
-
const
|
|
4483
|
-
|
|
4484
|
-
const
|
|
4485
|
-
let
|
|
4133
|
+
const d2 = i2.get(28789);
|
|
4134
|
+
d2 && (Wt(d2, it, ot, t2, e2), t2.extraFieldUnicodePath = d2);
|
|
4135
|
+
const f2 = i2.get(25461);
|
|
4136
|
+
f2 && (Wt(f2, ct, lt, t2, e2), t2.extraFieldUnicodeComment = f2);
|
|
4137
|
+
const h2 = i2.get(39169);
|
|
4138
|
+
h2 ? (!(function(e3, t3, r3) {
|
|
4139
|
+
const n3 = qt(e3.data), s3 = Lt(n3, 4);
|
|
4140
|
+
Object.assign(e3, { vendorVersion: Lt(n3, 0), vendorId: Lt(n3, 2), strength: s3, originalCompressionMethod: r3, compressionMethod: Vt(n3, 5) }), t3.compressionMethod = e3.compressionMethod;
|
|
4141
|
+
})(h2, t2, l2), t2.extraFieldAES = h2) : t2.compressionMethod = l2;
|
|
4142
|
+
const p2 = i2.get(10);
|
|
4143
|
+
p2 && (!(function(e3, t3) {
|
|
4144
|
+
const r3 = qt(e3.data);
|
|
4145
|
+
let n3, s3 = 4;
|
|
4486
4146
|
try {
|
|
4487
|
-
for (;
|
|
4488
|
-
const t4 =
|
|
4489
|
-
1 == t4 && (
|
|
4147
|
+
for (; s3 < e3.data.length && !n3; ) {
|
|
4148
|
+
const t4 = Vt(r3, s3), a3 = Vt(r3, s3 + 2);
|
|
4149
|
+
1 == t4 && (n3 = e3.data.slice(s3 + 4, s3 + 4 + a3)), s3 += 4 + a3;
|
|
4490
4150
|
}
|
|
4491
|
-
} catch
|
|
4151
|
+
} catch {
|
|
4492
4152
|
}
|
|
4493
4153
|
try {
|
|
4494
|
-
if (
|
|
4495
|
-
const
|
|
4496
|
-
Object.assign(e3, { rawLastModDate:
|
|
4497
|
-
const o3 =
|
|
4498
|
-
Object.assign(e3,
|
|
4154
|
+
if (n3 && 24 == n3.length) {
|
|
4155
|
+
const r4 = qt(n3), s4 = r4.getBigUint64(0, true), a3 = r4.getBigUint64(8, true), i3 = r4.getBigUint64(16, true);
|
|
4156
|
+
Object.assign(e3, { rawLastModDate: s4, rawLastAccessDate: a3, rawCreationDate: i3 });
|
|
4157
|
+
const o3 = Pt(s4), c3 = Pt(a3), l3 = { lastModDate: o3, lastAccessDate: c3, creationDate: Pt(i3) };
|
|
4158
|
+
Object.assign(e3, l3), Object.assign(t3, l3);
|
|
4499
4159
|
}
|
|
4500
|
-
} catch
|
|
4160
|
+
} catch {
|
|
4501
4161
|
}
|
|
4502
|
-
})(
|
|
4503
|
-
const
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4162
|
+
})(p2, t2), t2.extraFieldNTFS = p2);
|
|
4163
|
+
const w2 = i2.get(30805);
|
|
4164
|
+
if (w2) Mt(w2, t2, false), t2.extraFieldUnix = w2;
|
|
4165
|
+
else {
|
|
4166
|
+
const e3 = i2.get(30837);
|
|
4167
|
+
e3 && (Mt(e3, t2, true), t2.extraFieldInfoZip = e3);
|
|
4168
|
+
}
|
|
4169
|
+
const g2 = i2.get(21589);
|
|
4170
|
+
g2 && (!(function(e3, t3, r3) {
|
|
4171
|
+
const n3 = qt(e3.data), s3 = Lt(n3, 0), a3 = [], i3 = [];
|
|
4172
|
+
r3 ? (1 & ~s3 || (a3.push(pt), i3.push(wt)), 2 & ~s3 || (a3.push(gt), i3.push(mt)), 4 & ~s3 || (a3.push(yt), i3.push(bt))) : e3.data.length >= 5 && (a3.push(pt), i3.push(wt));
|
|
4507
4173
|
let o3 = 1;
|
|
4508
|
-
a3.forEach((
|
|
4174
|
+
a3.forEach((r4, s4) => {
|
|
4509
4175
|
if (e3.data.length >= o3 + 4) {
|
|
4510
|
-
const a4 =
|
|
4511
|
-
t3[
|
|
4512
|
-
const
|
|
4513
|
-
e3[
|
|
4176
|
+
const a4 = Nt(n3, o3);
|
|
4177
|
+
t3[r4] = e3[r4] = new Date(1e3 * a4);
|
|
4178
|
+
const c3 = i3[s4];
|
|
4179
|
+
e3[c3] = a4;
|
|
4514
4180
|
}
|
|
4515
4181
|
o3 += 4;
|
|
4516
|
-
})
|
|
4517
|
-
})(
|
|
4518
|
-
const
|
|
4519
|
-
|
|
4520
|
-
}
|
|
4521
|
-
|
|
4522
|
-
const a2 =
|
|
4523
|
-
|
|
4524
|
-
const o2 =
|
|
4525
|
-
o2.setUint32(0,
|
|
4526
|
-
const
|
|
4527
|
-
Object.assign(e2, { version:
|
|
4528
|
-
}
|
|
4529
|
-
function
|
|
4530
|
-
return t2[n2] === S ? e2.options[n2] : t2[n2];
|
|
4531
|
-
}
|
|
4532
|
-
function Xt(e2) {
|
|
4533
|
-
const t2 = (4294901760 & e2) >> 16, n2 = 65535 & e2;
|
|
4182
|
+
});
|
|
4183
|
+
})(g2, t2, s2), t2.extraFieldExtendedTimestamp = g2);
|
|
4184
|
+
const m2 = i2.get(6534);
|
|
4185
|
+
m2 && (t2.extraFieldUSDZ = m2);
|
|
4186
|
+
}
|
|
4187
|
+
function Wt(e2, t2, r2, n2, s2) {
|
|
4188
|
+
const a2 = qt(e2.data), i2 = new y$1();
|
|
4189
|
+
i2.append(s2[r2]);
|
|
4190
|
+
const o2 = qt(new Uint8Array(4));
|
|
4191
|
+
o2.setUint32(0, i2.get(), true);
|
|
4192
|
+
const c2 = Nt(a2, 1);
|
|
4193
|
+
Object.assign(e2, { version: Lt(a2, 0), [t2]: at(e2.data.subarray(5)), valid: !s2.bitFlag.languageEncodingFlag && c2 == Nt(o2, 0) }), e2.valid && (n2[t2] = e2[t2], n2[t2 + "UTF8"] = true);
|
|
4194
|
+
}
|
|
4195
|
+
function Mt(e2, t2, r2) {
|
|
4534
4196
|
try {
|
|
4535
|
-
|
|
4536
|
-
|
|
4197
|
+
const n2 = qt(new Uint8Array(e2.data));
|
|
4198
|
+
let s2 = 0;
|
|
4199
|
+
const a2 = Lt(n2, s2++), i2 = Lt(n2, s2++), o2 = e2.data.subarray(s2, s2 + i2);
|
|
4200
|
+
s2 += i2;
|
|
4201
|
+
const l2 = jt(o2), u2 = Lt(n2, s2++), d2 = e2.data.subarray(s2, s2 + u2);
|
|
4202
|
+
s2 += u2;
|
|
4203
|
+
const f2 = jt(d2);
|
|
4204
|
+
let h2 = c$1;
|
|
4205
|
+
if (!r2 && s2 + 2 <= e2.data.length) {
|
|
4206
|
+
const t3 = e2.data;
|
|
4207
|
+
h2 = new DataView(t3.buffer, t3.byteOffset + s2, 2).getUint16(0, true);
|
|
4208
|
+
}
|
|
4209
|
+
Object.assign(e2, { version: a2, uid: l2, gid: f2, unixMode: h2 }), l2 !== c$1 && (t2.uid = l2), f2 !== c$1 && (t2.gid = f2), h2 !== c$1 && (t2.unixMode = h2);
|
|
4210
|
+
} catch {
|
|
4211
|
+
}
|
|
4212
|
+
}
|
|
4213
|
+
function jt(e2) {
|
|
4214
|
+
const t2 = new Uint8Array(4);
|
|
4215
|
+
t2.set(e2, 0);
|
|
4216
|
+
return new DataView(t2.buffer, t2.byteOffset, 4).getUint32(0, true);
|
|
4217
|
+
}
|
|
4218
|
+
function It(e2, t2, r2) {
|
|
4219
|
+
return t2[r2] === c$1 ? e2.options[r2] : t2[r2];
|
|
4220
|
+
}
|
|
4221
|
+
function Bt(e2) {
|
|
4222
|
+
const r2 = (4294901760 & e2) >> 16, n2 = e2 & t$1;
|
|
4223
|
+
try {
|
|
4224
|
+
return new Date(1980 + ((65024 & r2) >> 9), ((480 & r2) >> 5) - 1, 31 & r2, (63488 & n2) >> 11, (2016 & n2) >> 5, 2 * (31 & n2), 0);
|
|
4225
|
+
} catch {
|
|
4537
4226
|
}
|
|
4538
4227
|
}
|
|
4539
|
-
function
|
|
4228
|
+
function Pt(e2) {
|
|
4540
4229
|
return new Date(Number(e2 / BigInt(1e4) - BigInt(116444736e5)));
|
|
4541
4230
|
}
|
|
4542
|
-
function
|
|
4231
|
+
function Lt(e2, t2) {
|
|
4543
4232
|
return e2.getUint8(t2);
|
|
4544
4233
|
}
|
|
4545
|
-
function
|
|
4234
|
+
function Vt(e2, t2) {
|
|
4546
4235
|
return e2.getUint16(t2, true);
|
|
4547
4236
|
}
|
|
4548
|
-
function
|
|
4237
|
+
function Nt(e2, t2) {
|
|
4549
4238
|
return e2.getUint32(t2, true);
|
|
4550
4239
|
}
|
|
4551
|
-
function
|
|
4240
|
+
function Zt(e2, t2) {
|
|
4552
4241
|
return Number(e2.getBigUint64(t2, true));
|
|
4553
4242
|
}
|
|
4554
|
-
function
|
|
4243
|
+
function qt(e2) {
|
|
4555
4244
|
return new DataView(e2.buffer);
|
|
4556
4245
|
}
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
const o2 = [];
|
|
4562
|
-
let l2, c2, u2 = 0, d2 = 0, f2 = 0;
|
|
4563
|
-
if (0 !== e3.length) {
|
|
4564
|
-
t2.next_in_index = 0, t2.next_in = e3, t2.avail_in = e3.length;
|
|
4565
|
-
do {
|
|
4566
|
-
if (t2.next_out_index = 0, t2.avail_out = i2, 0 !== t2.avail_in || a2 || (t2.next_in_index = 0, a2 = true), l2 = t2.inflate(0), a2 && l2 === n$1) {
|
|
4567
|
-
if (0 !== t2.avail_in) throw new Error("inflating: bad input");
|
|
4568
|
-
} else if (0 !== l2 && 1 !== l2) throw new Error("inflating: " + t2.msg);
|
|
4569
|
-
if ((a2 || 1 === l2) && t2.avail_in === e3.length) throw new Error("inflating: bad input");
|
|
4570
|
-
t2.next_out_index && (t2.next_out_index === i2 ? o2.push(new Uint8Array(r2)) : o2.push(r2.subarray(0, t2.next_out_index))), f2 += t2.next_out_index, s2 && t2.next_in_index > 0 && t2.next_in_index != u2 && (s2(t2.next_in_index), u2 = t2.next_in_index);
|
|
4571
|
-
} while (t2.avail_in > 0 || 0 === t2.avail_out);
|
|
4572
|
-
return o2.length > 1 ? (c2 = new Uint8Array(f2), o2.forEach((function(e4) {
|
|
4573
|
-
c2.set(e4, d2), d2 += e4.length;
|
|
4574
|
-
}))) : c2 = o2[0] ? new Uint8Array(o2[0]) : new Uint8Array(), c2;
|
|
4575
|
-
}
|
|
4576
|
-
}, this.flush = function() {
|
|
4577
|
-
t2.inflateEnd();
|
|
4578
|
-
};
|
|
4579
|
-
} });
|
|
4246
|
+
try {
|
|
4247
|
+
w$1({ baseURI: typeof document === "undefined" && typeof location === "undefined" ? require("url").pathToFileURL(__filename).href : typeof document === "undefined" ? location.href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("vue-book-reader.umd.js", document.baseURI).href });
|
|
4248
|
+
} catch {
|
|
4249
|
+
}
|
|
4580
4250
|
const zip = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
4581
4251
|
__proto__: null,
|
|
4582
|
-
BlobReader:
|
|
4583
|
-
BlobWriter:
|
|
4584
|
-
TextWriter:
|
|
4585
|
-
ZipReader:
|
|
4586
|
-
configure:
|
|
4252
|
+
BlobReader: Ge,
|
|
4253
|
+
BlobWriter: Je,
|
|
4254
|
+
TextWriter: Qe,
|
|
4255
|
+
ZipReader: Et,
|
|
4256
|
+
configure: w$1
|
|
4587
4257
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
4588
4258
|
const NS$2 = {
|
|
4589
4259
|
CONTAINER: "urn:oasis:names:tc:opendocument:xmlns:container",
|
|
@@ -4805,7 +4475,7 @@
|
|
|
4805
4475
|
subtitle: (_h = (_g = dc.title) == null ? void 0 : _g.find((x2) => prop(x2, "title-type") === "subtitle")) == null ? void 0 : _h.value,
|
|
4806
4476
|
language: (_i = dc.language) == null ? void 0 : _i.map((x2) => x2.value),
|
|
4807
4477
|
description: one(dc.description),
|
|
4808
|
-
publisher:
|
|
4478
|
+
publisher: (_j = dc.publisher) == null ? void 0 : _j.map(makeContributor),
|
|
4809
4479
|
published: ((_l = (_k = dc.date) == null ? void 0 : _k.find((x2) => x2.attrs.event === "publication")) == null ? void 0 : _l.value) ?? one(dc.date),
|
|
4810
4480
|
modified: one(properties[PREFIX.dcterms + "modified"]) ?? ((_n = (_m = dc.date) == null ? void 0 : _m.find((x2) => x2.attrs.event === "modification")) == null ? void 0 : _n.value),
|
|
4811
4481
|
subject: (_o = dc.subject) == null ? void 0 : _o.map(makeContributor),
|
|
@@ -4819,7 +4489,9 @@
|
|
|
4819
4489
|
altIdentifier: (_r = dc.identifier) == null ? void 0 : _r.map(makeAltIdentifier),
|
|
4820
4490
|
source: (_s = dc.source) == null ? void 0 : _s.map(makeAltIdentifier),
|
|
4821
4491
|
// NOTE: not in webpub schema
|
|
4822
|
-
rights: one(dc.rights)
|
|
4492
|
+
rights: one(dc.rights),
|
|
4493
|
+
// NOTE: not in webpub schema
|
|
4494
|
+
pageBreakSource: one(properties["pageBreakSource"])
|
|
4823
4495
|
// NOTE: not in webpub schema
|
|
4824
4496
|
};
|
|
4825
4497
|
const remapContributor = (defaultKey) => (x2) => {
|
|
@@ -5574,7 +5246,7 @@ ${doc.querySelector("parsererror").innerText}`);
|
|
|
5574
5246
|
cache.delete(name);
|
|
5575
5247
|
};
|
|
5576
5248
|
const exts = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".svg", ".jxl", ".avif"];
|
|
5577
|
-
const files = entries.map((entry) => entry.filename).filter((name) => exts.some((ext) => name.endsWith(ext))).sort();
|
|
5249
|
+
const files = entries.map((entry) => entry.filename).filter((name) => exts.some((ext) => name.endsWith(ext))).sort(new Intl.Collator([], { numeric: true }).compare);
|
|
5578
5250
|
if (!files.length) throw new Error("No supported image files in archive");
|
|
5579
5251
|
const book = {};
|
|
5580
5252
|
book.getCover = () => loadBlob(files[0]);
|
|
@@ -5924,6 +5596,415 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
5924
5596
|
__proto__: null,
|
|
5925
5597
|
makeFB2
|
|
5926
5598
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
5599
|
+
const textLayerBuilderCSS = '/* Copyright 2014 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n.textLayer {\r\n color-scheme: only light;\r\n\r\n position: absolute;\r\n text-align: initial;\r\n inset: 0;\r\n overflow: clip;\r\n opacity: 1;\r\n line-height: 1;\r\n text-size-adjust: none;\r\n forced-color-adjust: none;\r\n transform-origin: 0 0;\r\n caret-color: CanvasText;\r\n z-index: 0;\r\n\r\n &.highlighting {\r\n touch-action: none;\r\n }\r\n\r\n :is(span, br) {\r\n color: transparent;\r\n position: absolute;\r\n white-space: pre;\r\n cursor: text;\r\n transform-origin: 0% 0%;\r\n }\r\n\r\n /* We multiply the font size by --min-font-size, and then scale the text\r\n * elements by 1/--min-font-size. This allows us to effectively ignore the\r\n * minimum font size enforced by the browser, so that the text layer <span>s\r\n * can always match the size of the text in the canvas. */\r\n --min-font-size: 1;\r\n --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));\r\n --min-font-size-inv: calc(1 / var(--min-font-size));\r\n\r\n > :not(.markedContent),\r\n .markedContent span:not(.markedContent) {\r\n z-index: 1;\r\n\r\n --font-height: 0; /* set by text_layer.js */\r\n font-size: calc(var(--text-scale-factor) * var(--font-height));\r\n\r\n --scale-x: 1;\r\n --rotate: 0deg;\r\n transform: rotate(var(--rotate)) scaleX(var(--scale-x))\r\n scale(var(--min-font-size-inv));\r\n }\r\n\r\n .markedContent {\r\n display: contents;\r\n }\r\n\r\n span[role="img"] {\r\n user-select: none;\r\n cursor: default;\r\n }\r\n\r\n .highlight {\r\n --highlight-bg-color: rgb(180 0 170 / 0.25);\r\n --highlight-selected-bg-color: rgb(0 100 0 / 0.25);\r\n --highlight-backdrop-filter: none;\r\n --highlight-selected-backdrop-filter: none;\r\n\r\n @media screen and (forced-colors: active) {\r\n --highlight-bg-color: transparent;\r\n --highlight-selected-bg-color: transparent;\r\n --highlight-backdrop-filter: var(--hcm-highlight-filter);\r\n --highlight-selected-backdrop-filter: var(\r\n --hcm-highlight-selected-filter\r\n );\r\n }\r\n\r\n margin: -1px;\r\n padding: 1px;\r\n background-color: var(--highlight-bg-color);\r\n backdrop-filter: var(--highlight-backdrop-filter);\r\n border-radius: 4px;\r\n\r\n &.appended {\r\n position: initial;\r\n }\r\n\r\n &.begin {\r\n border-radius: 4px 0 0 4px;\r\n }\r\n\r\n &.end {\r\n border-radius: 0 4px 4px 0;\r\n }\r\n\r\n &.middle {\r\n border-radius: 0;\r\n }\r\n\r\n &.selected {\r\n background-color: var(--highlight-selected-bg-color);\r\n backdrop-filter: var(--highlight-selected-backdrop-filter);\r\n }\r\n }\r\n\r\n ::selection {\r\n /* stylelint-disable declaration-block-no-duplicate-properties */\r\n /*#if !MOZCENTRAL*/\r\n background: rgba(0 0 255 / 0.25);\r\n /*#endif*/\r\n /* stylelint-enable declaration-block-no-duplicate-properties */\r\n background: color-mix(in srgb, AccentColor, transparent 75%);\r\n }\r\n\r\n /* Avoids https://github.com/mozilla/pdf.js/issues/13840 in Chrome */\r\n /*#if !MOZCENTRAL*/\r\n br::selection {\r\n background: transparent;\r\n }\r\n /*#endif*/\r\n\r\n .endOfContent {\r\n display: block;\r\n position: absolute;\r\n inset: 100% 0 0;\r\n z-index: 0;\r\n cursor: default;\r\n user-select: none;\r\n }\r\n\r\n &.selecting .endOfContent {\r\n top: 0;\r\n }\r\n}\r\n';
|
|
5600
|
+
const annotationLayerBuilderCSS = `/* Copyright 2014 Mozilla Foundation\r
|
|
5601
|
+
*\r
|
|
5602
|
+
* Licensed under the Apache License, Version 2.0 (the "License");\r
|
|
5603
|
+
* you may not use this file except in compliance with the License.\r
|
|
5604
|
+
* You may obtain a copy of the License at\r
|
|
5605
|
+
*\r
|
|
5606
|
+
* http://www.apache.org/licenses/LICENSE-2.0\r
|
|
5607
|
+
*\r
|
|
5608
|
+
* Unless required by applicable law or agreed to in writing, software\r
|
|
5609
|
+
* distributed under the License is distributed on an "AS IS" BASIS,\r
|
|
5610
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
|
|
5611
|
+
* See the License for the specific language governing permissions and\r
|
|
5612
|
+
* limitations under the License.\r
|
|
5613
|
+
*/\r
|
|
5614
|
+
\r
|
|
5615
|
+
.annotationLayer {\r
|
|
5616
|
+
color-scheme: only light;\r
|
|
5617
|
+
\r
|
|
5618
|
+
--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");\r
|
|
5619
|
+
--input-focus-border-color: Highlight;\r
|
|
5620
|
+
--input-focus-outline: 1px solid Canvas;\r
|
|
5621
|
+
--input-unfocused-border-color: transparent;\r
|
|
5622
|
+
--input-disabled-border-color: transparent;\r
|
|
5623
|
+
--input-hover-border-color: black;\r
|
|
5624
|
+
--link-outline: none;\r
|
|
5625
|
+
\r
|
|
5626
|
+
@media screen and (forced-colors: active) {\r
|
|
5627
|
+
--input-focus-border-color: CanvasText;\r
|
|
5628
|
+
--input-unfocused-border-color: ActiveText;\r
|
|
5629
|
+
--input-disabled-border-color: GrayText;\r
|
|
5630
|
+
--input-hover-border-color: Highlight;\r
|
|
5631
|
+
--link-outline: 1.5px solid LinkText;\r
|
|
5632
|
+
\r
|
|
5633
|
+
.textWidgetAnnotation :is(input, textarea):required,\r
|
|
5634
|
+
.choiceWidgetAnnotation select:required,\r
|
|
5635
|
+
.buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {\r
|
|
5636
|
+
outline: 1.5px solid selectedItem;\r
|
|
5637
|
+
}\r
|
|
5638
|
+
\r
|
|
5639
|
+
.linkAnnotation {\r
|
|
5640
|
+
outline: var(--link-outline);\r
|
|
5641
|
+
\r
|
|
5642
|
+
&:hover {\r
|
|
5643
|
+
backdrop-filter: var(--hcm-highlight-filter);\r
|
|
5644
|
+
}\r
|
|
5645
|
+
\r
|
|
5646
|
+
& > a:hover {\r
|
|
5647
|
+
opacity: 0 !important;\r
|
|
5648
|
+
background: none !important;\r
|
|
5649
|
+
box-shadow: none;\r
|
|
5650
|
+
}\r
|
|
5651
|
+
}\r
|
|
5652
|
+
\r
|
|
5653
|
+
.popupAnnotation .popup {\r
|
|
5654
|
+
outline: calc(1.5px * var(--total-scale-factor)) solid CanvasText !important;\r
|
|
5655
|
+
background-color: ButtonFace !important;\r
|
|
5656
|
+
color: ButtonText !important;\r
|
|
5657
|
+
}\r
|
|
5658
|
+
\r
|
|
5659
|
+
.highlightArea:hover::after {\r
|
|
5660
|
+
position: absolute;\r
|
|
5661
|
+
top: 0;\r
|
|
5662
|
+
left: 0;\r
|
|
5663
|
+
width: 100%;\r
|
|
5664
|
+
height: 100%;\r
|
|
5665
|
+
backdrop-filter: var(--hcm-highlight-filter);\r
|
|
5666
|
+
content: "";\r
|
|
5667
|
+
pointer-events: none;\r
|
|
5668
|
+
}\r
|
|
5669
|
+
\r
|
|
5670
|
+
.popupAnnotation.focused .popup {\r
|
|
5671
|
+
outline: calc(3px * var(--total-scale-factor)) solid Highlight !important;\r
|
|
5672
|
+
}\r
|
|
5673
|
+
}\r
|
|
5674
|
+
\r
|
|
5675
|
+
position: absolute;\r
|
|
5676
|
+
top: 0;\r
|
|
5677
|
+
left: 0;\r
|
|
5678
|
+
pointer-events: none;\r
|
|
5679
|
+
transform-origin: 0 0;\r
|
|
5680
|
+
\r
|
|
5681
|
+
&[data-main-rotation="90"] .norotate {\r
|
|
5682
|
+
transform: rotate(270deg) translateX(-100%);\r
|
|
5683
|
+
}\r
|
|
5684
|
+
&[data-main-rotation="180"] .norotate {\r
|
|
5685
|
+
transform: rotate(180deg) translate(-100%, -100%);\r
|
|
5686
|
+
}\r
|
|
5687
|
+
&[data-main-rotation="270"] .norotate {\r
|
|
5688
|
+
transform: rotate(90deg) translateY(-100%);\r
|
|
5689
|
+
}\r
|
|
5690
|
+
\r
|
|
5691
|
+
&.disabled {\r
|
|
5692
|
+
section,\r
|
|
5693
|
+
.popup {\r
|
|
5694
|
+
pointer-events: none;\r
|
|
5695
|
+
}\r
|
|
5696
|
+
}\r
|
|
5697
|
+
\r
|
|
5698
|
+
.annotationContent {\r
|
|
5699
|
+
position: absolute;\r
|
|
5700
|
+
width: 100%;\r
|
|
5701
|
+
height: 100%;\r
|
|
5702
|
+
pointer-events: none;\r
|
|
5703
|
+
\r
|
|
5704
|
+
&.freetext {\r
|
|
5705
|
+
background: transparent;\r
|
|
5706
|
+
border: none;\r
|
|
5707
|
+
inset: 0;\r
|
|
5708
|
+
overflow: visible;\r
|
|
5709
|
+
white-space: nowrap;\r
|
|
5710
|
+
font: 10px sans-serif;\r
|
|
5711
|
+
line-height: 1.35;\r
|
|
5712
|
+
}\r
|
|
5713
|
+
}\r
|
|
5714
|
+
\r
|
|
5715
|
+
section {\r
|
|
5716
|
+
position: absolute;\r
|
|
5717
|
+
text-align: initial;\r
|
|
5718
|
+
pointer-events: auto;\r
|
|
5719
|
+
box-sizing: border-box;\r
|
|
5720
|
+
transform-origin: 0 0;\r
|
|
5721
|
+
user-select: none;\r
|
|
5722
|
+
\r
|
|
5723
|
+
&:has(div.annotationContent) {\r
|
|
5724
|
+
canvas.annotationContent {\r
|
|
5725
|
+
display: none;\r
|
|
5726
|
+
}\r
|
|
5727
|
+
}\r
|
|
5728
|
+
\r
|
|
5729
|
+
.overlaidText {\r
|
|
5730
|
+
position: absolute;\r
|
|
5731
|
+
top: 0;\r
|
|
5732
|
+
left: 0;\r
|
|
5733
|
+
width: 0;\r
|
|
5734
|
+
height: 0;\r
|
|
5735
|
+
display: inline-block;\r
|
|
5736
|
+
overflow: hidden;\r
|
|
5737
|
+
}\r
|
|
5738
|
+
}\r
|
|
5739
|
+
\r
|
|
5740
|
+
.textLayer.selecting ~ & section {\r
|
|
5741
|
+
pointer-events: none;\r
|
|
5742
|
+
}\r
|
|
5743
|
+
\r
|
|
5744
|
+
:is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a {\r
|
|
5745
|
+
position: absolute;\r
|
|
5746
|
+
font-size: 1em;\r
|
|
5747
|
+
top: 0;\r
|
|
5748
|
+
left: 0;\r
|
|
5749
|
+
width: 100%;\r
|
|
5750
|
+
height: 100%;\r
|
|
5751
|
+
}\r
|
|
5752
|
+
\r
|
|
5753
|
+
:is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder)\r
|
|
5754
|
+
> a:hover {\r
|
|
5755
|
+
opacity: 0.2;\r
|
|
5756
|
+
background-color: rgb(255 255 0);\r
|
|
5757
|
+
}\r
|
|
5758
|
+
\r
|
|
5759
|
+
.linkAnnotation.hasBorder:hover {\r
|
|
5760
|
+
background-color: rgb(255 255 0 / 0.2);\r
|
|
5761
|
+
}\r
|
|
5762
|
+
\r
|
|
5763
|
+
.hasBorder {\r
|
|
5764
|
+
background-size: 100% 100%;\r
|
|
5765
|
+
}\r
|
|
5766
|
+
\r
|
|
5767
|
+
.textAnnotation img {\r
|
|
5768
|
+
position: absolute;\r
|
|
5769
|
+
cursor: pointer;\r
|
|
5770
|
+
width: 100%;\r
|
|
5771
|
+
height: 100%;\r
|
|
5772
|
+
top: 0;\r
|
|
5773
|
+
left: 0;\r
|
|
5774
|
+
}\r
|
|
5775
|
+
\r
|
|
5776
|
+
.textWidgetAnnotation :is(input, textarea),\r
|
|
5777
|
+
.choiceWidgetAnnotation select,\r
|
|
5778
|
+
.buttonWidgetAnnotation:is(.checkBox, .radioButton) input {\r
|
|
5779
|
+
background-image: var(--annotation-unfocused-field-background);\r
|
|
5780
|
+
border: 2px solid var(--input-unfocused-border-color);\r
|
|
5781
|
+
box-sizing: border-box;\r
|
|
5782
|
+
font: calc(9px * var(--total-scale-factor)) sans-serif;\r
|
|
5783
|
+
height: 100%;\r
|
|
5784
|
+
margin: 0;\r
|
|
5785
|
+
vertical-align: top;\r
|
|
5786
|
+
width: 100%;\r
|
|
5787
|
+
}\r
|
|
5788
|
+
\r
|
|
5789
|
+
.textWidgetAnnotation :is(input, textarea):required,\r
|
|
5790
|
+
.choiceWidgetAnnotation select:required,\r
|
|
5791
|
+
.buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {\r
|
|
5792
|
+
outline: 1.5px solid red;\r
|
|
5793
|
+
}\r
|
|
5794
|
+
\r
|
|
5795
|
+
.choiceWidgetAnnotation select option {\r
|
|
5796
|
+
padding: 0;\r
|
|
5797
|
+
}\r
|
|
5798
|
+
\r
|
|
5799
|
+
.buttonWidgetAnnotation.radioButton input {\r
|
|
5800
|
+
border-radius: 50%;\r
|
|
5801
|
+
}\r
|
|
5802
|
+
\r
|
|
5803
|
+
.textWidgetAnnotation textarea {\r
|
|
5804
|
+
resize: none;\r
|
|
5805
|
+
}\r
|
|
5806
|
+
\r
|
|
5807
|
+
.textWidgetAnnotation :is(input, textarea)[disabled],\r
|
|
5808
|
+
.choiceWidgetAnnotation select[disabled],\r
|
|
5809
|
+
.buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled] {\r
|
|
5810
|
+
background: none;\r
|
|
5811
|
+
border: 2px solid var(--input-disabled-border-color);\r
|
|
5812
|
+
cursor: not-allowed;\r
|
|
5813
|
+
}\r
|
|
5814
|
+
\r
|
|
5815
|
+
.textWidgetAnnotation :is(input, textarea):hover,\r
|
|
5816
|
+
.choiceWidgetAnnotation select:hover,\r
|
|
5817
|
+
.buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover {\r
|
|
5818
|
+
border: 2px solid var(--input-hover-border-color);\r
|
|
5819
|
+
}\r
|
|
5820
|
+
.textWidgetAnnotation :is(input, textarea):hover,\r
|
|
5821
|
+
.choiceWidgetAnnotation select:hover,\r
|
|
5822
|
+
.buttonWidgetAnnotation.checkBox input:hover {\r
|
|
5823
|
+
border-radius: 2px;\r
|
|
5824
|
+
}\r
|
|
5825
|
+
\r
|
|
5826
|
+
.textWidgetAnnotation :is(input, textarea):focus,\r
|
|
5827
|
+
.choiceWidgetAnnotation select:focus {\r
|
|
5828
|
+
background: none;\r
|
|
5829
|
+
border: 2px solid var(--input-focus-border-color);\r
|
|
5830
|
+
border-radius: 2px;\r
|
|
5831
|
+
outline: var(--input-focus-outline);\r
|
|
5832
|
+
}\r
|
|
5833
|
+
\r
|
|
5834
|
+
.buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus {\r
|
|
5835
|
+
background-image: none;\r
|
|
5836
|
+
background-color: transparent;\r
|
|
5837
|
+
}\r
|
|
5838
|
+
\r
|
|
5839
|
+
.buttonWidgetAnnotation.checkBox :focus {\r
|
|
5840
|
+
border: 2px solid var(--input-focus-border-color);\r
|
|
5841
|
+
border-radius: 2px;\r
|
|
5842
|
+
outline: var(--input-focus-outline);\r
|
|
5843
|
+
}\r
|
|
5844
|
+
\r
|
|
5845
|
+
.buttonWidgetAnnotation.radioButton :focus {\r
|
|
5846
|
+
border: 2px solid var(--input-focus-border-color);\r
|
|
5847
|
+
outline: var(--input-focus-outline);\r
|
|
5848
|
+
}\r
|
|
5849
|
+
\r
|
|
5850
|
+
.buttonWidgetAnnotation.checkBox input:checked::before,\r
|
|
5851
|
+
.buttonWidgetAnnotation.checkBox input:checked::after,\r
|
|
5852
|
+
.buttonWidgetAnnotation.radioButton input:checked::before {\r
|
|
5853
|
+
background-color: CanvasText;\r
|
|
5854
|
+
content: "";\r
|
|
5855
|
+
display: block;\r
|
|
5856
|
+
position: absolute;\r
|
|
5857
|
+
}\r
|
|
5858
|
+
\r
|
|
5859
|
+
.buttonWidgetAnnotation.checkBox input:checked::before,\r
|
|
5860
|
+
.buttonWidgetAnnotation.checkBox input:checked::after {\r
|
|
5861
|
+
height: 80%;\r
|
|
5862
|
+
left: 45%;\r
|
|
5863
|
+
width: 1px;\r
|
|
5864
|
+
}\r
|
|
5865
|
+
\r
|
|
5866
|
+
.buttonWidgetAnnotation.checkBox input:checked::before {\r
|
|
5867
|
+
transform: rotate(45deg);\r
|
|
5868
|
+
}\r
|
|
5869
|
+
\r
|
|
5870
|
+
.buttonWidgetAnnotation.checkBox input:checked::after {\r
|
|
5871
|
+
transform: rotate(-45deg);\r
|
|
5872
|
+
}\r
|
|
5873
|
+
\r
|
|
5874
|
+
.buttonWidgetAnnotation.radioButton input:checked::before {\r
|
|
5875
|
+
border-radius: 50%;\r
|
|
5876
|
+
height: 50%;\r
|
|
5877
|
+
left: 25%;\r
|
|
5878
|
+
top: 25%;\r
|
|
5879
|
+
width: 50%;\r
|
|
5880
|
+
}\r
|
|
5881
|
+
\r
|
|
5882
|
+
.textWidgetAnnotation input.comb {\r
|
|
5883
|
+
font-family: monospace;\r
|
|
5884
|
+
padding-left: 2px;\r
|
|
5885
|
+
padding-right: 0;\r
|
|
5886
|
+
}\r
|
|
5887
|
+
\r
|
|
5888
|
+
.textWidgetAnnotation input.comb:focus {\r
|
|
5889
|
+
/*\r
|
|
5890
|
+
* Letter spacing is placed on the right side of each character. Hence, the\r
|
|
5891
|
+
* letter spacing of the last character may be placed outside the visible\r
|
|
5892
|
+
* area, causing horizontal scrolling. We avoid this by extending the width\r
|
|
5893
|
+
* when the element has focus and revert this when it loses focus.\r
|
|
5894
|
+
*/\r
|
|
5895
|
+
width: 103%;\r
|
|
5896
|
+
}\r
|
|
5897
|
+
\r
|
|
5898
|
+
.buttonWidgetAnnotation:is(.checkBox, .radioButton) input {\r
|
|
5899
|
+
appearance: none;\r
|
|
5900
|
+
}\r
|
|
5901
|
+
\r
|
|
5902
|
+
.fileAttachmentAnnotation .popupTriggerArea {\r
|
|
5903
|
+
height: 100%;\r
|
|
5904
|
+
width: 100%;\r
|
|
5905
|
+
}\r
|
|
5906
|
+
\r
|
|
5907
|
+
.popupAnnotation {\r
|
|
5908
|
+
position: absolute;\r
|
|
5909
|
+
font-size: calc(9px * var(--total-scale-factor));\r
|
|
5910
|
+
pointer-events: none;\r
|
|
5911
|
+
width: max-content;\r
|
|
5912
|
+
max-width: 45%;\r
|
|
5913
|
+
height: auto;\r
|
|
5914
|
+
}\r
|
|
5915
|
+
\r
|
|
5916
|
+
.popup {\r
|
|
5917
|
+
background-color: rgb(255 255 153);\r
|
|
5918
|
+
color: black;\r
|
|
5919
|
+
box-shadow: 0 calc(2px * var(--total-scale-factor))\r
|
|
5920
|
+
calc(5px * var(--total-scale-factor)) rgb(136 136 136);\r
|
|
5921
|
+
border-radius: calc(2px * var(--total-scale-factor));\r
|
|
5922
|
+
outline: 1.5px solid rgb(255 255 74);\r
|
|
5923
|
+
padding: calc(6px * var(--total-scale-factor));\r
|
|
5924
|
+
cursor: pointer;\r
|
|
5925
|
+
font: message-box;\r
|
|
5926
|
+
white-space: normal;\r
|
|
5927
|
+
word-wrap: break-word;\r
|
|
5928
|
+
pointer-events: auto;\r
|
|
5929
|
+
user-select: text;\r
|
|
5930
|
+
}\r
|
|
5931
|
+
\r
|
|
5932
|
+
.popupAnnotation.focused .popup {\r
|
|
5933
|
+
outline-width: 3px;\r
|
|
5934
|
+
}\r
|
|
5935
|
+
\r
|
|
5936
|
+
.popup * {\r
|
|
5937
|
+
font-size: calc(9px * var(--total-scale-factor));\r
|
|
5938
|
+
}\r
|
|
5939
|
+
\r
|
|
5940
|
+
.popup > .header {\r
|
|
5941
|
+
display: inline-block;\r
|
|
5942
|
+
}\r
|
|
5943
|
+
\r
|
|
5944
|
+
.popup > .header > .title {\r
|
|
5945
|
+
display: inline;\r
|
|
5946
|
+
font-weight: bold;\r
|
|
5947
|
+
}\r
|
|
5948
|
+
\r
|
|
5949
|
+
.popup > .header .popupDate {\r
|
|
5950
|
+
display: inline-block;\r
|
|
5951
|
+
margin-left: calc(5px * var(--total-scale-factor));\r
|
|
5952
|
+
width: fit-content;\r
|
|
5953
|
+
}\r
|
|
5954
|
+
\r
|
|
5955
|
+
.popupContent {\r
|
|
5956
|
+
border-top: 1px solid rgb(51 51 51);\r
|
|
5957
|
+
margin-top: calc(2px * var(--total-scale-factor));\r
|
|
5958
|
+
padding-top: calc(2px * var(--total-scale-factor));\r
|
|
5959
|
+
}\r
|
|
5960
|
+
\r
|
|
5961
|
+
.richText > * {\r
|
|
5962
|
+
white-space: pre-wrap;\r
|
|
5963
|
+
font-size: calc(9px * var(--total-scale-factor));\r
|
|
5964
|
+
}\r
|
|
5965
|
+
\r
|
|
5966
|
+
.popupTriggerArea {\r
|
|
5967
|
+
cursor: pointer;\r
|
|
5968
|
+
\r
|
|
5969
|
+
&:hover {\r
|
|
5970
|
+
backdrop-filter: var(--hcm-highlight-filter);\r
|
|
5971
|
+
}\r
|
|
5972
|
+
}\r
|
|
5973
|
+
\r
|
|
5974
|
+
section svg {\r
|
|
5975
|
+
position: absolute;\r
|
|
5976
|
+
width: 100%;\r
|
|
5977
|
+
height: 100%;\r
|
|
5978
|
+
top: 0;\r
|
|
5979
|
+
left: 0;\r
|
|
5980
|
+
}\r
|
|
5981
|
+
\r
|
|
5982
|
+
.annotationTextContent {\r
|
|
5983
|
+
position: absolute;\r
|
|
5984
|
+
width: 100%;\r
|
|
5985
|
+
height: 100%;\r
|
|
5986
|
+
opacity: 0;\r
|
|
5987
|
+
color: transparent;\r
|
|
5988
|
+
user-select: none;\r
|
|
5989
|
+
pointer-events: none;\r
|
|
5990
|
+
\r
|
|
5991
|
+
span {\r
|
|
5992
|
+
width: 100%;\r
|
|
5993
|
+
display: inline-block;\r
|
|
5994
|
+
}\r
|
|
5995
|
+
}\r
|
|
5996
|
+
\r
|
|
5997
|
+
svg.quadrilateralsContainer {\r
|
|
5998
|
+
contain: strict;\r
|
|
5999
|
+
width: 0;\r
|
|
6000
|
+
height: 0;\r
|
|
6001
|
+
position: absolute;\r
|
|
6002
|
+
top: 0;\r
|
|
6003
|
+
left: 0;\r
|
|
6004
|
+
z-index: -1;\r
|
|
6005
|
+
}\r
|
|
6006
|
+
}\r
|
|
6007
|
+
`;
|
|
5927
6008
|
const render = async (page, doc, zoom) => {
|
|
5928
6009
|
const scale = zoom * devicePixelRatio;
|
|
5929
6010
|
doc.documentElement.style.transform = `scale(${1 / devicePixelRatio})`;
|
|
@@ -5958,15 +6039,13 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
5958
6039
|
container.onpointerdown = () => container.classList.add("selecting");
|
|
5959
6040
|
container.onpointerup = () => container.classList.remove("selecting");
|
|
5960
6041
|
const div = doc.querySelector(".annotationLayer");
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
}
|
|
5969
|
-
});
|
|
6042
|
+
const linkService = {
|
|
6043
|
+
goToDestination: () => {
|
|
6044
|
+
},
|
|
6045
|
+
getDestinationHash: (dest) => JSON.stringify(dest),
|
|
6046
|
+
addLinkAttributes: (link, url) => link.href = url
|
|
6047
|
+
};
|
|
6048
|
+
await new pdfjsLib.AnnotationLayer({ page, viewport, div, linkService }).render({ annotations: await page.getAnnotations() });
|
|
5970
6049
|
};
|
|
5971
6050
|
const renderPage = async (page, getImageBlob) => {
|
|
5972
6051
|
const viewport = page.getViewport({ scale: 1 });
|
|
@@ -5988,6 +6067,17 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
5988
6067
|
margin: 0;
|
|
5989
6068
|
padding: 0;
|
|
5990
6069
|
}
|
|
6070
|
+
/*
|
|
6071
|
+
https://github.com/mozilla/pdf.js/commit/bd05b255fabfc313b194bfe9a17ccded4d90fb5a
|
|
6072
|
+
*/
|
|
6073
|
+
:root {
|
|
6074
|
+
--user-unit: 1;
|
|
6075
|
+
--total-scale-factor: calc(var(--scale-factor) * var(--user-unit));
|
|
6076
|
+
--scale-round-x: 1px;
|
|
6077
|
+
--scale-round-y: 1px;
|
|
6078
|
+
}
|
|
6079
|
+
${textLayerBuilderCSS}
|
|
6080
|
+
${annotationLayerBuilderCSS}
|
|
5991
6081
|
</style>
|
|
5992
6082
|
<div id="canvas"></div>
|
|
5993
6083
|
<div class="textLayer"></div>
|
|
@@ -6010,8 +6100,8 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
6010
6100
|
};
|
|
6011
6101
|
const pdf2 = await pdfjsLib.getDocument({
|
|
6012
6102
|
range: transport,
|
|
6013
|
-
|
|
6014
|
-
|
|
6103
|
+
cMapUrl: pdfjsPath("cmaps/"),
|
|
6104
|
+
standardFontDataUrl: pdfjsPath("standard_fonts/"),
|
|
6015
6105
|
isEvalSupported: false
|
|
6016
6106
|
}).promise;
|
|
6017
6107
|
const book = { rendition: { layout: "pre-paginated" } };
|
|
@@ -6807,6 +6897,9 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
6807
6897
|
createDocument: () => this.createDocument(section),
|
|
6808
6898
|
size: section.end - section.start
|
|
6809
6899
|
}));
|
|
6900
|
+
this.#fileposList = [...new Set(
|
|
6901
|
+
Array.from(str.matchAll(fileposRegex), (m2) => m2[1])
|
|
6902
|
+
)].map((filepos) => ({ filepos, number: Number(filepos) })).sort((a2, b2) => a2.number - b2.number);
|
|
6810
6903
|
try {
|
|
6811
6904
|
this.landmarks = await this.getGuide();
|
|
6812
6905
|
const tocHref = (_a = this.landmarks.find(({ type }) => type == null ? void 0 : type.includes("toc"))) == null ? void 0 : _a.href;
|
|
@@ -6847,9 +6940,6 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
6847
6940
|
} catch (e2) {
|
|
6848
6941
|
console.warn(e2);
|
|
6849
6942
|
}
|
|
6850
|
-
this.#fileposList = [...new Set(
|
|
6851
|
-
Array.from(str.matchAll(fileposRegex), (m2) => m2[1])
|
|
6852
|
-
)].map((filepos) => ({ filepos, number: Number(filepos) })).sort((a2, b2) => a2.number - b2.number);
|
|
6853
6943
|
this.metadata = this.mobi.getMetadata();
|
|
6854
6944
|
this.getCover = this.mobi.getCover.bind(this.mobi);
|
|
6855
6945
|
return this;
|
|
@@ -7287,25 +7377,25 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
7287
7377
|
MOBI,
|
|
7288
7378
|
isMOBI
|
|
7289
7379
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
7290
|
-
var r = Uint8Array,
|
|
7291
|
-
for (var i2 = new
|
|
7292
|
-
var f2 = new
|
|
7380
|
+
var r = Uint8Array, n = Uint16Array, a = Int32Array, e = new r([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0]), i = new r([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0]), t = new r([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), f = function(r2, e2) {
|
|
7381
|
+
for (var i2 = new n(31), t2 = 0; t2 < 31; ++t2) i2[t2] = e2 += 1 << r2[t2 - 1];
|
|
7382
|
+
var f2 = new a(i2[30]);
|
|
7293
7383
|
for (t2 = 1; t2 < 30; ++t2) for (var o2 = i2[t2]; o2 < i2[t2 + 1]; ++o2) f2[o2] = o2 - i2[t2] << 5 | t2;
|
|
7294
7384
|
return { b: i2, r: f2 };
|
|
7295
|
-
}, o = f(
|
|
7385
|
+
}, o = f(e, 2), v = o.b, l = o.r;
|
|
7296
7386
|
v[28] = 258, l[258] = 28;
|
|
7297
|
-
for (var u = f(i, 0).b, c = new
|
|
7387
|
+
for (var u = f(i, 0).b, c = new n(32768), d = 0; d < 32768; ++d) {
|
|
7298
7388
|
var w = (43690 & d) >> 1 | (21845 & d) << 1;
|
|
7299
7389
|
w = (61680 & (w = (52428 & w) >> 2 | (13107 & w) << 2)) >> 4 | (3855 & w) << 4, c[d] = ((65280 & w) >> 8 | (255 & w) << 8) >> 1;
|
|
7300
7390
|
}
|
|
7301
|
-
var b = function(r2,
|
|
7302
|
-
for (var i2 = r2.length, t2 = 0, f2 = new
|
|
7303
|
-
var o2, v2 = new
|
|
7304
|
-
for (t2 = 1; t2 <
|
|
7391
|
+
var b = function(r2, a2, e2) {
|
|
7392
|
+
for (var i2 = r2.length, t2 = 0, f2 = new n(a2); t2 < i2; ++t2) r2[t2] && ++f2[r2[t2] - 1];
|
|
7393
|
+
var o2, v2 = new n(a2);
|
|
7394
|
+
for (t2 = 1; t2 < a2; ++t2) v2[t2] = v2[t2 - 1] + f2[t2 - 1] << 1;
|
|
7305
7395
|
{
|
|
7306
|
-
o2 = new
|
|
7307
|
-
var l2 = 15 -
|
|
7308
|
-
for (t2 = 0; t2 < i2; ++t2) if (r2[t2]) for (var u2 = t2 << 4 | r2[t2], d2 =
|
|
7396
|
+
o2 = new n(1 << a2);
|
|
7397
|
+
var l2 = 15 - a2;
|
|
7398
|
+
for (t2 = 0; t2 < i2; ++t2) if (r2[t2]) for (var u2 = t2 << 4 | r2[t2], d2 = a2 - r2[t2], w2 = v2[r2[t2] - 1]++ << d2, b2 = w2 | (1 << d2) - 1; w2 <= b2; ++w2) o2[c[w2] >> l2] = u2;
|
|
7309
7399
|
}
|
|
7310
7400
|
return o2;
|
|
7311
7401
|
}, s = new r(288);
|
|
@@ -7316,122 +7406,124 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
7316
7406
|
var h = new r(32);
|
|
7317
7407
|
for (d = 0; d < 32; ++d) h[d] = 5;
|
|
7318
7408
|
var y = b(s, 9), g = b(h, 5), p = function(r2) {
|
|
7319
|
-
for (var
|
|
7320
|
-
return a2;
|
|
7321
|
-
}, k = function(r2, a2, e2) {
|
|
7322
|
-
var n2 = a2 / 8 | 0;
|
|
7323
|
-
return (r2[n2] | r2[n2 + 1] << 8) >> (7 & a2) & e2;
|
|
7324
|
-
}, m = function(r2, a2) {
|
|
7325
|
-
var e2 = a2 / 8 | 0;
|
|
7326
|
-
return (r2[e2] | r2[e2 + 1] << 8 | r2[e2 + 2] << 16) >> (7 & a2);
|
|
7327
|
-
}, x = ["unexpected EOF", "invalid block type", "invalid length/literal", "invalid distance", "stream finished", "no stream handler", , "no callback", "invalid UTF-8 data", "extra field too long", "date not in range 1980-2099", "filename too long", "stream finishing", "invalid zip data"], T = function(r2, a2, e2) {
|
|
7328
|
-
var n2 = new Error(a2 || x[r2]);
|
|
7329
|
-
if (n2.code = r2, Error.captureStackTrace && Error.captureStackTrace(n2, T), !e2) throw n2;
|
|
7409
|
+
for (var n2 = r2[0], a2 = 1; a2 < r2.length; ++a2) r2[a2] > n2 && (n2 = r2[a2]);
|
|
7330
7410
|
return n2;
|
|
7331
|
-
},
|
|
7332
|
-
var
|
|
7333
|
-
|
|
7334
|
-
|
|
7411
|
+
}, k = function(r2, n2, a2) {
|
|
7412
|
+
var e2 = n2 / 8 | 0;
|
|
7413
|
+
return (r2[e2] | r2[e2 + 1] << 8) >> (7 & n2) & a2;
|
|
7414
|
+
}, m = function(r2, n2) {
|
|
7415
|
+
var a2 = n2 / 8 | 0;
|
|
7416
|
+
return (r2[a2] | r2[a2 + 1] << 8 | r2[a2 + 2] << 16) >> (7 & n2);
|
|
7417
|
+
}, x = function(r2) {
|
|
7418
|
+
return (r2 + 7) / 8 | 0;
|
|
7419
|
+
}, T = ["unexpected EOF", "invalid block type", "invalid length/literal", "invalid distance", "stream finished", "no stream handler", , "no callback", "invalid UTF-8 data", "extra field too long", "date not in range 1980-2099", "filename too long", "stream finishing", "invalid zip data"], E = function(r2, n2, a2) {
|
|
7420
|
+
var e2 = new Error(n2 || T[r2]);
|
|
7421
|
+
if (e2.code = r2, Error.captureStackTrace && Error.captureStackTrace(e2, E), !a2) throw e2;
|
|
7422
|
+
return e2;
|
|
7423
|
+
}, z = function(n2, a2, f2, o2) {
|
|
7424
|
+
var l2 = n2.length, c2 = o2 ? o2.length : 0;
|
|
7425
|
+
if (!l2 || a2.f && !a2.l) return f2 || new r(0);
|
|
7426
|
+
var d2 = !f2, w2 = d2 || 2 != a2.i, s2 = a2.i;
|
|
7335
7427
|
d2 && (f2 = new r(3 * l2));
|
|
7336
|
-
var h2 = function(
|
|
7337
|
-
var
|
|
7338
|
-
if (
|
|
7339
|
-
var
|
|
7340
|
-
|
|
7428
|
+
var h2 = function(n3) {
|
|
7429
|
+
var a3 = f2.length;
|
|
7430
|
+
if (n3 > a3) {
|
|
7431
|
+
var e2 = new r(Math.max(2 * a3, n3));
|
|
7432
|
+
e2.set(f2), f2 = e2;
|
|
7341
7433
|
}
|
|
7342
|
-
},
|
|
7434
|
+
}, T2 = a2.f || 0, z2 = a2.p || 0, A2 = a2.b || 0, U2 = a2.l, D2 = a2.d, F2 = a2.m, M2 = a2.n, S2 = 8 * l2;
|
|
7343
7435
|
do {
|
|
7344
|
-
if (!
|
|
7345
|
-
|
|
7346
|
-
var
|
|
7347
|
-
if (
|
|
7348
|
-
var
|
|
7349
|
-
if (
|
|
7350
|
-
s2 &&
|
|
7436
|
+
if (!U2) {
|
|
7437
|
+
T2 = k(n2, z2, 1);
|
|
7438
|
+
var I2 = k(n2, z2 + 1, 3);
|
|
7439
|
+
if (z2 += 3, !I2) {
|
|
7440
|
+
var O2 = n2[(P2 = x(z2) + 4) - 4] | n2[P2 - 3] << 8, j2 = P2 + O2;
|
|
7441
|
+
if (j2 > l2) {
|
|
7442
|
+
s2 && E(0);
|
|
7351
7443
|
break;
|
|
7352
7444
|
}
|
|
7353
|
-
w2 && h2(
|
|
7445
|
+
w2 && h2(A2 + O2), f2.set(n2.subarray(P2, j2), A2), a2.b = A2 += O2, a2.p = z2 = 8 * j2, a2.f = T2;
|
|
7354
7446
|
continue;
|
|
7355
7447
|
}
|
|
7356
|
-
if (1 ==
|
|
7357
|
-
else if (2 ==
|
|
7358
|
-
var
|
|
7359
|
-
|
|
7360
|
-
for (var
|
|
7361
|
-
|
|
7362
|
-
var
|
|
7363
|
-
for (
|
|
7364
|
-
var
|
|
7365
|
-
if (
|
|
7448
|
+
if (1 == I2) U2 = y, D2 = g, F2 = 9, M2 = 5;
|
|
7449
|
+
else if (2 == I2) {
|
|
7450
|
+
var q2 = k(n2, z2, 31) + 257, B2 = k(n2, z2 + 10, 15) + 4, C2 = q2 + k(n2, z2 + 5, 31) + 1;
|
|
7451
|
+
z2 += 14;
|
|
7452
|
+
for (var G2 = new r(C2), H2 = new r(19), J2 = 0; J2 < B2; ++J2) H2[t[J2]] = k(n2, z2 + 3 * J2, 7);
|
|
7453
|
+
z2 += 3 * B2;
|
|
7454
|
+
var K2 = p(H2), L2 = (1 << K2) - 1, N2 = b(H2, K2);
|
|
7455
|
+
for (J2 = 0; J2 < C2; ) {
|
|
7456
|
+
var P2, Q2 = N2[k(n2, z2, L2)];
|
|
7457
|
+
if (z2 += 15 & Q2, (P2 = Q2 >> 4) < 16) G2[J2++] = P2;
|
|
7366
7458
|
else {
|
|
7367
|
-
var
|
|
7368
|
-
for (16 ==
|
|
7459
|
+
var R2 = 0, V2 = 0;
|
|
7460
|
+
for (16 == P2 ? (V2 = 3 + k(n2, z2, 3), z2 += 2, R2 = G2[J2 - 1]) : 17 == P2 ? (V2 = 3 + k(n2, z2, 7), z2 += 3) : 18 == P2 && (V2 = 11 + k(n2, z2, 127), z2 += 7); V2--; ) G2[J2++] = R2;
|
|
7369
7461
|
}
|
|
7370
7462
|
}
|
|
7371
|
-
var
|
|
7372
|
-
|
|
7373
|
-
} else
|
|
7374
|
-
if (
|
|
7375
|
-
s2 &&
|
|
7463
|
+
var W2 = G2.subarray(0, q2), X2 = G2.subarray(q2);
|
|
7464
|
+
F2 = p(W2), M2 = p(X2), U2 = b(W2, F2), D2 = b(X2, M2);
|
|
7465
|
+
} else E(1);
|
|
7466
|
+
if (z2 > S2) {
|
|
7467
|
+
s2 && E(0);
|
|
7376
7468
|
break;
|
|
7377
7469
|
}
|
|
7378
7470
|
}
|
|
7379
|
-
w2 && h2(
|
|
7380
|
-
for (var
|
|
7381
|
-
var
|
|
7382
|
-
if ((
|
|
7383
|
-
s2 &&
|
|
7471
|
+
w2 && h2(A2 + 131072);
|
|
7472
|
+
for (var Y2 = (1 << F2) - 1, Z2 = (1 << M2) - 1, $2 = z2; ; $2 = z2) {
|
|
7473
|
+
var _2 = (R2 = U2[m(n2, z2) & Y2]) >> 4;
|
|
7474
|
+
if ((z2 += 15 & R2) > S2) {
|
|
7475
|
+
s2 && E(0);
|
|
7384
7476
|
break;
|
|
7385
7477
|
}
|
|
7386
|
-
if (
|
|
7478
|
+
if (R2 || E(2), _2 < 256) f2[A2++] = _2;
|
|
7387
7479
|
else {
|
|
7388
|
-
if (256 ==
|
|
7389
|
-
|
|
7480
|
+
if (256 == _2) {
|
|
7481
|
+
$2 = z2, U2 = null;
|
|
7390
7482
|
break;
|
|
7391
7483
|
}
|
|
7392
|
-
var
|
|
7393
|
-
if (
|
|
7394
|
-
var
|
|
7395
|
-
|
|
7484
|
+
var rr = _2 - 254;
|
|
7485
|
+
if (_2 > 264) {
|
|
7486
|
+
var nr = e[J2 = _2 - 257];
|
|
7487
|
+
rr = k(n2, z2, (1 << nr) - 1) + v[J2], z2 += nr;
|
|
7396
7488
|
}
|
|
7397
|
-
var ar =
|
|
7398
|
-
ar ||
|
|
7399
|
-
|
|
7489
|
+
var ar = D2[m(n2, z2) & Z2], er = ar >> 4;
|
|
7490
|
+
ar || E(3), z2 += 15 & ar;
|
|
7491
|
+
X2 = u[er];
|
|
7400
7492
|
if (er > 3) {
|
|
7401
|
-
|
|
7402
|
-
|
|
7493
|
+
nr = i[er];
|
|
7494
|
+
X2 += m(n2, z2) & (1 << nr) - 1, z2 += nr;
|
|
7403
7495
|
}
|
|
7404
|
-
if (
|
|
7405
|
-
s2 &&
|
|
7496
|
+
if (z2 > S2) {
|
|
7497
|
+
s2 && E(0);
|
|
7406
7498
|
break;
|
|
7407
7499
|
}
|
|
7408
|
-
w2 && h2(
|
|
7409
|
-
var
|
|
7410
|
-
if (
|
|
7411
|
-
var
|
|
7412
|
-
for (
|
|
7500
|
+
w2 && h2(A2 + 131072);
|
|
7501
|
+
var ir = A2 + rr;
|
|
7502
|
+
if (A2 < X2) {
|
|
7503
|
+
var tr = c2 - X2, fr = Math.min(X2, ir);
|
|
7504
|
+
for (tr + A2 < 0 && E(3); A2 < fr; ++A2) f2[A2] = o2[tr + A2];
|
|
7413
7505
|
}
|
|
7414
|
-
for (;
|
|
7506
|
+
for (; A2 < ir; ++A2) f2[A2] = f2[A2 - X2];
|
|
7415
7507
|
}
|
|
7416
7508
|
}
|
|
7417
|
-
|
|
7418
|
-
} while (!
|
|
7419
|
-
return
|
|
7420
|
-
return (null ==
|
|
7421
|
-
})(f2, 0,
|
|
7422
|
-
},
|
|
7423
|
-
function
|
|
7424
|
-
return
|
|
7425
|
-
var
|
|
7426
|
-
}
|
|
7427
|
-
var
|
|
7509
|
+
a2.l = U2, a2.p = $2, a2.b = A2, a2.f = T2, U2 && (T2 = 1, a2.m = F2, a2.d = D2, a2.n = M2);
|
|
7510
|
+
} while (!T2);
|
|
7511
|
+
return A2 != f2.length && d2 ? (function(n3, a3, e2) {
|
|
7512
|
+
return (null == e2 || e2 > n3.length) && (e2 = n3.length), new r(n3.subarray(a3, e2));
|
|
7513
|
+
})(f2, 0, A2) : f2.subarray(0, A2);
|
|
7514
|
+
}, A = new r(0);
|
|
7515
|
+
function U(r2, n2) {
|
|
7516
|
+
return z(r2.subarray((a2 = r2, e2 = n2 && n2.dictionary, (8 != (15 & a2[0]) || a2[0] >> 4 > 7 || (a2[0] << 8 | a2[1]) % 31) && E(6, "invalid zlib data"), (a2[1] >> 5 & 1) == +!e2 && E(6, "invalid zlib data: " + (32 & a2[1] ? "need" : "unexpected") + " dictionary"), 2 + (a2[1] >> 3 & 4)), -4), { i: 2 }, n2 && n2.out, n2 && n2.dictionary);
|
|
7517
|
+
var a2, e2;
|
|
7518
|
+
}
|
|
7519
|
+
var D = "undefined" != typeof TextDecoder && new TextDecoder();
|
|
7428
7520
|
try {
|
|
7429
|
-
|
|
7521
|
+
D.decode(A, { stream: true });
|
|
7430
7522
|
} catch (r2) {
|
|
7431
7523
|
}
|
|
7432
7524
|
const fflate = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
7433
7525
|
__proto__: null,
|
|
7434
|
-
unzlibSync:
|
|
7526
|
+
unzlibSync: U
|
|
7435
7527
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
7436
7528
|
const parseViewport = (str) => {
|
|
7437
7529
|
var _a, _b;
|
|
@@ -8946,10 +9038,11 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
8946
9038
|
const { lang } = inherited;
|
|
8947
9039
|
if (lang) ssml.documentElement.setAttributeNS(NS.XML, "lang", lang);
|
|
8948
9040
|
const convert = (node, parent, inheritedAlphabet) => {
|
|
9041
|
+
var _a, _b, _c;
|
|
8949
9042
|
if (!node) return;
|
|
8950
9043
|
if (node.nodeType === 3) return ssml.createTextNode(node.textContent);
|
|
8951
9044
|
if (node.nodeType === 4) return ssml.createCDATASection(node.textContent);
|
|
8952
|
-
if (node.nodeType !== 1) return;
|
|
9045
|
+
if (node.nodeType !== 1 && node.nodeType !== 11) return;
|
|
8953
9046
|
let el;
|
|
8954
9047
|
const nodeName = node.nodeName.toLowerCase();
|
|
8955
9048
|
if (nodeName === "foliate-mark") {
|
|
@@ -8959,14 +9052,14 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
8959
9052
|
el = ssml.createElementNS(NS.SSML, "break");
|
|
8960
9053
|
else if (nodeName === "em" || nodeName === "strong")
|
|
8961
9054
|
el = ssml.createElementNS(NS.SSML, "emphasis");
|
|
8962
|
-
const lang2 = node.lang || node.getAttributeNS(NS.XML, "lang");
|
|
9055
|
+
const lang2 = node.lang || ((_a = node.getAttributeNS) == null ? void 0 : _a.call(node, NS.XML, "lang"));
|
|
8963
9056
|
if (lang2) {
|
|
8964
9057
|
if (!el) el = ssml.createElementNS(NS.SSML, "lang");
|
|
8965
9058
|
el.setAttributeNS(NS.XML, "lang", lang2);
|
|
8966
9059
|
}
|
|
8967
|
-
const alphabet = node.getAttributeNS(NS.SSML, "alphabet") || inheritedAlphabet;
|
|
9060
|
+
const alphabet = ((_b = node.getAttributeNS) == null ? void 0 : _b.call(node, NS.SSML, "alphabet")) || inheritedAlphabet;
|
|
8968
9061
|
if (!el) {
|
|
8969
|
-
const ph = node.getAttributeNS(NS.SSML, "ph");
|
|
9062
|
+
const ph = (_c = node.getAttributeNS) == null ? void 0 : _c.call(node, NS.SSML, "ph");
|
|
8970
9063
|
if (ph) {
|
|
8971
9064
|
el = ssml.createElementNS(NS.SSML, "phoneme");
|
|
8972
9065
|
if (alphabet) el.setAttribute("alphabet", alphabet);
|
|
@@ -8982,7 +9075,7 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
|
|
|
8982
9075
|
}
|
|
8983
9076
|
return el;
|
|
8984
9077
|
};
|
|
8985
|
-
convert(fragment
|
|
9078
|
+
convert(fragment, ssml.documentElement, inherited.alphabet);
|
|
8986
9079
|
return ssml;
|
|
8987
9080
|
};
|
|
8988
9081
|
const getFragmentWithMarks = (range, textWalker2, granularity) => {
|