@onekeyfe/hd-web-sdk 0.1.55 → 0.1.56
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.bda9b33b6c9ccf26ee4c.js +3 -0
- package/build/js/{iframe.9c776a23228e11434d19.js.LICENSE.txt → iframe.bda9b33b6c9ccf26ee4c.js.LICENSE.txt} +18 -2
- package/build/js/iframe.bda9b33b6c9ccf26ee4c.js.map +1 -0
- package/build/onekey-js-sdk.js +1259 -1381
- 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.9c776a23228e11434d19.js +0 -3
- package/build/js/iframe.9c776a23228e11434d19.js.map +0 -1
package/build/onekey-js-sdk.js
CHANGED
|
@@ -11,1023 +11,6 @@
|
|
|
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
|
-
|
|
1031
14
|
/***/ 7408:
|
|
1032
15
|
/***/ ((module) => {
|
|
1033
16
|
|
|
@@ -5048,17 +4031,11 @@ var axios = __webpack_require__(9644);
|
|
|
5048
4031
|
|
|
5049
4032
|
var BigNumber = __webpack_require__(6391);
|
|
5050
4033
|
|
|
5051
|
-
var
|
|
5052
|
-
|
|
5053
|
-
var blake2s = __webpack_require__(9467);
|
|
5054
|
-
|
|
5055
|
-
var sha256 = __webpack_require__(6053);
|
|
5056
|
-
|
|
5057
|
-
var JSZip = __webpack_require__(1297);
|
|
4034
|
+
var sha256 = __webpack_require__(1965);
|
|
5058
4035
|
|
|
5059
4036
|
var hdTransport = __webpack_require__(7495);
|
|
5060
4037
|
|
|
5061
|
-
var sha3 = __webpack_require__(
|
|
4038
|
+
var sha3 = __webpack_require__(3669);
|
|
5062
4039
|
|
|
5063
4040
|
function _interopDefaultLegacy(e) {
|
|
5064
4041
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
@@ -5072,7 +4049,9 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
|
5072
4049
|
|
|
5073
4050
|
var BigNumber__default = /*#__PURE__*/_interopDefaultLegacy(BigNumber);
|
|
5074
4051
|
|
|
5075
|
-
var
|
|
4052
|
+
var sha256__default = /*#__PURE__*/_interopDefaultLegacy(sha256);
|
|
4053
|
+
|
|
4054
|
+
var sha3__default = /*#__PURE__*/_interopDefaultLegacy(sha3);
|
|
5076
4055
|
|
|
5077
4056
|
const inject = ({
|
|
5078
4057
|
call,
|
|
@@ -5158,10 +4137,6 @@ const inject = ({
|
|
|
5158
4137
|
connectId,
|
|
5159
4138
|
method: 'deviceUpdateReboot'
|
|
5160
4139
|
}),
|
|
5161
|
-
deviceUploadResource: (connectId, params) => call(Object.assign(Object.assign({}, params), {
|
|
5162
|
-
connectId,
|
|
5163
|
-
method: 'deviceUploadResource'
|
|
5164
|
-
})),
|
|
5165
4140
|
deviceSupportFeatures: connectId => call({
|
|
5166
4141
|
connectId,
|
|
5167
4142
|
method: 'deviceSupportFeatures'
|
|
@@ -15571,7 +14546,7 @@ const createLogMessage = (type, payload) => ({
|
|
|
15571
14546
|
const MAX_ENTRIES = 500;
|
|
15572
14547
|
let postMessage$1;
|
|
15573
14548
|
|
|
15574
|
-
class Log$
|
|
14549
|
+
class Log$8 {
|
|
15575
14550
|
constructor(prefix, enabled) {
|
|
15576
14551
|
this.prefix = prefix;
|
|
15577
14552
|
this.enabled = enabled;
|
|
@@ -15640,7 +14615,7 @@ class Log$9 {
|
|
|
15640
14615
|
const _logs = {};
|
|
15641
14616
|
|
|
15642
14617
|
const initLog = (prefix, enabled) => {
|
|
15643
|
-
const instance = new Log$
|
|
14618
|
+
const instance = new Log$8(prefix, !!enabled);
|
|
15644
14619
|
_logs[prefix] = instance;
|
|
15645
14620
|
return instance;
|
|
15646
14621
|
};
|
|
@@ -15770,16 +14745,6 @@ const getReleaseChangelog = (releases, currentVersion) => {
|
|
|
15770
14745
|
return newVersions.map(r => r.changelog);
|
|
15771
14746
|
};
|
|
15772
14747
|
|
|
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
|
-
|
|
15783
14748
|
var _a;
|
|
15784
14749
|
|
|
15785
14750
|
class DataManager {
|
|
@@ -15863,18 +14828,6 @@ DataManager.getFirmwareStatus = features => {
|
|
|
15863
14828
|
return getReleaseStatus(targetDeviceConfigList, currentVersion);
|
|
15864
14829
|
};
|
|
15865
14830
|
|
|
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
|
-
|
|
15878
14831
|
DataManager.getFirmwareChangelog = features => {
|
|
15879
14832
|
var _b, _c;
|
|
15880
14833
|
|
|
@@ -15890,23 +14843,12 @@ DataManager.getFirmwareChangelog = features => {
|
|
|
15890
14843
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
15891
14844
|
};
|
|
15892
14845
|
|
|
15893
|
-
DataManager.
|
|
14846
|
+
DataManager.getFirmwareLeatestRelease = features => {
|
|
15894
14847
|
var _b, _c;
|
|
15895
14848
|
|
|
15896
14849
|
const deviceType = getDeviceType(features);
|
|
15897
14850
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
15898
|
-
|
|
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;
|
|
14851
|
+
return targetDeviceConfigList[targetDeviceConfigList.length - 1];
|
|
15910
14852
|
};
|
|
15911
14853
|
|
|
15912
14854
|
DataManager.getBLEFirmwareStatus = features => {
|
|
@@ -15939,12 +14881,12 @@ DataManager.getBleFirmwareChangelog = features => {
|
|
|
15939
14881
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
15940
14882
|
};
|
|
15941
14883
|
|
|
15942
|
-
DataManager.
|
|
14884
|
+
DataManager.getBleFirmwareLeatestRelease = features => {
|
|
15943
14885
|
var _b, _c;
|
|
15944
14886
|
|
|
15945
14887
|
const deviceType = getDeviceType(features);
|
|
15946
14888
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.ble) !== null && _c !== void 0 ? _c : [];
|
|
15947
|
-
return
|
|
14889
|
+
return targetDeviceConfigList[targetDeviceConfigList.length - 1];
|
|
15948
14890
|
};
|
|
15949
14891
|
|
|
15950
14892
|
DataManager.getTransportStatus = localVersion => {
|
|
@@ -16094,7 +15036,7 @@ const createFirmwareMessage = (type, payload) => ({
|
|
|
16094
15036
|
payload
|
|
16095
15037
|
});
|
|
16096
15038
|
|
|
16097
|
-
const Log$
|
|
15039
|
+
const Log$7 = getLogger(exports.d0.DevicePool);
|
|
16098
15040
|
|
|
16099
15041
|
const getDiff = (current, descriptors) => {
|
|
16100
15042
|
const connected = descriptors.filter(d => current.find(x => x.path === d.path) === undefined);
|
|
@@ -16147,7 +15089,7 @@ class DevicePool extends events.exports {
|
|
|
16147
15089
|
var e_1, _a;
|
|
16148
15090
|
|
|
16149
15091
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16150
|
-
Log$
|
|
15092
|
+
Log$7.debug('get device list: connectId: ', connectId);
|
|
16151
15093
|
const devices = {};
|
|
16152
15094
|
const deviceList = [];
|
|
16153
15095
|
|
|
@@ -16158,7 +15100,7 @@ class DevicePool extends events.exports {
|
|
|
16158
15100
|
const exist = descriptorList.find(d => d.path === device.originalDescriptor.path);
|
|
16159
15101
|
|
|
16160
15102
|
if (exist) {
|
|
16161
|
-
Log$
|
|
15103
|
+
Log$7.debug('find existed Device: ', connectId);
|
|
16162
15104
|
device.updateDescriptor(exist, true);
|
|
16163
15105
|
devices[connectId] = device;
|
|
16164
15106
|
deviceList.push(device);
|
|
@@ -16169,7 +15111,7 @@ class DevicePool extends events.exports {
|
|
|
16169
15111
|
};
|
|
16170
15112
|
}
|
|
16171
15113
|
|
|
16172
|
-
Log$
|
|
15114
|
+
Log$7.debug('found device in cache, but path is different: ', connectId);
|
|
16173
15115
|
}
|
|
16174
15116
|
}
|
|
16175
15117
|
|
|
@@ -16215,8 +15157,8 @@ class DevicePool extends events.exports {
|
|
|
16215
15157
|
}
|
|
16216
15158
|
|
|
16217
15159
|
static clearDeviceCache(connectId) {
|
|
16218
|
-
Log$
|
|
16219
|
-
Log$
|
|
15160
|
+
Log$7.debug('clear device pool cache: connectId', connectId);
|
|
15161
|
+
Log$7.debug('clear device pool cache: ', this.devicesCache);
|
|
16220
15162
|
|
|
16221
15163
|
if (connectId) {
|
|
16222
15164
|
delete this.devicesCache[connectId];
|
|
@@ -16252,7 +15194,7 @@ class DevicePool extends events.exports {
|
|
|
16252
15194
|
for (let i = this.connectedPool.length - 1; i >= 0; i--) {
|
|
16253
15195
|
const descriptor = this.connectedPool[i];
|
|
16254
15196
|
const device = yield this._createDevice(descriptor, initOptions);
|
|
16255
|
-
Log$
|
|
15197
|
+
Log$7.debug('emit DEVICE.CONNECT: ', device);
|
|
16256
15198
|
this.emitter.emit(DEVICE.CONNECT, device);
|
|
16257
15199
|
this.connectedPool.splice(i, 1);
|
|
16258
15200
|
}
|
|
@@ -16293,7 +15235,7 @@ class DevicePool extends events.exports {
|
|
|
16293
15235
|
return;
|
|
16294
15236
|
}
|
|
16295
15237
|
|
|
16296
|
-
Log$
|
|
15238
|
+
Log$7.debug('emit DEVICE.CONNECT: ', device);
|
|
16297
15239
|
this.emitter.emit(DEVICE.CONNECT, device);
|
|
16298
15240
|
});
|
|
16299
15241
|
diff.disconnected.forEach(d => {
|
|
@@ -16307,7 +15249,7 @@ class DevicePool extends events.exports {
|
|
|
16307
15249
|
return;
|
|
16308
15250
|
}
|
|
16309
15251
|
|
|
16310
|
-
Log$
|
|
15252
|
+
Log$7.debug('emit DEVICE.DISCONNECT: ', device);
|
|
16311
15253
|
this.emitter.emit(DEVICE.DISCONNECT, device);
|
|
16312
15254
|
});
|
|
16313
15255
|
}
|
|
@@ -16354,13 +15296,13 @@ DevicePool.connectedPool = [];
|
|
|
16354
15296
|
DevicePool.disconnectPool = [];
|
|
16355
15297
|
DevicePool.devicesCache = {};
|
|
16356
15298
|
DevicePool.emitter = new events.exports();
|
|
16357
|
-
const Log$
|
|
15299
|
+
const Log$6 = getLogger(exports.d0.Transport);
|
|
16358
15300
|
const BleLogger = getLogger(exports.d0.HdBleTransport);
|
|
16359
15301
|
const HttpLogger = getLogger(exports.d0.HdTransportHttp);
|
|
16360
15302
|
|
|
16361
15303
|
class TransportManager {
|
|
16362
15304
|
static load() {
|
|
16363
|
-
Log$
|
|
15305
|
+
Log$6.debug('transport manager load');
|
|
16364
15306
|
this.defaultMessages = DataManager.getProtobufMessages();
|
|
16365
15307
|
this.currentMessages = this.defaultMessages;
|
|
16366
15308
|
}
|
|
@@ -16369,24 +15311,24 @@ class TransportManager {
|
|
|
16369
15311
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16370
15312
|
try {
|
|
16371
15313
|
const env = DataManager.getSettings('env');
|
|
16372
|
-
Log$
|
|
15314
|
+
Log$6.debug('Initializing transports');
|
|
16373
15315
|
|
|
16374
15316
|
if (env === 'react-native') {
|
|
16375
15317
|
if (!this.reactNativeInit) {
|
|
16376
15318
|
yield this.transport.init(BleLogger, DevicePool.emitter);
|
|
16377
15319
|
this.reactNativeInit = true;
|
|
16378
15320
|
} else {
|
|
16379
|
-
Log$
|
|
15321
|
+
Log$6.debug('React Native Do Not Initializing transports');
|
|
16380
15322
|
}
|
|
16381
15323
|
} else {
|
|
16382
15324
|
yield this.transport.init(HttpLogger);
|
|
16383
15325
|
}
|
|
16384
15326
|
|
|
16385
|
-
Log$
|
|
15327
|
+
Log$6.debug('Configuring transports');
|
|
16386
15328
|
yield this.transport.configure(JSON.stringify(this.defaultMessages));
|
|
16387
|
-
Log$
|
|
15329
|
+
Log$6.debug('Configuring transports done');
|
|
16388
15330
|
} catch (error) {
|
|
16389
|
-
Log$
|
|
15331
|
+
Log$6.debug('Initializing transports error: ', error);
|
|
16390
15332
|
|
|
16391
15333
|
if (error.code === 'ECONNABORTED') {
|
|
16392
15334
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeTimeoutError);
|
|
@@ -16425,7 +15367,7 @@ class TransportManager {
|
|
|
16425
15367
|
this.transport = new TransportConstructor();
|
|
16426
15368
|
}
|
|
16427
15369
|
|
|
16428
|
-
Log$
|
|
15370
|
+
Log$6.debug('set transport: ', this.transport);
|
|
16429
15371
|
}
|
|
16430
15372
|
|
|
16431
15373
|
static getTransport() {
|
|
@@ -16452,7 +15394,7 @@ const assertType = (res, resType) => {
|
|
|
16452
15394
|
}
|
|
16453
15395
|
};
|
|
16454
15396
|
|
|
16455
|
-
const Log$
|
|
15397
|
+
const Log$5 = getLogger(exports.d0.DeviceCommands);
|
|
16456
15398
|
|
|
16457
15399
|
class DeviceCommands {
|
|
16458
15400
|
constructor(device, mainId) {
|
|
@@ -16481,16 +15423,16 @@ class DeviceCommands {
|
|
|
16481
15423
|
var _a, _b;
|
|
16482
15424
|
|
|
16483
15425
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16484
|
-
Log$
|
|
15426
|
+
Log$5.debug('[DeviceCommands] [call] Sending', type);
|
|
16485
15427
|
|
|
16486
15428
|
try {
|
|
16487
15429
|
const promise = this.transport.call(this.mainId, type, msg);
|
|
16488
15430
|
this.callPromise = promise;
|
|
16489
15431
|
const res = yield promise;
|
|
16490
|
-
Log$
|
|
15432
|
+
Log$5.debug('[DeviceCommands] [call] Received', res.type);
|
|
16491
15433
|
return res;
|
|
16492
15434
|
} catch (error) {
|
|
16493
|
-
Log$
|
|
15435
|
+
Log$5.debug('[DeviceCommands] [call] Received error', error);
|
|
16494
15436
|
|
|
16495
15437
|
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') {
|
|
16496
15438
|
return {
|
|
@@ -16515,7 +15457,7 @@ class DeviceCommands {
|
|
|
16515
15457
|
try {
|
|
16516
15458
|
assertType(response, resType);
|
|
16517
15459
|
} catch (error) {
|
|
16518
|
-
Log$
|
|
15460
|
+
Log$5.debug('DeviceCommands typedcall error: ', error);
|
|
16519
15461
|
|
|
16520
15462
|
if (error instanceof hdShared.HardwareError) {
|
|
16521
15463
|
if (error.errorCode === hdShared.HardwareErrorCode.ResponseUnexpectTypeError) {
|
|
@@ -16540,7 +15482,7 @@ class DeviceCommands {
|
|
|
16540
15482
|
}
|
|
16541
15483
|
|
|
16542
15484
|
_filterCommonTypes(res, callType) {
|
|
16543
|
-
Log$
|
|
15485
|
+
Log$5.debug('_filterCommonTypes: ', res);
|
|
16544
15486
|
|
|
16545
15487
|
if (res.type === 'Failure') {
|
|
16546
15488
|
const {
|
|
@@ -16666,7 +15608,7 @@ class DeviceCommands {
|
|
|
16666
15608
|
}
|
|
16667
15609
|
});
|
|
16668
15610
|
} else {
|
|
16669
|
-
Log$
|
|
15611
|
+
Log$5.error('[DeviceCommands] [call] Passphrase callback not configured, cancelling request');
|
|
16670
15612
|
reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, '_promptPassphrase: Passphrase callback not configured'));
|
|
16671
15613
|
}
|
|
16672
15614
|
});
|
|
@@ -16793,7 +15735,7 @@ const parseRunOptions = options => {
|
|
|
16793
15735
|
return options;
|
|
16794
15736
|
};
|
|
16795
15737
|
|
|
16796
|
-
const Log$
|
|
15738
|
+
const Log$4 = getLogger(exports.d0.Device);
|
|
16797
15739
|
const deviceSessionCache = {};
|
|
16798
15740
|
|
|
16799
15741
|
class Device extends events.exports {
|
|
@@ -16881,10 +15823,10 @@ class Device extends events.exports {
|
|
|
16881
15823
|
if (env === 'react-native') {
|
|
16882
15824
|
const res = yield (_a = this.deviceConnector) === null || _a === void 0 ? void 0 : _a.acquire(this.originalDescriptor.id);
|
|
16883
15825
|
this.mainId = (_b = res.uuid) !== null && _b !== void 0 ? _b : '';
|
|
16884
|
-
Log$
|
|
15826
|
+
Log$4.debug('Expected uuid:', this.mainId);
|
|
16885
15827
|
} else {
|
|
16886
15828
|
this.mainId = yield (_c = this.deviceConnector) === null || _c === void 0 ? void 0 : _c.acquire(this.originalDescriptor.path, this.originalDescriptor.session);
|
|
16887
|
-
Log$
|
|
15829
|
+
Log$4.debug('Expected session id:', this.mainId);
|
|
16888
15830
|
}
|
|
16889
15831
|
|
|
16890
15832
|
this.updateDescriptor({
|
|
@@ -16933,7 +15875,7 @@ class Device extends events.exports {
|
|
|
16933
15875
|
session: null
|
|
16934
15876
|
});
|
|
16935
15877
|
} catch (err) {
|
|
16936
|
-
Log$
|
|
15878
|
+
Log$4.error('[Device] release error: ', err);
|
|
16937
15879
|
} finally {
|
|
16938
15880
|
this.needReloadDevice = true;
|
|
16939
15881
|
}
|
|
@@ -16956,8 +15898,8 @@ class Device extends events.exports {
|
|
|
16956
15898
|
getInternalState(_deviceId) {
|
|
16957
15899
|
var _a, _b;
|
|
16958
15900
|
|
|
16959
|
-
Log$
|
|
16960
|
-
Log$
|
|
15901
|
+
Log$4.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}`);
|
|
15902
|
+
Log$4.debug('getInternalState session cache: ', deviceSessionCache);
|
|
16961
15903
|
const deviceId = _deviceId || ((_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id);
|
|
16962
15904
|
if (!deviceId) return undefined;
|
|
16963
15905
|
if (!this.passphraseState) return undefined;
|
|
@@ -16966,7 +15908,7 @@ class Device extends events.exports {
|
|
|
16966
15908
|
}
|
|
16967
15909
|
|
|
16968
15910
|
tryFixInternalState(state, deviceId) {
|
|
16969
|
-
Log$
|
|
15911
|
+
Log$4.debug('tryFixInternalState session param: ', `device_id: ${deviceId}`, `passphraseState: ${state}`);
|
|
16970
15912
|
const key = `${deviceId}`;
|
|
16971
15913
|
const session = deviceSessionCache[key];
|
|
16972
15914
|
|
|
@@ -16975,13 +15917,13 @@ class Device extends events.exports {
|
|
|
16975
15917
|
delete deviceSessionCache[key];
|
|
16976
15918
|
}
|
|
16977
15919
|
|
|
16978
|
-
Log$
|
|
15920
|
+
Log$4.debug('tryFixInternalState session cache: ', deviceSessionCache);
|
|
16979
15921
|
}
|
|
16980
15922
|
|
|
16981
15923
|
setInternalState(state, initSession) {
|
|
16982
15924
|
var _a, _b;
|
|
16983
15925
|
|
|
16984
|
-
Log$
|
|
15926
|
+
Log$4.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}`);
|
|
16985
15927
|
if (!this.features) return;
|
|
16986
15928
|
if (!this.passphraseState && !initSession) return;
|
|
16987
15929
|
const deviceId = (_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id;
|
|
@@ -16992,13 +15934,13 @@ class Device extends events.exports {
|
|
|
16992
15934
|
deviceSessionCache[key] = state;
|
|
16993
15935
|
}
|
|
16994
15936
|
|
|
16995
|
-
Log$
|
|
15937
|
+
Log$4.debug('setInternalState done session cache: ', deviceSessionCache);
|
|
16996
15938
|
}
|
|
16997
15939
|
|
|
16998
15940
|
clearInternalState(_deviceId) {
|
|
16999
15941
|
var _a;
|
|
17000
15942
|
|
|
17001
|
-
Log$
|
|
15943
|
+
Log$4.debug('clearInternalState param: ', _deviceId);
|
|
17002
15944
|
const deviceId = _deviceId || ((_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id);
|
|
17003
15945
|
if (!deviceId) return;
|
|
17004
15946
|
const key = `${deviceId}`;
|
|
@@ -17012,7 +15954,7 @@ class Device extends events.exports {
|
|
|
17012
15954
|
|
|
17013
15955
|
initialize(options) {
|
|
17014
15956
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17015
|
-
Log$
|
|
15957
|
+
Log$4.debug('initialize param:', options);
|
|
17016
15958
|
this.passphraseState = options === null || options === void 0 ? void 0 : options.passphraseState;
|
|
17017
15959
|
|
|
17018
15960
|
if (options === null || options === void 0 ? void 0 : options.initSession) {
|
|
@@ -17026,7 +15968,7 @@ class Device extends events.exports {
|
|
|
17026
15968
|
payload.session_id = internalState;
|
|
17027
15969
|
}
|
|
17028
15970
|
|
|
17029
|
-
Log$
|
|
15971
|
+
Log$4.debug('initialize payload:', payload);
|
|
17030
15972
|
const {
|
|
17031
15973
|
message
|
|
17032
15974
|
} = yield this.commands.typedCall('Initialize', 'Features', payload);
|
|
@@ -17093,7 +16035,7 @@ class Device extends events.exports {
|
|
|
17093
16035
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17094
16036
|
if (this.runPromise) {
|
|
17095
16037
|
yield this.interruptionFromOutside();
|
|
17096
|
-
Log$
|
|
16038
|
+
Log$4.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
|
|
17097
16039
|
}
|
|
17098
16040
|
|
|
17099
16041
|
options = parseRunOptions(options);
|
|
@@ -17146,7 +16088,7 @@ class Device extends events.exports {
|
|
|
17146
16088
|
if (!this.keepSession && typeof options.keepSession !== 'boolean' || options.keepSession === false) {
|
|
17147
16089
|
this.keepSession = false;
|
|
17148
16090
|
yield this.release();
|
|
17149
|
-
Log$
|
|
16091
|
+
Log$4.debug('release device, mainId: ', this.mainId);
|
|
17150
16092
|
}
|
|
17151
16093
|
|
|
17152
16094
|
if (this.runPromise) {
|
|
@@ -17329,7 +16271,7 @@ class DeviceList extends events.exports {
|
|
|
17329
16271
|
const getFirmwareReleaseInfo = features => {
|
|
17330
16272
|
const firmwareStatus = DataManager.getFirmwareStatus(features);
|
|
17331
16273
|
const changelog = DataManager.getFirmwareChangelog(features);
|
|
17332
|
-
const release = DataManager.
|
|
16274
|
+
const release = DataManager.getFirmwareLeatestRelease(features);
|
|
17333
16275
|
return {
|
|
17334
16276
|
status: firmwareStatus,
|
|
17335
16277
|
changelog,
|
|
@@ -17340,7 +16282,7 @@ const getFirmwareReleaseInfo = features => {
|
|
|
17340
16282
|
const getBleFirmwareReleaseInfo = features => {
|
|
17341
16283
|
const firmwareStatus = DataManager.getBLEFirmwareStatus(features);
|
|
17342
16284
|
const changelog = DataManager.getBleFirmwareChangelog(features);
|
|
17343
|
-
const release = DataManager.
|
|
16285
|
+
const release = DataManager.getBleFirmwareLeatestRelease(features);
|
|
17344
16286
|
return {
|
|
17345
16287
|
status: firmwareStatus,
|
|
17346
16288
|
changelog,
|
|
@@ -17348,7 +16290,7 @@ const getBleFirmwareReleaseInfo = features => {
|
|
|
17348
16290
|
};
|
|
17349
16291
|
};
|
|
17350
16292
|
|
|
17351
|
-
const Log$
|
|
16293
|
+
const Log$3 = getLogger(exports.d0.Method);
|
|
17352
16294
|
|
|
17353
16295
|
class BaseMethod {
|
|
17354
16296
|
constructor(message) {
|
|
@@ -17411,7 +16353,7 @@ class BaseMethod {
|
|
|
17411
16353
|
}
|
|
17412
16354
|
|
|
17413
16355
|
if (checkFlag && ((_c = this.device.features) === null || _c === void 0 ? void 0 : _c.safety_checks) === 'Strict') {
|
|
17414
|
-
Log$
|
|
16356
|
+
Log$3.debug('will change safety_checks level');
|
|
17415
16357
|
yield this.device.commands.typedCall('ApplySettings', 'Success', {
|
|
17416
16358
|
safety_checks: 'PromptTemporarily'
|
|
17417
16359
|
});
|
|
@@ -17666,21 +16608,10 @@ const formatAnyHex = value => {
|
|
|
17666
16608
|
return value;
|
|
17667
16609
|
};
|
|
17668
16610
|
|
|
17669
|
-
|
|
16611
|
+
Array.from({
|
|
17670
16612
|
length: 256
|
|
17671
16613
|
}, (_, i) => i.toString(16).padStart(2, '0'));
|
|
17672
16614
|
|
|
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
|
-
|
|
17684
16615
|
function hexToBytes(hex) {
|
|
17685
16616
|
if (typeof hex !== 'string') {
|
|
17686
16617
|
throw new TypeError(`hexToBytes: expected string, got ${typeof hex}`);
|
|
@@ -18024,109 +16955,6 @@ class DeviceUpdateReboot extends BaseMethod {
|
|
|
18024
16955
|
|
|
18025
16956
|
}
|
|
18026
16957
|
|
|
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
|
-
|
|
18130
16958
|
class DeviceSupportFeatures extends BaseMethod {
|
|
18131
16959
|
init() {
|
|
18132
16960
|
this.useDevicePassphraseState = false;
|
|
@@ -18162,7 +16990,7 @@ class DeviceVerify extends BaseMethod {
|
|
|
18162
16990
|
|
|
18163
16991
|
if (deviceType === 'classic') {
|
|
18164
16992
|
const res = yield this.device.commands.typedCall('BixinVerifyDeviceRequest', 'BixinVerifyDeviceAck', Object.assign(Object.assign({}, this.params), {
|
|
18165
|
-
data:
|
|
16993
|
+
data: sha256__default["default"].sha256(this.params.data)
|
|
18166
16994
|
}));
|
|
18167
16995
|
response = res.message;
|
|
18168
16996
|
} else {
|
|
@@ -18229,36 +17057,20 @@ const getBinary = ({
|
|
|
18229
17057
|
});
|
|
18230
17058
|
});
|
|
18231
17059
|
|
|
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
|
-
|
|
18246
17060
|
const getInfo = ({
|
|
18247
17061
|
features,
|
|
18248
17062
|
updateType
|
|
18249
17063
|
}) => {
|
|
18250
|
-
var _a, _b;
|
|
17064
|
+
var _a, _b, _c;
|
|
18251
17065
|
|
|
18252
17066
|
const deviceType = getDeviceType(features);
|
|
18253
17067
|
const {
|
|
18254
17068
|
deviceMap
|
|
18255
17069
|
} = DataManager;
|
|
18256
|
-
const releaseInfo = (_b = (_a = deviceMap === null || deviceMap === void 0 ? void 0 : deviceMap[deviceType]) === null || _a === void 0 ? void 0 : _a[updateType]) !== null &&
|
|
18257
|
-
return
|
|
17070
|
+
const releaseInfo = (_c = (_b = (_a = deviceMap === null || deviceMap === void 0 ? void 0 : deviceMap[deviceType]) === null || _a === void 0 ? void 0 : _a[updateType]) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : null;
|
|
17071
|
+
return releaseInfo;
|
|
18258
17072
|
};
|
|
18259
17073
|
|
|
18260
|
-
const Log$3 = getLogger(exports.d0.Device);
|
|
18261
|
-
|
|
18262
17074
|
const postConfirmationMessage = device => {
|
|
18263
17075
|
var _a;
|
|
18264
17076
|
|
|
@@ -18285,12 +17097,6 @@ const postProgressTip = (device, message, postMessage) => {
|
|
|
18285
17097
|
}));
|
|
18286
17098
|
};
|
|
18287
17099
|
|
|
18288
|
-
const waitBleInstall = updateType => __awaiter(void 0, void 0, void 0, function* () {
|
|
18289
|
-
if (updateType === 'ble') {
|
|
18290
|
-
yield wait(10 * 1000);
|
|
18291
|
-
}
|
|
18292
|
-
});
|
|
18293
|
-
|
|
18294
17100
|
const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
18295
17101
|
payload
|
|
18296
17102
|
}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -18309,7 +17115,6 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
18309
17115
|
payload
|
|
18310
17116
|
});
|
|
18311
17117
|
postProgressMessage(device, 100, postMessage);
|
|
18312
|
-
yield waitBleInstall(updateType);
|
|
18313
17118
|
return message;
|
|
18314
17119
|
}
|
|
18315
17120
|
|
|
@@ -18337,80 +17142,12 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
18337
17142
|
}
|
|
18338
17143
|
|
|
18339
17144
|
postProgressMessage(device, 100, postMessage);
|
|
18340
|
-
yield waitBleInstall(updateType);
|
|
18341
17145
|
return response.message;
|
|
18342
17146
|
}
|
|
18343
17147
|
|
|
18344
17148
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'uploadFirmware: unknown major_version');
|
|
18345
17149
|
});
|
|
18346
17150
|
|
|
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
|
-
|
|
18414
17151
|
class FirmwareUpdate$1 extends BaseMethod {
|
|
18415
17152
|
init() {
|
|
18416
17153
|
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
|
|
@@ -18563,21 +17300,6 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
18563
17300
|
}, 30000);
|
|
18564
17301
|
}
|
|
18565
17302
|
|
|
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
|
-
|
|
18581
17303
|
run() {
|
|
18582
17304
|
var _a, _b;
|
|
18583
17305
|
|
|
@@ -18591,32 +17313,17 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
18591
17313
|
commands
|
|
18592
17314
|
} = device;
|
|
18593
17315
|
|
|
18594
|
-
if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode)
|
|
17316
|
+
if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode)) {
|
|
18595
17317
|
const uuid = getDeviceUUID(features);
|
|
18596
17318
|
const deviceType = getDeviceType(features);
|
|
18597
17319
|
|
|
18598
|
-
if (
|
|
18599
|
-
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.
|
|
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
|
-
}
|
|
17320
|
+
if (deviceType === 'mini') {
|
|
17321
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceUnexpectedBootloaderMode));
|
|
18615
17322
|
}
|
|
18616
17323
|
|
|
18617
17324
|
try {
|
|
18618
17325
|
this.postTipMessage('AutoRebootToBootloader');
|
|
18619
|
-
yield commands.typedCall('
|
|
17326
|
+
yield commands.typedCall('BixinReboot', 'Success');
|
|
18620
17327
|
this.postTipMessage('GoToBootloaderSuccess');
|
|
18621
17328
|
this.checkDeviceToBootloader();
|
|
18622
17329
|
|
|
@@ -18629,12 +17336,8 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
18629
17336
|
this.checkPromise = null;
|
|
18630
17337
|
yield wait(1500);
|
|
18631
17338
|
} catch (e) {
|
|
18632
|
-
if (e instanceof hdShared.HardwareError) {
|
|
18633
|
-
return Promise.reject(e);
|
|
18634
|
-
}
|
|
18635
|
-
|
|
18636
17339
|
console.log('auto go to bootloader mode failed: ', e);
|
|
18637
|
-
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.
|
|
17340
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'go to bootloader mode failed'));
|
|
18638
17341
|
}
|
|
18639
17342
|
}
|
|
18640
17343
|
|
|
@@ -22240,6 +20943,10 @@ class NearSignTransaction extends BaseMethod {
|
|
|
22240
20943
|
|
|
22241
20944
|
}
|
|
22242
20945
|
|
|
20946
|
+
const {
|
|
20947
|
+
sha3_256: sha3Hash
|
|
20948
|
+
} = sha3__default["default"];
|
|
20949
|
+
|
|
22243
20950
|
class AptosGetAddress extends BaseMethod {
|
|
22244
20951
|
constructor() {
|
|
22245
20952
|
super(...arguments);
|
|
@@ -22280,10 +20987,10 @@ class AptosGetAddress extends BaseMethod {
|
|
|
22280
20987
|
}
|
|
22281
20988
|
|
|
22282
20989
|
publicKeyToAddress(publicKey) {
|
|
22283
|
-
const hash =
|
|
20990
|
+
const hash = sha3Hash.create();
|
|
22284
20991
|
hash.update(hexToBytes(publicKey));
|
|
22285
20992
|
hash.update('\x00');
|
|
22286
|
-
return
|
|
20993
|
+
return hash.hex();
|
|
22287
20994
|
}
|
|
22288
20995
|
|
|
22289
20996
|
getVersionRange() {
|
|
@@ -22452,7 +21159,6 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
|
|
|
22452
21159
|
deviceReset: DeviceReset,
|
|
22453
21160
|
deviceSettings: DeviceSettings,
|
|
22454
21161
|
deviceUpdateReboot: DeviceUpdateReboot,
|
|
22455
|
-
deviceUploadResource: DeviceUploadResource,
|
|
22456
21162
|
deviceSupportFeatures: DeviceSupportFeatures,
|
|
22457
21163
|
deviceVerify: DeviceVerify,
|
|
22458
21164
|
deviceWipe: DeviceWipe,
|
|
@@ -24626,8 +23332,6 @@ const HardwareErrorCode = {
|
|
|
24626
23332
|
CallMethodNeedUpgradeFirmware: 407,
|
|
24627
23333
|
CallMethodDeprecated: 408,
|
|
24628
23334
|
FirmwareUpdateLimitOneDevice: 409,
|
|
24629
|
-
FirmwareUpdateManuallyEnterBoot: 410,
|
|
24630
|
-
FirmwareUpdateAutoEnterBootFailure: 411,
|
|
24631
23335
|
NetworkError: 500,
|
|
24632
23336
|
TransportNotConfigured: 600,
|
|
24633
23337
|
TransportCallInProgress: 601,
|
|
@@ -24689,8 +23393,6 @@ const HardwareErrorCodeMessage = {
|
|
|
24689
23393
|
[HardwareErrorCode.CallMethodNeedUpgradeFirmware]: 'Call method need upgrade firmware',
|
|
24690
23394
|
[HardwareErrorCode.CallMethodDeprecated]: 'Call method is deprecated',
|
|
24691
23395
|
[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',
|
|
24694
23396
|
[HardwareErrorCode.NetworkError]: 'Network request error',
|
|
24695
23397
|
[HardwareErrorCode.TransportNotConfigured]: 'Transport not configured',
|
|
24696
23398
|
[HardwareErrorCode.TransportCallInProgress]: 'Transport call in progress',
|
|
@@ -35469,22 +34171,1193 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
|
|
|
35469
34171
|
|
|
35470
34172
|
/***/ }),
|
|
35471
34173
|
|
|
35472
|
-
/***/
|
|
35473
|
-
/***/ ((module,
|
|
34174
|
+
/***/ 1965:
|
|
34175
|
+
/***/ ((module, exports, __webpack_require__) => {
|
|
35474
34176
|
|
|
35475
|
-
|
|
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 = [];
|
|
35476
34221
|
|
|
35477
|
-
|
|
35478
|
-
|
|
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
|
+
}
|
|
35479
34227
|
|
|
35480
|
-
(
|
|
35481
|
-
|
|
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
|
+
}
|
|
35482
34233
|
|
|
35483
|
-
|
|
35484
|
-
|
|
35485
|
-
|
|
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
|
+
}
|
|
35153
|
+
|
|
35154
|
+
Kmac.prototype = new Keccak();
|
|
35155
|
+
|
|
35156
|
+
Kmac.prototype.finalize = function () {
|
|
35157
|
+
this.encode(this.outputBits, true);
|
|
35158
|
+
return Keccak.prototype.finalize.call(this);
|
|
35159
|
+
};
|
|
35160
|
+
|
|
35161
|
+
var f = function (s) {
|
|
35162
|
+
var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,
|
|
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
|
+
};
|
|
35345
|
+
|
|
35346
|
+
if (COMMON_JS) {
|
|
35347
|
+
module.exports = methods;
|
|
35348
|
+
} else {
|
|
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
|
+
})();
|
|
35486
35360
|
|
|
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)});
|
|
35488
35361
|
|
|
35489
35362
|
/***/ }),
|
|
35490
35363
|
|
|
@@ -46941,7 +46814,7 @@ try {
|
|
|
46941
46814
|
/***/ ((module) => {
|
|
46942
46815
|
|
|
46943
46816
|
"use strict";
|
|
46944
|
-
module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.
|
|
46817
|
+
module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.56","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.56","@onekeyfe/hd-transport":"^0.1.56","axios":"^0.27.2","bignumber.js":"^9.0.2","js-sha256":"^0.9.0","parse-uri":"^1.0.7","semver":"^7.3.7"},"peerDependencies":{"js-sha3":"^0.8.0"},"devDependencies":{"@types/parse-uri":"^1.0.0","@types/semver":"^7.3.9","js-sha3":"^0.8.0"}}');
|
|
46945
46818
|
|
|
46946
46819
|
/***/ })
|
|
46947
46820
|
|
|
@@ -46972,6 +46845,11 @@ module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.55","des
|
|
|
46972
46845
|
/******/ }
|
|
46973
46846
|
/******/
|
|
46974
46847
|
/************************************************************************/
|
|
46848
|
+
/******/ /* webpack/runtime/amd options */
|
|
46849
|
+
/******/ (() => {
|
|
46850
|
+
/******/ __webpack_require__.amdO = {};
|
|
46851
|
+
/******/ })();
|
|
46852
|
+
/******/
|
|
46975
46853
|
/******/ /* webpack/runtime/compat get default export */
|
|
46976
46854
|
/******/ (() => {
|
|
46977
46855
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
@@ -49468,7 +49346,7 @@ const src_init = async settings => {
|
|
|
49468
49346
|
|
|
49469
49347
|
try {
|
|
49470
49348
|
await init({ ..._settings,
|
|
49471
|
-
version: "0.1.
|
|
49349
|
+
version: "0.1.56"
|
|
49472
49350
|
});
|
|
49473
49351
|
return true;
|
|
49474
49352
|
} catch (e) {
|