imagescript 1.2.15 → 1.2.16
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/ImageScript.d.ts +223 -223
- package/ImageScript.js +1646 -1646
- package/LICENSE +619 -619
- package/README.md +46 -46
- package/bench/_.mjs +165 -165
- package/bench/all.mjs +3 -3
- package/bench/blur.mjs +58 -58
- package/bench/flip.mjs +62 -62
- package/bench/overlay.mjs +34 -34
- package/bench/package.json +6 -6
- package/bench/readme.md +63 -63
- package/bench/resize.mjs +51 -51
- package/codecs/LICENSE +20 -20
- package/codecs/lib.d.ts +49 -49
- package/codecs/lib.js +5 -5
- package/codecs/node/index.js +2 -2
- package/codecs/node/index.mjs +5 -5
- package/codecs/package.json +13 -13
- package/codecs/readme.md +37 -37
- package/package.json +41 -41
- package/png/node.js +1137 -1137
- package/png/src/crc.mjs +48 -48
- package/png/src/mem.mjs +23 -23
- package/png/src/png.mjs +254 -254
- package/png/src/zlib.mjs +617 -617
- package/tsconfig.json +21 -21
- package/utils/mem.js +25 -25
- package/v2/codecs/magic.js +24 -24
- package/v2/framebuffer.d.ts +66 -66
- package/v2/framebuffer.js +2352 -2352
- package/v2/framebuffer.mjs +125 -125
- package/v2/framebuffer.rs +1263 -1263
- package/v2/index.d.ts +83 -83
- package/v2/index.js +260 -260
- package/v2/ops/blur.mjs +302 -302
- package/v2/ops/color.mjs +276 -276
- package/v2/ops/crop.mjs +63 -63
- package/v2/ops/fill.mjs +32 -32
- package/v2/ops/flip.mjs +32 -32
- package/v2/ops/index.mjs +8 -8
- package/v2/ops/iterator.mjs +33 -33
- package/v2/ops/overlay.mjs +62 -62
- package/v2/ops/resize.mjs +165 -165
- package/v2/ops/rotate.mjs +116 -116
- package/v2/util/mem.mjs +23 -23
- package/wasm/node/font.js +141 -141
- package/wasm/node/gif.js +76 -76
- package/wasm/node/jpeg.js +91 -91
- package/wasm/node/png.js +49 -49
- package/wasm/node/svg.js +55 -55
- package/wasm/node/tiff.js +46 -46
package/png/src/zlib.mjs
CHANGED
|
@@ -1,618 +1,618 @@
|
|
|
1
|
-
// node_modules/fflate/esm/browser.js
|
|
2
|
-
// https://github.com/101arrowz/fflate
|
|
3
|
-
|
|
4
|
-
// MIT License
|
|
5
|
-
|
|
6
|
-
// Copyright (c) 2020 Arjun Barrett
|
|
7
|
-
|
|
8
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
10
|
-
// in the Software without restriction, including without limitation the rights
|
|
11
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
13
|
-
// furnished to do so, subject to the following conditions:
|
|
14
|
-
|
|
15
|
-
// The above copyright notice and this permission notice shall be included in all
|
|
16
|
-
// copies or substantial portions of the Software.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var u8 = Uint8Array;
|
|
20
|
-
var u16 = Uint16Array;
|
|
21
|
-
var u32 = Uint32Array;
|
|
22
|
-
var clim = u8.of(16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15);
|
|
23
|
-
var fleb = u8.of(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);
|
|
24
|
-
var fdeb = u8.of(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);
|
|
25
|
-
var freb = function (eb, start) {
|
|
26
|
-
var b = new u16(31);
|
|
27
|
-
for (var i = 0; i < 31; ++i) {
|
|
28
|
-
b[i] = start += 1 << eb[i - 1];
|
|
29
|
-
}
|
|
30
|
-
var r = new u32(b[30]);
|
|
31
|
-
for (var i = 1; i < 30; ++i) {
|
|
32
|
-
for (var j = b[i]; j < b[i + 1]; ++j) {
|
|
33
|
-
r[j] = j - b[i] << 5 | i;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return [b, r];
|
|
37
|
-
};
|
|
38
|
-
var _a = freb(fleb, 2);
|
|
39
|
-
var fl = _a[0];
|
|
40
|
-
var revfl = _a[1];
|
|
41
|
-
fl[28] = 258, revfl[258] = 28;
|
|
42
|
-
var _b = freb(fdeb, 0);
|
|
43
|
-
var fd = _b[0];
|
|
44
|
-
var revfd = _b[1];
|
|
45
|
-
var rev = new u16(32768);
|
|
46
|
-
for (var i = 0; i < 32768; ++i) {
|
|
47
|
-
x = (i & 43690) >>> 1 | (i & 21845) << 1;
|
|
48
|
-
x = (x & 52428) >>> 2 | (x & 13107) << 2;
|
|
49
|
-
x = (x & 61680) >>> 4 | (x & 3855) << 4;
|
|
50
|
-
rev[i] = ((x & 65280) >>> 8 | (x & 255) << 8) >>> 1;
|
|
51
|
-
}
|
|
52
|
-
var x;
|
|
53
|
-
var hMap = function (cd, mb, r) {
|
|
54
|
-
var s = cd.length;
|
|
55
|
-
var i = 0;
|
|
56
|
-
var l = new u16(mb);
|
|
57
|
-
for (; i < s; ++i)
|
|
58
|
-
++l[cd[i] - 1];
|
|
59
|
-
var le = new u16(mb);
|
|
60
|
-
for (i = 0; i < mb; ++i) {
|
|
61
|
-
le[i] = le[i - 1] + l[i - 1] << 1;
|
|
62
|
-
}
|
|
63
|
-
var co;
|
|
64
|
-
if (r) {
|
|
65
|
-
co = new u16(1 << mb);
|
|
66
|
-
var rvb = 15 - mb;
|
|
67
|
-
for (i = 0; i < s; ++i) {
|
|
68
|
-
if (cd[i]) {
|
|
69
|
-
var sv = i << 4 | cd[i];
|
|
70
|
-
var r_1 = mb - cd[i];
|
|
71
|
-
var v = le[cd[i] - 1]++ << r_1;
|
|
72
|
-
for (var m = v | (1 << r_1) - 1; v <= m; ++v) {
|
|
73
|
-
co[rev[v] >>> rvb] = sv;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
} else {
|
|
78
|
-
co = new u16(s);
|
|
79
|
-
for (i = 0; i < s; ++i) {
|
|
80
|
-
if (cd[i]) {
|
|
81
|
-
co[i] = rev[le[cd[i] - 1]++] >>> 15 - cd[i];
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return co;
|
|
86
|
-
};
|
|
87
|
-
var flt = new u8(288);
|
|
88
|
-
for (var i = 0; i < 144; ++i)
|
|
89
|
-
flt[i] = 8;
|
|
90
|
-
for (var i = 144; i < 256; ++i)
|
|
91
|
-
flt[i] = 9;
|
|
92
|
-
for (var i = 256; i < 280; ++i)
|
|
93
|
-
flt[i] = 7;
|
|
94
|
-
for (var i = 280; i < 288; ++i)
|
|
95
|
-
flt[i] = 8;
|
|
96
|
-
var fdt = new u8(32);
|
|
97
|
-
for (var i = 0; i < 32; ++i)
|
|
98
|
-
fdt[i] = 5;
|
|
99
|
-
var flm = hMap(flt, 9, 0);
|
|
100
|
-
var flrm = hMap(flt, 9, 1);
|
|
101
|
-
var fdm = hMap(fdt, 5, 0);
|
|
102
|
-
var fdrm = hMap(fdt, 5, 1);
|
|
103
|
-
var max = function (a) {
|
|
104
|
-
var m = a[0];
|
|
105
|
-
for (var i = 1; i < a.length; ++i) {
|
|
106
|
-
if (a[i] > m)
|
|
107
|
-
m = a[i];
|
|
108
|
-
}
|
|
109
|
-
return m;
|
|
110
|
-
};
|
|
111
|
-
var bits = function (d, p, m) {
|
|
112
|
-
var o = p >> 3 | 0;
|
|
113
|
-
return (d[o] | d[o + 1] << 8) >> (p & 7) & m;
|
|
114
|
-
};
|
|
115
|
-
var bits16 = function (d, p) {
|
|
116
|
-
var o = p >> 3 | 0;
|
|
117
|
-
return (d[o] | d[o + 1] << 8 | d[o + 2] << 16) >> (p & 7);
|
|
118
|
-
};
|
|
119
|
-
var shft = function (p) {
|
|
120
|
-
return (p >> 3 | 0) + (p & 7 && 1);
|
|
121
|
-
};
|
|
122
|
-
var slc = function (v, s, e) {
|
|
123
|
-
if (s == null || s < 0)
|
|
124
|
-
s = 0;
|
|
125
|
-
if (e == null || e > v.length)
|
|
126
|
-
e = v.length;
|
|
127
|
-
var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);
|
|
128
|
-
n.set(v.subarray(s, e));
|
|
129
|
-
return n;
|
|
130
|
-
};
|
|
131
|
-
var inflt = function (dat, buf, st) {
|
|
132
|
-
var sl = dat.length;
|
|
133
|
-
if (!sl || st && !st.l && sl < 5)
|
|
134
|
-
return buf || new u8(0);
|
|
135
|
-
var noBuf = !buf || st;
|
|
136
|
-
var noSt = !st || st.i;
|
|
137
|
-
if (!st)
|
|
138
|
-
st = {};
|
|
139
|
-
if (!buf)
|
|
140
|
-
buf = new u8(sl * 3);
|
|
141
|
-
var cbuf = function (l2) {
|
|
142
|
-
var bl = buf.length;
|
|
143
|
-
if (l2 > bl) {
|
|
144
|
-
var nbuf = new u8(Math.max(bl * 2, l2));
|
|
145
|
-
nbuf.set(buf);
|
|
146
|
-
buf = nbuf;
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
|
|
150
|
-
var tbts = sl * 8;
|
|
151
|
-
do {
|
|
152
|
-
if (!lm) {
|
|
153
|
-
st.f = final = bits(dat, pos, 1);
|
|
154
|
-
var type = bits(dat, pos + 1, 3);
|
|
155
|
-
pos += 3;
|
|
156
|
-
if (!type) {
|
|
157
|
-
var s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t = s + l;
|
|
158
|
-
if (t > sl) {
|
|
159
|
-
if (noSt)
|
|
160
|
-
throw "unexpected EOF";
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
|
-
if (noBuf)
|
|
164
|
-
cbuf(bt + l);
|
|
165
|
-
buf.set(dat.subarray(s, t), bt);
|
|
166
|
-
st.b = bt += l, st.p = pos = t * 8;
|
|
167
|
-
continue;
|
|
168
|
-
} else if (type === 1)
|
|
169
|
-
lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
|
|
170
|
-
else if (type === 2) {
|
|
171
|
-
var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
|
|
172
|
-
var tl = hLit + bits(dat, pos + 5, 31) + 1;
|
|
173
|
-
pos += 14;
|
|
174
|
-
var ldt = new u8(tl);
|
|
175
|
-
var clt = new u8(19);
|
|
176
|
-
for (var i = 0; i < hcLen; ++i) {
|
|
177
|
-
clt[clim[i]] = bits(dat, pos + i * 3, 7);
|
|
178
|
-
}
|
|
179
|
-
pos += hcLen * 3;
|
|
180
|
-
var clb = max(clt), clbmsk = (1 << clb) - 1;
|
|
181
|
-
var clm = hMap(clt, clb, 1);
|
|
182
|
-
for (var i = 0; i < tl;) {
|
|
183
|
-
var r = clm[bits(dat, pos, clbmsk)];
|
|
184
|
-
pos += r & 15;
|
|
185
|
-
var s = r >>> 4;
|
|
186
|
-
if (s < 16) {
|
|
187
|
-
ldt[i++] = s;
|
|
188
|
-
} else {
|
|
189
|
-
var c = 0, n = 0;
|
|
190
|
-
if (s === 16)
|
|
191
|
-
n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
|
|
192
|
-
else if (s === 17)
|
|
193
|
-
n = 3 + bits(dat, pos, 7), pos += 3;
|
|
194
|
-
else if (s === 18)
|
|
195
|
-
n = 11 + bits(dat, pos, 127), pos += 7;
|
|
196
|
-
while (n--)
|
|
197
|
-
ldt[i++] = c;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
|
|
201
|
-
lbt = max(lt);
|
|
202
|
-
dbt = max(dt);
|
|
203
|
-
lm = hMap(lt, lbt, 1);
|
|
204
|
-
dm = hMap(dt, dbt, 1);
|
|
205
|
-
} else
|
|
206
|
-
throw "invalid block type";
|
|
207
|
-
if (pos > tbts) {
|
|
208
|
-
if (noSt)
|
|
209
|
-
throw "unexpected EOF";
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
if (noBuf)
|
|
214
|
-
cbuf(bt + 131072);
|
|
215
|
-
var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
|
|
216
|
-
var lpos = pos;
|
|
217
|
-
for (; ; lpos = pos) {
|
|
218
|
-
var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;
|
|
219
|
-
pos += c & 15;
|
|
220
|
-
if (pos > tbts) {
|
|
221
|
-
if (noSt)
|
|
222
|
-
throw "unexpected EOF";
|
|
223
|
-
break;
|
|
224
|
-
}
|
|
225
|
-
if (!c)
|
|
226
|
-
throw "invalid length/literal";
|
|
227
|
-
if (sym < 256)
|
|
228
|
-
buf[bt++] = sym;
|
|
229
|
-
else if (sym === 256) {
|
|
230
|
-
lpos = pos, lm = null;
|
|
231
|
-
break;
|
|
232
|
-
} else {
|
|
233
|
-
var add = sym - 254;
|
|
234
|
-
if (sym > 264) {
|
|
235
|
-
var i = sym - 257, b = fleb[i];
|
|
236
|
-
add = bits(dat, pos, (1 << b) - 1) + fl[i];
|
|
237
|
-
pos += b;
|
|
238
|
-
}
|
|
239
|
-
var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;
|
|
240
|
-
if (!d)
|
|
241
|
-
throw "invalid distance";
|
|
242
|
-
pos += d & 15;
|
|
243
|
-
var dt = fd[dsym];
|
|
244
|
-
if (dsym > 3) {
|
|
245
|
-
var b = fdeb[dsym];
|
|
246
|
-
dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
|
|
247
|
-
}
|
|
248
|
-
if (pos > tbts) {
|
|
249
|
-
if (noSt)
|
|
250
|
-
throw "unexpected EOF";
|
|
251
|
-
break;
|
|
252
|
-
}
|
|
253
|
-
if (noBuf)
|
|
254
|
-
cbuf(bt + 131072);
|
|
255
|
-
var end = bt + add;
|
|
256
|
-
for (; bt < end; bt += 4) {
|
|
257
|
-
buf[bt] = buf[bt - dt];
|
|
258
|
-
buf[bt + 1] = buf[bt + 1 - dt];
|
|
259
|
-
buf[bt + 2] = buf[bt + 2 - dt];
|
|
260
|
-
buf[bt + 3] = buf[bt + 3 - dt];
|
|
261
|
-
}
|
|
262
|
-
bt = end;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
st.l = lm, st.p = lpos, st.b = bt;
|
|
266
|
-
if (lm)
|
|
267
|
-
final = 1, st.m = lbt, st.d = dm, st.n = dbt;
|
|
268
|
-
} while (!final);
|
|
269
|
-
return bt === buf.length ? buf : slc(buf, 0, bt);
|
|
270
|
-
};
|
|
271
|
-
var wbits = function (d, p, v) {
|
|
272
|
-
v <<= p & 7;
|
|
273
|
-
var o = p >> 3 | 0;
|
|
274
|
-
d[o] |= v;
|
|
275
|
-
d[o + 1] |= v >>> 8;
|
|
276
|
-
};
|
|
277
|
-
var wbits16 = function (d, p, v) {
|
|
278
|
-
v <<= p & 7;
|
|
279
|
-
var o = p >> 3 | 0;
|
|
280
|
-
d[o] |= v;
|
|
281
|
-
d[o + 1] |= v >>> 8;
|
|
282
|
-
d[o + 2] |= v >>> 16;
|
|
283
|
-
};
|
|
284
|
-
var hTree = function (d, mb) {
|
|
285
|
-
var t = [];
|
|
286
|
-
for (var i = 0; i < d.length; ++i) {
|
|
287
|
-
if (d[i])
|
|
288
|
-
t.push({ s: i, f: d[i] });
|
|
289
|
-
}
|
|
290
|
-
var s = t.length;
|
|
291
|
-
var t2 = t.slice();
|
|
292
|
-
if (!s)
|
|
293
|
-
return [et, 0];
|
|
294
|
-
if (s === 1) {
|
|
295
|
-
var v = new u8(t[0].s + 1);
|
|
296
|
-
v[t[0].s] = 1;
|
|
297
|
-
return [v, 1];
|
|
298
|
-
}
|
|
299
|
-
t.sort(function (a, b) {
|
|
300
|
-
return a.f - b.f;
|
|
301
|
-
});
|
|
302
|
-
t.push({ s: -1, f: 25001 });
|
|
303
|
-
var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;
|
|
304
|
-
t[0] = { s: -1, f: l.f + r.f, l, r };
|
|
305
|
-
while (i1 !== s - 1) {
|
|
306
|
-
l = t[t[i0].f < t[i2].f ? i0++ : i2++];
|
|
307
|
-
r = t[i0 !== i1 && t[i0].f < t[i2].f ? i0++ : i2++];
|
|
308
|
-
t[i1++] = { s: -1, f: l.f + r.f, l, r };
|
|
309
|
-
}
|
|
310
|
-
var maxSym = t2[0].s;
|
|
311
|
-
for (var i = 1; i < s; ++i) {
|
|
312
|
-
if (t2[i].s > maxSym)
|
|
313
|
-
maxSym = t2[i].s;
|
|
314
|
-
}
|
|
315
|
-
var tr = new u16(maxSym + 1);
|
|
316
|
-
var mbt = ln(t[i1 - 1], tr, 0);
|
|
317
|
-
if (mbt > mb) {
|
|
318
|
-
var i = 0, dt = 0;
|
|
319
|
-
var lft = mbt - mb, cst = 1 << lft;
|
|
320
|
-
t2.sort(function (a, b) {
|
|
321
|
-
return tr[b.s] - tr[a.s] || a.f - b.f;
|
|
322
|
-
});
|
|
323
|
-
for (; i < s; ++i) {
|
|
324
|
-
var i2_1 = t2[i].s;
|
|
325
|
-
if (tr[i2_1] > mb) {
|
|
326
|
-
dt += cst - (1 << mbt - tr[i2_1]);
|
|
327
|
-
tr[i2_1] = mb;
|
|
328
|
-
} else
|
|
329
|
-
break;
|
|
330
|
-
}
|
|
331
|
-
dt >>>= lft;
|
|
332
|
-
while (dt > 0) {
|
|
333
|
-
var i2_2 = t2[i].s;
|
|
334
|
-
if (tr[i2_2] < mb)
|
|
335
|
-
dt -= 1 << mb - tr[i2_2]++ - 1;
|
|
336
|
-
else
|
|
337
|
-
++i;
|
|
338
|
-
}
|
|
339
|
-
for (; i >= 0 && dt; --i) {
|
|
340
|
-
var i2_3 = t2[i].s;
|
|
341
|
-
if (tr[i2_3] === mb) {
|
|
342
|
-
--tr[i2_3];
|
|
343
|
-
++dt;
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
mbt = mb;
|
|
347
|
-
}
|
|
348
|
-
return [new u8(tr), mbt];
|
|
349
|
-
};
|
|
350
|
-
var ln = function (n, l, d) {
|
|
351
|
-
return n.s === -1 ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) : l[n.s] = d;
|
|
352
|
-
};
|
|
353
|
-
var lc = function (c) {
|
|
354
|
-
var s = c.length;
|
|
355
|
-
while (s && !c[--s])
|
|
356
|
-
;
|
|
357
|
-
var cl = new u16(++s);
|
|
358
|
-
var cli = 0, cln = c[0], cls = 1;
|
|
359
|
-
var w = function (v) {
|
|
360
|
-
cl[cli++] = v;
|
|
361
|
-
};
|
|
362
|
-
for (var i = 1; i <= s; ++i) {
|
|
363
|
-
if (c[i] === cln && i !== s)
|
|
364
|
-
++cls;
|
|
365
|
-
else {
|
|
366
|
-
if (!cln && cls > 2) {
|
|
367
|
-
for (; cls > 138; cls -= 138)
|
|
368
|
-
w(32754);
|
|
369
|
-
if (cls > 2) {
|
|
370
|
-
w(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305);
|
|
371
|
-
cls = 0;
|
|
372
|
-
}
|
|
373
|
-
} else if (cls > 3) {
|
|
374
|
-
w(cln), --cls;
|
|
375
|
-
for (; cls > 6; cls -= 6)
|
|
376
|
-
w(8304);
|
|
377
|
-
if (cls > 2)
|
|
378
|
-
w(cls - 3 << 5 | 8208), cls = 0;
|
|
379
|
-
}
|
|
380
|
-
while (cls--)
|
|
381
|
-
w(cln);
|
|
382
|
-
cls = 1;
|
|
383
|
-
cln = c[i];
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
return [cl.subarray(0, cli), s];
|
|
387
|
-
};
|
|
388
|
-
var clen = function (cf, cl) {
|
|
389
|
-
var l = 0;
|
|
390
|
-
for (var i = 0; i < cl.length; ++i)
|
|
391
|
-
l += cf[i] * cl[i];
|
|
392
|
-
return l;
|
|
393
|
-
};
|
|
394
|
-
var wfblk = function (out, pos, dat) {
|
|
395
|
-
var s = dat.length;
|
|
396
|
-
var o = shft(pos + 2);
|
|
397
|
-
out[o] = s & 255;
|
|
398
|
-
out[o + 1] = s >>> 8;
|
|
399
|
-
out[o + 2] = out[o] ^ 255;
|
|
400
|
-
out[o + 3] = out[o + 1] ^ 255;
|
|
401
|
-
for (var i = 0; i < s; ++i)
|
|
402
|
-
out[o + i + 4] = dat[i];
|
|
403
|
-
return (o + 4 + s) * 8;
|
|
404
|
-
};
|
|
405
|
-
var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
|
|
406
|
-
wbits(out, p++, final);
|
|
407
|
-
++lf[256];
|
|
408
|
-
var _a2 = hTree(lf, 15), dlt = _a2[0], mlb = _a2[1];
|
|
409
|
-
var _b2 = hTree(df, 15), ddt = _b2[0], mdb = _b2[1];
|
|
410
|
-
var _c = lc(dlt), lclt = _c[0], nlc = _c[1];
|
|
411
|
-
var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];
|
|
412
|
-
var lcfreq = new u16(19);
|
|
413
|
-
for (var i = 0; i < lclt.length; ++i)
|
|
414
|
-
lcfreq[lclt[i] & 31]++;
|
|
415
|
-
for (var i = 0; i < lcdt.length; ++i)
|
|
416
|
-
lcfreq[lcdt[i] & 31]++;
|
|
417
|
-
var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];
|
|
418
|
-
var nlcc = 19;
|
|
419
|
-
for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)
|
|
420
|
-
;
|
|
421
|
-
var flen = bl + 5 << 3;
|
|
422
|
-
var ftlen = clen(lf, flt) + clen(df, fdt) + eb;
|
|
423
|
-
var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);
|
|
424
|
-
if (flen <= ftlen && flen <= dtlen)
|
|
425
|
-
return wfblk(out, p, dat.subarray(bs, bs + bl));
|
|
426
|
-
var lm, ll, dm, dl;
|
|
427
|
-
wbits(out, p, 1 + (dtlen < ftlen)), p += 2;
|
|
428
|
-
if (dtlen < ftlen) {
|
|
429
|
-
lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;
|
|
430
|
-
var llm = hMap(lct, mlcb, 0);
|
|
431
|
-
wbits(out, p, nlc - 257);
|
|
432
|
-
wbits(out, p + 5, ndc - 1);
|
|
433
|
-
wbits(out, p + 10, nlcc - 4);
|
|
434
|
-
p += 14;
|
|
435
|
-
for (var i = 0; i < nlcc; ++i)
|
|
436
|
-
wbits(out, p + 3 * i, lct[clim[i]]);
|
|
437
|
-
p += 3 * nlcc;
|
|
438
|
-
var lcts = [lclt, lcdt];
|
|
439
|
-
for (var it = 0; it < 2; ++it) {
|
|
440
|
-
var clct = lcts[it];
|
|
441
|
-
for (var i = 0; i < clct.length; ++i) {
|
|
442
|
-
var len = clct[i] & 31;
|
|
443
|
-
wbits(out, p, llm[len]), p += lct[len];
|
|
444
|
-
if (len > 15)
|
|
445
|
-
wbits(out, p, clct[i] >>> 5 & 127), p += clct[i] >>> 12;
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
} else {
|
|
449
|
-
lm = flm, ll = flt, dm = fdm, dl = fdt;
|
|
450
|
-
}
|
|
451
|
-
for (var i = 0; i < li; ++i) {
|
|
452
|
-
if (syms[i] > 255) {
|
|
453
|
-
var len = syms[i] >>> 18 & 31;
|
|
454
|
-
wbits16(out, p, lm[len + 257]), p += ll[len + 257];
|
|
455
|
-
if (len > 7)
|
|
456
|
-
wbits(out, p, syms[i] >>> 23 & 31), p += fleb[len];
|
|
457
|
-
var dst = syms[i] & 31;
|
|
458
|
-
wbits16(out, p, dm[dst]), p += dl[dst];
|
|
459
|
-
if (dst > 3)
|
|
460
|
-
wbits16(out, p, syms[i] >>> 5 & 8191), p += fdeb[dst];
|
|
461
|
-
} else {
|
|
462
|
-
wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
wbits16(out, p, lm[256]);
|
|
466
|
-
return p + ll[256];
|
|
467
|
-
};
|
|
468
|
-
var deo = u32.of(65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632);
|
|
469
|
-
var et = new u8(0);
|
|
470
|
-
var dflt = function (dat, lvl, plvl, pre, post, lst) {
|
|
471
|
-
var s = dat.length;
|
|
472
|
-
var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7e3)) + post);
|
|
473
|
-
var w = o.subarray(pre, o.length - post);
|
|
474
|
-
var pos = 0;
|
|
475
|
-
if (!lvl || s < 8) {
|
|
476
|
-
for (var i = 0; i <= s; i += 65535) {
|
|
477
|
-
var e = i + 65535;
|
|
478
|
-
if (e < s) {
|
|
479
|
-
pos = wfblk(w, pos, dat.subarray(i, e));
|
|
480
|
-
} else {
|
|
481
|
-
w[i] = lst;
|
|
482
|
-
pos = wfblk(w, pos, dat.subarray(i, s));
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
} else {
|
|
486
|
-
var opt = deo[lvl - 1];
|
|
487
|
-
var n = opt >>> 13, c = opt & 8191;
|
|
488
|
-
var msk_1 = (1 << plvl) - 1;
|
|
489
|
-
var prev = new u16(32768), head = new u16(msk_1 + 1);
|
|
490
|
-
var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
|
|
491
|
-
var hsh = function (i2) {
|
|
492
|
-
return (dat[i2] ^ dat[i2 + 1] << bs1_1 ^ dat[i2 + 2] << bs2_1) & msk_1;
|
|
493
|
-
};
|
|
494
|
-
var syms = new u32(25e3);
|
|
495
|
-
var lf = new u16(288), df = new u16(32);
|
|
496
|
-
var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;
|
|
497
|
-
for (; i < s; ++i) {
|
|
498
|
-
var hv = hsh(i);
|
|
499
|
-
var imod = i & 32767, pimod = head[hv];
|
|
500
|
-
prev[imod] = pimod;
|
|
501
|
-
head[hv] = imod;
|
|
502
|
-
if (wi <= i) {
|
|
503
|
-
var rem = s - i;
|
|
504
|
-
if ((lc_1 > 7e3 || li > 24576) && rem > 423) {
|
|
505
|
-
pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);
|
|
506
|
-
li = lc_1 = eb = 0, bs = i;
|
|
507
|
-
for (var j = 0; j < 286; ++j)
|
|
508
|
-
lf[j] = 0;
|
|
509
|
-
for (var j = 0; j < 30; ++j)
|
|
510
|
-
df[j] = 0;
|
|
511
|
-
}
|
|
512
|
-
var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;
|
|
513
|
-
if (rem > 2 && hv === hsh(i - dif)) {
|
|
514
|
-
var maxn = Math.min(n, rem) - 1;
|
|
515
|
-
var maxd = Math.min(32767, i);
|
|
516
|
-
var ml = Math.min(258, rem);
|
|
517
|
-
while (dif <= maxd && --ch_1 && imod !== pimod) {
|
|
518
|
-
if (dat[i + l] === dat[i + l - dif]) {
|
|
519
|
-
var nl = 0;
|
|
520
|
-
for (; nl < ml && dat[i + nl] === dat[i + nl - dif]; ++nl)
|
|
521
|
-
;
|
|
522
|
-
if (nl > l) {
|
|
523
|
-
l = nl, d = dif;
|
|
524
|
-
if (nl > maxn)
|
|
525
|
-
break;
|
|
526
|
-
var mmd = Math.min(dif, nl - 2);
|
|
527
|
-
var md = 0;
|
|
528
|
-
for (var j = 0; j < mmd; ++j) {
|
|
529
|
-
var ti = i - dif + j + 32768 & 32767;
|
|
530
|
-
var pti = prev[ti];
|
|
531
|
-
var cd = ti - pti + 32768 & 32767;
|
|
532
|
-
if (cd > md)
|
|
533
|
-
md = cd, pimod = ti;
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
imod = pimod, pimod = prev[imod];
|
|
538
|
-
dif += imod - pimod + 32768 & 32767;
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
if (d) {
|
|
542
|
-
syms[li++] = 268435456 | revfl[l] << 18 | revfd[d];
|
|
543
|
-
var lin = revfl[l] & 31, din = revfd[d] & 31;
|
|
544
|
-
eb += fleb[lin] + fdeb[din];
|
|
545
|
-
++lf[257 + lin];
|
|
546
|
-
++df[din];
|
|
547
|
-
wi = i + l;
|
|
548
|
-
++lc_1;
|
|
549
|
-
} else {
|
|
550
|
-
syms[li++] = dat[i];
|
|
551
|
-
++lf[dat[i]];
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
}
|
|
555
|
-
pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);
|
|
556
|
-
if (!lst && pos & 7)
|
|
557
|
-
pos = wfblk(w, pos + 1, et);
|
|
558
|
-
}
|
|
559
|
-
return slc(o, 0, pre + shft(pos) + post);
|
|
560
|
-
};
|
|
561
|
-
var adler = function () {
|
|
562
|
-
var a = 1, b = 0;
|
|
563
|
-
return {
|
|
564
|
-
p: function (d) {
|
|
565
|
-
var n = a, m = b;
|
|
566
|
-
var l = d.length | 0;
|
|
567
|
-
for (var i = 0; i !== l;) {
|
|
568
|
-
var e = Math.min(i + 2655, l);
|
|
569
|
-
for (; i < e; ++i)
|
|
570
|
-
m += n += d[i];
|
|
571
|
-
n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);
|
|
572
|
-
}
|
|
573
|
-
a = n, b = m;
|
|
574
|
-
},
|
|
575
|
-
d: function () {
|
|
576
|
-
a %= 65521, b %= 65521;
|
|
577
|
-
return (a & 255) << 24 | a >>> 8 << 16 | (b & 255) << 8 | b >>> 8;
|
|
578
|
-
}
|
|
579
|
-
};
|
|
580
|
-
};
|
|
581
|
-
var dopt = function (dat, opt, pre, post, st) {
|
|
582
|
-
return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 12 + opt.mem, pre, post, !st);
|
|
583
|
-
};
|
|
584
|
-
var wbytes = function (d, b, v) {
|
|
585
|
-
for (; v; ++b)
|
|
586
|
-
d[b] = v, v >>>= 8;
|
|
587
|
-
};
|
|
588
|
-
var zlh = function (c, o) {
|
|
589
|
-
var lv = o.level, fl2 = lv === 0 ? 0 : lv < 6 ? 1 : lv === 9 ? 3 : 2;
|
|
590
|
-
c[0] = 120, c[1] = fl2 << 6 | (fl2 ? 32 - 2 * fl2 : 1);
|
|
591
|
-
};
|
|
592
|
-
var zlv = function (d) {
|
|
593
|
-
if ((d[0] & 15) !== 8 || d[0] >>> 4 > 7 || (d[0] << 8 | d[1]) % 31)
|
|
594
|
-
throw "invalid zlib data";
|
|
595
|
-
if (d[1] & 32)
|
|
596
|
-
throw "invalid zlib data: preset dictionaries not supported";
|
|
597
|
-
};
|
|
598
|
-
function zlibSync(data, opts) {
|
|
599
|
-
if (!opts)
|
|
600
|
-
opts = {};
|
|
601
|
-
var a = adler();
|
|
602
|
-
a.p(data);
|
|
603
|
-
var d = dopt(data, opts, 2, 4);
|
|
604
|
-
return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;
|
|
605
|
-
}
|
|
606
|
-
function unzlibSync(data, out) {
|
|
607
|
-
return inflt((zlv(data), data.subarray(2, -4)), out);
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
// bundle.js
|
|
611
|
-
export function compress(buf, level) {
|
|
612
|
-
return zlibSync(buf, { level });
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
export function decompress(buf, limit) {
|
|
616
|
-
try { return unzlibSync(buf, new Uint8Array(limit)); }
|
|
617
|
-
catch (err) { throw err.message ? err : new Error(err); }
|
|
1
|
+
// node_modules/fflate/esm/browser.js
|
|
2
|
+
// https://github.com/101arrowz/fflate
|
|
3
|
+
|
|
4
|
+
// MIT License
|
|
5
|
+
|
|
6
|
+
// Copyright (c) 2020 Arjun Barrett
|
|
7
|
+
|
|
8
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
10
|
+
// in the Software without restriction, including without limitation the rights
|
|
11
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
13
|
+
// furnished to do so, subject to the following conditions:
|
|
14
|
+
|
|
15
|
+
// The above copyright notice and this permission notice shall be included in all
|
|
16
|
+
// copies or substantial portions of the Software.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
var u8 = Uint8Array;
|
|
20
|
+
var u16 = Uint16Array;
|
|
21
|
+
var u32 = Uint32Array;
|
|
22
|
+
var clim = u8.of(16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15);
|
|
23
|
+
var fleb = u8.of(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);
|
|
24
|
+
var fdeb = u8.of(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);
|
|
25
|
+
var freb = function (eb, start) {
|
|
26
|
+
var b = new u16(31);
|
|
27
|
+
for (var i = 0; i < 31; ++i) {
|
|
28
|
+
b[i] = start += 1 << eb[i - 1];
|
|
29
|
+
}
|
|
30
|
+
var r = new u32(b[30]);
|
|
31
|
+
for (var i = 1; i < 30; ++i) {
|
|
32
|
+
for (var j = b[i]; j < b[i + 1]; ++j) {
|
|
33
|
+
r[j] = j - b[i] << 5 | i;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return [b, r];
|
|
37
|
+
};
|
|
38
|
+
var _a = freb(fleb, 2);
|
|
39
|
+
var fl = _a[0];
|
|
40
|
+
var revfl = _a[1];
|
|
41
|
+
fl[28] = 258, revfl[258] = 28;
|
|
42
|
+
var _b = freb(fdeb, 0);
|
|
43
|
+
var fd = _b[0];
|
|
44
|
+
var revfd = _b[1];
|
|
45
|
+
var rev = new u16(32768);
|
|
46
|
+
for (var i = 0; i < 32768; ++i) {
|
|
47
|
+
x = (i & 43690) >>> 1 | (i & 21845) << 1;
|
|
48
|
+
x = (x & 52428) >>> 2 | (x & 13107) << 2;
|
|
49
|
+
x = (x & 61680) >>> 4 | (x & 3855) << 4;
|
|
50
|
+
rev[i] = ((x & 65280) >>> 8 | (x & 255) << 8) >>> 1;
|
|
51
|
+
}
|
|
52
|
+
var x;
|
|
53
|
+
var hMap = function (cd, mb, r) {
|
|
54
|
+
var s = cd.length;
|
|
55
|
+
var i = 0;
|
|
56
|
+
var l = new u16(mb);
|
|
57
|
+
for (; i < s; ++i)
|
|
58
|
+
++l[cd[i] - 1];
|
|
59
|
+
var le = new u16(mb);
|
|
60
|
+
for (i = 0; i < mb; ++i) {
|
|
61
|
+
le[i] = le[i - 1] + l[i - 1] << 1;
|
|
62
|
+
}
|
|
63
|
+
var co;
|
|
64
|
+
if (r) {
|
|
65
|
+
co = new u16(1 << mb);
|
|
66
|
+
var rvb = 15 - mb;
|
|
67
|
+
for (i = 0; i < s; ++i) {
|
|
68
|
+
if (cd[i]) {
|
|
69
|
+
var sv = i << 4 | cd[i];
|
|
70
|
+
var r_1 = mb - cd[i];
|
|
71
|
+
var v = le[cd[i] - 1]++ << r_1;
|
|
72
|
+
for (var m = v | (1 << r_1) - 1; v <= m; ++v) {
|
|
73
|
+
co[rev[v] >>> rvb] = sv;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
co = new u16(s);
|
|
79
|
+
for (i = 0; i < s; ++i) {
|
|
80
|
+
if (cd[i]) {
|
|
81
|
+
co[i] = rev[le[cd[i] - 1]++] >>> 15 - cd[i];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return co;
|
|
86
|
+
};
|
|
87
|
+
var flt = new u8(288);
|
|
88
|
+
for (var i = 0; i < 144; ++i)
|
|
89
|
+
flt[i] = 8;
|
|
90
|
+
for (var i = 144; i < 256; ++i)
|
|
91
|
+
flt[i] = 9;
|
|
92
|
+
for (var i = 256; i < 280; ++i)
|
|
93
|
+
flt[i] = 7;
|
|
94
|
+
for (var i = 280; i < 288; ++i)
|
|
95
|
+
flt[i] = 8;
|
|
96
|
+
var fdt = new u8(32);
|
|
97
|
+
for (var i = 0; i < 32; ++i)
|
|
98
|
+
fdt[i] = 5;
|
|
99
|
+
var flm = hMap(flt, 9, 0);
|
|
100
|
+
var flrm = hMap(flt, 9, 1);
|
|
101
|
+
var fdm = hMap(fdt, 5, 0);
|
|
102
|
+
var fdrm = hMap(fdt, 5, 1);
|
|
103
|
+
var max = function (a) {
|
|
104
|
+
var m = a[0];
|
|
105
|
+
for (var i = 1; i < a.length; ++i) {
|
|
106
|
+
if (a[i] > m)
|
|
107
|
+
m = a[i];
|
|
108
|
+
}
|
|
109
|
+
return m;
|
|
110
|
+
};
|
|
111
|
+
var bits = function (d, p, m) {
|
|
112
|
+
var o = p >> 3 | 0;
|
|
113
|
+
return (d[o] | d[o + 1] << 8) >> (p & 7) & m;
|
|
114
|
+
};
|
|
115
|
+
var bits16 = function (d, p) {
|
|
116
|
+
var o = p >> 3 | 0;
|
|
117
|
+
return (d[o] | d[o + 1] << 8 | d[o + 2] << 16) >> (p & 7);
|
|
118
|
+
};
|
|
119
|
+
var shft = function (p) {
|
|
120
|
+
return (p >> 3 | 0) + (p & 7 && 1);
|
|
121
|
+
};
|
|
122
|
+
var slc = function (v, s, e) {
|
|
123
|
+
if (s == null || s < 0)
|
|
124
|
+
s = 0;
|
|
125
|
+
if (e == null || e > v.length)
|
|
126
|
+
e = v.length;
|
|
127
|
+
var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);
|
|
128
|
+
n.set(v.subarray(s, e));
|
|
129
|
+
return n;
|
|
130
|
+
};
|
|
131
|
+
var inflt = function (dat, buf, st) {
|
|
132
|
+
var sl = dat.length;
|
|
133
|
+
if (!sl || st && !st.l && sl < 5)
|
|
134
|
+
return buf || new u8(0);
|
|
135
|
+
var noBuf = !buf || st;
|
|
136
|
+
var noSt = !st || st.i;
|
|
137
|
+
if (!st)
|
|
138
|
+
st = {};
|
|
139
|
+
if (!buf)
|
|
140
|
+
buf = new u8(sl * 3);
|
|
141
|
+
var cbuf = function (l2) {
|
|
142
|
+
var bl = buf.length;
|
|
143
|
+
if (l2 > bl) {
|
|
144
|
+
var nbuf = new u8(Math.max(bl * 2, l2));
|
|
145
|
+
nbuf.set(buf);
|
|
146
|
+
buf = nbuf;
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
|
|
150
|
+
var tbts = sl * 8;
|
|
151
|
+
do {
|
|
152
|
+
if (!lm) {
|
|
153
|
+
st.f = final = bits(dat, pos, 1);
|
|
154
|
+
var type = bits(dat, pos + 1, 3);
|
|
155
|
+
pos += 3;
|
|
156
|
+
if (!type) {
|
|
157
|
+
var s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t = s + l;
|
|
158
|
+
if (t > sl) {
|
|
159
|
+
if (noSt)
|
|
160
|
+
throw "unexpected EOF";
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
if (noBuf)
|
|
164
|
+
cbuf(bt + l);
|
|
165
|
+
buf.set(dat.subarray(s, t), bt);
|
|
166
|
+
st.b = bt += l, st.p = pos = t * 8;
|
|
167
|
+
continue;
|
|
168
|
+
} else if (type === 1)
|
|
169
|
+
lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
|
|
170
|
+
else if (type === 2) {
|
|
171
|
+
var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
|
|
172
|
+
var tl = hLit + bits(dat, pos + 5, 31) + 1;
|
|
173
|
+
pos += 14;
|
|
174
|
+
var ldt = new u8(tl);
|
|
175
|
+
var clt = new u8(19);
|
|
176
|
+
for (var i = 0; i < hcLen; ++i) {
|
|
177
|
+
clt[clim[i]] = bits(dat, pos + i * 3, 7);
|
|
178
|
+
}
|
|
179
|
+
pos += hcLen * 3;
|
|
180
|
+
var clb = max(clt), clbmsk = (1 << clb) - 1;
|
|
181
|
+
var clm = hMap(clt, clb, 1);
|
|
182
|
+
for (var i = 0; i < tl;) {
|
|
183
|
+
var r = clm[bits(dat, pos, clbmsk)];
|
|
184
|
+
pos += r & 15;
|
|
185
|
+
var s = r >>> 4;
|
|
186
|
+
if (s < 16) {
|
|
187
|
+
ldt[i++] = s;
|
|
188
|
+
} else {
|
|
189
|
+
var c = 0, n = 0;
|
|
190
|
+
if (s === 16)
|
|
191
|
+
n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
|
|
192
|
+
else if (s === 17)
|
|
193
|
+
n = 3 + bits(dat, pos, 7), pos += 3;
|
|
194
|
+
else if (s === 18)
|
|
195
|
+
n = 11 + bits(dat, pos, 127), pos += 7;
|
|
196
|
+
while (n--)
|
|
197
|
+
ldt[i++] = c;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
|
|
201
|
+
lbt = max(lt);
|
|
202
|
+
dbt = max(dt);
|
|
203
|
+
lm = hMap(lt, lbt, 1);
|
|
204
|
+
dm = hMap(dt, dbt, 1);
|
|
205
|
+
} else
|
|
206
|
+
throw "invalid block type";
|
|
207
|
+
if (pos > tbts) {
|
|
208
|
+
if (noSt)
|
|
209
|
+
throw "unexpected EOF";
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (noBuf)
|
|
214
|
+
cbuf(bt + 131072);
|
|
215
|
+
var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
|
|
216
|
+
var lpos = pos;
|
|
217
|
+
for (; ; lpos = pos) {
|
|
218
|
+
var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;
|
|
219
|
+
pos += c & 15;
|
|
220
|
+
if (pos > tbts) {
|
|
221
|
+
if (noSt)
|
|
222
|
+
throw "unexpected EOF";
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
if (!c)
|
|
226
|
+
throw "invalid length/literal";
|
|
227
|
+
if (sym < 256)
|
|
228
|
+
buf[bt++] = sym;
|
|
229
|
+
else if (sym === 256) {
|
|
230
|
+
lpos = pos, lm = null;
|
|
231
|
+
break;
|
|
232
|
+
} else {
|
|
233
|
+
var add = sym - 254;
|
|
234
|
+
if (sym > 264) {
|
|
235
|
+
var i = sym - 257, b = fleb[i];
|
|
236
|
+
add = bits(dat, pos, (1 << b) - 1) + fl[i];
|
|
237
|
+
pos += b;
|
|
238
|
+
}
|
|
239
|
+
var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;
|
|
240
|
+
if (!d)
|
|
241
|
+
throw "invalid distance";
|
|
242
|
+
pos += d & 15;
|
|
243
|
+
var dt = fd[dsym];
|
|
244
|
+
if (dsym > 3) {
|
|
245
|
+
var b = fdeb[dsym];
|
|
246
|
+
dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
|
|
247
|
+
}
|
|
248
|
+
if (pos > tbts) {
|
|
249
|
+
if (noSt)
|
|
250
|
+
throw "unexpected EOF";
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
if (noBuf)
|
|
254
|
+
cbuf(bt + 131072);
|
|
255
|
+
var end = bt + add;
|
|
256
|
+
for (; bt < end; bt += 4) {
|
|
257
|
+
buf[bt] = buf[bt - dt];
|
|
258
|
+
buf[bt + 1] = buf[bt + 1 - dt];
|
|
259
|
+
buf[bt + 2] = buf[bt + 2 - dt];
|
|
260
|
+
buf[bt + 3] = buf[bt + 3 - dt];
|
|
261
|
+
}
|
|
262
|
+
bt = end;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
st.l = lm, st.p = lpos, st.b = bt;
|
|
266
|
+
if (lm)
|
|
267
|
+
final = 1, st.m = lbt, st.d = dm, st.n = dbt;
|
|
268
|
+
} while (!final);
|
|
269
|
+
return bt === buf.length ? buf : slc(buf, 0, bt);
|
|
270
|
+
};
|
|
271
|
+
var wbits = function (d, p, v) {
|
|
272
|
+
v <<= p & 7;
|
|
273
|
+
var o = p >> 3 | 0;
|
|
274
|
+
d[o] |= v;
|
|
275
|
+
d[o + 1] |= v >>> 8;
|
|
276
|
+
};
|
|
277
|
+
var wbits16 = function (d, p, v) {
|
|
278
|
+
v <<= p & 7;
|
|
279
|
+
var o = p >> 3 | 0;
|
|
280
|
+
d[o] |= v;
|
|
281
|
+
d[o + 1] |= v >>> 8;
|
|
282
|
+
d[o + 2] |= v >>> 16;
|
|
283
|
+
};
|
|
284
|
+
var hTree = function (d, mb) {
|
|
285
|
+
var t = [];
|
|
286
|
+
for (var i = 0; i < d.length; ++i) {
|
|
287
|
+
if (d[i])
|
|
288
|
+
t.push({ s: i, f: d[i] });
|
|
289
|
+
}
|
|
290
|
+
var s = t.length;
|
|
291
|
+
var t2 = t.slice();
|
|
292
|
+
if (!s)
|
|
293
|
+
return [et, 0];
|
|
294
|
+
if (s === 1) {
|
|
295
|
+
var v = new u8(t[0].s + 1);
|
|
296
|
+
v[t[0].s] = 1;
|
|
297
|
+
return [v, 1];
|
|
298
|
+
}
|
|
299
|
+
t.sort(function (a, b) {
|
|
300
|
+
return a.f - b.f;
|
|
301
|
+
});
|
|
302
|
+
t.push({ s: -1, f: 25001 });
|
|
303
|
+
var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;
|
|
304
|
+
t[0] = { s: -1, f: l.f + r.f, l, r };
|
|
305
|
+
while (i1 !== s - 1) {
|
|
306
|
+
l = t[t[i0].f < t[i2].f ? i0++ : i2++];
|
|
307
|
+
r = t[i0 !== i1 && t[i0].f < t[i2].f ? i0++ : i2++];
|
|
308
|
+
t[i1++] = { s: -1, f: l.f + r.f, l, r };
|
|
309
|
+
}
|
|
310
|
+
var maxSym = t2[0].s;
|
|
311
|
+
for (var i = 1; i < s; ++i) {
|
|
312
|
+
if (t2[i].s > maxSym)
|
|
313
|
+
maxSym = t2[i].s;
|
|
314
|
+
}
|
|
315
|
+
var tr = new u16(maxSym + 1);
|
|
316
|
+
var mbt = ln(t[i1 - 1], tr, 0);
|
|
317
|
+
if (mbt > mb) {
|
|
318
|
+
var i = 0, dt = 0;
|
|
319
|
+
var lft = mbt - mb, cst = 1 << lft;
|
|
320
|
+
t2.sort(function (a, b) {
|
|
321
|
+
return tr[b.s] - tr[a.s] || a.f - b.f;
|
|
322
|
+
});
|
|
323
|
+
for (; i < s; ++i) {
|
|
324
|
+
var i2_1 = t2[i].s;
|
|
325
|
+
if (tr[i2_1] > mb) {
|
|
326
|
+
dt += cst - (1 << mbt - tr[i2_1]);
|
|
327
|
+
tr[i2_1] = mb;
|
|
328
|
+
} else
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
dt >>>= lft;
|
|
332
|
+
while (dt > 0) {
|
|
333
|
+
var i2_2 = t2[i].s;
|
|
334
|
+
if (tr[i2_2] < mb)
|
|
335
|
+
dt -= 1 << mb - tr[i2_2]++ - 1;
|
|
336
|
+
else
|
|
337
|
+
++i;
|
|
338
|
+
}
|
|
339
|
+
for (; i >= 0 && dt; --i) {
|
|
340
|
+
var i2_3 = t2[i].s;
|
|
341
|
+
if (tr[i2_3] === mb) {
|
|
342
|
+
--tr[i2_3];
|
|
343
|
+
++dt;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
mbt = mb;
|
|
347
|
+
}
|
|
348
|
+
return [new u8(tr), mbt];
|
|
349
|
+
};
|
|
350
|
+
var ln = function (n, l, d) {
|
|
351
|
+
return n.s === -1 ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) : l[n.s] = d;
|
|
352
|
+
};
|
|
353
|
+
var lc = function (c) {
|
|
354
|
+
var s = c.length;
|
|
355
|
+
while (s && !c[--s])
|
|
356
|
+
;
|
|
357
|
+
var cl = new u16(++s);
|
|
358
|
+
var cli = 0, cln = c[0], cls = 1;
|
|
359
|
+
var w = function (v) {
|
|
360
|
+
cl[cli++] = v;
|
|
361
|
+
};
|
|
362
|
+
for (var i = 1; i <= s; ++i) {
|
|
363
|
+
if (c[i] === cln && i !== s)
|
|
364
|
+
++cls;
|
|
365
|
+
else {
|
|
366
|
+
if (!cln && cls > 2) {
|
|
367
|
+
for (; cls > 138; cls -= 138)
|
|
368
|
+
w(32754);
|
|
369
|
+
if (cls > 2) {
|
|
370
|
+
w(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305);
|
|
371
|
+
cls = 0;
|
|
372
|
+
}
|
|
373
|
+
} else if (cls > 3) {
|
|
374
|
+
w(cln), --cls;
|
|
375
|
+
for (; cls > 6; cls -= 6)
|
|
376
|
+
w(8304);
|
|
377
|
+
if (cls > 2)
|
|
378
|
+
w(cls - 3 << 5 | 8208), cls = 0;
|
|
379
|
+
}
|
|
380
|
+
while (cls--)
|
|
381
|
+
w(cln);
|
|
382
|
+
cls = 1;
|
|
383
|
+
cln = c[i];
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return [cl.subarray(0, cli), s];
|
|
387
|
+
};
|
|
388
|
+
var clen = function (cf, cl) {
|
|
389
|
+
var l = 0;
|
|
390
|
+
for (var i = 0; i < cl.length; ++i)
|
|
391
|
+
l += cf[i] * cl[i];
|
|
392
|
+
return l;
|
|
393
|
+
};
|
|
394
|
+
var wfblk = function (out, pos, dat) {
|
|
395
|
+
var s = dat.length;
|
|
396
|
+
var o = shft(pos + 2);
|
|
397
|
+
out[o] = s & 255;
|
|
398
|
+
out[o + 1] = s >>> 8;
|
|
399
|
+
out[o + 2] = out[o] ^ 255;
|
|
400
|
+
out[o + 3] = out[o + 1] ^ 255;
|
|
401
|
+
for (var i = 0; i < s; ++i)
|
|
402
|
+
out[o + i + 4] = dat[i];
|
|
403
|
+
return (o + 4 + s) * 8;
|
|
404
|
+
};
|
|
405
|
+
var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
|
|
406
|
+
wbits(out, p++, final);
|
|
407
|
+
++lf[256];
|
|
408
|
+
var _a2 = hTree(lf, 15), dlt = _a2[0], mlb = _a2[1];
|
|
409
|
+
var _b2 = hTree(df, 15), ddt = _b2[0], mdb = _b2[1];
|
|
410
|
+
var _c = lc(dlt), lclt = _c[0], nlc = _c[1];
|
|
411
|
+
var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];
|
|
412
|
+
var lcfreq = new u16(19);
|
|
413
|
+
for (var i = 0; i < lclt.length; ++i)
|
|
414
|
+
lcfreq[lclt[i] & 31]++;
|
|
415
|
+
for (var i = 0; i < lcdt.length; ++i)
|
|
416
|
+
lcfreq[lcdt[i] & 31]++;
|
|
417
|
+
var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];
|
|
418
|
+
var nlcc = 19;
|
|
419
|
+
for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)
|
|
420
|
+
;
|
|
421
|
+
var flen = bl + 5 << 3;
|
|
422
|
+
var ftlen = clen(lf, flt) + clen(df, fdt) + eb;
|
|
423
|
+
var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);
|
|
424
|
+
if (flen <= ftlen && flen <= dtlen)
|
|
425
|
+
return wfblk(out, p, dat.subarray(bs, bs + bl));
|
|
426
|
+
var lm, ll, dm, dl;
|
|
427
|
+
wbits(out, p, 1 + (dtlen < ftlen)), p += 2;
|
|
428
|
+
if (dtlen < ftlen) {
|
|
429
|
+
lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;
|
|
430
|
+
var llm = hMap(lct, mlcb, 0);
|
|
431
|
+
wbits(out, p, nlc - 257);
|
|
432
|
+
wbits(out, p + 5, ndc - 1);
|
|
433
|
+
wbits(out, p + 10, nlcc - 4);
|
|
434
|
+
p += 14;
|
|
435
|
+
for (var i = 0; i < nlcc; ++i)
|
|
436
|
+
wbits(out, p + 3 * i, lct[clim[i]]);
|
|
437
|
+
p += 3 * nlcc;
|
|
438
|
+
var lcts = [lclt, lcdt];
|
|
439
|
+
for (var it = 0; it < 2; ++it) {
|
|
440
|
+
var clct = lcts[it];
|
|
441
|
+
for (var i = 0; i < clct.length; ++i) {
|
|
442
|
+
var len = clct[i] & 31;
|
|
443
|
+
wbits(out, p, llm[len]), p += lct[len];
|
|
444
|
+
if (len > 15)
|
|
445
|
+
wbits(out, p, clct[i] >>> 5 & 127), p += clct[i] >>> 12;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
} else {
|
|
449
|
+
lm = flm, ll = flt, dm = fdm, dl = fdt;
|
|
450
|
+
}
|
|
451
|
+
for (var i = 0; i < li; ++i) {
|
|
452
|
+
if (syms[i] > 255) {
|
|
453
|
+
var len = syms[i] >>> 18 & 31;
|
|
454
|
+
wbits16(out, p, lm[len + 257]), p += ll[len + 257];
|
|
455
|
+
if (len > 7)
|
|
456
|
+
wbits(out, p, syms[i] >>> 23 & 31), p += fleb[len];
|
|
457
|
+
var dst = syms[i] & 31;
|
|
458
|
+
wbits16(out, p, dm[dst]), p += dl[dst];
|
|
459
|
+
if (dst > 3)
|
|
460
|
+
wbits16(out, p, syms[i] >>> 5 & 8191), p += fdeb[dst];
|
|
461
|
+
} else {
|
|
462
|
+
wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
wbits16(out, p, lm[256]);
|
|
466
|
+
return p + ll[256];
|
|
467
|
+
};
|
|
468
|
+
var deo = u32.of(65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632);
|
|
469
|
+
var et = new u8(0);
|
|
470
|
+
var dflt = function (dat, lvl, plvl, pre, post, lst) {
|
|
471
|
+
var s = dat.length;
|
|
472
|
+
var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7e3)) + post);
|
|
473
|
+
var w = o.subarray(pre, o.length - post);
|
|
474
|
+
var pos = 0;
|
|
475
|
+
if (!lvl || s < 8) {
|
|
476
|
+
for (var i = 0; i <= s; i += 65535) {
|
|
477
|
+
var e = i + 65535;
|
|
478
|
+
if (e < s) {
|
|
479
|
+
pos = wfblk(w, pos, dat.subarray(i, e));
|
|
480
|
+
} else {
|
|
481
|
+
w[i] = lst;
|
|
482
|
+
pos = wfblk(w, pos, dat.subarray(i, s));
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
} else {
|
|
486
|
+
var opt = deo[lvl - 1];
|
|
487
|
+
var n = opt >>> 13, c = opt & 8191;
|
|
488
|
+
var msk_1 = (1 << plvl) - 1;
|
|
489
|
+
var prev = new u16(32768), head = new u16(msk_1 + 1);
|
|
490
|
+
var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
|
|
491
|
+
var hsh = function (i2) {
|
|
492
|
+
return (dat[i2] ^ dat[i2 + 1] << bs1_1 ^ dat[i2 + 2] << bs2_1) & msk_1;
|
|
493
|
+
};
|
|
494
|
+
var syms = new u32(25e3);
|
|
495
|
+
var lf = new u16(288), df = new u16(32);
|
|
496
|
+
var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;
|
|
497
|
+
for (; i < s; ++i) {
|
|
498
|
+
var hv = hsh(i);
|
|
499
|
+
var imod = i & 32767, pimod = head[hv];
|
|
500
|
+
prev[imod] = pimod;
|
|
501
|
+
head[hv] = imod;
|
|
502
|
+
if (wi <= i) {
|
|
503
|
+
var rem = s - i;
|
|
504
|
+
if ((lc_1 > 7e3 || li > 24576) && rem > 423) {
|
|
505
|
+
pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);
|
|
506
|
+
li = lc_1 = eb = 0, bs = i;
|
|
507
|
+
for (var j = 0; j < 286; ++j)
|
|
508
|
+
lf[j] = 0;
|
|
509
|
+
for (var j = 0; j < 30; ++j)
|
|
510
|
+
df[j] = 0;
|
|
511
|
+
}
|
|
512
|
+
var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;
|
|
513
|
+
if (rem > 2 && hv === hsh(i - dif)) {
|
|
514
|
+
var maxn = Math.min(n, rem) - 1;
|
|
515
|
+
var maxd = Math.min(32767, i);
|
|
516
|
+
var ml = Math.min(258, rem);
|
|
517
|
+
while (dif <= maxd && --ch_1 && imod !== pimod) {
|
|
518
|
+
if (dat[i + l] === dat[i + l - dif]) {
|
|
519
|
+
var nl = 0;
|
|
520
|
+
for (; nl < ml && dat[i + nl] === dat[i + nl - dif]; ++nl)
|
|
521
|
+
;
|
|
522
|
+
if (nl > l) {
|
|
523
|
+
l = nl, d = dif;
|
|
524
|
+
if (nl > maxn)
|
|
525
|
+
break;
|
|
526
|
+
var mmd = Math.min(dif, nl - 2);
|
|
527
|
+
var md = 0;
|
|
528
|
+
for (var j = 0; j < mmd; ++j) {
|
|
529
|
+
var ti = i - dif + j + 32768 & 32767;
|
|
530
|
+
var pti = prev[ti];
|
|
531
|
+
var cd = ti - pti + 32768 & 32767;
|
|
532
|
+
if (cd > md)
|
|
533
|
+
md = cd, pimod = ti;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
imod = pimod, pimod = prev[imod];
|
|
538
|
+
dif += imod - pimod + 32768 & 32767;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
if (d) {
|
|
542
|
+
syms[li++] = 268435456 | revfl[l] << 18 | revfd[d];
|
|
543
|
+
var lin = revfl[l] & 31, din = revfd[d] & 31;
|
|
544
|
+
eb += fleb[lin] + fdeb[din];
|
|
545
|
+
++lf[257 + lin];
|
|
546
|
+
++df[din];
|
|
547
|
+
wi = i + l;
|
|
548
|
+
++lc_1;
|
|
549
|
+
} else {
|
|
550
|
+
syms[li++] = dat[i];
|
|
551
|
+
++lf[dat[i]];
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);
|
|
556
|
+
if (!lst && pos & 7)
|
|
557
|
+
pos = wfblk(w, pos + 1, et);
|
|
558
|
+
}
|
|
559
|
+
return slc(o, 0, pre + shft(pos) + post);
|
|
560
|
+
};
|
|
561
|
+
var adler = function () {
|
|
562
|
+
var a = 1, b = 0;
|
|
563
|
+
return {
|
|
564
|
+
p: function (d) {
|
|
565
|
+
var n = a, m = b;
|
|
566
|
+
var l = d.length | 0;
|
|
567
|
+
for (var i = 0; i !== l;) {
|
|
568
|
+
var e = Math.min(i + 2655, l);
|
|
569
|
+
for (; i < e; ++i)
|
|
570
|
+
m += n += d[i];
|
|
571
|
+
n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);
|
|
572
|
+
}
|
|
573
|
+
a = n, b = m;
|
|
574
|
+
},
|
|
575
|
+
d: function () {
|
|
576
|
+
a %= 65521, b %= 65521;
|
|
577
|
+
return (a & 255) << 24 | a >>> 8 << 16 | (b & 255) << 8 | b >>> 8;
|
|
578
|
+
}
|
|
579
|
+
};
|
|
580
|
+
};
|
|
581
|
+
var dopt = function (dat, opt, pre, post, st) {
|
|
582
|
+
return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 12 + opt.mem, pre, post, !st);
|
|
583
|
+
};
|
|
584
|
+
var wbytes = function (d, b, v) {
|
|
585
|
+
for (; v; ++b)
|
|
586
|
+
d[b] = v, v >>>= 8;
|
|
587
|
+
};
|
|
588
|
+
var zlh = function (c, o) {
|
|
589
|
+
var lv = o.level, fl2 = lv === 0 ? 0 : lv < 6 ? 1 : lv === 9 ? 3 : 2;
|
|
590
|
+
c[0] = 120, c[1] = fl2 << 6 | (fl2 ? 32 - 2 * fl2 : 1);
|
|
591
|
+
};
|
|
592
|
+
var zlv = function (d) {
|
|
593
|
+
if ((d[0] & 15) !== 8 || d[0] >>> 4 > 7 || (d[0] << 8 | d[1]) % 31)
|
|
594
|
+
throw "invalid zlib data";
|
|
595
|
+
if (d[1] & 32)
|
|
596
|
+
throw "invalid zlib data: preset dictionaries not supported";
|
|
597
|
+
};
|
|
598
|
+
function zlibSync(data, opts) {
|
|
599
|
+
if (!opts)
|
|
600
|
+
opts = {};
|
|
601
|
+
var a = adler();
|
|
602
|
+
a.p(data);
|
|
603
|
+
var d = dopt(data, opts, 2, 4);
|
|
604
|
+
return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;
|
|
605
|
+
}
|
|
606
|
+
function unzlibSync(data, out) {
|
|
607
|
+
return inflt((zlv(data), data.subarray(2, -4)), out);
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
// bundle.js
|
|
611
|
+
export function compress(buf, level) {
|
|
612
|
+
return zlibSync(buf, { level });
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
export function decompress(buf, limit) {
|
|
616
|
+
try { return unzlibSync(buf, new Uint8Array(limit)); }
|
|
617
|
+
catch (err) { throw err.message ? err : new Error(err); }
|
|
618
618
|
}
|