@onekeyfe/hd-web-sdk 0.1.56 → 0.1.57
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/build/iframe.html +1 -1
- package/build/js/iframe.d7e734522cce67a6c71c.js +3 -0
- package/build/js/{iframe.bda9b33b6c9ccf26ee4c.js.LICENSE.txt → iframe.d7e734522cce67a6c71c.js.LICENSE.txt} +2 -18
- package/build/js/iframe.d7e734522cce67a6c71c.js.map +1 -0
- package/build/onekey-js-sdk.js +1381 -1259
- package/build/onekey-js-sdk.js.map +1 -1
- package/build/onekey-js-sdk.min.js +1 -1
- package/build/onekey-js-sdk.min.js.map +1 -1
- package/package.json +6 -6
- package/build/js/iframe.bda9b33b6c9ccf26ee4c.js +0 -3
- package/build/js/iframe.bda9b33b6c9ccf26ee4c.js.map +0 -1
package/build/onekey-js-sdk.js
CHANGED
|
@@ -11,6 +11,1023 @@
|
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
14
|
+
/***/ 3525:
|
|
15
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
16
|
+
|
|
17
|
+
"use strict";
|
|
18
|
+
|
|
19
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
20
|
+
exports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0;
|
|
21
|
+
function number(n) {
|
|
22
|
+
if (!Number.isSafeInteger(n) || n < 0)
|
|
23
|
+
throw new Error(`Wrong positive integer: ${n}`);
|
|
24
|
+
}
|
|
25
|
+
exports.number = number;
|
|
26
|
+
function bool(b) {
|
|
27
|
+
if (typeof b !== 'boolean')
|
|
28
|
+
throw new Error(`Expected boolean, not ${b}`);
|
|
29
|
+
}
|
|
30
|
+
exports.bool = bool;
|
|
31
|
+
function bytes(b, ...lengths) {
|
|
32
|
+
if (!(b instanceof Uint8Array))
|
|
33
|
+
throw new TypeError('Expected Uint8Array');
|
|
34
|
+
if (lengths.length > 0 && !lengths.includes(b.length))
|
|
35
|
+
throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
|
|
36
|
+
}
|
|
37
|
+
exports.bytes = bytes;
|
|
38
|
+
function hash(hash) {
|
|
39
|
+
if (typeof hash !== 'function' || typeof hash.create !== 'function')
|
|
40
|
+
throw new Error('Hash should be wrapped by utils.wrapConstructor');
|
|
41
|
+
number(hash.outputLen);
|
|
42
|
+
number(hash.blockLen);
|
|
43
|
+
}
|
|
44
|
+
exports.hash = hash;
|
|
45
|
+
function exists(instance, checkFinished = true) {
|
|
46
|
+
if (instance.destroyed)
|
|
47
|
+
throw new Error('Hash instance has been destroyed');
|
|
48
|
+
if (checkFinished && instance.finished)
|
|
49
|
+
throw new Error('Hash#digest() has already been called');
|
|
50
|
+
}
|
|
51
|
+
exports.exists = exists;
|
|
52
|
+
function output(out, instance) {
|
|
53
|
+
bytes(out);
|
|
54
|
+
const min = instance.outputLen;
|
|
55
|
+
if (out.length < min) {
|
|
56
|
+
throw new Error(`digestInto() expects output buffer of length at least ${min}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.output = output;
|
|
60
|
+
const assert = {
|
|
61
|
+
number,
|
|
62
|
+
bool,
|
|
63
|
+
bytes,
|
|
64
|
+
hash,
|
|
65
|
+
exists,
|
|
66
|
+
output,
|
|
67
|
+
};
|
|
68
|
+
exports["default"] = assert;
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
/***/ }),
|
|
72
|
+
|
|
73
|
+
/***/ 2686:
|
|
74
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
75
|
+
|
|
76
|
+
"use strict";
|
|
77
|
+
|
|
78
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
79
|
+
exports.BLAKE2 = exports.SIGMA = void 0;
|
|
80
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
81
|
+
const utils_js_1 = __webpack_require__(64);
|
|
82
|
+
// prettier-ignore
|
|
83
|
+
exports.SIGMA = new Uint8Array([
|
|
84
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
85
|
+
14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,
|
|
86
|
+
11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,
|
|
87
|
+
7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,
|
|
88
|
+
9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,
|
|
89
|
+
2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,
|
|
90
|
+
12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11,
|
|
91
|
+
13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10,
|
|
92
|
+
6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5,
|
|
93
|
+
10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0,
|
|
94
|
+
// For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1].
|
|
95
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
96
|
+
14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,
|
|
97
|
+
]);
|
|
98
|
+
class BLAKE2 extends utils_js_1.Hash {
|
|
99
|
+
constructor(blockLen, outputLen, opts = {}, keyLen, saltLen, persLen) {
|
|
100
|
+
super();
|
|
101
|
+
this.blockLen = blockLen;
|
|
102
|
+
this.outputLen = outputLen;
|
|
103
|
+
this.length = 0;
|
|
104
|
+
this.pos = 0;
|
|
105
|
+
this.finished = false;
|
|
106
|
+
this.destroyed = false;
|
|
107
|
+
_assert_js_1.default.number(blockLen);
|
|
108
|
+
_assert_js_1.default.number(outputLen);
|
|
109
|
+
_assert_js_1.default.number(keyLen);
|
|
110
|
+
if (outputLen < 0 || outputLen > keyLen)
|
|
111
|
+
throw new Error('Blake2: outputLen bigger than keyLen');
|
|
112
|
+
if (opts.key !== undefined && (opts.key.length < 1 || opts.key.length > keyLen))
|
|
113
|
+
throw new Error(`Key should be up 1..${keyLen} byte long or undefined`);
|
|
114
|
+
if (opts.salt !== undefined && opts.salt.length !== saltLen)
|
|
115
|
+
throw new Error(`Salt should be ${saltLen} byte long or undefined`);
|
|
116
|
+
if (opts.personalization !== undefined && opts.personalization.length !== persLen)
|
|
117
|
+
throw new Error(`Personalization should be ${persLen} byte long or undefined`);
|
|
118
|
+
this.buffer32 = (0, utils_js_1.u32)((this.buffer = new Uint8Array(blockLen)));
|
|
119
|
+
}
|
|
120
|
+
update(data) {
|
|
121
|
+
_assert_js_1.default.exists(this);
|
|
122
|
+
// Main difference with other hashes: there is flag for last block,
|
|
123
|
+
// so we cannot process current block before we know that there
|
|
124
|
+
// is the next one. This significantly complicates logic and reduces ability
|
|
125
|
+
// to do zero-copy processing
|
|
126
|
+
const { blockLen, buffer, buffer32 } = this;
|
|
127
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
128
|
+
const len = data.length;
|
|
129
|
+
for (let pos = 0; pos < len;) {
|
|
130
|
+
// If buffer is full and we still have input (don't process last block, same as blake2s)
|
|
131
|
+
if (this.pos === blockLen) {
|
|
132
|
+
this.compress(buffer32, 0, false);
|
|
133
|
+
this.pos = 0;
|
|
134
|
+
}
|
|
135
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
136
|
+
const dataOffset = data.byteOffset + pos;
|
|
137
|
+
// full block && aligned to 4 bytes && not last in input
|
|
138
|
+
if (take === blockLen && !(dataOffset % 4) && pos + take < len) {
|
|
139
|
+
const data32 = new Uint32Array(data.buffer, dataOffset, Math.floor((len - pos) / 4));
|
|
140
|
+
for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) {
|
|
141
|
+
this.length += blockLen;
|
|
142
|
+
this.compress(data32, pos32, false);
|
|
143
|
+
}
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
buffer.set(data.subarray(pos, pos + take), this.pos);
|
|
147
|
+
this.pos += take;
|
|
148
|
+
this.length += take;
|
|
149
|
+
pos += take;
|
|
150
|
+
}
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
153
|
+
digestInto(out) {
|
|
154
|
+
_assert_js_1.default.exists(this);
|
|
155
|
+
_assert_js_1.default.output(out, this);
|
|
156
|
+
const { pos, buffer32 } = this;
|
|
157
|
+
this.finished = true;
|
|
158
|
+
// Padding
|
|
159
|
+
this.buffer.subarray(pos).fill(0);
|
|
160
|
+
this.compress(buffer32, 0, true);
|
|
161
|
+
const out32 = (0, utils_js_1.u32)(out);
|
|
162
|
+
this.get().forEach((v, i) => (out32[i] = v));
|
|
163
|
+
}
|
|
164
|
+
digest() {
|
|
165
|
+
const { buffer, outputLen } = this;
|
|
166
|
+
this.digestInto(buffer);
|
|
167
|
+
const res = buffer.slice(0, outputLen);
|
|
168
|
+
this.destroy();
|
|
169
|
+
return res;
|
|
170
|
+
}
|
|
171
|
+
_cloneInto(to) {
|
|
172
|
+
const { buffer, length, finished, destroyed, outputLen, pos } = this;
|
|
173
|
+
to || (to = new this.constructor({ dkLen: outputLen }));
|
|
174
|
+
to.set(...this.get());
|
|
175
|
+
to.length = length;
|
|
176
|
+
to.finished = finished;
|
|
177
|
+
to.destroyed = destroyed;
|
|
178
|
+
to.outputLen = outputLen;
|
|
179
|
+
to.buffer.set(buffer);
|
|
180
|
+
to.pos = pos;
|
|
181
|
+
return to;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.BLAKE2 = BLAKE2;
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
/***/ }),
|
|
188
|
+
|
|
189
|
+
/***/ 9350:
|
|
190
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
191
|
+
|
|
192
|
+
"use strict";
|
|
193
|
+
|
|
194
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
195
|
+
exports.SHA2 = void 0;
|
|
196
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
197
|
+
const utils_js_1 = __webpack_require__(64);
|
|
198
|
+
// Polyfill for Safari 14
|
|
199
|
+
function setBigUint64(view, byteOffset, value, isLE) {
|
|
200
|
+
if (typeof view.setBigUint64 === 'function')
|
|
201
|
+
return view.setBigUint64(byteOffset, value, isLE);
|
|
202
|
+
const _32n = BigInt(32);
|
|
203
|
+
const _u32_max = BigInt(0xffffffff);
|
|
204
|
+
const wh = Number((value >> _32n) & _u32_max);
|
|
205
|
+
const wl = Number(value & _u32_max);
|
|
206
|
+
const h = isLE ? 4 : 0;
|
|
207
|
+
const l = isLE ? 0 : 4;
|
|
208
|
+
view.setUint32(byteOffset + h, wh, isLE);
|
|
209
|
+
view.setUint32(byteOffset + l, wl, isLE);
|
|
210
|
+
}
|
|
211
|
+
// Base SHA2 class (RFC 6234)
|
|
212
|
+
class SHA2 extends utils_js_1.Hash {
|
|
213
|
+
constructor(blockLen, outputLen, padOffset, isLE) {
|
|
214
|
+
super();
|
|
215
|
+
this.blockLen = blockLen;
|
|
216
|
+
this.outputLen = outputLen;
|
|
217
|
+
this.padOffset = padOffset;
|
|
218
|
+
this.isLE = isLE;
|
|
219
|
+
this.finished = false;
|
|
220
|
+
this.length = 0;
|
|
221
|
+
this.pos = 0;
|
|
222
|
+
this.destroyed = false;
|
|
223
|
+
this.buffer = new Uint8Array(blockLen);
|
|
224
|
+
this.view = (0, utils_js_1.createView)(this.buffer);
|
|
225
|
+
}
|
|
226
|
+
update(data) {
|
|
227
|
+
_assert_js_1.default.exists(this);
|
|
228
|
+
const { view, buffer, blockLen } = this;
|
|
229
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
230
|
+
const len = data.length;
|
|
231
|
+
for (let pos = 0; pos < len;) {
|
|
232
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
233
|
+
// Fast path: we have at least one block in input, cast it to view and process
|
|
234
|
+
if (take === blockLen) {
|
|
235
|
+
const dataView = (0, utils_js_1.createView)(data);
|
|
236
|
+
for (; blockLen <= len - pos; pos += blockLen)
|
|
237
|
+
this.process(dataView, pos);
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
buffer.set(data.subarray(pos, pos + take), this.pos);
|
|
241
|
+
this.pos += take;
|
|
242
|
+
pos += take;
|
|
243
|
+
if (this.pos === blockLen) {
|
|
244
|
+
this.process(view, 0);
|
|
245
|
+
this.pos = 0;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
this.length += data.length;
|
|
249
|
+
this.roundClean();
|
|
250
|
+
return this;
|
|
251
|
+
}
|
|
252
|
+
digestInto(out) {
|
|
253
|
+
_assert_js_1.default.exists(this);
|
|
254
|
+
_assert_js_1.default.output(out, this);
|
|
255
|
+
this.finished = true;
|
|
256
|
+
// Padding
|
|
257
|
+
// We can avoid allocation of buffer for padding completely if it
|
|
258
|
+
// was previously not allocated here. But it won't change performance.
|
|
259
|
+
const { buffer, view, blockLen, isLE } = this;
|
|
260
|
+
let { pos } = this;
|
|
261
|
+
// append the bit '1' to the message
|
|
262
|
+
buffer[pos++] = 0b10000000;
|
|
263
|
+
this.buffer.subarray(pos).fill(0);
|
|
264
|
+
// we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again
|
|
265
|
+
if (this.padOffset > blockLen - pos) {
|
|
266
|
+
this.process(view, 0);
|
|
267
|
+
pos = 0;
|
|
268
|
+
}
|
|
269
|
+
// Pad until full block byte with zeros
|
|
270
|
+
for (let i = pos; i < blockLen; i++)
|
|
271
|
+
buffer[i] = 0;
|
|
272
|
+
// Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that
|
|
273
|
+
// You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.
|
|
274
|
+
// So we just write lowest 64 bits of that value.
|
|
275
|
+
setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);
|
|
276
|
+
this.process(view, 0);
|
|
277
|
+
const oview = (0, utils_js_1.createView)(out);
|
|
278
|
+
this.get().forEach((v, i) => oview.setUint32(4 * i, v, isLE));
|
|
279
|
+
}
|
|
280
|
+
digest() {
|
|
281
|
+
const { buffer, outputLen } = this;
|
|
282
|
+
this.digestInto(buffer);
|
|
283
|
+
const res = buffer.slice(0, outputLen);
|
|
284
|
+
this.destroy();
|
|
285
|
+
return res;
|
|
286
|
+
}
|
|
287
|
+
_cloneInto(to) {
|
|
288
|
+
to || (to = new this.constructor());
|
|
289
|
+
to.set(...this.get());
|
|
290
|
+
const { blockLen, buffer, length, finished, destroyed, pos } = this;
|
|
291
|
+
to.length = length;
|
|
292
|
+
to.pos = pos;
|
|
293
|
+
to.finished = finished;
|
|
294
|
+
to.destroyed = destroyed;
|
|
295
|
+
if (length % blockLen)
|
|
296
|
+
to.buffer.set(buffer);
|
|
297
|
+
return to;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
exports.SHA2 = SHA2;
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
/***/ }),
|
|
304
|
+
|
|
305
|
+
/***/ 1655:
|
|
306
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
307
|
+
|
|
308
|
+
"use strict";
|
|
309
|
+
|
|
310
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
311
|
+
exports.add = exports.toBig = exports.split = exports.fromBig = void 0;
|
|
312
|
+
const U32_MASK64 = BigInt(2 ** 32 - 1);
|
|
313
|
+
const _32n = BigInt(32);
|
|
314
|
+
// We are not using BigUint64Array, because they are extremely slow as per 2022
|
|
315
|
+
function fromBig(n, le = false) {
|
|
316
|
+
if (le)
|
|
317
|
+
return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };
|
|
318
|
+
return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
|
|
319
|
+
}
|
|
320
|
+
exports.fromBig = fromBig;
|
|
321
|
+
function split(lst, le = false) {
|
|
322
|
+
let Ah = new Uint32Array(lst.length);
|
|
323
|
+
let Al = new Uint32Array(lst.length);
|
|
324
|
+
for (let i = 0; i < lst.length; i++) {
|
|
325
|
+
const { h, l } = fromBig(lst[i], le);
|
|
326
|
+
[Ah[i], Al[i]] = [h, l];
|
|
327
|
+
}
|
|
328
|
+
return [Ah, Al];
|
|
329
|
+
}
|
|
330
|
+
exports.split = split;
|
|
331
|
+
const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);
|
|
332
|
+
exports.toBig = toBig;
|
|
333
|
+
// for Shift in [0, 32)
|
|
334
|
+
const shrSH = (h, l, s) => h >>> s;
|
|
335
|
+
const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
|
|
336
|
+
// Right rotate for Shift in [1, 32)
|
|
337
|
+
const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));
|
|
338
|
+
const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
|
|
339
|
+
// Right rotate for Shift in (32, 64), NOTE: 32 is special case.
|
|
340
|
+
const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));
|
|
341
|
+
const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));
|
|
342
|
+
// Right rotate for shift===32 (just swaps l&h)
|
|
343
|
+
const rotr32H = (h, l) => l;
|
|
344
|
+
const rotr32L = (h, l) => h;
|
|
345
|
+
// Left rotate for Shift in [1, 32)
|
|
346
|
+
const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));
|
|
347
|
+
const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));
|
|
348
|
+
// Left rotate for Shift in (32, 64), NOTE: 32 is special case.
|
|
349
|
+
const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));
|
|
350
|
+
const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));
|
|
351
|
+
// JS uses 32-bit signed integers for bitwise operations which means we cannot
|
|
352
|
+
// simple take carry out of low bit sum by shift, we need to use division.
|
|
353
|
+
// Removing "export" has 5% perf penalty -_-
|
|
354
|
+
function add(Ah, Al, Bh, Bl) {
|
|
355
|
+
const l = (Al >>> 0) + (Bl >>> 0);
|
|
356
|
+
return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };
|
|
357
|
+
}
|
|
358
|
+
exports.add = add;
|
|
359
|
+
// Addition with more than 2 elements
|
|
360
|
+
const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
|
|
361
|
+
const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;
|
|
362
|
+
const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
|
|
363
|
+
const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;
|
|
364
|
+
const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
|
|
365
|
+
const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;
|
|
366
|
+
// prettier-ignore
|
|
367
|
+
const u64 = {
|
|
368
|
+
fromBig, split, toBig: exports.toBig,
|
|
369
|
+
shrSH, shrSL,
|
|
370
|
+
rotrSH, rotrSL, rotrBH, rotrBL,
|
|
371
|
+
rotr32H, rotr32L,
|
|
372
|
+
rotlSH, rotlSL, rotlBH, rotlBL,
|
|
373
|
+
add, add3L, add3H, add4L, add4H, add5H, add5L,
|
|
374
|
+
};
|
|
375
|
+
exports["default"] = u64;
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
/***/ }),
|
|
379
|
+
|
|
380
|
+
/***/ 9467:
|
|
381
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
382
|
+
|
|
383
|
+
"use strict";
|
|
384
|
+
|
|
385
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
386
|
+
exports.blake2s = exports.compress = exports.IV = void 0;
|
|
387
|
+
const _blake2_js_1 = __webpack_require__(2686);
|
|
388
|
+
const _u64_js_1 = __webpack_require__(1655);
|
|
389
|
+
const utils_js_1 = __webpack_require__(64);
|
|
390
|
+
// Initial state:
|
|
391
|
+
// first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19)
|
|
392
|
+
// same as SHA-256
|
|
393
|
+
// prettier-ignore
|
|
394
|
+
exports.IV = new Uint32Array([
|
|
395
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
|
|
396
|
+
]);
|
|
397
|
+
// Mixing function G splitted in two halfs
|
|
398
|
+
function G1(a, b, c, d, x) {
|
|
399
|
+
a = (a + b + x) | 0;
|
|
400
|
+
d = (0, utils_js_1.rotr)(d ^ a, 16);
|
|
401
|
+
c = (c + d) | 0;
|
|
402
|
+
b = (0, utils_js_1.rotr)(b ^ c, 12);
|
|
403
|
+
return { a, b, c, d };
|
|
404
|
+
}
|
|
405
|
+
function G2(a, b, c, d, x) {
|
|
406
|
+
a = (a + b + x) | 0;
|
|
407
|
+
d = (0, utils_js_1.rotr)(d ^ a, 8);
|
|
408
|
+
c = (c + d) | 0;
|
|
409
|
+
b = (0, utils_js_1.rotr)(b ^ c, 7);
|
|
410
|
+
return { a, b, c, d };
|
|
411
|
+
}
|
|
412
|
+
// prettier-ignore
|
|
413
|
+
function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) {
|
|
414
|
+
let j = 0;
|
|
415
|
+
for (let i = 0; i < rounds; i++) {
|
|
416
|
+
({ a: v0, b: v4, c: v8, d: v12 } = G1(v0, v4, v8, v12, msg[offset + s[j++]]));
|
|
417
|
+
({ a: v0, b: v4, c: v8, d: v12 } = G2(v0, v4, v8, v12, msg[offset + s[j++]]));
|
|
418
|
+
({ a: v1, b: v5, c: v9, d: v13 } = G1(v1, v5, v9, v13, msg[offset + s[j++]]));
|
|
419
|
+
({ a: v1, b: v5, c: v9, d: v13 } = G2(v1, v5, v9, v13, msg[offset + s[j++]]));
|
|
420
|
+
({ a: v2, b: v6, c: v10, d: v14 } = G1(v2, v6, v10, v14, msg[offset + s[j++]]));
|
|
421
|
+
({ a: v2, b: v6, c: v10, d: v14 } = G2(v2, v6, v10, v14, msg[offset + s[j++]]));
|
|
422
|
+
({ a: v3, b: v7, c: v11, d: v15 } = G1(v3, v7, v11, v15, msg[offset + s[j++]]));
|
|
423
|
+
({ a: v3, b: v7, c: v11, d: v15 } = G2(v3, v7, v11, v15, msg[offset + s[j++]]));
|
|
424
|
+
({ a: v0, b: v5, c: v10, d: v15 } = G1(v0, v5, v10, v15, msg[offset + s[j++]]));
|
|
425
|
+
({ a: v0, b: v5, c: v10, d: v15 } = G2(v0, v5, v10, v15, msg[offset + s[j++]]));
|
|
426
|
+
({ a: v1, b: v6, c: v11, d: v12 } = G1(v1, v6, v11, v12, msg[offset + s[j++]]));
|
|
427
|
+
({ a: v1, b: v6, c: v11, d: v12 } = G2(v1, v6, v11, v12, msg[offset + s[j++]]));
|
|
428
|
+
({ a: v2, b: v7, c: v8, d: v13 } = G1(v2, v7, v8, v13, msg[offset + s[j++]]));
|
|
429
|
+
({ a: v2, b: v7, c: v8, d: v13 } = G2(v2, v7, v8, v13, msg[offset + s[j++]]));
|
|
430
|
+
({ a: v3, b: v4, c: v9, d: v14 } = G1(v3, v4, v9, v14, msg[offset + s[j++]]));
|
|
431
|
+
({ a: v3, b: v4, c: v9, d: v14 } = G2(v3, v4, v9, v14, msg[offset + s[j++]]));
|
|
432
|
+
}
|
|
433
|
+
return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 };
|
|
434
|
+
}
|
|
435
|
+
exports.compress = compress;
|
|
436
|
+
class BLAKE2s extends _blake2_js_1.BLAKE2 {
|
|
437
|
+
constructor(opts = {}) {
|
|
438
|
+
super(64, opts.dkLen === undefined ? 32 : opts.dkLen, opts, 32, 8, 8);
|
|
439
|
+
// Internal state, same as SHA-256
|
|
440
|
+
this.v0 = exports.IV[0] | 0;
|
|
441
|
+
this.v1 = exports.IV[1] | 0;
|
|
442
|
+
this.v2 = exports.IV[2] | 0;
|
|
443
|
+
this.v3 = exports.IV[3] | 0;
|
|
444
|
+
this.v4 = exports.IV[4] | 0;
|
|
445
|
+
this.v5 = exports.IV[5] | 0;
|
|
446
|
+
this.v6 = exports.IV[6] | 0;
|
|
447
|
+
this.v7 = exports.IV[7] | 0;
|
|
448
|
+
const keyLength = opts.key ? opts.key.length : 0;
|
|
449
|
+
this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);
|
|
450
|
+
if (opts.salt) {
|
|
451
|
+
const salt = (0, utils_js_1.u32)((0, utils_js_1.toBytes)(opts.salt));
|
|
452
|
+
this.v4 ^= salt[0];
|
|
453
|
+
this.v5 ^= salt[1];
|
|
454
|
+
}
|
|
455
|
+
if (opts.personalization) {
|
|
456
|
+
const pers = (0, utils_js_1.u32)((0, utils_js_1.toBytes)(opts.personalization));
|
|
457
|
+
this.v6 ^= pers[0];
|
|
458
|
+
this.v7 ^= pers[1];
|
|
459
|
+
}
|
|
460
|
+
if (opts.key) {
|
|
461
|
+
// Pad to blockLen and update
|
|
462
|
+
const tmp = new Uint8Array(this.blockLen);
|
|
463
|
+
tmp.set((0, utils_js_1.toBytes)(opts.key));
|
|
464
|
+
this.update(tmp);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
get() {
|
|
468
|
+
const { v0, v1, v2, v3, v4, v5, v6, v7 } = this;
|
|
469
|
+
return [v0, v1, v2, v3, v4, v5, v6, v7];
|
|
470
|
+
}
|
|
471
|
+
// prettier-ignore
|
|
472
|
+
set(v0, v1, v2, v3, v4, v5, v6, v7) {
|
|
473
|
+
this.v0 = v0 | 0;
|
|
474
|
+
this.v1 = v1 | 0;
|
|
475
|
+
this.v2 = v2 | 0;
|
|
476
|
+
this.v3 = v3 | 0;
|
|
477
|
+
this.v4 = v4 | 0;
|
|
478
|
+
this.v5 = v5 | 0;
|
|
479
|
+
this.v6 = v6 | 0;
|
|
480
|
+
this.v7 = v7 | 0;
|
|
481
|
+
}
|
|
482
|
+
compress(msg, offset, isLast) {
|
|
483
|
+
const { h, l } = _u64_js_1.default.fromBig(BigInt(this.length));
|
|
484
|
+
// prettier-ignore
|
|
485
|
+
const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(_blake2_js_1.SIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, exports.IV[0], exports.IV[1], exports.IV[2], exports.IV[3], l ^ exports.IV[4], h ^ exports.IV[5], isLast ? ~exports.IV[6] : exports.IV[6], exports.IV[7]);
|
|
486
|
+
this.v0 ^= v0 ^ v8;
|
|
487
|
+
this.v1 ^= v1 ^ v9;
|
|
488
|
+
this.v2 ^= v2 ^ v10;
|
|
489
|
+
this.v3 ^= v3 ^ v11;
|
|
490
|
+
this.v4 ^= v4 ^ v12;
|
|
491
|
+
this.v5 ^= v5 ^ v13;
|
|
492
|
+
this.v6 ^= v6 ^ v14;
|
|
493
|
+
this.v7 ^= v7 ^ v15;
|
|
494
|
+
}
|
|
495
|
+
destroy() {
|
|
496
|
+
this.destroyed = true;
|
|
497
|
+
this.buffer32.fill(0);
|
|
498
|
+
this.set(0, 0, 0, 0, 0, 0, 0, 0);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* BLAKE2s - optimized for 32-bit platforms. JS doesn't have uint64, so it's faster than BLAKE2b.
|
|
503
|
+
* @param msg - message that would be hashed
|
|
504
|
+
* @param opts - dkLen, key, salt, personalization
|
|
505
|
+
*/
|
|
506
|
+
exports.blake2s = (0, utils_js_1.wrapConstructorWithOpts)((opts) => new BLAKE2s(opts));
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
/***/ }),
|
|
510
|
+
|
|
511
|
+
/***/ 4661:
|
|
512
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
513
|
+
|
|
514
|
+
"use strict";
|
|
515
|
+
|
|
516
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
517
|
+
exports.crypto = void 0;
|
|
518
|
+
exports.crypto = {
|
|
519
|
+
node: undefined,
|
|
520
|
+
web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,
|
|
521
|
+
};
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
/***/ }),
|
|
525
|
+
|
|
526
|
+
/***/ 6053:
|
|
527
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
528
|
+
|
|
529
|
+
"use strict";
|
|
530
|
+
|
|
531
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
532
|
+
exports.sha256 = void 0;
|
|
533
|
+
const _sha2_js_1 = __webpack_require__(9350);
|
|
534
|
+
const utils_js_1 = __webpack_require__(64);
|
|
535
|
+
// Choice: a ? b : c
|
|
536
|
+
const Chi = (a, b, c) => (a & b) ^ (~a & c);
|
|
537
|
+
// Majority function, true if any two inpust is true
|
|
538
|
+
const Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);
|
|
539
|
+
// Round constants:
|
|
540
|
+
// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)
|
|
541
|
+
// prettier-ignore
|
|
542
|
+
const SHA256_K = new Uint32Array([
|
|
543
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
544
|
+
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
545
|
+
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
546
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
547
|
+
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
548
|
+
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
549
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
550
|
+
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
|
551
|
+
]);
|
|
552
|
+
// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
|
|
553
|
+
// prettier-ignore
|
|
554
|
+
const IV = new Uint32Array([
|
|
555
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
|
|
556
|
+
]);
|
|
557
|
+
// Temporary buffer, not used to store anything between runs
|
|
558
|
+
// Named this way because it matches specification.
|
|
559
|
+
const SHA256_W = new Uint32Array(64);
|
|
560
|
+
class SHA256 extends _sha2_js_1.SHA2 {
|
|
561
|
+
constructor() {
|
|
562
|
+
super(64, 32, 8, false);
|
|
563
|
+
// We cannot use array here since array allows indexing by variable
|
|
564
|
+
// which means optimizer/compiler cannot use registers.
|
|
565
|
+
this.A = IV[0] | 0;
|
|
566
|
+
this.B = IV[1] | 0;
|
|
567
|
+
this.C = IV[2] | 0;
|
|
568
|
+
this.D = IV[3] | 0;
|
|
569
|
+
this.E = IV[4] | 0;
|
|
570
|
+
this.F = IV[5] | 0;
|
|
571
|
+
this.G = IV[6] | 0;
|
|
572
|
+
this.H = IV[7] | 0;
|
|
573
|
+
}
|
|
574
|
+
get() {
|
|
575
|
+
const { A, B, C, D, E, F, G, H } = this;
|
|
576
|
+
return [A, B, C, D, E, F, G, H];
|
|
577
|
+
}
|
|
578
|
+
// prettier-ignore
|
|
579
|
+
set(A, B, C, D, E, F, G, H) {
|
|
580
|
+
this.A = A | 0;
|
|
581
|
+
this.B = B | 0;
|
|
582
|
+
this.C = C | 0;
|
|
583
|
+
this.D = D | 0;
|
|
584
|
+
this.E = E | 0;
|
|
585
|
+
this.F = F | 0;
|
|
586
|
+
this.G = G | 0;
|
|
587
|
+
this.H = H | 0;
|
|
588
|
+
}
|
|
589
|
+
process(view, offset) {
|
|
590
|
+
// Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array
|
|
591
|
+
for (let i = 0; i < 16; i++, offset += 4)
|
|
592
|
+
SHA256_W[i] = view.getUint32(offset, false);
|
|
593
|
+
for (let i = 16; i < 64; i++) {
|
|
594
|
+
const W15 = SHA256_W[i - 15];
|
|
595
|
+
const W2 = SHA256_W[i - 2];
|
|
596
|
+
const s0 = (0, utils_js_1.rotr)(W15, 7) ^ (0, utils_js_1.rotr)(W15, 18) ^ (W15 >>> 3);
|
|
597
|
+
const s1 = (0, utils_js_1.rotr)(W2, 17) ^ (0, utils_js_1.rotr)(W2, 19) ^ (W2 >>> 10);
|
|
598
|
+
SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;
|
|
599
|
+
}
|
|
600
|
+
// Compression function main loop, 64 rounds
|
|
601
|
+
let { A, B, C, D, E, F, G, H } = this;
|
|
602
|
+
for (let i = 0; i < 64; i++) {
|
|
603
|
+
const sigma1 = (0, utils_js_1.rotr)(E, 6) ^ (0, utils_js_1.rotr)(E, 11) ^ (0, utils_js_1.rotr)(E, 25);
|
|
604
|
+
const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
|
|
605
|
+
const sigma0 = (0, utils_js_1.rotr)(A, 2) ^ (0, utils_js_1.rotr)(A, 13) ^ (0, utils_js_1.rotr)(A, 22);
|
|
606
|
+
const T2 = (sigma0 + Maj(A, B, C)) | 0;
|
|
607
|
+
H = G;
|
|
608
|
+
G = F;
|
|
609
|
+
F = E;
|
|
610
|
+
E = (D + T1) | 0;
|
|
611
|
+
D = C;
|
|
612
|
+
C = B;
|
|
613
|
+
B = A;
|
|
614
|
+
A = (T1 + T2) | 0;
|
|
615
|
+
}
|
|
616
|
+
// Add the compressed chunk to the current hash value
|
|
617
|
+
A = (A + this.A) | 0;
|
|
618
|
+
B = (B + this.B) | 0;
|
|
619
|
+
C = (C + this.C) | 0;
|
|
620
|
+
D = (D + this.D) | 0;
|
|
621
|
+
E = (E + this.E) | 0;
|
|
622
|
+
F = (F + this.F) | 0;
|
|
623
|
+
G = (G + this.G) | 0;
|
|
624
|
+
H = (H + this.H) | 0;
|
|
625
|
+
this.set(A, B, C, D, E, F, G, H);
|
|
626
|
+
}
|
|
627
|
+
roundClean() {
|
|
628
|
+
SHA256_W.fill(0);
|
|
629
|
+
}
|
|
630
|
+
destroy() {
|
|
631
|
+
this.set(0, 0, 0, 0, 0, 0, 0, 0);
|
|
632
|
+
this.buffer.fill(0);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* SHA2-256 hash function
|
|
637
|
+
* @param message - data that would be hashed
|
|
638
|
+
*/
|
|
639
|
+
exports.sha256 = (0, utils_js_1.wrapConstructor)(() => new SHA256());
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
/***/ }),
|
|
643
|
+
|
|
644
|
+
/***/ 125:
|
|
645
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
646
|
+
|
|
647
|
+
"use strict";
|
|
648
|
+
|
|
649
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
650
|
+
exports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = exports.keccakP = void 0;
|
|
651
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
652
|
+
const _u64_js_1 = __webpack_require__(1655);
|
|
653
|
+
const utils_js_1 = __webpack_require__(64);
|
|
654
|
+
// Various per round constants calculations
|
|
655
|
+
const [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];
|
|
656
|
+
const _0n = BigInt(0);
|
|
657
|
+
const _1n = BigInt(1);
|
|
658
|
+
const _2n = BigInt(2);
|
|
659
|
+
const _7n = BigInt(7);
|
|
660
|
+
const _256n = BigInt(256);
|
|
661
|
+
const _0x71n = BigInt(0x71);
|
|
662
|
+
for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
|
|
663
|
+
// Pi
|
|
664
|
+
[x, y] = [y, (2 * x + 3 * y) % 5];
|
|
665
|
+
SHA3_PI.push(2 * (5 * y + x));
|
|
666
|
+
// Rotational
|
|
667
|
+
SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);
|
|
668
|
+
// Iota
|
|
669
|
+
let t = _0n;
|
|
670
|
+
for (let j = 0; j < 7; j++) {
|
|
671
|
+
R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;
|
|
672
|
+
if (R & _2n)
|
|
673
|
+
t ^= _1n << ((_1n << BigInt(j)) - _1n);
|
|
674
|
+
}
|
|
675
|
+
_SHA3_IOTA.push(t);
|
|
676
|
+
}
|
|
677
|
+
const [SHA3_IOTA_H, SHA3_IOTA_L] = _u64_js_1.default.split(_SHA3_IOTA, true);
|
|
678
|
+
// Left rotation (without 0, 32, 64)
|
|
679
|
+
const rotlH = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBH(h, l, s) : _u64_js_1.default.rotlSH(h, l, s);
|
|
680
|
+
const rotlL = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBL(h, l, s) : _u64_js_1.default.rotlSL(h, l, s);
|
|
681
|
+
// Same as keccakf1600, but allows to skip some rounds
|
|
682
|
+
function keccakP(s, rounds = 24) {
|
|
683
|
+
const B = new Uint32Array(5 * 2);
|
|
684
|
+
// NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)
|
|
685
|
+
for (let round = 24 - rounds; round < 24; round++) {
|
|
686
|
+
// Theta θ
|
|
687
|
+
for (let x = 0; x < 10; x++)
|
|
688
|
+
B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
|
|
689
|
+
for (let x = 0; x < 10; x += 2) {
|
|
690
|
+
const idx1 = (x + 8) % 10;
|
|
691
|
+
const idx0 = (x + 2) % 10;
|
|
692
|
+
const B0 = B[idx0];
|
|
693
|
+
const B1 = B[idx0 + 1];
|
|
694
|
+
const Th = rotlH(B0, B1, 1) ^ B[idx1];
|
|
695
|
+
const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
|
|
696
|
+
for (let y = 0; y < 50; y += 10) {
|
|
697
|
+
s[x + y] ^= Th;
|
|
698
|
+
s[x + y + 1] ^= Tl;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
// Rho (ρ) and Pi (π)
|
|
702
|
+
let curH = s[2];
|
|
703
|
+
let curL = s[3];
|
|
704
|
+
for (let t = 0; t < 24; t++) {
|
|
705
|
+
const shift = SHA3_ROTL[t];
|
|
706
|
+
const Th = rotlH(curH, curL, shift);
|
|
707
|
+
const Tl = rotlL(curH, curL, shift);
|
|
708
|
+
const PI = SHA3_PI[t];
|
|
709
|
+
curH = s[PI];
|
|
710
|
+
curL = s[PI + 1];
|
|
711
|
+
s[PI] = Th;
|
|
712
|
+
s[PI + 1] = Tl;
|
|
713
|
+
}
|
|
714
|
+
// Chi (χ)
|
|
715
|
+
for (let y = 0; y < 50; y += 10) {
|
|
716
|
+
for (let x = 0; x < 10; x++)
|
|
717
|
+
B[x] = s[y + x];
|
|
718
|
+
for (let x = 0; x < 10; x++)
|
|
719
|
+
s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
|
|
720
|
+
}
|
|
721
|
+
// Iota (ι)
|
|
722
|
+
s[0] ^= SHA3_IOTA_H[round];
|
|
723
|
+
s[1] ^= SHA3_IOTA_L[round];
|
|
724
|
+
}
|
|
725
|
+
B.fill(0);
|
|
726
|
+
}
|
|
727
|
+
exports.keccakP = keccakP;
|
|
728
|
+
class Keccak extends utils_js_1.Hash {
|
|
729
|
+
// NOTE: we accept arguments in bytes instead of bits here.
|
|
730
|
+
constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
|
|
731
|
+
super();
|
|
732
|
+
this.blockLen = blockLen;
|
|
733
|
+
this.suffix = suffix;
|
|
734
|
+
this.outputLen = outputLen;
|
|
735
|
+
this.enableXOF = enableXOF;
|
|
736
|
+
this.rounds = rounds;
|
|
737
|
+
this.pos = 0;
|
|
738
|
+
this.posOut = 0;
|
|
739
|
+
this.finished = false;
|
|
740
|
+
this.destroyed = false;
|
|
741
|
+
// Can be passed from user as dkLen
|
|
742
|
+
_assert_js_1.default.number(outputLen);
|
|
743
|
+
// 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes
|
|
744
|
+
if (0 >= this.blockLen || this.blockLen >= 200)
|
|
745
|
+
throw new Error('Sha3 supports only keccak-f1600 function');
|
|
746
|
+
this.state = new Uint8Array(200);
|
|
747
|
+
this.state32 = (0, utils_js_1.u32)(this.state);
|
|
748
|
+
}
|
|
749
|
+
keccak() {
|
|
750
|
+
keccakP(this.state32, this.rounds);
|
|
751
|
+
this.posOut = 0;
|
|
752
|
+
this.pos = 0;
|
|
753
|
+
}
|
|
754
|
+
update(data) {
|
|
755
|
+
_assert_js_1.default.exists(this);
|
|
756
|
+
const { blockLen, state } = this;
|
|
757
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
758
|
+
const len = data.length;
|
|
759
|
+
for (let pos = 0; pos < len;) {
|
|
760
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
761
|
+
for (let i = 0; i < take; i++)
|
|
762
|
+
state[this.pos++] ^= data[pos++];
|
|
763
|
+
if (this.pos === blockLen)
|
|
764
|
+
this.keccak();
|
|
765
|
+
}
|
|
766
|
+
return this;
|
|
767
|
+
}
|
|
768
|
+
finish() {
|
|
769
|
+
if (this.finished)
|
|
770
|
+
return;
|
|
771
|
+
this.finished = true;
|
|
772
|
+
const { state, suffix, pos, blockLen } = this;
|
|
773
|
+
// Do the padding
|
|
774
|
+
state[pos] ^= suffix;
|
|
775
|
+
if ((suffix & 0x80) !== 0 && pos === blockLen - 1)
|
|
776
|
+
this.keccak();
|
|
777
|
+
state[blockLen - 1] ^= 0x80;
|
|
778
|
+
this.keccak();
|
|
779
|
+
}
|
|
780
|
+
writeInto(out) {
|
|
781
|
+
_assert_js_1.default.exists(this, false);
|
|
782
|
+
_assert_js_1.default.bytes(out);
|
|
783
|
+
this.finish();
|
|
784
|
+
const bufferOut = this.state;
|
|
785
|
+
const { blockLen } = this;
|
|
786
|
+
for (let pos = 0, len = out.length; pos < len;) {
|
|
787
|
+
if (this.posOut >= blockLen)
|
|
788
|
+
this.keccak();
|
|
789
|
+
const take = Math.min(blockLen - this.posOut, len - pos);
|
|
790
|
+
out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
|
|
791
|
+
this.posOut += take;
|
|
792
|
+
pos += take;
|
|
793
|
+
}
|
|
794
|
+
return out;
|
|
795
|
+
}
|
|
796
|
+
xofInto(out) {
|
|
797
|
+
// Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF
|
|
798
|
+
if (!this.enableXOF)
|
|
799
|
+
throw new Error('XOF is not possible for this instance');
|
|
800
|
+
return this.writeInto(out);
|
|
801
|
+
}
|
|
802
|
+
xof(bytes) {
|
|
803
|
+
_assert_js_1.default.number(bytes);
|
|
804
|
+
return this.xofInto(new Uint8Array(bytes));
|
|
805
|
+
}
|
|
806
|
+
digestInto(out) {
|
|
807
|
+
_assert_js_1.default.output(out, this);
|
|
808
|
+
if (this.finished)
|
|
809
|
+
throw new Error('digest() was already called');
|
|
810
|
+
this.writeInto(out);
|
|
811
|
+
this.destroy();
|
|
812
|
+
return out;
|
|
813
|
+
}
|
|
814
|
+
digest() {
|
|
815
|
+
return this.digestInto(new Uint8Array(this.outputLen));
|
|
816
|
+
}
|
|
817
|
+
destroy() {
|
|
818
|
+
this.destroyed = true;
|
|
819
|
+
this.state.fill(0);
|
|
820
|
+
}
|
|
821
|
+
_cloneInto(to) {
|
|
822
|
+
const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
|
|
823
|
+
to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
|
|
824
|
+
to.state32.set(this.state32);
|
|
825
|
+
to.pos = this.pos;
|
|
826
|
+
to.posOut = this.posOut;
|
|
827
|
+
to.finished = this.finished;
|
|
828
|
+
to.rounds = rounds;
|
|
829
|
+
// Suffix can change in cSHAKE
|
|
830
|
+
to.suffix = suffix;
|
|
831
|
+
to.outputLen = outputLen;
|
|
832
|
+
to.enableXOF = enableXOF;
|
|
833
|
+
to.destroyed = this.destroyed;
|
|
834
|
+
return to;
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
exports.Keccak = Keccak;
|
|
838
|
+
const gen = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructor)(() => new Keccak(blockLen, suffix, outputLen));
|
|
839
|
+
exports.sha3_224 = gen(0x06, 144, 224 / 8);
|
|
840
|
+
/**
|
|
841
|
+
* SHA3-256 hash function
|
|
842
|
+
* @param message - that would be hashed
|
|
843
|
+
*/
|
|
844
|
+
exports.sha3_256 = gen(0x06, 136, 256 / 8);
|
|
845
|
+
exports.sha3_384 = gen(0x06, 104, 384 / 8);
|
|
846
|
+
exports.sha3_512 = gen(0x06, 72, 512 / 8);
|
|
847
|
+
exports.keccak_224 = gen(0x01, 144, 224 / 8);
|
|
848
|
+
/**
|
|
849
|
+
* keccak-256 hash function. Different from SHA3-256.
|
|
850
|
+
* @param message - that would be hashed
|
|
851
|
+
*/
|
|
852
|
+
exports.keccak_256 = gen(0x01, 136, 256 / 8);
|
|
853
|
+
exports.keccak_384 = gen(0x01, 104, 384 / 8);
|
|
854
|
+
exports.keccak_512 = gen(0x01, 72, 512 / 8);
|
|
855
|
+
const genShake = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructorWithOpts)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));
|
|
856
|
+
exports.shake128 = genShake(0x1f, 168, 128 / 8);
|
|
857
|
+
exports.shake256 = genShake(0x1f, 136, 256 / 8);
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
/***/ }),
|
|
861
|
+
|
|
862
|
+
/***/ 64:
|
|
863
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
864
|
+
|
|
865
|
+
"use strict";
|
|
866
|
+
|
|
867
|
+
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
868
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
869
|
+
exports.randomBytes = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0;
|
|
870
|
+
// The import here is via the package name. This is to ensure
|
|
871
|
+
// that exports mapping/resolution does fall into place.
|
|
872
|
+
const crypto_1 = __webpack_require__(4661);
|
|
873
|
+
// Cast array to different type
|
|
874
|
+
const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
|
|
875
|
+
exports.u8 = u8;
|
|
876
|
+
const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
|
|
877
|
+
exports.u32 = u32;
|
|
878
|
+
// Cast array to view
|
|
879
|
+
const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
|
|
880
|
+
exports.createView = createView;
|
|
881
|
+
// The rotate right (circular right shift) operation for uint32
|
|
882
|
+
const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);
|
|
883
|
+
exports.rotr = rotr;
|
|
884
|
+
exports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;
|
|
885
|
+
// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.
|
|
886
|
+
// So, just to be sure not to corrupt anything.
|
|
887
|
+
if (!exports.isLE)
|
|
888
|
+
throw new Error('Non little-endian hardware is not supported');
|
|
889
|
+
const hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
|
|
890
|
+
/**
|
|
891
|
+
* @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))
|
|
892
|
+
*/
|
|
893
|
+
function bytesToHex(uint8a) {
|
|
894
|
+
// pre-caching improves the speed 6x
|
|
895
|
+
if (!(uint8a instanceof Uint8Array))
|
|
896
|
+
throw new Error('Uint8Array expected');
|
|
897
|
+
let hex = '';
|
|
898
|
+
for (let i = 0; i < uint8a.length; i++) {
|
|
899
|
+
hex += hexes[uint8a[i]];
|
|
900
|
+
}
|
|
901
|
+
return hex;
|
|
902
|
+
}
|
|
903
|
+
exports.bytesToHex = bytesToHex;
|
|
904
|
+
/**
|
|
905
|
+
* @example hexToBytes('deadbeef')
|
|
906
|
+
*/
|
|
907
|
+
function hexToBytes(hex) {
|
|
908
|
+
if (typeof hex !== 'string') {
|
|
909
|
+
throw new TypeError('hexToBytes: expected string, got ' + typeof hex);
|
|
910
|
+
}
|
|
911
|
+
if (hex.length % 2)
|
|
912
|
+
throw new Error('hexToBytes: received invalid unpadded hex');
|
|
913
|
+
const array = new Uint8Array(hex.length / 2);
|
|
914
|
+
for (let i = 0; i < array.length; i++) {
|
|
915
|
+
const j = i * 2;
|
|
916
|
+
const hexByte = hex.slice(j, j + 2);
|
|
917
|
+
const byte = Number.parseInt(hexByte, 16);
|
|
918
|
+
if (Number.isNaN(byte) || byte < 0)
|
|
919
|
+
throw new Error('Invalid byte sequence');
|
|
920
|
+
array[i] = byte;
|
|
921
|
+
}
|
|
922
|
+
return array;
|
|
923
|
+
}
|
|
924
|
+
exports.hexToBytes = hexToBytes;
|
|
925
|
+
// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise
|
|
926
|
+
// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.
|
|
927
|
+
const nextTick = async () => { };
|
|
928
|
+
exports.nextTick = nextTick;
|
|
929
|
+
// Returns control to thread each 'tick' ms to avoid blocking
|
|
930
|
+
async function asyncLoop(iters, tick, cb) {
|
|
931
|
+
let ts = Date.now();
|
|
932
|
+
for (let i = 0; i < iters; i++) {
|
|
933
|
+
cb(i);
|
|
934
|
+
// Date.now() is not monotonic, so in case if clock goes backwards we return return control too
|
|
935
|
+
const diff = Date.now() - ts;
|
|
936
|
+
if (diff >= 0 && diff < tick)
|
|
937
|
+
continue;
|
|
938
|
+
await (0, exports.nextTick)();
|
|
939
|
+
ts += diff;
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
exports.asyncLoop = asyncLoop;
|
|
943
|
+
function utf8ToBytes(str) {
|
|
944
|
+
if (typeof str !== 'string') {
|
|
945
|
+
throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);
|
|
946
|
+
}
|
|
947
|
+
return new TextEncoder().encode(str);
|
|
948
|
+
}
|
|
949
|
+
exports.utf8ToBytes = utf8ToBytes;
|
|
950
|
+
function toBytes(data) {
|
|
951
|
+
if (typeof data === 'string')
|
|
952
|
+
data = utf8ToBytes(data);
|
|
953
|
+
if (!(data instanceof Uint8Array))
|
|
954
|
+
throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);
|
|
955
|
+
return data;
|
|
956
|
+
}
|
|
957
|
+
exports.toBytes = toBytes;
|
|
958
|
+
/**
|
|
959
|
+
* Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`
|
|
960
|
+
* @example concatBytes(buf1, buf2)
|
|
961
|
+
*/
|
|
962
|
+
function concatBytes(...arrays) {
|
|
963
|
+
if (!arrays.every((a) => a instanceof Uint8Array))
|
|
964
|
+
throw new Error('Uint8Array list expected');
|
|
965
|
+
if (arrays.length === 1)
|
|
966
|
+
return arrays[0];
|
|
967
|
+
const length = arrays.reduce((a, arr) => a + arr.length, 0);
|
|
968
|
+
const result = new Uint8Array(length);
|
|
969
|
+
for (let i = 0, pad = 0; i < arrays.length; i++) {
|
|
970
|
+
const arr = arrays[i];
|
|
971
|
+
result.set(arr, pad);
|
|
972
|
+
pad += arr.length;
|
|
973
|
+
}
|
|
974
|
+
return result;
|
|
975
|
+
}
|
|
976
|
+
exports.concatBytes = concatBytes;
|
|
977
|
+
// For runtime check if class implements interface
|
|
978
|
+
class Hash {
|
|
979
|
+
// Safe version that clones internal state
|
|
980
|
+
clone() {
|
|
981
|
+
return this._cloneInto();
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
exports.Hash = Hash;
|
|
985
|
+
// Check if object doens't have custom constructor (like Uint8Array/Array)
|
|
986
|
+
const isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;
|
|
987
|
+
function checkOpts(defaults, opts) {
|
|
988
|
+
if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))
|
|
989
|
+
throw new TypeError('Options should be object or undefined');
|
|
990
|
+
const merged = Object.assign(defaults, opts);
|
|
991
|
+
return merged;
|
|
992
|
+
}
|
|
993
|
+
exports.checkOpts = checkOpts;
|
|
994
|
+
function wrapConstructor(hashConstructor) {
|
|
995
|
+
const hashC = (message) => hashConstructor().update(toBytes(message)).digest();
|
|
996
|
+
const tmp = hashConstructor();
|
|
997
|
+
hashC.outputLen = tmp.outputLen;
|
|
998
|
+
hashC.blockLen = tmp.blockLen;
|
|
999
|
+
hashC.create = () => hashConstructor();
|
|
1000
|
+
return hashC;
|
|
1001
|
+
}
|
|
1002
|
+
exports.wrapConstructor = wrapConstructor;
|
|
1003
|
+
function wrapConstructorWithOpts(hashCons) {
|
|
1004
|
+
const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();
|
|
1005
|
+
const tmp = hashCons({});
|
|
1006
|
+
hashC.outputLen = tmp.outputLen;
|
|
1007
|
+
hashC.blockLen = tmp.blockLen;
|
|
1008
|
+
hashC.create = (opts) => hashCons(opts);
|
|
1009
|
+
return hashC;
|
|
1010
|
+
}
|
|
1011
|
+
exports.wrapConstructorWithOpts = wrapConstructorWithOpts;
|
|
1012
|
+
/**
|
|
1013
|
+
* Secure PRNG
|
|
1014
|
+
*/
|
|
1015
|
+
function randomBytes(bytesLength = 32) {
|
|
1016
|
+
if (crypto_1.crypto.web) {
|
|
1017
|
+
return crypto_1.crypto.web.getRandomValues(new Uint8Array(bytesLength));
|
|
1018
|
+
}
|
|
1019
|
+
else if (crypto_1.crypto.node) {
|
|
1020
|
+
return new Uint8Array(crypto_1.crypto.node.randomBytes(bytesLength).buffer);
|
|
1021
|
+
}
|
|
1022
|
+
else {
|
|
1023
|
+
throw new Error("The environment doesn't have randomBytes function");
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
exports.randomBytes = randomBytes;
|
|
1027
|
+
|
|
1028
|
+
|
|
1029
|
+
/***/ }),
|
|
1030
|
+
|
|
14
1031
|
/***/ 7408:
|
|
15
1032
|
/***/ ((module) => {
|
|
16
1033
|
|
|
@@ -4031,11 +5048,17 @@ var axios = __webpack_require__(9644);
|
|
|
4031
5048
|
|
|
4032
5049
|
var BigNumber = __webpack_require__(6391);
|
|
4033
5050
|
|
|
4034
|
-
var
|
|
5051
|
+
var utils = __webpack_require__(64);
|
|
5052
|
+
|
|
5053
|
+
var blake2s = __webpack_require__(9467);
|
|
5054
|
+
|
|
5055
|
+
var sha256 = __webpack_require__(6053);
|
|
5056
|
+
|
|
5057
|
+
var JSZip = __webpack_require__(1297);
|
|
4035
5058
|
|
|
4036
5059
|
var hdTransport = __webpack_require__(7495);
|
|
4037
5060
|
|
|
4038
|
-
var sha3 = __webpack_require__(
|
|
5061
|
+
var sha3 = __webpack_require__(125);
|
|
4039
5062
|
|
|
4040
5063
|
function _interopDefaultLegacy(e) {
|
|
4041
5064
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
@@ -4049,9 +5072,7 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
|
4049
5072
|
|
|
4050
5073
|
var BigNumber__default = /*#__PURE__*/_interopDefaultLegacy(BigNumber);
|
|
4051
5074
|
|
|
4052
|
-
var
|
|
4053
|
-
|
|
4054
|
-
var sha3__default = /*#__PURE__*/_interopDefaultLegacy(sha3);
|
|
5075
|
+
var JSZip__default = /*#__PURE__*/_interopDefaultLegacy(JSZip);
|
|
4055
5076
|
|
|
4056
5077
|
const inject = ({
|
|
4057
5078
|
call,
|
|
@@ -4137,6 +5158,10 @@ const inject = ({
|
|
|
4137
5158
|
connectId,
|
|
4138
5159
|
method: 'deviceUpdateReboot'
|
|
4139
5160
|
}),
|
|
5161
|
+
deviceUploadResource: (connectId, params) => call(Object.assign(Object.assign({}, params), {
|
|
5162
|
+
connectId,
|
|
5163
|
+
method: 'deviceUploadResource'
|
|
5164
|
+
})),
|
|
4140
5165
|
deviceSupportFeatures: connectId => call({
|
|
4141
5166
|
connectId,
|
|
4142
5167
|
method: 'deviceSupportFeatures'
|
|
@@ -14546,7 +15571,7 @@ const createLogMessage = (type, payload) => ({
|
|
|
14546
15571
|
const MAX_ENTRIES = 500;
|
|
14547
15572
|
let postMessage$1;
|
|
14548
15573
|
|
|
14549
|
-
class Log$
|
|
15574
|
+
class Log$9 {
|
|
14550
15575
|
constructor(prefix, enabled) {
|
|
14551
15576
|
this.prefix = prefix;
|
|
14552
15577
|
this.enabled = enabled;
|
|
@@ -14615,7 +15640,7 @@ class Log$8 {
|
|
|
14615
15640
|
const _logs = {};
|
|
14616
15641
|
|
|
14617
15642
|
const initLog = (prefix, enabled) => {
|
|
14618
|
-
const instance = new Log$
|
|
15643
|
+
const instance = new Log$9(prefix, !!enabled);
|
|
14619
15644
|
_logs[prefix] = instance;
|
|
14620
15645
|
return instance;
|
|
14621
15646
|
};
|
|
@@ -14745,6 +15770,16 @@ const getReleaseChangelog = (releases, currentVersion) => {
|
|
|
14745
15770
|
return newVersions.map(r => r.changelog);
|
|
14746
15771
|
};
|
|
14747
15772
|
|
|
15773
|
+
const findLatestRelease = releases => {
|
|
15774
|
+
let leastRelease = releases[0];
|
|
15775
|
+
releases.forEach(release => {
|
|
15776
|
+
if (semver__default["default"].gt(release.version.join('.'), leastRelease.version.join('.'))) {
|
|
15777
|
+
leastRelease = release;
|
|
15778
|
+
}
|
|
15779
|
+
});
|
|
15780
|
+
return leastRelease;
|
|
15781
|
+
};
|
|
15782
|
+
|
|
14748
15783
|
var _a;
|
|
14749
15784
|
|
|
14750
15785
|
class DataManager {
|
|
@@ -14828,6 +15863,18 @@ DataManager.getFirmwareStatus = features => {
|
|
|
14828
15863
|
return getReleaseStatus(targetDeviceConfigList, currentVersion);
|
|
14829
15864
|
};
|
|
14830
15865
|
|
|
15866
|
+
DataManager.getSysResourcesLatestRelease = features => {
|
|
15867
|
+
var _b, _c, _d;
|
|
15868
|
+
|
|
15869
|
+
const deviceType = getDeviceType(features);
|
|
15870
|
+
const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
|
|
15871
|
+
if (deviceType !== 'pro' && deviceType !== 'touch') return undefined;
|
|
15872
|
+
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
15873
|
+
const currentVersion = deviceFirmwareVersion.join('.');
|
|
15874
|
+
const targetDeviceConfig = targetDeviceConfigList.filter(item => semver__default["default"].gt(item.version.join('.'), currentVersion) && !!item.resource);
|
|
15875
|
+
return (_d = findLatestRelease(targetDeviceConfig)) === null || _d === void 0 ? void 0 : _d.resource;
|
|
15876
|
+
};
|
|
15877
|
+
|
|
14831
15878
|
DataManager.getFirmwareChangelog = features => {
|
|
14832
15879
|
var _b, _c;
|
|
14833
15880
|
|
|
@@ -14843,12 +15890,23 @@ DataManager.getFirmwareChangelog = features => {
|
|
|
14843
15890
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
14844
15891
|
};
|
|
14845
15892
|
|
|
14846
|
-
DataManager.
|
|
15893
|
+
DataManager.getFirmwareLatestRelease = features => {
|
|
14847
15894
|
var _b, _c;
|
|
14848
15895
|
|
|
14849
15896
|
const deviceType = getDeviceType(features);
|
|
14850
15897
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
14851
|
-
|
|
15898
|
+
const target = findLatestRelease(targetDeviceConfigList);
|
|
15899
|
+
if (!target) return target;
|
|
15900
|
+
|
|
15901
|
+
if (!target.resource) {
|
|
15902
|
+
const resource = _a.getSysResourcesLatestRelease(features);
|
|
15903
|
+
|
|
15904
|
+
return Object.assign(Object.assign({}, target), {
|
|
15905
|
+
resource
|
|
15906
|
+
});
|
|
15907
|
+
}
|
|
15908
|
+
|
|
15909
|
+
return target;
|
|
14852
15910
|
};
|
|
14853
15911
|
|
|
14854
15912
|
DataManager.getBLEFirmwareStatus = features => {
|
|
@@ -14881,12 +15939,12 @@ DataManager.getBleFirmwareChangelog = features => {
|
|
|
14881
15939
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
14882
15940
|
};
|
|
14883
15941
|
|
|
14884
|
-
DataManager.
|
|
15942
|
+
DataManager.getBleFirmwareLatestRelease = features => {
|
|
14885
15943
|
var _b, _c;
|
|
14886
15944
|
|
|
14887
15945
|
const deviceType = getDeviceType(features);
|
|
14888
15946
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.ble) !== null && _c !== void 0 ? _c : [];
|
|
14889
|
-
return targetDeviceConfigList
|
|
15947
|
+
return findLatestRelease(targetDeviceConfigList);
|
|
14890
15948
|
};
|
|
14891
15949
|
|
|
14892
15950
|
DataManager.getTransportStatus = localVersion => {
|
|
@@ -15036,7 +16094,7 @@ const createFirmwareMessage = (type, payload) => ({
|
|
|
15036
16094
|
payload
|
|
15037
16095
|
});
|
|
15038
16096
|
|
|
15039
|
-
const Log$
|
|
16097
|
+
const Log$8 = getLogger(exports.d0.DevicePool);
|
|
15040
16098
|
|
|
15041
16099
|
const getDiff = (current, descriptors) => {
|
|
15042
16100
|
const connected = descriptors.filter(d => current.find(x => x.path === d.path) === undefined);
|
|
@@ -15089,7 +16147,7 @@ class DevicePool extends events.exports {
|
|
|
15089
16147
|
var e_1, _a;
|
|
15090
16148
|
|
|
15091
16149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15092
|
-
Log$
|
|
16150
|
+
Log$8.debug('get device list: connectId: ', connectId);
|
|
15093
16151
|
const devices = {};
|
|
15094
16152
|
const deviceList = [];
|
|
15095
16153
|
|
|
@@ -15100,7 +16158,7 @@ class DevicePool extends events.exports {
|
|
|
15100
16158
|
const exist = descriptorList.find(d => d.path === device.originalDescriptor.path);
|
|
15101
16159
|
|
|
15102
16160
|
if (exist) {
|
|
15103
|
-
Log$
|
|
16161
|
+
Log$8.debug('find existed Device: ', connectId);
|
|
15104
16162
|
device.updateDescriptor(exist, true);
|
|
15105
16163
|
devices[connectId] = device;
|
|
15106
16164
|
deviceList.push(device);
|
|
@@ -15111,7 +16169,7 @@ class DevicePool extends events.exports {
|
|
|
15111
16169
|
};
|
|
15112
16170
|
}
|
|
15113
16171
|
|
|
15114
|
-
Log$
|
|
16172
|
+
Log$8.debug('found device in cache, but path is different: ', connectId);
|
|
15115
16173
|
}
|
|
15116
16174
|
}
|
|
15117
16175
|
|
|
@@ -15157,8 +16215,8 @@ class DevicePool extends events.exports {
|
|
|
15157
16215
|
}
|
|
15158
16216
|
|
|
15159
16217
|
static clearDeviceCache(connectId) {
|
|
15160
|
-
Log$
|
|
15161
|
-
Log$
|
|
16218
|
+
Log$8.debug('clear device pool cache: connectId', connectId);
|
|
16219
|
+
Log$8.debug('clear device pool cache: ', this.devicesCache);
|
|
15162
16220
|
|
|
15163
16221
|
if (connectId) {
|
|
15164
16222
|
delete this.devicesCache[connectId];
|
|
@@ -15194,7 +16252,7 @@ class DevicePool extends events.exports {
|
|
|
15194
16252
|
for (let i = this.connectedPool.length - 1; i >= 0; i--) {
|
|
15195
16253
|
const descriptor = this.connectedPool[i];
|
|
15196
16254
|
const device = yield this._createDevice(descriptor, initOptions);
|
|
15197
|
-
Log$
|
|
16255
|
+
Log$8.debug('emit DEVICE.CONNECT: ', device);
|
|
15198
16256
|
this.emitter.emit(DEVICE.CONNECT, device);
|
|
15199
16257
|
this.connectedPool.splice(i, 1);
|
|
15200
16258
|
}
|
|
@@ -15235,7 +16293,7 @@ class DevicePool extends events.exports {
|
|
|
15235
16293
|
return;
|
|
15236
16294
|
}
|
|
15237
16295
|
|
|
15238
|
-
Log$
|
|
16296
|
+
Log$8.debug('emit DEVICE.CONNECT: ', device);
|
|
15239
16297
|
this.emitter.emit(DEVICE.CONNECT, device);
|
|
15240
16298
|
});
|
|
15241
16299
|
diff.disconnected.forEach(d => {
|
|
@@ -15249,7 +16307,7 @@ class DevicePool extends events.exports {
|
|
|
15249
16307
|
return;
|
|
15250
16308
|
}
|
|
15251
16309
|
|
|
15252
|
-
Log$
|
|
16310
|
+
Log$8.debug('emit DEVICE.DISCONNECT: ', device);
|
|
15253
16311
|
this.emitter.emit(DEVICE.DISCONNECT, device);
|
|
15254
16312
|
});
|
|
15255
16313
|
}
|
|
@@ -15296,13 +16354,13 @@ DevicePool.connectedPool = [];
|
|
|
15296
16354
|
DevicePool.disconnectPool = [];
|
|
15297
16355
|
DevicePool.devicesCache = {};
|
|
15298
16356
|
DevicePool.emitter = new events.exports();
|
|
15299
|
-
const Log$
|
|
16357
|
+
const Log$7 = getLogger(exports.d0.Transport);
|
|
15300
16358
|
const BleLogger = getLogger(exports.d0.HdBleTransport);
|
|
15301
16359
|
const HttpLogger = getLogger(exports.d0.HdTransportHttp);
|
|
15302
16360
|
|
|
15303
16361
|
class TransportManager {
|
|
15304
16362
|
static load() {
|
|
15305
|
-
Log$
|
|
16363
|
+
Log$7.debug('transport manager load');
|
|
15306
16364
|
this.defaultMessages = DataManager.getProtobufMessages();
|
|
15307
16365
|
this.currentMessages = this.defaultMessages;
|
|
15308
16366
|
}
|
|
@@ -15311,24 +16369,24 @@ class TransportManager {
|
|
|
15311
16369
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15312
16370
|
try {
|
|
15313
16371
|
const env = DataManager.getSettings('env');
|
|
15314
|
-
Log$
|
|
16372
|
+
Log$7.debug('Initializing transports');
|
|
15315
16373
|
|
|
15316
16374
|
if (env === 'react-native') {
|
|
15317
16375
|
if (!this.reactNativeInit) {
|
|
15318
16376
|
yield this.transport.init(BleLogger, DevicePool.emitter);
|
|
15319
16377
|
this.reactNativeInit = true;
|
|
15320
16378
|
} else {
|
|
15321
|
-
Log$
|
|
16379
|
+
Log$7.debug('React Native Do Not Initializing transports');
|
|
15322
16380
|
}
|
|
15323
16381
|
} else {
|
|
15324
16382
|
yield this.transport.init(HttpLogger);
|
|
15325
16383
|
}
|
|
15326
16384
|
|
|
15327
|
-
Log$
|
|
16385
|
+
Log$7.debug('Configuring transports');
|
|
15328
16386
|
yield this.transport.configure(JSON.stringify(this.defaultMessages));
|
|
15329
|
-
Log$
|
|
16387
|
+
Log$7.debug('Configuring transports done');
|
|
15330
16388
|
} catch (error) {
|
|
15331
|
-
Log$
|
|
16389
|
+
Log$7.debug('Initializing transports error: ', error);
|
|
15332
16390
|
|
|
15333
16391
|
if (error.code === 'ECONNABORTED') {
|
|
15334
16392
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeTimeoutError);
|
|
@@ -15367,7 +16425,7 @@ class TransportManager {
|
|
|
15367
16425
|
this.transport = new TransportConstructor();
|
|
15368
16426
|
}
|
|
15369
16427
|
|
|
15370
|
-
Log$
|
|
16428
|
+
Log$7.debug('set transport: ', this.transport);
|
|
15371
16429
|
}
|
|
15372
16430
|
|
|
15373
16431
|
static getTransport() {
|
|
@@ -15394,7 +16452,7 @@ const assertType = (res, resType) => {
|
|
|
15394
16452
|
}
|
|
15395
16453
|
};
|
|
15396
16454
|
|
|
15397
|
-
const Log$
|
|
16455
|
+
const Log$6 = getLogger(exports.d0.DeviceCommands);
|
|
15398
16456
|
|
|
15399
16457
|
class DeviceCommands {
|
|
15400
16458
|
constructor(device, mainId) {
|
|
@@ -15423,16 +16481,16 @@ class DeviceCommands {
|
|
|
15423
16481
|
var _a, _b;
|
|
15424
16482
|
|
|
15425
16483
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15426
|
-
Log$
|
|
16484
|
+
Log$6.debug('[DeviceCommands] [call] Sending', type);
|
|
15427
16485
|
|
|
15428
16486
|
try {
|
|
15429
16487
|
const promise = this.transport.call(this.mainId, type, msg);
|
|
15430
16488
|
this.callPromise = promise;
|
|
15431
16489
|
const res = yield promise;
|
|
15432
|
-
Log$
|
|
16490
|
+
Log$6.debug('[DeviceCommands] [call] Received', res.type);
|
|
15433
16491
|
return res;
|
|
15434
16492
|
} catch (error) {
|
|
15435
|
-
Log$
|
|
16493
|
+
Log$6.debug('[DeviceCommands] [call] Received error', error);
|
|
15436
16494
|
|
|
15437
16495
|
if (((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === 'device disconnected during action') {
|
|
15438
16496
|
return {
|
|
@@ -15457,7 +16515,7 @@ class DeviceCommands {
|
|
|
15457
16515
|
try {
|
|
15458
16516
|
assertType(response, resType);
|
|
15459
16517
|
} catch (error) {
|
|
15460
|
-
Log$
|
|
16518
|
+
Log$6.debug('DeviceCommands typedcall error: ', error);
|
|
15461
16519
|
|
|
15462
16520
|
if (error instanceof hdShared.HardwareError) {
|
|
15463
16521
|
if (error.errorCode === hdShared.HardwareErrorCode.ResponseUnexpectTypeError) {
|
|
@@ -15482,7 +16540,7 @@ class DeviceCommands {
|
|
|
15482
16540
|
}
|
|
15483
16541
|
|
|
15484
16542
|
_filterCommonTypes(res, callType) {
|
|
15485
|
-
Log$
|
|
16543
|
+
Log$6.debug('_filterCommonTypes: ', res);
|
|
15486
16544
|
|
|
15487
16545
|
if (res.type === 'Failure') {
|
|
15488
16546
|
const {
|
|
@@ -15608,7 +16666,7 @@ class DeviceCommands {
|
|
|
15608
16666
|
}
|
|
15609
16667
|
});
|
|
15610
16668
|
} else {
|
|
15611
|
-
Log$
|
|
16669
|
+
Log$6.error('[DeviceCommands] [call] Passphrase callback not configured, cancelling request');
|
|
15612
16670
|
reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, '_promptPassphrase: Passphrase callback not configured'));
|
|
15613
16671
|
}
|
|
15614
16672
|
});
|
|
@@ -15735,7 +16793,7 @@ const parseRunOptions = options => {
|
|
|
15735
16793
|
return options;
|
|
15736
16794
|
};
|
|
15737
16795
|
|
|
15738
|
-
const Log$
|
|
16796
|
+
const Log$5 = getLogger(exports.d0.Device);
|
|
15739
16797
|
const deviceSessionCache = {};
|
|
15740
16798
|
|
|
15741
16799
|
class Device extends events.exports {
|
|
@@ -15823,10 +16881,10 @@ class Device extends events.exports {
|
|
|
15823
16881
|
if (env === 'react-native') {
|
|
15824
16882
|
const res = yield (_a = this.deviceConnector) === null || _a === void 0 ? void 0 : _a.acquire(this.originalDescriptor.id);
|
|
15825
16883
|
this.mainId = (_b = res.uuid) !== null && _b !== void 0 ? _b : '';
|
|
15826
|
-
Log$
|
|
16884
|
+
Log$5.debug('Expected uuid:', this.mainId);
|
|
15827
16885
|
} else {
|
|
15828
16886
|
this.mainId = yield (_c = this.deviceConnector) === null || _c === void 0 ? void 0 : _c.acquire(this.originalDescriptor.path, this.originalDescriptor.session);
|
|
15829
|
-
Log$
|
|
16887
|
+
Log$5.debug('Expected session id:', this.mainId);
|
|
15830
16888
|
}
|
|
15831
16889
|
|
|
15832
16890
|
this.updateDescriptor({
|
|
@@ -15875,7 +16933,7 @@ class Device extends events.exports {
|
|
|
15875
16933
|
session: null
|
|
15876
16934
|
});
|
|
15877
16935
|
} catch (err) {
|
|
15878
|
-
Log$
|
|
16936
|
+
Log$5.error('[Device] release error: ', err);
|
|
15879
16937
|
} finally {
|
|
15880
16938
|
this.needReloadDevice = true;
|
|
15881
16939
|
}
|
|
@@ -15898,8 +16956,8 @@ class Device extends events.exports {
|
|
|
15898
16956
|
getInternalState(_deviceId) {
|
|
15899
16957
|
var _a, _b;
|
|
15900
16958
|
|
|
15901
|
-
Log$
|
|
15902
|
-
Log$
|
|
16959
|
+
Log$5.debug('getInternalState session param: ', `device_id: ${_deviceId}`, `features.device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
|
|
16960
|
+
Log$5.debug('getInternalState session cache: ', deviceSessionCache);
|
|
15903
16961
|
const deviceId = _deviceId || ((_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id);
|
|
15904
16962
|
if (!deviceId) return undefined;
|
|
15905
16963
|
if (!this.passphraseState) return undefined;
|
|
@@ -15908,7 +16966,7 @@ class Device extends events.exports {
|
|
|
15908
16966
|
}
|
|
15909
16967
|
|
|
15910
16968
|
tryFixInternalState(state, deviceId) {
|
|
15911
|
-
Log$
|
|
16969
|
+
Log$5.debug('tryFixInternalState session param: ', `device_id: ${deviceId}`, `passphraseState: ${state}`);
|
|
15912
16970
|
const key = `${deviceId}`;
|
|
15913
16971
|
const session = deviceSessionCache[key];
|
|
15914
16972
|
|
|
@@ -15917,13 +16975,13 @@ class Device extends events.exports {
|
|
|
15917
16975
|
delete deviceSessionCache[key];
|
|
15918
16976
|
}
|
|
15919
16977
|
|
|
15920
|
-
Log$
|
|
16978
|
+
Log$5.debug('tryFixInternalState session cache: ', deviceSessionCache);
|
|
15921
16979
|
}
|
|
15922
16980
|
|
|
15923
16981
|
setInternalState(state, initSession) {
|
|
15924
16982
|
var _a, _b;
|
|
15925
16983
|
|
|
15926
|
-
Log$
|
|
16984
|
+
Log$5.debug('setInternalState session param: ', `state: ${state}`, `initSession: ${initSession}`, `device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
|
|
15927
16985
|
if (!this.features) return;
|
|
15928
16986
|
if (!this.passphraseState && !initSession) return;
|
|
15929
16987
|
const deviceId = (_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id;
|
|
@@ -15934,13 +16992,13 @@ class Device extends events.exports {
|
|
|
15934
16992
|
deviceSessionCache[key] = state;
|
|
15935
16993
|
}
|
|
15936
16994
|
|
|
15937
|
-
Log$
|
|
16995
|
+
Log$5.debug('setInternalState done session cache: ', deviceSessionCache);
|
|
15938
16996
|
}
|
|
15939
16997
|
|
|
15940
16998
|
clearInternalState(_deviceId) {
|
|
15941
16999
|
var _a;
|
|
15942
17000
|
|
|
15943
|
-
Log$
|
|
17001
|
+
Log$5.debug('clearInternalState param: ', _deviceId);
|
|
15944
17002
|
const deviceId = _deviceId || ((_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id);
|
|
15945
17003
|
if (!deviceId) return;
|
|
15946
17004
|
const key = `${deviceId}`;
|
|
@@ -15954,7 +17012,7 @@ class Device extends events.exports {
|
|
|
15954
17012
|
|
|
15955
17013
|
initialize(options) {
|
|
15956
17014
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15957
|
-
Log$
|
|
17015
|
+
Log$5.debug('initialize param:', options);
|
|
15958
17016
|
this.passphraseState = options === null || options === void 0 ? void 0 : options.passphraseState;
|
|
15959
17017
|
|
|
15960
17018
|
if (options === null || options === void 0 ? void 0 : options.initSession) {
|
|
@@ -15968,7 +17026,7 @@ class Device extends events.exports {
|
|
|
15968
17026
|
payload.session_id = internalState;
|
|
15969
17027
|
}
|
|
15970
17028
|
|
|
15971
|
-
Log$
|
|
17029
|
+
Log$5.debug('initialize payload:', payload);
|
|
15972
17030
|
const {
|
|
15973
17031
|
message
|
|
15974
17032
|
} = yield this.commands.typedCall('Initialize', 'Features', payload);
|
|
@@ -16035,7 +17093,7 @@ class Device extends events.exports {
|
|
|
16035
17093
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16036
17094
|
if (this.runPromise) {
|
|
16037
17095
|
yield this.interruptionFromOutside();
|
|
16038
|
-
Log$
|
|
17096
|
+
Log$5.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
|
|
16039
17097
|
}
|
|
16040
17098
|
|
|
16041
17099
|
options = parseRunOptions(options);
|
|
@@ -16088,7 +17146,7 @@ class Device extends events.exports {
|
|
|
16088
17146
|
if (!this.keepSession && typeof options.keepSession !== 'boolean' || options.keepSession === false) {
|
|
16089
17147
|
this.keepSession = false;
|
|
16090
17148
|
yield this.release();
|
|
16091
|
-
Log$
|
|
17149
|
+
Log$5.debug('release device, mainId: ', this.mainId);
|
|
16092
17150
|
}
|
|
16093
17151
|
|
|
16094
17152
|
if (this.runPromise) {
|
|
@@ -16271,7 +17329,7 @@ class DeviceList extends events.exports {
|
|
|
16271
17329
|
const getFirmwareReleaseInfo = features => {
|
|
16272
17330
|
const firmwareStatus = DataManager.getFirmwareStatus(features);
|
|
16273
17331
|
const changelog = DataManager.getFirmwareChangelog(features);
|
|
16274
|
-
const release = DataManager.
|
|
17332
|
+
const release = DataManager.getFirmwareLatestRelease(features);
|
|
16275
17333
|
return {
|
|
16276
17334
|
status: firmwareStatus,
|
|
16277
17335
|
changelog,
|
|
@@ -16282,7 +17340,7 @@ const getFirmwareReleaseInfo = features => {
|
|
|
16282
17340
|
const getBleFirmwareReleaseInfo = features => {
|
|
16283
17341
|
const firmwareStatus = DataManager.getBLEFirmwareStatus(features);
|
|
16284
17342
|
const changelog = DataManager.getBleFirmwareChangelog(features);
|
|
16285
|
-
const release = DataManager.
|
|
17343
|
+
const release = DataManager.getBleFirmwareLatestRelease(features);
|
|
16286
17344
|
return {
|
|
16287
17345
|
status: firmwareStatus,
|
|
16288
17346
|
changelog,
|
|
@@ -16290,7 +17348,7 @@ const getBleFirmwareReleaseInfo = features => {
|
|
|
16290
17348
|
};
|
|
16291
17349
|
};
|
|
16292
17350
|
|
|
16293
|
-
const Log$
|
|
17351
|
+
const Log$4 = getLogger(exports.d0.Method);
|
|
16294
17352
|
|
|
16295
17353
|
class BaseMethod {
|
|
16296
17354
|
constructor(message) {
|
|
@@ -16353,7 +17411,7 @@ class BaseMethod {
|
|
|
16353
17411
|
}
|
|
16354
17412
|
|
|
16355
17413
|
if (checkFlag && ((_c = this.device.features) === null || _c === void 0 ? void 0 : _c.safety_checks) === 'Strict') {
|
|
16356
|
-
Log$
|
|
17414
|
+
Log$4.debug('will change safety_checks level');
|
|
16357
17415
|
yield this.device.commands.typedCall('ApplySettings', 'Success', {
|
|
16358
17416
|
safety_checks: 'PromptTemporarily'
|
|
16359
17417
|
});
|
|
@@ -16608,10 +17666,21 @@ const formatAnyHex = value => {
|
|
|
16608
17666
|
return value;
|
|
16609
17667
|
};
|
|
16610
17668
|
|
|
16611
|
-
Array.from({
|
|
17669
|
+
const hexes = Array.from({
|
|
16612
17670
|
length: 256
|
|
16613
17671
|
}, (_, i) => i.toString(16).padStart(2, '0'));
|
|
16614
17672
|
|
|
17673
|
+
function bytesToHex(uint8a) {
|
|
17674
|
+
if (!(uint8a instanceof Uint8Array)) throw new Error('Uint8Array expected');
|
|
17675
|
+
let hex = '';
|
|
17676
|
+
|
|
17677
|
+
for (let i = 0; i < uint8a.length; i++) {
|
|
17678
|
+
hex += hexes[uint8a[i]];
|
|
17679
|
+
}
|
|
17680
|
+
|
|
17681
|
+
return hex;
|
|
17682
|
+
}
|
|
17683
|
+
|
|
16615
17684
|
function hexToBytes(hex) {
|
|
16616
17685
|
if (typeof hex !== 'string') {
|
|
16617
17686
|
throw new TypeError(`hexToBytes: expected string, got ${typeof hex}`);
|
|
@@ -16955,6 +18024,109 @@ class DeviceUpdateReboot extends BaseMethod {
|
|
|
16955
18024
|
|
|
16956
18025
|
}
|
|
16957
18026
|
|
|
18027
|
+
class DeviceUploadResource extends BaseMethod {
|
|
18028
|
+
constructor() {
|
|
18029
|
+
super(...arguments);
|
|
18030
|
+
this.paramsData = {
|
|
18031
|
+
data: new Uint8Array(),
|
|
18032
|
+
thumbnailData: new Uint8Array()
|
|
18033
|
+
};
|
|
18034
|
+
|
|
18035
|
+
this.processResourceRequest = res => __awaiter(this, void 0, void 0, function* () {
|
|
18036
|
+
if (res.type === 'Success') {
|
|
18037
|
+
return res.message;
|
|
18038
|
+
}
|
|
18039
|
+
|
|
18040
|
+
const {
|
|
18041
|
+
offset,
|
|
18042
|
+
data_length
|
|
18043
|
+
} = res.message;
|
|
18044
|
+
const {
|
|
18045
|
+
data,
|
|
18046
|
+
thumbnailData
|
|
18047
|
+
} = this.paramsData;
|
|
18048
|
+
|
|
18049
|
+
if (offset === undefined) {
|
|
18050
|
+
throw new Error('offset is undefined');
|
|
18051
|
+
}
|
|
18052
|
+
|
|
18053
|
+
let payload;
|
|
18054
|
+
|
|
18055
|
+
if (res.type === 'ResourceRequest') {
|
|
18056
|
+
payload = new Uint8Array(data.slice(offset, Math.min(offset + data_length, data.byteLength)));
|
|
18057
|
+
} else {
|
|
18058
|
+
payload = new Uint8Array(thumbnailData.slice(offset, Math.min(offset + data_length, thumbnailData.byteLength)));
|
|
18059
|
+
}
|
|
18060
|
+
|
|
18061
|
+
const digest = blake2s.blake2s(payload);
|
|
18062
|
+
const resourceAckParams = {
|
|
18063
|
+
data_chunk: utils.bytesToHex(payload),
|
|
18064
|
+
hash: utils.bytesToHex(digest)
|
|
18065
|
+
};
|
|
18066
|
+
const response = yield this.device.commands.typedCall('ResourceAck', ['ResourceRequest', 'ZoomRequest', 'Success'], resourceAckParams);
|
|
18067
|
+
return this.processResourceRequest(response);
|
|
18068
|
+
});
|
|
18069
|
+
}
|
|
18070
|
+
|
|
18071
|
+
getVersionRange() {
|
|
18072
|
+
return {
|
|
18073
|
+
model_touch: {
|
|
18074
|
+
min: '3.2.0'
|
|
18075
|
+
}
|
|
18076
|
+
};
|
|
18077
|
+
}
|
|
18078
|
+
|
|
18079
|
+
init() {
|
|
18080
|
+
this.useDevicePassphraseState = false;
|
|
18081
|
+
validateParams(this.payload, [{
|
|
18082
|
+
name: 'suffix',
|
|
18083
|
+
type: 'string',
|
|
18084
|
+
required: true
|
|
18085
|
+
}, {
|
|
18086
|
+
name: 'dataHex',
|
|
18087
|
+
type: 'string',
|
|
18088
|
+
required: true
|
|
18089
|
+
}, {
|
|
18090
|
+
name: 'thumbnailDataHex',
|
|
18091
|
+
type: 'string',
|
|
18092
|
+
required: true
|
|
18093
|
+
}, {
|
|
18094
|
+
name: 'resType',
|
|
18095
|
+
type: 'number',
|
|
18096
|
+
required: true
|
|
18097
|
+
}, {
|
|
18098
|
+
name: 'nftMetaData',
|
|
18099
|
+
type: 'string'
|
|
18100
|
+
}]);
|
|
18101
|
+
const {
|
|
18102
|
+
suffix,
|
|
18103
|
+
dataHex,
|
|
18104
|
+
thumbnailDataHex,
|
|
18105
|
+
resType,
|
|
18106
|
+
nftMetaData
|
|
18107
|
+
} = this.payload;
|
|
18108
|
+
this.paramsData = {
|
|
18109
|
+
data: hexToBytes(dataHex),
|
|
18110
|
+
thumbnailData: hexToBytes(thumbnailDataHex)
|
|
18111
|
+
};
|
|
18112
|
+
this.params = {
|
|
18113
|
+
extension: suffix,
|
|
18114
|
+
data_length: this.paramsData.data.byteLength,
|
|
18115
|
+
zoom_data_length: this.paramsData.thumbnailData.byteLength,
|
|
18116
|
+
res_type: resType,
|
|
18117
|
+
nft_meta_data: nftMetaData
|
|
18118
|
+
};
|
|
18119
|
+
}
|
|
18120
|
+
|
|
18121
|
+
run() {
|
|
18122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18123
|
+
const res = yield this.device.commands.typedCall('ResourceUpload', ['ResourceRequest', 'ZoomRequest', 'Success'], this.params);
|
|
18124
|
+
return this.processResourceRequest(res);
|
|
18125
|
+
});
|
|
18126
|
+
}
|
|
18127
|
+
|
|
18128
|
+
}
|
|
18129
|
+
|
|
16958
18130
|
class DeviceSupportFeatures extends BaseMethod {
|
|
16959
18131
|
init() {
|
|
16960
18132
|
this.useDevicePassphraseState = false;
|
|
@@ -16990,7 +18162,7 @@ class DeviceVerify extends BaseMethod {
|
|
|
16990
18162
|
|
|
16991
18163
|
if (deviceType === 'classic') {
|
|
16992
18164
|
const res = yield this.device.commands.typedCall('BixinVerifyDeviceRequest', 'BixinVerifyDeviceAck', Object.assign(Object.assign({}, this.params), {
|
|
16993
|
-
data:
|
|
18165
|
+
data: utils.bytesToHex(sha256.sha256(this.params.data))
|
|
16994
18166
|
}));
|
|
16995
18167
|
response = res.message;
|
|
16996
18168
|
} else {
|
|
@@ -17057,20 +18229,36 @@ const getBinary = ({
|
|
|
17057
18229
|
});
|
|
17058
18230
|
});
|
|
17059
18231
|
|
|
18232
|
+
const getSysResourceBinary = url => __awaiter(void 0, void 0, void 0, function* () {
|
|
18233
|
+
let fw;
|
|
18234
|
+
|
|
18235
|
+
try {
|
|
18236
|
+
fw = yield httpRequest(url, 'binary');
|
|
18237
|
+
} catch (_b) {
|
|
18238
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'Method_FirmwareUpdate_DownloadFailed');
|
|
18239
|
+
}
|
|
18240
|
+
|
|
18241
|
+
return {
|
|
18242
|
+
binary: fw
|
|
18243
|
+
};
|
|
18244
|
+
});
|
|
18245
|
+
|
|
17060
18246
|
const getInfo = ({
|
|
17061
18247
|
features,
|
|
17062
18248
|
updateType
|
|
17063
18249
|
}) => {
|
|
17064
|
-
var _a, _b
|
|
18250
|
+
var _a, _b;
|
|
17065
18251
|
|
|
17066
18252
|
const deviceType = getDeviceType(features);
|
|
17067
18253
|
const {
|
|
17068
18254
|
deviceMap
|
|
17069
18255
|
} = DataManager;
|
|
17070
|
-
const releaseInfo = (
|
|
17071
|
-
return releaseInfo;
|
|
18256
|
+
const releaseInfo = (_b = (_a = deviceMap === null || deviceMap === void 0 ? void 0 : deviceMap[deviceType]) === null || _a === void 0 ? void 0 : _a[updateType]) !== null && _b !== void 0 ? _b : [];
|
|
18257
|
+
return findLatestRelease(releaseInfo);
|
|
17072
18258
|
};
|
|
17073
18259
|
|
|
18260
|
+
const Log$3 = getLogger(exports.d0.Device);
|
|
18261
|
+
|
|
17074
18262
|
const postConfirmationMessage = device => {
|
|
17075
18263
|
var _a;
|
|
17076
18264
|
|
|
@@ -17097,6 +18285,12 @@ const postProgressTip = (device, message, postMessage) => {
|
|
|
17097
18285
|
}));
|
|
17098
18286
|
};
|
|
17099
18287
|
|
|
18288
|
+
const waitBleInstall = updateType => __awaiter(void 0, void 0, void 0, function* () {
|
|
18289
|
+
if (updateType === 'ble') {
|
|
18290
|
+
yield wait(10 * 1000);
|
|
18291
|
+
}
|
|
18292
|
+
});
|
|
18293
|
+
|
|
17100
18294
|
const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
17101
18295
|
payload
|
|
17102
18296
|
}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -17115,6 +18309,7 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
17115
18309
|
payload
|
|
17116
18310
|
});
|
|
17117
18311
|
postProgressMessage(device, 100, postMessage);
|
|
18312
|
+
yield waitBleInstall(updateType);
|
|
17118
18313
|
return message;
|
|
17119
18314
|
}
|
|
17120
18315
|
|
|
@@ -17142,12 +18337,80 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
17142
18337
|
}
|
|
17143
18338
|
|
|
17144
18339
|
postProgressMessage(device, 100, postMessage);
|
|
18340
|
+
yield waitBleInstall(updateType);
|
|
17145
18341
|
return response.message;
|
|
17146
18342
|
}
|
|
17147
18343
|
|
|
17148
18344
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'uploadFirmware: unknown major_version');
|
|
17149
18345
|
});
|
|
17150
18346
|
|
|
18347
|
+
const processResourceRequest = (typedCall, res, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18348
|
+
if (res.type === 'Success') {
|
|
18349
|
+
return res.message;
|
|
18350
|
+
}
|
|
18351
|
+
|
|
18352
|
+
const {
|
|
18353
|
+
offset,
|
|
18354
|
+
data_length
|
|
18355
|
+
} = res.message;
|
|
18356
|
+
|
|
18357
|
+
if (offset === undefined) {
|
|
18358
|
+
throw new Error('offset is undefined');
|
|
18359
|
+
}
|
|
18360
|
+
|
|
18361
|
+
const payload = new Uint8Array(data.slice(offset, Math.min(offset + data_length, data.byteLength)));
|
|
18362
|
+
const digest = blake2s.blake2s(payload);
|
|
18363
|
+
const resourceAckParams = {
|
|
18364
|
+
data_chunk: bytesToHex(payload),
|
|
18365
|
+
hash: bytesToHex(digest)
|
|
18366
|
+
};
|
|
18367
|
+
const response = yield typedCall('ResourceAck', ['ResourceRequest', 'Success'], Object.assign({}, resourceAckParams));
|
|
18368
|
+
return processResourceRequest(typedCall, response, data);
|
|
18369
|
+
});
|
|
18370
|
+
|
|
18371
|
+
const INIT_DATA_CHUNK_SIZE = 16 * 1024;
|
|
18372
|
+
|
|
18373
|
+
const updateResource = (typedCall, fileName, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18374
|
+
const chunk = new Uint8Array(data.slice(0, Math.min(INIT_DATA_CHUNK_SIZE, data.byteLength)));
|
|
18375
|
+
const digest = blake2s.blake2s(chunk);
|
|
18376
|
+
const res = yield typedCall('ResourceUpdate', ['ResourceRequest', 'Success'], {
|
|
18377
|
+
file_name: fileName,
|
|
18378
|
+
data_length: data.byteLength,
|
|
18379
|
+
initial_data_chunk: bytesToHex(chunk),
|
|
18380
|
+
hash: bytesToHex(digest)
|
|
18381
|
+
});
|
|
18382
|
+
return processResourceRequest(typedCall, res, data);
|
|
18383
|
+
});
|
|
18384
|
+
|
|
18385
|
+
const updateResources = (typedCall, postMessage, device, source) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18386
|
+
postProgressTip(device, 'UpdateSysResource', postMessage);
|
|
18387
|
+
const zipData = yield JSZip__default["default"].loadAsync(source);
|
|
18388
|
+
const files = Object.entries(zipData.files);
|
|
18389
|
+
let progress = 0;
|
|
18390
|
+
const stepProgress = 100 / files.length;
|
|
18391
|
+
|
|
18392
|
+
for (const [fileName, file] of files) {
|
|
18393
|
+
const name = fileName.split('/').pop();
|
|
18394
|
+
|
|
18395
|
+
if (!file.dir && fileName.indexOf('__MACOSX') === -1 && name) {
|
|
18396
|
+
const data = yield file.async('arraybuffer');
|
|
18397
|
+
|
|
18398
|
+
try {
|
|
18399
|
+
yield updateResource(typedCall, name, data);
|
|
18400
|
+
} catch (error) {
|
|
18401
|
+
Log$3.error(error);
|
|
18402
|
+
}
|
|
18403
|
+
}
|
|
18404
|
+
|
|
18405
|
+
progress += stepProgress;
|
|
18406
|
+
postProgressMessage(device, Math.floor(progress), postMessage);
|
|
18407
|
+
}
|
|
18408
|
+
|
|
18409
|
+
postProgressMessage(device, 100, postMessage);
|
|
18410
|
+
postProgressTip(device, 'UpdateSysResourceSuccess', postMessage);
|
|
18411
|
+
return true;
|
|
18412
|
+
});
|
|
18413
|
+
|
|
17151
18414
|
class FirmwareUpdate$1 extends BaseMethod {
|
|
17152
18415
|
init() {
|
|
17153
18416
|
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
|
|
@@ -17300,6 +18563,21 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
17300
18563
|
}, 30000);
|
|
17301
18564
|
}
|
|
17302
18565
|
|
|
18566
|
+
isEnteredManuallyBoot(features) {
|
|
18567
|
+
const deviceType = getDeviceType(features);
|
|
18568
|
+
const isMini = deviceType === 'mini';
|
|
18569
|
+
const isBoot183ClassicUpBle = this.params.updateType === 'firmware' && deviceType === 'classic' && features.bootloader_version === '1.8.3';
|
|
18570
|
+
return isMini || isBoot183ClassicUpBle;
|
|
18571
|
+
}
|
|
18572
|
+
|
|
18573
|
+
isSupportResourceUpdate(features, updateType) {
|
|
18574
|
+
if (updateType !== 'firmware') return false;
|
|
18575
|
+
const deviceType = getDeviceType(features);
|
|
18576
|
+
const isTouchMode = deviceType === 'touch' || deviceType === 'pro';
|
|
18577
|
+
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
18578
|
+
return isTouchMode && semver__default["default"].gte(currentVersion, '3.2.0');
|
|
18579
|
+
}
|
|
18580
|
+
|
|
17303
18581
|
run() {
|
|
17304
18582
|
var _a, _b;
|
|
17305
18583
|
|
|
@@ -17313,17 +18591,32 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
17313
18591
|
commands
|
|
17314
18592
|
} = device;
|
|
17315
18593
|
|
|
17316
|
-
if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode)) {
|
|
18594
|
+
if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode) && features) {
|
|
17317
18595
|
const uuid = getDeviceUUID(features);
|
|
17318
18596
|
const deviceType = getDeviceType(features);
|
|
17319
18597
|
|
|
17320
|
-
if (
|
|
17321
|
-
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.
|
|
18598
|
+
if (this.isEnteredManuallyBoot(features)) {
|
|
18599
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateManuallyEnterBoot));
|
|
18600
|
+
}
|
|
18601
|
+
|
|
18602
|
+
if (features && this.isSupportResourceUpdate(features, params.updateType)) {
|
|
18603
|
+
this.postTipMessage('CheckLatestUiResource');
|
|
18604
|
+
const resourceUrl = DataManager.getSysResourcesLatestRelease(features);
|
|
18605
|
+
|
|
18606
|
+
if (resourceUrl) {
|
|
18607
|
+
this.postTipMessage('DownloadLatestUiResource');
|
|
18608
|
+
const resource = yield getSysResourceBinary(resourceUrl);
|
|
18609
|
+
this.postTipMessage('DownloadLatestUiResourceSuccess');
|
|
18610
|
+
|
|
18611
|
+
if (resource) {
|
|
18612
|
+
yield updateResources(this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, resource.binary);
|
|
18613
|
+
}
|
|
18614
|
+
}
|
|
17322
18615
|
}
|
|
17323
18616
|
|
|
17324
18617
|
try {
|
|
17325
18618
|
this.postTipMessage('AutoRebootToBootloader');
|
|
17326
|
-
yield commands.typedCall('
|
|
18619
|
+
yield commands.typedCall('DeviceBackToBoot', 'Success');
|
|
17327
18620
|
this.postTipMessage('GoToBootloaderSuccess');
|
|
17328
18621
|
this.checkDeviceToBootloader();
|
|
17329
18622
|
|
|
@@ -17336,8 +18629,12 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
17336
18629
|
this.checkPromise = null;
|
|
17337
18630
|
yield wait(1500);
|
|
17338
18631
|
} catch (e) {
|
|
18632
|
+
if (e instanceof hdShared.HardwareError) {
|
|
18633
|
+
return Promise.reject(e);
|
|
18634
|
+
}
|
|
18635
|
+
|
|
17339
18636
|
console.log('auto go to bootloader mode failed: ', e);
|
|
17340
|
-
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.
|
|
18637
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure));
|
|
17341
18638
|
}
|
|
17342
18639
|
}
|
|
17343
18640
|
|
|
@@ -20943,10 +22240,6 @@ class NearSignTransaction extends BaseMethod {
|
|
|
20943
22240
|
|
|
20944
22241
|
}
|
|
20945
22242
|
|
|
20946
|
-
const {
|
|
20947
|
-
sha3_256: sha3Hash
|
|
20948
|
-
} = sha3__default["default"];
|
|
20949
|
-
|
|
20950
22243
|
class AptosGetAddress extends BaseMethod {
|
|
20951
22244
|
constructor() {
|
|
20952
22245
|
super(...arguments);
|
|
@@ -20987,10 +22280,10 @@ class AptosGetAddress extends BaseMethod {
|
|
|
20987
22280
|
}
|
|
20988
22281
|
|
|
20989
22282
|
publicKeyToAddress(publicKey) {
|
|
20990
|
-
const hash =
|
|
22283
|
+
const hash = sha3.sha3_256.create();
|
|
20991
22284
|
hash.update(hexToBytes(publicKey));
|
|
20992
22285
|
hash.update('\x00');
|
|
20993
|
-
return hash.
|
|
22286
|
+
return `0x${utils.bytesToHex(hash.digest())}`;
|
|
20994
22287
|
}
|
|
20995
22288
|
|
|
20996
22289
|
getVersionRange() {
|
|
@@ -21159,6 +22452,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
|
|
|
21159
22452
|
deviceReset: DeviceReset,
|
|
21160
22453
|
deviceSettings: DeviceSettings,
|
|
21161
22454
|
deviceUpdateReboot: DeviceUpdateReboot,
|
|
22455
|
+
deviceUploadResource: DeviceUploadResource,
|
|
21162
22456
|
deviceSupportFeatures: DeviceSupportFeatures,
|
|
21163
22457
|
deviceVerify: DeviceVerify,
|
|
21164
22458
|
deviceWipe: DeviceWipe,
|
|
@@ -23332,6 +24626,8 @@ const HardwareErrorCode = {
|
|
|
23332
24626
|
CallMethodNeedUpgradeFirmware: 407,
|
|
23333
24627
|
CallMethodDeprecated: 408,
|
|
23334
24628
|
FirmwareUpdateLimitOneDevice: 409,
|
|
24629
|
+
FirmwareUpdateManuallyEnterBoot: 410,
|
|
24630
|
+
FirmwareUpdateAutoEnterBootFailure: 411,
|
|
23335
24631
|
NetworkError: 500,
|
|
23336
24632
|
TransportNotConfigured: 600,
|
|
23337
24633
|
TransportCallInProgress: 601,
|
|
@@ -23393,6 +24689,8 @@ const HardwareErrorCodeMessage = {
|
|
|
23393
24689
|
[HardwareErrorCode.CallMethodNeedUpgradeFirmware]: 'Call method need upgrade firmware',
|
|
23394
24690
|
[HardwareErrorCode.CallMethodDeprecated]: 'Call method is deprecated',
|
|
23395
24691
|
[HardwareErrorCode.FirmwareUpdateLimitOneDevice]: 'Only one device can be connected during firmware upgrade',
|
|
24692
|
+
[HardwareErrorCode.FirmwareUpdateManuallyEnterBoot]: 'You need to manually enter boot',
|
|
24693
|
+
[HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure]: 'Description Failed to automatically enter boot',
|
|
23396
24694
|
[HardwareErrorCode.NetworkError]: 'Network request error',
|
|
23397
24695
|
[HardwareErrorCode.TransportNotConfigured]: 'Transport not configured',
|
|
23398
24696
|
[HardwareErrorCode.TransportCallInProgress]: 'Transport call in progress',
|
|
@@ -34171,1193 +35469,22 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
|
|
|
34171
35469
|
|
|
34172
35470
|
/***/ }),
|
|
34173
35471
|
|
|
34174
|
-
/***/
|
|
34175
|
-
/***/ ((module,
|
|
34176
|
-
|
|
34177
|
-
var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
34178
|
-
* [js-sha256]{@link https://github.com/emn178/js-sha256}
|
|
34179
|
-
*
|
|
34180
|
-
* @version 0.9.0
|
|
34181
|
-
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
34182
|
-
* @copyright Chen, Yi-Cyuan 2014-2017
|
|
34183
|
-
* @license MIT
|
|
34184
|
-
*/
|
|
34185
|
-
/*jslint bitwise: true */
|
|
34186
|
-
(function () {
|
|
34187
|
-
'use strict';
|
|
34188
|
-
|
|
34189
|
-
var ERROR = 'input is invalid type';
|
|
34190
|
-
var WINDOW = typeof window === 'object';
|
|
34191
|
-
var root = WINDOW ? window : {};
|
|
34192
|
-
if (root.JS_SHA256_NO_WINDOW) {
|
|
34193
|
-
WINDOW = false;
|
|
34194
|
-
}
|
|
34195
|
-
var WEB_WORKER = !WINDOW && typeof self === 'object';
|
|
34196
|
-
var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
|
|
34197
|
-
if (NODE_JS) {
|
|
34198
|
-
root = __webpack_require__.g;
|
|
34199
|
-
} else if (WEB_WORKER) {
|
|
34200
|
-
root = self;
|
|
34201
|
-
}
|
|
34202
|
-
var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && "object" === 'object' && module.exports;
|
|
34203
|
-
var AMD = true && __webpack_require__.amdO;
|
|
34204
|
-
var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
|
|
34205
|
-
var HEX_CHARS = '0123456789abcdef'.split('');
|
|
34206
|
-
var EXTRA = [-2147483648, 8388608, 32768, 128];
|
|
34207
|
-
var SHIFT = [24, 16, 8, 0];
|
|
34208
|
-
var K = [
|
|
34209
|
-
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
34210
|
-
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
34211
|
-
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
34212
|
-
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
34213
|
-
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
34214
|
-
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
34215
|
-
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
34216
|
-
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
|
34217
|
-
];
|
|
34218
|
-
var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];
|
|
34219
|
-
|
|
34220
|
-
var blocks = [];
|
|
34221
|
-
|
|
34222
|
-
if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {
|
|
34223
|
-
Array.isArray = function (obj) {
|
|
34224
|
-
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
34225
|
-
};
|
|
34226
|
-
}
|
|
34227
|
-
|
|
34228
|
-
if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
|
|
34229
|
-
ArrayBuffer.isView = function (obj) {
|
|
34230
|
-
return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;
|
|
34231
|
-
};
|
|
34232
|
-
}
|
|
34233
|
-
|
|
34234
|
-
var createOutputMethod = function (outputType, is224) {
|
|
34235
|
-
return function (message) {
|
|
34236
|
-
return new Sha256(is224, true).update(message)[outputType]();
|
|
34237
|
-
};
|
|
34238
|
-
};
|
|
34239
|
-
|
|
34240
|
-
var createMethod = function (is224) {
|
|
34241
|
-
var method = createOutputMethod('hex', is224);
|
|
34242
|
-
if (NODE_JS) {
|
|
34243
|
-
method = nodeWrap(method, is224);
|
|
34244
|
-
}
|
|
34245
|
-
method.create = function () {
|
|
34246
|
-
return new Sha256(is224);
|
|
34247
|
-
};
|
|
34248
|
-
method.update = function (message) {
|
|
34249
|
-
return method.create().update(message);
|
|
34250
|
-
};
|
|
34251
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
34252
|
-
var type = OUTPUT_TYPES[i];
|
|
34253
|
-
method[type] = createOutputMethod(type, is224);
|
|
34254
|
-
}
|
|
34255
|
-
return method;
|
|
34256
|
-
};
|
|
34257
|
-
|
|
34258
|
-
var nodeWrap = function (method, is224) {
|
|
34259
|
-
var crypto = eval("require('crypto')");
|
|
34260
|
-
var Buffer = eval("require('buffer').Buffer");
|
|
34261
|
-
var algorithm = is224 ? 'sha224' : 'sha256';
|
|
34262
|
-
var nodeMethod = function (message) {
|
|
34263
|
-
if (typeof message === 'string') {
|
|
34264
|
-
return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');
|
|
34265
|
-
} else {
|
|
34266
|
-
if (message === null || message === undefined) {
|
|
34267
|
-
throw new Error(ERROR);
|
|
34268
|
-
} else if (message.constructor === ArrayBuffer) {
|
|
34269
|
-
message = new Uint8Array(message);
|
|
34270
|
-
}
|
|
34271
|
-
}
|
|
34272
|
-
if (Array.isArray(message) || ArrayBuffer.isView(message) ||
|
|
34273
|
-
message.constructor === Buffer) {
|
|
34274
|
-
return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');
|
|
34275
|
-
} else {
|
|
34276
|
-
return method(message);
|
|
34277
|
-
}
|
|
34278
|
-
};
|
|
34279
|
-
return nodeMethod;
|
|
34280
|
-
};
|
|
34281
|
-
|
|
34282
|
-
var createHmacOutputMethod = function (outputType, is224) {
|
|
34283
|
-
return function (key, message) {
|
|
34284
|
-
return new HmacSha256(key, is224, true).update(message)[outputType]();
|
|
34285
|
-
};
|
|
34286
|
-
};
|
|
34287
|
-
|
|
34288
|
-
var createHmacMethod = function (is224) {
|
|
34289
|
-
var method = createHmacOutputMethod('hex', is224);
|
|
34290
|
-
method.create = function (key) {
|
|
34291
|
-
return new HmacSha256(key, is224);
|
|
34292
|
-
};
|
|
34293
|
-
method.update = function (key, message) {
|
|
34294
|
-
return method.create(key).update(message);
|
|
34295
|
-
};
|
|
34296
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
34297
|
-
var type = OUTPUT_TYPES[i];
|
|
34298
|
-
method[type] = createHmacOutputMethod(type, is224);
|
|
34299
|
-
}
|
|
34300
|
-
return method;
|
|
34301
|
-
};
|
|
34302
|
-
|
|
34303
|
-
function Sha256(is224, sharedMemory) {
|
|
34304
|
-
if (sharedMemory) {
|
|
34305
|
-
blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
34306
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
34307
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
34308
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
34309
|
-
this.blocks = blocks;
|
|
34310
|
-
} else {
|
|
34311
|
-
this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
34312
|
-
}
|
|
34313
|
-
|
|
34314
|
-
if (is224) {
|
|
34315
|
-
this.h0 = 0xc1059ed8;
|
|
34316
|
-
this.h1 = 0x367cd507;
|
|
34317
|
-
this.h2 = 0x3070dd17;
|
|
34318
|
-
this.h3 = 0xf70e5939;
|
|
34319
|
-
this.h4 = 0xffc00b31;
|
|
34320
|
-
this.h5 = 0x68581511;
|
|
34321
|
-
this.h6 = 0x64f98fa7;
|
|
34322
|
-
this.h7 = 0xbefa4fa4;
|
|
34323
|
-
} else { // 256
|
|
34324
|
-
this.h0 = 0x6a09e667;
|
|
34325
|
-
this.h1 = 0xbb67ae85;
|
|
34326
|
-
this.h2 = 0x3c6ef372;
|
|
34327
|
-
this.h3 = 0xa54ff53a;
|
|
34328
|
-
this.h4 = 0x510e527f;
|
|
34329
|
-
this.h5 = 0x9b05688c;
|
|
34330
|
-
this.h6 = 0x1f83d9ab;
|
|
34331
|
-
this.h7 = 0x5be0cd19;
|
|
34332
|
-
}
|
|
34333
|
-
|
|
34334
|
-
this.block = this.start = this.bytes = this.hBytes = 0;
|
|
34335
|
-
this.finalized = this.hashed = false;
|
|
34336
|
-
this.first = true;
|
|
34337
|
-
this.is224 = is224;
|
|
34338
|
-
}
|
|
34339
|
-
|
|
34340
|
-
Sha256.prototype.update = function (message) {
|
|
34341
|
-
if (this.finalized) {
|
|
34342
|
-
return;
|
|
34343
|
-
}
|
|
34344
|
-
var notString, type = typeof message;
|
|
34345
|
-
if (type !== 'string') {
|
|
34346
|
-
if (type === 'object') {
|
|
34347
|
-
if (message === null) {
|
|
34348
|
-
throw new Error(ERROR);
|
|
34349
|
-
} else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
|
|
34350
|
-
message = new Uint8Array(message);
|
|
34351
|
-
} else if (!Array.isArray(message)) {
|
|
34352
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
|
|
34353
|
-
throw new Error(ERROR);
|
|
34354
|
-
}
|
|
34355
|
-
}
|
|
34356
|
-
} else {
|
|
34357
|
-
throw new Error(ERROR);
|
|
34358
|
-
}
|
|
34359
|
-
notString = true;
|
|
34360
|
-
}
|
|
34361
|
-
var code, index = 0, i, length = message.length, blocks = this.blocks;
|
|
34362
|
-
|
|
34363
|
-
while (index < length) {
|
|
34364
|
-
if (this.hashed) {
|
|
34365
|
-
this.hashed = false;
|
|
34366
|
-
blocks[0] = this.block;
|
|
34367
|
-
blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
34368
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
34369
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
34370
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
34371
|
-
}
|
|
34372
|
-
|
|
34373
|
-
if (notString) {
|
|
34374
|
-
for (i = this.start; index < length && i < 64; ++index) {
|
|
34375
|
-
blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
|
|
34376
|
-
}
|
|
34377
|
-
} else {
|
|
34378
|
-
for (i = this.start; index < length && i < 64; ++index) {
|
|
34379
|
-
code = message.charCodeAt(index);
|
|
34380
|
-
if (code < 0x80) {
|
|
34381
|
-
blocks[i >> 2] |= code << SHIFT[i++ & 3];
|
|
34382
|
-
} else if (code < 0x800) {
|
|
34383
|
-
blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
|
|
34384
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34385
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34386
|
-
blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
|
|
34387
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34388
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34389
|
-
} else {
|
|
34390
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
|
|
34391
|
-
blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
|
|
34392
|
-
blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
|
|
34393
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34394
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34395
|
-
}
|
|
34396
|
-
}
|
|
34397
|
-
}
|
|
34398
|
-
|
|
34399
|
-
this.lastByteIndex = i;
|
|
34400
|
-
this.bytes += i - this.start;
|
|
34401
|
-
if (i >= 64) {
|
|
34402
|
-
this.block = blocks[16];
|
|
34403
|
-
this.start = i - 64;
|
|
34404
|
-
this.hash();
|
|
34405
|
-
this.hashed = true;
|
|
34406
|
-
} else {
|
|
34407
|
-
this.start = i;
|
|
34408
|
-
}
|
|
34409
|
-
}
|
|
34410
|
-
if (this.bytes > 4294967295) {
|
|
34411
|
-
this.hBytes += this.bytes / 4294967296 << 0;
|
|
34412
|
-
this.bytes = this.bytes % 4294967296;
|
|
34413
|
-
}
|
|
34414
|
-
return this;
|
|
34415
|
-
};
|
|
34416
|
-
|
|
34417
|
-
Sha256.prototype.finalize = function () {
|
|
34418
|
-
if (this.finalized) {
|
|
34419
|
-
return;
|
|
34420
|
-
}
|
|
34421
|
-
this.finalized = true;
|
|
34422
|
-
var blocks = this.blocks, i = this.lastByteIndex;
|
|
34423
|
-
blocks[16] = this.block;
|
|
34424
|
-
blocks[i >> 2] |= EXTRA[i & 3];
|
|
34425
|
-
this.block = blocks[16];
|
|
34426
|
-
if (i >= 56) {
|
|
34427
|
-
if (!this.hashed) {
|
|
34428
|
-
this.hash();
|
|
34429
|
-
}
|
|
34430
|
-
blocks[0] = this.block;
|
|
34431
|
-
blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
34432
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
34433
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
34434
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
34435
|
-
}
|
|
34436
|
-
blocks[14] = this.hBytes << 3 | this.bytes >>> 29;
|
|
34437
|
-
blocks[15] = this.bytes << 3;
|
|
34438
|
-
this.hash();
|
|
34439
|
-
};
|
|
34440
|
-
|
|
34441
|
-
Sha256.prototype.hash = function () {
|
|
34442
|
-
var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,
|
|
34443
|
-
h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;
|
|
34444
|
-
|
|
34445
|
-
for (j = 16; j < 64; ++j) {
|
|
34446
|
-
// rightrotate
|
|
34447
|
-
t1 = blocks[j - 15];
|
|
34448
|
-
s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);
|
|
34449
|
-
t1 = blocks[j - 2];
|
|
34450
|
-
s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);
|
|
34451
|
-
blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;
|
|
34452
|
-
}
|
|
34453
|
-
|
|
34454
|
-
bc = b & c;
|
|
34455
|
-
for (j = 0; j < 64; j += 4) {
|
|
34456
|
-
if (this.first) {
|
|
34457
|
-
if (this.is224) {
|
|
34458
|
-
ab = 300032;
|
|
34459
|
-
t1 = blocks[0] - 1413257819;
|
|
34460
|
-
h = t1 - 150054599 << 0;
|
|
34461
|
-
d = t1 + 24177077 << 0;
|
|
34462
|
-
} else {
|
|
34463
|
-
ab = 704751109;
|
|
34464
|
-
t1 = blocks[0] - 210244248;
|
|
34465
|
-
h = t1 - 1521486534 << 0;
|
|
34466
|
-
d = t1 + 143694565 << 0;
|
|
34467
|
-
}
|
|
34468
|
-
this.first = false;
|
|
34469
|
-
} else {
|
|
34470
|
-
s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));
|
|
34471
|
-
s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));
|
|
34472
|
-
ab = a & b;
|
|
34473
|
-
maj = ab ^ (a & c) ^ bc;
|
|
34474
|
-
ch = (e & f) ^ (~e & g);
|
|
34475
|
-
t1 = h + s1 + ch + K[j] + blocks[j];
|
|
34476
|
-
t2 = s0 + maj;
|
|
34477
|
-
h = d + t1 << 0;
|
|
34478
|
-
d = t1 + t2 << 0;
|
|
34479
|
-
}
|
|
34480
|
-
s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));
|
|
34481
|
-
s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));
|
|
34482
|
-
da = d & a;
|
|
34483
|
-
maj = da ^ (d & b) ^ ab;
|
|
34484
|
-
ch = (h & e) ^ (~h & f);
|
|
34485
|
-
t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];
|
|
34486
|
-
t2 = s0 + maj;
|
|
34487
|
-
g = c + t1 << 0;
|
|
34488
|
-
c = t1 + t2 << 0;
|
|
34489
|
-
s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));
|
|
34490
|
-
s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));
|
|
34491
|
-
cd = c & d;
|
|
34492
|
-
maj = cd ^ (c & a) ^ da;
|
|
34493
|
-
ch = (g & h) ^ (~g & e);
|
|
34494
|
-
t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];
|
|
34495
|
-
t2 = s0 + maj;
|
|
34496
|
-
f = b + t1 << 0;
|
|
34497
|
-
b = t1 + t2 << 0;
|
|
34498
|
-
s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));
|
|
34499
|
-
s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));
|
|
34500
|
-
bc = b & c;
|
|
34501
|
-
maj = bc ^ (b & d) ^ cd;
|
|
34502
|
-
ch = (f & g) ^ (~f & h);
|
|
34503
|
-
t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];
|
|
34504
|
-
t2 = s0 + maj;
|
|
34505
|
-
e = a + t1 << 0;
|
|
34506
|
-
a = t1 + t2 << 0;
|
|
34507
|
-
}
|
|
34508
|
-
|
|
34509
|
-
this.h0 = this.h0 + a << 0;
|
|
34510
|
-
this.h1 = this.h1 + b << 0;
|
|
34511
|
-
this.h2 = this.h2 + c << 0;
|
|
34512
|
-
this.h3 = this.h3 + d << 0;
|
|
34513
|
-
this.h4 = this.h4 + e << 0;
|
|
34514
|
-
this.h5 = this.h5 + f << 0;
|
|
34515
|
-
this.h6 = this.h6 + g << 0;
|
|
34516
|
-
this.h7 = this.h7 + h << 0;
|
|
34517
|
-
};
|
|
34518
|
-
|
|
34519
|
-
Sha256.prototype.hex = function () {
|
|
34520
|
-
this.finalize();
|
|
34521
|
-
|
|
34522
|
-
var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,
|
|
34523
|
-
h6 = this.h6, h7 = this.h7;
|
|
34524
|
-
|
|
34525
|
-
var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +
|
|
34526
|
-
HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +
|
|
34527
|
-
HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +
|
|
34528
|
-
HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +
|
|
34529
|
-
HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +
|
|
34530
|
-
HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +
|
|
34531
|
-
HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +
|
|
34532
|
-
HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +
|
|
34533
|
-
HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +
|
|
34534
|
-
HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +
|
|
34535
|
-
HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +
|
|
34536
|
-
HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +
|
|
34537
|
-
HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +
|
|
34538
|
-
HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +
|
|
34539
|
-
HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +
|
|
34540
|
-
HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +
|
|
34541
|
-
HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +
|
|
34542
|
-
HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +
|
|
34543
|
-
HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +
|
|
34544
|
-
HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +
|
|
34545
|
-
HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] +
|
|
34546
|
-
HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] +
|
|
34547
|
-
HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] +
|
|
34548
|
-
HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +
|
|
34549
|
-
HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] +
|
|
34550
|
-
HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] +
|
|
34551
|
-
HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] +
|
|
34552
|
-
HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];
|
|
34553
|
-
if (!this.is224) {
|
|
34554
|
-
hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] +
|
|
34555
|
-
HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] +
|
|
34556
|
-
HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] +
|
|
34557
|
-
HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];
|
|
34558
|
-
}
|
|
34559
|
-
return hex;
|
|
34560
|
-
};
|
|
34561
|
-
|
|
34562
|
-
Sha256.prototype.toString = Sha256.prototype.hex;
|
|
34563
|
-
|
|
34564
|
-
Sha256.prototype.digest = function () {
|
|
34565
|
-
this.finalize();
|
|
34566
|
-
|
|
34567
|
-
var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,
|
|
34568
|
-
h6 = this.h6, h7 = this.h7;
|
|
34569
|
-
|
|
34570
|
-
var arr = [
|
|
34571
|
-
(h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,
|
|
34572
|
-
(h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,
|
|
34573
|
-
(h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,
|
|
34574
|
-
(h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,
|
|
34575
|
-
(h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF,
|
|
34576
|
-
(h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF,
|
|
34577
|
-
(h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF
|
|
34578
|
-
];
|
|
34579
|
-
if (!this.is224) {
|
|
34580
|
-
arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF);
|
|
34581
|
-
}
|
|
34582
|
-
return arr;
|
|
34583
|
-
};
|
|
34584
|
-
|
|
34585
|
-
Sha256.prototype.array = Sha256.prototype.digest;
|
|
34586
|
-
|
|
34587
|
-
Sha256.prototype.arrayBuffer = function () {
|
|
34588
|
-
this.finalize();
|
|
34589
|
-
|
|
34590
|
-
var buffer = new ArrayBuffer(this.is224 ? 28 : 32);
|
|
34591
|
-
var dataView = new DataView(buffer);
|
|
34592
|
-
dataView.setUint32(0, this.h0);
|
|
34593
|
-
dataView.setUint32(4, this.h1);
|
|
34594
|
-
dataView.setUint32(8, this.h2);
|
|
34595
|
-
dataView.setUint32(12, this.h3);
|
|
34596
|
-
dataView.setUint32(16, this.h4);
|
|
34597
|
-
dataView.setUint32(20, this.h5);
|
|
34598
|
-
dataView.setUint32(24, this.h6);
|
|
34599
|
-
if (!this.is224) {
|
|
34600
|
-
dataView.setUint32(28, this.h7);
|
|
34601
|
-
}
|
|
34602
|
-
return buffer;
|
|
34603
|
-
};
|
|
34604
|
-
|
|
34605
|
-
function HmacSha256(key, is224, sharedMemory) {
|
|
34606
|
-
var i, type = typeof key;
|
|
34607
|
-
if (type === 'string') {
|
|
34608
|
-
var bytes = [], length = key.length, index = 0, code;
|
|
34609
|
-
for (i = 0; i < length; ++i) {
|
|
34610
|
-
code = key.charCodeAt(i);
|
|
34611
|
-
if (code < 0x80) {
|
|
34612
|
-
bytes[index++] = code;
|
|
34613
|
-
} else if (code < 0x800) {
|
|
34614
|
-
bytes[index++] = (0xc0 | (code >> 6));
|
|
34615
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34616
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34617
|
-
bytes[index++] = (0xe0 | (code >> 12));
|
|
34618
|
-
bytes[index++] = (0x80 | ((code >> 6) & 0x3f));
|
|
34619
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34620
|
-
} else {
|
|
34621
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));
|
|
34622
|
-
bytes[index++] = (0xf0 | (code >> 18));
|
|
34623
|
-
bytes[index++] = (0x80 | ((code >> 12) & 0x3f));
|
|
34624
|
-
bytes[index++] = (0x80 | ((code >> 6) & 0x3f));
|
|
34625
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34626
|
-
}
|
|
34627
|
-
}
|
|
34628
|
-
key = bytes;
|
|
34629
|
-
} else {
|
|
34630
|
-
if (type === 'object') {
|
|
34631
|
-
if (key === null) {
|
|
34632
|
-
throw new Error(ERROR);
|
|
34633
|
-
} else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {
|
|
34634
|
-
key = new Uint8Array(key);
|
|
34635
|
-
} else if (!Array.isArray(key)) {
|
|
34636
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {
|
|
34637
|
-
throw new Error(ERROR);
|
|
34638
|
-
}
|
|
34639
|
-
}
|
|
34640
|
-
} else {
|
|
34641
|
-
throw new Error(ERROR);
|
|
34642
|
-
}
|
|
34643
|
-
}
|
|
34644
|
-
|
|
34645
|
-
if (key.length > 64) {
|
|
34646
|
-
key = (new Sha256(is224, true)).update(key).array();
|
|
34647
|
-
}
|
|
34648
|
-
|
|
34649
|
-
var oKeyPad = [], iKeyPad = [];
|
|
34650
|
-
for (i = 0; i < 64; ++i) {
|
|
34651
|
-
var b = key[i] || 0;
|
|
34652
|
-
oKeyPad[i] = 0x5c ^ b;
|
|
34653
|
-
iKeyPad[i] = 0x36 ^ b;
|
|
34654
|
-
}
|
|
34655
|
-
|
|
34656
|
-
Sha256.call(this, is224, sharedMemory);
|
|
34657
|
-
|
|
34658
|
-
this.update(iKeyPad);
|
|
34659
|
-
this.oKeyPad = oKeyPad;
|
|
34660
|
-
this.inner = true;
|
|
34661
|
-
this.sharedMemory = sharedMemory;
|
|
34662
|
-
}
|
|
34663
|
-
HmacSha256.prototype = new Sha256();
|
|
34664
|
-
|
|
34665
|
-
HmacSha256.prototype.finalize = function () {
|
|
34666
|
-
Sha256.prototype.finalize.call(this);
|
|
34667
|
-
if (this.inner) {
|
|
34668
|
-
this.inner = false;
|
|
34669
|
-
var innerHash = this.array();
|
|
34670
|
-
Sha256.call(this, this.is224, this.sharedMemory);
|
|
34671
|
-
this.update(this.oKeyPad);
|
|
34672
|
-
this.update(innerHash);
|
|
34673
|
-
Sha256.prototype.finalize.call(this);
|
|
34674
|
-
}
|
|
34675
|
-
};
|
|
34676
|
-
|
|
34677
|
-
var exports = createMethod();
|
|
34678
|
-
exports.sha256 = exports;
|
|
34679
|
-
exports.sha224 = createMethod(true);
|
|
34680
|
-
exports.sha256.hmac = createHmacMethod();
|
|
34681
|
-
exports.sha224.hmac = createHmacMethod(true);
|
|
34682
|
-
|
|
34683
|
-
if (COMMON_JS) {
|
|
34684
|
-
module.exports = exports;
|
|
34685
|
-
} else {
|
|
34686
|
-
root.sha256 = exports.sha256;
|
|
34687
|
-
root.sha224 = exports.sha224;
|
|
34688
|
-
if (AMD) {
|
|
34689
|
-
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
|
34690
|
-
return exports;
|
|
34691
|
-
}).call(exports, __webpack_require__, exports, module),
|
|
34692
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
34693
|
-
}
|
|
34694
|
-
}
|
|
34695
|
-
})();
|
|
34696
|
-
|
|
34697
|
-
|
|
34698
|
-
/***/ }),
|
|
34699
|
-
|
|
34700
|
-
/***/ 3669:
|
|
34701
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
34702
|
-
|
|
34703
|
-
var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
34704
|
-
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
|
34705
|
-
*
|
|
34706
|
-
* @version 0.8.0
|
|
34707
|
-
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
34708
|
-
* @copyright Chen, Yi-Cyuan 2015-2018
|
|
34709
|
-
* @license MIT
|
|
34710
|
-
*/
|
|
34711
|
-
/*jslint bitwise: true */
|
|
34712
|
-
(function () {
|
|
34713
|
-
'use strict';
|
|
34714
|
-
|
|
34715
|
-
var INPUT_ERROR = 'input is invalid type';
|
|
34716
|
-
var FINALIZE_ERROR = 'finalize already called';
|
|
34717
|
-
var WINDOW = typeof window === 'object';
|
|
34718
|
-
var root = WINDOW ? window : {};
|
|
34719
|
-
if (root.JS_SHA3_NO_WINDOW) {
|
|
34720
|
-
WINDOW = false;
|
|
34721
|
-
}
|
|
34722
|
-
var WEB_WORKER = !WINDOW && typeof self === 'object';
|
|
34723
|
-
var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
|
|
34724
|
-
if (NODE_JS) {
|
|
34725
|
-
root = __webpack_require__.g;
|
|
34726
|
-
} else if (WEB_WORKER) {
|
|
34727
|
-
root = self;
|
|
34728
|
-
}
|
|
34729
|
-
var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && "object" === 'object' && module.exports;
|
|
34730
|
-
var AMD = true && __webpack_require__.amdO;
|
|
34731
|
-
var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
|
|
34732
|
-
var HEX_CHARS = '0123456789abcdef'.split('');
|
|
34733
|
-
var SHAKE_PADDING = [31, 7936, 2031616, 520093696];
|
|
34734
|
-
var CSHAKE_PADDING = [4, 1024, 262144, 67108864];
|
|
34735
|
-
var KECCAK_PADDING = [1, 256, 65536, 16777216];
|
|
34736
|
-
var PADDING = [6, 1536, 393216, 100663296];
|
|
34737
|
-
var SHIFT = [0, 8, 16, 24];
|
|
34738
|
-
var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,
|
|
34739
|
-
0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,
|
|
34740
|
-
2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,
|
|
34741
|
-
2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,
|
|
34742
|
-
2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];
|
|
34743
|
-
var BITS = [224, 256, 384, 512];
|
|
34744
|
-
var SHAKE_BITS = [128, 256];
|
|
34745
|
-
var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];
|
|
34746
|
-
var CSHAKE_BYTEPAD = {
|
|
34747
|
-
'128': 168,
|
|
34748
|
-
'256': 136
|
|
34749
|
-
};
|
|
34750
|
-
|
|
34751
|
-
if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {
|
|
34752
|
-
Array.isArray = function (obj) {
|
|
34753
|
-
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
34754
|
-
};
|
|
34755
|
-
}
|
|
34756
|
-
|
|
34757
|
-
if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
|
|
34758
|
-
ArrayBuffer.isView = function (obj) {
|
|
34759
|
-
return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;
|
|
34760
|
-
};
|
|
34761
|
-
}
|
|
34762
|
-
|
|
34763
|
-
var createOutputMethod = function (bits, padding, outputType) {
|
|
34764
|
-
return function (message) {
|
|
34765
|
-
return new Keccak(bits, padding, bits).update(message)[outputType]();
|
|
34766
|
-
};
|
|
34767
|
-
};
|
|
34768
|
-
|
|
34769
|
-
var createShakeOutputMethod = function (bits, padding, outputType) {
|
|
34770
|
-
return function (message, outputBits) {
|
|
34771
|
-
return new Keccak(bits, padding, outputBits).update(message)[outputType]();
|
|
34772
|
-
};
|
|
34773
|
-
};
|
|
34774
|
-
|
|
34775
|
-
var createCshakeOutputMethod = function (bits, padding, outputType) {
|
|
34776
|
-
return function (message, outputBits, n, s) {
|
|
34777
|
-
return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();
|
|
34778
|
-
};
|
|
34779
|
-
};
|
|
34780
|
-
|
|
34781
|
-
var createKmacOutputMethod = function (bits, padding, outputType) {
|
|
34782
|
-
return function (key, message, outputBits, s) {
|
|
34783
|
-
return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();
|
|
34784
|
-
};
|
|
34785
|
-
};
|
|
34786
|
-
|
|
34787
|
-
var createOutputMethods = function (method, createMethod, bits, padding) {
|
|
34788
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
34789
|
-
var type = OUTPUT_TYPES[i];
|
|
34790
|
-
method[type] = createMethod(bits, padding, type);
|
|
34791
|
-
}
|
|
34792
|
-
return method;
|
|
34793
|
-
};
|
|
34794
|
-
|
|
34795
|
-
var createMethod = function (bits, padding) {
|
|
34796
|
-
var method = createOutputMethod(bits, padding, 'hex');
|
|
34797
|
-
method.create = function () {
|
|
34798
|
-
return new Keccak(bits, padding, bits);
|
|
34799
|
-
};
|
|
34800
|
-
method.update = function (message) {
|
|
34801
|
-
return method.create().update(message);
|
|
34802
|
-
};
|
|
34803
|
-
return createOutputMethods(method, createOutputMethod, bits, padding);
|
|
34804
|
-
};
|
|
34805
|
-
|
|
34806
|
-
var createShakeMethod = function (bits, padding) {
|
|
34807
|
-
var method = createShakeOutputMethod(bits, padding, 'hex');
|
|
34808
|
-
method.create = function (outputBits) {
|
|
34809
|
-
return new Keccak(bits, padding, outputBits);
|
|
34810
|
-
};
|
|
34811
|
-
method.update = function (message, outputBits) {
|
|
34812
|
-
return method.create(outputBits).update(message);
|
|
34813
|
-
};
|
|
34814
|
-
return createOutputMethods(method, createShakeOutputMethod, bits, padding);
|
|
34815
|
-
};
|
|
34816
|
-
|
|
34817
|
-
var createCshakeMethod = function (bits, padding) {
|
|
34818
|
-
var w = CSHAKE_BYTEPAD[bits];
|
|
34819
|
-
var method = createCshakeOutputMethod(bits, padding, 'hex');
|
|
34820
|
-
method.create = function (outputBits, n, s) {
|
|
34821
|
-
if (!n && !s) {
|
|
34822
|
-
return methods['shake' + bits].create(outputBits);
|
|
34823
|
-
} else {
|
|
34824
|
-
return new Keccak(bits, padding, outputBits).bytepad([n, s], w);
|
|
34825
|
-
}
|
|
34826
|
-
};
|
|
34827
|
-
method.update = function (message, outputBits, n, s) {
|
|
34828
|
-
return method.create(outputBits, n, s).update(message);
|
|
34829
|
-
};
|
|
34830
|
-
return createOutputMethods(method, createCshakeOutputMethod, bits, padding);
|
|
34831
|
-
};
|
|
34832
|
-
|
|
34833
|
-
var createKmacMethod = function (bits, padding) {
|
|
34834
|
-
var w = CSHAKE_BYTEPAD[bits];
|
|
34835
|
-
var method = createKmacOutputMethod(bits, padding, 'hex');
|
|
34836
|
-
method.create = function (key, outputBits, s) {
|
|
34837
|
-
return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);
|
|
34838
|
-
};
|
|
34839
|
-
method.update = function (key, message, outputBits, s) {
|
|
34840
|
-
return method.create(key, outputBits, s).update(message);
|
|
34841
|
-
};
|
|
34842
|
-
return createOutputMethods(method, createKmacOutputMethod, bits, padding);
|
|
34843
|
-
};
|
|
34844
|
-
|
|
34845
|
-
var algorithms = [
|
|
34846
|
-
{ name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },
|
|
34847
|
-
{ name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },
|
|
34848
|
-
{ name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },
|
|
34849
|
-
{ name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },
|
|
34850
|
-
{ name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }
|
|
34851
|
-
];
|
|
34852
|
-
|
|
34853
|
-
var methods = {}, methodNames = [];
|
|
34854
|
-
|
|
34855
|
-
for (var i = 0; i < algorithms.length; ++i) {
|
|
34856
|
-
var algorithm = algorithms[i];
|
|
34857
|
-
var bits = algorithm.bits;
|
|
34858
|
-
for (var j = 0; j < bits.length; ++j) {
|
|
34859
|
-
var methodName = algorithm.name + '_' + bits[j];
|
|
34860
|
-
methodNames.push(methodName);
|
|
34861
|
-
methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);
|
|
34862
|
-
if (algorithm.name !== 'sha3') {
|
|
34863
|
-
var newMethodName = algorithm.name + bits[j];
|
|
34864
|
-
methodNames.push(newMethodName);
|
|
34865
|
-
methods[newMethodName] = methods[methodName];
|
|
34866
|
-
}
|
|
34867
|
-
}
|
|
34868
|
-
}
|
|
34869
|
-
|
|
34870
|
-
function Keccak(bits, padding, outputBits) {
|
|
34871
|
-
this.blocks = [];
|
|
34872
|
-
this.s = [];
|
|
34873
|
-
this.padding = padding;
|
|
34874
|
-
this.outputBits = outputBits;
|
|
34875
|
-
this.reset = true;
|
|
34876
|
-
this.finalized = false;
|
|
34877
|
-
this.block = 0;
|
|
34878
|
-
this.start = 0;
|
|
34879
|
-
this.blockCount = (1600 - (bits << 1)) >> 5;
|
|
34880
|
-
this.byteCount = this.blockCount << 2;
|
|
34881
|
-
this.outputBlocks = outputBits >> 5;
|
|
34882
|
-
this.extraBytes = (outputBits & 31) >> 3;
|
|
34883
|
-
|
|
34884
|
-
for (var i = 0; i < 50; ++i) {
|
|
34885
|
-
this.s[i] = 0;
|
|
34886
|
-
}
|
|
34887
|
-
}
|
|
34888
|
-
|
|
34889
|
-
Keccak.prototype.update = function (message) {
|
|
34890
|
-
if (this.finalized) {
|
|
34891
|
-
throw new Error(FINALIZE_ERROR);
|
|
34892
|
-
}
|
|
34893
|
-
var notString, type = typeof message;
|
|
34894
|
-
if (type !== 'string') {
|
|
34895
|
-
if (type === 'object') {
|
|
34896
|
-
if (message === null) {
|
|
34897
|
-
throw new Error(INPUT_ERROR);
|
|
34898
|
-
} else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
|
|
34899
|
-
message = new Uint8Array(message);
|
|
34900
|
-
} else if (!Array.isArray(message)) {
|
|
34901
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
|
|
34902
|
-
throw new Error(INPUT_ERROR);
|
|
34903
|
-
}
|
|
34904
|
-
}
|
|
34905
|
-
} else {
|
|
34906
|
-
throw new Error(INPUT_ERROR);
|
|
34907
|
-
}
|
|
34908
|
-
notString = true;
|
|
34909
|
-
}
|
|
34910
|
-
var blocks = this.blocks, byteCount = this.byteCount, length = message.length,
|
|
34911
|
-
blockCount = this.blockCount, index = 0, s = this.s, i, code;
|
|
34912
|
-
|
|
34913
|
-
while (index < length) {
|
|
34914
|
-
if (this.reset) {
|
|
34915
|
-
this.reset = false;
|
|
34916
|
-
blocks[0] = this.block;
|
|
34917
|
-
for (i = 1; i < blockCount + 1; ++i) {
|
|
34918
|
-
blocks[i] = 0;
|
|
34919
|
-
}
|
|
34920
|
-
}
|
|
34921
|
-
if (notString) {
|
|
34922
|
-
for (i = this.start; index < length && i < byteCount; ++index) {
|
|
34923
|
-
blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
|
|
34924
|
-
}
|
|
34925
|
-
} else {
|
|
34926
|
-
for (i = this.start; index < length && i < byteCount; ++index) {
|
|
34927
|
-
code = message.charCodeAt(index);
|
|
34928
|
-
if (code < 0x80) {
|
|
34929
|
-
blocks[i >> 2] |= code << SHIFT[i++ & 3];
|
|
34930
|
-
} else if (code < 0x800) {
|
|
34931
|
-
blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
|
|
34932
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34933
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34934
|
-
blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
|
|
34935
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34936
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34937
|
-
} else {
|
|
34938
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
|
|
34939
|
-
blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
|
|
34940
|
-
blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
|
|
34941
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34942
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34943
|
-
}
|
|
34944
|
-
}
|
|
34945
|
-
}
|
|
34946
|
-
this.lastByteIndex = i;
|
|
34947
|
-
if (i >= byteCount) {
|
|
34948
|
-
this.start = i - byteCount;
|
|
34949
|
-
this.block = blocks[blockCount];
|
|
34950
|
-
for (i = 0; i < blockCount; ++i) {
|
|
34951
|
-
s[i] ^= blocks[i];
|
|
34952
|
-
}
|
|
34953
|
-
f(s);
|
|
34954
|
-
this.reset = true;
|
|
34955
|
-
} else {
|
|
34956
|
-
this.start = i;
|
|
34957
|
-
}
|
|
34958
|
-
}
|
|
34959
|
-
return this;
|
|
34960
|
-
};
|
|
34961
|
-
|
|
34962
|
-
Keccak.prototype.encode = function (x, right) {
|
|
34963
|
-
var o = x & 255, n = 1;
|
|
34964
|
-
var bytes = [o];
|
|
34965
|
-
x = x >> 8;
|
|
34966
|
-
o = x & 255;
|
|
34967
|
-
while (o > 0) {
|
|
34968
|
-
bytes.unshift(o);
|
|
34969
|
-
x = x >> 8;
|
|
34970
|
-
o = x & 255;
|
|
34971
|
-
++n;
|
|
34972
|
-
}
|
|
34973
|
-
if (right) {
|
|
34974
|
-
bytes.push(n);
|
|
34975
|
-
} else {
|
|
34976
|
-
bytes.unshift(n);
|
|
34977
|
-
}
|
|
34978
|
-
this.update(bytes);
|
|
34979
|
-
return bytes.length;
|
|
34980
|
-
};
|
|
34981
|
-
|
|
34982
|
-
Keccak.prototype.encodeString = function (str) {
|
|
34983
|
-
var notString, type = typeof str;
|
|
34984
|
-
if (type !== 'string') {
|
|
34985
|
-
if (type === 'object') {
|
|
34986
|
-
if (str === null) {
|
|
34987
|
-
throw new Error(INPUT_ERROR);
|
|
34988
|
-
} else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {
|
|
34989
|
-
str = new Uint8Array(str);
|
|
34990
|
-
} else if (!Array.isArray(str)) {
|
|
34991
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {
|
|
34992
|
-
throw new Error(INPUT_ERROR);
|
|
34993
|
-
}
|
|
34994
|
-
}
|
|
34995
|
-
} else {
|
|
34996
|
-
throw new Error(INPUT_ERROR);
|
|
34997
|
-
}
|
|
34998
|
-
notString = true;
|
|
34999
|
-
}
|
|
35000
|
-
var bytes = 0, length = str.length;
|
|
35001
|
-
if (notString) {
|
|
35002
|
-
bytes = length;
|
|
35003
|
-
} else {
|
|
35004
|
-
for (var i = 0; i < str.length; ++i) {
|
|
35005
|
-
var code = str.charCodeAt(i);
|
|
35006
|
-
if (code < 0x80) {
|
|
35007
|
-
bytes += 1;
|
|
35008
|
-
} else if (code < 0x800) {
|
|
35009
|
-
bytes += 2;
|
|
35010
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
35011
|
-
bytes += 3;
|
|
35012
|
-
} else {
|
|
35013
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));
|
|
35014
|
-
bytes += 4;
|
|
35015
|
-
}
|
|
35016
|
-
}
|
|
35017
|
-
}
|
|
35018
|
-
bytes += this.encode(bytes * 8);
|
|
35019
|
-
this.update(str);
|
|
35020
|
-
return bytes;
|
|
35021
|
-
};
|
|
35022
|
-
|
|
35023
|
-
Keccak.prototype.bytepad = function (strs, w) {
|
|
35024
|
-
var bytes = this.encode(w);
|
|
35025
|
-
for (var i = 0; i < strs.length; ++i) {
|
|
35026
|
-
bytes += this.encodeString(strs[i]);
|
|
35027
|
-
}
|
|
35028
|
-
var paddingBytes = w - bytes % w;
|
|
35029
|
-
var zeros = [];
|
|
35030
|
-
zeros.length = paddingBytes;
|
|
35031
|
-
this.update(zeros);
|
|
35032
|
-
return this;
|
|
35033
|
-
};
|
|
35034
|
-
|
|
35035
|
-
Keccak.prototype.finalize = function () {
|
|
35036
|
-
if (this.finalized) {
|
|
35037
|
-
return;
|
|
35038
|
-
}
|
|
35039
|
-
this.finalized = true;
|
|
35040
|
-
var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;
|
|
35041
|
-
blocks[i >> 2] |= this.padding[i & 3];
|
|
35042
|
-
if (this.lastByteIndex === this.byteCount) {
|
|
35043
|
-
blocks[0] = blocks[blockCount];
|
|
35044
|
-
for (i = 1; i < blockCount + 1; ++i) {
|
|
35045
|
-
blocks[i] = 0;
|
|
35046
|
-
}
|
|
35047
|
-
}
|
|
35048
|
-
blocks[blockCount - 1] |= 0x80000000;
|
|
35049
|
-
for (i = 0; i < blockCount; ++i) {
|
|
35050
|
-
s[i] ^= blocks[i];
|
|
35051
|
-
}
|
|
35052
|
-
f(s);
|
|
35053
|
-
};
|
|
35054
|
-
|
|
35055
|
-
Keccak.prototype.toString = Keccak.prototype.hex = function () {
|
|
35056
|
-
this.finalize();
|
|
35057
|
-
|
|
35058
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
35059
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
35060
|
-
var hex = '', block;
|
|
35061
|
-
while (j < outputBlocks) {
|
|
35062
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
35063
|
-
block = s[i];
|
|
35064
|
-
hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +
|
|
35065
|
-
HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +
|
|
35066
|
-
HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +
|
|
35067
|
-
HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];
|
|
35068
|
-
}
|
|
35069
|
-
if (j % blockCount === 0) {
|
|
35070
|
-
f(s);
|
|
35071
|
-
i = 0;
|
|
35072
|
-
}
|
|
35073
|
-
}
|
|
35074
|
-
if (extraBytes) {
|
|
35075
|
-
block = s[i];
|
|
35076
|
-
hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];
|
|
35077
|
-
if (extraBytes > 1) {
|
|
35078
|
-
hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];
|
|
35079
|
-
}
|
|
35080
|
-
if (extraBytes > 2) {
|
|
35081
|
-
hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];
|
|
35082
|
-
}
|
|
35083
|
-
}
|
|
35084
|
-
return hex;
|
|
35085
|
-
};
|
|
35086
|
-
|
|
35087
|
-
Keccak.prototype.arrayBuffer = function () {
|
|
35088
|
-
this.finalize();
|
|
35089
|
-
|
|
35090
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
35091
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
35092
|
-
var bytes = this.outputBits >> 3;
|
|
35093
|
-
var buffer;
|
|
35094
|
-
if (extraBytes) {
|
|
35095
|
-
buffer = new ArrayBuffer((outputBlocks + 1) << 2);
|
|
35096
|
-
} else {
|
|
35097
|
-
buffer = new ArrayBuffer(bytes);
|
|
35098
|
-
}
|
|
35099
|
-
var array = new Uint32Array(buffer);
|
|
35100
|
-
while (j < outputBlocks) {
|
|
35101
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
35102
|
-
array[j] = s[i];
|
|
35103
|
-
}
|
|
35104
|
-
if (j % blockCount === 0) {
|
|
35105
|
-
f(s);
|
|
35106
|
-
}
|
|
35107
|
-
}
|
|
35108
|
-
if (extraBytes) {
|
|
35109
|
-
array[i] = s[i];
|
|
35110
|
-
buffer = buffer.slice(0, bytes);
|
|
35111
|
-
}
|
|
35112
|
-
return buffer;
|
|
35113
|
-
};
|
|
35114
|
-
|
|
35115
|
-
Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;
|
|
35116
|
-
|
|
35117
|
-
Keccak.prototype.digest = Keccak.prototype.array = function () {
|
|
35118
|
-
this.finalize();
|
|
35119
|
-
|
|
35120
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
35121
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
35122
|
-
var array = [], offset, block;
|
|
35123
|
-
while (j < outputBlocks) {
|
|
35124
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
35125
|
-
offset = j << 2;
|
|
35126
|
-
block = s[i];
|
|
35127
|
-
array[offset] = block & 0xFF;
|
|
35128
|
-
array[offset + 1] = (block >> 8) & 0xFF;
|
|
35129
|
-
array[offset + 2] = (block >> 16) & 0xFF;
|
|
35130
|
-
array[offset + 3] = (block >> 24) & 0xFF;
|
|
35131
|
-
}
|
|
35132
|
-
if (j % blockCount === 0) {
|
|
35133
|
-
f(s);
|
|
35134
|
-
}
|
|
35135
|
-
}
|
|
35136
|
-
if (extraBytes) {
|
|
35137
|
-
offset = j << 2;
|
|
35138
|
-
block = s[i];
|
|
35139
|
-
array[offset] = block & 0xFF;
|
|
35140
|
-
if (extraBytes > 1) {
|
|
35141
|
-
array[offset + 1] = (block >> 8) & 0xFF;
|
|
35142
|
-
}
|
|
35143
|
-
if (extraBytes > 2) {
|
|
35144
|
-
array[offset + 2] = (block >> 16) & 0xFF;
|
|
35145
|
-
}
|
|
35146
|
-
}
|
|
35147
|
-
return array;
|
|
35148
|
-
};
|
|
35149
|
-
|
|
35150
|
-
function Kmac(bits, padding, outputBits) {
|
|
35151
|
-
Keccak.call(this, bits, padding, outputBits);
|
|
35152
|
-
}
|
|
35472
|
+
/***/ 1297:
|
|
35473
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
35153
35474
|
|
|
35154
|
-
|
|
35475
|
+
/*!
|
|
35155
35476
|
|
|
35156
|
-
|
|
35157
|
-
|
|
35158
|
-
return Keccak.prototype.finalize.call(this);
|
|
35159
|
-
};
|
|
35477
|
+
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
35478
|
+
<http://stuartk.com/jszip>
|
|
35160
35479
|
|
|
35161
|
-
|
|
35162
|
-
|
|
35163
|
-
b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,
|
|
35164
|
-
b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,
|
|
35165
|
-
b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;
|
|
35166
|
-
for (n = 0; n < 48; n += 2) {
|
|
35167
|
-
c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];
|
|
35168
|
-
c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];
|
|
35169
|
-
c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];
|
|
35170
|
-
c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];
|
|
35171
|
-
c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];
|
|
35172
|
-
c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];
|
|
35173
|
-
c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];
|
|
35174
|
-
c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];
|
|
35175
|
-
c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];
|
|
35176
|
-
c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];
|
|
35177
|
-
|
|
35178
|
-
h = c8 ^ ((c2 << 1) | (c3 >>> 31));
|
|
35179
|
-
l = c9 ^ ((c3 << 1) | (c2 >>> 31));
|
|
35180
|
-
s[0] ^= h;
|
|
35181
|
-
s[1] ^= l;
|
|
35182
|
-
s[10] ^= h;
|
|
35183
|
-
s[11] ^= l;
|
|
35184
|
-
s[20] ^= h;
|
|
35185
|
-
s[21] ^= l;
|
|
35186
|
-
s[30] ^= h;
|
|
35187
|
-
s[31] ^= l;
|
|
35188
|
-
s[40] ^= h;
|
|
35189
|
-
s[41] ^= l;
|
|
35190
|
-
h = c0 ^ ((c4 << 1) | (c5 >>> 31));
|
|
35191
|
-
l = c1 ^ ((c5 << 1) | (c4 >>> 31));
|
|
35192
|
-
s[2] ^= h;
|
|
35193
|
-
s[3] ^= l;
|
|
35194
|
-
s[12] ^= h;
|
|
35195
|
-
s[13] ^= l;
|
|
35196
|
-
s[22] ^= h;
|
|
35197
|
-
s[23] ^= l;
|
|
35198
|
-
s[32] ^= h;
|
|
35199
|
-
s[33] ^= l;
|
|
35200
|
-
s[42] ^= h;
|
|
35201
|
-
s[43] ^= l;
|
|
35202
|
-
h = c2 ^ ((c6 << 1) | (c7 >>> 31));
|
|
35203
|
-
l = c3 ^ ((c7 << 1) | (c6 >>> 31));
|
|
35204
|
-
s[4] ^= h;
|
|
35205
|
-
s[5] ^= l;
|
|
35206
|
-
s[14] ^= h;
|
|
35207
|
-
s[15] ^= l;
|
|
35208
|
-
s[24] ^= h;
|
|
35209
|
-
s[25] ^= l;
|
|
35210
|
-
s[34] ^= h;
|
|
35211
|
-
s[35] ^= l;
|
|
35212
|
-
s[44] ^= h;
|
|
35213
|
-
s[45] ^= l;
|
|
35214
|
-
h = c4 ^ ((c8 << 1) | (c9 >>> 31));
|
|
35215
|
-
l = c5 ^ ((c9 << 1) | (c8 >>> 31));
|
|
35216
|
-
s[6] ^= h;
|
|
35217
|
-
s[7] ^= l;
|
|
35218
|
-
s[16] ^= h;
|
|
35219
|
-
s[17] ^= l;
|
|
35220
|
-
s[26] ^= h;
|
|
35221
|
-
s[27] ^= l;
|
|
35222
|
-
s[36] ^= h;
|
|
35223
|
-
s[37] ^= l;
|
|
35224
|
-
s[46] ^= h;
|
|
35225
|
-
s[47] ^= l;
|
|
35226
|
-
h = c6 ^ ((c0 << 1) | (c1 >>> 31));
|
|
35227
|
-
l = c7 ^ ((c1 << 1) | (c0 >>> 31));
|
|
35228
|
-
s[8] ^= h;
|
|
35229
|
-
s[9] ^= l;
|
|
35230
|
-
s[18] ^= h;
|
|
35231
|
-
s[19] ^= l;
|
|
35232
|
-
s[28] ^= h;
|
|
35233
|
-
s[29] ^= l;
|
|
35234
|
-
s[38] ^= h;
|
|
35235
|
-
s[39] ^= l;
|
|
35236
|
-
s[48] ^= h;
|
|
35237
|
-
s[49] ^= l;
|
|
35238
|
-
|
|
35239
|
-
b0 = s[0];
|
|
35240
|
-
b1 = s[1];
|
|
35241
|
-
b32 = (s[11] << 4) | (s[10] >>> 28);
|
|
35242
|
-
b33 = (s[10] << 4) | (s[11] >>> 28);
|
|
35243
|
-
b14 = (s[20] << 3) | (s[21] >>> 29);
|
|
35244
|
-
b15 = (s[21] << 3) | (s[20] >>> 29);
|
|
35245
|
-
b46 = (s[31] << 9) | (s[30] >>> 23);
|
|
35246
|
-
b47 = (s[30] << 9) | (s[31] >>> 23);
|
|
35247
|
-
b28 = (s[40] << 18) | (s[41] >>> 14);
|
|
35248
|
-
b29 = (s[41] << 18) | (s[40] >>> 14);
|
|
35249
|
-
b20 = (s[2] << 1) | (s[3] >>> 31);
|
|
35250
|
-
b21 = (s[3] << 1) | (s[2] >>> 31);
|
|
35251
|
-
b2 = (s[13] << 12) | (s[12] >>> 20);
|
|
35252
|
-
b3 = (s[12] << 12) | (s[13] >>> 20);
|
|
35253
|
-
b34 = (s[22] << 10) | (s[23] >>> 22);
|
|
35254
|
-
b35 = (s[23] << 10) | (s[22] >>> 22);
|
|
35255
|
-
b16 = (s[33] << 13) | (s[32] >>> 19);
|
|
35256
|
-
b17 = (s[32] << 13) | (s[33] >>> 19);
|
|
35257
|
-
b48 = (s[42] << 2) | (s[43] >>> 30);
|
|
35258
|
-
b49 = (s[43] << 2) | (s[42] >>> 30);
|
|
35259
|
-
b40 = (s[5] << 30) | (s[4] >>> 2);
|
|
35260
|
-
b41 = (s[4] << 30) | (s[5] >>> 2);
|
|
35261
|
-
b22 = (s[14] << 6) | (s[15] >>> 26);
|
|
35262
|
-
b23 = (s[15] << 6) | (s[14] >>> 26);
|
|
35263
|
-
b4 = (s[25] << 11) | (s[24] >>> 21);
|
|
35264
|
-
b5 = (s[24] << 11) | (s[25] >>> 21);
|
|
35265
|
-
b36 = (s[34] << 15) | (s[35] >>> 17);
|
|
35266
|
-
b37 = (s[35] << 15) | (s[34] >>> 17);
|
|
35267
|
-
b18 = (s[45] << 29) | (s[44] >>> 3);
|
|
35268
|
-
b19 = (s[44] << 29) | (s[45] >>> 3);
|
|
35269
|
-
b10 = (s[6] << 28) | (s[7] >>> 4);
|
|
35270
|
-
b11 = (s[7] << 28) | (s[6] >>> 4);
|
|
35271
|
-
b42 = (s[17] << 23) | (s[16] >>> 9);
|
|
35272
|
-
b43 = (s[16] << 23) | (s[17] >>> 9);
|
|
35273
|
-
b24 = (s[26] << 25) | (s[27] >>> 7);
|
|
35274
|
-
b25 = (s[27] << 25) | (s[26] >>> 7);
|
|
35275
|
-
b6 = (s[36] << 21) | (s[37] >>> 11);
|
|
35276
|
-
b7 = (s[37] << 21) | (s[36] >>> 11);
|
|
35277
|
-
b38 = (s[47] << 24) | (s[46] >>> 8);
|
|
35278
|
-
b39 = (s[46] << 24) | (s[47] >>> 8);
|
|
35279
|
-
b30 = (s[8] << 27) | (s[9] >>> 5);
|
|
35280
|
-
b31 = (s[9] << 27) | (s[8] >>> 5);
|
|
35281
|
-
b12 = (s[18] << 20) | (s[19] >>> 12);
|
|
35282
|
-
b13 = (s[19] << 20) | (s[18] >>> 12);
|
|
35283
|
-
b44 = (s[29] << 7) | (s[28] >>> 25);
|
|
35284
|
-
b45 = (s[28] << 7) | (s[29] >>> 25);
|
|
35285
|
-
b26 = (s[38] << 8) | (s[39] >>> 24);
|
|
35286
|
-
b27 = (s[39] << 8) | (s[38] >>> 24);
|
|
35287
|
-
b8 = (s[48] << 14) | (s[49] >>> 18);
|
|
35288
|
-
b9 = (s[49] << 14) | (s[48] >>> 18);
|
|
35289
|
-
|
|
35290
|
-
s[0] = b0 ^ (~b2 & b4);
|
|
35291
|
-
s[1] = b1 ^ (~b3 & b5);
|
|
35292
|
-
s[10] = b10 ^ (~b12 & b14);
|
|
35293
|
-
s[11] = b11 ^ (~b13 & b15);
|
|
35294
|
-
s[20] = b20 ^ (~b22 & b24);
|
|
35295
|
-
s[21] = b21 ^ (~b23 & b25);
|
|
35296
|
-
s[30] = b30 ^ (~b32 & b34);
|
|
35297
|
-
s[31] = b31 ^ (~b33 & b35);
|
|
35298
|
-
s[40] = b40 ^ (~b42 & b44);
|
|
35299
|
-
s[41] = b41 ^ (~b43 & b45);
|
|
35300
|
-
s[2] = b2 ^ (~b4 & b6);
|
|
35301
|
-
s[3] = b3 ^ (~b5 & b7);
|
|
35302
|
-
s[12] = b12 ^ (~b14 & b16);
|
|
35303
|
-
s[13] = b13 ^ (~b15 & b17);
|
|
35304
|
-
s[22] = b22 ^ (~b24 & b26);
|
|
35305
|
-
s[23] = b23 ^ (~b25 & b27);
|
|
35306
|
-
s[32] = b32 ^ (~b34 & b36);
|
|
35307
|
-
s[33] = b33 ^ (~b35 & b37);
|
|
35308
|
-
s[42] = b42 ^ (~b44 & b46);
|
|
35309
|
-
s[43] = b43 ^ (~b45 & b47);
|
|
35310
|
-
s[4] = b4 ^ (~b6 & b8);
|
|
35311
|
-
s[5] = b5 ^ (~b7 & b9);
|
|
35312
|
-
s[14] = b14 ^ (~b16 & b18);
|
|
35313
|
-
s[15] = b15 ^ (~b17 & b19);
|
|
35314
|
-
s[24] = b24 ^ (~b26 & b28);
|
|
35315
|
-
s[25] = b25 ^ (~b27 & b29);
|
|
35316
|
-
s[34] = b34 ^ (~b36 & b38);
|
|
35317
|
-
s[35] = b35 ^ (~b37 & b39);
|
|
35318
|
-
s[44] = b44 ^ (~b46 & b48);
|
|
35319
|
-
s[45] = b45 ^ (~b47 & b49);
|
|
35320
|
-
s[6] = b6 ^ (~b8 & b0);
|
|
35321
|
-
s[7] = b7 ^ (~b9 & b1);
|
|
35322
|
-
s[16] = b16 ^ (~b18 & b10);
|
|
35323
|
-
s[17] = b17 ^ (~b19 & b11);
|
|
35324
|
-
s[26] = b26 ^ (~b28 & b20);
|
|
35325
|
-
s[27] = b27 ^ (~b29 & b21);
|
|
35326
|
-
s[36] = b36 ^ (~b38 & b30);
|
|
35327
|
-
s[37] = b37 ^ (~b39 & b31);
|
|
35328
|
-
s[46] = b46 ^ (~b48 & b40);
|
|
35329
|
-
s[47] = b47 ^ (~b49 & b41);
|
|
35330
|
-
s[8] = b8 ^ (~b0 & b2);
|
|
35331
|
-
s[9] = b9 ^ (~b1 & b3);
|
|
35332
|
-
s[18] = b18 ^ (~b10 & b12);
|
|
35333
|
-
s[19] = b19 ^ (~b11 & b13);
|
|
35334
|
-
s[28] = b28 ^ (~b20 & b22);
|
|
35335
|
-
s[29] = b29 ^ (~b21 & b23);
|
|
35336
|
-
s[38] = b38 ^ (~b30 & b32);
|
|
35337
|
-
s[39] = b39 ^ (~b31 & b33);
|
|
35338
|
-
s[48] = b48 ^ (~b40 & b42);
|
|
35339
|
-
s[49] = b49 ^ (~b41 & b43);
|
|
35340
|
-
|
|
35341
|
-
s[0] ^= RC[n];
|
|
35342
|
-
s[1] ^= RC[n + 1];
|
|
35343
|
-
}
|
|
35344
|
-
};
|
|
35480
|
+
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
|
35481
|
+
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
|
|
35345
35482
|
|
|
35346
|
-
|
|
35347
|
-
|
|
35348
|
-
|
|
35349
|
-
for (i = 0; i < methodNames.length; ++i) {
|
|
35350
|
-
root[methodNames[i]] = methods[methodNames[i]];
|
|
35351
|
-
}
|
|
35352
|
-
if (AMD) {
|
|
35353
|
-
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
|
35354
|
-
return methods;
|
|
35355
|
-
}).call(exports, __webpack_require__, exports, module),
|
|
35356
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
35357
|
-
}
|
|
35358
|
-
}
|
|
35359
|
-
})();
|
|
35483
|
+
JSZip uses the library pako released under the MIT license :
|
|
35484
|
+
https://github.com/nodeca/pako/blob/main/LICENSE
|
|
35485
|
+
*/
|
|
35360
35486
|
|
|
35487
|
+
!function(e){if(true)module.exports=e();else {}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=undefined;if(!e&&t)return require(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=undefined,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){"use strict";var d=e("./utils"),c=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c="string"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u="data:";if(e.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo("string",i(n));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var u=e("./utils"),i=e("./external"),n=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){t(e)}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):u.prepareContent("the loaded zip file",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on("error",function(e){n.emit("error",e)}).on("end",function(){n.push(null)})}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,r){"use strict";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e("./utf8"),u=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),f=e("./defaults"),c=e("./compressedObject"),d=e("./zipObject"),o=e("./generate"),p=e("./nodejsUtils"),m=e("./nodejs/NodejsStreamInputAdapter"),_=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n)}catch(e){(t=new l("error")).error(e)}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n},{}],29:[function(e,t,r){"use strict";var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t)}).on("error",function(e){n=[],r(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return"data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,s){"use strict";for(var o=e("./utils"),h=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null}function l(){n.call(this,"utf-8 encode")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){"use strict";var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i))}return r.join("/")},a.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":o.nodebuffer&&r.isBuffer(e)?"nodebuffer":o.uint8array&&e instanceof Uint8Array?"uint8array":o.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?("arraybuffer"===t?e=a.transformTo("uint8array",e):"string"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=e("./support");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),h=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),h=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h("error")).error(e)}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,l,t){(function(t){"use strict";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,r){"use strict";var i=e("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError("Cannot resolve promise with itself")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});"error"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if("error"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var a=e("./zlib/deflate"),o=e("./utils/common"),h=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?h.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=h.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var c=e("./zlib/inflate"),d=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?h.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var h=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){"use strict";var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){"use strict";var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),R=e("./inffast"),T=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var D=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var i=e("../utils/common"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[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],k=[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],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){"use strict";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)});
|
|
35361
35488
|
|
|
35362
35489
|
/***/ }),
|
|
35363
35490
|
|
|
@@ -46814,7 +46941,7 @@ try {
|
|
|
46814
46941
|
/***/ ((module) => {
|
|
46815
46942
|
|
|
46816
46943
|
"use strict";
|
|
46817
|
-
module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.
|
|
46944
|
+
module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.57","description":"> TODO: description","author":"OneKey","homepage":"https://github.com/OneKeyHQ/hardware-js-sdk#readme","license":"ISC","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/OneKeyHQ/hardware-js-sdk.git"},"publishConfig":{"access":"public"},"scripts":{"dev":"rimraf dist && rollup -c ../../build/rollup.config.js -w","build":"rimraf dist && rollup -c ../../build/rollup.config.js","lint":"eslint .","lint:fix":"eslint . --fix"},"bugs":{"url":"https://github.com/OneKeyHQ/hardware-js-sdk/issues"},"dependencies":{"@onekeyfe/hd-shared":"^0.1.57","@onekeyfe/hd-transport":"^0.1.57","axios":"^0.27.2","bignumber.js":"^9.0.2","jszip":"^3.10.1","parse-uri":"^1.0.7","semver":"^7.3.7"},"peerDependencies":{"@noble/hashes":"^1.1.3"},"devDependencies":{"@noble/hashes":"^1.1.3","@types/parse-uri":"^1.0.0","@types/semver":"^7.3.9"}}');
|
|
46818
46945
|
|
|
46819
46946
|
/***/ })
|
|
46820
46947
|
|
|
@@ -46845,11 +46972,6 @@ module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.56","des
|
|
|
46845
46972
|
/******/ }
|
|
46846
46973
|
/******/
|
|
46847
46974
|
/************************************************************************/
|
|
46848
|
-
/******/ /* webpack/runtime/amd options */
|
|
46849
|
-
/******/ (() => {
|
|
46850
|
-
/******/ __webpack_require__.amdO = {};
|
|
46851
|
-
/******/ })();
|
|
46852
|
-
/******/
|
|
46853
46975
|
/******/ /* webpack/runtime/compat get default export */
|
|
46854
46976
|
/******/ (() => {
|
|
46855
46977
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
@@ -49346,7 +49468,7 @@ const src_init = async settings => {
|
|
|
49346
49468
|
|
|
49347
49469
|
try {
|
|
49348
49470
|
await init({ ..._settings,
|
|
49349
|
-
version: "0.1.
|
|
49471
|
+
version: "0.1.57"
|
|
49350
49472
|
});
|
|
49351
49473
|
return true;
|
|
49352
49474
|
} catch (e) {
|